Hallo Markus!
Ein richtig schönes DXL Tutorial kenne ich leider nicht!
Aber ich habe eine Lösung gebaut
Und das nur in Lotus Script.
Der Code für den Agent sieht in meiner Test-Datenbank so aus:
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dxlimporter As NotesDXLImporter
Dim xmlString As String
Dim v As NotesView
Dim entry As notesviewentry, nav As notesviewnavigator
Set db = s.CurrentDatabase
Set v = db.GetView("Tags")
xmlString=|<?xml version='1.0' encoding='utf-8'?>
<document xmlns='
http://www.lotus.com/dxl' version='7.0' maintenanceversion='1.0'
replicaid='C12571CD006A0D27' form='CloudTag'>
<noteinfo noteid='95a' unid='C8876C7D20ADABDAC12571CD006E9003' sequence='1'>
</noteinfo>
<item name='CloudTag'><richtext>
<pardef id='1'/>|
Set nav = v.CreateViewNav
Set entry = nav.GetFirst
Do Until entry Is Nothing
If entry.ChildCount > max Then max = entry.childcount
Set entry = nav.GetNextCategory(entry)
Loop
min = 1
diff = max - min
pub = diff / 3
xmlString=xmlString+|<par def='1'>|
Set entry = nav.GetFirst
Do Until entry Is Nothing
tag = entry.ColumnValues(0)
xmlString=xmlString+|<actionhotspot hotspotstyle='none'><code
event='click'><formula>@SetEnvironment("CloudSelection";"|+tag+|");
@Command([ToolsRunMacro];"(OpenDialog)")</formula></code>|
xmlString=xmlString+"<run>"
Select Case entry.childcount
Case min : xmlString=xmlString+|<font size="10pt" style="underline" color="blue"/>|
Case max : xmlString=xmlString+|<font size="20pt" style="underline" color="blue"/>|
Case Is > min + (pub *2) :xmlString=xmlString+ |<font size="18pt" style="underline" color="blue"/>|
Case Is > min + (pub) :xmlString=xmlString+|<font size="16pt" style="underline" color="blue"/>|
Case Else : xmlString=xmlString+|<font size="12pt" style="underline" color="blue"/>|
End Select
xmlString=xmlString+tag
xmlString=xmlString+|</run></actionhotspot><run><font size="16pt"/> </run>|
Set entry = nav.GetNextCategory(entry)
Loop
xmlString=xmlString+|</par>|
xmlString=xmlString+|</richtext></item></document>
|
Set dxlimporter = s.CreateDXLImporter(xmlString,db)
dxlimporter.DocumentImportOption = DXLIMPORTOPTION_REPLACE_ELSE_IGNORE
Call dxlimporter.Process
End Sub
Ich habe euch einen Blog-Eintrag hierzu geschrieben, dort gibt es auch die Datenbank zum herunterladen ->
http://smoki.atblogs.de/index.php?op=ViewArticle&articleId=772&blogId=82Leider bin ich nicht dazu gekommen, das vorgehen genau zu beschreiben. Es ist schon nach Mitternacht.
Die Datenbank ist auch noch nicht perfekt, beispielsweise werden die Tags nicht sofort aktualisiert, sondern man muss die Datenbank neu öffnen. Aber das zu lösen, ist ein anderes Thema
Ich hoffe, dass hilft die schon mal weiter?
Viele Grüße!
Chris