Autor Thema: Tag Clouds unter Lotus Notes  (Gelesen 3850 mal)

Offline Onkel Domino

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • Tue Gutes - und rede darüber!
Tag Clouds unter Lotus Notes
« am: 17.08.06 - 18:20:15 »
Hallo,

ich versuche eine Tag Cloud unter Lotus Notes nachzubauen. Tag Clouds sind Navigationsinstrumente, die bei Social Software Applikationen zu finden sind (siehe http://del.icio.us oder http://www.flickr.com).

--> http://de.wikipedia.org/wiki/Tag_cloud

Meine Frage: kann ich per Lotus Script Text erstellen und diesen Text dann verlinken? Ziel des Links ist die Ausführung eines Agenten. Wenn mir die Tag Coud später im Notes Client angezeigt wird, dann soll ein Klick auf ein Schlagwort der Tag Cloud eine Suche nach dem Begriff auslösen.

Wie kann ich so etwas am besten realisieren?


Viele Grüße,
Markus
« Letzte Änderung: 17.08.06 - 18:56:19 von Onkel Domino »
There are only 10 types of people in the world: Those who understand binary and those who don't.

Offline wfh

  • Senior Mitglied
  • ****
  • Beiträge: 318
  • Geschlecht: Männlich
  • Memento rebus in arduis servare mentem!
Re: Tag Clouds unter Lotus Notes
« Antwort #1 am: 17.08.06 - 19:31:11 »

Offline Onkel Domino

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • Tue Gutes - und rede darüber!
Re: Tag Clouds unter Lotus Notes
« Antwort #2 am: 17.08.06 - 19:56:13 »
Sehr elegante Sache!

Mein Ziel ist es allerdings die Tag Cloud im Notes Client anzeigen zu lassen... Am besten in einem Frame. Das Ganze muss auch ohne Server, also Lokal, laufen können...

Mein Problem ist die Verlinkung des Texts. Je nachdem welches Wort aus der Tag Cloud gewählt wird, muss ein Agent mit einem entsprechendem Paramter gestartet werden.

Hat da jemand eine Idee?
There are only 10 types of people in the world: Those who understand binary and those who don't.

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Tag Clouds unter Lotus Notes
« Antwort #3 am: 17.08.06 - 21:07:51 »
Also ich philosophier mal ein wenig Code :)

Mit DXL und Lotus Script müsste es machbar sein.

Wenn die Cloud auch dynamischen auf dem Client angepasst werden soll, dann erzeuge ein dynamisches Dokument, dass nur ein Bodyfeld enthält. Ansonsten geht es, dass du eine Page "direkt" via DXL bearbeitest.

Dann baust du in den <richtext> element, entsprechend für jedes Tag ein <actionhotspot> ein, mit entsprechender Beschriftung und so weiter.

Das Speicherst/Ersetzt du dann und zeigst du in einem Frame an.

Ich denke, das ist zwar ein größerer Aufwand, aber sicherlich eine interessante Programmieraufgabe :)

Vielleicht hab ich ja noch lust, da herumzuspielen!

Ich wünsch dir auf jeden Fall viel Erfolg!

Grüsse
Chris

Offline Onkel Domino

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • Tue Gutes - und rede darüber!
Re: Tag Clouds unter Lotus Notes
« Antwort #4 am: 17.08.06 - 21:19:08 »
Hallo Chris,

danke für die Hinweise! Leider gehen meine DXL Kenntnisse gegen Null :-(

Gibt es da nicht irgendwelche anderen Möglichkeiten? Vielleicht mit einem JAVA Applet (obwohl ich da auch nicht unbedingt fit bin...).

Für den Fall dass ich nicht drum herum komme: kennst Du ggf. ein schönes DXL Tutorial mit dem ich mich befassen kann und einen Einstieg in die Materie bekomme?

Danke,
Markus
There are only 10 types of people in the world: Those who understand binary and those who don't.

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Tag Clouds unter Lotus Notes
« Antwort #5 am: 18.08.06 - 00:05:50 »
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

Offline Onkel Domino

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • Tue Gutes - und rede darüber!
Re: Tag Clouds unter Lotus Notes
« Antwort #6 am: 18.08.06 - 08:49:08 »
Hey Chris,

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

Das werde ich mir mal genauer anschauen!

Viele Grüße,
Markus
There are only 10 types of people in the world: Those who understand binary and those who don't.

Offline Onkel Domino

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • Tue Gutes - und rede darüber!
Re: Tag Clouds unter Lotus Notes
« Antwort #7 am: 18.08.06 - 09:39:13 »
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
There are only 10 types of people in the world: Those who understand binary and those who don't.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz