Quantcast
Channel: mmi consult - tipps und tricks blog
Viewing all 12858 articles
Browse latest View live

Domino Designer Eclipse Plugins deinstallieren

$
0
0
Im Domino Designer für Eclipse (DDE) kann man dessen Funktionalität durch die Installation von Plugins erweitern. Doch wie wird man diese wieder los? Diese Frage stellte ich mir, nachdem einige Plugins nicht meinen Vorstellungen entsprachen bzw. andere Plugins unvollständig installiert wurden und weitere Konfiguration und Updates behinderten. Leider gab eine Suche im Netz oder gar der IBM Dokumentation keine Hilfe..... Doch wer lang genug sucht, findet dass auch:

1. Designer starten

2. Anwendungsverwaltung aufrufen mit "Datei - Anwendung - Anwendungsverwaltung ...."

man wähle links die nicht mehr gewünschten Plugins aus und definiere im rechten Teil des Dialoges die auszuführende Operation (z.B. "Deinstallieren")
Image:Domino Designer Eclipse Plugins deinstallieren

nach dem vorgeschlagenen und akzeptierten Lotus Notes Neustart werden die ausgewählen Plugins deinstalliert. Ein Kontrollmöglichkeit ergibt sich wiederum (nach Abschluss) im Anwendungskonfigurationsdialog.

Image:Domino Designer Eclipse Plugins deinstallieren

...so einfach kann es sein.

Welchen Internet-Browser soll ich verwenden?

$
0
0
Als Lotus Notes Benutzer kann ich konfigurieren, welchen Webbrowser ich verwende, wenn ich Internetlinks verwende oder selbst im Internet recherchiere oder arbeite. Den integrierten Browser zu verwenden hat aus meiner Sicht einige Vorteile:
1. Die Umschaltung zwischen mehreren gleichzeitig geöffneten Seiten erfolgt in (von anderen modernen Browsern) gewohnter Weise über TABs
2. Die Umschaltung zwischen einer Internet-/Intranetseite und Datenbankinhalten in Lotus Notes (z.B. Mail, Kalender, Aufgabenverwaltung andere Unternehmensanwendungen) erfolgt ebenfalls über den Wechsel zwischen Fenstertabs (statt über die Windows Taskleiste)
3.  Links per Mail zu versenden ist denkbar einfach: Fenster-Tab mit drag/drop in die gewünschte Stelle einer Mail (oder eines anderen Lotus Notes Dokumentes) ziehen.
4. Internet/Intranet Fundstellen können in Lotus Notes als Lesezeichen verwaltet werden
5. Über den "Offnen"-Button kann ich eine Schnellsuche nach Datenbanken, Dokumenten und Internetlesezeichen durchführen
6. Als Roaming Benutzer (jemand der Geräte wechselt) wandern meine Lesezeichen mit mir an den Arbeitsplatz an dem ich mein Lotus Notes verwende (unabhängig von der Windows-Domäne, an der ich ich anmelde). Extrem hilfreich für Benutzer, die viel reisen und dabei Geschäftsstellen an anderen Standorten (bis hin zum Ausland) nutzen.


Nun gut, die Zahl der Vorteile überzeugt Sie? Dann stellen Sie Ihren Lotus Notes Client einfach so ein:

Image:Welchen Internet-Browser soll ich verwenden?

Image:Welchen Internet-Browser soll ich verwenden?
und bestätigen mit dem OK Button.

"Paperphone und Snaplet": Sehen so Computer in fünf Jahren aus?

Funktionale Gegenüberstellung der SameTime Editionen

$
0
0
Welche funktionale Unterschiede bestehen zwischen den verschiedenen Editionen der IBM Lotus Sametime Server. IBM hat hierzu folgende tabellerarische Aufstellung publiziert:

Sametime Server Editionen

Wie kann ich die Mailsignatur meines iPhone ändern?

