Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
On the Road to DSpace 7:
Angular UI + REST
Tim Donohue, DuraSpace
Art Lowel, Atmire
Andrea Bollini, 4Science This work is ...
to
From
=
XMLUI
or
or
JavaAPI
JSPUI
(1.x to 6.x)
REST API gear:
https://icons8.com/icon/21895/rest-api
Storage/Backend
From:
= +
JavaAPI
(7.x)
NEW
Storage/Backend
To:
OR2014 OR2015 OR2016 OR2017
We’ve got a 2 UI
problem!
We need a single,
new UI
Angular 2!
On the Road to
DSpace 7
https://...
Coordination
Tim Donohue
DuraSpace
Angular UI
(SubTeam)
Art Lowel
Atmire
REST API
(SubTeam)
Andrea Bollini
4Science
GOAL +...
Why a new REST API?
Covers only a
subset of DSpace
functionality
Not based on current
REST best practices
or standards
Han...
All features must
be in REST API
(for Angular UI)
Defined REST Contract.
HATEOAS, ALPS,
HAL format
Built using Spring tech...
HATEOAS, HAL, & ALPS, oh my!
ALPS = Application Level Profile Semantics
Describes the operations (actions) available for a...
Try it out!
DSpace 7 REST API Demo:
http://dspace7.4science.it/dspace-spring-rest/
(Browse interface provided by the HAL B...
REST API
Demo
● HAL Browser
● Completely
browseable API
● Mostly read-only
Browse Endpoints
(so far)
Why Angular?
Dynamic UI/UX experience
SEO compliant
(verified w/ Google Scholar)
Accessibility support
(verified w/ U of K...
Architecture
Web Browser
Assetstore
Web server
Other webapps
1 Initial Request
2 Return first page, JS
3 Request data via ...
Architecture
Web Browser
Database
Assetstore
Web server
Other webapps
1 Initial Request
2 Return first page, JS
3 Request ...
Current Status
Early stages for both Angular UI and new REST API
❏ Enhanced backend (object store, caching, speed improvem...
DSpace 7 Angular UI demo
https://dspace7-demo.atmire.com/
(uses the REST API demo as backend)
Download & install:
https://...
Early
Prototype
● Basic Homepage
● News & Community
listing (so far)
● No UX/UI design
yet. Base Bootstrap
(design subject...
Early
Prototype
● Basic Community
page
● News & Collection
listing (so far)
● Design subject to
change
Early
Prototype
● Basic Collection
page
● News & Recent
Submissions (so far)
● Design subject to
change
Early
Prototype
● Basic Item page
● Simple view & full
metadata view
● Design subject to
change
Code Contributors (so far)
● Art Lowel (Atmire)
● Giuseppe Digilio (4Science)
● Lotte Hofstede (Atmire)
● William Welling ...
How can I help?
❏ Angular UI developers needed (training avail.)
❏ REST API (Java/Spring) developers needed
❏ UI/UX design...
Claim a ticket and work on it
https://wiki.duraspace.org/display/DSPACE/DSpace
+7+UI+Working+Group
Join us on Slack / Ask ...
★ Dev workshop at OR2017 (yesterday)
★ Dev training at Georgetown’s DSpace User Meeting
(Aug 22-23)
★ More to come...
DSpa...
➢ DSpace 7 functional test plans
➢ Identify use cases to be implemented
➢ Communication / outreach around DSpace 7
➢ Gathe...
★ Become a member and influence product roadmap,
governance and member benefits.
★ Membership also funds coordination
Help...
Questions?
+ =
Slidedeck at https://goo.gl/Hrt4Ct
tdonohue@duraspace.org
On the Road to DSpace 7: Angular UI + REST
Upcoming SlideShare
Loading in …5
×

On the Road to DSpace 7: Angular UI + REST

702 views

Published on

Updates on the DSpace 7 efforts, including status of Angular UI development and new REST API. This presentation was given at the Open Repositories 2017 conference on Wednesday, June 28, 2017 in Brisbane, Australia.

Published in: Software
  • Get access to 16,000 woodworking plans, Download 50 FREE Plans... ◆◆◆ http://ishbv.com/tedsplans/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • There are over 16,000 woodworking plans that comes with step-by-step instructions and detailed photos, Click here to take a look ♥♥♥ http://tinyurl.com/y3hc8gpw
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I recovered from bulimia. You can too! learn more... ★★★ http://tinyurl.com/bulimia2recovery
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • The Bulimia Recovery Program, We Recovered, You CAN TOO! ◆◆◆ http://scamcb.com/bulimiarec/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Get access to 16,000 woodworking plans, Download 50 FREE Plans...  http://tinyurl.com/yy9yh8fu
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

On the Road to DSpace 7: Angular UI + REST

  1. 1. On the Road to DSpace 7: Angular UI + REST Tim Donohue, DuraSpace Art Lowel, Atmire Andrea Bollini, 4Science This work is licensed under a Creative Commons Attribution 2.0 Generic License.
  2. 2. to From
  3. 3. = XMLUI or or JavaAPI JSPUI (1.x to 6.x) REST API gear: https://icons8.com/icon/21895/rest-api Storage/Backend From:
  4. 4. = + JavaAPI (7.x) NEW Storage/Backend To:
  5. 5. OR2014 OR2015 OR2016 OR2017 We’ve got a 2 UI problem! We need a single, new UI Angular 2! On the Road to DSpace 7 https://wiki.duraspace.org/display/DSPACE/Strategic+Planning Strategic Plan & Technical Roadmap Product Survey & Vision Doc UI Prototype Challenge & Angular 2 proof of concept DSpace 6 released & DSpace 7 UI Working Group How did we get here, again?
  6. 6. Coordination Tim Donohue DuraSpace Angular UI (SubTeam) Art Lowel Atmire REST API (SubTeam) Andrea Bollini 4Science GOAL + DSpace 7 UI Working Group NEW https://wiki.duraspace.org/display/DSPACE/ DSpace+7+UI+Working+Group Seeking additional team members!
  7. 7. Why a new REST API? Covers only a subset of DSpace functionality Not based on current REST best practices or standards Handcrafted in Jersey, while most DSpace code uses Spring technologies 4.x - 6.x
  8. 8. All features must be in REST API (for Angular UI) Defined REST Contract. HATEOAS, ALPS, HAL format Built using Spring technologies (Spring Boot, MVC, HATEOAS) 7.x Why a new REST API? https://github.com/DSpace/DSpace/tree/master/dspace-spring-rest Bonus: better third-party app integration!
  9. 9. HATEOAS, HAL, & ALPS, oh my! ALPS = Application Level Profile Semantics Describes the operations (actions) available for all REST endpoints. Almost like metadata about how to interact with the API. HAL Format = Hypertext Application Language (JSON or XML) A standard format for making REST APIs browseable (think HTML for machines). Open source HAL Browser available. RESULT: A standards-based, browseable, self-describing REST API HATEOAS = Hypertext As The Engine Of Application State In each response, include “links” to available next requests. Results in better decoupling, as API is self-describing.
  10. 10. Try it out! DSpace 7 REST API Demo: http://dspace7.4science.it/dspace-spring-rest/ (Browse interface provided by the HAL Browser)
  11. 11. REST API Demo ● HAL Browser ● Completely browseable API ● Mostly read-only Browse Endpoints (so far)
  12. 12. Why Angular? Dynamic UI/UX experience SEO compliant (verified w/ Google Scholar) Accessibility support (verified w/ U of Kansas) Support for users without JS (via Angular Universal) Most widely used JS platform Fun to develop! Separation of concerns (use and improve our REST API) (and TypeScript makes JS more Java / .NET like) Customization friendly (templates are HTML-like, modular) http://angular.io (extensive 3rd party modules)
  13. 13. Architecture Web Browser Assetstore Web server Other webapps 1 Initial Request 2 Return first page, JS 3 Request data via REST 4 Return JSON HTML logo: https://freeiconshop.com/icon/html-icon-outline/ JSON logo: http://www.flaticon.com/free-icon/json-file_136443 Database
  14. 14. Architecture Web Browser Database Assetstore Web server Other webapps 1 Initial Request 2 Return first page, JS 3 Request next page 4 Return next page Javascript Via Angular Universal: https://universal.angular.io/
  15. 15. Current Status Early stages for both Angular UI and new REST API ❏ Enhanced backend (object store, caching, speed improvements) ❏ Browse (Homepage, Community, Collection, Item pages) ❏ Search ❏ Authentication and Authorization ❏ Submission ❏ Approval Workflows ❏ Administration ❏ Statistics GOAL: Angular UI that retains main features of XMLUI and JSPUI } Public collaboration between Hasselt U and 4Science
  16. 16. DSpace 7 Angular UI demo https://dspace7-demo.atmire.com/ (uses the REST API demo as backend) Download & install: https://github.com/DSpace/dspace-angular/ Try it out!
  17. 17. Early Prototype ● Basic Homepage ● News & Community listing (so far) ● No UX/UI design yet. Base Bootstrap (design subject to change)
  18. 18. Early Prototype ● Basic Community page ● News & Collection listing (so far) ● Design subject to change
  19. 19. Early Prototype ● Basic Collection page ● News & Recent Submissions (so far) ● Design subject to change
  20. 20. Early Prototype ● Basic Item page ● Simple view & full metadata view ● Design subject to change
  21. 21. Code Contributors (so far) ● Art Lowel (Atmire) ● Giuseppe Digilio (4Science) ● Lotte Hofstede (Atmire) ● William Welling (Texas A&M) ● Christian Scheible (Universität Konstanz, Germany) ● Matteo Perelli (4Science) ● Àlex Magaz Graça (Universitat de Lleida, Spain) ● Andrea Bollini (4Science) ● Terry Brady (Georgetown) ● Mark Wood (IUPUI) Contributors are ordered by number of GitHub code additions
  22. 22. How can I help? ❏ Angular UI developers needed (training avail.) ❏ REST API (Java/Spring) developers needed ❏ UI/UX design help needed Timeline: DSpace 7 likely in 2018. But, we need your help!
  23. 23. Claim a ticket and work on it https://wiki.duraspace.org/display/DSPACE/DSpace +7+UI+Working+Group Join us on Slack / Ask Questions https://wiki.duraspace.org/display/DSPACE/Slack Join a weekly DSpace 7 WG meeting Every Thursday, 16:00 UTC (reminders via Slack) How can I help, technically?
  24. 24. ★ Dev workshop at OR2017 (yesterday) ★ Dev training at Georgetown’s DSpace User Meeting (Aug 22-23) ★ More to come... DSpace + Angular Dev Training! + =
  25. 25. ➢ DSpace 7 functional test plans ➢ Identify use cases to be implemented ➢ Communication / outreach around DSpace 7 ➢ Gather UI/UX design inspiration How can I help, non-technically? Meet bi-weekly. Led by Carol Minton Morris (DuraSpace) Join the DSpace 7 Outreach Group! https://wiki.duraspace.org/display/DSPACE/DSpace+7+UI+Outreach+Group
  26. 26. ★ Become a member and influence product roadmap, governance and member benefits. ★ Membership also funds coordination Help by becoming a member! DSpace is funded / developed / supported by its community.
  27. 27. Questions? + = Slidedeck at https://goo.gl/Hrt4Ct tdonohue@duraspace.org

×