write some help
[chango.git] / TODO.md
blob280679b184bf2c6c37a0557bc1404ff80c7fcac8
1 # TODO
3 ## Next
5 - how can I deduce a message's link from a thread's link?
6 - reply to message
7 - create fixture for the FAQ
9 ## Misc
11 - is Django's comments framework useful?
12 - create models directory, split models in their own files
13 - new\_thread
14   - clean new\_thread view, especially the Thread and Message creation
15   - clean form error messages for validation
16   - check "form form" from tinychan: table, p, or ul?
17 - datetime for threads and messages
18   - timesince/timeuntil filters for each message in a thread
19   - using JS only? (would be less CPU intensive)
20 - add a title to all the pages
21 - clean whitespace
22 - add newline at the end of each python script
23 - use striptags filter for user provided content
24 - clean format strings everywhere with .format() method
25 - some admin function to swap message IDs and force a number
26 - relative time for messages (3 hours ago...)
27 - remove whitespace in thread's subject
28 - create modules for pass, tripcode generation
29   - generate_password(): # import random
30         chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
31         return ''.join(random.sample(chars, 32))
32   - generate uuid(): # import uuid
33         return uuid.uuid1() # or uuid.uuid4() for more random
34 - check files mode (0755??) if it matters
35 - create INSTALL file for procedures to follow
36   - Django files to fill DB with default values (don't remember how)
37   - urls.py, settings.py, timezone, ...
38 - setup new remote on exterlulz.net, and push on both servers at once
39 - id/password generated with uuid.uuid1()
40 - tripcodes (hashlib...)
41 - ignore list (ostrich mode?) for each user
42 - very basic security (Apache (.htaccess), Nginx (allow/deny), Lighttpd) to prevent people from seeing the admin section, only allow from localhost
43 - use django.contrib.markup with Markdown, Textile, or RestructuredText
44 - compare Markdown with WakabaMark and Tinychan's markup
45 - name anons in each thread with default: A..Z...
46 - show 25 posts in each page, set in admin (site wide) or in user interface
47 - captcha with predefined images
48 - clean code by adding/removing blank line at the end of each file
49 - clean code with Google's code conventions
50 - cite should display the name in brackets next to the post number
51 - panic mode
52 - check how to remove the content tag from repo.or.cz
53 - b& page with a JS timer, b& application
54 - check the security of forms!
55 - protect views' input values with `try int(val) except...`
57 ## Spam
59 - spam list
60 - report message
61 - regular expressions
62 - anti flood system
63 - proxies autoban
64 - efnet rbl list
66 ## Filters
68 - message: strip all html -> markup -> filter urls
69 - check if the xxx filter is *really* safe
70 - change xxx to some kind of intfilter
71 - reverse
72 - word filters
73 - backward header filter (name, reply, link...)
75 ## Design
77 - themes
78   - 4chan
79   - plus4chan
80   - tinychan
81   - lain
82   - christmas
83 - misc css
84   - b& posts
85   - cell phones
86 - change themes in real-time like 4-ch.net
88 ## Admin interface
90 - mix thread and messages in admin interface
91 - quick delete, ban, filter, nuke (ionize)
92 - install docutils for admin documentation, and enable in urls.py and settings.py
93 - max length of the thread's subject should be configurable
94 - set captcha on/off from admin zone
95 - CSS and customizations with ADMIN\_MEDIA\_PREFIX
96 - search box
97 - word filters
98 - mass delete
99 - graphical installer
100 - add or remove bulletins
101 - content manager from the admin interface
102 - ban
103   - mass ban
104   - appeal page
105   - presets
106   - stealth ban (random errors)
107   - full block
108 - monitoring
109   - b& people
110   - suspicious activity
111   - stat center
112 - moderators
113   - restricted admin page
114   - wiseguy activity and operation history
115 - admin.ModelAdmin?
117 ## Django
119 - use filters like title, slug, or random case
120 - can one app call the templatetags of another app
122 ## Future ideas
124 - clean app according to http://code.djangoproject.com/wiki/DosAndDontsForApplicationWriters
125 - create good link to threads like /123/#123 and check with Django
126 - remove Google fonts for "mobile template"
127 - find a way to remove example.com in the default DB
128 - cache templates with django.template.loaders.cached.Loader
129 - i18n for strings
130 - special pages with "filters" : today's messages...
131 - an ImageField that can be "null" for each message
132 - tripcodes caching for faster creation
133 - have the ability to quote multiple posts at once
134 - different categories (/b/, programming, news, ...)
135 - 2 modes (2 templates?): tinychan (list of subjects only), wakaba (list on top)
136 - create an image board app next to the bbs
137 - simple JS with coffeescript and jquery
138 - haml and sass in preprocessing templates
139 - ajax replies
140 - picture storage with database (sqlite, mongodb, ...)
141 - automatic db upgrade
142 - list bans in public page
143 - html div in template for advertising (like flattr or openx), and admin page to enable/disable ads
144 - tagging system
145 - for each topic (and/or reply) :
146   - add a collection of key/values (JSON-style) like tags
147   - tags could be used to "customize" threads (message board, bug tracker, calendar, ...)
148 - uwsgi
149 - poll system
150 - remove the concept of "project." a standalone app should be sufficient
151 - remove the Content tags on repo.or.cz ASAP
152 - forced anon
153 - spam trap
155 ## Links
157 - [coffeescript](http://jashkenas.github.com/coffee-script/)
158 - [jquery](http://jquery.com/)
159 - [haml](http://haml-lang.com/)
160 - [sass](http://sass-lang.com/)
161 - [flattr](http://flattr.com/)
162 - [openx](http://www.openx.org/)