$
0
0
Nicht jeder möchte die voreingestellte Mailsignatur "Von meinem iPhone gesendet" verwenden, wenn er geschäftliche Mails versendet (ganz davon abgesehen, dass dieses abmahnfähig ist, weil gewerbliche EMail entsprechende Signaturen mit Pflichtangaben verwenden müssen).

Um die Standardsignatur zu löschen, wählen Sie

Einstellungen
Image:Wie kann ich die Mailsignatur meines iPhone ändern?Mail, Kontakte, Kalender Image:Wie kann ich die Mailsignatur meines iPhone ändern?Signatur

Image:Wie kann ich die Mailsignatur meines iPhone ändern?

dort kann die bestehende Signatur entweder gelöscht (oder besser ersetzt) werden.

Leider werden  bei IBM Lotus Notes Traveler die persönlichen Signatur-Einstellungen aus dem pers. Mailfile nicht mit der Signatur des mobilen Gerätes abgeglichen.

Um eine gesetzeskonforme Signatur einzustellen gehen Lotus Traveler Benutzer in eine eigene Mail (wahrscheinlich im "Gesendet" Ordner zu finden), die von einem Lotus Notes Client versandet wurde (und eine Firmen-Signatur enthält) und kopiert diese über die Zwischenablage in die Standardsignatur des iPhone. Fertig!

Migration bestehender Lotus Notes Installationen auf Roaming Konzepte

$
0
0
Roaming User können nach der Einrichtung ihre persönlichen Daten an einen anderen Arbeitsplatzrechner mitnehmen. Die Funktionalität ist nicht neu (verfügbar seit Release 6). Trotzdem überrascht diese selbst bei der Umstellung ehemaliger Single-User Installationen auf Multi-User/Roaming-User Konzepte durch unerwartet positives Verhalten.

Eigentlich hatten wir vermutet, dass zusätzliches Eingreifen an weiteren Arbeitsplatzrechnern notwendig ist, die von Benutzern verwendet wurden, nachdem er auf Roaming umgestellt wurde. Doch nach vollständiger nachträglicher Einrichtung von Roaming und Wechsel des Benutzers an einen weiteren Arbeitsplatzrechner erhält dieser den Hinweis:
Image:Migration bestehender Lotus Notes Installationen auf Roaming Konzepte
woraufhin der Client automatisch heruntergefahren wird, die lokalen (Roaming-) Datenbanken umbenannt werden und der Client beim automatischen Neustart die Romaing Files vom Roaming Server holt. Das Ergebnis ist ein vollständig roamender Client (ohne administrativen Eingriff). Sollten Benutzer noch Zugriff auf z.B. die zuvor auf diesem Client gepflegten Kontakte zugreifen wollen, so kann er diese Anwendung "names.000" öffnen und die Daten in seine aktuelle (Roaming-)Kontakte-Anwendung kopieren.

Die Notes.ini enthält anschließend (neben den üblichen Enträgen für Roaming) folgende zusätzliche Einträge:
 
SavedUserDictionary=C:\Dokumente und Einstellungen\JohnDoe\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data\workspace\UDM\UserDictionary.000
SavedUserID=C:\Dokumente und Einstellungen\JohnDoe\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data\user.000
SavedBookmark=C:\Dokumente und Einstellungen\JohnDoe\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data\bookmark.000
SavedFeeds=C:\Dokumente und Einstellungen\JohnDoe\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data\localfeedcontent.000
SavedNAB=C:\Dokumente und Einstellungen\JohnDoe\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data\names.000
RoamingUpgradeRenameComplete=1


Lotus Traveler Profil lässt sich nicht auf dem iPhone installieren

$
0
0
Die Einrichtung eines Traveler Profiles auf dem iPhone schlägt fehlt, wenn auf dem Traveler-Server nicht exakt die zu verwendende URL eingetragen ist, mit der Benutzer den Traveler Server ansprechen können/müssen.

