/TODO

http://github.com/cgay/wiki · #! · 129 lines · 117 code · 12 blank · 0 comment · 0 complexity · 56d6fa4165168517935c1a3f91b91f20 MD5 · raw file

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