際際滷

際際滷Share a Scribd company logo
Presentation x pages-mobile-2014-01-08-a
XPAGES - 2014
MOBILE

XPages
Is geen eiland!
VOORSTELLEN
Pettrie de Bondt

ilionx

 PdeBondt@ilionx.com
 twitter.com/Pettrie
 Skype:
Pettrie_de_Bondt

Mobile First
AGENDA
1. Achtergrond / Doel
2. Landschap
3. Mogelijkheden
4. Praktijk
5. Demo
6. Code
7. Discussie
De klant
ACHTERGROND / DOEL
 Gebr. Janssen
 50 Dakdekkers
 60 Loodgieters
 15 man op kantoor

 Lotus Notes





CRM / Relatiebeheer
Projecten = PIMS
Planning
Facturen!

 Mobile
 CRM -> Verkopers
 PIMS -> Inspectie, planning, etc..

 Fase 1
 Alles lezen
DE APPLICATIE !!
 14 databases
OPLOSSING
 Bestaande Lotus Notes client applicatie (deels) omzetten naar
mobile applicatie





xPages
Gefaseerd (lezen/Toevoegen/schrijven/processen)
Praktisch
Flexibel

 Devices: iPhone + iPad (mini)
LANDSCHAP
Front-end
web

Front-end

Services

Mobile
iPad / iPhone

Notes client
8.53

Soap / JSON

Web Browser

Back-End

Domino
DB
ODBC

MySQL
DB
MOBILEFIRST

The future is
here
LANDSCHAP
 Mobile APP
 Native





xCode / ObjectiveC, Eclipse /Java
AppCelerator / JavaScript
Visual Studio / VB.net, C#
IBM Worklight, Phonegap / JavaScript

 Hybrid





Native wrapper
Use native capabilities
Generic HMTL
Re-Use HMTL application

 100% Web
 HTML5
 CSS 3
 Responsive design (RDW)
NATIVE /HYBRID / WEB
MOBILE XPAGE

Bestaande
Xpage
Custom
Controls
MOBILE XPAGES
 Wat zijn de mogelijkheden
 Alles zelf bouwen (framework)
 Extension library Mobile controls
 TeamStudio Unplugged

 OpenNTF
MOBILE XPAGES (II)
 Andere frameworks
 http://www.markus-falk.com/mobile-frameworks-comparison-chart/

 CSS






jQuery Mobile
Bootstrap
HTML KickStart
Less Framework
xPage Themes

 Javascript





jQuery Mobile
Dojo (Mobile)
Bootstrap
HTML KickStart
JQUERY VS DOJO
 Advantages of jQuery:












Fast
Well documented
Easy to use
Chaining
Easy-to-use Ajax
Nice event handlers
CSS selectors
Small (only 30 KB)
Nice little built-in effects
Plugins
OOP no Class hierarchy

 Advantages of Dojo:
 OOP (and other paradigms)
 Widget infrastructure
 Lazy loading of modules
dynamically
 Asynchronous loading of modules
if desired
 Simple integration with CDN
 Sheer breadth of available
modules in DojoX including
graphics, charting
 Attention to details in widgets
 Support for i18n (including LTR
and RTL languages)
 Support for l10n (including
standard date, currency, number
formatting)
 Provisions for people with special
needs
ZOEKTOCHT
 Wat hebben we zelf onderzocht, wat zijn we tegen gekomen
 Single page, diverse problemen
 Unplugged, licentie probleem, niet handig opgezet
 Buiten Xpages gezocht naar voorbeelden
 jQuery mobile, BLUG

 Conclusie
 Event afhandeling in Dojo is !@#
 Controls van anderen zijn moeilijk te doorgronden
 Slechte/geen documentatie, weinig/geen voorbeelden

 GJ Framework = jQuery Mobile
 Mooi degelijk framework, grote community, veel examples
 Zelf xPage controls maken
SECURITY

Admins
In de zaal?!
SECURIT Y
 Security aspecten





Domino productie omgeving
DMZ
Gevoelige data
Verlies van apparaat

 Trade-Off
 A) Gemak in gebruik
 Helpdesk ondersteuning, it just works

 B) Veiligheid
 VPN / SSL / Tokens / Wachtwoord / PIN
ARCHITECTUUR
JanDom01

DMZ

JanDom03

PIMS

PIMS

Mobile
iPad / iPhone
Web - Browser
VOORBEELD 1
VOORBEELD 2
 Leer van andere applicaties
VOORBEELD 3
VOORBEELD 4
GEBR. JANSSEN - OPLOSSING
DEMO 1

Show me the
money
DEMO CRM
Fa s e 1 A
DEMO 2

More PIMS
DEMO PIMS
Fa s e 1 B
CODE

Coding is an
art
HTML5
Holy grail
HMTL5 + CSS3
CODE
Good code
DEBUGGEN
 Chrome