Diese URL ist seit 8.5.2 im Serverdokument zu hinterlegen (mit Protokollangabe "http" bzw. "https" sowie dem Aufruf des Servlets, i.d.R. "/servlet/traveler"). So würde z.B. folgende URL richtig sein: "http://traveler.mycompany.de/servlet/traveler".

Erhält ein Benutzer jedoch den Fehler "The operation couldn't be completed. DAErrorDomain error 0.)" ,


so ist der Eintrag im Serverdokument wahrscheinlich falsch:


Nach Korrektur des Serverdokumentes ist nicht einmal ein Neustart erforderlich, da der Lotus Notes Traveler Servertask diese Daten dynamisch zur Generierung des Geräteprofils ausliest.

Validierungen bei Navigationen abschalten

$
0
0
XPages erlauben umfangreiche Eingabevalidierungen (Pflichtfelder oder Dateneingabenprüfungen). Zur Navigation zwischen verschiedenen Seiten kann es jedoch gewünscht sein, dass man auf eine andere Seite wechseln kann, ohne eine Erfassungsmaske vollständig ausgefüllt zu haben und ohne einen "Cancel" bzw. "Abbrechen" zu klicken.

Auch dieses ist einfach zu erreichen. Angenommen, Sie haben eine XPage mit Validierung z.B. eines Pflichtfeldes erstellt


auf die Sie mit einem Register eines "Fenster mit Registern" in einer übergeordneten XPage (Register "New Request") verweisen. Andere Register dieser übergeordneten XPage (z.B. Register "All Requests") erlauben die Navigation z.B. auf eine andere XPage (z.B. zur Ansichtsdarstellung der bereits erfassten Daten), Dann ist die Validierung zur Navigation bei den Ereignisdefinitionen für dieses Register selektiv deaktivierbar:



Alternative Validierung von Eingabefeldern in XPages mit dijit.form.ValidationTextBox

$
0
0
XPages erlauben umfangreiche Server-Side Validierungen in Verbindung mit ErrorMessage Controls. Doch selbst diese gefallen nicht allen Nutzern, da sie einen separaten Darstellungsbereich der Fehlermeldung auf der Seite erfordern. Die Frage eines Kursteilnehmers eines meiner XPage Entwicklerkurse veranlasste mich, ein wenig im Netz zu suchen. Hierbei bin ich auf Use of dijit.form.ValidationTextBox. aufmerksam geworden.

Ein kleines Beispiel auf der Basis dieses dojo-Controls dijit.form.ValidationTextBox kann mit nachfolgender XPage realisiert werden. Hier werden jeweils Name und Vorname, Postleitzahl und Wohnort benötigt (die Postleitzahl muss ein gültiges Format aufweisen). Der vollständige Source-Code ist  hier .

Auch die Einbindung dijits und Erstellung von digit-Atrributen ist noch einfacher geworden:

Schritt 1: DoJo Forms einbinden

Image:Alternative Validierung von Eingabefeldern in XPages mit dijit.form.ValidationTextBox

Schritt 2: Gewünschtes dijit laden

Das gewünschte dijit muss als Ressource eingebunden werden:
Image:Alternative Validierung von Eingabefeldern in XPages mit dijit.form.ValidationTextBox
..unter Angabe des Namens
Image:Alternative Validierung von Eingabefeldern in XPages mit dijit.form.ValidationTextBox


Schritt 3: Gewünschte Attribute für die entsprechenden Felder festlegen

Dojo-Typ: dijit.form.ValidationTextBox
Dojo-Attribute: - alle gwünschten gemäß Referenzbeschreibung -
Image:Alternative Validierung von Eingabefeldern in XPages mit dijit.form.ValidationTextBox

... und so sieht die Seite dann im Browser aus:
Image:Alternative Validierung von Eingabefeldern in XPages mit dijit.form.ValidationTextBox

ToDos synchronisieren mit Lotus Notes Traveler

