Updated Roadmap (markdown)
parent
c373a28e56
commit
7035eb6cd8
1 changed files with 89 additions and 89 deletions
178
Roadmap.md
178
Roadmap.md
|
@ -1,118 +1,118 @@
|
||||||
# Registration
|
# Registration
|
||||||
- ☑ Logging in
|
- ~~Logging in~~ done
|
||||||
- ☑ Logging out
|
- ~~Logging out~~ done
|
||||||
- ☐ Registering
|
- Registering
|
||||||
- ☑ First user becomes superadmin
|
- ~~First user becomes superadmin~~ done
|
||||||
- ☑ User name
|
- ~~User name~~ done
|
||||||
- ☑ Password (twice)
|
- ~~Password (twice)~~ done
|
||||||
- ☑ Optional e-mail address
|
- ~~Optional e-mail address~~ done
|
||||||
- ☑ Sending activation e-mail [configurable, on/off]
|
- ~~Sending activation e-mail [configurable, on/off]~~ done
|
||||||
- ☐ Must-check checkboxes [configurable, on/off +texts in Markdown so we can do "I agree that by registering I will be shown R18 content"]
|
- Must-check checkboxes [configurable, on/off +texts in Markdown so we can do "I agree that by registering I will be shown R18 content"]
|
||||||
- ☐ Registration approval by admin [configurable, on/off]
|
- Registration approval by admin [configurable, on/off]
|
||||||
- ☐ Editing one's details
|
- Editing one's details
|
||||||
- ☐ E-mail address
|
- E-mail address
|
||||||
- ☐ Password
|
- Password
|
||||||
- ☐ Name [configurable, on/off]
|
- Name [configurable, on/off]
|
||||||
- ☐ Gravatar support
|
- Gravatar support
|
||||||
- ☐ Retrieving lost password through e-mail address
|
- Retrieving lost password through e-mail address
|
||||||
|
|
||||||
# Shoutbox
|
# Shoutbox
|
||||||
- ☐ Shoutbox support [configurable, on/off]
|
- Shoutbox support [configurable, on/off]
|
||||||
- ☐ Listing messages
|
- Listing messages
|
||||||
- ☐ Adding message
|
- Adding message
|
||||||
- ☐ Some kind of parsing (Markdown lite?)
|
- Some kind of parsing (Markdown lite?)
|
||||||
- ☐ Paging
|
- Paging
|
||||||
- ☐ Endless scrolling [configurable, on/off]
|
- Endless scrolling [configurable, on/off]
|
||||||
|
|
||||||
This is going to be good polygon for privileges engine.
|
This is going to be good polygon for privileges engine.
|
||||||
|
|
||||||
# User pages
|
# User pages
|
||||||
- ☐ Gravatar
|
- Gravatar
|
||||||
- ☐ Joined on
|
- Joined on
|
||||||
- ☐ Access rank
|
- Access rank
|
||||||
- ☐ "Favorites" tab
|
- "Favorites" tab
|
||||||
- ☐ "Uploaded" tab
|
- "Uploaded" tab
|
||||||
- ☐ Manipulation controls for admins:
|
- Manipulation controls for admins:
|
||||||
- ☐ Ban button
|
- Ban button
|
||||||
- ☐ Access rank combobox
|
- Access rank combobox
|
||||||
|
|
||||||
# Posts
|
# Posts
|
||||||
## Adding new post
|
## Adding new post
|
||||||
- ☐ Content type (image, flash, youtube)
|
- Content type (image, flash, youtube)
|
||||||
- ☐ The post content itself
|
- The post content itself
|
||||||
- ☐ Live preview of images
|
- Live preview of images
|
||||||
- Ways to select the file:
|
- Ways to select the file:
|
||||||
- ☐ Drag'n'drop
|
- Drag'n'drop
|
||||||
- ☐ Click to select
|
- Click to select
|
||||||
- ☐ Paste url
|
- Paste url
|
||||||
- ☐ Customizable post thumbnail
|
- Customizable post thumbnail
|
||||||
- ☐ Flagging post: SFW/Sketchy/NSFW
|
- Flagging post: SFW/Sketchy/NSFW
|
||||||
- ☐ Multiple upload
|
- Multiple upload
|
||||||
- ☐ Ability to remove accidentally selected images before final upload
|
- Ability to remove accidentally selected images before final upload
|
||||||
- ☐ Tags
|
- Tags
|
||||||
- ☐ Autocomplete
|
- Autocomplete
|
||||||
- ☐ Flagging: SFW/sketchy/NSFW
|
- Flagging: SFW/sketchy/NSFW
|
||||||
- ☐ Content type changes UI behaviour (it's senseless to upload file with content type set to youtube)
|
- Content type changes UI behaviour (it's senseless to upload file with content type set to youtube)
|
||||||
- Implementation details - youtube can be stored as files as well, just plaintext containing URL/ID
|
- Implementation details - youtube can be stored as files as well, just plaintext containing URL/ID
|
||||||
- ☐ Image gets unique file name so that it can be hotlinked by registered users, but it's url cannot be guessed by unregistered ones (accessing nsfw post by `/post/30065d2112f85177a20b81d2c4dd08fe.jpg` vs `/post/244.jpg`)
|
- Image gets unique file name so that it can be hotlinked by registered users, but it's url cannot be guessed by unregistered ones (accessing nsfw post by `/post/30065d2112f85177a20b81d2c4dd08fe.jpg` vs `/post/244.jpg`)
|
||||||
- Implementation detail: secret salt concatenated to random suffix [configurable]
|
- Implementation detail: secret salt concatenated to random suffix [configurable]
|
||||||
- Ensure no other post exists with that name.
|
- Ensure no other post exists with that name.
|
||||||
|
|
||||||
## Editing posts
|
## Editing posts
|
||||||
- Implementation details: try to avoid duplicated code between post adding and editing, especially for validation stuff.
|
- Implementation details: try to avoid duplicated code between post adding and editing, especially for validation stuff.
|
||||||
- ☐ Tags
|
- Tags
|
||||||
- ☐ Autocomplete
|
- Autocomplete
|
||||||
- ☐ Adding
|
- Adding
|
||||||
- ☐ Removal
|
- Removal
|
||||||
- ☐ Thumbnail
|
- Thumbnail
|
||||||
- ☐ Flagging: SFW/sketchy/NSFW
|
- Flagging: SFW/sketchy/NSFW
|
||||||
- ☐ Favorites
|
- Favorites
|
||||||
- ☐ Adding
|
- Adding
|
||||||
- ☐ Removal
|
- Removal
|
||||||
- ☐ Comments
|
- Comments
|
||||||
- ☐ Adding comment
|
- Adding comment
|
||||||
- ☐ Modification of comment contents
|
- Modification of comment contents
|
||||||
- ☐ Comment removal
|
- Comment removal
|
||||||
- ☐ Comment display
|
- Comment display
|
||||||
- ☐ Processing contents with Markdown parser
|
- Processing contents with Markdown parser
|
||||||
- ☐ Spoiler support (`[spoiler]...[/spoiler]`?)
|
- Spoiler support (`[spoiler]...[/spoiler]`?)
|
||||||
- ☐ Post permalink support (`@123`)
|
- Post permalink support (`@123`)
|
||||||
- ☐ Tag permalink support (`#mushishi`)
|
- Tag permalink support (`#mushishi`)
|
||||||
|
|
||||||
## Browsing posts
|
## Browsing posts
|
||||||
- Search capabilities:
|
- Search capabilities:
|
||||||
- ☐ No filter, just browsing
|
- No filter, just browsing
|
||||||
- ☐ Containing tag X
|
- Containing tag X
|
||||||
- ☐ Not containing tag X
|
- Not containing tag X
|
||||||
- ☐ Uploaded by user X
|
- Uploaded by user X
|
||||||
- ☐ Favorited by user X
|
- Favorited by user X
|
||||||
- ☐ Favorited by >= X users
|
- Favorited by >= X users
|
||||||
- ☐ Cool boolean logic
|
- Cool boolean logic
|
||||||
- Sorting capabilities:
|
- Sorting capabilities:
|
||||||
- ☐ Chronologically
|
- Chronologically
|
||||||
- ☐ By tag count (?)
|
- By tag count (?)
|
||||||
- ☐ By favorite count
|
- By favorite count
|
||||||
- ☐ By comment count
|
- By comment count
|
||||||
- ☐ By content type (image, youtube, flash)
|
- By content type (image, youtube, flash)
|
||||||
- ☐ Paging
|
- Paging
|
||||||
- ☐ Automatic retrieval of next page when scrolled to bottom [configurable, on/off]
|
- Automatic retrieval of next page when scrolled to bottom [configurable, on/off]
|
||||||
- ☐ Make SFW/sketchy/NSFW configurable:
|
- Make SFW/sketchy/NSFW configurable:
|
||||||
- ☐ let admin decide what to show to registered users and what not
|
- let admin decide what to show to registered users and what not
|
||||||
- ☐ let admin decide what's the default mask for any logged in user
|
- let admin decide what's the default mask for any logged in user
|
||||||
- ☐ when user changes SFW/sketchy/NSFW, remember his choice next time he logs in.
|
- when user changes SFW/sketchy/NSFW, remember his choice next time he logs in.
|
||||||
|
|
||||||
## Post removal
|
## Post removal
|
||||||
- ☐ Post removal
|
- Post removal
|
||||||
|
|
||||||
# Admin
|
# Admin
|
||||||
- ☐ Listing users
|
- Listing users
|
||||||
- ☐ Changing user passwords/mails/whatever
|
- Changing user passwords/mails/whatever
|
||||||
- ☐ Renaming tags
|
- Renaming tags
|
||||||
- ☐ Merging tags (!)
|
- Merging tags (!)
|
||||||
- ☐ Approval of pending registrations [only if approval pending enabled in config]
|
- Approval of pending registrations [only if approval pending enabled in config]
|
||||||
|
|
||||||
Almost all of above can be easily done with manual access to db. Are we sure we want to invest time implementing this?
|
Almost all of above can be easily done with manual access to db. Are we sure we want to invest time implementing this?
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
- ☐ Access ranks that are mapped into bit arrays, where each bit means something else (for example, admin has "can edit any comment" set to 1 while anonymous user has "can upload new post" set to 0). Configurable.
|
- Access ranks that are mapped into bit arrays, where each bit means something else (for example, admin has "can edit any comment" set to 1 while anonymous user has "can upload new post" set to 0). Configurable.
|
||||||
- ☑ Every request should be able to show essential information in JSON format when accessed with ?json suffix in URL. This would be *the* API.
|
- ~~Every request should be able to show essential information in JSON format when accessed with ?json suffix in URL. This would be *the* API.~~ done
|
Loading…
Reference in a new issue