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