$
0
0
Mit Lotus Notes Traveler könen Emails, Kalender und Kontakte z.B, mit dem iPhone synchronisiert werden. Leider werden aktuell weder "Aufgaben" noch "Notizen" von IBM unterstützt (vielleicht ändert sich das ja einmal ???). Für die Synchronisation von "Aufgaben" habe ich nunmehr eine Apps gefunden, die es in zwei Varianten gibt  Gratis Version von NotesF1 Free  und Kostenpflichtige Version von NotesF1 . Erste Tests zeigen ein gutes Ergebnis, wenngleich es App nur in englischer Sprache angeboten wird.

Image:ToDos synchronisieren mit Lotus Notes Traveler

Aktivierung von NSL kann fehlschlagen

$
0
0
Mit Notes Shared Login (NSL) können Windows Benutzer Lotus Notes 8.5.x starten, ohne ein Kennwort einzugeben. Die Aktivierung dieser Funktion kann durch den Administrator über eine Sicherheitsrichtlinie erfolgen. Leider funktioniert dieses nur unter folgenden Rahmenbedingungen problemlos:
1.        Der aus frühereren Versionen bekannte Single-Logon Dienst darf nicht installiert sein (einfaches deaktivieren reicht nicht aus...)
2.        Roaming User dürfen keine roaming Notes.ID in der Kontakte Anwendung verwalten

Im Rahmen von Clientmigrationen können Administratoren nicht die aktivierbare NSL-Funktion bei fehlerhaften Roaming-Konfigurationen ("mit Bordmitteln") nur beheben, indem sie Roaming Funktion des Benutzers löschen und erneut aktivieren (ohne die ID Datei in der Kontakte Anwendung zu roamen)
Image:Aktivierung von NSL kann fehlschlagen

oder dank unseres Datenbankpflege-Werkzeuges "just:NSF" indem man die Roaming-IDs aus den serverseitigen Replik der replizierenden Kontakte-Anwendung löscht:

Image:Aktivierung von NSL kann fehlschlagen

Abwesenheitsbenachrichtigung auf dem iPhone aktivieren

$
0
0
Unsere iPhone Benutzer empfangen Ihre Mails vom Traveler Server unserer Lotus Domino Infrastruktur. Leider fehlt derzeit die Möglichkeit im Lotus Notes Traveler die Lotus Domino Abwesenheitsfunktion zu steuern.

