From b60223f4cc93a4b03e58bea2246cb733856fdb83 Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Tue, 1 Oct 2013 14:25:01 -0700 Subject: [PATCH] Updated Roadmap (markdown) --- Roadmap.md | 123 +++++++++++++++++++++++++++++------------------------ 1 file changed, 68 insertions(+), 55 deletions(-) diff --git a/Roadmap.md b/Roadmap.md index c1fa796..adb3224 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -1,69 +1,82 @@ - Registration stuff - - Logging in - - Registering - - First user becomes superadmin - - Optional e-mail address - - Configurable activation URLs on/off - - Checkboxes during registration with configurable texts in Markdown (so we can do "I agree that by registering I will be shown R18 content") - - Editing owe's details - - E-mail address - - Password - - [Configurable] name - - Gravatar support - - Logging out - - Retrieving lost password through e-mail address + - □ Logging in + - □ 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"] + - □ Editing one's details + - □ E-mail address + - □ Password + - □ Name [configurable, on/off] + - □ Gravatar support + - □ Logging out + - □ Retrieving lost password through e-mail address - Posts stuff - Adding 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 + - □ Drag'n'drop + - □ Click to select + - □ Paste url + - □ Customizable post thumbnail - [proposition] Flagging post: SFW/Sketchy/NSFW - - Multiple images? - - Ability to remove accidentally selected images before final upload - - Tags - - Autocomplete - - Content type changes UI behaviour (it's senseless to upload file with content type set to youtube) + - □ Multiple upload + - □ Ability to remove accidentally selected images before final upload + - □ Tags + - □ Autocomplete + - □ 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`) - - Implementation detail: configurable secret salt concatenated to random suffix + - □ 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 - - Pretty much same as above. 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 + - □ Autocomplete + - □ Thumbnail + - [Proposition] flagging: SFW/sketchy/NSFW - Browsing posts - Search capabilities: - - 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 - - If we're going to implement SFW/Sketchy/NSFW, make these configurable what to show to registered users and what not. Otherwise hide some images from unregistered users by showing them placeholder images (tag to placeholder dictionary becomes configurable); also in either approach there should be some kind of default filter (like there is on wallbase.cc) - - Post removal - - Adding post to favorites - - Removing post from favorites + - □ 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] + - If we're going to implement SFW/Sketchy/NSFW: + - □ Make these configurable what to show to registered users and what not, + Otherwise: + - □ Hide some images from unregistered users by showing them placeholder images [configurable; dictionary containing one registered-only tag -> one URL to placeholder map] + - □ In either appraoch, some kind of default filter (like there is on wallbase.cc) so registered users must opt-in before showing NSFW content + - □ Post removal + - □ Adding post to favorites + - □ Removing post from favorites - Comments stuff - - Adding comment - - Modification of comment contents - - Comment removal - - Comment display - - Processing contents with Markdown parser + - □ Adding comment + - □ Modification of comment contents + - □ Comment removal + - □ Comment display + - □ Processing contents with Markdown parser - Privileges stuff - - 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. - Admin stuff - - Listing users - - Changing user passwords/mails/whatever - - Renaming tags - - Merging tags (!) \ No newline at end of file + - □ Listing users + - □ Changing user passwords/mails/whatever + - □ Renaming tags + - □ Merging tags (!) +- Misc + - ▣ 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