Home Company Services Portfolio Contact us nav spacer

Moonstone Quarry case study

The implementation of Quarry at Moonstone

Challenges

  • Construction of forms of arbitrary complexity.
  • Facilitate deployment of forms across organisations in a structured manner (capturing the organisational structure).
  • Manage the matching of consultants to persons to be surveyed.
  • Collection and processing of responses within and across forms.
  • Validation of responses.
  • Generation of reports in various formats.
  • Flexible implementation: should be usable as a portable desktop application as well as a web-based application. In desktop mode, it should synchronise with a server.
  • Allow limited consultant access to questionnaires and organisational data.
  • Facilitate data mining of collected information.

Approach

  • Zope as application server hub, acting as central server and data repository.
  • Zope as desktop app for consultants, synchronizing with central server across the internet and storing only the consultant's data.
  • QTI XML as format for questionnaires (TODO: and responses).

Surveying, certification and data mining at Moonstone using Quarry

Moonstone Information Refinery is a financial services company whose clients are mainly other financial service providers. They act as advisors and gather industry information for analysis and intelligence.

Moonstone approached Upfront Systems with an open-ended project �� the certification of financial service providers -- that had certain defined outcomes, and many more possibilities. Our brief was to realize the initial desired outcomes in a timely manner, while ensuring the greatest possible future flexibility.

The catalyst for the project was the announcement by the South African Financial Services Board (FSB) that financial service providers would in future need to be certified. This opened a business opportunity, namely to register as a certification authority with the FSB. One of the prerequisites for this is the ability to supply the FSB with the applicant's data in a prescribed flat-file format.

To meet these goals, Upfront Systems implemented Quarry.

Collecting the data

The name Quarry refers to the data mining aspect of the project. First, however, the data needs to be collected. To this end, there is a data collection aspect to Quarry.

For any service provider wishing to be certified, a number of interdependent forms need to be filled in. Depending on the size of the service provider, certain forms must be filled in for all persons in a particular role. In addition, Moonstone can provide further consultation services. The provider can choose whether to fill in only the minimum required by the FSB, or whether to answer additional questions in order to make use of Moonstone's consulting services.

To enable the efficient collection and storing of this information, two things are necessary. In the first place, complex questionnaires need to be constructed; and in the second place, the organisations to be surveyed need to be described so that it is clear which persons need to be surveyed, and what relation they bear to each other.

Organisational structure

Quarry allows the construction of an organisation tree consisting of positions. A position may be filled by a person or it may be empty. The organisation tree may contain both consultants who perform certifications, as well as service providers who apply to be certified.

It is used both to control access to data, as well as to model relations within a candidate organisation.

Questionnaires

Questionnaires for certification consist of many sections of interdependent questions, and may contain a lot of explanatory text. Questions may be multiple choice, fill-in-the-blank, free text, or others. The questionnaires need to be administered and edited by Moonstone inhouse, and the same staff need to be able to build reports from responses to questionnaires.

Upfront adopted a layered approach to meet these goals. For the end-user, we implemented a through-the-web form editor, which renders a simple XML representation of a questionnaire as HTML widgets for editing and viewing. This editor is geared toward Moonstone's data-collection requirements. However, we didn't want these current requirements to limit the capabilities of questionnaires in Quarry. Therefore, the editor publishes questionnaires to the IMS Question and Test Interoperability Standard. This is an XML standard for the formulation and processing of questionnaires and responses, which can accommodate arbitrarily complex requirements.

Reports

The same editor used to construct questionnaires is used to build reports. A report item consists of two parts: a condition, and a feedback section. Both these sections may contain either a Zope TALES expression, or a fullblown Python expression. (TALES provides a simple, readable format for deriving feedback from responses. For example: "First name: ${Name/0}" refers to the first element of the response to a question with the id Name.) This enables rules of arbitrary complexity to be constructed.

Questionnaires can include validation rules, ensuring that only valid responses are submitted.

Disconnected operation

Moonstone runs a central Quarry server which warehouses all the data of surveyed companies. This server is accessible as a web application. Moonstone uses it to construct and deploy questionnaires, and to fill in questionnaires over the web.

There are many instances where this might not be convenient. For example, key persons might need to be interviewed at an organisation where the interviewing consultant might not have internet access. To cater for these situations, the consultant would install Quarry on their laptop and connect to the server at Moonstone to receive all the information pertaining to their pending assessments. After completion of assessments, the server is contacted again to upload the submitted responses.

On the server, the Moonstone staff can at any time see what the status of requested assessments are (which have been filled in, and which are still pending).