SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Workshop xPages
    Thomas Adrian
   www.notessidan.se
Agenda
–   Kunskapströskeln
–   Fördelar
–   Nackdelar
–   En snabb demo av notessidan.se
–   Demo av olika funktioner
–   Fika
–   Workshop Projektrum
     ●   Formulär + validering och actions
     ●   Vyer
Hur jag lärt mig xPages
●
    Läst bloggar,
    planetlotus.org
●
    Läst dokumentationen
    http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp
●
    Läst och deltagit på notes.net forum
●
    Chat forum #dojo
●
    Xpages W iki: http://www.youatnotes.de/web/youatnotes/wiki-
    xpages.nsf/home.xsp
●
    Domino Designer W iki: http://www-10.lotus.com/ldd/ddwiki.nsf
●
    http://www.jmackey.net/
●
    Byggt själv
Kunskapströskeln
●
    Eclipse (Outline, Navigator, Problem, Properties, Events, controls)
●
    HTML
●
    Stylesheet / Themes
●
    Ajax, partial refresh
●
    Lotusscript/@formulas/Javascript (ev. java)
●
    Dojo och Dijit
●
    Controls (32) och Custom Controls
●
    Client side js (csjs)
●
    Server side js (ssjs)
●
    Globala object och Scoped variables
●
    JSF + navigator
Fördelar
●
    Man behöver inte förändra befintliga applikationerna.
●
    Man kan bygga väldigt komplicerade applikationer utan att skriva en
    rad kod, man får mycket gratis. t.ex. validering och type-ahead
●
    Flera datakällor på samma xPage, tex. Join i en vy
●
    Varje kontroll är bunden till en data källa
●
    Lätt att göra flerspråkiga websidor
●
    Lätt att bygga ett ramverk med ”editable area”
●
    Inbyggt stöd för dojo och oneui
●
    En xpage behöver inte ligga i databasen där datat ligger
●
    Kan köras i notesklienten 8.5.1 (med klientens ECL)
Nackdelar
●
    Många klick
●
    Svårt att kombinera ”egen kod” med xPage funktionalitet. tex. Egna
    <script></script>
●
    ID hanteringen är omständig
    <div id="view:_id1:_id13:repeat1:0:divSubject">
●
    En xPage kan bara generera HTML, (inte xml, json, sql etc)
●
    Bristfällig dokumentation
●
    Säkerhetsmodellen, agenter?
●
    All UI kod i lotusscript måste skrivas om (men det är inte på grund av
    xpages)
●
    Buggig
Verktyg för Webutveckling
●   Utveckla för Firefox, testa i IE
●   Firefox eller Chrome
●   Firebug (FF tillägg)
●   JSView (FF tillägg)
●   Firebug lite (IE)
●   Live HTTP headers (FF tillägg)
En Xpage
●
    Är i webläsaren kompilerad java kod som körs som en servlet
●
    Är bara en ”dum” html sida innan du binder kontroller och datakällor till
    den
●
    Liknar ett formulär.
●
    En container för att lagra controller
●   Kan bindas till flera datakällor
●
    Kan innehålla Custom Controls
●
    Är JSF
●
    Har events för load ( typ W QO)
Custom Controls
●   Liknar subformulär
●   Kan innehålla andra custom controls
●   Kan inte användas utan en xpage
●   Kan ta parametrar (bra om man t.ex. Vill
    skapa custom controls som kan användas
    var som heltst, tex. Tooltip, eller Dialoger)
●   Har events för load ( typ WQO)
Controls
                repeat, panels , edit box etc..

●   några har event, andra inte
●   några kan nestlas i varandra, andra inte
●   Alla har sina egna egenskaper och API
●   Några kan man koppla till data källor, andra
    inte
●   Man kan göra egna
Repeat Control
●   Antagligen den coolaste funktionen i hela
    xPages , (en del tycker Editable Areas)
