We use GitHub as the standard hosting platform for UbiCollab software and else. We use the following features of GitHub in UbiCollab projects:
- Each UbiCollab component has its home page at GitHub.
- UbiCollab code is available at GitHub through Git.
- We use GitHub wiki for documenting technical stuff and user manuals.
- Downloads are available at GitHub.
- Issues and roadmaps for each component are there too.
Basic information about Git, GitHub and Git workflows
Here are some basic information and links:
- Each UbiCollab component is treated as a completely independent component and has its own life, The only thing that binds them together is that they are owned by UbiCollab.
- Therefore, the GitHub user you need to pay attention to and follow is UbiCollab.
- We have individual repositories for each of the components in the UbiCollab ecosystem. See for instance UbiShare and UbiNomad. Complete list of repositories can be seen here.
- Technical documentation for each of the components can be found in the wiki for the repository of that component.
- If you want to develop applications that will use the UbiCollab platform you need to pay attention to UbiCollab SDK. The documentation in the wiki there should be the only thing you need to know.
Here is some information about the GitHub workflow we use:
- You need to learn to use Git and GitHub.
- In order to commit code you have created you need to know about pull requests in GitHub.
- You also need to know about a couple of Git workflows, Git-flow and the GitHub model.
- We use a combination of Git-flow and GitHub models:
- We follow mainly GitHub model.
- But we use a master branch for releases and a developer branch where everything else happens.
- Master branch is default for all our repositories and contains the latest released version.
- Developer branch is the one you should fork and work on when you want to develop for UbiCollab.
Steps needed for contributing to UbiCollab
In order to allow us to merge your code into UbiCollab repositories you need to do the following:
- Create a GitHub user if you don’t have one.
- Fork the repository that contains the code you will improve. Take a look at the list here. If you are not sure which one to use talk to Babak.
- Do all your coding on the developer branch of the repository. This is the branch that will eventually get merged with the source repo.
- Make sure when you do your coding that you go through the steps for licensing your code. Read here to learn how to do it.
- Use the pull request model instructions here to send your changes to UbiCollab for review.
- When your code is reviewed it will be merged into the repo and tested by UbiCollab.
- Eventually it might make it into the next release.