Ein weiteres Beispiel für Softwareprodukte die (einzeln für sich genommendie gewünschten Funktionen leisten. Im Zusammenspiel mit Funktionen anderer Produkte ergeben sich oft Schwierigkeiten. Zum Glück gibt es Freeware, welche (ohne Kosten und Garantien) diese Lücken schliessen. So bin ich heute auf eine Lösung von Extracomm  gestossen, welche mir die Möglichkeit eröffnet meine Abwesenheitsfunktion für mein Lotus Domino Mailsystem zu prüfen und zu aktivieren/deaktivieren.

Die Installation war simpel und benötigte etwa 10 Minuten (für einen Domino 8.5/Traveler Server und ein iPhone 4). Ich teste dieses Produkt derzeit, bin jedoch von den anfänglichen Ergebnissen durchwegs begeistert.

Dokumente aus Textdateien importieren

$
0
0
Lotus Notes kann zur strukturierten Datenübernahme aus Textdateien jeweils einzelne Dokumente in eine Ansicht importieren. Diese (seit vielen Versionen) im Produkt enthaltene Methode ist jedoch leider aktuelle nur noch spärlich dokumentiert. Gut wenn man sich noch an "früher" erinnert und hierzu "COL-Dateien" erstellen kann.

Aufgabenstellung:

Aus einer Textdatei sollen Datensätze (im Beispiel mit 2 Spalten durch ";" separiert) importiert werden. Neben den beiden Spalten der Datensätze benötigen die Dokumente noch weitere Felder (so wie sie erstellt würden, wenn man Dokumente interaktiv mit Hilfe der entsprechenden Maske anlegt). Diese weiteren Felder kann man aus den Eigenschaften eines Beispieldokumentes ableiten.

Lösung:

Mit dem Texteditor ist eine "COL-Datei" als Spaltenbeschreibungsdatei zu erstellen.

 
; Beschreibung der Spalten. Diese sind jeweils mit ";" voneinander getrennt
Folder:                TYPE TEXT        UNTIL ";";
Category:        TYPE TEXT        UNTIL "";

; Jetzt noch das Importdatum vermerken oder irgendwelche anderen Formelsprache-Operationen
FORMULASTART
FIELD LastImportDate := @Now;
FIELD Active := "1";
FORMULAEND


Durchführung des Imports:

1. Öffnen der Ansicht und Wechsel in die Anischt, in der die zu importierenden Dokumente später angezeigt werden.
2. Datei - Importieren
3. Textdatei auswählen: als Dateityp muss "Tabular Text" ausgewählt sein/werden
Image:Dokumente aus Textdateien importieren
4. Textdatei auswählen: als Dateityp muss "Tabular Text" ausgewählt sein/werden
5. Importieren-Button klicken
Image:Dokumente aus Textdateien importieren
6. Fertig. Um die neu importierten Dokumente anzuzeigen ggf. zum Aktualisieren drücken.

Wie lösche ich alte Kalendereinträge aus meinem Mailfile?

$
0
0
Auch wenn Benutzer regelmäßig alte Dokumente archivieren, verbleiben Kalenderdokumente im Mailfile zurück. Um diese zu entfernen, steht in den Kalenderansichten eine entsprechende Aufräumfunktion zur Verfügung:

Image:Wie lösche ich alte Kalendereinträge aus meinem Mailfile?

Im folgenden Dialog die Aufräumfunktion näher festlegen ....

Image:Wie lösche ich alte Kalendereinträge aus meinem Mailfile?

.spart Platz und steigert die Übersichtlichkeit der Ansichten.

Manche Vault-Benutzer können Roaming Clients nicht in Betrieb nehmen

$
0
0
Wie viele andere Unternehmen setzen auch wir bei uns und unseren Kunden auf Mehrbenutzerinstallationen, Roaming Konfiguration, Verwendung des ID Vault und NSL, um flexible Arbeitsplatzkonzepte umzusetzen.

Doch heute haben wir (wie zuvor schon mehrfach) bei einer (seit vielen Jahren gewachsenen Infrastruktur eines unserer Kunden) zwar die ID eines Benutzers im Vault vorgefunden, jedoch keinen neuen (weiteren) Arbeitsplatzrechner in Betrieb nehmen können. Im Rahmen der Konfiguration wurde stets nach der Benutzer-ID gefragt, die jedoch im Vault vorhanden war.

Nähere Überprüfung des Serverprotokolles "Sicherheitsereignisse" zeigt eine Fehlermeldung
 
09.11.2011 09:17:14   ID failed to authenticate in vault 'O=MyVault'.  'John Doe' (IP address xxx.xxx.xxx.xxx:XXXX) made request.  Error: Note item not found


Bei näherer Analyse fällt auf, dass im Benutzerdokument des Vault einige Felder fehlen (Ursache noch nicht endgültig geklärt, lt. nachfolgender IBM Technote wohl nur im Zusammenhang mit NSL):

 
IDPwAuthData
IDPwIV
IDPwIV_Al


Diese fehlenden Daten werden jedoch hinzugefügt, wenn der Administrator eine Kennwortrücksetzung durchführt. Und siehe da: Der Client lässt sich problemlos in Betrieb nehmen.


Siehe auch (wenngleich meine Lösung anders ausschaut):
LO59631: WHEN NOTES IS SET UP IN ANOTHER MACHINE, ID FILE IS REQUIRED.

Versionstabelle in Personendokumenten löschen und neu aufbauen

$
0
0
Im Verlauf von Client-Update Projekten stellt die Fortschrittskontrolle stets eine der Teilaufgaben dar. Die einfachste Form lässt sich mit Hilfe der "Dynamischen Client Configuration" realisieren, die bei Authentifizierung eines Lotus Notes Clients am HomeServer die wesentlichen Betriebsdaten (Rechnername, Client-Version, Systemplattform, Datum) im Personendokument hinterlegen.

Um diese Methode zu nutzen, sollte die bisherige Versionstabelle gelöscht werden, damit nur aktuelle Daten in der Ansicht "Personen\Nach Client-Version" des Domino Verzeichnisses zu finden sind. Ein kleiner Formelsprachagent löscht die Inhalte:
 
Field ClntMachine := "";
Field ClntBld := "";
Field ClntPltfrm := "";
Field ClntDate := "";
Field ClntDgst := "";
SELECT @All


Sollten anschließend keine Daten gesammelt werden, so können mehrfache Ursachen verantwortlich sein. So sind
  • ACL der Admin4.nsf zu prüfen (Benutzer erhalten hier "Autor" Recht mit der Eigenschaft "Dokumente erstellen")
  • Homeserver in Arbeitsumgebung muss identisch mit dem Homeserver im Personendokument sein (vollständiger hierarchischer Name)
  • AdminP muss funktionieren

Zur Fehleranalyse können folgende Notes.ini Parameter auf der Client-Seite eingesetzt werden:
 
DEBUG_DYNCONFIG=1
DEBUG_OUTFILE={path/filename}
DEBUG_THREADID=1

Die Sprache des TDI Konfigurationseditor ändern

$
0
0
Der Konfigurationseditor des Tivoli Directory Integrators bietet leider keine Möglichkeit im Benutzerinterface, die Sprache von z.B. Deutsch auf  Englisch zu ändern. Allerdings kann dies Permanent in der Startdatei des Konfigurationseditors mit einem Parameter erreicht werden.

Hierzu ist im TDI_Root_Dir die Datei ibmditk.bat in einem Editor zu Laden. Diese Datei dient dem Start des Konfigurationseditors.

Am Ende ist befindet sich eine if else Kombination:
if .%TDI_SHUTDOWN%==.true ( 
"%TDI_HOME_DIR%\ce\eclipsece\miadmin" -tdishutdown -noSplash %* -vm "%TDI_JAVAW_PROGRAM%" -vmargs -Dcom.ibm.di.loader.IDILoader.path="%TDI_HOME_DIR%"    
) else (
start /B "Tivoli Directory Integrator" "%TDI_HOME_DIR%\ce\eclipsece\miadmin" %* -vm "%TDI_JAVAW_PROGRAM%" -vmargs -Dcom.ibm.di.loader.IDILoader.path="%TDI_HOME_DIR%"
)

Bei dieser muss einfach in der letzen Zeile, also dem else Case der Parameter  
-Duser.language=en
für die englische Sprache angehangen werden.
) else ( 
start /B "Tivoli Directory Integrator" "%TDI_HOME_DIR%\ce\eclipsece\miadmin" %* -vm "%TDI_JAVAW_PROGRAM%" -vmargs -Dcom.ibm.di.loader.IDILoader.path="%TDI_HOME_DIR%"  -Duser.language=en
)

