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