Description

Angular is a popular Javascript framework for creating browser based applications. With Angular Universal, it has the capability of server side rendering for clients without Javascript enabled - including search engines.

Angular is gaining traction amongst open source projects - see DSpace 7 development of a new UI.

Implementing MVC within Javascript has a lot of potential for us to make it easier for sites to customise the UI, pulling data as required, whilst also improving scalability of pages that may contain many hundreds of elements (a profile page with many publications).

Reason

As a Javascript framework, data is typically supplied in json format. For most applications, this would be a Json serialization of an internal object model. However, in Vitro / VIVO, the domain model is not expressed in code. It is simply a collection of triples that conform to the VIVO-ISF ontology.

We can serialise the triples to JSON-LD, but that potentially exposes a level of complexity to the Angular application that will hamper front end development.

The purpose of this experiment is to demonstrate how easy or complex it would be to deal with JSON-LD in an Angular front end.

Goals

  1. Create a demonstration page fed by JSON-LD - e.g. a person with publications
  2. Determine how developer-friendly the use of a JSON-LD model is