Domino 9 und frühere Versionen > ND9: Entwicklung

Design Update xpage Anwendung

(1/2) > >>

HH:
Hallo zusammen,

muss ich mit Problemen rechnen, wenn ich das Design einer xpage Anwendung im laufenden Betrieb aktualisiere (Design refresh auf einem internen Server, dann Replizierung in die Produktivumgebung)?

Danke vorab und Gruß
Hubert

Flachmann:
Das pauschal lässt sich so nicht beantworten, denn es kommt doch darauf an, was geändert wurde. Wenn plötzlich Design-Elemente fehlen, die vorher vorhanden waren, beim User aber referenziert werden, wird es zwangsläufig Fehlermeldungen geben. Wenn Du nur Kleinigkeiten, wie Logos, getauscht hast, wird es wohl funktionieren.

Das wäre aber bei einer klassischen LN-Anwendung ähnlich ("es kommt darauf an").

Komplexe Änderungen sollten immer ohne Endbenutzerzugriffe durchgeführt werden.

HH:
Schon klar, wenn etwas fehlt oder Design-Elemente umbenannt werden, kann das natürlich nicht funktionieren.

Mir geht es eher um Java-Script-Klassen, Java-Klassen bzw. Beans die geändert werden. Wie sieht es damit aus. Wird da, insb. bei letzten, der JVM-Cache zerschossen?

Gruß
Hubert

Flachmann:
Hier gilt doch dasselbe. Je nachdem was geändert wird, kann es zu Problemen kommen. Java-Klasse fehlt, etwas an internen Strukturen geändert wird usw. Es wird niemanden geben, der diese Frage 100%ig beantworten kann, wenn man nicht weiß, was genau geändert wurde oder wie die einzelnen Komponenten zusammen arbeiten. Das können nur der oder die Entwickler beantworten.

Wie immer gilt, dass es sicherer ist ein Update am "ruhenden System" (ohne gleichzeitige Benutzerzugriffe) zu machen.  :-X

Theoretisch könnte man auch die HTTP-Task neu starten, was zu einem Refresh führen würde, aber das kommt für Produktivsysteme kaum in Frage.

Ich mache "Pillepalle-Änderungen" (Logo, Optik, Ergänzungen) i.d.R. "sofort", aber komplexere Logikänderungen nur am möglichst ruhenden System nach Vorankündigung.

HH:
Dann mal ein konkretes Beispiel:


--- Code: --- // Zeiten auf Überschneidung prüfen
Calendar aStart = Calendar.getInstance() ;
aStart.setTime( a.getStartDateTime() ) ;
Calendar aEnd = Calendar.getInstance() ;
aEnd.setTime( a.getEndDateTime() ) ;

Calendar bStart = Calendar.getInstance() ;
bStart.setTime( b.getStartDateTime() ) ;
Calendar bEnd = Calendar.getInstance() ;
bEnd.setTime( b.getEndDateTime() ) ;

if( isAllDayEvent == false ) {
aStart.add( Calendar.MINUTE, 1 ) ; // *
aEnd.add( Calendar.MINUTE, -1 ) ;
bStart.add( Calendar.MINUTE, 1 ) ; // *
bEnd.add( Calendar.MINUTE, -1 ) ;
}

if( bStart.after( aStart ) && bStart.before( aEnd ) ) {
isConflict = true ;
}
if( bEnd.after( aStart ) && bEnd.before( aEnd) ) {
isConflict = true ;
}
if( bStart.before( aStart ) && bEnd.after( aEnd ) ) {
isConflict = true ;
}
if( aStart.equals( bStart ) || aStart.equals( bEnd ) || aEnd.equals( bStart ) || aEnd.equals( bEnd ) ) {
isConflict = true ;
}

--- Ende Code ---

In einer Methode zur Prüfung, ob es zwischen zwei Buchungen Überschneidungen gibt, habe ich die mit // * gekennzeichneten Zeilen gerade geändert. Also keine große Änderung an Strukturen oder Signaturen.

Natürlich hätte ich gern ein Zeitfenster für Updates, zu dem ich den Http-Task herunterfahren würde. Habe ich aber nicht bzw. müsse ich dann seeehr früh aufstehen. Oder ich muss mir einen anderen Mechanismus überlegen, der dass dann z.B. via Agent zu einer weniger frequentierten Zeit macht.

Gruß
Hubert

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln