History of Contribute Code
Version 1
Contribute Code
Brief outline for new developers
As you know, bitweaver consists of a set of core packages and a number of optional packages. New devs who join the bitweaver coding team, have immediate access to non core packages and may commit to these. When there is demand, we will grant access to the core packages. Commits to these need to be treated with more respect since they affect all packages.
To illustrate this with an example:
bitweaver version 2.0.0 is released and all core packages have version 2.0.0. now liberty undergoes a schema change which would bump it up to version 2.1.0 but the remainder of the core packages still remain at version 2.0.0
Be careful when committing and always make sure you've tested your changes before committing them.
</version></pkg></pkg></pkg></pkg></pkg>
Certain types of commits should always be discussed:
- All schema related files:
- <pkg>/admin/schema_inc.php
- <pkg>/admin/upgrade_inc.php
- <pkg>/admin/upgrades/*
- Major changes to the behaviour of a package
- Any change that is not backwards compatible
Schema Changes
If you do need to make schema changes (regardless of how small the changes are):- Discuss them with the creator / maintainer of the package or one of the lead developers
- Commit schema change to <pkg>/admin/schema_inc.php
- Enter the change in SchemaChangelog
- Create an appropriate upgrade file in <pkg>/admin/upgrades/<version>.php
Version Numbers
Any package can use version numbers as they see fit. Core packages stick to the following rules:Rev | Rev | Rev | Desription |
---|---|---|---|
X | This is the major release version of bitweaver and indicates what version of bitweaver the core package belongs to. | ||
Y | This is the minor release which is increased when there is a schema change to that package. | ||
Z | This is a bug fix release that simply fixes issues with existing code. |
To illustrate this with an example:
bitweaver version 2.0.0 is released and all core packages have version 2.0.0. now liberty undergoes a schema change which would bump it up to version 2.1.0 but the remainder of the core packages still remain at version 2.0.0
Core Packages
Core packages consist of:- KernelPackage
- LanguagesPackage
- LibertyPackage
- StoragePackage
- TempPackage
- ThemesPackage
- UsersPackage
Other notes
Please make sure you view the CodingGuidelines before you start committing. We've spent a lot of time cleaning up the code and it would be a shame to get sloppy.Be careful when committing and always make sure you've tested your changes before committing them.
</version></pkg></pkg></pkg></pkg></pkg>