The AppServer is aware of all database changes so that it can react automatically to project changes and/or role changes with updates to the LinkDB search index or client notifications.
If the option Catalogs and search via AppServer [Catalog browsing and search with AppServer] is selected (i.e. not Catalogs, search and database via AppServer [Catalog browsing, search and database with AppServer] ), automatic updates of the LinkDB search index [LinkDB search index] will still work. This is possible because you can configure a "task" on the AppServer that regularly updates the LinkDB search index [LinkDB search index] (with the information from the LOGTABLE).
An older concept (up to V9.08) uses the script nightupdate_erp.vbb
for index updates. This ensures that the ERPTABLE is included in the full-text search index (=Lucene index). (Can optionally also be used in V10/11.) (Details can be found in the script itself.) The advantage of the AppServer solution is that only those parts of the ERP search index in which data has changed are updated. Unless there is something to the contrary in special cases, the nightupdate_erp.vbb
process is no longer required in V10/11.
Task interval for updating the ERP search index. The Task checks the LOGTABLE whether there are new entries available. If yes, the ERP search index is updated
If the value is set, then after a catalog update the search index is automatically updated.
If you do not want the search index to be updated automatically, but want to initiate it manually after an update, proceed as follows:
On this also see Section 4.16.7, “ Update full-text search index after LinkDB changes / plinkcommon.cfg -> Block [Common] -> Key "UPDATESEARCHINDEX" ”.
DBClearLogTask: Interval at which the task for cleaning up the LOGTABLE is started. This task deletes old entries from the LOGTABLE.
Detailed information can be found in the following section.
INSERTS, DELETES and manual UPDATES (by PARTlinkManager or PARTdataManager) are automatically logged in the table LOGTABLE.
LOGID VARCHAR(40) NOT NULL, TABNAME VARCHAR(15) NOT NULL, KEYFLD VARCHAR(15) NOT NULL, LOGKEY VARCHAR(500) NOT NULL, LOGEXT VARCHAR(64), LOGTIME VARCHAR(20) NOT NULL, USERNAME NVARCHAR(20), HOSTNAME NVARCHAR(20), PROGNAME VARCHAR(15), MODTYPE SMALLINT DEFAULT 0 NOT NULL, UPDSEARCH SMALLINT DEFAULT 0 NOT NULL,
The table can be viewed via PARTlinkManager -> Extras menu -> Database -> Edit additional tables.
Meaning of single LOGTABLE columns
To ensure that the task is actually executed, the following settings must be made in the configuration file pappserver.cfg
.
[TaskManagerModule] TimerInterval=60 tasks=loadAll DBSearchIndexTask=1h DBClearLogTask=24h [DBClearLogTask] DaysToKeep=365
TimerInterval: Specifies the interval (seconds) at which the system should check whether a new task is due for execution. (Normally not to be changed)
DBSearchIndexTask: Interval at which the task for updating the ERP search index is started. It then checks in the LOGTABLE whether new entries are available. If so, the ERP index is updated.
DBClearLogTask: Interval at which the task for cleaning up the LOGTABLE is started. This task deletes old entries from the LOGTABLE.
1m Task is executed every minute 1h Task is executed every hour 13:21z Task is executed every day at 13:21 GMT mon 14:30 Task is executed every Monday at 14:30 (locale time) DaysToKeep: Number of days in which the entries are saved in the LOGTABLE.
Manual update of the LinkDB search index: Possible if required. See Section 1.3.3.6.6.4, “LinkDB search index ”.
Initial creation of the Link DB search index:
Time exposure for an initial filling: 100.000 Datasets about 25 min. per role.[15]