Surely some of you, more likely all of you, have your eyes already lit up with the Onesait Platform, either because of the potential you see in it or because of the thousand ideas you can think of to apply on it. But…
Oh, yes, there is always a but, we understand you. But: What if there was a module on this specific thin? What if we include something that does this? What if we make something like this available? But why don’t you repair that which is so obvious?
You would probably want to change or add something to the Platform to make it even more wonderful. Are we right? Then let us tell you that you can and its within the reach of your keyboard. Let’s see the different ways you can collaborate with us.
Collaborate with our GitHub repository
Lately we have been talking non-stop about the Onesait Platform Community Edition, but it’s just because something so cool simply cannot be ignored: You can download and install a fully functional Platform to freely change stuff and make the most of it (compare with the Enterprise version).
And how can I collaborate with the repository? As easy as forking the main repository and contributing with a Pull Request (typical GitHub operation, you know).
To explain a bit more about this: once you have forked the project, you can clone your new repository by entering the following code in the prompt:
git clone https://github.com/<your_github_name>/onesaitplatform-cloud
Of course, where it says «your_github_name», replace that with your user name; Then enter the local repository and you’re ready to deploy all of your inventiveness.
Lastly, if you want to synchronize with the main repository, you can add it to the remote ones with the following line:
git remote add upstream https://github.com/onesaitplatform/onesaitplatform-cloud.git
The «master» branch represents the latest development version of the Platform, so most of the changes should go there.
The branches identified as «release-x.x» are used as stable branches in the maintenance versions. If you want to fix a bug you have found, do the Pull Request on the corresponding release branch.
Requirements for merge
As you can imagine, any conflict that may arise must be resolved before merging. In the event of such a conflict happening, a message will appear on the Pull Request page.
To solve it, you must use the following code:
# checkout a branch you open PR from git fetch upstream # assuming upstream is onesaitplatform/onesaitplatform-cloud. git merge upstream/merge_branch # Where merge_branch is a branch you open PR against. # resolve pull requests git add * git commit git push
With this, GitHub will automatically update the Pull Request.
All the pull requests will be automatically tested using Jenkins. If some tests fails for any reason, try and fix the problem, or describe why the fix cannot be done.
Once the request is uploaded, the partners assigned to the Repository will review it as per standard GitHub procedure: They can comment any question that may arise from the Pull Request, approve it or request changes. The contribution you have uploaded will be merged as soon as it is approved by at least two assigned reviewers and has no pending requests for changes, of course.
Too much trouble; I’d rather contact you directly
We like to make things easier for you: if you’d rather talk directly to us to suggest a contribution, a correction or anything, you can contact us via e-mail here: firstname.lastname@example.org
We will be happy to listen.
As usual, any doubt or question you may have, you can leave it here and we will reply as soon as possible.