|
| 1 | +Intro |
| 2 | +========= |
| 3 | +ROADMAP aims to streamline activities of the Askbot open source project and |
| 4 | +to minimize ad-hoc approaches of "big-picture" level. |
| 5 | + |
| 6 | +Askbot is a Question and Answer system for the normal people! |
| 7 | + |
| 8 | +Basic principles of the project |
| 9 | +================================== |
| 10 | + |
| 11 | +We favor plain and minimalistic style of programming, but pay |
| 12 | +attention to detail - especially details of user experience. |
| 13 | + |
| 14 | +We try do develop using the following workflow: |
| 15 | + |
| 16 | +* specify problem that we try to solve |
| 17 | +* create requirements that will guarantee a solution, once met |
| 18 | +* dream up some implementation ideas (maybe even some sketches on the paper) |
| 19 | +* discuss and decide on the best one |
| 20 | +* write and test code |
| 21 | + |
| 22 | +The process doesn't have to be this formal all the time, but trying to stick |
| 23 | +to some subset of this almost always helps! |
| 24 | +Especially it helps to iron out disagreements between |
| 25 | +individual programmers (which if you are one - you know are qute common). |
| 26 | + |
| 27 | +Ad-hoc programming - i.e. simply go and add code - is not really encouraged. |
| 28 | +This works fine in the one person team or when the team consists of |
| 29 | +best friends, but is almost sure to fail in a heterogenous group. |
| 30 | + |
| 31 | +Architecture and Requirements |
| 32 | +===================================== |
| 33 | +Obviously Django and Python are pre-made choices - so this |
| 34 | +is not going to change any time soon. At this point all of |
| 35 | +the client side Javascript is written using jQuery library. |
| 36 | + |
| 37 | +Our basic principle is that Askbot should be a mashable Q&A component. |
| 38 | +Askbot is an application written in Python/Django. So it should be |
| 39 | +distributable as a Django App alone, but can be deployed as a dedicated site |
| 40 | +with the script "askbot-setup", that also ships with askbot. |
| 41 | + |
| 42 | +If we develop a sub-system that can be used in the broader scope - |
| 43 | +we package it as a separate django application (login system is one example). |
| 44 | + |
| 45 | +We will start using Google Closure library soon! |
| 46 | + |
| 47 | +Skins |
| 48 | +----------- |
| 49 | +Skins eventually must be upgrade-stable - that is people who created custom |
| 50 | +skins should not need to change anything if something changes in the code |
| 51 | + |
| 52 | +Admin interface |
| 53 | +----------------------- |
| 54 | +We use a forked application "livesettings" that ideally should be merged |
| 55 | +back to the original livesettings application. |
0 commit comments