Closed zachberry closed 3 years ago
Possible improvement: Instead of having three pages, keep everything contained to one and just modify the range of modules visible at any given time (i.e. start with 10, have a 'show me all of them' button nearby, replace the current range with all modules in a collection after clicking the collection, etc.). This would prevent cumbersome navigation/page loads.
If possible, it would be preferable if collections could be opened/closed for quick browsing or comparison.
Post-demo action items:
[x] In the Collection - Manage Modules interface: when searching for modules, always list all modules that match the filter, but overlay modules that are in the collection already with a gray box and the text 'Already in Collection'.
[x] In the Module - Manage Collections interface: instead of the 'list' area listing only the collections the module is in, have it list all available collections with a check box to the left side that indicates whether the module is in the collection or not. Clicking anywhere within that collection element will act as a toggle. Instead of a select field, have an input field that can be used to filter the collections that show up in the list.
[x] Lock down the '/collections/:id' Express route so that only the owner of the collection can see it for now. Dealing with making collections public will have to be its own future issue.
[x] The collections page should be given its own page with some controls for adding/removing modules, changing the collection name, deleting the collection, etc. and should only be accessible by the owner of the collection. This still technically uses the dashboard code, since they function the same way. Covered the rest of the new requirements, though.
[x] Only show the 'My Collections' area in the default dashboard mode. Omit it entirely when displaying all of a user's modules.
[x] Add sort options to the 'My Collections' area matching those available in the 'My Modules' area.
[x] Storing collection management events: for now, just write relevant events to the log file on disk. Make an issue that we can use to revisit later that'll address saving those events to a database table instead.
[x] Implement a collection filter on the Dashboard in 'recent' mode.
[x] Replace the every-one-looks-the-same folder icon with a snazzy three-hexagon honeycomb icon. Bonus points if it has an API call to generate a unique background pattern per collection like modules do.
Potential future issues:
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We do this to keep our backlog under control, but we thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We do this to keep our backlog under control, but we thank you for your contributions.
The draft list can get pretty unwieldy for a large number of drafts. Need a way to organize these - either by folders, tags, or something that could compartmentalize and hide modules.
Dashboard page changes:
My Modules
heading becomesMy Recent Modules
only displaying 5-10(?) of the most recently updated modules.My Recent Modules
We need a new link or button toAll My Modules
/dashboard/modules
that shows all of a user's modules (basically what the current dashboard page looks like)Private collections (folders)
My Collections
short-uuid
to shorten uuids for use in urls