●   Data behöver inte se ut som en tabell
●   I stort sett vad som helst kan repeteras
●   Repeat kan nestlas
●   Inte bara för dokument
    –   Arrays
    –   Json
    –   Multivalue fields
Exempel på egna controls
●   Tooltips           ●   Tree
●   Dialoger           ●   Workflow
●   Create PDF         ●   Picture gallery
●   Movie/Flash        ●   Rating
●   Actionbar          ●   Charting
●   Drop down Menu     ●   Login/Logot
●   Document history   ●   Multi file upload
●   Cloud              ●   ....
Scoped Variables
                          cookies på servern

●   ApplicationScope
    Tillgänglig för alla användare
    Tas bort efter en viss tid
●   SessionScope
    Tillgänglig för aktuell användare
●   ViewScope
    Tillgänglig för aktuell websida
●   RequestScope
    Tillgänglig för aktuell request
Programmering
●   SSJS kräver alltid en request till servern
●   CSJS utförs alltid på klienten, (id konverteras av servern)
●   Javascript på servern SSJS
     –   @formulas
     –   Dominoklasser
     –   XSP
●   Javascript på klienten CSJS
    - Dojo
●   Java på servern med CSJS
●   Lotusscript/Java på servern via agenter
Notesformulär
●   Traditionella Notesformulär används av
    xpages men bara för att definiera fält
●   Xpages kräver att alla fält finns på
    formulären
●   Ett formulär som ska accesssas av en
    xpage kan inte innehålla subforms
●   Mitt tips är att göra ett nytt formulär som
    innehåller bara dom fält jag behöver i min
    xpage
●   Använd formuläret för att dokumentera
Notesvyer
●   Används för Lookups och Sortering
ID och Class
●   ID och Class är det man i vanliga fall använder när man
    utvecklar webapplikationer
●   I xPages sköter Domino ID hanteringen eftersom data på en
    xPage kan repeteras
●   Utvecklare av xpages får nöja dig med ”Class”:er
Åtkomst till ID i CSJS
För att hitta denna div
<div id="view:_id1:_id12:repeat1:0:divBody" class="docBody"></div>
använd följande som hittar alla id som slutar på
  divBody
dojo.query("[id$='divBody']")[0];


var div = dojo.query("[id$='divBody']")[0];
dojo.toggleClass(div,"bodyhide");


Om man behöver hitta ett id på en control använd syntaxen "#{id:mittid}"
Exempel: dojo.byId("#{id:searchData}")
Resulterar i följande efter Domino konverterat id't
dojo.byId("view:_id1:searchData")
SSJS
●
    getClientId(”button1”)
●
    getComponent(”repeat1”).
●
    getComponent(”repeat1”).getRowCount()
●
    getComponent(”...”).onclick=”alert('test');”
●
    facesContext.getExternalContext().getRequest().getRemoteAddr()
●
    sessionScope.put(”param”,”value”);
●
    sessionScope.get(”param”);
●
    context.redirectToPage(&quot;xstart.xsp&quot;);
●
    context.getLocale();
●
    context.getUrlParameter(&quot;post&quot;);
●
    var pager:com.ibm.xsp.component.xp.XspPager= getComponent(””);
    pager...
●
    GetComponent finns inte i CSJS
Xpage på olika språk
●   Skapa propertyfiler för olika språk med
    några klick från databasen
●   Exportera propertyfilerna
●   Skicka propertyfilerna till översättning
●   Importera propertyfilerna till databasen

●   Obs: kräver att man har använt controller
DDE och programmeringstips
●
    CTRL-M (öppna vy i fulläge)
●
    Outline ( organisera controls)
●
    CTRL-L x 2
●
    F3 (på en control markerar ”parent control”)
●
    All Properties på en control (visar alla egenskaper)
●
    print(”test”) i ssjs skriver till server console
●
    Aktivera debug i application properties
●
    Hjälpen som ett eget fönster
●
    Använd Alltid try/catch i SSJS
