1.3.5.8.3.9.  Mises à jour de l'index de recherche ERP

L'AppServer est au courant de toutes les modifications apportées à la base de données, ce qui lui permet de réagir automatiquement aux changements de projets et/ou de rôles en mettant à jour l' index de recherche LinkDB [LinkDB search index] ou en envoyant des notifications aux clients.

Si l'option Catalogues et recherche via AppServer [Catalog browsing and search with AppServer] est sélectionnée (donc pas Catalogues, recherche et base de données via AppServer [Catalog browsing, search and database with AppServer] ), les mises à jour automatiques de l' index de recherche LinkDB [LinkDB search index] fonctionnent quand même. C'est possible car on peut configurer une "tâche" sur l'AppServer qui met régulièrement à jour l' index de recherche LinkDB [LinkDB search index] (avec les infos de LOGTABLE).

Un l’ancien concept (jusqu’à la version 9.08) utilise le script pour les mises à jour d’index nightupdate_erp.vbb. Cela garantit pour que l’ERPTABLE soit inclus dans l’index de recherche en texte intégral (=indice Lucene) est enregistrée. (Peut également être utilisé en option dans les versions V10/11.) (Les détails peuvent être trouvés dans le script lui-même.) L’avantage de la solution AppServer est que seules les parties de l’index de recherche ERP sont mises à jour dans lesquelles Les données ont changé. À moins que, dans des cas particuliers, quelque chose le processus nightupdate_erp.vbb dans la V10/11 ne sera pas plus nécessaire.

Appels de tâches

  • DBSearchIndexTask:

    • Intervalle auquel la tâche de mise à jour de l'index de recherche ERP est lancée. Elle vérifie alors dans le LOGTABLE s'il y a de nouvelles entrées. Si c'est le cas, l'index ERP est mis à jour.

    • Si la valeur est activée, l'index de recherche est en outre automatiquement actualisé après une mise à jour du catalogue.

      Si vous ne souhaitez pas que l'actualisation de l'index de recherche se déroule automatiquement, mais que vous souhaitez la déclencher manuellement après une mise à jour, procédez comme suit :

      1. Supprimez la valeur DBSearchIndexTask de la Clé « Tasks ».

      2. plinkcommon.cfg -> Principales UPDATESEARCHINDEX

        Définissez la valeur sur 1.

        -> Un message apparaît maintenant lorsque vous déclenchez la mise à jour du catalogue, vous demandant si vous souhaitez actualiser automatiquement l'index de recherche ERP après l'installation.

        Souhaitez-vous mettre à jour automatiquement les index de recherche ERP après l'installation ? [Do you want to update the ERP search indexes automatically after installation?]

        Souhaitez-vous mettre à jour automatiquement les index de recherche ERP après l'installation ? [Do you want to update the ERP search indexes automatically after installation?]

      Voir également à ce sujet Section 4.16.7, «  Mettre à jour l'index de recherche plein texte en cas de modification de la LinkDB / plinkcommon.cfg -> Bloc [Common] -> Clé "UPDATESEARCHINDEX".  ».

  • DBClearLogTask: Intervalle dans lequel la tâche de nettoyage du LOGTABLE est lancée. Cette tâche supprime les anciennes entrées du LOGTABLE.

Vous trouverez des informations détaillées à ce sujet dans la section suivante.

1.3.5.8.3.9.1.  Enregistrement des modifications de LinkDB

Les INSERTS, DELETES et les UPDATES manuelles (par PARTlinkManager ou PARTdataManager) peuvent être enregistrées automatiquement dans la table LOGTABLE.

Structure de la 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,

La table peut être consultée via PARTlinkManager -> Menu Outils [Extras] -> Base de données [Database] -> Éditer des tables supplémentaires [Edit additional tables].

Si l'entrée LOGTABLE a été définie dans le fichier de configuration plinkcommon.cfg sous ADDITIONALTABLES, le tableau est affiché ici.

