PageRenderTime 111ms CodeModel.GetById 107ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/TODO

http://github.com/cgay/wiki
#! | 129 lines | 117 code | 12 blank | 0 comment | 0 complexity | 56d6fa4165168517935c1a3f91b91f20 MD5 | raw file
  1Fix before going live
  2---------------------
  3
  4* Rename page/user/group need to update page references.
  5* Disable UI access to unfinished TODO--* items.
  6* Convert the content in www.opendylan.org to wiki pages and make
  7  them only editable by the dylan-hackers group.
  8* Careful by-hand test of all existing features.
  9
 10
 11General
 12-------
 13* wikimatrix.org is a good source of feature ideas.
 14* The "Recent Changes" and "Pages" links both get an error if there
 15  is nothing to list.  (minor)
 16* static files (e.g., /styles.css) should be under the dynamically
 17  configured url prefix.
 18* MAKE THREAD SAFE -- basically anything like removing a user, which
 19  modifies multiple objects, may have race conditions.  Needs careful
 20  thought.
 21* Convert specialized DSP tags to use <dsp:loop> and improve <dsp:loop>
 22  as needed.
 23* i18n
 24* Implement all dsp pages the same way: with a class and respond-to-*
 25  methods.  Having some be functions and some be classes is annoying
 26  because it's harder to remember the names of things.
 27
 28Browser Compatibility
 29---------------------
 30* IE7 doesn't make all the links in the left nav menu active.
 31  Something in the style sheet breaks it.  This makes it fairly
 32  useless.
 33* Safari: login doesn't work.  See IRC comments on 2009-06-15.
 34* Test with Opera
 35
 36Feeds
 37-----
 38* Is there a secure way to make page feeds respect ACLs?  For
 39  now they just show publicly viewable pages.
 40* Fix various problems shown by http://www.feedvalidator.org/
 41* Include more info in the entry descriptions.  For pages, maybe
 42  include the diff up to a certain size limit?
 43* Limit feeds to a certain time period.  Not sure how this is
 44  normally done yet.
 45
 46Tags
 47----
 48* Overview page (hannes: what do you have in mind exactly?)
 49* Ability to browse all pages with a given set of tags.
 50* Make reserved tags and the "news" tag configurable.
 51
 52Users
 53-----
 54* Don't store passwords in cleartext.
 55* Show non-activated accounts in the Users list (maybe only to admins?)
 56  and allow admins to edit/activate the accounts.  Might be nice to have
 57  an icon that indicates data that is only shown to admins.
 58* Show the email address if the user him/herself is viewing the page.
 59* When an admin is editing a user, allow them to make the user an admin.
 60  (This is where the two levels of admin could come into play.)
 61* Support a full name attribute.
 62* Have a "home" wiki page for each user, similar to twiki.  Pre-create
 63  the page.  Maybe call it e.g. "User: Full Name".
 64* Allow user to set their timezone and date format, and show all times
 65  relative to that.
 66* Validate name, password, email.  Require a minimum level of
 67  security in passwords?  e.g., must not be empty, one char, all the
 68  same char, etc.  Maybe there's a cookbook for this.
 69
 70Registration
 71------------
 72* The account activation key is just base-64 encoded.  Not very secure,
 73  just minimally good enough for now.
 74* Put initial focus in password field.
 75
 76Groups
 77------
 78* Options menu offers edit/remove even if the user is not owner or admin.
 79* Remove group from any ACLs upon deletion, and display list of pages whos
 80  ACLs will be affected.  Bonus points: say whether removing the group will
 81  make it so that no one (other than an admin and the owner) has access to
 82  a page.
 83* Show "This group has no members" if true.
 84* Combine editing attributes and group members onto one page.  This requires
 85  javascript to do it right, i.e. not require a POST for each member change.
 86
 87Pages
 88-----
 89* Currently (as I rewrite to use git as the back end) I plan for most
 90  operations to execute git commands directly rather than caching
 91  anything.  Ultimately that will probably be too slow as the number
 92  of pages grows.  One possible way forward will be to create a <page>
 93  object for each page, without filling in the content, parsing tags,
 94  etc., then fill in the page content as pages are loaded on demand.
 95  For full content search we'll need an index.
 96* Preview doesn't work if the page is new, never saved.
 97* Looks like show-page-responder doesn't respect "view" ACLs (but I could
 98  be wrong because I've been away from the code for a while).
 99* Conflict detection (multiple overlapping edits)
100* improve display of tags.  maybe put to the right of the title.
101* Allow owner or administrator to change page owner when editing page.
102* When viewing a non-newest revision, the options menu items are incorrect.
103  e.g., "edit" loads the newest revision's content.  Instead it should
104  load the old content and give a warning near the Save button that you
105  are editing an older revision.  "remove" probably shouldn't be there,
106  and "connections" should show the connections of the older revision.
107* A way to set ACLs for multiple pages at once.  How to choose the pages?
108  By tags, by owner, by reference, by backlink?
109
110Other
111-----
112
113- search widget not implemented
114  * advanced search
115- tag cloud (what's this?)
116- inline svg
117  * connection graph
118- microformats! (what's this?)
119  * users
120- menu for user
121- hints in lists
122- icon for groups
123- icon for files
124- renaming users/groups/pages
125- file upload
126- user page: edited pages
127  * each page: list of versions
128- page: authors
129  * each user: list of versions