Analog sollte diese Methode für alle Sprache der multilingualen TDI Installtion funktionieren.

Gut zu wissen : Lotus Traveler mit reverse Proxy !

$
0
0
Mit Hilfe eines reverse Proxy kann der Zugriff per Lotus Traveler sicherer gestaltet werden. Hier eine paar Kleinigkeiten, welche man einfach umschiffen kann wenn man Sie denn weiss :-)

Zur Situation:
Als reverse Proxy kam apache2  zum Einsatz. Lotus Traveler war in Version 8.5.x installiert.
Es wurde  vhosts Port 80 auf Port 443 erstellt. Port 80 wurde auf 443 per reverse Proxy Redirect Directive umgeleitet, damit alle Zugriffe per SSL gesichert zum reverse Proxy erfolgen und eine einfache Eingabe per http://meine.url.de möglich sind.
Im vhost 443 wurde per
DirectoryIndex /servlet/traveler
https://meine.url.de auf https://meine.url.de/servlet/travler gemappt.

Dies lief auch mit einem IPhone 4 ohne Probleme. Dann kam jedoch das erste Windows Mobile Gerät. Dies wollte sich einfach nicht per reverse Proxy verbinden. Hierbei war es egal ob Windows Mobile 6.1 oder 6.5. Entsprechende Test ergaben, dass die DirectoryIndex Konfiguration im vhost von den Browsern auf Windows Mobile fehlerhaft/nicht ausgewertet wurde. Ein Android 2.3 konnte wiederum ohne Probleme damit umgehen.

