« Notes sur clé USB | Main| Le 1er février 2007... »

Signets utilisateur

0

Modifier les signets de manière programmée
La barre de signet d'un client lourd Lotus est stockée dans la base Bookmark.nsf. Il s'agit d'un élément structurel modifiable à l'aide de Domino Designer ou à l'aide d'un peu de code...

...
le code de l'exemple ci dessous permet, en cliquant sur un bouton par exemple, de modifier les propriétés d'affichage des signets Admin et Designer du poste client Notes.
Les signets sont, dans Domino Designer, des entrées de plan. La classe Lotus Script Outline permet d'accéder aux propriétés des plans, la classe OutlineEntry permet elle d'accéder aux entrées du plan.
___________________________________________________

Sub Click(Source As Button)
        Dim s As New notessession
        Dim db As NotesDatabase
        Dim outline As notesoutline
        Dim outlineEnt As notesoutlineentry
       
'On commence par accéder à la base locale bookmark.nsf        
        Set db=s.GetDatabase("","bookmark.nsf",false)
       if db is nothing then

                exit sub
        end if

'On accède ensuite à la barre de signets du client                          
        Set outline=db.GetOutline("UserBookmarkOrder")

'puis on parcourt l'ensemble des entrées (des signets)  
        Set outlineEnt=Outline.GetFirst()
        While Not outlineEnt Is Nothing

'dans cet exemple on modifie les paramètres de masquage des signets
' Domino Administrator et Domino Designer  
'en réalité, ce bout de code ne modifie pas les paramètres la formule de masquage
'@IsAppInstalled est la formule par défaut,
'et la case à cocher de masquage est également active par défaut.
                Select Case outlineEnt.Alias
                Case "Administrator"
                         outlineEnt.UseHideFormula=True
                        outlineEnt.hideformula={!@isappinstalled("Admin") }
                Case "Designer"
                        outlineEnt.UseHideFormula=True
                        outlineEnt.hideformula={!@isappinstalled("Designer") }
                Case Else
                End Select
                Set outlineEnt=Outline.GetNext(OutlineEnt)
        Wend

 'Puis on sauvegarde le plan (la barre de signets)
        Call outline.Save
End Sub

Ce principe permettrait de créer des nouveaux signets dans la barre de signets, d'en supprimer ou d'en masquer :
méthodes CreateEntry et RemoveEntry de la classe NotesOutline,
Les propriétés de la classe NotesOutlineEntry permettent de modifier les paramètres d'une entrée (cible du signet, nom, icône, option d'affichage...)

Pour éviter les interactions utilisateur, on peut positionner le code dans l'événement PostOpen des boites aux lettres. Attention dans ce cas de figure à bien travailler sur la bookmark.nsf locale et non sur la base serveur. La propriété .server des objets de la classe NotesDatabase renvoie une chaîne vide pour des bases locales.

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)