Updated TODO.
[gruta.git] / TODO
blob2ab9e5ff653b97e067f831651d1d917b33bce879
1 Gruta TODO / Bug List
2 =====================
4 Release Critical Bugs
5 ---------------------
7  * 1067: Story names formed by numbers only collide with the
8    `mod_rewrite' rule that treats filenames with numbers as
9     an offset to a topic index.
11 Open Bugs
12 ---------
14  * 1001: Audit all possible directory traversal vulnerabilities
15    in Source::FS.
16  * 1060: Fix RSS to avoid generating an author tag if there is
17    no author.
18  * 1065: Every time the supertemplate is changed, it should also
19    be set in the CGI vars hash.
21 Pending Enhancements
22 --------------------
24  * 1048: Add user comments to stories.
25  * 1051: Add a glossary://topic/story pseudo-url, that creates an
26    `abbr' or `acronym'.
27  * 1062: Add `from' and `to' date arguments to `LIST'.
28  * 1056: Delete _destroy_index() and create _rebuild_index() in FS.
29  * 1057: Delete the vfields() and afields() methods, and use only
30    fields().
31  * 1066: Add uploads (img/ dir and such) as another component of
32    the source, so that uploaded things are inside it. For the FS
33    nothing would change regarding filesystem layout, but on the DBI
34    binaries will be stored as blobs.
36 Closed
37 ------
39  * 1000: Source::FS don't create new ids for stories
40    (Wed, 04 Jul 2007 13:18:04 +0200).
41  * 1002: link_to_topic() and link_to_story() should move to Gruta.pm,
42    but infinite loops (of two stories linking each other) must be
43    solved (Thu, 12 Jul 2007 13:36:22 +0200).
44  * 1003: Use flock() in index creation / reading in Source::Mbox
45    (fixed on 9f922c4fdaa35206693caabf110717ce26203d0d;
46     Fri, 20 Jul 2007 14:15:04 +0200).
47  * 1005: stories_top_ten, when returning values from different sources,
48    does not reorder the stories (Wed, 17 Oct 2007 13:04:36 +0200).
49  * 1007: Add the Gruta.pm wrapper to stories_by_tag()
50    (Wed, 17 Oct 2007 13:16:26 +0200).
51  * 1008: Add the Gruta.pm wrapper to tags()
52    (Wed, 17 Oct 2007 13:16:26 +0200).
53  * 1010: Move is_visible_story() from Artemus to generic story code
54    (Wed, 21 Nov 2007 12:50:55 +0100).
55  * 1009: For subscriptions to work correctly, the 'visibility' of
56    future stories should not depend only on the user logged in, but
57    in the editing capabilities of the user upon the story
58    (Thu, 22 Nov 2007 14:00:57 +0100).
59  * 1012: Delete Artemus function loop_tags (Tue, 08 Jan 2008 14:10:18 +0100).
60  * 1013: Delete template _tag_with_count_as_item (Tue, 08 Jan 2008 14:10:18 +0100).
61  * 1014: Delete template _tag_as_cloud (Tue, 08 Jan 2008 14:10:18 +0100).
62  * 1020: Delete Artemus function search_stories_by_tag (Tue, 08 Jan 2008 14:10:18 +0100).
63  * 1021: Delete Artemus function story_loop_top_ten (Tue, 08 Jan 2008 14:10:18 +0100).
64  * 1024: search_stories_by_tag() FS should be AND, not OR
65    (Tue, 12 Feb 2008 12:49:51 +0100).
66  * 1025: search_stories_by_tag() DBI query must be:
67    select topic_id, id from tags where (tag = 'entrantes' or tag = 'setas') 
68    group by topic_id, id having count(id) = 2
69    (Tue, 12 Feb 2008 13:07:02 +0100).
70  * 1027: Fill the RDF template (Tue, 18 Mar 2008 11:17:02 +0100).
71  * 1028: Fill the RSS template (Tue, 18 Mar 2008 11:17:02 +0100).
72  * 1011: Templates should live in /usr/share/gruta/templates and,
73    when changed, be saved in the var/templates directory
74    (Mon, 21 Apr 2008 14:02:46 +0200).
75  * 1032: Do Gruta::Source::Mbox stories_top_ten()
76    (Mon, 21 Apr 2008 15:54:47 +0200).
77  * 1033: Do Gruta::Source::Mbox stories_by_tag()
78    (Mon, 21 Apr 2008 16:06:49 +0200).
79  * 1031: Do Gruta::Source::Mbox search_stories()
80    (Mon, 21 Apr 2008 16:18:41 +0200).
81  * 1034: Create a Gruta::Data::crypt() function
82    (Mon, 21 Apr 2008 16:46:54 +0200).
83  * 1029: Move admin user creation from Gruta.pm to Gruta::CGI.pm
84    (Tue, 29 Apr 2008 14:28:19 +0200).
85  * 1036: Test default user creation and sid management introduced
86    in issue #1029 under production (Thu, 08 May 2008 07:18:58 +0200).
87  * 1030: Infer default values for topic_id, topic_name and index_file
88    in Gruta::Source::Mbox (as done in bin/gruta)
89    (Mon, 09 Jun 2008 13:17:18 +0200).
90  * 1040: The 'intermixed_index' template crashes in DBI
91    (Tue, 16 Sep 2008 14:17:45 +0200).
92  * 1023: stories_by_date() 'offset' argument fails in FS if the search
93    is done on more than one topic (Wed, 17 Sep 2008 07:53:12 +0200).
94  * 1039: The 'story_hits' template should returns something
95    different from 0 (Closed by #1042; Thu, 18 Sep 2008 12:16:25 +0200).
96  * 1042: IN DBI, the 'hits' column in 'stories' seems to be
97    initialized as an empty string or NULL instead of 0 (even
98    though it's defined as DEFAULT 0). This bug is probably
99    only for SQLite (Thu, 18 Sep 2008 12:22:43 +0200).
100  * 1037: Document the installation process
101    (Thu, 18 Sep 2008 12:32:59 +0200).
102  * 1038: Translate the spanish templates to english
103    (Thu, 18 Sep 2008 13:04:40 +0200).
104  * 1044: Fix Mbox's search_by_tag (Mon, 27 Oct 2008 16:19:16 +0100).
105  * 1045: Fix Gruta->url() to not return static urls if additional
106    arguments are given (Sun, 16 Nov 2008 09:49:48 +0100).
107  * 1043: Delete template _select_option
108    (Wed, 26 Nov 2008 17:12:16 +0100).
109  * 1049: Add a description field to topics (to be set as the
110    HTML description) (Fri, 05 Dec 2008 13:24:37 +0100).
111  * 1050: Add a description field to stories (to be set as the
112    HTML description) (Wed, 10 Dec 2008 07:25:18 +0100).
113  * 1046: Delete template l (Mon, 22 Dec 2008 13:12:38 +0100).
114  * 1015: Delete Artemus function loop_topics
115    (Mon, 22 Dec 2008 13:16:44 +0100).
116  * 1016: Delete Artemus function loop_users
117    (Mon, 22 Dec 2008 13:16:44 +0100).
118  * 1017: Delete Artemus function loop_renderers
119    (Mon, 22 Dec 2008 13:16:44 +0100).
120  * 1018: Delete Artemus function loop_templates
121    (Mon, 22 Dec 2008 13:16:44 +0100).
122  * 1019: Delete Artemus function loop_upload_dirs
123    (Mon, 22 Dec 2008 13:16:44 +0100).
124  * 1022: Delete Artemus function story_loop_by_date
125    (Mon, 22 Dec 2008 13:16:44 +0100).
126  * 1026: Delete Artemus function loop_story_tags
127    (Mon, 22 Dec 2008 13:16:44 +0100).
128  * 1006: Stories should always be rendered on save and retrieved
129    from a cache (Fri, 02 Jan 2009 07:40:16 +0100).
130  * 1047: Escape Artemus markup from story contents
131    (Fri, 02 Jan 2009 07:54:06 +0100).
132  * 1052: Escape Artemus markup from user data
133    (Fri, 02 Jan 2009 07:54:06 +0100).
134  * 1053: Reorder return values from stories_by_date() to be
135    topic_id, id and date (Thu, 08 Jan 2009 08:54:07 +0100).
136  * 1054: FS's search_stories() should be sorted by title
137    (Tue, 13 Jan 2009 13:27:36 +0100).
138  * 1055: FS's stories_by_tag() should be sorted by title
139    (Tue, 13 Jan 2009 13:52:18 +0100).
140  * 1041: Gruta::stories_by_date() will fail when using an offset and
141    more than one source (related to #1023) (Only one source
142    supported; Thu, 15 Jan 2009 13:11:15 +0100).
143  * 1004: Support broken lines in message headers in Source::Mbox
144    (Mbox is now deprecated; Thu, 15 Jan 2009 13:27:13 +0100).
145  * 1058: Move the hardcoded top ten limit to an argument
146    (Mon, 02 Feb 2009 13:52:05 +0100).
147  * 1059: Move the hardcoded CGI compression size to an argument
148    (Mon, 02 Feb 2009 13:57:07 +0100).
149  * 1061: In a story:// pseudo-url, don't generate a link if the
150    story is a future one (Thu, 12 Feb 2009 10:03:30 +0100).
151  * 1035: Change Gruta::Data::today() to allow a date to be set
152    (Mon, 22 Jun 2009 10:29:40 +0200).
153  * 1063: In `_story_footer', disable showing the hits if they are
154    disabled (`cfg_top_ten_num' set to 0)
155    (Mon, 22 Jun 2009 16:14:02 +0200).
156  * 1064: In `TOP_TEN', redirect to `INDEX' if hits are disabled
157    (`cfg_top_ten_num' set to 0)
158    (Mon, 22 Jun 2009 16:24:47 +0200).
160 Email bugs to angel@triptico.com