General Functionality
This chapter describes the global functionality which can be found in the title and menu bar of DATPROF Privacy. Following chapters give detailed descriptions of the core functionality of DATPROF Privacy.
New project or existing project
Once DATPROF Privacy is started a dialog is shown where the user can choose to create a new project or open an existing project. The user has three options:
![](../../__attachments/26280012/image2019-12-5_9-5-10.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
New project: This option asks for a project name and location where the project should be saved. These fields are prefilled with a default value. After confirmation, an empty project is created and opened in the Project Settings window
Recently opened projects: The right side of the dialog shows the recently opened projects. By clicking on one of these projects, the last saved version of the project is opened.
Open existing project: This option shows a dialog which can be used to open a saved project.
Upgrade of projects
When opening an existing project a check is done on the version number of the project file. Whenever this version is lower then the version DATPROF Privacy expects an upgrade is required.
A dialog opens informing you an upgrade is required. By clicking the OK button a copy of the project and all the scripts is made to the subfolder “backups” of the project. Then the project is upgraded and a message is shown the project has upgraded.
You can find the backup in:
<project>\backups\BACKUP_<ModelVersion>_<Year>_<Month>_<Day>_<Hour>_<Minute>
When you click on Cancel the project remains unchanged.
When a higher version number is detected the project cannot be openend.
Menu
Several features of the application can be started through the menu. The menu contains four options:
![](../../__attachments/26280012/image2018-5-7_16-30-54.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
File
Project
Visualize
Help
File
![](../../__attachments/26280012/image2018-5-7_16-31-37.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
New Project: Opens the dialog to create a new project.
Open existing project: Opens the dialog to open an existing project.
Save: Saves the changes of the current project.
Save as: Saves the changes of the current project as a new project.
Close project: Closes the current project, then opens the opening dialog.
Exit: Closes DATPROF Privacy.
Project
![](../../__attachments/26280012/project-menu.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
Import and synchronize: Opens the dialog to import the metadata or to import metadata using a DME file and the synchronize metadata wizard.
Export metadata to DME-file: Opens a dialog which can be used to export a (part of the) data model to a generic DATPROF file format. This file format can be used within the DATPROF product range to exchange the data model and metadata.
Generate comments report: Collect all comments and generate a HTML report.
Generate for Runtime: Generate the package with all code to be deployed in DATPROF Runtime.
Additional scripts: Opens the Script Manager where you can maintain SQL or OS scripts .
Use legacy deployment: Enables the pre-4.0 direct deployment scheme. From version 4.0 the default scheme for Direct Deployment will use the embedded Runtime Agent.
Visualize
![](../../__attachments/26280012/image2018-5-7_16-34-46.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
Visualize data model: Shows a visual representation of the imported data model, including all (user defined) relations.
Visualize process model: Shows a visual representation of the order in which masking functions are going to be executed.
Help
![](../../__attachments/26280012/image2018-5-7_16-33-45.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
Help: Opens the help-screen.
Enter license key: Opens a dialog which can be used to enter a purchased license key.
About DATPROF Privacy: Opens the About Screen of DATPROF Privacy.
Debug: Opens a Developer Logging with a list of threads.
Generate for Runtime
As of DATPROF Privacy version 3 you can separate development and deployment of a Privacy project. This is not available for all databases.
Check the chapter Direct Deployment and Runtime Deployment to get the list of available deployment options per database.
You can generate a package to be uploaded and installed in your DATPROF Runtime application. Under Project -> Generate for Runtime you can click “Generate” and a zipfile named <projectname>-<version>-priv.zip is generated and saved in the subfolder dpfgen of your project.
![](../../__attachments/26280012/image2018-5-7_16-41-31.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
This package contains the settings, process and all the code to execute the Privacy project.
DATPROF Runtime is a separate product not contained in the Privacy distribution.
Every “Generate” empties the dpfgen folder and removes existing packages.
Check the Datprof Runtime manual for the compatibility matrix of DATPROF Privacy and DATPROF Runtime
Script Manager
By using the script manager, Project → Additional scripts.., the user is able to define custom scripts that can be used in combination with masking functions. Both SQL and OS-call scripts are possible. Using these scripts, the user execute almost any database operation allowed by the database permissions.
The user can opt to execute the script before or after performing a masking function or before or after executing all masking functions.
![](../../__attachments/26280012/image2019-1-23_14-36-25.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
In addition to ‘plain’ SQL, a user can also use PL/SQL (Oracle), Transact SQL (SQL Server) , SQL PL (DB2) or PL/pgSQL (PostgreSQL) to define scripts.
A script will only execute if it is marked ‘Enabled’.
Scripts are stored in the “Scripts” subfolder of the project.
You can specify the dependency of this script with other functions in the project using the dependency editor.
An SQL script is always executed as a single process and will never run parallel with other functions. This is done because the effected fields are not predictable.
Velocity
For use in direct deployment and on Runtime you may choose to allow for Velocity syntax. By default this is disabled, To enable it select the checkbox "Velocity script". Velocity is not available in the legacy direct deployment scheme.
Velocity is a Template engine internally used by DATPROF Runtime to parse code, both SQL scripts and OS call scripts. Velocity is an Apache project: http://velocity.apache.org/. Using this template engine allows users to reference and/or specify Velocity properties in your own SQL code or OS Scripts.
You can refer to properties by using the syntax ${identifier.property}
For DATPROF Runtime all DATPROF Runtime Velocity properties are available using the the dpf.parameters identifier.
Example: ${dpf.parameters.DPF_RUN_DATE}
Scripts are saved in the ‘Scripts’ subfolder of the project.
Bear in mind that Velocity parses # and ##. This might effect your code. To handle this situation you either adjust the code and avoid these characters, mark code as "Unparsed content" or disable Velocity for this script.
For more information on the use of Velocity in Runtime check the "Velocity" chapter in the Runtime manual ( http://docs.datprof.com/runtime )
Example Script using Velocity including Comment line and Unparsed content.
set LOG=${dpf.parameters.DPF_ARTIFACTS_DIR}\OutpUt-${dpf.parameters.DPF_RUN_ID}.log
echo.>%LOG%
echo Privacy Run Started at: ${dpf.parameters.DPF_RUN_DATE} >>%LOG%
echo Project : ${dpf.parameters.DPF_PROJECT_NAME}>>%LOG%
echo Environmnet: ${dpf.parameters.DPF_ENVIRONMENT_NAME}>>%LOG%
echo Application: ${dpf.parameters.DPF_APPLICATION_NAME}>>%LOG%
## This line is ignored by Velocity
#[[
echo ## End of script>> %LOG%
]]#
Visualize data model
Through the menu option Visualize → Visualize data model, a visual representation of the imported data model can be opened. The displayed data model contains all imported entities including all (custom added) relations. Tables which have one or more masking functions defined are highlighted in green. This window also offers functionality for saving or printing (parts of) the displayed diagram.
![](../../__attachments/26280012/image2018-5-8_9-5-35.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
Visualize process model
Through the menu option Visualize → Visualize process model, the user can view the currently defined functions and scripts as well as the order they will be executed. Solid lines signify a dependency created by the user while a dashed line indicates a dependency created by DATPROF Privacy.
DATPROF Privacy creates dependencies whenever two masking functions can target the same table at the same time. This can cause severe data corruption and deployment errors. A dependency created by DATPROF Privacy can be overruled by the user using the Dependency editor.
![](../../__attachments/26280012/image2018-5-8_9-26-34.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
This window also offers functionality for saving or printing (parts of) the displayed diagram.
DME files
The application allows the user to exchange data models using the Data Model Export (DME) functionality. This functionality saves the data model in a generic DATPROF file format. The resulting file can be used within the DATPROF product range.
Through the menu option Project → Export Metadata to DME file, the project data model can be exported to a DME file. In the dialog the user can specify the tables (per schema) to be exported. The corresponding foreign keys can be exported too.
Using DME Files has some limitations:
DME files do not support the use of multiple schemas
Foreign Keys with a condition are not exported
![](../../__attachments/26280012/image2018-5-8_10-58-32.png?inst-v=9faf47d4-7060-40c4-b0f6-6c85db0afb12)
Using the menu option Project → Import and Synchronize metadata from DME file the user can import a data model from a DME file into their own project.