Skip to content

Latest commit

 

History

History
154 lines (110 loc) · 5.77 KB

File metadata and controls

154 lines (110 loc) · 5.77 KB

Contributing to VTS-Browser-JS

The Melown VTS-Browser-JS project openly welcomes contributions (bug reports, bug fixes, code enhancements/features, etc.). This document will outline some guidelines on contributing to VTS-Browser-JS. As well, the Melown is a great place to get an idea of how to connect and participate in the Melown community and development.

VTS-Browser-JS has the following modes of contribution:

  • GitHub Commit Access (granted to long-term core developers)
  • GitHub Pull Requests (accepted and moderated by contributors with git write access)

Code of Conduct

Contributors to this project are expected to act respectfully towards others in accordance with the [Melown Code of Conduct MISSING](MISSING LINK)

Communication

Main communication happens via GitHub project issues and pull requests.

Contributions and Licensing

Contributors are asked to confirm that they comply with the project license guidelines.

We are using CLAHub service for managing of the contribution agreements.

GitHub Commit Access

  • proposals to provide developers with GitHub commit access shall be emailed to the one of VTS-Browser-JS core developers. Proposals shall be approved by the VTS-Browser-JS development team. Committers shall be added by the project admin.
  • removal of commit access shall be handled in the same manner
  • each committer must confirm Contributor Agreement at our CLAHub. This is only required once

GitHub Pull Requests

  • pull requests can provide agreement to license guidelines as text at our CLAHub. This is only required for a contributor's first pull request. Subsequent pull requests do not require this step
  • unclaimed copyright, by default, is assigned to the main copyright holders as specified in LICENSE

GitHub

Code, tests, documentation, wiki and issue tracking are all managed on GitHub. Make sure you have a GitHub account.

Code Overview

NOTE: More detailed description of code structure is missing right now. We are aware of this issue and will try to improve the documentation in the future.

VTS-Browser-JS consists of 2 main parts: the core and the browser. The source code is stored in src/ directory. Core provides the core 3D data rendering functionality. Browser adds standard map browser GUI functions, such as zooming, panning, search and other.

Documentation

NOTE: More detailed description of code structure is missing right now. We are aware of this issue and will try to improve the documentation in the future.

Bugs

The VTS-Browser-JS issue tracker is the place to report bugs or request enhancements. To submit a bug be sure to specify the VTS-Browser-JS version you are using, the appropriate component, a description of how to reproduce the bug. Please note, that we are going to reproduce the bug on the development server (see README.md for how to start dev server).

Forking Melown

Contributions are most easily managed via GitHub pull requests. Fork VTS-Browser-JS into your own GitHub repository to be able to commit your work and submit pull requests.

Development

GitHub Commit Guidelines

  • enhancements and bug fixes should be identified with a GitHub issue
  • commits should be granular enough for other developers to understand the nature / implications of the change(s). You might be asked to merge commints, so that other developers are able to understand commit content.
  • non-trivial Git commits shall be associated with a GitHub issue. As documentation can always be improved, tickets need not be opened for improving the docs
  • Git commits shall include a description of changes
  • Git commits shall include the GitHub issue number (i.e. #1234) in the Git commit log message

Once test environment is set:

  • all enhancements or bug fixes must successfully pass all tests before they are committed

Coding Guidelines

NOTE: There are no specific coding guidelines yet. ESLinter will be set soon.

Submitting a Pull Request

This section will guide you through steps of working on VTS-Browser-JS. This section assumes you have forked VTS-Browser-JS into your own GitHub repository. Note that master is the main development branch in VTS-Browser-JS;

  # clone the repository locally
  git clone https://github.com/melown/melown-js.git
  cd melown-js
  
  # add the main VTS-Browser-JS development branch to keep up to date with
  # upstream changes
  git remote add upstream https://github.com/melown/melown-js.git
  git pull upstream master

  # create a local branch off master
  # The name of the branch should include the issue number if it exists
  git branch issue-72
  git checkout issue-72

   
  # make code/doc changes
  git commit -am 'fix xyz (#72)'
  git push origin issue-72

Your changes are now visible on your VTS-Browser-JS repository on GitHub. You are now ready to create a pull request. A member of the Melown core team will review the pull request and provide feedback / suggestions if required. If changes are required, make them against the same branch and push as per above (all changes to the branch in the pull request apply).

The pull request will then be merged by the Melown team. You can then delete your local branch (on GitHub), and then update your own repository to ensure your Melown repository is up to date with Melown master:

  git checkout master
  git pull upstream master