Mercurial > hg > savane-forge
view TODO @ 345:a812fdfce278
View related news
author | Sylvain Beucler <beuc@beuc.net> |
---|---|
date | Sun, 29 Aug 2010 11:41:26 +0200 |
parents | 6070e8187f39 |
children |
line wrap: on
line source
Roadmap ======= The roadmap is based on the previous Savane incarnation. However we can't guarantee we'll rewrite 100% of its features. In addition, the goal is to get something we can install like at Savannah quickly, which means we may delay some features in a first step. This roadmap is not immutable, feel free to discuss it with others and improve it. [/] Implement high priority web screens [X] User account registration [X] Account creation [X] Password recovery [/] User page [ ] Improve presentation [ ] Display resume and skills [X] Superuser support [/] Account conf [X] E-mail [X] Password [X] Real name [X] SSH keys [X] GPG key [ ] Timezone (cf. doc/DJANGO) [X] Set language [/] My Groups [/] List of groups (TODO: improve display) [/] Join a group (TODO: improve display / don't display for anonymous users) [ ] Remove myself from group [ ] Delete account (clean-up data but keep User+user_id if past history) [/] Group page [X] Top menu [X] Members list + GPG keyring [/] Mailing lists (list / edit) [X] Source code repositories [X] Manage members [/] Manage features [ ] Project registration [/] Site settings ([ ] URL schema (http/https)) [/] Admin interface (implemented via Django admin) [/] News management [X] Display frontpage news [X] Display group news [ ] Manage news [ ] Post news item [ ] Edit news item [ ] Comments [/] Rewrite backend (or have them work on a replicate that uses the old DB schema) [/] Link the system to the DB more directly (no cron'd replication) - currently we use libnss-mysql-bg, it's in test live at Savannah using the old DB schema. TODO: adapt to new DB schema, and either fix libnss-mysql-bg bugs or switch to libnss-pgsql - cf. doc/NSS-SQL [/] homedirs and .ssh replication (done in savane-cleanup, and in Python - just adapt the DB schema) [/] GPG keyrings [ ] Group resources (Download, CVS, SVN, Arch, Git, Mercurial, Bazaar) [ ] CVS notifications (commit_prep+log_accum - Savannah-specific) [ ] Mailing lists (Mailman) [/] Write migration scripts [X] Users, groups, group types, memberships [X] SSH keys (with new, separate table): src/savane/backend/migrate_sshkeys.py [ ] User preferences (table user_preferences) [X] Jobs [X] Import news [/] Trackers [ ] Implement mod_rewrite URL migration list [/] Separate the trackers in the old code so they can work independently. Some work was done in the 'split' branch. TODO: test more and add a new->old replication for users/groups so the trackers can use it, until we rewrite them. Possible do the same for news. Or, reimplement, it might actually be faster... [ ] Avoid using Django-specific sha1$ password format - cf. LDAP section below; to the minimum stick with MD5 hashes until this is dealt with (so avoid the automatic conversion to sha1$ that Django does at each login) [/] Translations [X] Design the translation build system; cf. doc/DJANGO_I18N. [/] Translate new strings and generally update existing translations. [ ] Ping previous translators [ ] Submit to translationproject.org [ ] Project history [X] Rewrite /people (request for contribution / jobs) in Django [X] Job index (count by category & group type) [X] Jobs lists (by category & group type) [X] View a job (by category & group type) [X] Project jobs list [X] Edit job [X] Edit user skills [X] Edit user resume [X] Add testing infrastructure [/] Add tests [ ] Add more tests [ ] Did I mention adding more tests? [/] Work on the web design (preferably near the end, because it makes it more difficult to compare with Savane3 when testing) [/] Do something different [ ] Maybe we can change the colors. [ ] We needs to define a CSS class for buttons ===== Goal #1: use it live at Savannah :) ===== Uncharted territories - and wild ideas. [ ] Optimize models - add DB indexes: db_index=True or unique=True (with MySQL) or primary_key=True [/] Export users/groups to LDAP [X] Populate a LDAP directory from the DB [ ] Sync the LDAP directory when there are changes (e.g. password, mail...) [ ] Implement a Django backend that supports SSHA or CRYPT (CRYPT may be better since all PAM modules would support it. We mean glibc2-crypt, as documented in crypt(3), with salted MD5 digests, among others) [ ] Migration to PostgreSQL? [ ] Rewrite trackers in Django? [ ] Bookmarks? Was considered for deletion at a point in Savane: http://gna.org/task/?1412 - note that yeupou is a bit partial towards trackers in that discussion [ ] Add more non-members<->groups and users<->users interactions (aka "social features") [ ] List/retrieve more stats (namely commit stats) [ ] Create a timeline for projects with the latest project events (commits, memberships, news, bugs...). Possible for users too. [ ] Wikis [ ] Improve/suppress delays (e.g. ping a daemon that creates project repositories and mailing lists, with a job queue system) [ ] Add Last-Modified HTTP headers to optimize search engine crawling [ ] pastebin [ ] Snippets? [ ] World clock [ ] Your Ideas Here