Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: ngx translate link update


Info
titleWorkshop/training materials available

Update June 2017: A DSpace Angular UI workshop was held at OR2017. This workshop provided an basic overview of the Angular framework, along with hands-on exercises for all attendees. All workshop materials are available online at: OR2017 DSpace Angular Workshop.

The new DSpace UI developer team decided to implement the new user interface with the  Angular2 is being implemented on the widely used Angular client side framework. In addition to delivering a more responsive user experience,  client side frameworks allows allow for a more rapid development cycle. Angular is widely used and SEO

 

 

Angular is widely used, has To ensure that the resulting user interface will still be able to be indexed by search engines

 

Learning Resources

General

Typescript

The UI code is built in TypeScript, a typed super set of JavaScript, that was developed specifically for the implementation of sizable web applications. In fact Angular itself is developed in TypeScript.

The UI works with the DSpace REST API to access and modify data. It relies on RxJS  to manage control flow which is driven by the (asynchronous) communication between the two applications The @ngrx package helps maintain a predictable state representation.

The new UI uses Angular Universal to render initial page requests on the server side,  which greatly improves the initial page load time. As a nice benefit, search engines requesting pages do not have to deal with client side page rendering. Crawlers working through a list of URLs will always be presented with a page rendered on the server.

Node.js is the server technology used with JavaScript web application and thus with Angular.  As an asynchronous event driven JavaScript runtime, Node is designed to build scalable network applications like web based user interfaces. 

Npm stands for Node Package Manager. In fact installation instruction for the user interface at GitHub essentially consist of the command 'npm install',  followed by 'npm start' to start a local server.

Typescript

RXJS

RxJS is used as part of angular 2 to deal with asynchronous data. A good grasp of RxJS is essential to write robust angular 2 code.

Universal

Universal is the angular sub-project that allows for angular apps to be rendered server-side

Angular

Other Packages

Node.js and Npm

Angular Universal

Redux

Redux is a set of design-patterns to manage state in a javascript application. 

...

Additional DSpace 7 Resources

Children Display

...