Versions Compared

Key

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

...

UI FrameworkLanguages / TechnologiesWidely Adopted?Ease of CustomizationResponsive web design supportHTML5 supportREST-friendlyFaceted/Filtered Search/Browse friendlyRapid Development friendlyThird-party plugin ecosystemNotes
Existing DSpace XMLUIJava, Apache Cocoon, XSLTNoNot really (except maybe at Bootstrap level with Mirage2)

Mirage 2 theme = Yes

Other themes = No

NoNoYesNoNo 
 

Personal opinions on DSpace XMLUI:

  • Tim Donohue: My personal opinion is that XMLUI should not be the choice going forward as it is based on an outdated, nearly obsolete framework (Apache Cocoon). In my opinion, it would require abandoning Apache Cocoon to be in consideration.
  • Graham Triggs Drawbacks are size of the framework, complexity of the framework, lack of adoption and support for Apache Cocoon.
Existing DSpace JSPUIJava, JSPsNoNot really (again, except maybe at Bootstrap level with Mirage2)YesA few areas (e.g .HTML5 upload), but not overallNoYesNoNo 
 

Personal opinions on DSpace JSPUI:

  • Tim Donohue : My personal opinion is that JSPUI should not be the choice going forward, as its codebase is extremely dated and not easy to work with (despite the recent UI redesign). In my opinion, it would require a major overhaul to be in consideration. To be clear, this doesn't mean JSPUI is "dead", just that'd it'd need a lot of cleanup work / redesign if we want to go this route.
  • Graham Triggs A rewrite would be essential - preferably moving away from JSP to a templating engine, even if not using a recognized MVC framework. However, the benefits of being based on a widely known technology and having a small footprint are apparent.
Play! FrameworkJava, ScalaYes, some major sites use it according to Wikipedia Yes, can be used with Bootstrap   YesYes, has a modules repository 
 

Personal opinions on Play Framework:

  • Graham Triggs I had a brief play with it a while ago. It's a neat technology, but has drawbacks in being more tailored to Scala than Java, and lacking documentation. It's also very dependent on using the Play toolset, even though in the background it can use Maven to manage dependencies, there would be a lack of synergy between front end and back end development, which might be an issue.
Spring BootJava         
 

Personal opinions on Spring Boot:

  • Graham Triggs Initial tests are quite positive. Obviously integrates very well with the Spring ecosystem, yet you can easily create a 'standard' Maven project for the application. Uses many templating engines (my preference is for Freemarker).
Ruby on RailsRubyYes Yes, has a Rails Bootstrap app, plus many gems   YesYes, in form of Rails plugins & Ruby gems 
 

Personal opinions on Ruby on Rails:

  • Graham Triggs Clean separation of front end and back end (via REST calls), will add latency and may cause problems for switching between front and back end development. Also, hosting concerns (JRuby vs separate Ruby and Java containers)
Hydra FrameworkRuby on Rails, Fedora, Blacklight

Not worldwide, but has a growing following in libraries, etc.

The base technology, Ruby on Rails is widely adopted

 Yes (well, Sufia uses Bootstrap) Yes (uses REST to communicate with Fedora)Yes (Blacklight)YesYes, because it's Ruby on Rails, you often can use Rails plugins and/or Ruby gems

Hydra doesn't currently "work" with DSpace.

It would likely be a major endeavor to either migrate DSpace into a "Hydra Head" web application or "port" Hydra as a UI on top of DSpace's underlying architecture.

However, if we decided on the former (create a DSpace-like Hydra Head), there are members of the Hydra Community who are currently striving to do that same thing.

 

Personal opinions on Hydra:

GrailsGroovy (based on Java)Yes, large number of sites using Grails listed on website Yes, has several Bootstrap plugins   YesYes, has a plugins repository 
 

Personal opinions on Grails:

  • Graham Triggs Pivotal (the main commercial developer) has recently announced that it is no longer sponsoring Groovy / Grails. This is apparently because of an increasing amount of community support, however, it may point to concerns in the future.
JQuery UIJavascriptYes Yes, e.g. there is a JQuery UI theme for Bootstrap Yes  Yes, has a plugin repository 
 

Personal opinions on JQuery UI:

Backbone.js

(Javascript with RESTful JSON interface & Model-View-Presenter)

JavascriptYes, large number of major sites listed on Wikipedia & their homepage Yes, or at least you can use it in conjunction with Bootstrap. Yes YesYes, has plugins and extensionsDesigned for developing "single page web applications". It could prove difficult to use with DSpace because of the complexity of a repository system.
 

Personal opinions on Backbone.js:

  • Art Lowel (Atmire) Backbone is too low level imo. You still have to write a lot of boilerplate code yourself. We should probably replace it with one of the more modern JS MV* frameworks as alternatives to ember js, like angular, knockout or react

Ember.js

(Client-side Javascript web application using MVC)

JavascriptYes, see their list of users on website Yes, can use in conjunction with Bootstrap, e.g. https://indexiatech.github.io/ember-components/#/overview Yes YesYes, there's an "addon" repositoryUses Grunt, Bower, NPM (all of which are also in use by Mirage 2 theme)
 

Personal opinions on Ember.js:

  • Art Lowel (Atmire) Ember is very "opinionated" which is great to guide you in to using best practices to solve common problems. But it can get tricky if you need to solve an uncommon problem and you have to fight the system to make it work. However I'd like to add a +1 for ember.

...