Damit auch Windows Mobile den reverse Proxy nutzen konnte, wurde die Konfiguration adaptiert:
1. Die vhost port 80 Redirect Directive wurde auf https://meine.url.de/servlet/taveler geändert

Nun konnte auch Windows Mobile per reverse Proxy auf den internen Lotus Traveler Server zugreifen.

 

Bearbeitung von RichTextItems bringt Laufzeitfehler

$
0
0
Die programmatische Bearbeitung von RichText-Feldern ist Dank entsprechender LotusScript Klassen möglich, doch oftmals mühselig. So erstellten wir in diesen Tagen auf Kundenwunsch eine Schaltfläche in einer Maske, um in einem RichText Feld eine Tabelle (z.B. eine Agenda) zu erstellen. Diese funktionierte bei neuen Dokumenten wie gewünscht, jedoch nicht in Fällen, wo die Tabelle erst nach dem ersten Speichern des Dokumentes eingefügt werden sollte.

In diesen Fällen erscheinen Fehlermeldungen wir "Object Variable not set" oder auch "Type mismatch in method AssignClassInstance: AINSTANCE found, Unknown expected"
Image:Bearbeitung von RichTextItems bringt Laufzeitfehler
wenn man mit dem Body Feld der Kalendermaske mit folgendem Code:

 
Sub Click(Source As Button)
   
   Dim s                As New NotesSession
   Dim ws             As New NotesUIWorkspace
   Dim uiDoc       As NotesUIDocument
   Dim doc           As NotesDocument
   Dim body        As NotesRichTextItem
   Dim rtnav         As NotesRichTextNavigator
   
   ' - Get UI and BE document handles to current document
   Set uiDoc        = ws.CurrentDocument
   Set doc            = uiDoc.Document
   
   ' - Create or grab RT item
   If doc.IsNewNote Then
           doc.Form = "RT Tests"
           Set body = New NotesRichTextItem(doc,"Body")
   Else
           Set body = doc.GetFirstItem("Body")
   End If
   
     ' - Create a 4 column table in RT item
   Dim styles(1 To 4) As NotesRichTextParagraphStyle
   rowCount% = 5
   columnCount% = 4
   
   'Column 1
   Set styles(1) = s.CreateRichTextParagraphStyle
   styles(1).LeftMargin = 0
   styles(1).FirstLineLeftMargin = 0
   styles(1).RightMargin = RULER_ONE_CENTIMETER* 2
   
   'Column 2
   Set styles(2) = s.CreateRichTextParagraphStyle
   styles(2).LeftMargin = 0
   styles(2).FirstLineLeftMargin = 0
   styles(2).RightMargin = RULER_ONE_CENTIMETER* 17
   
   'Column 3
   Set styles(3) = s.CreateRichTextParagraphStyle
   styles(3).LeftMargin = 0
   styles(3).FirstLineLeftMargin = 0
   styles(3).RightMargin = RULER_ONE_CENTIMETER* 3
   
   'Column 4
   Set styles(4) = s.CreateRichTextParagraphStyle
   styles(4).LeftMargin = 0
   styles(4).FirstLineLeftMargin = 0
   styles(4).RightMargin = RULER_ONE_CENTIMETER* 2.5
   
   Call body.AppendTable(rowCount%, columnCount%,,,styles)
   
   ' - Populate table - the top row
   Set rtnav = body.CreateNavigator
   Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
   Call body.BeginInsert(rtnav)
   Call body.AppendText("Nr.")
   Call body.EndInsert
   Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
   Call body.BeginInsert(rtnav)
   Call body.AppendText("Thema")
   Call body.EndInsert
   Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
   Call body.BeginInsert(rtnav)
   Call body.AppendText("Erlediger")
   Call body.EndInsert
   Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
   Call body.BeginInsert(rtnav)
   Call body.AppendText("Zeit")
   Call body.EndInsert
   Call body.Update
   
   ' - Reopen document in order to load RT item into UI
   doc.SaveOptions = "0" ' make it possible to close the document without a "do you want to save" prompt.
   Call uidoc.Close(True)
   Set uidoc = ws.EditDocument(True, doc, , , , True)
   Call uidoc.Document.RemoveItem("SaveOptions")
   
