Domino 9 und frühere Versionen > ND7: Entwicklung

Tag Clouds unter Lotus Notes

<< < (2/2)

smoki:
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=82

Leider 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

Onkel Domino:
Hey Chris,

vielen, vielen Dank für Deine Mühe!!!  :D

Das werde ich mir mal genauer anschauen!

Viele Grüße,
Markus

Onkel Domino:
Hey Chris,

super Arbeit!!!

Wenn man das NotesDocument, welches Du für die Tag Cloud benutzt, nach der Ausführung des Agents "RewriteCloud", im Frame anzeigen läßt, dann lassen sich die Änderungen sogar ohne ein Schließen der Datenbank gleich anzeigen :-)

Nochmal vielen Dank! Das ist genau das, was ich gebraucht habe!!!

Viele Grüße,
Markus

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln