Mercurial > hg > savane-forge
changeset 127:1b21c8c5fe39
Write exhaustive roadmap for Savannah installation + doc fixes
author | Sylvain Beucler <beuc@beuc.net> |
---|---|
date | Mon, 10 Aug 2009 22:36:26 +0200 |
parents | beffb0fafd5e |
children | 70abe9b6819e 046a5127cbe1 |
files | TODO doc/NSS-MYSQL doc/NSS-SQL src/savane/backend/migrate_sshkeys.py |
diffstat | 4 files changed, 161 insertions(+), 48 deletions(-) [+] |
line wrap: on
line diff
--- a/TODO +++ b/TODO @@ -1,16 +1,129 @@ -- models - - - add DB indexes (db_model=True) - -- now we need the screens for users to modify them +Roadmap +======= -- work on the web design +The roadmap is based on the previous Savane incarnation. -- export to LDAP and reimplement .ssh replication and VCS creation - -- implement mod_rewrite URL migration list +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. -* Work on the web design - - Maybe we can change the colors. - - We needs to define a CSS class for buttons +[/] Implement web screens (higher priority) + + [/] User page + + [/] Group page + + [ ] Members list + GPG keyring + + [/] Account conf ([X] e-mail, [X] password, [X] real name, [/] SSH + keys, [X] GPG key) + + [/] My Groups + + [ ] Group membership (manage members, manage permissions, request + inclusion) + + [ ] Delete account (clean-up data but keep User+user_id if past + history) + +[ ] Implement web screens (lower priority) + + [ ] Account conf 2 ([ ] profile, [ ] skills, [ ] timezone) + + [ ] 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 + +[ ] News management (+ comments) + +[/] Work on the web design + + [X] Do something different + + [ ] Maybe we can change the colors. + + [ ] We needs to define a CSS class for buttons + +[/] 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) + +[ ] 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 jobs and news. + +[ ] Add some tests + +===== + +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) + +[ ] Migration to PostgreSQL? + +[ ] Rewrite trackers in Django? + +[ ] Rewrite /people (request for contribution / jobs) in Django? + +[ ] 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) + +[ ] Your Ideas Here
deleted file mode 100644 --- a/doc/NSS-MYSQL +++ /dev/null @@ -1,35 +0,0 @@ -Status -====== - -libnss-mysql-bg was installed at Savannah and configured against the -old Savane MySQL database. It works :) This means we can avoid -reimplementing sv_users, as well as a part of sv_groups. - -Next step is converting the libnss-mysql.cfg file to the new Savane DB -schema. - -libnss-mysql is an alternative, but it's less flexible, since you can -only configure fields instead of complete SQL queries. - -libnss-mysql-bg has 2 annoying bugs: - -- When listing users or groups, it may skip large entries. Report: - http://sourceforge.net/tracker/?func=detail&aid=2833844&group_id=56073&atid=479258 - -- The list of group members is implemented inefficiently (1 MySQL - query per group). This is mainly a problem when listing groups, but - so a real problem when authenticating. Solution suggested at: - http://lists.gnu.org/archive/html/savannah-hackers-public/2009-08/msg00004.html - -For sanity we should fix those bugs. However, if libnss-pgsql is -better, we could just move to PostgreSQL. - - -Segfault FAQ -============ - -- Check /var/log/syslog - maybe you just got an error in your SQL - query. - -- Check that the svusers group is present (libnss-mysql-bg dislikes - NULLs).
new file mode 100644 --- /dev/null +++ b/doc/NSS-SQL @@ -0,0 +1,35 @@ +Status +====== + +libnss-mysql-bg was installed at Savannah and configured against the +old Savane MySQL database. It works :) This means we can avoid +reimplementing sv_users, as well as a part of sv_groups. + +Next step is converting the libnss-mysql.cfg file to the new Savane DB +schema. + +libnss-mysql is an alternative, but it's less flexible, since you can +only configure fields instead of complete SQL queries. + +libnss-mysql-bg has 2 annoying bugs: + +- When listing users or groups, it may skip large entries. Report: + http://sourceforge.net/tracker/?func=detail&aid=2833844&group_id=56073&atid=479258 + +- The list of group members is implemented inefficiently (1 MySQL + query per group). This is mainly a problem when listing groups, but + so a real problem when authenticating. Solution suggested at: + http://lists.gnu.org/archive/html/savannah-hackers-public/2009-08/msg00004.html + +For sanity we should fix those bugs. However, if libnss-pgsql is +better, we could just move to PostgreSQL. + + +Segfault FAQ +============ + +- Check /var/log/syslog - maybe you just got an error in your SQL + query. + +- Check that the svusers group is present (libnss-mysql-bg dislikes + NULLs).