Set up a developement environment
Where can I find the source code?
We develop Admidio using the version management Git on the platform GitHub. The current source code is located in the Master Branch and can be found via the following link:
https://github.com/Admidio/admidio
GitHub also offers a client for Mac and Windows. More Git programs can be found at https://git-scm.com/. Before you start with the development of new functions, you should contact us or use Issue-Tracker to describe the desired extension or collecting ideas for new features.
After you have the source code on your system you must run Composer to install the depending libraries. Therefore you should install Composer and then run the command composer update
at the Admidio folder. If you could not use composer you can download the vendor folder and place it in the root folder of Admidio.
Have you got your idea formulated as Issue and coordinated with us, then you will find the Master Branch the current code with all new features and changes that have been added since the last release. If you want Admidio evolve, we recommend that you take as a base this Branch. Ideally, you create then in your GitHub account a Fork of this Branch and a feature Branch. There you can now develop your extension and commit in the fork. Once your extension is complete, you can use a Pull Request for our Master Branch. This Pull Request we will look at and discuss it then to assume ideally.
Shortly after we released a new major version, we will create a Branch specifically for this version. The current state of development is appropriately recorded to the published version practically. At this stage of development we can later import corrections regardless of what has been developed in parallel Master. The Branch is always appropriate for us to release. On behalf of the Branches you can see which version is which Branch. Example of Admidio 5.0 the Branch is named v5.0 and reachable at the following URL:
https://github.com/Admidio/admidio/tree/v5.0
GitHub Write permissions
If you are new to Admidio, then you should, as described above, once create aFork and perform new functions or corrections. We can then take a Pull Request. Have you already helped through this method and the codeĀ“corresponds to our programming guidelines, then usually there is nothing against giving you also write access to the Admidio project in GitHub.
Develop New Feature
Do you want to develop a new feature for Admidio or extend an existing function, it would be nice if you perform the following steps.
- Describe on our GitHub project page your planned expansion. For this purpose you acquired a new Issue and add the label Enhancement. About this Issue and the function described there other team members or those interested have the opportunity to get to know your desired change and possibly to write comments.
- Do you want to continue registering the function, then switch to the Master Branch and create a new Branch. This is named with the prefix feature - and a short function name eg. Feature bootstrap3 Integration or feature-improved-registration . This should contain only your changes in the future . Do you still have no write permission in Admidio repository then you can develop the function in your fork.
- Now you can transfer your changes to this feature Branch (or your own Fork) and commit until the development is done from your point of view. When you check in (commit) a descriptive sentence should preferably be given in English.
- Create now from your feature Branch (or your own Fork) a Pull-Request. This may now be considered by another developer and merged.
How and where do I fix a bug?
The following steps are necessary if you want to fix a bug:
- The first step is, as also with new features an Issue must be created, if it does not already exist.
- If the error in the recently published version exists, it should also be corrected there. For this you switch to the appropriate Branch for example v4.0.
- Fix the error and execute the relevant commits in this Branch. When you check in (commit) a descriptive sentence should preferably be given in English, which also concerned a reference to the issue, for example, # 4711 fix SQL syntax When save new events
- Typically, the error also occurs in the Master Branch, so that commits with merge in the Master Branch shall be incurred. This step can also be carried out later.
Do you still not have write permissions in Admidio project on GitHub, so you can fork the repository only once to do the correction there. Subsequently, the correction can then be taken on a Pull Request in the official code.