diff options
Diffstat (limited to 'ROADMAP.rst')
-rw-r--r-- | ROADMAP.rst | 90 |
1 files changed, 73 insertions, 17 deletions
diff --git a/ROADMAP.rst b/ROADMAP.rst index 42f2e8c6..6ebad8d0 100644 --- a/ROADMAP.rst +++ b/ROADMAP.rst @@ -1,32 +1,88 @@ -This document is a map for our activities down the road - therefore ROADMAP. -ROADMAP does not specify deadlines - those belong to the PENDING file - Intro ========= -ROADMAP aims to streamline activities of the OSQA open source project and +ROADMAP aims to streamline activities of the Askbot open source project and to minimize ad-hoc approaches of "big-picture" level. -With one exception: under extreme time pressure improvised approaches are perfectly acceptable. +Aksbot is a Question and Asnwer system for the normal people! + +Let's discuss stuff that goes into this file on +http://groups.google.com/group/askbot + +Bacic principles of the project +================================== +Our rule #1 is that all developers have commit right to the project +repository, but they must follow this ROADMAP and TODO - +to keep up with our own sanity. + +We welcome contributions by other people and show tolerance +and patience - especially to the new team members. + +When users who might not be tech-savvy ask questions - +we try to answer to the point and using their language +(i.e. not programmer jargon:) + +We favor plain and minimalistic style of programming, but pay +attention to detail - especially details of user experience. + +We try do develop using the following workflow: +* specify problem that we try to solve +* create requirements that will guarantee a solution, once met +* dream up some implementation ideas (maybe even some sketches on the paper) +* discuss and decide on the best one +* write and test code -Items in this document must be discussed in public via dev@osqa.net +The process doesn't have to be this formal all the time, but trying to stick +to some subset of this almost always helps! +Especially it helps to iron out disagreements between +individual programmers (which if you are one - you know are qute common +- and they don't all end well :). -Architecture -============= +Ad-hoc programming - i.e. simply go and add code - is not really encouraged. +This works fine in the one person team or when the team consists of +best friends, but is almost sure to fail in a heterogenous group. + +Architecture and Requirements +===================================== +Obviously Django and Python are pre-made choices - so this +is not going to change any time soon. At this point all of +the client side Javascript is written using jQuery library. + +Our basic principle is that Askbot should be a mashable Q&A component. +Askbot is an application written in Python/Django. So it should be +distributable as a Django App alone or as a whole site (by option). + +If we develop sub-systems that can be used in the broader scope - +we package that thing as a separate django application (login system is one example). + +We will start using Google Closure library soon! Sub-systems ----------------- * authentication system * Q&A system +* admin interface +* full text search +* skins (directory forum/skins) Authentication system ------------------------- -* MUST authenticate people visiting the website via web browsers. -* Upon successful authentication must associates the visitor with - his/her Django system user account -* MUST allow multiple methods of authentication to the same account -* MUST support a method to recover lost authentication link by email -* MAY offer an option to "soft-validate" user's email (send a link - with a special key, so that user clicks and we know that email is valid) - "soft" - meaning that lack of validation won't block people - from using the site +Authentication system will be a separate django application + +Here is the discussion thread: +* http://groups.google.com/group/askbot/browse_thread/thread/1916dfcf666dd56c + +Most of the requirements are listed in the first message + +Skins +----------- +Skins eventually must be upgrade-stable - that is people who created custom +skins should not need to change anything if something changes in the code +Admin interface +----------------------- +* extend forum/settings.py to list default settings of various groups +* create Registry database table the will store setting values +* leave only essential settings that go to the main django settings.py +Create key-value storage +* should some settings be accessible to admins and some to staff??? + for example-secret keys probably should not be shared with staff members |