Manage Data Worlds
Overview
Manage your waveware data worlds with this module. You can add new data worlds or administer the available ones. A data world is a collection of data required for a compete waveware environment.
The following window will open when you click on the button 'Manage data worlds':
The window is divided into two sections. All defined data worlds are offered for selection in the upper one (1). New data worlds can be created when you click on the button 'Add' (see next paragraph: 'Create Data World').
Each data world is displayed as a selectable row in the table, whereby at first glance the following information can be read in sequence:
- Status
A symbol appears at first place, depending on the status. A red symbol means, that the data world is disabled and no user can be logged in. Blue is the symbol, when the data world is activated but the Server Beat is disabled. A green symbol indicates that the data world is activated and its beat is executed. - Package Developer
The second symbol specifies, whether the current data world has authorization for the package development. A pencil displayed the activated package developer right, a lock indicates data world without package developer right. - Logged in User
As long as the data world has an activated status, the opening of a list with the logged in users is possible. This list contains information about the users as well as the source and the time of the current and last login. - Reset System Packages
As long as rule changes are made on the system package, they can be reset centrally for the entire data world with the help of this button. This function is available only in case of the disable data world. - Technical Documentation
A documentation of the current data world, that provides general or license-related information and data about installed system and application packages, can be created with the help of this button. An .html-file is generated, that is stored in a directory, that is to be selected with a click on this button. - System Type
The last symbol shows the type of the system. A data world can be either in the productive, test or development mode. Depending on the selected type, rules are adjusted or processed differently. Building blocks can read the type and determine the entire rule branch accordingly. In this way, test functions can be implemented, that are ignored in a productive system. - Install Id
Unique name of the data world. This is specified when creating a data world and must be specified for any waveware Client during the login. - Logged in User
At this point, the current logins are displayed in relation to the number of existing client licenses. - Description
Every data world can take an optional description, that specifies for example the information on the usage aim or other characteristics. - System Info and Status
Information on the current Events is displayed in these fields. After an update of the waveware server, a hint appears saying that the data world update must be done. The non-accessible data directories or unavailable/non-accessible databases etc. are also signaled at this point. - Version
Shows the version of the data world. - Delete
At the end of the row, there is a button to remove the data world completely. Consider, that the used database is to be removed beforehand with the function 'Delete Database' and the assigned data directory must be deleted manually.
In the lower area (2), you can see the settings from the selected executed above.
Create Data World
To create a new data world, click on the button 'Add'. You will see an empty form with red-marked fields in the lower area of the data world management. These fields are now to be filled in. Once they are filled as described below, you can complete the process of the creation with a click on the button 'Save Data World'. The data world will then be displayed in the list with a red status.
Install ID
At first, specify a unique name (install ID = identifier of an installation). Select a short name, best one indicating the environment. For example, "LoyHutz_Test" for a test environment. The name can contain 50 characters at most. It cannot contain spaces and must start with a letter. The only permitted special character is the underscore ("_").
Data Path
This path is specified from the viewpoint of the waveware server. It indicates the place where the data directory is stored. In this directory, the waveware server saves files which have been backed up in accordance with the database, e.g. DEF files, files for records of the DMS, package information, etc. If you creat a new data world, enter an empty directory here, which will be filled automatically when the data world is saved. Copying the data directory from an external download source, as was known from previous versions, is no longer required from waveware 11.180.
Main Language
Specify the default language of a data world in the field 'Main Language'. Read more in 'Multilingualism'.
Default Locale
In addition to specifying the main language, you can provide a more detailed description of the region in the field 'Default Locale'. Specifying the region is important for displaying the date, numbers and characters. Once the setting has been defined, it cannot be changed later. The region set here is effective whenever a user has not been assigned a region (Resource 'Staff', field 'Region'). Note the additional information in the article 'Staff: Region'.
Main Currency
The field 'Main Currency' serves for recording default currency for the current data world. To guarantee the compatibility with the available waveware installations, the only currency automatically becomes the main currency during the update to the version 11.170 (or higher). Further information under 'Multi-Currency Capability'.
URL
A URL is needed for accessing the web server. You can make further specifications for the web server in the server settings (the latter is accessible through the ribbon where the Data Management is also located). Make sure that the web server is accessible: it will be checked when creating the data world.
Read more information about setting up the waveware web server in the article 'Set up Web Server'.
ClickOnce Name
As a further step in the process of deployment, it is recommended to distribute waveware applications with the ClickOnce Installation Procedure. During the setup, use an appropriate name which denotes the ClickOnce Installation. The field, if empty when a data world is being saved, is automatically filled with 'waveware'. This denomination is shown in the installation dialog under 'Name:' when downloading the installation files. It is used after the installation in the software dialog ('Programs and Features' in Windows 8.1/10) to denote the installation.
ClickOnce Arguments
You can specify advanced Command Line Parameters in the field 'ClickOnce Arguments' for each data world if you use ClickOnce for the software distribution. In this way, you can activate Single Sign On for the the ClickOnce installation, for instance.
Description
This field adopts optionally a more precise description shown when displaying the data world in the info column.
Database Type
The database type can be used to set which database system is to be used. There is a choice between 'MsSql' (Microsoft SQL Server; default setting) and 'SQLite', a file-based database system.
Microsoft SQL Server
The use of Microsoft SQL Server is recommended for most installations. In the upper area, you can use 'Switch edit mode' to choose whether you want to provide individual information about the connection or whether it is necessary to enter a complete connection string.
Database Server
Enter the path to the Microsoft SQL Server on which the database for this data world is to be saved. The specification must be made from the perspective of the waveware server and in the scheme%Server%\%Instance% (e.g. "192.168.31.2\SQLExpress" or "192.168.31.2"" if no specific instance has been installed).
Database Name
The name of the database on the SQL server. You can, for example, use your data world as a database name if you have other databases accessible for the SQL server. This will provide you with a better overview. Note that only the underscore ("_") from special characters is allowed here.
Database Sorting
The database sorting is displayed here, that was specified during the creation of the data structure. The field content serves only for the display and cannot be changed. This field is empty until the creation of the data structure. In waveware versions <10.150.1.568, the sorting "Latin1_General_CI_AS" was always used, that is editable standard for the new versions. Further information on the database sorting can be found under 'Create Database Structure'.
Authorization Method
Select the way you want to connect to the SQL server:
- For the SQL Server Authorization fill in the fields 'User Name' and 'Password' to establish a connection.
- For the Windows Authorization no further data are needed. However, this type of login must be set up by an administrator beforehand.
Both authorization types apply to users who at least have the right to create, delete or recreate tables on the SQL server. To use the backup system of the Data Management, you also need the rights for deleting and creating databases. As an alternative, you can select an authorization applied only for the given procedure, when creating a back up.
Enforce Encryption
If the option is set, waveware only establishes the connection to the SQL server via an encrypted connection. Even if the SQL server would allow an unencrypted connection, waveware does not attempt this. The encrypted connection only works if the waveware server knows the certificate of the SQL server.
Do Not Trust Server Certificate
If this option is set, the certificate of the SQL server must already be in the "Certificate Store" of the waveware server. If the option is not set, an attempt is made to retrieve the certificate when the connection is established, or a new self-signed certificate is generated.
SQLite
The file-based database system SQLite is intended for smaller installations (and offline data worlds), which mostly have test purposes. Here, too, you can use 'Switch edit mode' to set whether individual information about the connection is to be entered or whether a complete connection string is required.
Saving Location
Enter the path to the database file in the 'Saving location' field. The path should be chosen locally if possible and end with the file name and extension (*.db/*.sqlite).
Login Password
To protect the database file and its contents, a password is required, which must be specified in this field. As of waveware 11.190.3625.71, the password encryption of SQLite databases is no longer supported. If a password was specified for a SQLite database in a previous version, the password must be removed from the database file before the update and the configuration of the data world must be adjusted. Please note the FAQ 'SQLite: Remove Password'.
Remove Data World
To delete a data world, click the button with the small cross next to the entry in the list. The data world is deleted after a short query. The data world must be in a deactivated state during this procedure.
Reset System Packages
The process of resetting system packages is started with the data world. The delivery state is recovered as in other packages.
The data world must be disabled to reset the packages. Read more in 'Reset Packages'.
Switch on/off a Data World
If the data world is no longer needed, you should switch it off. In contrary to the status 'Disabled', the resetting to the offline state brings to the complete ignorance of the relevant data world. Then, this is always displayed in the list of the available data worlds, but no tests are made anymore, e.g. test on the existence of the data directory, availability of the database etc. The DataManagement is loaded significantly faster, if many data worlds exist in the list.
To switch an available data world off, right-click on the relevant entry in the list and select 'Switch data world offline'. At the end, all fields and buttons are disabled for this data world and a relevant text appears under 'System Info'.
The data world can be always switch online again by right-clicking on the relevant entry in the list and selecting context menu 'Switch data world online'.
Status of a Data World
You can change the status of a data world with a click on the button in the first column. While the red symbol is displayed, a click on this button activates the related data world. A click on the green or blue symbol deactivates the data world. Alternatively, you can switch the status by clicking on the buttons in the upper section of the settings.
The names and availability of the buttons change depending on the status of the selected data world.
The data world is automatically set to the Service Mode if more problems occur during the activation. Such a case may occur, for instance, when building blocks in rules cannot be correctly interpreted:
If a data world is activated, the button (first column in the list of available data worlds) shows a green sign. A click would disable the data world. Possible signs are listed below:
Disabled The data world is disabled. It is the work mode for the Data Management. No users can log in to waveware in this state. Neither is it possible to use the Designer or the System Rule Editor. The data world is automatically disabled when, for example, an update (notification in the column 'Status') is required. The status of the data world cannot be changed as long as this notification is there. |
|
Activated The data world is active. Users can log in to waveware any time. The Beat is also active, reoccurring tasks are executed in accordance with the rules. |
|
Activated - Beat Deactivated The data world is active. Users can log in to waveware any time. The 'Server.Beat' trigger is deactivated. This status is suitable when you do not want to use the beat or when the latter should execute no rules. The data world causes no further burden (by the beat) for the server. Several active data worlds can exist simultaneously without causing additional burden as long as the respective beat is deactivated. |
|
Service Mode This mode has been conceived as a work mode (maintenance mode) for the waveware Data Management. The data world is active. You can, for example, load the changes which you have made with the Designer or work with the System Rule Editor. The mode can be executed both with an activated and disabled beat. |
|
License Invalid Please, contact the support when this status is shown. Your license file is invalid. This means you have either reached the expiry date or the file has been changed manually. In this state, you can load only one new license file to make your system operable again. |
Service Mode
Certain changes to the system are possible only with an active data world, such as loading a Designer Session. You can apply maintenance-relevant functions with the service mode and at the same time prevent other users from logging in to waveware. In this mode, only users who have the role 'Supervisor' can log in.
Activate this mode with a click on the button 'Activate Service Mode'. A warning sign will appear in the status of the data world. In addition, the beat is deactivated. Only users with the 'Supervisor' role can then log on to a client (waveware Windows Client, waveware Web-Client, CAD Import, etc.).
Beat
The beat is a regular trigger in the System Rule Editor of waveware that is executed on the server once per minute and client. This trigger runs under the user 'SYSTEMHEARTBEAT'. For more information, see 'Trigger: Server.Beat'.
The execution of the beat can be deactivated for each data world in order to save resources or prevent automatic actions that were implemented via the beat. Execution is suspended until the beat is activated again. The data world status icon turns blue when Beat is disabled.
Task Processing
Tasks are small tasks that are created using rules. They are placed in a queue when they are created and are automatically processed one after the other when resources are free.
The processing of tasks can be deactivated manually for each data world via DataManagement. In this case, processing is interrupted and only resumed when task processing is reactivated.
For example, sending emails can be implemented via tasks that waveware sends when approving vacations. If task processing is disabled, these emails would not be sent until task processing is reactivated.
Log out Users
It may happen that users are still logged in while you change the status to 'Disabled' or 'Service Mode'. In this case, a dialog will automatically appear in which you can easily log these users out yourself or ask them to log out. You can also open this dialog manually at any time by clicking on the following symbol in the data world row:
A dialog opens that shows all logged in users.
You can specify in the System Rule Editor in "System.Application.ApplicationCommunication" what happens during particular actions. The predefined default actions are explained below:
- Send message to all waveware users
Write a short instructive text which, for instance, calls on the users to leave the system within 5 minutes. Each user can send back an answer. The latter appears in the list behind the name of the user. - Log out waveware users
The system will make an attempt to log off each user. The latter is requested to save unsaved changes if such exist. When this procedure is canceled, the shut down is canceled too and a notification appears. - Log out all waveware users
Unsaved changes are discarded. The system shuts down without any inquiries. Please, apply this action with caution.
Each of these three main buttons is available as a separate button for each user. In this way, an administrator can have a short correspondence with a user over the message channel or log him/her out. When all users are logged out, the status of the data world switches automatically to the service mode.
Database Structure Check
A structure testing is made when activating the data world. The aim is to make sure that differences between the database and DEFDB (settings specified with the database mode of the Designer) are prevented and possible missing information is subsequently transferred to the database, so that the database and DEFDBs are always identical.
The following is checked/fixed:
- Fields definitely marked as ("UNIQUE" - constraint) are checked against the database and differences are automatically corrected. The prevention by double field values to specify the option in the database is displayed as an error (see example below).
- Fields with required input ("NOT NULL"- constraint) are also tested and corrected if needed. An error message appears when the option cannot be set because for example, field values are missing.
- Indices are tested and corrected if required.
- The global tables are checked for client-related data and vice versa. Such notifications are displayed as warnings.
- Tables which are located in the database but do not belong to waveware are reported as a warning.
- etc.
The process may take several minutes depending on the database volume. The first activation of an updated data world can in some cases last longer because of a large number of errors to be fixed.
Most errors are automatically fixed during the testing. Still, it is possible that no all settings be correct from the point of view of the database, e.g. when the uniqueness is to be set on a field, the data of which do not permit it. In this case, a message appears:
The window shows a short description for the possible message types and lists the messages one below the other. They are categorized as follows:
Warnings If the dialog box contains only warnings, the former is closed after 10 seconds of absence of user interaction and the activation of the data world is continued.
|
|
Errors If errors are found during the testing, the data world cannot be activated as long as these errors are not fixed. Instead, the install ID will be set to the Service Mode until you either manually fix the error or implement the proposed solution which is offered for most problem cases (section 'Proposed Solution', see below). Note that data can be lost. Hence, a complete backup is required prior to making large-scale adjustments.
|
Each notification has a short message text which provides you with an explanation about the problem case. Besides, each notification contains the section 'Records' which, when expanded, shows the records which have caused the error or warning. In the example below, the content "Meier" does not allow to set the unique limit during the 'LOGIN'. To manually correct the records, an ID is also provided (column 'G' in the example) with the help of which records can be easily identified in the database. 'C' offers identification of clients in this example.
For most notifications, the section 'Suggested Solution' offers a possibility for automatic corrections. The latter can be executed with a click on the button 'Process Records'. In the given example, the automatic correction of the error will attach unique labels to the login names ("UID%generated number%") which you can then manually adjust with waveware.
The automatic correction requires permissions for executing changes. If this is not the case, a corresponding notification will appear, e.g.:
If several notifications are displayed in the dialog box the proposed solutions of which you want to implement, click the button 'Accept all Proposed Solutions'. If both notification types (warnings and error reports) are available, another dialog box appears asking you whether only errors or warnings are to be automatically fixed too:
- Yes, only critical errors
Executes the automatic correction only for the reported errors. Warnings are ignored. - Yes, warnings too
Automatically fixes reported errors and warnings. - No
Closes the notification and brings you to the previous dialog box.
As in the case of single application, notifications are shown when data/tables are deleted or when a process cannot be executed because of insufficient permissions.
When releasing a protocol (the button 'Save in a Protocol File'), all notifications with the related proposals for solutions are exported to a text file. This is helpful when errors have occurred (e.g. because of insufficient permissions) or when changes are to be made manually. The content will look like this for the example given above:
---Error: The field LOGIN in the table T_OBJ26 is marked as 'Unique'. The data within the table do not fulfill the restrictions for the field. Thus, the restrictions cannot be set. ---SELECT G, LOGIN,M FROM T_OBJ26 WHERE G IN (SELECT DISTINCT G FROM T_OBJ26 AS f WHERE LOGIN IN (SELECT LOGIN FROM T_OBJ26 AS s WHERE f.G <> s.G AND s.M = f.M) OR LOGIN IS NULL) ORDER BY LOGIN ---Purposed Solution: The records will be renamed and a unique key will be assigned to the name. You must adjust the data of the table manually. No data will be lost. UPDATE T_OBJ26 SET LOGIN = COALESCE(LOGIN, '') + '_UID' + cast(Z as varchar) WHERE G IN (SELECT DISTINCT G FROM T_OBJ26 AS f WHERE LOGIN IN (SELECT LOGIN FROM T_OBJ26 AS s WHERE f.G <> s.G AND s.M = f.M) OR LOGIN IS NULL) IF(NOT EXISTS(SELECT * FROM sys.indexes where name ='I_126__LOGIN_M')) BEGIN CREATE UNIQUE INDEX I_126__LOGIN_M ON T_OBJ26(LOGIN,M) END ---Warning: The table addition does not belong to your data world, but it is not empty and thus is not automatically deleted. Eventually, the table belongs to an interface. ---SELECT 'Addition' ---Purposed Solution: The table will be deleted and the data will be lost. IF (OBJECT_ID('Zusatz') IS NOT NULL) BEGIN DROP TABLE Addition END
The content of the produced file can be easily executed directly in the 'SQL Server® Management Studio' to make changes manually.
Duplicate install ID
Select a data world in the 'Manage Data Worlds'. In the ribbon 'Install ID' click on 'Duplicate Install ID' to clone this data world. This can be used, for example, to make a backup copy or to duplicate a SQLite data world from a Microsoft SQL data world.
- First enter the source data world and then a name for the new duplicated data world and a data path.
- Select the database type (MsSql or SqLite).
- Provide further details for the database of the new data world.
- Click on 'Duplicate InstallId'.