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.

  1. Update and resolve conflicts before you do any work for the day.
  2. Update and resolve conflicts before every commit.
  3. Commit your changes regularly (at least once per day, for any day that you make changes).
  4. Make small changes that do not break the codebase.
  5. Large changes should be discussed with on the maintainer’s list ([email protected])
  6. Where possible, use the existing API.
  7. Never instantiate an API class (any class in system/ork3) from client code (UI or Application). Always use APIModel(<classname>) or JSONModel(<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.

  1. 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.
  2. 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.
  3. Principalities -- principality design is rickety. Remember that principality authorizations include "ghost" (system) authorizations on their sub-parks.