Procedures for minimizing risks of introducing bugs or breaking-changes in Orixa
What is a change? If you are simply editing or altering a report, changing status or types data-records the procedures below do not need to be applied. However if you are making changes such as significant extension of BusinessObjects, adding new fields or whole new data-tables then the following procedures should be applied.
These procedures also apply prior to an annual upgrade of any system.
- Always backup the database prior to the application of any change script.
- Use the System Tools to generate new SQL scripts for the system but test these thoroughly before "posting" changes to the system-tables, using the System-tools testing components. Ideally, create a test version of your database, and run the changes against this first.
- Where the change-script changes, adds or removes views, functions, procedures, fields or data-tables in the database, remember that the change-script must be run on all instances of the database. If multiple replication instances of the system exist, these must be synchronized prior to the change. In plain English: If you use more than one server or tablet-computers as part of your system, all changes to the database must be run on every server and on every tablet, and they must be run after all machines have "run updates".
- If you change field names it is vital to check that you have not changed the name of a field which is used in a system-table, including the Resources, Reports, BusinessObjects and Searches system-tables. If the field-name is used in any of these places it must be changed there as well as part of the change script. A special system-dataset called "FrameworkNameCheck" exists, which can be run and filtered to check whether and where the field-name is used in the system-resources to help with this process.
- Some field names are used within Application source-code. These should not be renamed or removed.
- To add Entities to the system, the basic steps are to create a tables and add records to the BusinessObjects meta-data table to introduce these new data-tables as Entities in the Model Diagram. This process is complex and has several steps and should not be undertaken unless the system Administrator has a good grasp of database theory and the requirements of their business for new Entities.
- If you are not absolutely 100% confident about the changes you are making to the System, refer to Orixa Staff for assistance and guidance.
- Some system resources are less critical (and easier to change) than others. For example the "Searches" table contains SQL scripts which control how system Entity Grids are displayed. These are fairly easy to edit, and add. Also the "Reports" table contains scripts for the generation of printed reports and charts which are relatively easy to edit. Finally "Status" and "Types" data generally only affect the way lists appear in the Entity Edit Forms. These can be changed and amended if the business requires new items to be added.