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

OneUI

Brug altid OneUI og overhold standarden 100%. Dermed er din kode:

  • Dokumenteret
  • Genbrugelig

Og du kan nemt hente og genbruge componter du henter udefra – f.eks. fra OpenNTF.org

Kom godt i gang guide:

  • Først oprettes en Custom Control kaldet ‘Layout’ med nedenstående kode – dette laver det overordende OneUI framework (du kan altid selv opdele i flere custom controls eller fjerne elementer du ikke benytter)
    Snippet
  • Tips: Tast <Crtl><Shift>F for at formattere source code pænt (indryk xml så det står pænt)
  • Indsæt din nye custom control på en XPage
  • Opret et nyt Theme og lad det extende OneUIV2:
    <theme extends="oneuiv2"...
  • Under ‘Application properties, XPages’ vælger du det Application Theme du lige har lavet
  • Opret et nyt stylesheet (f.eks. “style.css”) og indsæt følgende css for at udskifte standard Lotus logoet med dit eget (gem dit eget logo som et image resource i basen). Tilsvarende laves et par ændringer til standard OneUI for at få det til at stå pænt:
    /* add the xpages logo */
    .lotusLogo {
    	background-image: url("xpages.png");
    	width:100px;
    	height:35px;
    	margin-left:10px !important;
    }
    
    /* OneUI 2.1 bug fix */
    .lotusSection h2 {margin:0px;}
    
    .lotusTitleBar h2 {
    	margin:0px;
    	font-weight: bold;
    }
    
    .lotusPlaceBar h2 {
    	margin:0px;
    }
    
    /* Move the debug toolbar to the bottom */
    div.debugToolbar {position:relative !important;}
    
  • Tilføj nu det nye stylesheet til dit theme:
    <resource>
    	<content-type>text/css</content-type>
    	<href>NiroOneUI.css</href>
    </resource>