mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-03-29 01:18:11 +00:00
Updated Folders etc (markdown)
@@ -30,11 +30,12 @@ Author-specific
|
|||||||
- a brew should be able to be in multiple folders at once
|
- a brew should be able to be in multiple folders at once
|
||||||
- folders can have subfolders of their own
|
- folders can have subfolders of their own
|
||||||
- no duplicate names for folders inside the same account
|
- no duplicate names for folders inside the same account
|
||||||
|
- ... or at least, within the same folder space — thus two separate folders could each contain different subfolders both named "drafts"
|
||||||
- folder should appear in the brew title inside the share and edit pages("Examples: how to make tables")
|
- folder should appear in the brew title inside the share and edit pages("Examples: how to make tables")
|
||||||
- folders should appear before any brew in the user page
|
- folders should appear before any brew in the user page
|
||||||
|
|
||||||
|
|
||||||
A URI/link should be `/user/:userId/:folderName`
|
A URI/link chould be `/user/:userId/:folder-slug`
|
||||||
|
|
||||||
|
|
||||||
### Data Model
|
### Data Model
|
||||||
@@ -51,16 +52,15 @@ Sub-folders are linked via a list of subfolderIds, in the same manner as how bre
|
|||||||
- `__Id` (mongo specific ID field, exists wether we create it or not)
|
- `__Id` (mongo specific ID field, exists wether we create it or not)
|
||||||
- `folderId` (nanoid, required, auto)
|
- `folderId` (nanoid, required, auto)
|
||||||
- `slug` (to use in the URL) (string, required)
|
- `slug` (to use in the URL) (string, required)
|
||||||
|
- `displayName` (to display in the UI) (string, required)
|
||||||
- `owner`
|
- `owner`
|
||||||
- `brewIds` (list of shareId)
|
- `brewIds` (list of shareId)
|
||||||
- `createdAt` (auto)
|
- `CreatedAt` (auto)
|
||||||
- `UpdatedAt` (auto)
|
- `UpdatedAt` (auto)
|
||||||
|
|
||||||
#### More substantial data structure
|
#### More substantial data structure
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
These folders should be displayed in the user page of the author of such folder <!-- could be a good idea to be able to copy someone else's folder, which should only copy published brews -->, opening the folder would bring the user to another page with the content of the folder displayed as if it was a user page.
|
These folders should be displayed in the user page of the author of such folder <!-- could be a good idea to be able to copy someone else's folder, which should only copy published brews -->, opening the folder would bring the user to another page with the content of the folder displayed as if it was a user page.
|
||||||
|
|
||||||
So all unpublished files will still be invisible to unauthored accounts<!--although if you are an author you still can't see an unpublished brew, that needs a fix -->, even if they are inside a publicly viewable folder.<!--we could make it so that any folder without any published brew is invisible? -->
|
So all unpublished files will still be invisible to unauthored accounts<!--although if you are an author you still can't see an unpublished brew, that needs a fix -->, even if they are inside a publicly viewable folder.<!--we could make it so that any folder without any published brew is invisible? -->
|
||||||
@@ -76,28 +76,23 @@ are private folders publicly viewable?
|
|||||||
|
|
||||||
- thumnails
|
- thumnails
|
||||||
- tags
|
- tags
|
||||||
- views (useless?)
|
- view counts (useless?)
|
||||||
- systems
|
- systems
|
||||||
- description
|
- description
|
||||||
- brewCount
|
- brewCount
|
||||||
- put someone else's brews into your folder
|
- put someone else's brews into your folder (e.g. faves, bookmarks, public resources)
|
||||||
- folders inside folders?
|
- folders inside folders?
|
||||||
- move brews from folderA to folderB
|
- move brews from folderA to folderB
|
||||||
- ability to hit a button to publish all brews inside
|
- ability to hit a button to publish all brews inside
|
||||||
- folder password
|
- folder password
|
||||||
- folder object could also have a link to a parent-folder (preferable to a list of contained-folders, to avoid loops etc)
|
|
||||||
|
|
||||||
|
- select via a picker UI (not by typing strings, unless we support type-ahead magic)
|
||||||
- select via a picker UI (not by typing strings)
|
|
||||||
- store mongoids in codefenced block - store in the brew itself??
|
|
||||||
- smart and dumb folders - additional properties
|
- smart and dumb folders - additional properties
|
||||||
- plausible deniability if bad password or no password (give me access or give me death aka 404)
|
- plausible deniability if bad password or no password (give me access or give me death aka 404)
|
||||||
|
|
||||||
The brew metadata panel and folder picker UI should only show the folders belonging to that user, but also maintain back-end the other user's folder assignments.
|
The brew metadata panel and folder picker UI should only show the folders belonging to that user, but also maintain back-end the other user's folder assignments. The associating link between brew and folder is not maintained within the brew itself, but in the folder entity.
|
||||||
|
|
||||||
|
We do want to facilitate sharing of folder views. That is, a user could share `/user/erics/friday-game` to his Friday Game participants; or share publicly `/user/erics/monsters` to the world..
|
||||||
|
|
||||||
We do want to facilitate sharing of folder views. That is, a user could share `/user/erics/friday-game` to his Friday Game participants; or share publicly `/user/erics/monsters` to the world (although that might be better served as /user/erics?tags=monsters).
|
|
||||||
|
|
||||||
### Data structure
|
### Data structure
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user