1. Introduction à la programmation des Agents en utilisant l'API LotusScript de Desktop Manager |
|
|
La création des Agents Script dans la base Desktop Manager est un complément à l'exécution des Taches (Task) ou à l'application des Profiles (Profile) car ils permettent d'aller plus loin dans la complexité des modifications des postes clients. L'ajonction de code LotusScript autour de l'appels des fonctions permet d'effectuer plus facilement :
- des traitements conditionnels (si on est dans telle situtation, alors on effectue telle opération).
- des traitements multiples (on supprime du Carnet d'adresse local tous les documents Sites, Connection ou Compte qui ne sont pas utiles).
- des traitements séquentiels (supprimer une base, créer une nouvelle réplique à la même place, placer l'icone de la réplique sur l'espace de travail, changer le Notes.ini, ...).
- des traitements récurrents qui chaque jour effectuent une partie du travail à réaliser (créer sur le poste le replica stub d'un dircat, attendre la réplique complète de la base, déclarer la base dans le notes.ini, attendre le redémarrage du client Notes, modifier les options de sélection des adresses dans les documents Location).
- des traitements basés sur le contenu de l'audit précédent du poste (pour toutes les bases ayant une leur icône sur l'espace de travail, on compacte celles qui ont un quota de défini).
Toutes les fonctionnalités disponibles au travers des Taches et des Profiles sont disponibles depuis les Agents Scripts. Il suffit d'appeler la bonne fonction de l'API en lui indiquant les bon paramètres. Pour un programmeur LotusScript, la création d'Agent Script utilisant l'API Desktop Manager ne devrait pas poser de problèmes particulier.
2. Présentation de l'API LotusScript Desktop Manager |
|
|
Les fonctions de l'API (Application Programming Interface) Desktop Manager sont celles disponibles dans la librairie de LotusScript DskMgrSubLib. Ces fonctions LotusScript sont appelées lors de l'exécution des Taches et lors de l'application des Profils. Elles reçoivent des paramètres qui ne sont pas tous utiles si la fonction est appelée depuis un Agent Script. Prenons l'exemple de la fonction dmDeleteDatabase qui est appelée pour la suppression d'une base Notes locale au poste de l'utilisateur :
Sub dmDeleteDatabase(doc_ui As NotesDocument, field_name As String, language As String,
db_name As String,
doc_task As NotesDocument,
doc_user As NotesDocument, doc_install As NotesDocument, check_fixup As Integer)
Les 3 premiers paramètres (doc_ui, field_name, language), que l'on va retrouver dans de nombreuses fonctions de l'API, sont utilisés pour gérer l'affichage des informations en mode Complet. Ils sont donc inutiles pour l'exécution, en arrière plan, de la fonction depuis un Agent Script.
Le quatrième paramètre (db_name) est le nom de la base que l'on souhaite supprimer. Il s'agit habituellement de chemin relatif de la base par rapport au répertoire data du client Notes (ex : Sales\Sales2010.nsf).
Le cinquième paramètre (doc_task) est un document Notes qui va recevoir, dans son champ DM_ErrorMessage, un éventuel message d'erreur.
Les 3 derniers paramètres (doc_user, doc_install, check_fixup) sont utilisés pour fournir des paramètres supplémentaires sur l'environnement Notes (chemin du répertoire Data Notes, chemin du répertoire Programme Notes, chemin du fichier Notes.ini, chemin du fichier Desktop.ndk, chemin du fichier Cache.ndk, chemin de la réplique locale de la base Mail, icônes des bases présentes sur l'espace de travail...) ou pour indiquer certaines préférences issues du Setup (ne pas traiter les bases ayant besoin d'un Fixup...).
Ainsi, depuis un Script, l'appel aux fonctions de l'API va être simplifié :
- Les paramètres doc_ui, field_name et language seront toujours vides
- Le document doc_task sera vide (à moins que l'on souhaite récupérer le contenu du message d'erreur)
Exemple d'appel simplifié depuis un script :
Sub dmDeleteDatabase(Nothing, "", "", db_name, Nothing, doc_user, doc_install, check_fixup)
Pour créer un Agent Script capable d'appeler la fonction, il suffit de créer un nouvel Agent LotusScript dans la base Desktop Manager (ou faire une copie de l'agent d'exemple Sample : Basic Script Agent),
et d'inclure la librairie DskMgrSubLib :
Option Declare
Use "DskMgrSubLib"
Sub Initialize
Dim session As New NotesSession
Dim db_dskmgr As NotesDatabase
Dim db_dskmgruser As NotesDatabase
Dim db_cache As NotesDatabase
Dim doc_user As NotesDocument
Dim doc_install As NotesDocument
' # Open All Desktop Manager databases (DskMgr, DskMgrUser and Cache)
Call GetAllDskMgrDatabase(session, session.CurrentDatabase, db_dskmgr, db_dskmgruser, db_cache)
If (db_dskmgr Is Nothing) Or (db_dskmgruser Is Nothing) Then Exit Sub
' # Get User and Install documents from Desktop Manager User (or Cache) database
Set doc_user = GetUserDocument (session, db_dskmgruser, db_cache)
If doc_user Is Nothing Then Exit Sub
Set doc_install = GetInstallDocument (session, db_dskmgruser, db_cache, doc_user)
If doc_install Is Nothing Then Exit Sub
' ## Delete local Sales2008.nsf database
Call dm_DeleteDatabase (Nothing,"","","Sales\Sales2008.nsf",Nothing,doc_user,doc_install,0)
End Sub
La première fonction a appeler dans un Script est la fonction GetAllDskMgrDatabase de la librairie DskMgrSubLib. Elle va s'occuper de la localisation et de l'ouverture des bases Desktop Manager :
- La base DskMgr contient les documents de Paramétrage de l'application (Reference, Setup, Profile, Template, Hook, Task...).
- La base DskMgrUser contient les documens d'Audit des utilisateurs (User, Install, ...).
- La base Cache est la base Desktop Manager locale (DskMgrStart.nsf) qui contient un copie des différents documents.
Si l'architecture multi-bases n'est pas activée, les bases DskMgr (db_dskmgr) et DskMgrUser (db_dskmgruser) sont une seule et même base. Si l'agent est exécuté depuis la base locale (DskMgrStart.nsf), les bases DskMgr (db_dskmgr) et DskMgrUser (db_dskmgruser) correspondent à la base courante DskMgrStart.nsf et la base Cache (db_cache) est vide (Nothing).
Remarques :
- En mode automatique (Full ou Silent), l'agent est exécuté depuis la base locale (DskMgrStart.nsf). Si l'utilisateur a cliqué sur la base Desktop Manager du serveur, l'agent est exécuté depuis la base serveur (DskMgr.nsf).
- La base courante (session.CurrentDatabase) n'est pas forcément la base DskMgr car les agents contenant le code LotusScript peuvent être exécutés depuis la base locale (DskMgrStart.nsf).
Les documents User et Install sont récupérés en appelant les fonctions GetUserDocument et GetInstallDocument de la librairie DskMgrSubLib. Une fonction similaire existe (GetSetupDocument) pour récupérer le document Setup actif.
Pour exécuter cet agent, il suffit de l'ajouter dans un document Task ou un document Profile, dans la section Execute Script :
Si le nom de l'agent n'apparaît pas dans la liste, pensez à mettre à jour le document Reference de la base (cliquez sur le bouton Refresh Reference depuis la vue Setup). Si ensuite vous devez modifier le code de l'agent, pensez toujours à rafraîchir le document de Reference afin que la synchronisation avec la base locale (DskMgrStart.nsf) puisse se faire correctement.
3. Copie et Exécution des agents LotusScript dans la base locale DskMgrStart.nsf |
|
|
Les agents LotusScript sont créés dans la base Desktop Manager (DskMgr.nsf) sur le serveur. Une fois le document de Reference mis à jour, ils apparaissent dans l'onglet Agent Script :
Si les agents utilisent des bibliothèques LotusScript dédiées, il faudra également copier ces bibliothèques dans la base Desktop Manager du serveur (DskMgr.nsf) et mettre à jour le document Reference. Les bibliothèques LotusScript ne faisant pas partie de l'application Desktop Manager sont regroupées dans le tableau DskMgr Extra librairies du document de Reference :
Lors de la synchronisation des données en arrière plan, entre la base Desktop Manager locale (DskMgrStart.nsf) et la base Desktop Manager du serveur (DskMgr.nsf), les agents et les bibliothèques LotusScript sont copiés dans la base locale (s'ils n'y étaient pas) ou mis à jour (si la version de la base serveur est plus récente). Ce processus est automatique, il n'y a rien à paramétrer pour que cette synchronisation fonctionne. Il convient simplement de penser à mettre à jour le document de Reference si des agents ou des bibliothèques LotusScript sont créés ou modifiés dans la base Desktop Manager du serveur (DskMgr.nsf).
Lors de l'exécution automatique de Desktop Manager sur le poste de l'utilisateur, la base locale Desktop Manager Start (DskMgrStart.nsf) va exécuter les agents LotusScripts définis dans les Tasks et les Profiles. Ces agents vont s'exécuter sur le poste de l'utilisateur, en utilisant les documents (User, Notes Install, Setup, Résultats d'audit...) présents dans la base Desktop Manager Start (DskMgrStart.nsf), sans accéder aux bases Desktop Manager du serveur (DskMgr.nsf et DskMgrUser.nsf). Ne pas dépendre de ressources présentes sur un serveur Domino permet à l'agent de s'exécuter beaucoup plus vite et en toute circonstance (mode déconnecté...). A l'inverse, si l'agent a besoin d'accéder à des ressources spécifiques (vues, documents de paramétrage...), il faudra soit les copier dans la base locale, soit ouvrir la base contenant les ressources sur son serveur.
4. Liste des fonctions de l'API LotusScript Desktop Manager |
|
|
Afin de simplifier la lecture des prototypes des fonctions de l'API, elles ont été regroupées en blocs fonctionnels (toutes les fonctions manipulant le fichier Cache.ndk sont ensembles) et les paramètres récurrents (doc_user, doc_install, check_fixup) ne recoivent plus leur type de données dans la déclaration. De plus, les premiers paramètres qui sont toujours vides sont remplacés par des constantes :
Déclaration complète :
Sub dmDeleteDatabase(doc_ui As NotesDocument, field_name As String, language As String,
db_name As String,
doc_task As NotesDocument,
doc_user As NotesDocument, doc_install As NotesDocument, check_fixup As Integer)
Déclaration simplifiée :
Sub dmDeleteDatabase(Nothing, "", "", db_name As String, Nothing, doc_user, doc_install, check_fixup)
db_name : Chemin de la base Notes à supprimer.
Cette fonction supprime du disque une base Notes locale.
Catégories |
|
|
Espace de Travail |
|
|
|
Nom de la fonction |
|
Définition |
| dmDesktopPreference | Modifie les préférences d'affichage de l'espace de travail. | |
| dmDesktopChangeString | Modifie le nom des bases affichées sur l'espace de travail. | |
| dmCompactDesktop | Compacte l'espace de travail de l'utilisateur. | |
| dmBackupDesktop | Effectue une sauvegarde du contenu du fichier desktop.dsk et horodate cette sauvegarde. | |
| dmRestoreDesktop | Effectue une restauration du contenu du fichier desktop.dsk à une date spécifiée. | |
| dmDeleteDesktop | Supprime le fichier desktop.ndk du disque dur de l'utilisateur. | |
| dmAddDbIcon | Ajoute l'icône d'une base locale ou d'une base hébergée sur un serveur sur l'espace de travail. | |
| dmMoveDbIcon | Déplace une icône de base sur une page existante de l'espace de travail, à une position définie. | |
| dmRemoveDbIcon | Supprime la ou les icônes d'une ou plusieurs bases présentes sur l'espace de travail. | |
| dmCreatePage | Crée une nouvelle page sur l'espace de travail ou change la couleur / déplace une page existante. | |
| dmRenamePage | Renomme une page existante de l'espace de travail. | |
| dmRemovePage | Supprime une page de l'espace de travail. | |
| dmGetDesktopPath | Retourne le chemin complet du fichier desktop.ndk. | |
| dmGetDBReplicaIDFromWorkspace | Retourne le ReplicaID d'une base dont l'icone est peut être présente sur l'espace de travail. |
Sub dmDesktopPreference(Nothing, "", "", preference As Integer, doc_user, doc_install)
preference : 16 = Ne pas affficher les noms de serveur, 18 = Afficher les noms de serveur, 32 = Ne pas empiler les icones, 36 = Empiler les icones, 8 = Ne pas afficher les non lus, 9 = Afficher les non lus.
Modifie les préférences d'affichage de l'espace de travail (affichage des noms de serveurs, empilement des icones, affichage des non lus). Il est possible de cumuler la modification de plusieurs flags en additionnant les valeurs (44=36+8 :Empiler les icones + ne pas afficher les non lus).Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Call dmDesktopChangeString(Nothing, "", "",string_src As String, string_dst As String, doc_user, doc_install)
string_src : Sous-chaine de caractère recherchée
string_dst : Sous-chaine de caractère de remplacement
Modifie le nom des bases affichées sur l'espace de travail. Le nom des bases contient le nom du serveur si celles-ci sont hébergées sur un serveur (<nom_serveur>!!<chemin_base>) ou simplement le nom de la base (<chemin_base>) si celle-ci est locale au poste. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmCompactDesktop (Nothing, "", "")
Compacte l'espace de travail de l'utilisateur. Cette action se fait la fermeture de la base Desktop Manager.
Sub dmBackupDesktop (Nothing, "", "", desktop_file_path As String, history_period As Integer, doc_user)
desktop_file_path : Chemin complet du fichier desktop.dsk.
history_period : Durée maximale (en jours) de rétention des fichiers de backup. Au delà de cette limite, tous les fichiers plus anciens seront supprimés.
Effectue une sauvegarde du contenu du fichier desktop.dsk et horodate cette sauvegarde. Le fichier est placé dans le répertoire temporaire de l'utilisateur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmRestoreDesktop (Nothing, "", "", desktop_file_path As String, file_date As String, doc_user)
desktop_file_path : Chemin complet du fichier desktop.dsk.
file_date : Date du fichier de restauration. La date est sous la forme YYYYMMDD (ex : 20080325)
Effectue une restauration du contenu du fichier desktop.dsk à une date spécifiée. Pour cela, il convient de disposer du fichier de sauvegarde correspondant à la date demandée. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmDeleteDesktop (Nothing, "", "", doc_user, doc_install)
Supprime le fichier desktop.ndk du disque dur de l'utilisateur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmAddDbIcon (Nothing, "", "", db_fullname As String, check_fixup)
db_fullname : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf), relatif au répertoire Notes data (Sales\Sales.nsf) ou avec le nom du serveur (ex : CN=King/O=Cooper!!Sales.nsf) pour une base hébergée sur un serveur.
Ajoute l'icône d'une base locale ou d'une base hébergée sur un serveur sur l'espace de travail.
Sub dmMoveDbIcon (Nothing, "", "", db_name As String, page_name As String, x As String, y As String, doc_user, doc_install)
db_name : Chemin de la base (avec ou sans nom de serveur) telle qu'elle est stockée dans le fichier desktop.dsk.
page_name : Nom de la Page de l'espace de travail où déplacer cette icone.
x : Coordonnée X où déplacer l'icone ("1" ou plus).
y : Coordonnée Y où déplacer l'icone ("1" ou plus)
Déplace une icône de base sur une page existante de l'espace de travail, à une position définie. Si une icone existe déjà à cet endroit, celle-ci sera déplacée plus bas. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmRemoveDbIcon (Nothing, "", "", db_fullname As String, doc_user, doc_install)
db_fullname : Chemin de la base (avec ou sans nom de serveur) telle qu'elle est stockée dans le fichier desktop.dsk. Il est possible d'utiliser des caractères * pour désigner plusieurs bases.
Supprime la ou les icônes d'une ou plusieurs bases présentes sur l'espace de travail. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmCreatePage (Nothing, "", "", page_name As String, color As String, position As String, doc_user, doc_install)
page_name : Nom de la Page de l'espace de travail. Pour désigner la Xième page, il suffit d'indiquer Page #x (ex : "Page #1" pour la 1ère page)
color : Nouveau code couleur de la page (entre "1" et "240").
position : Nouvelle postion de la page (entre "1" et "32").
Crée une nouvelle page sur l'espace de travail ou change la couleur / déplace une page existante. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmRenamePage (Nothing, "", "", page_name_src As String, page_name_dst As String, doc_user, doc_install)
page_name_src : Nom actuel de la Page de l'espace de travail. Pour désigner la Xième page, il suffit d'indiquer Page #x (ex : "Page #1" pour la 1ère page)
page_name_dst : Nouveau nom de la Page de l'espace de travail.
Renomme une page existante de l'espace de travail. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmRemovePage (Nothing, "", "", page_name As String, doc_user, doc_install)
page_name : Nom de la page de l'espace de travail. Pour désigner la Xième page, il suffit d'indiquer Page #x (ex : "Page #1" pour la 1ère page).
Supprime une page de l'espace de travail. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Function dmGetDesktopPath As String
Retourne le chemin complet du fichier desktop.ndk (ex : c:\Lotus\Notes\data\desktop6.ndk).
Function dmGetDBReplicaIDFromWorkspace (doc_install, server_name As String, database_name As String) As String
server_name : Nom du serveur ("" pour une base locale).
database_name : Chemin de la base sur le serveur ou chemin de la base locale relatif au répertoire Data Notes.
Retourne le ReplicaID d'une base dont l'icone est peut être présente sur l'espace de travail. Si la base n'est pas présente, la fonction revoit la chaine vide (""). Cette fonction a été optimisée pour répondre très rapidement à de multiples demandes. C'est la manière la plus rapide de déterminer si une base est présente sur l'espace de travail de l'utilisateur.
Fichier Cache.ndk |
|
|
|
Nom de la fonction |
|
Définition |
| dmSetCacheSize | Impose au fichier Cache.dsk une taille maximale. | |
| dmDeleteCache | Supprime le fichier Cache.NDK. | |
| dmGetCachePath | Retourne le chemin complet du fichier cache.ndk en absolu. |
Sub dmSetCacheSize (Nothing, "", "", cache_size As String, doc_user, doc_install)
cache_size : Taille maximale (en MB) du cache.
Impose au fichier Cache.dsk une taille maximale. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmDeleteCache (Nothing, "", "", doc_user, doc_install)
Supprime le fichier Cache.NDK. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Function dmGetCachePath As String
Retourne le chemin complet du fichier cache.ndk en absolu (ex : E:\Program Files\lotus702fr\notes\data\cache.ndk).
Fichier Bookmark.nsf |
|
|
|
Nom de la fonction |
|
Définition |
| dmAddBookmarkWorkspace | Permet d'ajouter l'icône de l'espace de travail dans la partie gauche de l'écran, sous le réplicateur. | |
| dmAddBookmarkEntry | Permet d'ajouter des bases au Bookmark. | |
| dmDeleteBookmarkEntry | Supprimer l'entrée du bookmark pour une base donnée. |
Sub dmAddBookmarkWorkspace (Nothing, "", "", caption_name As String, is_default As String, Nothing, check_fixup)
caption_name : Libellé qui apparait en sur-impression quand on place la souris sur l'icone dans le navigateur de gauche.
is_default : "1" pour définirl'espace de travail comme page d'accueil de Notes, "" sinon.
Permet d'ajouter l'icône de l'espace de travail dans la partie gauche de l'écran, sous le réplicateur. Il est possible de définir l'espace de travail comme Page d'accueil de Notes.
Sub dmAddBookmarkEntry (Nothing, "", "", database_name As String, position As String, is_default As String, Nothing, check_fixup)
database_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf), relatif au répertoire Notes data (ex : Sales\Sales.nsf) ou avec le nom du serveur (ex : CN=King/O=Cooper!!Sales.nsf) pour une base hébergée sur un serveur.
position : "1" pour placer la base dans le dossier Bases de document, "2" pour placer l'icone de la base dans le navigateur de gauche.
is_default : "1" pour définir la base comme page d'accueil de Notes, "" sinon.
Permet d'ajouter des bases au Bookmark, soit dans le dossier Bases de documents (Database), soit dans la partie gauche de l'écran (Root). Il est également possible de définir une base comme Page de démarrage du client Notes.
Sub dmDeleteBookmarkEntry (Nothing, "", "", database_name As String, Nothing, check_fixup)
database_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf), relatif au répertoire Notes data (ex : Sales\Sales.nsf) ou avec le nom du serveur (ex : CN=King/O=Cooper!!Sales.nsf) pour une base hébergée sur un serveur.
Supprimer l'entrée du bookmark pour une base donnée.
Fichier Notes.ini |
|
|
|
Nom de la fonction |
|
Définition |
| dmChangeNotesIniVariable | Affecte la valeur à une variable dans le fichier Notes.ini de l'utilisateur courant. | |
| dmAddNotesIniLine | Ajoute la ligne à la fin du fichier notes.ini. | |
| dmRemoveNotesIniLine | Supprime une ligne dans le fichier notes.ini. | |
| GetNotesIniPath | Retourne le chemin complet du fichier notes.ini en absolu |
Sub dmChangeNotesIniVariable (Nothing, "", "", variable_name As String, variable_value As String)
variable_name : Nom de la variable à modifier.
variable_value : Valeur à affecter à la variable.
Affecte la valeur à une variable dans le fichier Notes.ini de l'utilisateur courant.
Sub dmAddNotesIniLine (Nothing, "", "", file_line As String, doc_user, doc_install)
file_line : Nom ligne à jouter au fichier Notes.ini.
Ajoute la ligne à la fin du fichier notes.ini. Cela permet d'ajouter des lignes formattées autrement que <variable>=<valeur>. Cette action est réalisée par DskMgr.exe quand le client Notes n'est pas en mémoire.
Sub dmRemoveNotesIniLine (Nothing, "", "", file_line As String, doc_user, doc_install)
file_line : Ligne du fichier Notes.ini à supprimer
Supprime une ligne dans le fichier notes.ini. Cela permet de supprimer des lignes formatées autrement que <variable>=<valeur>. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Function GetNotesIniPath As String
Retourne le chemin complet du fichier notes.ini en absolu (ex : E:\Program Files\lotus\notes\data\notes.ini).
Fonctions gérant les Réplications |
|
|
|
Nom de la fonction |
|
Définition |
| dmCreateReplica | Crée en local le talon de réplique d'une base hébergée sur un serveur. | |
| dmCreateCheckReplica | Crée une replique locale d'une base si elle n'existe pas déjà. | |
| dmReplicateDatabaseWithServer | Effectue une réplication entre une base locale et sa réplique sur un serveur. | |
| dmChangeReplication | Change les options de réplication d'une base locale. | |
| dmChangeReplicaID | Modifie le Replica ID d'une base locale. | |
| dmModifyReplicationHistory | Modifie les noms de serveurs et les noms de bases dans l'historique de réplication d'une base locale. | |
| dmClearReplicationHistory | Efface l'historique de réplication de la base locale. | |
| dmChangeServerInReplicators | Recherche et Remplace le nom d'un serveur dans les entrées des pages des onglets Réplicateur. | |
| dmChangeDatabaseInReplicators | Recherche et Remplace le nom d'une base dans les entrées des pages des onglets Réplicateur. | |
| dmUpdateReplicator | Modifie les options présentes dans les entrées des onglets Réplicateur pour une base locale. | |
| dmRemoveDbFromReplicator | Supprime de la page réplicateur des documents Site, les entrées concernant la réplique locale d'une base. | |
| dmChangeReplicationFormula | Duplique, pour une base locale, une formule de réplication créée vers un serveur pour un nouveau serveur. | |
| dmGetLastReplicate | Retourne le nom du serveur avec lequel une base a répliqué en dernier. | |
| dmGetDatabaseReplicatorSettings | Extrait un des paramètres des toutes les pages réplicateur pour une base Notes locale. | |
| dmChangeDbPositionInReplicator | Change la position d'une base dans la page réplicateur des documents Site, | |
| dmSetManagedReplica | Change les préférences du client Notes concernant le Managed Replica. |
Sub dmCreateReplica (Nothing, "", "", server_path As String, local_path As String, formula As String, flags As String, stack_icon As Integer, replicate As Integer, Nothing, doc_user, check_fixup)
server_path : Chemin de la base sur le serveur (ex : CN=King/O=Cooper!!Sales.nsf).
local_path : Chemin de la réplique en local, relatif au répertoire Notes data (ex : Sales\Sales.nsf).
formula : Formule de sélection de documents à ajouter dans la réplique locale.
flags : Flags de chiffrement de la réplique locale (EncryptSimple, EncryptMedium ou EncryptStrong).
stack_icon : 1 pour que l'icone de la base locale soit placée en haut de la pile des icônes, 2 pour que cela soit celle du serveur.
replicate : 1 si on souhaite répliquer la base immédiatement, 0 si elle doit être répliquée en arrière plan par le réplicateur.
Crée en local le talon de réplique d'une base hébergée sur un serveur. Les icônes des deux bases sont ajoutés sur l'espace de travail.
Sub dmCreateCheckReplica (Nothing, "", "", server_path As String, local_path As String, formula As String, flags As String, stack_icon As Integer, replicate As Integer, Nothing, doc_user, check_fixup)
server_path : Chemin de la base sur le serveur (ex : CN=King/O=Cooper!!Sales.nsf).
local_path : Chemin de la réplique en local, relatif au répertoire Notes data (ex : Sales\Sales.nsf).
formula : Formule de sélection de documents à ajouter dans la réplique locale.
flags : Flags de chiffrement de la réplique locale (EncryptSimple, EncryptMedium ou EncryptStrong).
stack_icon : 1 pour que l'icone de la base locale soit placée en haut de la pile des icônes, 2 pour que cela soit celle du serveur.
replicate : 1 si on souhaite répliquer la base immédiatement, 0 si elle doit être répliquée en arrière plan par le réplicateur.
Vérifie qu'il n'existe pas déjà une réplique locale d'une base, auquel cas cela créer la réplique et ajoute les icônes des bases sur l'espace de travail.
Sub dmReplicateDatabaseWithServer (Nothing, "", "", db_name As String, server_name As String, Nothing, check_fixup)
db_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf).
server_name : Nom du serveur (ex : CN=Queen/O=Cooperteam).
Effectue une réplication entre une base locale et sa réplique sur un serveur. Cela permet d'ajouter le nom du serveur dans l'historique de réplication de la base.
Sub dmChangeReplication (Nothing, "", "", db_name As String, command_replication As String, Nothing, check_fixup)
db_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf).
command_replication : Ligne de commande pour la modification des options de réplication (cf Les Tâches utilisateurs pour obtenir la liste des options possibles).
Change les options de replication d'une base locale.
Sub dmChangeReplicaID (Nothing, "", "", db_name As String, replica_id As String, Nothing, check_fixup)
db_name : Chemin de complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf).
replica_id : Nouvel id de replique de la base (ex : "C1256E38:A52189A2"). Il est possible d'utiliser le mot clé "@Now" pour demander un id de réplique unique.
Modifie le Replica ID d'une base locale.
Sub dmModifyReplicationHistory (Nothing, "", "", db_name As String, src_server_database As String, dst_server_database As String, Nothing, check_fixup)
db_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf).
src_server_database: Nom du serveur !! nom de la base que l'on veut remplacer (ex : CN=King/O=Cooperteam!!Sales.nsf).
dst_server_database: Nom de serveur !! nom de la base de remplacement (ex : CN=Queen/O=Cooper!!Sales\Sales.nsf).
Modifie les noms de serveurs et les noms de bases dans l'historique de réplication d'une base locale.
Sub dmClearReplicationHistory (Nothing, "", "", db_name As String, Nothing, check_fixup)
db_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf).
Efface l'historique de réplication de la base locale.
Sub dmChangeServerInReplicators (Nothing, "", "", location_name As String, database_name As String, server_src_name As String, server_dst_name As String, Nothing, check_fixup)
location_name : Liste de noms des documents Site à modifier. Il est possible d'utiliser le caractère * pour indiquer de traiter tous les documents Sites.
database_name : Chemin de la replique locale. Si vous n'indiquez aucun nom de base (""), le nom du serveur sera recherché / remplacé dans toutes les entrées du réplicateur.
server_src_name : Nom du serveur à rechercher (ex : CN=King/O=Cooperteam). Vous pouvez utiliser des caractères joker (*).
server_dst_name : Nom du serveur de remplacement (ex : CN=Queen/O=Cooperteam).
Recherche et Remplace le nom d'un serveur dans les entrées des pages des onglets Réplicateur.
Sub dmChangeDatabaseInReplicators (Nothing, "", "", location_name As String, database_src_name As String, database_dst_name As String, Nothing, check_fixup)
location_name : Liste de noms des documents Site à modifier. Il est possible d'utiliser le caractère * pour indiquer de traiter tous les documents Sites.
database_src_name : Nom de la base à rechercher (ex : mail\archive.nsf).
database_dst_name : Nom de la base de remplacement (ex : archive\archive_2010.nsf).
Recherche et Remplace le nom d'une base dans les entrées des pages des onglets Réplicateur.
Sub dmUpdateReplicator (Nothing, "", "", location_name As String, database_name As String, checked_flag As String, replicate_flag As String, server_name As String, direction As String, trunc As String, trunc_limit_doc As String, trunc_limit_file As String, Nothing, check_fixup)
location_name : Liste de noms des documents Site à modifier. Il est possible d'utiliser le caractère * pour indiquer de traiter tous les documents Sites.
database_name : Chemin de la base locale relatif au réperoire data (ex : Sales\Sales.nsf)
checked_flag : "X" pour activer la replication, "" pour la désactiver.
replicate_flag : Choix du serveur de réplication ("1" = Any available, "2" = Try first ou "3" = Only with).
server_name : Nom du serveur avec lequel la base doit répliquer (ex : CN=Queen/O=Cooperteam), si replicate_flag est "2" ou "3".
direction : Direction du flux de réplication ("<-->" = bi-directionnel, "-->" : envoi vers le serveur, "<--" : réception depuis le serveur, ou "X" = pas de flux).
trunc : Troncature de ce qui est reçu ("0" = Full, "1" = Summary, "2" = Partial ou "3" = Smallest First).
trunc_limit_doc : Taille limite des documents reçus (en KB) si trunc vaut "2".
trunc_limit_file : Taille limite des fichiers attachés reçus (en KB) si trunc vaut "2".
Modifie les options présentes dans les entrées des onglets Réplicateur pour une base locale.
Sub dmRemoveDbFromReplicator (Nothing, "", "", location_name As String, database_name As String, Nothing, check_fixup)
location_name : Liste de noms des documents Site à modifier. Il est possible d'utiliser le caractère * pour indiquer de traiter tous les documents Sites.
database_name : Chemin de la réplique locale relatif au répertoire Notes data (ex : Sales\Sales.nsf).
Supprime de la page replicateur des documents Site, les entrées concernant la réplique locale d'une base.
Sub dmChangeReplicationFormula (Nothing, "", "", database_name As String, server_src_name As String, server_dst_name As String, Nothing, check_fixup)
database_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf)
server_src_name : Nom du serveur (ex : CN=King/O=Cooperteam) pour lequel existe déjà une formule de réplication dans la base.
server_dst_name : Nom du nouveau serveur (ex : CN=Queen/O=Cooperteam).
Duplique, pour une base locale, une formule de réplication créée vers un serveur pour un nouveau serveur. La base pourra donc répliquer avec le nouveau serveur avec les mêmes options (formule de réplication, options...) qu'avec l'ancien.
Function dmGetLastReplicate (db_name As String, check_fixup) As String
db_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf), relatif au répertoire Notes data (Sales\Sales.nsf) ou avec le nom du serveur (ex : CN=King/O=Cooper!!Sales.nsf).
Retourne le nom du serveur avec lequel une base a répliqué en dernier.
Function dmGetDatabaseReplicatorSettings (database_name As String, setting_name As String) As String
database_name : Chemin de la base locale.
setting_name : Nom du paramètre à récupérer :
"Location Name" : Nom du document Site.
"Check" : Indique si la base est cochée ("X" si cochée, "" si non cochée).
"Database Path" : Chemin de la base.
"Replica ID" : ReplicaID de la base.
"Type" : Type d'entrée ("Database", "MailBox", "Template", "Call Server", "Hangup", "Schedule", "Sched Req" ou "Other").
"Direction" : Sens de réplication ("<-->", "-->", "<--" ou "X").
"Truncature" : Troncature des documents ("Full documents", "Partial documents", "Summary only", "Smallest first" ou "???").
"Trunc Doc" : Taille maximale (en KB) des documents si l'option "Partial documents" est sélectionnée.
"Trunc File" : Taille maximale (en KB) des fichiers si l'option "Partial documents" est sélectionnée.
"Prefered Server" : Choix du serveur pour la réplication ("Try last successful", "Try first", "Only" ou "???").
"Server Name" : Nom du serveur si le choix du serveur vaut "Try first" ou "Only".
Extrait un des paramètres des toutes les pages réplicateur pour une base Notes locale. Le résultat est renvoyé sous la forme d'une liste de valeurs, séparées par le caractère ';'. Cette fonction permet par exemple de vérifier si une base est présente dans une des pages du réplicateur et de connaître la liste des serveurs avec laquelle est peut répliquer. Cette fonction a été optimisée pour répondre très rapidement à de multiples demandes. C'est la manière la plus rapide de déterminer si une base est présente dans une des pages du réplicateur.
Sub dmChangeDbPositionInReplicator (Nothing, "", "", location_name As String, database_name As String, database_position As String, Nothing, check_fixup)
location_name : Liste de noms des documents Site à modifier. Il est possible d'utiliser le caractère * pour indiquer de traiter tous les documents Sites.
database_name : Chemin de la réplique locale relatif au répertoire Notes data (ex : Sales\Sales.nsf).
database_position : Nouvelle position (1 - N) de la base dans la page du Réplicateur.
Change la position de la base dans la page réplicateur des documents Site.
Sub dmSetManagedReplica (session, Nothing, "", "", preference As String, Nothing)
preference : valeur (1, 3, 7 ou 8) définissant l'option Managed Replica du client Notes :
1 - Create a local replica of the user's mail file. If a local managed replica exists, convert it to a standard local replica.
3 - Create a local managed replica of the user's mail file. If a local replica already exists, do nothing.
7 - Create a local managed replica of the user's mail file. If a local replica already exists, convert it to a managed replica.
8 - Delete the local replica of the user's mail file (managed or not).
Modifie les préférences du client Notes concernant le Managed Replica.
Fonctions de traitement des Bases Notes |
|
|
|
Nom de la fonction |
|
Définition |
| dmCompactDatabase | Compacte une base Notes. | |
| dmFixupDatabase | Effectue un fixup sur une base Notes. | |
| dmRebuildView | Reconstruit les index des vues d'une base Notes. | |
| dmRebuildFT | Reconstruire l'index Full Text d'une base Notes. | |
| dmDeleteFT | Supprime l'index Full Text d'une base Notes. | |
| dmUpdatePrivateView | Met à jour le design des vues privée d'une base. | |
| dmPurgeLogDatabase | Supprime les documents obsolètes du fichier Log.nsf local. | |
| dmClearLocationHiddenField | Supprime, dans les champs cachés des documents Site, toutes les références à une valeur. | |
| dmCopyDatabase | Crée une nouvelle base local en effectuant une copie d'une base existante en local ou sur un serveur. | |
| dmCreateDatabaseFromTemplate | Crée une nouvelle base à partir d'un Template. | |
| dmDeleteDatabase | Supprime une base Notes. | |
| dmChangeString | Recherche, remplace ou affecte une chaîne de caractère dans les documents d'une base Notes. | |
| dmCopyDocument | Permet de copier un ensemble de documents d'une base source vers une base destination. | |
| dmSynchronizeDocument | Permet de synchroniser de façon bijective les champs d'un ensemble de documents d'une base à une autre. | |
| dmDeleteDocument | Supprime un ensemble de documents d'une base Notes. | |
| dmChangeDatabaseOption | Modifie les options d'une base Notes. | |
| dmSetQuota | Change ou définit le quota affecté à une base Notes. | |
| dmRefreshDesign | Rafraîchit le design d'une base Notes avec un modèle se trouvant sur un serveur. | |
| dmReplaceDesign | Remplace le design de la base Notes avec un modèle de base se trouvant en local ou sur un serveur. | |
| dmChangeACL | Modifie la LCA d'une base Notes. | |
| dmEncryptDatabase | Chiffre ou Déchiffre une base locale. | |
| dmIsDatabaseEncrypted | Retourne l'état de chiffrement d'une base locale. | |
| dmGetDocumentNumber | Retourne le nombre de document d'une base Notes. | |
| dmGetDatabasePathFromReplicaID | Récupère le chemin d'une base Notes à partir de son ReplicaID. | |
| dmMoveDatabase | Permet de re-configurer le poste de l'utilisateur pour une base qui a été déplacée d'un serveur à un autre. | |
| GetRelativePath | Récupère le chemin d'une base Notes relatif au répertoire Data. | |
| dmDeleteDeletionStubs | Supprime les Deletion Stubs d'une base Notes. |
Sub dmCompactDatabase (Nothing, "", "", db_name As String, Nothing, 0, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
Compacte une base Notes. Si la base ne peut pas être compactée immédiatement et qu'elle n'est pas chiffrée, elle sera compactée ultérieurement, via l'exécutable DskMgr.exe.
Sub dmFixupDatabase (Nothing, "", "", db_name As String, Nothing, 0, "")
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
Effectue un fixup sur une base Notes.
Sub dmRebuildView (Nothing, "", "", db_name As String, Nothing, 0, data_folder As String, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
data_folder : Chemin du répertoire Data Notes.
Reconstruit les index des vues d'une base Notes.
Sub dmRebuildFT (Nothing, "", "", db_name As String, Nothing, 0, data_folder As String, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
data_folder : Chemin du répertoire Data Notes.
Reconstruire l'index Full Text d'une base Notes.
Sub dmDeleteFT (Nothing, "", "", db_name As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
Supprime l'index Full Text d'une base Notes.
Sub dmUpdatePrivateView (Nothing, "", "", db_name As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
Met à jour le design des vues privée d'une base.
Sub dmPurgeLogDatabase (Nothing, "", "", Nothing, period_purge As Long, check_fixup)
period_purge : Période de conservation (en mois) des documents du Log.nsf (ex : 3 = supprimer tout document de plus de 3 mois).
Supprime les documents obsolètes du fichier Log.nsf local.
Sub dmClearLocationHiddenField (Nothing, "", "", location_list As String, value_list As String, Nothing)
location_list : Liste des noms de documents Site à traiter. Il est possible d'utiliser le caractère * pour indiquer que l'on veut traiter tous les documents Sites.
value_list : Liste des valeurs que l'on souhaite retirer des champs cachés (ex : CN=King/O=Cooperteam!!mail\rjohnson.nsf).
Supprime, dans les champs cachés des documents Site ($StackFileNames, $LastFileNames, ...), toutes les références à une valeur (nom de base, nom de serveur....).
Sub dmCopyDatabase (Nothing, "", "", server_path As String, local_path As String, Nothing, check_fixup)
server_path : Chemin de la base source qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
local_path : Chemin de la nouvelle base en local (ex : Sales\Sales.nsf).
Crée une nouvelle base local en effectuant une copie d'une base existante en local ou sur un serveur. L'icône de la nouvelle base est placée sur l'espace de travail.
Sub dmCreateDatabaseFromTemplate (Nothing, "", "", db_path As String, db_template_path As String, db_title As String, inherit As Integer, Nothing)
db_path : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
db_template : Chemin du tempate utilisé pour créer la base. Il peut être en local (ex : names.ntf) ou sur un serveur (ex : CN=King/O=cooperteam!!names.ntf).
db_title : Titre de la nouvelle base.
inherit : 1 pour indiquer que la nouvelle base hérite du template, 0 sinon.
Crée une nouvelle base à partir d'un Template. L'icône de la nouvelle base est placée sur l'espace de travail.
Sub dmDeleteDatabase (Nothing, "", "", db_name As String, Nothing, doc_user, doc_install, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
Supprime une base Notes. Cela supprime également l'icone sur l'espace de travail. Cette dernière action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmChangeString (Nothing, "", "", db_name As String, formula_doc As String, fields_process As String, fields_exclude As String, source_string As String, replace_string As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
formula_doc : Formule de sélection des documents à modifier (ex : Form = "Location").
fields_process : Liste des champs dans lesquels on va rechercher la valeur (ex : ServerName,DirectoryServer,SametimeServer). Il est possible d'utiliser le caractère * pour indiquer de traiter tous les champs.
fields_exclude : Liste des champs à exclure du traitement (dans le cas où on traite tous les champs).
source_string : Valeur recherchée (* pour indiquer n'importe quelle valeur = on veut remplacer sans se soucier de la valeur présente)
replace_string : Valeur de remplacement.
Recherche / Remplace ou Affecte une chaine de caractère dans les documents d'une base Notes.
Sub dmCopyDocument (Nothing, "", "", db_name_src As String, db_name_dst As String, formula_doc As String, Nothing, check_fixup)
db_name_src : Chemin de la base Source qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
db_name_dst : Chemin de la base Destination qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
formula_doc : Formule de sélection des documents dans la base Source (ex : Form = "Person").
Permet de copier un ensemble de documents d'une base source vers une base destination.
Sub dmSynchronizeDocument (Nothing, "", "", db_name_src As String, db_name_dst As String, formula_src As String, formula_dst As String, formula_key As String, delete_document As Integer, Nothing, check_fixup)
db_name_src : Chemin de la base Source qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
db_name_dst : Chemin de la base Destination qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
formula_src : Formule de sélection des documents dans la base Source (ex : Form = "Person").
formula_src : Formule de sélection des documents dans la base Destination (ex : Form = "Person").
formula_key : Nom du champ ou @Formula Notes utilisé pour définir la clé de synchronisation (ex : "FullName").
delete_document : Indique si on autorise la suppression des documents dans la base destination (1 pour autoriser, 0 pour interdire).
Permet de synchroniser de façon bijective les champs d'un ensemble de documents d'une base source vers une base destination.
Sub dmDeleteDocument (Nothing, "", "", db_name As String, formula_doc As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
formula_doc : Formule de sélection des documents à supprimer (ex : Form = "Location" & Name = "Office")
Supprime un ensemble de documents d'une base Notes.
Sub dmChangeDatabaseOption (Nothing, "", "", db_name As String, command_option As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
command_option : Ligne de commande pour la modification des options (cf Les Tâches utilisateurs pour obtenir la liste des options possibles).
Modifie les options d'une base Notes.
Sub dmSetQuota (Nothing, "", "", db_name As String, warning As String, max_size As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
warning : Taille (en MB) à partir de laquelle l'utilisateur reçoit un message.
max_size : Taille maximale de la base (en MB).
Change ou définit le quota affecté à une base Notes.
Sub dmRefreshDesign (Nothing, "", "", db_name As String, template_server As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
template_server : Nom du serveur hébergeant le modèle.
Rafraîchit le design d'une base Notes avec un modèle se trouvant sur un serveur.
Sub dmReplaceDesign (Nothing, "", "", db_name As String, template_name As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
template_name : Nom du modèle en local (ex : names.ntf) ou sur un serveur (ex : CN=King/O=Cooperteam!!names.ntf).
Remplace le design de la base Notes avec un modèle de base se trouvant en local ou sur un serveur.
Sub dmChangeACL (Nothing, "", "", db_name As String, command_acl As String, Nothing, check_fixup)
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
command_acl : Ligne de commande pour la modification de la LCA (cf Annexe 7 : Syntaxe des commandes ChangeACL)
Modifie la LCA d'une base Notes (entrées, roles, options...).
Sub dmEncryptDatabase (Nothing, "", "", db_name As String, encrypt_flag As String, Nothing, 0, data_folder As String, check_fixup)
db_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf).
encrypt_flag : Niveau de chiffrement (EncryptSimple, EncryptMedium ou EncryptStrong) ou de déchiffrement (EncryptNone),
data_folder : Chemin du répertoire Data Notes.
Chiffre ou Déchiffre une base locale. La base doit être compactée juste après le chiffement / déchiffrement.
Function dmIsDatabaseEncrypted (db_name As String) As Integer
db_name : Chemin complet de la base locale en absolu (ex : c:\Notes\Data\Sales\Sales.nsf) ou relatif au répertoire Notes data (ex : Sales\Sales.nsf).
Retourne 1 si la base locale spécifiée est chiffrée, 0 si elle ne l'est pas et 2 autrement (base inaccessible...).
Function dmGetDocumentNumber (db_name As String, check_fixup) As Long
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
Retourne le nombre de document d'une base Notes (renvoi 0 en cas si la base n'est pas accessible).
Function dmGetDatabasePathFromReplicaID (server_name As String, replica_id As String) As String
server_name : Nom du serveur hébergeant la base ("" pour une base locale).
replica_id : ReplicaID de la base.
Récupère le chemin d'une base Notes (relatif au répertoire data) à partir de son ReplicaID.
Sub dmMoveDatabase (Nothing, "", "", session, doc_user, doc_install, old_server_name As String, old_database_name As String, new_server_name As String, new_database_name As String, is_mail_file As Integer, doc_log As NotesDocument, field_name_log As String, Nothing)
old_server_name : Nom de l'ancien serveur
old_database_name : Chemin de la base sur son ancien serveur.
new_server_name : Nom du nouveau serveur.
new_database_name : Chemin de la base sur son nouveau serveur.
is_mail_file : Indique si la base est la base Mail de l'utilisateur (1) ou non (0).
doc_log : Document de Log recevant les messages de progression du traitement (Nothing si aucun document n'est fourni).
field_name_log : Nom du champ recevant les messages de progression du traitement ("" si on ne fournit aucun document de Log)
Fonction de haut niveau permettant de reconfigurer le poste de l'utilisateur (icones de l'espace de travail, bookmark, Notes.ini, réplicateur, réplique locale...) dans le cas où une base à laquelle il accédait a été déplacée d'un serveur à un autre.
Function GetRelativePath (session As NotesSession, db As NotesDatabase) As String
db : Base Notes.
Récupère le chemin d'une base Notes, relatif au répertoire data.
Function dmDeleteDeletionStubs (Nothing, "", "", db_name As String, Nothing, check_fixup) As String
db_name : Chemin de la base qui peut être en local (ex : Tools\Sales\Sales.nsf) ou sur un serveur (ex : CN=King/O=Cooperteam!!Tools\Sales\Sales.nsf).
Supprime les Deletion Stubs d'une base Notes.
Execution Control list |
|
|
|
Nom de la fonction |
|
Définition |
| dmChangeECLAccess | Change le mode d'accès à l'ECL pour l'utilisateur du poste. | |
| dmRefreshECL | Rafraîchit l'ECL du poste avec l'ECL d'Administration ou avec une ECL nommée. | |
| dmAddECLEntry | Ajoute une nouvelle entrée à l'ECL du poste de l'utilisateur. | |
| dmModifyECLEntry | Modifie une entrée existante de l'ECL du poste de l'utilisateur. | |
| dmDeleteECLEntry | Supprime une entrée existante de l'ECL du poste de l'utilisateur. | |
| dmDeleteECL | Supprime l'ECL du poste de l'utilisateur. |
Sub dmChangeECLAccess (Nothing, "", "", access_mode As String, Nothing)
access_mode : "2" pour empêcher l'utilisateur de modifier l'ECL, "3" pour autoriser l'utilisateur de modifier son ECL.
Change le mode d'accès à l'ECL pour l'utilisateur du poste (lecture seule ou modification autorisée).
Sub dmRefreshECL (Nothing, "", "", doc_user, ecl_name As String, ecl_server As String,ecl_database As String)
ecl_name : Nom de l'ECL à appliquer sur le poste (vide pour désigner l'ECL d'administration).
ecl_server : Serveur hébergeant la base contenant l'ECL (le NAB pour l'ECL d'administration, la base Desktop Manager pour une ECL nommée).
ecl_database : Base contenant l'ECL (le NAB pour l'ECL d'administration, la base Desktop Manager pour une ECL nommée).
Raffraîchit l'ECL du poste avec l'ECL d'Administration (présente dans le NAB) ou avec une ECL nommée (présente dans la base Desktop Manager). Cette action se fait la fermeture de la base Desktop Manager.
Sub dmAddECLEntry (Nothing, "", "", entry_name As String, entry_flags As String, ecl_workstation As Integer, ecl_java As Integer, ecl_javascript As Integer, Nothing)
entry_name : Nom de l'entrée, en format canonique (CN=.../OU=.../O=...).
entry_flags : Options de sécurité de l'entrée à créer (cf ci-dessous)
ecl_workstation : 1 pour ajouter l'entrée dans la partie Workstation de la LCE, 0 sinon.
ecl_java : 1 pour ajouter l'entrée dans la partie Applet Java de la LCE, 0 sinon.
ecl_javascript : 1 pour ajouter l'entrée dans la partie Javascript de la LCE, 0 sinon.
Ajoute une nouvelle entrée à l'ECL du poste de l'utilisateur. Si l'entrée est déjà présente, elle ne sera pas modifiée.
Sub dmModifyECLEntry (Nothing, "", "", entry_name As String, entry_flags As String, ecl_workstation As Integer, ecl_java As Integer, ecl_javascript As Integer, Nothing)
entry_name : Nom de l'entrée, en format canonique (CN=.../OU=.../O=...). Il est possible de modifier plusieurs entréee en utilisant le caractère Joker * (ex : CN=*/O=CooperDev).
entry_flags : Options de sécurité à changer dans l'entrée. En plaçant un + devant l'option, on l'ajoute. En plaçant un - devant l'option, on la supprime (ex : +A+B-n)
ecl_workstation : 1 pour modifier l'entrée dans la partie Workstation de la LCE, 0 sinon.
ecl_java : 1 pour modifier l'entrée dans la partie Applet Java de la LCE, 0 sinon.
ecl_javascript : 1 pour modifier l'entrée dans la partie Javascript de la LCE, 0 sinon.
Modifie une entrée existante de l'ECL du poste de l'utilisateur. Si l'entrée n'existe pas, elle ne sera pas créée.
Sub dmDeleteECLEntry (Nothing, "", "", entry_name As String, ecl_workstation As Integer, ecl_java As Integer, ecl_javascript As Integer, Nothing)
entry_name : Nom de l'entrée, en format canonique (CN=.../OU=.../O=...). Il est possible de supprimer plusieurs entréee en utilisant le caractère Joker * (ex : CN=*/O=CooperDev).
ecl_workstation : 1 pour supprimer l'entrée dans la partie Workstation de la LCE, 0 sinon.
ecl_java : 1 pour supprimer l'entrée dans la partie Applet Java de la LCE, 0 sinon.
ecl_javascript : 1 pour supprimer l'entrée dans la partie Javascript de la LCE, 0 sinon.
Supprime une entrée existante de l'ECL du poste de l'utilisateur. Il n'est pas possible de supprimer les entrées -Default- et -NoSignature-.
Sub dmDeleteECL (Nothing, "", "", ecl_workstation As Integer, ecl_java As Integer, ecl_javascript As Integer, Nothing)
ecl_workstation : 1 pour supprimer la partie Workstation de la LCE, 0 sinon.
ecl_java : 1 pour supprimer la partie Applet Java de la LCE, 0 sinon.
ecl_javascript : 1 pour supprimer la partie Javascript de la LCE, 0 sinon.
Supprime l'ECL du poste de l'utilisateur. Il est possible de ne supprimer que certaines parties (workstation, java, javascript) de la LCE.
Flags de sécurités pour les entrées d'ECL
Cross Certificates |
|
|
|
Nom de la fonction |
|
Définition |
| dmDeleteCrossCertificate | Supprime un ou plusieurs documents CrossCertificats du carnet d'adresse local de l'utilisateur. |
Sub dmDeleteCrossCertificate (Nothing, "", "", certificate_name As String, certificate_type As String, Nothing)
certificate_name : Nom des CrossCertificats à supprimer. Il est possible d'utiliser le caractère * pour en spécifier plusieurs (ex : O=Cooper*).
certificate_type : Type des certificats ("0" pour les CrossCertificates Notes, "1" pour les CrossCertificates Internet).
Supprime un ou plusieurs documents CrossCertificats du carnet d'adresse local de l'utilisateur.
Exécution de Script |
|
|
|
Nom de la fonction |
|
Définition |
| dmLaunchAgent | Exécute un agent LotusScript ou @Formula se trouvant dans la base Desktop Manager. | |
| dmLaunchForeignAgent | Exécute un agent LotusScript ou @Formula se trouvant en locale ou sur un serveur. | |
| dmLaunchProgram | Exécute un programme sur le poste de l'utilisateur. | |
| dmLaunchNotesTask | Exécute, en arrière plan, un programme lié à Notes comme les tâches d'administration. | |
| dmLaunchNotesTaskWait | Exécute un programme lié à Notes comme les tâches d'administration et attend la fin de son exécution. | |
| dmPostRunProgram | Exécute un programme sur le poste de l'utilisateur. |
Sub dmLaunchAgent (Nothing, "", "", agent_name As String, db_dskmgr As NotesDatabase, Nothing)
agent_name : Nom de l'agent à exécuter.
db_dskmgr : Base Desktop Manager où se trouve l'agent.
Exécute un agent LotusScript ou @Formula se trouvant dans la base Desktop Manager.
Sub dmLaunchForeignAgent (Nothing, "", "", server_name As String, database_name As String, agent_name As String, Nothing)
server_name : Nom du serveur hébergeant la base contenant l'agent ("" si la base est locale).
database_name : Nom de la base contenant l'agent.
agent_name : Nom de l'agent à exécuter.
Exécute un agent LotusScript ou @Formula se trouvant dans une base Notes locale ou hébergée sur un serveur.
Sub dmLaunchProgram (Nothing, "", "", command_line As String, sequence As Integer, Nothing)
command_line : Chemin complet de l'exécutable à lancer ainsi que ses paramètres (ex : c:\Windows\Win32\Notepad.exe c:\data\file.txt).
sequence : 1 si on souhaite attendre la fin d'exécution du programme avant de continuer l'exécution, 0 si on veut enchainer les autres actions sans attendre.
Exécute un programme sur le poste de l'utilisateur.
Sub dmLaunchNotesTask (Nothing, "", "", task_path As String, task_param As String, Nothing)
task_path : Chemin complet de l'exécutable à lancer (ex : c:\Lotus\Notes\ncompact.exe).
task_param : Paramètres de l'exécutable.
Exécute, en arrière plan, un programme lié à Notes comme les tâches d'administration (compact, fixup...).
Sub dmLaunchNotesTaskWait (Nothing, "", "", task_path As String, task_param As String, timeout_delay As Integer, Nothing)
task_path : Chemin complet de l'exécutable à lancer (ex : c:\Lotus\Notes\ncompact.exe).
task_param : Paramètres de l'exécutable.
timeout_delay : Delai maximum (en secondes) pendant lequel Desktop Manager attend la fin de l'exécution de la Tâche avant de continuer.
Exécute un programme lié à Notes comme les tâches d'administration (compact, fixup...) et attend la fin de son exécution pour continuer les traitements.
Sub dmPostRunProgram (command_line As String, sequence As Integer, doc_user)
command_line : Chemin complet de l'exécutable à lancer ainsi que ses paramètres (ex : c:\Windows\Win32\Notepad.exe c:\data\file.txt).
sequence : 1 si on souhaite attendre la fin d'exécution du programme avant de continuer l'exécution, 0 si on veut enchainer les autres actions sans attendre.
Exécute un programme sur le poste de l'utilisateur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Fichiers sur disque |
|
|
|
Nom de la fonction |
|
Définition |
| dmAttachFile | Récupère un fichier présent sur le disque de l'utilisateur. | |
| dmDetachFile | Extrait sur le disque de l'utilisateur un fichier attaché dans un document Notes. | |
| dmCopyFile | Copie un fichier présent sur le poste de l'utilisateur. | |
| dmCopyMultiFile | Copie un ensemble de fichiers du répertoire Source, vers le répertoire de Destination. | |
| dmUpdateMultiFile | Synchronise un ensemble de fichiers du répertoire Source, vers le répertoire de Destination. | |
| dmMoveFile | Déplace ou renomme un fichier ou un répertoire sur le poste de l'utilisateur. | |
| dmDeleteFile | Supprime un ou plusieurs fichiers du disque dur de l'utilisateur. | |
| dmZipFile | Zip un fichier présent sur le disque dur de l'utilisateur. | |
| dmZipMultiFile | Zip un ensemble de fichiers présents sur le poste de l'utilisateur. | |
| dmUnzipFile | Dé-zip un fichier présent sur le disque dur de l'utilisateur, dans le répertoire indiqué. | |
| dmGetFileChecksum | Calcule le checksum d'un fichier. | |
| dmCreateFolder | Crée un répertoire et tous les sous répertoire utiles. | |
| dmDeleteFolder | Supprime un répertoire si celui-ci est vide. |
Sub dmAttachFile (Nothing, "", "", db_dskmgr As NotesDatabase, db_cache As NotesDatabase, file_path As String, zip_it As Integer, doc_user)
db_dskmgr : Base Desktop Manager.
db_cache : Base cache local DskMgrStart.nsf, si elle existe.
file_path : Chemin complet du fichier à récupérer.
zip_it : 1 si on souhaite zipper le fichier avant de l'attacher dans le document Notes, 0 sinon.
Récupère un fichier présent sur le disque de l'utilisateur et crée un document Notes 'Audit Results File' dans la base Desktop Manager.
Sub dmDetachFile (Nothing, "", "", doc_task As NotesDocument, Nothing, file_field_name As String, local_path As String)
doc_task : Document Notes contenant le fichier attaché.
file_field_name : Nom du champ Rich Text dans lequel le fichier est attaché.
local_path : Chemin complet sur le disque où détacher le fichier (répertoire + nom de fichier).
Extrait sur le disque de l'utilisateur un fichier attaché dans un document Notes.
Sub dmCopyFile (Nothing, "", "", src_path As String, dst_path As String, Nothing)
src_path : Chemin du fichier Source.
dst_path : Chemin du fichier de Destination.
Copie un fichier présent sur le poste de l'utilisateur.
Sub dmCopyMultiFile (Nothing, "", "", src_folder_path As String, dst_folder_path As String, copy_list As String, exclusion_list As String, recursive As Integer, Nothing)
src_folder_path : Chemin du répertoire Source.
dst_folder_path : Chemin du répertoire de Destination.
copy_list : liste des fichiers ou des répertoires à copier (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
exclusion_list : liste des fichiers ou des répertoires à exclure de la copie (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
recursive : '1' si la recherche des fichiers à copier se fait dans les sous-répertoires du répertoire Source.
Copie un ensemble de fichiers présents sur le poste de l'utilisateur dans le répertoire Source, vers le répertoire de Destination, en re-créant l'arborescence des fichiers.
Sub dmUpdateMultiFile (Nothing, "", "", src_folder_path As String, dst_folder_path As String, copy_list As String, exclusion_list As String, recursive As Integer, Nothing)
src_folder_path : Chemin du répertoire Source.
dst_folder_path : Chemin du répertoire de Destination.
copy_list : liste des fichiers ou des répertoires à synchroniser (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
exclusion_list : liste des fichiers ou des répertoires à exclure de la copie (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
recursive : '1' si la recherche des fichiers à synchroniser se fait dans les sous-répertoires du répertoire Source.
Synchronise un ensemble de fichiers présents sur le poste de l'utilisateur dans le répertoire Source, vers le répertoire de Destination, en re-créant l'arborescence des fichiers. Les fichiers du répertoire Source sont copiés dans le répertoire Destination uniquement dans le cas où ils ont été modifiés plus récemment (date modification fichier Source > date modification fichier Destination).
Sub dmMoveFile (Nothing, "", "", src_path As String, dst_path As String, Nothing)
src_path : Chemin du fichier Source.
dst_path : Chemin du fichier de Destination.
Déplace ou renomme un fichier ou un répertoire sur le poste de l'utilisateur.
Sub dmDeleteFile (Nothing, "", "", file_path As String, doc_user)
file_path : Chemin complet du ou des fichiers (utilisation de *) à supprimer.
Supprime un ou plusieurs fichiers du disque dur de l'utilisateur.
Function dmZipFile (src_file_path As String, file_name As String, zip_file_path As String) As Integer
file_name : Chemin complet du fichier à zipper.
zip_file_path : Chemin complet du fichier zip à créer.
Zippe un fichier présent sur le disque dur de l'utilisateur.
Sub dmZipMultiFile (Nothing, "", "", src_folder_path As String, zip_file_path As String, zip_list As String, exclusion_list As String, recursive As Integer, Nothing)
src_folder_path : Chemin du répertoire Source.
zip_file_path : Chemin du fichier Zip à créer.
zip_list : liste des fichiers ou des répertoires à zipper (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
exclusion_list : liste des fichiers ou des répertoires à exclure du zip (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
recursive : '1' si la recherche des fichiers à copier se fait dans les sous-répertoires du répertoire Source.
Zippe un ensemble de fichiers présents sur le poste de l'utilisateur dans le répertoire Source, vers un fichier Zip, en conservant l'arborescence des fichiers.
Function dmUnzipFile (zip_file_path As String, unzip_folder_path As String) As String
zip_file_path : Chemin complet du fichier zip à dé-zipper.
unzip_folder_path : Chemin complet du répertoire où dé-zipper le ou les fichiers (si cette valeur est laissée vide, le fichier est dé-zippé dans le répertoire du fichier zip) .
Dé-zippe un fichier présent sur le disque dur de l'utilisateur, dans le répertoire indiqué. Le chemin du dernier fichier dé-zippé est renvoyé par la fonction.
Function dmGetFileChecksum (file_path As String, length_kb As Long) As String
file_path : Chemin complet du fichier.
length_kb : Longueur du fichier (en kb) utilisée pour le calcul du checksum. 0 pour que le calcul se fasse sur toute la longueur du fichier.
Calcule le checksum d'un fichier. Il est possible de préciser la longueur du fichier (en kb) utilisée pour calculer le checksum. Renvoie "" si le calcul a échoué (fichier inexistant...).
Sub dmCreateFolder (Nothing, "", "", folder_path As String, doc_user)
folder_path : Chemin du répertoire à créer.
Crée un répertoire et tous les sous répertoire utiles.
Sub dmDeleteFolder (Nothing, "", "", folder_path As String, empty_folder As Integer, doc_user)
folder_path : Chemin du répertoire à supprimer
empty_folder : 1 si on veut supprimer le contenu du répertoire, 0 si on ne supprime rien
Supprime un répertoire si celui-ci est vide. Il est possible de le vider avant la suppression.
Post Actions |
|
|
|
Nom de la fonction |
|
Définition |
| dmPostCopyFile | Effectue une copie d'un fichier présent sur le disque dur de l'utilisateur. | |
| dmPostCopyMultiFile | Copie un ensemble de fichiers du répertoire Source, vers le répertoire de Destination. | |
| dmPostMoveFile | Déplace un fichier présent sur le disque dur de l'utilisateur. | |
| dmPostModifyFile | Modifie le contenu d'un fichier en recherchant / remplaçant une valeur. | |
| dmPostDeleteFile | Supprime un ou plusieurs fichiers du disque dur de l'utilisateur. | |
| dmPostZipFile | Zip un fichier présent sur le disque dur de l'utilisateur. | |
| dmPostUnzipFile | Dé-zip un fichier présent sur le disque dur de l'utilisateur, dans le répertoire indiqué | |
| dmPostCreateFolder | Crée un répertoire et tous les sous répertoire utiles. | |
| dmPostDeleteFolder | Supprime un répertoire si celui-ci est vide. | |
| dmPostMountVolume | Crée un point de montage pour un volume disque. | |
| dmPostUpdateFile | Effectue une copie d'un fichier présent sur le disque dur de l'utilisateur. | |
| dmPostUpdateMultiFile | Synchronise un ensemble de fichiers du répertoire Source, vers le répertoire de Destination. |
Sub dmPostCopyFile (src_file_path As String, dst_file_path As String, doc_user)
src_file_path : Chemin complet du fichier source.
dst_file_path : Chemin complet de la copie à créer.
Effectue une copie d'un fichier présent sur le disque dur de l'utilisateur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostCopyMultiFile (src_folder_path As String, dst_folder_path As String, copy_list As String, exclusion_list As String, recursive As Integer, doc_user)
src_folder_path : Chemin du répertoire Source.
dst_folder_path : Chemin du répertoire de Destination.
copy_list : liste des fichiers ou des répertoires à copier (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
exclusion_list : liste des fichiers ou des répertoires à exclure de la copie (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
recursive : '1' si la recherche des fichiers à copier se fait dans les sous-répertoires du répertoire Source.
Copie un ensemble de fichiers présents sur le poste de l'utilisateur dans le répertoire Source, vers le répertoire de Destination, en re-créant l'arborescence des fichiers. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostMoveFile (src_file_path As String, dst_file_path As String, doc_user)
src_file_path : Chemin complet du fichier source (ou du répertoire) à déplacer.
dst_file_path : Chemin complet de destination du fichier (ou du répertoire).
Déplace un fichier (ou un répertoire) présent sur le disque dur de l'utilisateur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostModifyFile (file_path As String, src_value As String, dst_value As String, doc_user)
file_path : Chemin complet du fichier à modifier
src_value : Valeur à rechercher, sous forme Hexa Ascii (ex : 0xC125A987)
dst_value : Valeur de remplacement, sous forme Hexa Ascii et de même longueur que la valeur source.
Modifie le contenu d'un fichier en recherchant / remplaçant une valeur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostDeleteFile (file_path As String, doc_user)
file_path : Chemin complet du ou des fichiers (utilisation de *) à supprimer.
Supprime un ou plusieurs fichiers du disque dur de l'utilisateur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostZipFile (file_path As String, file_name As String, zip_file_path As String, doc_user)
file_name : Chemin complet du fichier à zipper.
zip_file_path : Chemin complet du fichier zip à créer.
Zippe un fichier présent sur le disque dur de l'utilisateur. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostUnzipFile (zip_file_path As String, unzip_folder_path As String, doc_user)
zip_file_path : Chemin complet du fichier zip à dé-zipper.
unzip_folder_path : Chemin complet du répertoire où dé-zipper le fichier (si cette valeur est laissée vide, le fichier est dé-zippé dans le répertoire du fichier zip) .
Dé-zippe un fichier présent sur le disque dur de l'utilisateur, dans le répertoire indiqué. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostCreateFolder (folder_path As String, doc_user)
folder_path : Chemin du répertoire à créer.
Crée un répertoire et tous les sous répertoire utiles. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostDeleteFolder (folder_path As String, empty_folder As String, doc_user)
folder_path : Chemin du répertoire à supprimer
empty_folder : 1 si on veut supprimer le contenu du répertoire, 0 si on ne supprime rien
Supprime un répertoire si celui-ci est vide. Il est possible de le vider avant la suppression. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostMountVolume (volume_name As String, mount_point As String, doc_user)
volume_name : Chemin du volume à monter.
mount_point : Chemin complet du point de montage à créer.
Crée un point de montage pour un volume disque. Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostUpdateFile (src_file_path As String, dst_file_path As String, doc_user)
src_file_path : Chemin complet du fichier source.
dst_file_path : Chemin complet de la copie à créer.
Effectue une copie d'un fichier uniquement dans le cas où il a été modifiés plus récemment (date modification fichier Source > date modification fichier Destination). Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Sub dmPostUpdateMultiFile (src_folder_path As String, dst_folder_path As String, copy_list As String, exclude_list As String, recursive As Integer, doc_user)
src_folder_path : Chemin du répertoire Source.
dst_folder_path : Chemin du répertoire de Destination.
copy_list : liste des fichiers ou des répertoires à synchroniser (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
exclusion_list : liste des fichiers ou des répertoires à exclure de la copie (utilisation du caractère joker '*' autorisé). Le caractère de séparation multi-valeurs est la virgule.
recursive : '1' si la recherche des fichiers à synchroniser se fait dans les sous-répertoires du répertoire Source.
Synchronise un ensemble de fichiers présents sur le poste de l'utilisateur dans le répertoire Source, vers le répertoire de Destination, en re-créant l'arborescence des fichiers. Les fichiers du répertoire Source sont copiés dans le répertoire Destination uniquement dans le cas où ils ont été modifiés plus récemment (date modification fichier Source > date modification fichier Destination). Cette action est réalisée par DskMgr.exe, quand le client Notes n'est pas en mémoire.
Fichiers XML |
|
|
|
Nom de la fonction |
|
Définition |
| dmModifyXMLFile | Modifie la valeur d'une variable d'un fichier XML. |
Sub dmModifyXMLFile (Nothing, "", "", file_path As String, variable_name As String, variable_value As String, key_name As String, key_value As String, is_attribute As String, update_only As String, Nothing)
file_path : Chemin complet du fichier XML à modifier.
variable_name : Chemin de la variable dans l'arborescence du fichier XML (ex : providerConfig.communities.community.name).
variable_value : Nouvelle valeur.
key_name : Optionel. Nom de la clé.
key_value : Optionel. Valeur de la clé.
is_attribute : "1" si cette variable est un attribut, "" sinon.
update_only : "1" si on ne modifie que les valeurs des variables déjà existantes dans le fichier, "" si on peut créer de nouvelles variables.
Modifie la valeur d'une variable d'un fichier XML (.XML). Voir la documentation sur les Profile ou les Task pour plus de détails sur l'utilisation des paramètres.
Fichiers PREFS |
|
|
|
Nom de la fonction |
|
Définition |
| dmModifyPreferenceFile | Modifie la valeur d'une variable d'un fichier Preference |
Sub dmModifyPreferenceFile (Nothing, "", "", file_path As String, variable_name As String, variable_value As String, clear_empty As String, update_only As String, Nothing)
file_path : Chemin complet du fichier à modifier.
variable_name : Nom de la variable.
variable_value : Nouvelle valeur.
clear_empty : "1" si on doit supprimer du fichier une variable si sa valeur est vide, "" sinon.
update_only : "1" si on ne modifie que les valeurs des variables déjà existantes dans le fichier, "" si on peut créer de nouvelles variables.
Modifie la valeur d'une variable d'un fichier Preference (.PREFS).
Bases de Registres |
|
|
|
Nom de la fonction |
|
Définition |
| dmGetRegistryKey | Retourne la valeur d'une clé de la base de Registre de Windows. | |
| dmSetRegistryKey | Modifie/Crée une clé de la base de registre Windows. | |
| dmDeleteRegistryKey | Supprime une clé de la base de registre Windows. |
Function dmGetRegistryKey (Nothing, "", "", reg_root As String, reg_sub As String, reg_name As String, Nothing) As String
reg_root : Base de la recherche HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE ou HKEY_USERS.
reg_sub : Chemin de la clé dans l'arborescence (ex : Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders).
reg_name : Nom de la clé (vide si on souhaite la valeur par défaut).
Retourne la valeur d'une clé de la base de Registre de Windows.
Sub dmSetRegistryKey (Nothing, "", "", reg_root As String, reg_sub As String, reg_name As String, reg_type As String, reg_value As String, Nothing)
reg_root : Base de la recherche HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE ou HKEY_USERS.
reg_sub : Chemin de la clé dans l'arborescence (ex : Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders).
reg_name : Nom de la clé (vide si on souhaite la valeur par défaut).
reg_type : Type de la valeur (REG_DWORD, REG_EXPAND_SZ ou REG_SZ).
reg_value : Valeur de la clé.
Modifie/Crée une clé de la base de registre Windows.
Sub dmDeleteRegistryKey (Nothing, "", "", reg_root As String, reg_sub As String, Nothing)
reg_root : Base de la recherche HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE ou HKEY_USERS.
reg_sub : Chemin de la clé dans l'arborescence (ex : Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders).
Supprime une clé de la base de registre Windows.
Variables d'environnement |
|
|
|
Nom de la fonction |
|
Définition |
| dmGetEnvironmentVariable | Retourne la valeur d'une variable d'environnement du poste. | |
| dmSetEnvironmentVariable | Modifie la valeur d'une variable d'environnement du poste. |
Function dmGetEnvironmentVariable (variable_name As String)
variable_name : Nom de la variable d'environnement.
Retourne la valeur d'une variable d'environnement du poste.
Function dmSetEnvironmentVariable (variable_name As String, variable_value As String)
variable_name : Nom de la variable d'environnement.
variable_value : Nouvelle valeur de la variable.
Modifie la valeur d'une variable d'environnement du poste.
Fonctions de transfert de données |
|
|
|
Nom de la fonction |
|
Définition |
| dmFTPGetFile | Récupère en local un fichier présent sur un serveur FTP. | |
| dmFTPPutFile | Transfère un fichier sur un serveur FTP. | |
| dmFTPDeleteFile | Supprime un fichier d'un serveur FTP. | |
| dmFTPGetLargeFile | Télécharge un fichier de taille importante depuis un serveur FTP. | |
| dmGetFileByHTTP | Récupère en local un fichier ou une page HTML d'un site Web. | |
| dmGetLDAPEntry | Récupère les attributs d'une entrée d'un annuaire LDAP. |
Function dmFTPGetFile (hostname As String, port As String, login As String, password As String, remote_file_path As String, transfer_type As String, local_file_path As String)
hostname : adresse IP ou Hostname du serveur FTP
port : numéro de port, habituellement "21"
login : nom de l'utilisateur ("" si aucun login nécessaire)
password : mot de passe ("" si aucun mot de passe nécessaire)
remote_file_path : chemin du fichier sur le serveur FTP
transfer_type : type de transfert ("0" = Binaire, "1" = Ascii)
local_file_path : chemin local au poste où télécharger le fichier
Télécharge en local un fichier présent sur un site FTP.
Function dmFTPPutFile (local_file_path As String, hostname As String, port As String, login As String, password As String, remote_file_path As String, transfer_type As String)
local_file_path : chemin local du fichier à transférer
hostname : adresse IP ou Hostname du serveur FTP
port : numéro de port, habituellement "21"
login : nom de l'utilisateur ("" si aucun login nécessaire)
password : mot de passe ("" si aucun mot de passe nécessaire)
remote_file_path : chemin du fichier sur le serveur FTP
transfer_type : type de transfert ("0" = Binaire, "1" = Ascii)
Copie un fichier local sur un serveur FTP.
Function dmFTPDeleteFile (hostname As String, port As String, login As String, password As String, remote_file_path As String)
hostname : adresse IP ou Hostname du serveur FTP
port : numéro de port, habituellement "21"
login : nom de l'utilisateur ("" si aucun login nécessaire)
password : mot de passe ("" si aucun mot de passe nécessaire)
remote_file_path : chemin du fichier sur le serveur FTP
Supprime un fichier d'un serveur FTP.
Function dmFTPGetLargeFile (hostname As String, port As String, login As String, password As String, remote_file_path As String, transfer_type As String, local_file_path As String, quota_mb As String)
hostname : adresse IP ou Hostname du serveur FTP
port : numéro de port, habituellement "21"
login : nom de l'utilisateur ("" si aucun login nécessaire)
password : mot de passe ("" si aucun mot de passe nécessaire)
remote_file_path : chemin du fichier sur le serveur FTP
transfer_type : type de transfert ("0" = Binaire, "1" = Ascii)
local_file_path : chemin local au poste où télécharger le fichier
quota_mb : volume de donnée (en MB) à transférer à chaque appel de la fonction
Télécharge en local un fichier de taille importante présent sur un serveur FTP en ne transférant de N megaoctets de données à chaque appel.
Function dmGetFileByHTTP (url As String, login As String, password As String, target_file_path As String, is_text_file As String)
url : url de la Page Web ou du fichier
login : nom de l'utilisateur ("" si aucun login nécessaire)
password : mot de passe ("" si aucun mot de passe nécessaire)
target_file_path : chemin local au poste où télécharger la page web ou le fichier
is_text_file : type de transfert ("0" = Binaire, "1" = Ascii)
Télécharge depuis un site Web une page HTML ou un fichier.
Function dmGetLDAPEntry (hostname As String, port As String, login As String, password As String, dn As String, result_file_path As String)
hostname : adresse IP ou Hostname du serveur LDAP
port : numéro de port LDAP, habituellement "389"
login : nom de l'utilisateur ("" si aucun login nécessaire)
password : mot de passe ("" si aucun mot de passe nécessaire)
dn : dn de l'entrée recherchée
result_file_path : chemin local au poste où créer le fichier texte contenant les attributs de l'entrée LDAP
Récupère, sous forme de fichier texte, l'ensemble des attributs d'une entrée LDAP.
Divers |
|
|
|
Nom de la fonction |
|
Définition |
| dmBuildFullString | Remplace dans une chaîne de caractère, tous les mots clés par leurs valeurs et retourne la nouvelle chaine. | |
| dmBuildFullDatabasePath | Construit le chemin complet d'une base Notes en fournissant un nom de base et un nom de serveur. | |
| dmRestartNotes | Force le redémarrage du client Notes à la fin de l'exécution actuelle de Desktop Manager. | |
| dmGetStartupPath | Retourne le chemin complet du répertoire de démarrage Windows de l'utilisateur. | |
| GetNotesPath | Retourne le chemin complet du répertoire Program Notes de l'utilisateur. | |
| GetNotesDataPath | Retourne le chemin complet du répertoire Data Notes de l'utilisateur. | |
| dmGetTemporaryPath | Retourne le chemin complet du répertoire Temporaire de l'utilisateur. | |
| dmGetIPAddress | Retourne la ou les adresses IP du poste de l'utilisateur. | |
| dmGetBitValue | Récupère la valeur d'un bit d'un entier. | |
| dmSetBitValue | Modifie la valeur d'un bit d'un entier. | |
| dmIsVirtualComputer | Indique si Notes s'exécute dans un environnement Virtuel (CITRIX...). | |
| dmIsLaptopComputer | Indique si l'ordinateur est un portable. | |
| dmIsUserAdmin | Indique si l'utilisateur est administrateur Windows de la machine. | |
| dmGetComputerName | Retourne le nom de la machine. |
Function dmBuildFullString (src_string As String, doc_user) As String
src_string : Chaine de caractère contenant (ou non) des mots clés (ex : @NotesDataFolder\DM\).
Remplace dans une chaine de caractère, tous les mots clés (@Keywords, #Keywords#, %Keywords%) par leurs valeurs et retourne la nouvelle chaine.
Function dmBuildFullDatabasePath (db_full_path As String, server_name_param As String) As String
db_full_path : Chemin ou ReplicaID de la base locale (ex : Sales.nsf ou C1256E38:A52189A2) ou sur un serveur (CN=SRV1/O=Corp!!Sales.nsf ou CN=SRV1/O=Corp!!C1256E38:A52189A2).
server_name_param : Nom du serveur si celui-ci n'est pas déjà renseigné dans le paramètre db_full_path (vide si aucun serveur).
Construit le chemin complet d'une base Notes (<nom server>!!<nom base> ou <nom base>) en fournissant un nom de base (ou un ReplicaID) et un nom de serveur.
Sub dmRestartNotes (session As NotesSession, Nothing, "", "", with_dskmgr As Integer, doc_user, doc_setup, Nothing)
with_dskmgr : 1 pour redémarrer Notes avec Desktop Manager (via la base DskMgrStart.nsf), 0 sans exécution de Desktop Manager au démarrage.
Force le redémarrage du client Notes à la fin de l'exécution actuelle de Desktop Manager. Il est possible de redémarrer avec ou sans l'exécution de Desktop Manager.
Function dmGetStartupPath As String
Retourne le chemin complet du répertoire de démarrage Windows de l'utilisateur.
Function GetNotesPath As String
Retourne le chemin complet du répertoire Program Notes de l'utilisateur.
Function GetNotesDataPath As String
Retourne le chemin complet du répertoire Data Notes de l'utilisateur.
Function dmGetTemporaryPath As String
Retourne le chemin complet du répertoire Temporaire de l'utilisateur.
Function dmGetIPAddress As String
Retourne la ou les adresses IP du poste de l'utilisateur (les valeurs sont séparées par des virgules).
Function dmGetBitValue (integer_string As String, bit_position As Integer, byte_number As Integer) As Integer
integer_string : Chaine de caractère représentant un entier (ex : -2147464079).
bit_position : Numéro du bit dont on souhaite récupérer la valeur (0 --> (byte_number*8-1)).
byte_number : Nombre d'octet sur lequel la valeur est représentée (habituellement 4).
Récupère la valeur (0/1) d'un bit d'un entier. Utile pour décoder les options de la variable Preferences du fichier Notes.ini
Function dmSetBitValue (integer_string As String, bit_position As Integer, bit_value As Integer, byte_number As Integer) As String
integer_string : Chaine de caractère représentant un entier (ex : -2147464079).
bit_position : Numéro du bit dont on souhaite récupérer la valeur (0 --> (byte_number*8-1)).
bit_value : Nouvelle valeur du bit (0 ou 1).
byte_number : Nombre d'octet sur lequel la valeur est représentée (habituellement 4).
Modifie la valeur (0/1) d'un bit d'un entier. Utile pour modifier les options de la variable Preferences du fichier Notes.ini
Function dmIsVirtualComputer As Integer
Indique si Desktop Manager s'exécute sur une session Virtuelle (1) ou non (0).
Function dmIsLaptopComputer As Integer
Indique si Desktop Manager s'exécute sur un ordinateur portable (1) ou non (0).
Function dmIsUserAdmin As Integer
Indique si l'utilisateur est administrateur de son poste Windows (1) ou non (0).
Function dmGetComputerName As String
Retourne le nom de la machine (hostname).
5. Annexe 1 : Mise au point des agents LotusScript |
|
|
Vous pouvez exécuter manuellement les agents LotusScript, depuis la base Desktop Manager du serveur :
- Modifiez le paramètre RunTime de l'agent pour sélectionner Action menu Selection / None.
- Vérifiez que les options de masquage de l'élément de Design sont décochées :
- Dans le code de l'agent, remplacer toutes les références à la base Cache (db_cache) par le mot clé Nothing (cela force Desktop Manager a utiliser les ressources de la base du serveur) :
Set doc_user = GetUserDocument (session, db_dskmgruser, db_cache)
Set doc_install = GetInstallDocument (session, db_dskmgruser, db_cache, doc_user)
devient
Set doc_user = GetUserDocument (session, db_dskmgruser, Nothing)
Set doc_install = GetInstallDocument (session, db_dskmgruser, Nothing, doc_user)
- Cliquez sur l'icone de la base Desktop Manager du serveur (
) depuis l'espace de travail. Il n'est pas nécessaire d'ouvrir la base.
- Sélectionnez le nom de l'agent dans le menu Actions pour le faire démarrer.
6. Annexe 2 : Modification du document DskMgrUser depuis les agents LotusScript |
|
|
Vous pouvez facilement ouvrir le document DskMgrUser depuis un agent LotusScript en appelant la fonction :
Set doc_user = GetUserDocument (session, db_dskmgruser, db_cache)
Si vous voulez modifier des champs de ce document, vous devez le signaler à Desktop Manager, car celui-ci utilise aussi le document DskMgrUser pour y stocker un certain nombre de données (Résultats d'Audit, Log, Date d'exécution...). Pour éviter toute perte de données, vous devez cocher l'option suivante dans les Tâches ou les Profiles qui vont lancer l'agent modifiant les champs du document DskMgrUser :
Ainsi, Desktop Manager va enregistrer le document DskMgrUser avant de lancer les agents de la Tâche ou du Profile et il va recharger le document DskMgrUser après l'exécution des agents afin de récupérer les éventuelles modifications apportées.
Attention aux cas particuliers :
- Si vous voulez modifier un des champs de paramétrage utilisés par Desktop Manager :
| ShortKey | Profile | Language | NumberMailSent | ||||
| KeywordUser1 | KeywordUser2 | KeywordUser3 | LastReminderTime | ||||
| BackupFolderPath | RoamingFolderPath | DskMgrServer | DskMgrDatabase | ||||
| FMFrequency | FMFrequencyDay | SMFrequency | SMFrequencyDay | ||||
| Start | XTR_* |
vous devez créer un champ supplémentaire, avec le suffixe New :
' # Change Language value to DE
doc_user.Language = "DE"
doc_user.LanguageNew = "DE"
ainsi, lors de la synchronisation avec la base Desktop Manager du serveur, la valeur du champs de paramétrage sera prise en compte (le champ New sera supprimé). Ces champs ne sont pas censés remonter de la base locale DskMgrStart vers la base serveur. Comme il s'agit de paramètres, ils descendent de la base du serveur vers la base DskMgrStart.
- Si vous voulez modifier le champ Profile définissant la liste des documents Profile appliqués à l'utilisateur, vous devez (en plus du champ ProfileNew) ajouter un champ (Text List) ProfileDelta qui décrit les changement effectués :
+<Nom du profile> pour les Profiles que l'on a ajoutés (signe '+')
-<Nom du Profile> pour les Profiles que l'on a supprimés (signe '-')
Exemple de suppression du Profile PROFILE DESKTOP des Profiles existants :
Dim profiles As Variant
ReDim profiles(0)
' # Build new Profile list without Profile 'PROFILE DESKTOP'
profiles = doc_user.Getitemvalue("Profile")
ForAll p In profiles
If p = "PROFILE DESKTOP" Then p = ""
End ForAll
profiles = FullTrim(ArrayUnique(profiles))
' # Change Profile field content
doc_user.Profile = profiles
doc_user.ProfileNew = profiles
doc_user.ProfileDelta = "-PROFILE DESKTOP" ' There is a minus sign '-' in front of the name of the Profile
ainsi, lors de la synchronisation avec la base Desktop Manager du serveur, la nouvelle valeur du champs Profile sera prise en compte (les champs ProfileNew et ProfileDelta seront supprimés).

Back to Top
Commentaires
0 commentaire
Cet article n'accepte pas de commentaires.