End Sub

arbeitet.

Nach langer Analyse stellte ich fest, das die Ursache für den Laufzeitfehler (für mich nicht erklärbar) in der Definition der Feldhilfe
Image:Bearbeitung von RichTextItems bringt Laufzeitfehler
zu finden ist. Entfernt man diese, so wird mit

 
Set body = doc.GetFirstItem("Body")

auch das entsprechende Item gefunden.

Feiertage im Domino Directory kopieren

$
0
0
Administratoren erstellen neue Dokumente im Domino Directory gern und oft durch kopieren und anschließendes modifizieren. Leider werden hierdurch Feiertagsdokumente ungültig, da sie in einem Feld "APPTUNID" die eigene DocumentUnique-ID speichern. Damit auch Feiertagsdokumente kopiert werden dürfen, oder zuvor durch Kopiervorgänge "zerstörte" Dokumente repariert werden können, ist der vorhandene Agent " RenamePastedAccounts" im Domino Directory wie folgt anzupassen / zu erweitern, damit diese von Benutzern in ihre Mailfiles importiert werden können.
 
Option
Public
Option
Declare

'Begin DNT

Const
ACCT_NAME                 = "AccountName"
Const
ACCT_TYPE                 = "Account"
Const
HOLIDAY_TYPE              = "Holiday"
Const
HOLIDAY_ID                = "APPTUNID"
Const
TYPE_FIELD                = "Type"
'End DNT


Sub
Initialize
    Dim ws As New NotesUIWorkspace
    Dim uidb As NotesUIDatabase
    Dim db As NotesDatabase
    Dim dc As NotesDocumentCollection
    Dim doc As NotesDocument
    Dim strName As String
    Dim str1, str2 As String
   
    str1 = "Copy of "
   
    Set uidb = ws.currentdatabase
    Set db = uidb.Database
    Set dc = db.UnprocessedDocuments
    Set doc = dc.getfirstdocument
    While Not doc Is Nothing

            Select Case doc.getitemvalue(TYPE_FIELD)(0)

            Case ACCT_TYPE
                    strName = doc.getitemvalue(ACCT_NAME)(0)
                    Call doc.ReplaceItemValue(ACCT_NAME, str1 + strName)
                    Call doc.save(True, False)
                   
            Case HOLIDAY_TYPE
                    Call doc.ReplaceItemValue (HOLIDAY_ID, doc.Universalid)
                    Call doc.save(True, False)
            End Select

            Set doc = dc.getnextdocument(doc)
    Wend

End
Sub


Um defekte Feiertagsdokumente zu reparieren, sind diese danach auszuschneiden/einzufügen.
Viewing all 12858 articles
Browse latest View live