Online Record Keeper/ORK3 Developer Documentation/Maintainers Guide
From AmtWiki
Repository
http://www.amtgard-ork.org/AmtgardORK/ork3/
Source Etiquette
The source code will only remain reliable and maintainable if we all agree to respect each other’s commits, and respect the commit process.
- Update and resolve conflicts before you do any work for the day.
- Update and resolve conflicts before every commit.
- Commit your changes regularly (at least once per day, for any day that you make changes).
- Make small changes that do not break the codebase.
- Large changes should be discussed with on the maintainer’s list ([email protected])
- Where possible, use the existing API.
- Never instantiate an API class (any class in
system/ork3
) from client code (UI or Application). Always useAPIModel(<classname>)
orJSONModel(<classname>)
.
Sensitive Areas of the API
Certain areas of the API are sensitive, due to their internal structure, or the way they will be used.
- Reports & SearchService -- these are likely to be the most heavily used, and the are the primary output purpose of the system. Please do not mangle them.
- Authorization -- passwords are one-way-hashed using relatively slow and very strong encryption (SHA-512 with a randomly generated salt). The keystore is designed to be very one way. If you trash the keystore, there will be great heartache.
- Principalities -- principality design is rickety. Remember that principality authorizations include "ghost" (system) authorizations on their sub-parks.