Si l'entrée LOGTABLE a été définie dans le fichier de configuration plinkcommon.cfg sous ADDITIONALTABLES, le tableau est affiché ici.

Signification des différentes colonnes de LOGTABLE

  • LOGID: LOGID est un numéro unique (GUID)

  • TABNAME: Tableau où les modifications sont enregistrées (ERPTABLE ou LINKTABLE).

  • KEYFLD:

    • Pour ERPTABLE, il s'agit toujours de ERP_PDM_NUMMER et LOGKEY contient le numéro ERP.

    • Pour LINKTABLE, il s'agit toujours de PRJ_PATH et LOGKEY contient le chemin d'accès.

  • LOGEXT: Information supplémentaire. Pour les modifications de LinkDB, il s'agit de la version et de l'ID de ligne.

  • LOGTIME: Heure du changement (en UTC)

  • USERNAME: nom de connexion de l'utilisateur qui a effectué la modification.

  • HOSTNAME: nom de l'ordinateur du client

  • PROGNAME: Programme où les modifications ont été effectuées.

  • MODTYPE: type de modification

    Plage de valeurs :

    • 1 : Insert (l'enregistrement a été ajouté)

    • 2 : Mise à jour (l'enregistrement a été modifié)

    • 3 : Delete (l'enregistrement a été supprimé)

    • 4 : Installation (mises à jour pendant l'installation du CIP)

  • UPDSEARCH: Si UPDSEARCH a la valeur 1, l'index de recherche ERP doit être mis à jour. Est remis à 0 par l'AppServer après avoir été mis à jour.

Pour s’assurer que la tâche est effectivement exécutée, Les paramètres suivants doivent toujours être disponibles dans le fichier de configuration pappserver.cfg être.

exemple :

[TaskManagerModule]
TimerInterval=60 
tasks=loadAll 
DBSearchIndexTask=1h
DBClearLogTask=24h

[DBClearLogTask] 
DaysToKeep=365

  • TimerInterval: indique à quel intervalle (en secondes) il faut vérifier si une nouvelle tâche est prête à être exécutée. (Normalement pas à modifier)

  • tasks:

    Plage de valeurs :

    • loadAll: tous les TaskModules doivent être chargés au démarrage de l'AppServer. Actuellement, il n'y en a que deux (DBSearchIndexTask et DBClearLogTask)

  • DBSearchIndexTask: intervalle dans lequel la tâche de mise à jour de l'index de recherche ERP est lancée. Elle vérifie alors dans le LOGTABLE s'il y a de nouvelles entrées. Si c'est le cas, l'index ERP est mis à jour.

  • DBClearLogTask: Intervalle dans lequel la tâche de nettoyage du LOGTABLE est lancée. Cette tâche supprime les anciennes entrées du LOGTABLE.

    Exemples de formats de date possibles :

    1mLa tâche est exécutée toutes les minutes
    1hLa tâche est exécutée toutes les heures
    13:21zTâche exécutée chaque jour à 13:21 GMT
    mon 14:30Tâche exécutée chaque lundi à 14h30 (heure locale)

  • DaysToKeep: nombre de jours pendant lesquels les entrées sont enregistrées dans le LOGTABLE.

[Remarque]Remarque

L’interaction temporelle avec nightupdate.vbb (mise à jour de l’ERPTABLE) doit être observé.

1.3.5.8.3.9.2. Mise à jour manuelle et création initiale de l'index de recherche LinkDB
  • Mise à jour manuelle de l'index de recherche LinkDB: possible si nécessaire. Voir à ce sujet l' Section 1.3.3.6.6.4, « Index de recherche LinkDB  ».

  • Création initiale de l'index de recherche LinkDB:

    Temps nécessaire pour un remplissage initial : 100.000 enregistrements env. 25 min. par rouleau.[15]




[15] Les durées exactes dépendent des circonstances précises telles que la vitesse du réseau, la vitesse du processeur, la vitesse du disque, etc.