Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

General

How to contribute

Prerequisites

  • You'll need to be in the dspace-angular github team to get the required access. Send your github username to Art Lowel (Atmire) to get an invite.
  • Fork the repository on Github

Workflow

  • Have a look at the project board

  • Take an issue that’s in the ready section and has nobody assigned to it

  • assign yourself

  • When you start working on it, move the issue to the “in progress” section

  • Work on a separate branch for the issue on your fork

  • When you’re ready, fire a pull request
  • in the comments of the pull request, write something akin to “this PR connect’s to #{the ID of the issue}”. That way the issue will be moved automatically to the review column.

  • When at least two people have reviewed and approved your PR, it can be merged in master.

  • You can also help out by reviewing the pull requests of other people

  • Please keep an eye on your pull request afterwards, the reviewers may have questions or comments about it, or ask you to tackle things in a different way, before they can approve it

  • Most discussions about the task or the pull request can happen through the github & project board comments.

  • If it’s more complex you can bring it up in one of these meetings.

  • After your Pull Request has been merged, drag the issue to the done column on the project board. (this can also be automated by adding “this merge closes #{the id of the issue}” in the merge comment.

Learning Resources

General

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

Redux

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

  • The concepts are explained clearly, though independently from angular in the main redux docs
  • There is also a great free video course on egghead
  • @ngrx is an implementation of Redux for Angular 2 using RxJS
  • Ducks is a way to structure redux applications to keep them as modular as possible that works well in practice.
  • No labels