alterm4nn / ChronoZoom

ChronoZoom is an interactive timeline for all of history.
http://www.chronozoom.com
156 stars 124 forks source link

Multiple Collections #1354

Closed NeilCresswell closed 9 years ago

NeilCresswell commented 9 years ago

Users can now create and delete multiple collections, and give their collections titles/names including spaces and punctuation. The assumptions that the user's collection or default collection is always the same as their user name or super-collection name has been removed. We also now store a URL-friendly part of the URL that represents the path from the super-collection to the collection separately from the title of the collection.

Once logged in, the user can add a new collection via their "My ChronoZoom" panel by clicking on the new "+" icon. Instead of displaying each and every timeline for the user under a "My Timelines" heading, a list of the user's collections is displayed under the "My Collections" heading, followed by a list of other collections where the user has edit rights too. The user can click on one of these list items to go straight to that collection.

The user or someone with edit rights can change the title of their collection or delete their collection (if it's not the only one or default collection) by clicking on the collection settings icon (pencil at the bottom left, beneath the outermost timeline.) When a collection's title is changed, the outermost timeline's title is also changed to match, but this can be edited afterwards, so the timeline can have a different title to the collection.

While working on the schema to create different fields for collection paths and titles, etc., some tightening up of the db schema was also implemented, such as marking required fields as required and decreasing the length of titles from thousands of characters to more practical levels that fit what is in production. EntityFramework.Extended was also added to the project to aid with multiple deletions and other batch tasks.

NeilCresswell commented 9 years ago

Also implemented jQuery-based color picker for the Customize Collections panel, which replaces the browser's native color picker. On some browsers, the native color picker is unfriendly, requiring entry of hex codes without displaying corresponding colors.

NeilCresswell commented 9 years ago

Also implemented jQuery-based opacity range slider for the Customize Collections panel, which replaces the browser's native range slider. On some browsers, the native range slider looks very messy and it's not obvious that it is a slider control.

NeilCresswell commented 9 years ago

Another small change included: Made tour icons/thumbnails clickable in the list of tours panel.

NeilCresswell commented 9 years ago
  1. Added display of collection title to right of the Customize Collection button (if user has edit rights.)
  2. Added hover-over hint for Customize Collection button.
  3. Changed page title from root timeline title (outermost timeline title) to collection title.
NeilCresswell commented 9 years ago
  1. Fixed page title. Was showing default collection title rather than current collection title, (which might not be the default collection.)
  2. Included minor change request that new collections added by users no longer default to being publicly searchable.
NeilCresswell commented 9 years ago

Implemented requested SQL change to make all existing collections not publicly searchable, except for Cosmos, AIDSTimeline, and, on www.chronozoom.com, the collections that are included in featured timelines. If a new database is created, the auto-populated data (Cosmos and AIDS Timeline) will be searchable.

All of the exceptions are set to publicly searchable.