FSS.social
31Jul 120

Wenn ein DbLookup nur ein null liefert

am Dienstag, den 31. Juli 2012

Ist man es unter Notes gewohnt, dass @Dblookup im Fehlerfall eine Fehlermeldung zurückgibt,
so erhält man unter XPages nur ein nichtssagendes und wenig hilfreiches null.

Falls man unter XPages rausfinden will, was ein DbLookup moniert. kann man das DbLookup vorrübergehend in einem session.evaluate ausführen lassen.

Und ein DbLookup Aufruf wie z.B.,

var ergebnis = @DbLookup(ReplicaID,viewName,key,"FeldName"); durch ein

var cmd = 'ret:=@DbLookup("";"'+ReplicaID+'";"'+viewName+'";"'+key+'";"FeldName");@if(@isError(ret);@Text(ret);ret)';
var ergebnis = session.evaluate(cmd);
ersetzen und schon findet man im ergebnis die Fehlermeldung.

11Jul 120

Notes 8.5.4 mit und ohne Social

am Mittwoch, den 11. Juli 2012

Ed Brill hat in seinem Blog einige Informationen zur Version 8.5.4 veröffentlicht, die auch schon in verschiedenen IBM-Präsentationen so gezeigt wurden.
Es wird also definitiv keine zwei Versionen der 8.5.4 in diesem Jahr geben, sondern nur eine einzige. Der Administrator hat bei der Installation die Wahl, ob er mit der 8.5.4 "lediglich" eine Maintenance Release (also eine stabilere und fehlerbereinigte 8.5.3) haben möchte, oder ob er die neuen sozialen Features der Version aktivieren möchte. Bis vor Kurzem war noch die Überlegung, ob es zwei verschiedene Version der 8.5.4 geben sollte. Aus unserer Sicht eine gute Entscheidung.

Die sozialen Komponenten beinhalten dann die "Vulkan"-Vision, eine neue grafische Benutzeroberfläche, verbesserte Applikationshandhabung, ein "great" Update von iNotes und das schon viel diskutierte Browser Plug-In. Nach unseren Informationen soll die seit R4 verfügbare, aber von den wenigsten Nutzern genutzte Home-Seite komplett renoviert werden und die neuen Features beinhalten, z.B. einen Activity Stream.

Auch das die nächste Version in rund 18 Monaten keine "8" mehr an der ersten Stelle haben wird, wurde klargestellt. Lediglich ob es eine "9" oder "something funkier" wird, liess er in seinem Beitrag offen.

10Jul 120

XPages Einmal das Datum ohne Zeit bitte

am Dienstag, den 10. Juli 2012

Manchmal sind es die kleinen Dinge, die einen aufhalten. Zum Beispiel der Wunsch nur das Datum ohne Zeitangabe in einem Feld abzuspeichern.

Glaubt man anfangs noch, dass es ausreicht dem Datepicker zu sagen, dass man nur am Datum interessiert ist,
stellte man fest, dass die Option den Datepicker nicht daran hindert noch eine Zeitangabe anzuhängen.

Im Internet fand ich ein Stück Code mit dem man beim Speichern der XPage dafür sorgen kann, dass der Code wieder rausfliegt.



// kleine Korrektur bei den Datumsfeldern Datum + Zeit => Zeit

if (currentDocument.getDocument().hasItem("Beginn")) {

var dtb:NotesDateTime = currentDocument.getItemValueDateTime("Beginn");

dtb.setAnyTime();

currentDocument.getDocument().replaceItemValue("Beginn",dtb)

}

5Jul 120

NICE: Notes Install Cleanup Executable

am Donnerstag, den 5. Juli 2012

Auch wenn man sich schon Jahre mit Notes beschäftigt, so gibt es immer wieder Sachen, die man noch nicht kennt. In meinem Fall ist es NICE - ein Tool mit dem man mißlungene Notes-Installationen komplett löschen kann, ohne manuell in Registry & Co. Hand anlegen zu müssen. Vielleicht kennt es der ein oder andere - falls nicht, sicherlich ein hilfreicher Tipp.

Mehr Informationen dazu unter http://www-01.ibm.com/support/docview.wss?uid=swg21459714.

3Jul 120

XPages und die Validierung

am Dienstag, den 3. Juli 2012

XPages bietet von Hause aus eine ganze Reihe von Validierungsmöglichkeiten an.

Neben den üblichen Prüfungen ob ein Feld gefüllt wurde oder ob es einer regular expression genügt, kann man auch eigene Javascript-Routinen einbinden, die sich komplexere Prüfungen annehmen.

Hierzu kann man über die Eigenschaften einen neuen Validator namens validateExpression hinzufügen.
Der (serverseitige) Javascriptcode wird bei Expression hinzugefügt.
Wenn der Javascriptcode ein "false" zurückliefert wird die Fehlermeldung zurückgegeben die man unter "message" eingetragen hat.

XPages Validierung

Man kann zudem auch eigene ("Fehler-") Mitteilungen ins <font color="blue"> Display-Errors Control <font color="black"> schmuggeln.
Dazu gibt es bei Tommy Valand ein kleinen Code-Schnippsel (Link zur Orginalseite)
<font color="blue"><blockquote><htmlblock>
function addFacesMessage( message, component ){
try {
if( typeof component === 'string' ){
component = getComponent( component );
}

var clientId = null;
if( component ){
clientId = component.getClientId( facesContext );
}

facesContext.addMessage( clientId, new javax.faces.application.FacesMessage( message ) );
} catch(e){
/*Debug.logException(e);*/
}
} }
</htmlblock></blockquote><font color="black">

Ruft man mit serverseitigem Javascript die obige Funktion wie folgt auf <font color="blue">
addFacesMessage("Die Datenbank xyz wurde nicht gefunden,","IDEinesFeldes")
<font color="black"> wird die Meldung im Display-Error Control angezeigt.

Anbei noch ein paar interessante Links rund um das Thema::
Hier findet man eine Beschreibung der Validierungsmöglichkeiten Link zu www-10.lotus.com
Hier ist noch eine Alternative von Tommy Valand zum Display Control. Link zu Tommy Valands Blog
Hier findet man eine größere Liste mit regularen Expressions Link zu regexlib.com

 

2Jul 120

Notes Traveler 8.5.3 Upgrade Pack 1

am Montag, den 2. Juli 2012

Das kürzlich veröffentlichte Upgrade Pack 1 zur Traveler Version 8.5.3 beinhaltet zum ersten Mal die Traveler High Availability Solution.
Zusätzlich enthält das Upgrade Pack auch diverse neue Features besonders im Sicherheitsbereich. Details findet man auf der entsprechenden Website.