Sample Code
The Data Control API is installed with SuperSERVER. The location will depend on where you chose to install SuperSERVER, but with the default installation location, the Data Control API files are located in C:\ProgramData\STR\SuperSERVER SA\etc
The etc\dcapiexample directory contains sample code for the implementation of a Data Control Module:
- etc\dcapiexample\sample.sln
- etc\dcapiexample\sample.vcproj
- etc\dcapiexample\Makefile
- etc\dcapiexample\README.txt
- etc\dcapiexample\code\dcapiexample.cpp
This example is for demonstration purposes only. It implements the following behaviour:
A parameterized version of a 3/80 concealment rule. Cells will be marked as concealed if there are less than or equal to 3 contributors or the top 2 contributors comprise greater than 80% of the total value.
The values "3" and "80" can be overridden using configuration properties from SuperADMIN.
To be able to compute this rule it is necessary to request that the SuperSERVER pre-compute the FREQ and TOPN associated data cubes. Cells concealed in this manner have their underlying value set to 0 and a ## annotation applied.
- All null cells have any existing annotations removed and replaced with a single @@ annotation.
- Data associated with a nominated postcode (default setting 3166, overrideable by parameter) is also concealed. This code provides an example of how the intersection of a specific set of field value codes can be tested for during an iteration of a data cube. Cells concealed in this manner have their underlying value set to 0 and a ## annotation applied.
- Any cell with the value 13 (overrideable by parameter) has its value incremented by one.
- The data cube is also iterated "after the fact" to show how a backup/pre-modified cube can be compared to the current, possibly perturbed, cube. Any non-concealed cells that have had their value modified are then annotated with an !. This code provides an example of how a new annotation symbol can be added dynamically by a Data Control module.
- A log of information about the Data Control module is produced in the SuperSERVER installation directory (default name is
dcapiexample.Logfile.txt
, overrideable by parameter). The log outputs information about all annotations present in the cube, including any database, field, field value and cell annotations present. A sample Microsoft Visual Studio project is supplied to build a Windows DLL. A basic Makefile is supplied for Unix/Linux platforms to build a shared object. The built DLL or Shared Object must be copied to the SuperSERVER installation folder.
To use the example, you need to use the method
command in SuperADMIN to configure the modules in the method catalogue.