●
    @formulas returnerar String(ett värde) eller Array(flera värden)
●
    Firebug , console.log(...)
Demo
●   Theme OneUI        ●   Panels
●   ID hanteringen     ●   Repeat Control
                       ●   Custom Controls
                       ●   Editable Area
                       ●   View Control/Pager
                       ●   Partial Refresh
Demo

xpages.notessidan.se

Más contenido relacionado

Similar a Xpages för utvecklare

HT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScriptHT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScriptAnton Tibblin
 
HT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScriptHT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScriptAnton Tibblin
 
HT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutvecklingHT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutvecklingAnton Tibblin
 
HT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptHT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptAnton Tibblin
 
VT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverkVT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverkAnton Tibblin
 
VT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxVT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxAnton Tibblin
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapAnton Tibblin
 
HT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenHT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenAnton Tibblin
 
Metodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningMetodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningJohan Holmberg
 
Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältarPer Åström
 
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.jsVT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.jsAnton Tibblin
 
Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Creuna Sverige
 
HT16 - DA156A - JavaScript 3
HT16 - DA156A - JavaScript 3HT16 - DA156A - JavaScript 3
HT16 - DA156A - JavaScript 3Anton Tibblin
 
Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)Per Åström
 
Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014
Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014
Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014SiteVision AB
 

Similar a Xpages för utvecklare (20)

HT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScriptHT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScript
 
HT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScriptHT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScript
 
HT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutvecklingHT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutveckling
 
HT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptHT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScript
 
VT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverkVT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverk
 
jQuery and Ajax
jQuery and AjaxjQuery and Ajax
jQuery and Ajax
 
VT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxVT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och Ajax
 
jQuery & Ajax
jQuery & AjaxjQuery & Ajax
jQuery & Ajax
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & Bootstrap
 
HT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenHT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursen
 
Metodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningMetodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testning
 
Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältar
 
OPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! LoadimpactOPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! Loadimpact
 
C++
C++C++
C++
 
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.jsVT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
 
Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln
 
HT16 - DA156A - JavaScript 3
HT16 - DA156A - JavaScript 3HT16 - DA156A - JavaScript 3
HT16 - DA156A - JavaScript 3
 
Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)
 
Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014
Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014
Egna mallar i moduler - Magnus Lövgren - SiteVisiondagarna 2014
 
13 cms ht14
13 cms ht1413 cms ht14
13 cms ht14
 

Más de Thomas Adrian

Intrapages - The Social Intranet
Intrapages - The Social IntranetIntrapages - The Social Intranet
Intrapages - The Social IntranetThomas Adrian
 
105 Projects on OpenNTF
105 Projects on OpenNTF105 Projects on OpenNTF
105 Projects on OpenNTFThomas Adrian
 
Lotus Sverige Roadshow 2006 - Sametime
Lotus Sverige Roadshow 2006 - SametimeLotus Sverige Roadshow 2006 - Sametime
Lotus Sverige Roadshow 2006 - SametimeThomas Adrian
 
Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006Thomas Adrian
 
Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006Thomas Adrian
 
Lotus Sametime 7.5 bildspel
Lotus Sametime 7.5 bildspelLotus Sametime 7.5 bildspel
Lotus Sametime 7.5 bildspelThomas Adrian
 

Más de Thomas Adrian (7)

Intranet
IntranetIntranet
Intranet
 
Intrapages - The Social Intranet
Intrapages - The Social IntranetIntrapages - The Social Intranet
Intrapages - The Social Intranet
 
105 Projects on OpenNTF
105 Projects on OpenNTF105 Projects on OpenNTF
105 Projects on OpenNTF
 
Lotus Sverige Roadshow 2006 - Sametime
Lotus Sverige Roadshow 2006 - SametimeLotus Sverige Roadshow 2006 - Sametime
Lotus Sverige Roadshow 2006 - Sametime
 
Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006
 
Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006Lotus Sverige Roadshow 2006
Lotus Sverige Roadshow 2006
 
