Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

 

Tip
titleHelp us judge the prototype platforms! Add your feedback / opinions to our Evaluation Form

From Jan - Feb 2016, the DSpace UI Working Group has asked each of our prototype teams to present their work in recorded, small group presentations (see Prototype Presentation Schedule below). These sessions are all being recorded an made publicly viewable below.

While this process is going on, anyone in the DSpace community is welcome to add your feedback / opinions on prototypes to our Evaluation Form at:

https://docs.google.com/spreadsheets/d/1XWxEERh0UXCOo7LhocMMaqbY2u4b6oI11oWOjSp_aSQ/edit

We ask that you add your comments (advantages / concerns / questions) to the "Public Comments" section for each prototype. A more formalized call for public feedback will occur once all prototype presentation videos have been made available publicly. The goal is to make a decision on a new UI platform by sometime in mid-to-late March, 2016.

Warning

Next phase of this work (creating the DSpace 7 UI) has moved over to DSpace 7 Working Group (2016-2023)

Note
titleUpdates on UI Selection Process

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:

  1. A Java-based, server-side solution based on Spring Boot. For a sample, see Prototype #1 below.
  2. A Javascript-based, client-side solution using Spring Boot (for server-side components) and likely Angular 2 (for the client-side UI).  Prototypes #7 (and #4) featured client-side UI options, but neither used Angular 2.

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
titleEvaluation Timeline / RoadMap

How did we get here?  Here's the timelines of where we've been and where we are going

  •  Dec 4: DSpace UI Prototype Challenge ends and review period begins
  •  Jan - Feb: Demonstrations/discussions of all submitted prototypes. Video demos and discussions available below
  •  Week of Feb 8-12:  Collect oral and written feedback on prototypes, focusing on "Advantages, Concerns & Questions" (see call for feedback above and our public evaluation form). A public call for feedback will be sent to all mailing lists once all prototype videos are available/posted.
  •  Week of Feb 15-19: Resolve outstanding questions. Select a shortlist of 2-3 architectures for consideration.
  •  Week of Feb 22-26: Select no more than 2 finalist architectures, which might include combinations of technologies from the various prototypes
  •  Week of Feb 29-March 4: Select an architecture for recommendation; validate it against our criteria (see evaluation form). See UI Working Group Summary.
  •  March 16-17: Presentation of recommended architecture to DSpace Steering and Leadership groups at the DuraSpace Summit Meeting for their feedback / approval.
  •  March / April : Extended prototype phase of an Angular 2 prototype as recommended at DuraSpace Summit. A team comprised of several institutions (Texas A&M, @mire, Cineca, DuraSpace) will collaborate on this prototype, and determine its plausibility (as a future UI) and whether it meets our SEO needs.
  •  May / June: Continued prototype (Phase II) of Angular 2 prototype in preparation for a demonstration at Open Repositories 2016
Note
titlePrototype Evaluation Timeline

