szurubooru/TODO
2014-10-18 18:48:28 +02:00

140 lines
4.7 KiB
Text

This is transient file that lists functionalities to be implemented before
first major release.
everything related to posts:
- single post view
- fav
- score
- editing
- ability to loop video posts
- previous and next post (difficult)
- extract Pager from PagedCollectionPresenter
- rename PagedCollectionPresenter to PagerPresenter
- remember last search
- take care of pages
- add A/D hotkeys
- hiding posts
- link to iqdb and/or tineye
- random post
- regard safety settings
- ability to paste many urls in post upload
- post listing
- better thumbnail loading
- fav count
- score
- comment count
- regard safety settings
- add warning if no posts were found
- search filters
- tag
- -tag
- submit:rr-
- comment:rr-
- comment: 3..5
- fav:rr-
- fav:3..5
- score:3..5
- tag:3..5
- date:today
- date:yesterday
- date:yyyy[-mm[-dd]]..yyyy[-mm[-dd]]
- filesize:3K..5M
- imgsize:huge/large/medium/small
- id:3,4,5
- hash:postName
- type:img/flash/yt/video
- special:liked
- special:disliked
- special:fav
- special:hidden
- search order
- order:id
- order:date
- order:score
- order:comments
- order:favs
- order:tags
- order:commentdate
- order:favdate
- order:filesize
- order:random (at least unstable version)
- safe/sketchy/unsafe buttons and top navigation search goes to post
list presenter
everything related to users:
- banning
- show link to user's uploads
- show link to user's favs
- show link to user's liked posts
- better avatar loading
everything related to tags:
- tag listing
- tag autocompletion (difficult)
- time of last tag usage
- time of tag addition
- mass tag
- tag merging
- editing tags
- tag relations
- tag aliases
- tag categories (from config.ini)
- tag descriptions
- tag edit history
everything related to comments:
- adding comments
- listing comments in post view
- listing comments in comment list view
- deleting
- editing
- markdown
- score
refactors:
- add enum validation in IValidatables (needs refactors of enums and
possible disposal of EnumHelper in favor of something more subtle)
- (idea) keep denormalized data in separate tables, i.e. tag usages in
tag_meta or post favorite count in post_meta, so that it's obvious what
can be recalculated on demand and what is real data
- simplify template loading in presenters - right now template loading
requires _, util and promise:
promise.wait(util.loadTemplate('blah'))
.then(function(html) {
template = _.template(html); });
- change content spinner to nprogress:
http://ricostacruz.com/nprogress/
- add fetchUsers to PostSearchFilter: when AbstractDao fetches entities
with query decorated by PostDao::decorateQueryFromFilter, call
PostDao::decorateEntitiesWithFilter that will optimally load users and
inject them using posts' lazy loaders.
- make view proxies less greedy, e.g. favs should be fetched only in post
view, not for each of 40 posts in post list. (same goes to other things)
- reduce dependencies
miscellaneous:
- fix mouse trap hotkeys when leaving page
- add hotkeys for focusing items in top navigation
- add ability to select tags text in tag input
- pasting tags should "soft-add" latest word in clipboard to input
- pasting tags should have protection against very long clipboard content
- add protection against ridiculously long tag names
- add customizable favicon
- add customizable logo
- add log engine and log everything that should be logged
- I don't think browsing online logs is very necessary
- add help, api documentation
- add version on homepage that reads version from package.json and git hash
- add tool for migrating szurubooru database
- endless pager should include information about page number
- add README - apache2 has good README:
http://svn.apache.org/repos/asf/httpd/httpd/trunk/README
- add spinner to forms such as registration, user query, login, settings
etc. make sure the code isn't too duplicated.
- add 404 pages
some day:
- configure mails and ensure it works with gmail