Lotus Sametime 7.5 bildspel
Lotus Sametime 7.5 bildspelLotus Sametime 7.5 bildspel
Lotus Sametime 7.5 bildspel
 

Xpages för utvecklare

  • 1. Workshop xPages Thomas Adrian www.notessidan.se
  • 2. Agenda – Kunskapströskeln – Fördelar – Nackdelar – En snabb demo av notessidan.se – Demo av olika funktioner – Fika – Workshop Projektrum ● Formulär + validering och actions ● Vyer
  • 3. Hur jag lärt mig xPages ● Läst bloggar, planetlotus.org ● Läst dokumentationen http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp ● Läst och deltagit på notes.net forum ● Chat forum #dojo ● Xpages W iki: http://www.youatnotes.de/web/youatnotes/wiki- xpages.nsf/home.xsp ● Domino Designer W iki: http://www-10.lotus.com/ldd/ddwiki.nsf ● http://www.jmackey.net/ ● Byggt själv
  • 4. Kunskapströskeln ● Eclipse (Outline, Navigator, Problem, Properties, Events, controls) ● HTML ● Stylesheet / Themes ● Ajax, partial refresh ● Lotusscript/@formulas/Javascript (ev. java) ● Dojo och Dijit ● Controls (32) och Custom Controls ● Client side js (csjs) ● Server side js (ssjs) ● Globala object och Scoped variables ● JSF + navigator
  • 5. Fördelar ● Man behöver inte förändra befintliga applikationerna. ● Man kan bygga väldigt komplicerade applikationer utan att skriva en rad kod, man får mycket gratis. t.ex. validering och type-ahead ● Flera datakällor på samma xPage, tex. Join i en vy ● Varje kontroll är bunden till en data källa ● Lätt att göra flerspråkiga websidor ● Lätt att bygga ett ramverk med ”editable area” ● Inbyggt stöd för dojo och oneui ● En xpage behöver inte ligga i databasen där datat ligger ● Kan köras i notesklienten 8.5.1 (med klientens ECL)
  • 6. Nackdelar ● Många klick ● Svårt att kombinera ”egen kod” med xPage funktionalitet. tex. Egna <script></script> ● ID hanteringen är omständig <div id="view:_id1:_id13:repeat1:0:divSubject"> ● En xPage kan bara generera HTML, (inte xml, json, sql etc) ● Bristfällig dokumentation ● Säkerhetsmodellen, agenter? ● All UI kod i lotusscript måste skrivas om (men det är inte på grund av xpages) ● Buggig
  • 7. Verktyg för Webutveckling ● Utveckla för Firefox, testa i IE ● Firefox eller Chrome ● Firebug (FF tillägg) ● JSView (FF tillägg) ● Firebug lite (IE) ● Live HTTP headers (FF tillägg)
  • 8. En Xpage ● Är i webläsaren kompilerad java kod som körs som en servlet ● Är bara en ”dum” html sida innan du binder kontroller och datakällor till den ● Liknar ett formulär. ● En container för att lagra controller ● Kan bindas till flera datakällor ● Kan innehålla Custom Controls ● Är JSF ● Har events för load ( typ W QO)
  • 9. Custom Controls ● Liknar subformulär ● Kan innehålla andra custom controls ● Kan inte användas utan en xpage ● Kan ta parametrar (bra om man t.ex. Vill skapa custom controls som kan användas var som heltst, tex. Tooltip, eller Dialoger) ● Har events för load ( typ WQO)
  • 10. Controls repeat, panels , edit box etc.. ● några har event, andra inte ● några kan nestlas i varandra, andra inte ● Alla har sina egna egenskaper och API ● Några kan man koppla till data källor, andra inte ● Man kan göra egna
  • 11. Repeat Control ● Antagligen den coolaste funktionen i hela xPages , (en del tycker Editable Areas) ● Data behöver inte se ut som en tabell ● I stort sett vad som helst kan repeteras ● Repeat kan nestlas ● Inte bara för dokument – Arrays – Json – Multivalue fields
  • 12. Exempel på egna controls ● Tooltips ● Tree ● Dialoger ● Workflow ● Create PDF ● Picture gallery ● Movie/Flash ● Rating ● Actionbar ● Charting ● Drop down Menu ● Login/Logot ● Document history ● Multi file upload ● Cloud ● ....
  • 13. Scoped Variables cookies på servern ● ApplicationScope Tillgänglig för alla användare Tas bort efter en viss tid ● SessionScope Tillgänglig för aktuell användare ● ViewScope Tillgänglig för aktuell websida ● RequestScope Tillgänglig för aktuell request
  • 14. Programmering ● SSJS kräver alltid en request till servern ● CSJS utförs alltid på klienten, (id konverteras av servern) ● Javascript på servern SSJS – @formulas – Dominoklasser – XSP ● Javascript på klienten CSJS - Dojo ● Java på servern med CSJS ● Lotusscript/Java på servern via agenter
  • 15. Notesformulär ● Traditionella Notesformulär används av xpages men bara för att definiera fält ● Xpages kräver att alla fält finns på formulären ● Ett formulär som ska accesssas av en xpage kan inte innehålla subforms ● Mitt tips är att göra ett nytt formulär som innehåller bara dom fält jag behöver i min xpage ● Använd formuläret för att dokumentera
  • 16. Notesvyer ● Används för Lookups och Sortering
  • 17. ID och Class ● ID och Class är det man i vanliga fall använder när man utvecklar webapplikationer ● I xPages sköter Domino ID hanteringen eftersom data på en xPage kan repeteras ● Utvecklare av xpages får nöja dig med ”Class”:er
  • 18. Åtkomst till ID i CSJS För att hitta denna div <div id="view:_id1:_id12:repeat1:0:divBody" class="docBody"></div> använd följande som hittar alla id som slutar på divBody dojo.query("[id$='divBody']")[0]; var div = dojo.query("[id$='divBody']")[0]; dojo.toggleClass(div,"bodyhide"); Om man behöver hitta ett id på en control använd syntaxen "#{id:mittid}" Exempel: dojo.byId("#{id:searchData}") Resulterar i följande efter Domino konverterat id't dojo.byId("view:_id1:searchData")
  • 19. SSJS ● getClientId(”button1”) ● getComponent(”repeat1”). ● getComponent(”repeat1”).getRowCount() ● getComponent(”...”).onclick=”alert('test');” ● facesContext.getExternalContext().getRequest().getRemoteAddr() ● sessionScope.put(”param”,”value”); ● sessionScope.get(”param”); ● context.redirectToPage(&quot;xstart.xsp&quot;); ● context.getLocale(); ● context.getUrlParameter(&quot;post&quot;); ● var pager:com.ibm.xsp.component.xp.XspPager= getComponent(””); pager... ● GetComponent finns inte i CSJS
  • 20. Xpage på olika språk ● Skapa propertyfiler för olika språk med några klick från databasen ● Exportera propertyfilerna ● Skicka propertyfilerna till översättning ● Importera propertyfilerna till databasen ● Obs: kräver att man har använt controller
  • 21. DDE och programmeringstips ● CTRL-M (öppna vy i fulläge) ● Outline ( organisera controls) ● CTRL-L x 2 ● F3 (på en control markerar ”parent control”) ● All Properties på en control (visar alla egenskaper) ● print(”test”) i ssjs skriver till server console ● Aktivera debug i application properties ● Hjälpen som ett eget fönster ● Använd Alltid try/catch i SSJS ● @formulas returnerar String(ett värde) eller Array(flera värden) ● Firebug , console.log(...)
  • 22. Demo ● Theme OneUI ● Panels ● ID hanteringen ● Repeat Control ● Custom Controls ● Editable Area ● View Control/Pager ● Partial Refresh