Date
Goals
  • Make a number of decisions about the structure, build tools, ways of working, etc.

 

Detailed note for the Angular 2 UI meeting (1st hour)

Seed Project & build tools

Description

 

Conclusions

Testing

Description


Conclusions

i18n

Description

Conclusions

CSS

Description

Conclusions

Storing state & Data Abstraction Layer

Description

Conclusions

 

UI Style Guide

Description

Conclusions

Misc

Description

Conclusions

 

Detailed note for the new REST API meeting (2nd hour)

REST API Contract

We agree about the opportunity to base our work on a clear contract document to enable the Angular 2 team to work on mockup services and provide early feedback without the need to wait for a full implementation on our side. We have discussed about the best way to share the documentation and receive feedback and we have agreed to stay as much as possible close to the official DSpace channels to keep all the community involved. Concretely this mean that:

As good example of well documented REST API contract we will look to

At minimum the REST API contract needs:

Backward compatibility

We discussed about the need to guarantee compatibility across new version of the REST API both in regards to DSpace 6 vs DSpace 7 than DSpace 7 vs DSpace 7+. The general agreement was to keep in place support for the DSpace 6 REST API for at least 1 version (so in some way deprecate the current REST API in DSpace 7) as a separate webapp build out-of-box in DSpace 7.

The new REST API should be structured in a way that new version are additive in information and functionalities so that the impact on the client is minimal and, when the client is properly programmed ignoring unknown information, new version of the new REST API are fully backward compatible.

Design decision

We agree to implement support for the HateOAS paradigm. We need to take a decision about the specific hypermedia format to use to keep the new API consistent and easy to use by client developers. Candidates are as follow

HAL is supported out-of-box by the Spring Data REST project that looks as one of the most interesting framework to use to build the new REST API. JSONAPI looks as the most advanced standard and it is originated by the ember community.

Framework to evaluate

We want to keep the development of DSpace as effective and sustainable as possible. To do that we need to pick technologies and framework that play nicely together with no or minimal effort from the DSpace developers (focus on developing DSpace not the framework) in this regards we are looking to the solution provided in the Spring family

Other potential goals

We have discussed about

Next steps

Make experiments with the proposed frameworks

Some PRs should be prepared to 

Prepare an exhaustive list of functionalities that need to be exposed over the REST API staring from the need for the next Angular 2 UI milestone (Browse)

List current known limitation of the DSpace REST API