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

167 lines
5.6 KiB
Text

This is transient file that lists functionalities to be implemented before
first major release.
everything related to posts:
- single post view
- basic information
- time of last edit
- time of last feature
- how many times the post was featured
- delete
- feature
- fav
- score (see notes about scoring)
- editing
- tags
- source
- safety
- content
- thumb
- relations
- ability to loop video posts
- post edit history (think
http://konachan.com/history?search=post%3A188614)
- relations
- 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
- featured posts
- ability to feature the post
- show the post on main page
- tag list
- uploader
- 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 (see notes about scoring)
refactors:
- centralize markdown prefix decorators
- 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
- change AbstractSearchService to AbstractSearchParser
- embed AbstractSearchService into Dao (it sucks to include XSearchService
together with Dao)
- 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/
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
- make script faster, right now every request to backend takes 200ms
(current suspect: dependency injector and sqlite)
- 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.
notes about scoring:
- anonymous users should be able to score posts
- anonymous users should be able to revoke and correct their scores
- it should be difficult to score post repeatedly (add protection in local
storage, anything more is probably an overkill)
- scored of authorized users should be persisted into database so it can be
searched for with special:liked and special:disliked
some day:
- configure mails and ensure it works with gmail