How to contribute
Watch us
To stay informed about the latest news and receive updates from SmartStore.NET, just click on the Watch button at the top of this page of our Github Homepage.
Write an issue
If you stumble across an error, have an improvement suggestion or a feature request, feel free to write an issue to let us know what's on your mind.
How to write issues
Before you write an issue, please perform a quick search and have a look if your concern has already been mentioned. If so, you can vote for this issue. Basically, there are two different categories of issues: bugs and feature requests.
A bug should always be reproducible. When reporting it, please list every step you or your customer took leading up to it so that a developer can verify the existence of the problem with just a few clicks. If you've received an error message, you should provide information about that as well, preferably via a screen shoot. Every detail you can provide helps.
A feature request should always be born out of a need. To help us understand the request best, you should start by describing this need. Then, you should bring up one (or more) possible solutions (of course only in words, not in code, as we're talking about issues here ;-)). Don't be afraid to add any supporting photos which could help us understand the solution you're describing.
Participate in discussions in our forum
Please keep in mind that issues are only meant to inform us about aspects we need to know. If you have questions or problems and aren't sure where they belong, please start a discussion in our forum rather than open a new issue. If we consider it to be an issue, we will create an issue or advise you to create one.
Contribute
If you are a developer who wants to keep up to date with the latest source code, we recommend downloading the current develop branch. SmartStore.NET uses GIT for revision control and source code management. You can work with any GIT client, e.g. TortoiseGit, Git-Extensions for Visual Studio or SourceTree. Personally, we've had excellent experience with SourceTree while working with open source projects, including, of course, SmartStore.NET.
When working with SmartStore.NET as a developer, you will benefit substantially by forking the software before creating some of the adaptations you need. This way, we can, for instance, pull your fork if there's a problem with a feature you're implementing, allowing us to help you. Also, when you've developed a feature or perhaps improvements that you want to contribute to SmartStore.NET, you can very easily make a pull request so we can evaluate your code and determine whether it's relevant to the SmartStore.NET core.
Branching strategy
There will always be a master and a develop branch. The current develop branch is 4.x - once we reach the next major milestone it will be 5.x and so on. This is the branch where we do our daily work. When we implement a new feature, we will add a feature branch and develop this particular feature there, e.g. feature/webapi. When we're confident it's ready to be released, we merge it with the current develop branch.
To be able to provide (urgent) fixes to the latest or any previous stable release, we seal the current develop branch every time we make a new minor release and name it after this release (e.g. 3.2.x). The special branch named master always hints at the latest stable release and is tagged with the corresponding version (e.g. 3.2.2)