Update Feb 3, 2016: At this time, all prototypes have all been presented (see Prototype Presentation Schedule below for video recordings / slides), and the UI Working Group (along with DSpace Committers) has begun the evaluation / analysis stage. Below is our (tentative) evaluation timeline:

  • Week of Feb 8-12:  Collect oral and written feedback on prototypes, focusing on "Advantages, Concerns & Questions" (see call for feedback above and our public evaluation form). A public call for feedback will be sent to all mailing lists once all prototype videos are available/posted.
  • Week of Feb 15-19: Resolve outstanding questions. Select a shortlist of 2-3 architectures for consideration.
  • Week of Feb 22-26: Select no more than 2 finalist architectures, which might include combinations of technologies from the various prototypes
  • Week of Feb 29-March 4: Select an architecture for recommendation; validate it against our criteria (see evaluation form)
  • March 16-17: Presentation of recommended architecture to DSpace Steering and Leadership groups at the DuraSpace Summit Meeting for their feedback / approval
    • .

    DSpace User Interface Prototype Challenge

    ...

    Advanced Tables - Table Plus
    heading2
    autoNumbertrue
    enableSortingfalse
    UI Platform / TechnologiesOpen Source License(s)Technology ResourcesPrototype Links / NotesPrototyping Team
    What UI platform/technologies are you prototyping? (e.g. Java Play!, Ruby on Rails, etc)
    What Open Source license(s) is this technology/platform released under?Add links to resources/documentation for any technologies that this prototype uses

    Link to either a public wiki page describing your prototype, or to a public README in GitHub. Keep in mind, your codebase must also be public.

    List your team members

    Anchor
    Prototype1
    Prototype1
    Spring Boot + Thymeleaf

    • Apache 2 (Spring Boot, Thymeleaf)
    • MIT (Bootstrap)

    Tim Donohue

    Anchor
    Prototype2
    Prototype2
    REST + Ruby on Rails

    MIT License (Ruby on Rails)

    Peter Dietz
    Anchor
    Prototype3
    Prototype3
    REST + Play!
    Apache 2 (Play Framwork)Peter Dietz
    Anchor
    Prototype4
    Prototype4
    REST + Ember.js
    MIT License (Ember.js)

    Demo: http://dsember.atmire.com/

    Source code:
    https://github.com/atmire/dsember
    https://github.com/atmire/dsember-core 

    Answers to challenge questions: https://github.com/atmire/dsember/wiki

    Art Lowel (Atmire)

    Anchor
    Prototype5
    Prototype5
    Java API + Jersey + Twirl (in Scala)

    Prototype was withdrawn by its author because of lack of time to work on it.

    • CDDL 1.1 (Jersey)
    • Apache 2.0 (Twirl)

     

    https://github.com/kardeiz/discoJacob Brown (others welcome)
    Anchor
    Prototype6
    Prototype6
    Spring MVC + Spring tags + Spring security + sitemesh + custom extensions
    • Apache 2 (Spring)
    • OpenSymphony
      Compatible with the Apache License (Sitemesh)

    • MIT (Bootstrap)

    This prototype will rely on custom extensions build by Cineca on top of the selected technologies (see https://github.com/Cineca/framework-lite). These extensions aim to speed up the development time providing lot of reusing and configurable components. Source code will be provided as part of the prototype

     

    Source code: https://github.com/Cineca/DSpace/tree/dspace-prototype-ui

    Installation procedure: as a "standard" DSpace 6 JSPUI, details on the README of the project

    Documentation: Cineca UI Prototype - Documentation

    Presentation Slides: cineca-dspace-ui.pptx

    Andrea Bollini (4Science)

    Cineca developers - Luigi Andrea Pascarelli (4Science), Unknown User (r.suardi)

    Anchor
    Prototype7
    Prototype7
    REST + Spring Boot + Angular.js
    • Apache 2 (Spring Boot)
    • MIT (Angular.js, Bootstrap, sass)

    This prototype will leverage an existing Spring Boot and Angular code base that is being used in a variety of recent projects including the next version of the Vireo ETD management system.

    Demo: http://library.tamu.edu/dspace-ui/

    Source: https://github.com/TAMULib/DSpace-UI-prototype

    Angular Frontend SourceUPDATE - Official release of Core UI module: https://github.com/TAMULib/TAMUWeaver-UI-Core

    Spring Webservice SourceUPDATE - Official release of Core Webservice dependency: https://github.com/TAMULib/TAMUWeaver-Webservice-Core

    Slides: DSpace-UI-Prototype-Presentation.pptx

    Texas A&M University Libraries (James Silas Creel)
    Anchor
    Prototype8
    Prototype8
    Rails + Bootstrap
    MIT

    Rails   http://rubyonrails.org/
    Bootstrap  http://getbootstrap.com/

    Levering  gems such as devise for authentication.

    MCM Source Rails App: github.com/akinom/dspace-rails 

    MCM Demo: At Heroku

    EKate Rest Code: github.com/ekate/dspace-rest-rails which leverages the gem active-rest-client

    Ekate Blacklight Code: https://github.com/ekate/blacklight-dspace

    Presentation Slides: @google

    Monika Mevekamp monikam@princeton.edu
    Ekaterina Pechekhonova ekate@nyu.edu

    Anchor
    Prototype9
    Prototype9
    Rails + dspace-rest-client gem

     

    DSpace REST

    Rails

    dspace-rest-client gem ( https://gitlab.c3sl.ufpr.br/c3sl/dspace-rest-client )

    Using the dspace-rest-client gem within rails to very simply and cleanly access dspace objects. In this project I don't deal with parsing json/xml, its all a simple gem library. i.e. @items = @client.items.find(id: => params[:id])

    Peter Dietz

    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.

    ...