Page History
Table of Contents
DSpace User Interface Prototype Challenge
Info |
---|
Help us discover the technology/platform for our new user interface (UI) for DSpace! Create a prototype UI on a platform of your choice (in any programming language), with basic DSpace-like capabilities as described below. The goal of a UI prototype is to exercise a new UI technology/platform to see whether it would meet the needs of our DSpace community.
Good luck! The full guidelines / requirements are included below. |
Guidelines
Prototypes are due by Friday, Dec 4. Please sign up below to register your prototype (and possibly find collaborators).
Do not spend more than 80 hours total per prototype!
Use the REST API or DSpace Java API (v5 or pre-6) when accessing DSpace content. Direct database or bitstream file system access is not allowed.
Use Bootstrap or emulate the existing XMLUI Mirage2 theme . Prototype UI design will not be a major factor in the decision, so keep it simple. Focus on functionality over fancy UI look and feel.
Make sure the prototype is “developer friendly”: keep the code readable and understandable at this early point. Keep the code DRY (Don’t Repeat Yourself), but don’t overdo it.
Make all code publicly available on GitHub, along with installation instructions. A publicly accessible demo is also nice but not required.
- Documentation may be provided as a GitHub README, or via a publicly accessible Wiki page (feel free to use the DSpace Wiki).
Features that can’t be implemented in 80 hours or features not mentioned below may be mocked up or wireframed. But again, please don’t spend more than 80 hours.
NOTE: We will be evaluating the fit of the prototype’s platform and not the flashiness or even completeness of the prototype itself. For example, an incomplete prototype revealing a lot of potential for the platform may be preferable to a complete prototype that reveals platform-level limitations .
Prototype Scope
The following features should be implemented or mocked up in all prototypes. These basic features are meant to "exercise" some very basic DSpace UI needs within the selected UI platform/technologies.
User Interface Layout: The prototype UI should also fulfill these general layout requirements :
The prototype should have a header and a footer.
The prototype should have something to help an end user keep track of their location in the system (e.g., a breadcrumb trail).
The prototype should have a menu or sidebar that contains context-sensitive options.
The prototype should allow users to go to the main locations in the system using a url: the browser history, back, and previous buttons, should all work.
The prototype should display and function well on screens of all sizes (responsive / mobile friendly, not native mobile).
Simple Item View: The prototype should have an equivalent of a simple item view, which displays key metadata about the item, along with links to downloadable files.
Community / Collection View: The prototype should have an equivalent to a Community/Collection view page, which displays key metadata about a community or collection
Browse Navigation: The prototype should allow basic browse navigation of communities and collections and items.
Authentication: Users should be able to authenticate themselves via simple password authentication.
Authorization: A very basic example of authorization operations should be supported. For example, only allow editing of items to authenticated users in the Administrator group.
Edit/Create Item: The prototype should offer a basic capability to edit or create items via a simple web form. (Please no submission workflows as that is out of scope!) A single page form can serve both edit and create purposes. Not all metadata fields need be included, we are just looking for a simple example of a web form, including the ability to upload a file.
Customization Capabilities
A new DSpace UI should allow for the following common UI customization options. Based on your prototype, please either show an example of how these may be achieved in this UI platform or describe them via documentation .
Show or describe how an administrator would be able to easily adjust the site wide theme layout based on local design/needs. Specifically, show or describe how the following changes might be achieved:
How would someone change the colors, fonts, sizes of the site? (e.g. css changes)
How would someone modify the sitewide header/footer? (e.g. to change logo, title, etc)
How would someone adjust the navigation bar to appear on left or right?
How would someone change the location of the breadcrumb trail (e.g. from header to footer)?
How would someone display additional metadata fields on the Item view page? For example, displaying “dc.publisher” on the default Item view site wide?
How would someone add new links or an entire section to the navigation menu (e.g. links to other university pages)?
Modularization Capabilities
A new DSpace UI should allow for / support common modularization needs. Based on your prototype, please describe (via documentation) how you feel this UI platform may (or may not) be able to achieve the modularization examples below:
How could this UI platform support optional modules/features?
For example, Embargo is an existing optional feature within DSpace. While it is disabled by default, many sites choose to enable it.
Enabling Embargo functionality requires additional metadata fields to be captured in the deposit form (e.g. embargo date, embargo reason).
Does this UI framework support the idea of easily enabling (or disabling) features that require UI-level changes? In other words, in this framework, do you feel enabling Embargo functionality could be automated via a configuration (e.g. embargo.enabled=true)? Or would it require manual editing of the deposit form to add additional metadata fields?
How could this UI platform support new extensions/add-ons?
Assume that someone has created a new Streaming feature for DSpace which provides a streaming capability for Video/Audio content. How might this UI platform support overriding/overlaying the default Item View to make that streaming feature available?
Prototype Documentation
Each prototype MUST be submitted with the following documentation. Some of this documentation includes brainstorms on how you feel this prototype or UI platform might be extended to support more advanced UI features. Please base your answers on what you know (or have learned) about this UI platform during the prototyping process.
Describe the design of the prototype (e.g. technologies/platforms used, including version of DSpace, etc.)?
How do you install the prototype on a new system? (Note: we will be testing the installation of prototypes in order to evaluate the installation of the platform itself)
How would you envision i18n (internationalization) support could be added to this UI prototype/platform in the future?
How would you envision theming capabilities could be added to this UI prototype/platform in the future? In other words, how might local or third-party themes be installed or managed? Think of a theme as a collection of styles, fonts, logo, and page overrides.
How would you envision supporting common DSpace authentication mechanisms (e.g. LDAP, Shibboleth) in this UI prototype/platform in the future?
Out of Scope
The following DSpace features should be considered out-of-scope, and need NOT be implemented in prototypes. No bonus will be given for implementing any of these features:
Search capabilities (especially via Solr)
Submission or Approval Workflows.
Administrative UI
Any other DSpace features not specifically mentioned in the “Prototype Scope” section above.
Prototype Sign-Up
Advanced Tables - Table Plus | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Prototype Evaluation Process
The DSpace UI Working Group will be working with prototype developers to schedule a recorded Q&A discussion for each prototype (starting in January 2016). These Q&A session recordings will be made publicly available on this wiki page.
The Working Group has also create a public Prototype Evaluation Form, where all individual or group evaluations will be recorded. Individuals are also welcome to provide your feedback on specific prototypes via this Evaluation Form. The Evaluation Form is a Google Spreadsheet, where each prototype has its own tab for feedback/evaluation:
- Prototype Evaluation Form: https://docs.google.com/spreadsheets/d/1XWxEERh0UXCOo7LhocMMaqbY2u4b6oI11oWOjSp_aSQ/edit
Prototype Presentation Schedule
Prototype developers/presenters: Please enter your name and Prototype # from the above table into an available time slot:
Warning |
---|
Next phase of this work (creating the DSpace 7 UI) has moved over to DSpace 7 Working Group (2016-2023) |
Note | ||
---|---|---|
| ||
Update June 20, 2016: The selection of the Angular 2 UI platform was announced and the proof-of-concept Angular 2 UI was demoed at the Open Repositories conference in Dublin.
Update May/June, 2016: We are now providing video updates on the Angular 2 UI prototype. Please visit our YouTube Playlist to catch up on all the updates. At the Open Repositories conference in Dublin, we will also be providing a live update and demonstration during the "You heard it here first" session on Weds, June 15 at 2:00pm. Update April, 2016: The extended prototype on Angular 2 (see below) has begun at:
Update March 24, 2016: After detailed discussion of all prototypes, public feedback, etc, the UI Working Group has written a detailed Summary of options / discussions:
As detailed in this document, the UI architecture has been narrowed down to two options under consideration:
At the DuraSpace Summit (March 16-17), these options were discussed with attendees from the DSpace Steering and Leadership groups. During that discussion, it was decided that we would move forward with an extended prototype of the client-side solution featuring Angular 2. As noted, none of our original prototypes used Angular 2 (though one did use Angular 1). Yet, Angular 2 has great interest in that it claims to solve the major SEO (search engine optimization) shortcomings of Angular 1. All original client-side prototypes (#7 and #4) had these SEO shortcomings, which made it difficult to judge their capabilities as a future DSpace UI. The extended prototype phase will move into May. At that time, a final decision between the two platforms will be made. |
Info | ||
---|---|---|
| ||
How did we get here? Here's the timelines of where we've been and where we are going
|
DSpace User Interface Prototype Challenge
Info |
---|
Help us discover the technology/platform for our new user interface (UI) for DSpace! Create a prototype UI on a platform of your choice (in any programming language), with basic DSpace-like capabilities as described below. The goal of a UI prototype is to exercise a new UI technology/platform to see whether it would meet the needs of our DSpace community.
Good luck! The full guidelines / requirements are included below. |
Guidelines
Prototypes are due by Friday, Dec 4. Please sign up below to register your prototype (and possibly find collaborators).
Do not spend more than 80 hours total per prototype!
Use the REST API or DSpace Java API (v5 or pre-6) when accessing DSpace content. Direct database or bitstream file system access is not allowed.
Use Bootstrap or emulate the existing XMLUI Mirage2 theme . Prototype UI design will not be a major factor in the decision, so keep it simple. Focus on functionality over fancy UI look and feel.
Make sure the prototype is “developer friendly”: keep the code readable and understandable at this early point. Keep the code DRY (Don’t Repeat Yourself), but don’t overdo it.
Make all code publicly available on GitHub, along with installation instructions. A publicly accessible demo is also nice but not required.
- Documentation may be provided as a GitHub README, or via a publicly accessible Wiki page (feel free to use the DSpace Wiki).
Features that can’t be implemented in 80 hours or features not mentioned below may be mocked up or wireframed. But again, please don’t spend more than 80 hours.
NOTE: We will be evaluating the fit of the prototype’s platform and not the flashiness or even completeness of the prototype itself. For example, an incomplete prototype revealing a lot of potential for the platform may be preferable to a complete prototype that reveals platform-level limitations .
Prototype Scope
The following features should be implemented or mocked up in all prototypes. These basic features are meant to "exercise" some very basic DSpace UI needs within the selected UI platform/technologies.
User Interface Layout: The prototype UI should also fulfill these general layout requirements :
The prototype should have a header and a footer.
The prototype should have something to help an end user keep track of their location in the system (e.g., a breadcrumb trail).
The prototype should have a menu or sidebar that contains context-sensitive options.
The prototype should allow users to go to the main locations in the system using a url: the browser history, back, and previous buttons, should all work.
The prototype should display and function well on screens of all sizes (responsive / mobile friendly, not native mobile).
Simple Item View: The prototype should have an equivalent of a simple item view, which displays key metadata about the item, along with links to downloadable files.
Community / Collection View: The prototype should have an equivalent to a Community/Collection view page, which displays key metadata about a community or collection
Browse Navigation: The prototype should allow basic browse navigation of communities and collections and items.
Authentication: Users should be able to authenticate themselves via simple password authentication.
Authorization: A very basic example of authorization operations should be supported. For example, only allow editing of items to authenticated users in the Administrator group.
Edit/Create Item: The prototype should offer a basic capability to edit or create items via a simple web form. (Please no submission workflows as that is out of scope!) A single page form can serve both edit and create purposes. Not all metadata fields need be included, we are just looking for a simple example of a web form, including the ability to upload a file.
Customization Capabilities
A new DSpace UI should allow for the following common UI customization options. Based on your prototype, please either show an example of how these may be achieved in this UI platform or describe them via documentation .
Show or describe how an administrator would be able to easily adjust the site wide theme layout based on local design/needs. Specifically, show or describe how the following changes might be achieved:
How would someone change the colors, fonts, sizes of the site? (e.g. css changes)
How would someone modify the sitewide header/footer? (e.g. to change logo, title, etc)
How would someone adjust the navigation bar to appear on left or right?
How would someone change the location of the breadcrumb trail (e.g. from header to footer)?
How would someone display additional metadata fields on the Item view page? For example, displaying “dc.publisher” on the default Item view site wide?
How would someone add new links or an entire section to the navigation menu (e.g. links to other university pages)?
Modularization Capabilities
A new DSpace UI should allow for / support common modularization needs. Based on your prototype, please describe (via documentation) how you feel this UI platform may (or may not) be able to achieve the modularization examples below:
How could this UI platform support optional modules/features?
For example, Embargo is an existing optional feature within DSpace. While it is disabled by default, many sites choose to enable it.
Enabling Embargo functionality requires additional metadata fields to be captured in the deposit form (e.g. embargo date, embargo reason).
Does this UI framework support the idea of easily enabling (or disabling) features that require UI-level changes? In other words, in this framework, do you feel enabling Embargo functionality could be automated via a configuration (e.g. embargo.enabled=true)? Or would it require manual editing of the deposit form to add additional metadata fields?
How could this UI platform support new extensions/add-ons?
Assume that someone has created a new Streaming feature for DSpace which provides a streaming capability for Video/Audio content. How might this UI platform support overriding/overlaying the default Item View to make that streaming feature available?
Prototype Documentation
Each prototype MUST be submitted with the following documentation. Some of this documentation includes brainstorms on how you feel this prototype or UI platform might be extended to support more advanced UI features. Please base your answers on what you know (or have learned) about this UI platform during the prototyping process.
Describe the design of the prototype (e.g. technologies/platforms used, including version of DSpace, etc.)?
How do you install the prototype on a new system? (Note: we will be testing the installation of prototypes in order to evaluate the installation of the platform itself)
How would you envision i18n (internationalization) support could be added to this UI prototype/platform in the future?
How would you envision theming capabilities could be added to this UI prototype/platform in the future? In other words, how might local or third-party themes be installed or managed? Think of a theme as a collection of styles, fonts, logo, and page overrides.
How would you envision supporting common DSpace authentication mechanisms (e.g. LDAP, Shibboleth) in this UI prototype/platform in the future?
Out of Scope
The following DSpace features should be considered out-of-scope, and need NOT be implemented in prototypes. No bonus will be given for implementing any of these features:
Search capabilities (especially via Solr)
Submission or Approval Workflows.
Administrative UI
Any other DSpace features not specifically mentioned in the “Prototype Scope” section above.
Prototype Sign-Up
Advanced Tables - Table Plus | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Prototype Evaluation Process
The DSpace UI Prototype Working Group (2015-16) will be working with prototype developers to schedule a recorded Q&A discussion for each prototype (starting in January 2016). These Q&A session recordings will be made publicly available on this wiki page.
The Working Group has also create a public Prototype Evaluation Form, where all individual or group evaluations will be recorded. Individuals are also welcome to provide your feedback on specific prototypes via this Evaluation Form. The Evaluation Form is a Google Spreadsheet, where each prototype has its own tab for feedback/evaluation:
- Prototype Evaluation Form: https://docs.google.com/spreadsheets/d/1XWxEERh0UXCOo7LhocMMaqbY2u4b6oI11oWOjSp_aSQ/edit
Prototype Presentation Schedule
Info | ||
---|---|---|
| ||
Anyone is welcome to enter your personal (or team) evaluation for any of the Prototypes in our public Prototype Evaluation Form. Each prototype has a separate evaluation tab in this form. We ask that you add your comments (advantages / concerns / questions) to the "Public Comments" section for each prototype. https://docs.google.com/spreadsheets/d/1XWxEERh0UXCOo7LhocMMaqbY2u4b6oI11oWOjSp_aSQ/edit |
Date/Time | Team/Presenter | Prototype # | Recording of Session | ||||
---|---|---|---|---|---|---|---|
Thurs., Jan 14, 10:00am EST | Art Lowel (Atmire) | #4 (REST + Ember.js) |
(NOTE: We encountered technical difficulties during the live session, and the original recording had no audio. Therefore, the above video is a demo/screencast recorded by Art at a later time.) Presentation Slides: http://www.slideshare.net/bramluyten/dspace-ui-prototype-dsember | ||||
Mon., Jan 18, 10:00am EST | Peter Dietz | #2 (REST + Ruby on Rails), |
| ||||
Thurs., Jan 21, 10:00am EST | Texas A&M Libraries (James Silas Creel) | #7 (REST + Spring Boot + Angular.js) |
Presentation Slides: DSpace-UI-Prototype-Presentation.pptx | ||||
Mon., Jan 25, 10:00am EST | Monika Mevenkamp, Ekaterina Pechekhonovarina | #8 (Rails + Bootstrap) |
Presentation Slides: @google | ||||
Thurs., Jan 28, 10:00am EST | #6 (Spring MVC + Spring tags + Spring security + sitemesh + custom extensions) |
Presentation Slides: cineca-dspace-ui.pptx | |||||
Monday, Feb 1, 10:00am EST | Tim Donohue | #1 (Spring Boot + Thymeleaf) |
Presentation Slides: http://www.slideshare.net/tdonohue/dspace-ui-prototype-challenge-spring-boot-thymeleaf | ||||
Prototype was withdrawn by its author because of lack of time to work on it. | |||||||
Date/Time | Team/Presenter | Prototype # | |||||
Thurs., Jan 14, 10:00am EST | Art Lowel (Atmire) | 4 | |||||
Mon., Jan 18, 10:00am EST | |||||||
Thurs., Jan 21, 10:00am EST | |||||||
Mon., Jan 25, 10:00am EST | Monika Mevenkamp, Kate Ekaterina | 8 | |||||
Thurs., Jan 28, 10:00am EST | 6 | ||||||
Monday, Feb 1, 10:00am EST |