XPages Log File Reader

Med denne lille applikation får du nemt adgang til alle relevante log filer og settings filer. Kopier blot baser over på serveren og åben den i enten notes eller en webbrowser – herefter har du adgang til bl.a.:

  • Log.nsf
  • Console.log
  • XPages.log
  • Error og Trace log filer
  • Samt notes.ini, java.policy, jvm.properties, xsp.properties m.v.

Applikationen er tilgængelig på OpenNTF og live demo kan ses her

 

Beans

Du kan godt lave XPages uden at bruge Java – ligesom du kan lave Notes Apps uden at bruge Lotus Script … Med andre ord: Lav alt din kode i Java Beans!

Der er 3 krav til en bean (Se også ‘what the heck is a bean?‘)

  1. Skal have en constructor uden parameter
  2. Skal være Serializable
  3. Properties skal kunne tilgåes med ‘getters’ og ’setters’ med samme navn prefixed med get eller set

Recycle

Husk at recycle alle Notes objekter efter brug, eksempelvis:
doc.recycle();
view.recycle();

Debug

Beans kan nemmest debugges med ‘XPages Debug Toolbar‘ som kan downloades fra OpenNTF. I din java kode kan du skrive
import com.debug.*;
DebugToolbar debug=new DebugToolbar();
debug.warn("my warning");
debug.info("some info");
debug.error("This is wrong", "!!");
Debug teksterne vil se således ud i toolbaren:
I toolbar basen kan du på demoPage.xsp siden se flere eksempler og dokumentation.

Skabelon

Vedlagt en bean skabelon som du kan bruge som udgangspunkt for dine egne bean. Simpelt eksempel der giver adgang til currentSession, currentDatabase samt Debug Toolbar: beanTemplate.java

Server Side Java Script

Du kan kalde din Java kode direkte fra SSJS på 3 måder:
  • Med importPackage
importPackage( majkilde.fw );
var config: DbConfig = new DbConfig();
config.getDatabaseUrl("LOG");
  • Direkte
var config = new majkilde.fw.DbConfig();
config.getDatabaseUrl("LOG");
  • Som en Managed Bean – her kan du både bruge SSJS og EL. Først skal kode registreres som en managed bean (se screenshot) – herefter kan den kaldes simpelt fra SSJS:
DbConfig.getDatabaseUrl("LOG");
faces-config.xml filen findes under WebContent\WEB-INF i Package Explorer

Links

XPages og performance

Paul Withers lavede et glimrende indlæg på Dannotes hvor han havde lavet performance målinger på XPages. Her et par af konklusionerne:

  • SSJS bliver fortolket af JVM, mens EL og Java (e.g. beans) bliver compileret til bytecode. Dette er en af grundene til at Java kode er hurtigere end SSJS
  • Hver Control bliver til en Java Class som eksekveres på serveren – spar derofr på antallet af controls hivs det er muligt. F.eks. er det bedre med ét computet fullname field fremfor 2 fields med fornavn og efternavn.
  • Persistence: På application properties kan man angive Persistence. Der er flere indstillingsmuligheder i xsp.properties filen (findes under WebContent\WEB-INF i Package Explorer). Her kan persistence sættes til None, hvilket kan give et performance boost. Ligeledes kan ‘Persist pages between request’ disables – hvilket gør siderne stateless (og hurtigere)
  • Brug ‘loaded’ fremfor ‘rendered’
  • Brug dataContexts – specielt ifm. med beregning af ‘rendered’ (se side 47 i slide og frem)
  • Partial refresh: hvis muligt, så sæt execMode=’partial’
  • Brug gerne variableResolvers

Links

Fonts

Med CSS @Font-Face selector kan du nemt indsætte andre fonte i din web page. På Google Web Fonts kan du finde mange flotte fonte. For at bruge en af dem i din XPage skal du gøre 2 ting:

  1. Benytte et google stylesheet – dette vil give dig den ønskede font
  2. I dit eget stylesheet kan du nu bruge fonten
Her vist et lille eksempel, der blot skriver ‘Hello World’ med en pæn Google font

Links