From 7035eb6cd86b3548f225f4564465eb4bebe812d5 Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Sat, 5 Oct 2013 09:44:17 -0700 Subject: [PATCH] Updated Roadmap (markdown) --- Roadmap.md | 178 ++++++++++++++++++++++++++--------------------------- 1 file changed, 89 insertions(+), 89 deletions(-) diff --git a/Roadmap.md b/Roadmap.md index a75d78f..694f34e 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -1,118 +1,118 @@ # Registration -- ☑ Logging in -- ☑ Logging out -- ☐ Registering - - ☑ First user becomes superadmin - - ☑ User name - - ☑ Password (twice) - - ☑ Optional e-mail address - - ☑ Sending activation e-mail [configurable, on/off] - - ☐ 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] -- ☐ Editing one's details - - ☐ E-mail address - - ☐ Password - - ☐ Name [configurable, on/off] -- ☐ Gravatar support -- ☐ Retrieving lost password through e-mail address +- ~~Logging in~~ done +- ~~Logging out~~ done +- Registering + - ~~First user becomes superadmin~~ done + - ~~User name~~ done + - ~~Password (twice)~~ done + - ~~Optional e-mail address~~ done + - ~~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"] + - Registration approval by admin [configurable, on/off] +- Editing one's details + - E-mail address + - Password + - Name [configurable, on/off] +- Gravatar support +- Retrieving lost password through e-mail address # Shoutbox -- ☐ Shoutbox support [configurable, on/off] -- ☐ Listing messages -- ☐ Adding message - - ☐ Some kind of parsing (Markdown lite?) -- ☐ Paging -- ☐ Endless scrolling [configurable, on/off] +- Shoutbox support [configurable, on/off] +- Listing messages +- Adding message + - Some kind of parsing (Markdown lite?) +- Paging +- Endless scrolling [configurable, on/off] This is going to be good polygon for privileges engine. # User pages -- ☐ Gravatar -- ☐ Joined on -- ☐ Access rank -- ☐ "Favorites" tab -- ☐ "Uploaded" tab -- ☐ Manipulation controls for admins: - - ☐ Ban button - - ☐ Access rank combobox +- Gravatar +- Joined on +- Access rank +- "Favorites" tab +- "Uploaded" tab +- Manipulation controls for admins: + - Ban button + - Access rank combobox # Posts ## Adding new post -- ☐ Content type (image, flash, youtube) -- ☐ The post content itself - - ☐ Live preview of images +- Content type (image, flash, youtube) +- The post content itself + - Live preview of images - Ways to select the file: - - ☐ Drag'n'drop - - ☐ Click to select - - ☐ Paste url -- ☐ Customizable post thumbnail -- ☐ Flagging post: SFW/Sketchy/NSFW -- ☐ Multiple upload - - ☐ Ability to remove accidentally selected images before final upload -- ☐ Tags - - ☐ Autocomplete -- ☐ Flagging: SFW/sketchy/NSFW -- ☐ Content type changes UI behaviour (it's senseless to upload file with content type set to youtube) + - Drag'n'drop + - Click to select + - Paste url +- Customizable post thumbnail +- Flagging post: SFW/Sketchy/NSFW +- Multiple upload + - Ability to remove accidentally selected images before final upload +- Tags + - Autocomplete +- Flagging: SFW/sketchy/NSFW +- 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 -- ☐ 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] - Ensure no other post exists with that name. ## Editing posts - Implementation details: try to avoid duplicated code between post adding and editing, especially for validation stuff. -- ☐ Tags - - ☐ Autocomplete - - ☐ Adding - - ☐ Removal -- ☐ Thumbnail -- ☐ Flagging: SFW/sketchy/NSFW -- ☐ Favorites - - ☐ Adding - - ☐ Removal -- ☐ Comments - - ☐ Adding comment - - ☐ Modification of comment contents - - ☐ Comment removal - - ☐ Comment display - - ☐ Processing contents with Markdown parser - - ☐ Spoiler support (`[spoiler]...[/spoiler]`?) - - ☐ Post permalink support (`@123`) - - ☐ Tag permalink support (`#mushishi`) +- Tags + - Autocomplete + - Adding + - Removal +- Thumbnail +- Flagging: SFW/sketchy/NSFW +- Favorites + - Adding + - Removal +- Comments + - Adding comment + - Modification of comment contents + - Comment removal + - Comment display + - Processing contents with Markdown parser + - Spoiler support (`[spoiler]...[/spoiler]`?) + - Post permalink support (`@123`) + - Tag permalink support (`#mushishi`) ## Browsing posts - Search capabilities: - - ☐ No filter, just browsing - - ☐ Containing tag X - - ☐ Not containing tag X - - ☐ Uploaded by user X - - ☐ Favorited by user X - - ☐ Favorited by >= X users - - ☐ Cool boolean logic + - No filter, just browsing + - Containing tag X + - Not containing tag X + - Uploaded by user X + - Favorited by user X + - Favorited by >= X users + - Cool boolean logic - Sorting capabilities: - - ☐ Chronologically - - ☐ By tag count (?) - - ☐ By favorite count - - ☐ By comment count - - ☐ By content type (image, youtube, flash) -- ☐ Paging - - ☐ Automatic retrieval of next page when scrolled to bottom [configurable, on/off] -- ☐ Make SFW/sketchy/NSFW configurable: - - ☐ 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 - - ☐ when user changes SFW/sketchy/NSFW, remember his choice next time he logs in. + - Chronologically + - By tag count (?) + - By favorite count + - By comment count + - By content type (image, youtube, flash) +- Paging + - Automatic retrieval of next page when scrolled to bottom [configurable, on/off] +- Make SFW/sketchy/NSFW configurable: + - 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 + - when user changes SFW/sketchy/NSFW, remember his choice next time he logs in. ## Post removal -- ☐ Post removal +- Post removal # Admin -- ☐ Listing users -- ☐ Changing user passwords/mails/whatever -- ☐ Renaming tags -- ☐ Merging tags (!) -- ☐ Approval of pending registrations [only if approval pending enabled in config] +- Listing users +- Changing user passwords/mails/whatever +- Renaming tags +- Merging tags (!) +- 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? # 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. -- ☑ Every request should be able to show essential information in JSON format when accessed with ?json suffix in URL. This would be *the* API. \ No newline at end of file +- 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.~~ done \ No newline at end of file