Developer
Scherm formaat
Doorlopen van de panelen
Debuggen van javascript
DEBUG
Chrome
Fiddler
JSFIDDLE
Te s t p r o to t yp e
to o l
VRAGEN

Er zijn geen
domme
vragen, alleen
domme
antwoorden!
DISCUSSIE

Leren van
elkaar?
DISCUSSIE







Delen van code
Native / Hybrid / 100% HTML
Beveiliging
iPhone vs iPad (mini)
Apple iOS / Google Android / MS Mobile
Javascript, Dojo vs jQuery

 Maken van voorbeelden / OpenNTF / StackOverflow / Skype
 Presentatie bekijken
Zie: http://XPagesAndBeer.nl
Presentation x pages-mobile-2014-01-08-a

More Related Content

Presentation x pages-mobile-2014-01-08-a

Editor's Notes

  • #3: Voormeerinformatiezie: http:/XPagesAndBeer.nl
  • #4: Pettrie de BondtPdeBondt@ilionx.comTwitter.com/PettrieSkype:Pettrie_de_BondtMet dank aan Richard Brouwer
  • #5: Agenda- Let op interactie!
  • #7: Gebr. Janssen in Beugen kent een aantal vakgebieden. Gestart als dakdekker, uitgegroeid tot specialist op het gebied van sanitair, riool en installatietechniek.Uitgebreide CRM applicatie; relatiebeheer, projecten, planbord, agendas, leverancierinfo, inspectie/keuringen apparatuur, etcFase 1: Zowel reletiebeheer als project informatie management systeem ontsluiten via mobile devicesFase 1B: Toevoegen van informtie, fotos notities etc..Fase 2: een aantal schermen binnen zowel relatiebeheer als project informatie management systeem kunnen wijzigenFase 3: Verder edit schermen toevoegen
  • #8: Zoalszoveel Notes applicaties,begonnen met eenvoudige CRMMaar veelverdergegroeidnaareenapplicatie die het helebedrijfs process van begin tot eindeondersteund.Mede door de duidelijkevisie van Peter (de controller bijGebr. Janssen) en de constantekeuzeomvoorpraktischoplossingentegaan is diteenbijzondere en goedgebruikteapplicatieCRM, Project management, Afhandeling van service calls, Agenda planning en Resource planning, Klachtenafhandeling, HRM met bijhouden van certificaten en trainingen, Gereedschapinventarisatie, Boekhoudingverwerken van binnenkomendedigitalefakturen.
  • #9: Iets vertellen over welke delen worden omgezet naar Mobile. Wellicht een kleine rondleiding in de Notes applicatie (relatiebeheer en PIMS) om een beeld te scheppen;Praktisch: met name de houding van de financieel directeur (Peter van Houtum); pragmatisch ingesteldFlexibel: Nieuwe inzichten kunnen direct uitgeprobeert worden maar ook kan iedere week weer nieuwe inzichten hebben
  • #10: Apparte server in DMZReplicatie per uurWijzigingen?ACLPartialReplicatie
  • #12: Responsive web design (RWD) is a web design approach aimed at crafting sites to provide an optimal viewing experienceeasy reading and navigation with a minimum of resizing, panning, and scrollingacross a wide range of devices (from mobile phones to desktop computer monitors)
  • #14: Welkebestaande custom controls zijnerWatzijn de mogelijkheden?
  • #15: Volledige framework zelf bouwen (mobilecontrols)Extension library; gebaseerd op xPagecontrols (blackbox); Single Page ApplicationMobile PageMobile SwitchPage HeadingRounded ListStatic Line ItemTab BarTab Bar ButtonTool Bar ButtonTeamstudio UnpluggedTeamstudioUnplugged XPages Mobile ControlsallowXPagesdevelopers the capability to dive into mobile application development without the necessity to be an expert mobile app developer. Using these new Controls and the Unplugged platform, a developer can produce well-designed mobile enterprise applications for iOS and Android devices. Using the Controls we've developed three samples - Lotus Notes mobile applications:Doc Library,Journal,and Teamroom - each of which is compatible with the original Lotus Domino application templates.Gecompliceerdlicentie modelOpenNTFDiverse voorbeeldapplicatie op mobile gebied gebaseerd op xPages
  • #16: Andere frameworks, zie http://www.markus-falk.com/mobile-frameworks-comparison-chart/ voor vergelijkingApacheFlex, JQ Touch, jQuery Mobile, Mobione, Dojo Mobile, Marmalade, etc
  • #17: jQuery vs Dojohttp://saurabh-shubham.blogspot.nl/2013/03/dojo-vs-jquery-mobile-quick-comparison.htmlPersonally, I think Dojo's lack of good documentation/reference code, lack of 'marketing', and relative complexity keep it from becoming popular. Documentation is a whole lot harder to use than jQuerys because, at first glance, its quite a bit more scattered and substantially more API-based than task-based. It's much easier to get started with library like jQuery because of all these factors. However, once you get over that initial steep learning curve, Dojo is good!
  • #18: Single page app problemen:Refresh in memory probleem; eenmaalgeopend document vanuit view-lijstwordtvastgehouden. Bijopenenander document wordt het eerste document weergeopendProblemen met back-button; we navigerenbinnen de GJ app eenaantallagendiepditgafna circa 7 clicks problemenwegvolledigkwijt
  • #19: De keuzevoorMobileFirstheeftook direct een impact op de security van de bedrijfsgegevens. Nietlanger is alles eenvoudig beschermedachter de corporate firewall.Hoe gaan we hiermeeom, en vooral hoe zorgen we voorbewustwordingbij de gebruikers van het systeem!Om tebeginnenhoeveelmensenhebbeneenwachtwoord op hunmobiel?
  • #20: Productie omgeving:Notes omgeving draait op JanDom01, web (mobile) omgeving draait op JanDom03 (DMZ)Helpdesk ondersteuning is er bij GJ niet; problemen zullen dan ook tot een minimum beperkt moeten worden. Het moet gewoon werken!Vanwege persoonlijke gegevens in de diverse database is beveiliging van de omgeving wel op zijn plaats. Gegevens mogen niet door Jan&Alleman worden ingezien.Verbinding wordt beveiligd opgezet (SSL) en databases zijn afgeautoriseerd; autorisatie vereist via usernaam/wachtwoord, waarbij het wachtwoord bestaat uit aantal ingevoerde karakters uitgebreid met door systeem bepaalde karakters. Handmatige invoer = 5 karakters lang. Uiteindelijke wachtwoord = 9 karakters lang
  • #21: Apparte server in DMZReplicatie per uurWijzigingenACLPartialReplicatie
  • #22: Manilla temakkelijkFacebook teveelwerk
  • #23: 2 stappen5 Cijfers+ SMS code(en 1e keerinlog via website, koppelingaanuniekmobiel)
  • #25: iOS7 4 cijfersiOS7+ iPhone 5S vinger scanAndroid swipeEn al meteengehacked! http://www.zdnet.com/apples-advanced-fingerprint-technology-is-hacked-should-you-worry-7000020998/
  • #26: 5 cijfers+ 2 aan de voortkant+ 2 aan de achterkant= 9 aantalkaraktersGeengebruikelijketekens
  • #27: Demo van de mobile PIMS / Relatieboek applicatie.
  • #29: Demo van de PIMS module
  • #31: Kijkje achter de schermen; hoe is het geheel opgebouwd.Met name aandacht voor de structuur:m_index, xpages per formulier, customcontrols per formulier (van home page tot PIMS formulier)Dispatcher: zie xPage index.xspOpbouw niet in tabellen maar op basis van list items!
  • #32: Lots of online
  • #33: XpagesCustom controle (start met cc? waarom)Beginnen met m / t / d (mobile/tablet/desktop)jQuery mobileExtra attributeshttp://stackoverflow.com/questions/10179098/applying-jquery-mobile-attributes-to-xpages-controlsTagname (voorXP:Text and XP:repeat)http://www.dominoguru.com/pages/xpage_xptext_tagName_options.htmlRepeat met header / footerhttp://xpageswiki.com/web/youatnotes/wiki-xpages.nsf/dx/Work_with_repeat_controlsSearch -> custom controlNavigation -> custom controlSections per tabHide field with empty valuejQuery to hide hidden sections, this means no complicated Hide/When = VisiblejQuery MobileFine-tune CSShttp://jquerymobile.com/http://demos.jquerymobile.com/1.4.0/JavascriptNo double-click delay (already in jQuery)https://coderwall.com/p/bdxjzg
  • #34: Ditkanwaarschijnlijkookwel met FireFoxXPagedebugbarhttp://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=XPage+Debug+ToolbarAlert(Help?);Console.log(Developer information);Non-blocking, log, warn, error, asserthttps://developers.google.com/chrome-developer-tools/docs/consoleDebugger;Breakpointhttps://developers.google.com/chrome-developer-tools/docs/consoleRemote debug:Zet debug aan in je browser op je deviceIn Chrome / Safari, connect naar device en alle debug informatiezie je op je PCGoogle Chrome debug informatiehttps://developers.google.com/chrome-developer-tools/
  • #35: Let op de:General : no cacheOverrides: User AgentDevice Metrics: Resolution, Font-Scale * 2Verderalleoverige debug settings besprokenVooranderezaken- Fiddlerhttp://fiddler2.com/
  • #36: Handige tool omkennisuittewisselen, wordtookvaakgebruikt op StackOverflowAlleswordtbewaardHandigekort URL omtedelenVeries (via Update knop)
  • #39: Delen,delen en delenVakerKennisSessie (wiespreekterdan?)Meer code delenOplossingendelen, demo makenDuidelijker en eerderaangevendatereenKennisSessie is