Corrective Maintenance Reporting database
Corrective maintenance tracking at the ARM NSA Site
Since July 2000, maintenance interventions on the ARM NSA installations have been tracked in locally installed FileMaker databases. Regularly (eg, weekly), the database files were remotely retrieved from their installed environment and their database records imported into a central FileMaker Pro server located on the agvig host at UAF. The corrective maintenance records hosted in this system extend from 7/2000 to 10/2011 and are still available via a web interface.
In 2011, this database application was in need of an upgrade. The decision was made to develop an entirely new database-backed web-based application based on widely used open-source components, specifically with the following goals:
- For the NSA operations team: Improve usability, performance (interface speed) and simplicity of the application.
- For the user community: Facilitate browsing, referencing and export of CM reports
- From a systems management perspective: Reduce or simplify on manual processes, improve stability and clean up legacy data
- ARM-wide: Provide an avenue for ARM-wide integration of corrective maintenance records into a central reporting system.
The new ARM NSA Corrective Maintenance Reporting application] is hosted on the nanuna server at UAF and accessible via a public URL. This page is the entrance point to its documentation. It aims at a variety of reader types: users, admins, sysadmins or developers. For more information what is meant by these, see CM Reporting Tool User Roles.
Documentation for users
The CM reporting system's main function is for users to enter, view and edit corrective maintenance reports related to an ARM Site or operations team. Most functions are quite self-explanatory. For more details, please see the NSA CM Reporting Application User's Guide.
Documentation for administrators
The operations team designates some of its members as administrators of the web-based CM reporting application. This role does not require to use command line access or to edit configuration files, but to access a web-based admin interface via the link "administrative tasks" at the top of the main web interface.
The administrator's functions are:
- Add new instruments, or deactivate decommissioned ones
- Add new follow-up actions, or deactivate retired ones
- Add new users, or deactivate those that have left the team
For a detailed description, please see the NSA CM Reporting Application Administrator's Guide.
Documentation for sysadmins
The NSA CM reporting system is composed of:
- A Site Master instance
- One or several Local Instances
See CM Reporting Glossary for clarification of the uppercase terms.
The NSA System's Site Master is located on the nanuna server, and one local instance is run on a Unix system located in Barrow. See the NSA CM Reporting Tool System Description for details.
Documentation for developers
The NSA CM Reporting system was designed from the outset with the goal to be extensible to other ARM sites and to allow interoperability with other database-backed ARM operational management tools such as the DQPR, OSS, EWO/ECR/BCR systems. As these systems are maintained by various teams and have user bases with a number of diverging preferences, needs and requirements, the discussion on how to best achieve this has been ongoing. A document summarizing the state of requirement gathering at the time of the 2012 ARM Science Team Meeting is NSACMRDBM004_20120419_ExtensibilityandForwardCompatibility .
Regarding platform and skills required to participate in the development, the NSA CM reporting application is written in Python and based on Django and MySQL. It uses the Apache web server with mod_wsgi, the Fabric deployment and management framework, and the source code is kept in a Git version control system on the nanuna server. The application has been successfully deployed on various flavors of GNU/Linux and OS X.
Installation instructions, including guidelines and tips for setting up your environment are provided in the CM Reporting Tool Installation Guide.
For the NSA CM Reporting tool, we use Git for code management.