SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
ASK THE XPAGES EXPERTS	

Nov. 17, 2015
Courtney Carter	

@Teamstudio	

Howard Greenberg	

@TLCC	

Paul Della-Nebbia	

@PaulDN	

David Leedy	

@DavidLeedy	

Mike McGarel	

@MMcGarel	

Nathan Freeman	

Red Pill Development
Asking Questions	

Use the “Questions” pane to ask questions.	
  
AboutTeamstudio	

•  Manage, modernize, and mobilize business applications with software and
services from Teamstudio.	

o  Easy-to-use tools for Notes and Domino developers and administrators	

o  Mobilization platform for those who want to mobilize using their own internal resources	

o  Modernization Services to help mobilize applications	

•  1600+ active customers, 53 countries	

•  Offices in US, UK, and Japan
Teamstudio NotesTools	

•  Manage your Notes applications faster, better, and more easily.
Teamstudio Unplugged	

•  Mobile application platform that provides organizations with the capability to extend
their desktop and Web-based applications to mobile devices, giving users access to data
anywhere, anytime, even when they’re offline.	

•  Template applications: Continuity, CustomerView, OneView, Doc Library, Journal,
TeamRoom
Teamstudio XControls	

•  Set of controls for IBM Domino developers working on XPages apps and
Notes app modernization projects	

•  Full support for PC browser-based user interfaces, as well as mobile interfaces
Teamstudio Services	

•  Professional services for modernization, Web enablement, project
management, development, and administration	

–  Modernization Services	

–  Developer Assistance Program	

–  Application Upgrade Analysis	

–  Application Complexity Analysis	

–  Application Usage Auditing
Ask the XPages Experts
1
#XPages
Your Hosts Today:
Howard Greenberg
TLCC
@TLCCLtd
Ask an XPages Expert
Paul Della-Nebbia
TLCC
@PaulDN
How can TLCC Help YOU!
2
• Private classes at
your location or
virtual
•XPages Development
•Support Existing Apps
•Administration
• Let us help you
become an expert
XPages developer!
• Delivered via Notes
• XPages
• Development
• Admin
• User
Self-
Paced
Courses
Mentoring
Instructor-
Led
Classes
Application
Development
and
Consulting
Free
Demo
Courses!
Upcoming and Recorded Webinars
3
www.tlcc.com/xpages-webinar
View Previous Webinars
(use url above)
• Using Cool New Frameworks in (Mobile)
Domino Apps! with Theo Heselmans
– December 16th
Asking Questions – Q and A at the end
4
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions pane!
We will answer your questions
verbally at the end of the
webinar
Your Presenters Today:
5
#XPages
Mike McGarel
@mmcgarel
Building on
Properties
Jesse Gallagher
@Gidgerby
Controller
Classes
David Leedy
@DavidLeedy
Time to First
Byte
Nathan Freeman
@NTF
Give It a Rest
Building on Properties
With one house:
Mike McGarel
Collaborative Solutions Developer
With several (ware)houses:
Czarnowski Display Service Inc.
With an email address:
mcgarelgramming@gmail.com
Building on Properties
Agenda
Custom Property - Custom Control
✴ Example: single custom control
✴ Example: multiple custom controls
✦ Custom Property - XPage
✴ Example: side menu
✴ Example: bread crumb navigation
2
Building on Properties
XPage - Red Properties
3
Building on Properties
Setup on Custom Control - String value
4
Building on Properties
Color Style Classes
.

.red {
background-color: #ff0000;
}
.green {
background-color: #008000;
}
.blue {
background-color: #87ceeb;
}
5
Building on Properties
Setup on Custom Control - Java object
6
Building on Properties
Java Sample - Squares Class
7
Building on Properties
Custom Control - Properties Use
8
Building on Properties
compositeData
Reference to access property
Sample: value=“#{compositeData.propertyname}”
Custom property map
Built-in getters and setters
9
Building on Properties
XPage Source - Red Properties Sample
10
Building on Properties
XPage - Red Properties
11
Building on Properties
Java Sample - Multiple Class
private String firstStyleName;
private String secondStyleName;
private String thirdStyleName;
public Multiples() {
this.firstStyleName = "red";
this.secondStyleName = "green";
this.thirdStyleName = "blue";
}
12
Building on Properties
XPage Source - Multiple Controls Sample
13
<xp:this.beforePageLoad>

<![CDATA[#{javascript:viewScope.put('currentPage', 

new com.demo.Multiples());}]]></xp:this.beforePageLoad>
<xc:cc_Layout>
<xp:this.facets>
<xp:div xp:key="facet_1">
<xc:cc_SquaresAdvanced squaresList=“#{Squares.redList}"
styleName="#{viewScope.currentPage.firstStyleName}">
</xc:cc_SquaresAdvanced>
<xc:cc_SquaresAdvanced squaresList=“#{Squares.greenList}"
styleName="#{viewScope.currentPage['secondStyleName']}">
</xc:cc_SquaresAdvanced>
<xc:cc_SquaresAdvanced squaresList="#{Squares.blueList}"
styleName="#{javascript:viewScope.currentPage().getThirdStyleName()
}">
</xc:cc_SquaresAdvanced>
Building on Properties
XPage - Multiple Properties
14
Building on Properties
XPage Source - Menu Highlight Sample
15
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.properties>
<xp:parameter value="Multiple" name=“menuKey”>
</xp:parameter>

</xp:this.properties>
Building on Properties
Custom Control Source - Menu Sample
16
<li>
<xp:link text="Multiple" id="link5" disableTheme=“true”>
<xp:this.styleClass>
<![CDATA[#{javascript: if
('Multiple'.equals(facesContext.getProperty('menuKey'))) {
return 'menuButton menuActive';
} else {
return 'menuButton';
} }]]></xp:this.styleClass>
<xp:this.value><![CDATA[#{javascript:if
(!'Multiple'.equals(facesContext.getProperty('menuKey'))) {
return '/multiplesquares.xsp';
}}]]></xp:this.value>
</xp:link>
</li>
Building on Properties
XPage - Breadcrumb Navigation (1)
17
Building on Properties
XPage - Breadcrumb Navigation (2)
18
Building on Properties
XPage - Breadcrumb Navigation (3)
19
Building on Properties
XPage Source - Breadcrumb Properties
20
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://
www.ibm.com/xsp/custom"
pageTitle="#{javascript:facesContext.getProperty('pageKey')}">
<xp:this.properties>
<xp:parameter value="" name="menuKey"></xp:parameter>
<xp:parameter value="#{param.name}" name="pageKey"></xp:parameter>
<xp:parameter value="#{param.category}" name="categoryKey">

</xp:parameter>
</xp:this.properties>
Building on Properties
XPage Source - Breadcrumb (1)
21
<xp:panel tagName="ul" styleClass="nav navbar-nav”>
<xp:panel tagName=“li">
<xp:this.styleClass><![CDATA[#{javascript: if 

( ('Home').equals(facesContext.getProperty('pageKey')) ) {
return 'navHome';
}}]]></xp:this.styleClass>
<xp:link escape="true" text="#{config.appTitle}" id="linkHome">
<xp:this.value><![CDATA[#{javascript: if 

(! ('Home').equals(facesContext.getProperty('pageKey')) ) {
return facesContext.getExternalContext().getRequestContextPath();
}}]]></xp:this.value>
</xp:link>
</xp:panel>
<xp:panel tagName=“li"
rendered="#{javascript:facesContext.getProperty('categoryKey')}">
<a class=“separator”>&gt;</a>
</xp:panel>
Building on Properties
XPage Source - Breadcrumb (2)
22
<xp:panel tagName="li"
rendered="#{javascript:facesContext.getProperty('categoryKey')}">
<xp:link escape="true"

text="#{javascript:facesContext.getProperty('categoryKey')}" 

id=“linkCategory" value="#{javascript:return 

config.getPageLinks().get(facesContext.getProperty('categoryKey'));}">

</xp:link>
</xp:panel>
<xp:panel tagName=“li" rendered="#{javascript:

!('Home').equals(facesContext.getProperty('pageKey'))}">
<a class="separator">&gt;</a>
</xp:panel>
<xp:panel tagName="li" styleClass=“navActive" rendered="#{javascript:

!('Home').equals(facesContext.getProperty('pageKey'))}">
<xp:text escape="true"
value="#{javascript:facesContext.getProperty('pageKey')}"
tagName="a">
</xp:text>
</xp:panel>
</xp:panel>
Building on Properties
Thank you!
23
NotesIn9.comNotesIn9.com
TLCC / Teamstudio Webinar
• NotesIn9.com
 XPages.TV - episode List
 XPagesCheatSheet.com - cheatsheets
• XPages.Slack.com
 http://xpages-slack-invites.herokuapp.com/
• Jesse Gallagher
 Page Controllers - MVC style programming
NotesIn9 182, 166-168
• Time to First Byte
 StandBy Dialog Custom Control
http://openntf.org/XSnippets.nsf/snippet.xsp?id=standby-dialog-custom-control
 http://xpagesera.blogspot.com/2012/05/add-ajax-loading-control-in-xpages-for.html
1
Give It a REST
Nathan T. Freeman
Co-founder, Red Pill Now
Quick fundamentals
 REpresentational State Transfer
 TypicallyJSON-based
 Stateless
Why REST?
 Fast
 Flexible
 Scalable
 Uniform
Why DDS?
 Apache Wink standard
 Already understands Domino context
Some examples from DDS
 GET http://{server}/api/data
[
{
"@title":"Administration Requests",
"@filepath":"admin4.nsf",
"@replicaid":"8525786A034D582B",
"@template":"StdR4AdminRequests",
"@href":"http://server/admin4.nsf/api/data/collections"
},
{
"@title":"Java AgentRunner",
"@filepath":"AgentRunner.nsf",
"@replicaid":"8525671400725208",
"@template":"",
"@href":"http://server/AgentRunner.nsf/api/data/collections"
},
{
"@title":"Article",
"@filepath":"Article.nsf",
"@replicaid":"8525784E00618FED",
"@template":"",
"@href":"http://server/Article.nsf/api/data/collections"
}
]
Some examples from DDS
 GET http://{server}/{database}/api/data/documents/unid/{docunid}?{parameters}
{
"@href":"http://server/XPagesExt.nsf/api/data/documents/unid/5D006566E919779E852578B7004A6019",
"@unid":"5D006566E919779E852578B7004A6019",
"@noteid":"906",
"@created":"2011-06-22T13:32:22Z",
"@modified":"2011-08-21T14:39:31Z",
"@authors": ["CN=Robert Perron/OU=Westford/O=IBM","CN=rperronadmin/O=rtest","CN=rperronadmin/O=rtest"],
"@form":"Contact",
"$UpdatedBy":"CN=Robert
Perron/OU=Westford/O=IBM;CN=rperronadmin/O=rtest;Anonymous;CN=rperronadmin/O=rtest",
"$Revisions":"06/22/2011 09:32:22 AM;06/22/2011 09:33:17 AM;08/15/2011 12:16:31 PM",
"FirstName":"Barney",
"LastName":"Bloomberg",
"Number":1.75,
"Date": ["2011-07-21T20:21:00Z","2011-08-01T14:38:00Z"],
"Body":
{
"contentType":"text/html",
"data":"Just <b>sales</b>.",
"type":"richtext"
}
}
Some examples from DDS
 PUT http://{server}/{database}/api/data/documents/unid/{docunid}?{parameters}
Content-Type: application/json
Accept: application/json
X-HTTP-Method-Override: PATCH
{"FirstName":"Barney", "LastName":"Bloomberg", "EMail":"bbbb@acme.com",
"Number":1.75,
"Date":["2011-08-21T20:21:00Z", "2011-08-01T14:38:00Z"],
"Body":{"contentType":"text/html", "data":"Just <b>sales</b>.",
"type":"richtext"},
"City":"new york city"}
DDS Shortcomings
 Always delivers ALL document contents
 No authenticationfacility
 Raw data format
 No validation
Extending DDS: The Ingredients
 com.ibm.domino.das.service.RestService
 REST Resources
 javax.ws.rs.*
 com.ibm.commons.util.io.json.JsonObject
 com.ibm.domino.osgi.core.context.ContextInfo
 com.ibm.commons.util.io.json.util.JsonWriter
Extending DDS: RestService
 .getClasses()
 .getSingletons()
 Example: IBM Calendar Service
 plugin.xml
 Example: IBM Calendar
Extending DDS: REST Resources
 javax.ws.rs Annotation-based
 @Path defines URL routing for resource class
 @GET, @POST, @PUT, @DELETE defines handlers for methods
 @Context, @HeaderParam, @PathParam, @QueryParam define attributes
for method arguments
 Example: GET Calendar Notice Resource
 Example: POST Calendar Notice Action Resource
@Path("calendar/notices/" + PATH_PARAM_NOTICE + "/action")
public class NoticeActionResource {
@PUT
public Response putNoticeAction(String requestEntity, @HeaderParam("Content-Type")
String contentType, @Context UriInfo uriInfo, @PathParam(NOTICE) String id,
@QueryParam(URL_PARAM_ACTION_TYPE) String type)
Extending DDS: JSON Adapters
 Implement JsonObject
 .getJsonProperties()
 .getJsonProperty(String)
 .putJsonProperty(String)
 Example: IBM JSON Alarm Adapter
Extending DDS: ContextInfo
 Static context utilities
 .getUserSession()
 .getUserDatabase();
Extending DDS: Json Writer
 Controls JSON output from Java objects
 .outObject(Object)
 Example: OpenNTF JSON Graph Writer
Thanks for coming!
 More details on DDS can be found at
http://infolib.lotus.com/resources/domino/8.5.3/doc/designer_up1/en_us/D
ominoDataService.html
Questions????
6
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions panel!
Remember, we will answer your
questions verbally
#XPages
@DavidLeedy
@mmcgarel
@Gidgerby
@NTF
@TLCCLtd
@Teamstudio
@PaulDN
Upcoming Events:
 Atlanta User Group – November 19th
 Granite LUG Meeting, Chicago – Dec 2nd
 Connect, Orlando – Jan. 31 to Feb. 3
 IBM InterConnect, Las Vegas, NV - Feb 21 to 25th
 Engage, Eindhoven, the Netherlands – Mar. 23 to 24
 EntwicklerCamp, Gelsenkirchen, Germany – April 11 to 13
Question and Answer Time!
7
Teamstudio Questions?
contactus@teamstudio.com
978-712-0924
TLCC Questions?
howardg@tlcc.com paul@tlcc.com
888-241-8522 or 561-953-0095
Howard
Greenberg
Courtney
Carter
Mike McGarel Jesse GallagherDavid Leedy Nathan Freeman
Paul
Della-Nebbia

Mais conteúdo relacionado

Mais procurados

Everything XControls
Everything XControlsEverything XControls
Everything XControlsTeamstudio
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarHoward Greenberg
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityTony McGuckin
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Mark Leusink
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinarMark Leusink
 
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowJMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowRussell Maher
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
 
XPages Blast - Ideas, Tips and More
XPages Blast - Ideas, Tips and MoreXPages Blast - Ideas, Tips and More
XPages Blast - Ideas, Tips and MoreTeamstudio
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11Derek Jacoby
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
Untangling the web week1
Untangling the web week1Untangling the web week1
Untangling the web week1Derek Jacoby
 
Untangling spring week6
Untangling spring week6Untangling spring week6
Untangling spring week6Derek Jacoby
 
Untangling spring week11
Untangling spring week11Untangling spring week11
Untangling spring week11Derek Jacoby
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages ExpertsTeamstudio
 
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)Mark Leusink
 
Webinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationWebinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationHoward Greenberg
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPagesTeamstudio
 

Mais procurados (20)

Everything XControls
Everything XControlsEverything XControls
Everything XControls
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages Scalability
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
 
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowJMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
XPages Blast - Ideas, Tips and More
XPages Blast - Ideas, Tips and MoreXPages Blast - Ideas, Tips and More
XPages Blast - Ideas, Tips and More
 
Untangling7
Untangling7Untangling7
Untangling7
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Untangling the web week1
Untangling the web week1Untangling the web week1
Untangling the web week1
 
May 2014-webinar
May 2014-webinarMay 2014-webinar
May 2014-webinar
 
Untangling spring week6
Untangling spring week6Untangling spring week6
Untangling spring week6
 
Untangling spring week11
Untangling spring week11Untangling spring week11
Untangling spring week11
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
 
Webinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationWebinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting Replication
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPages
 

Destaque

Deploying java beans in jsp
Deploying java beans in jspDeploying java beans in jsp
Deploying java beans in jspPriyanka Pradhan
 
Dynamic content generation
Dynamic content generationDynamic content generation
Dynamic content generationEleonora Ciceri
 
After Effects Curvas Bezier
After Effects Curvas BezierAfter Effects Curvas Bezier
After Effects Curvas Beziersergio ceballos
 
Idalgo Présentation
Idalgo   PrésentationIdalgo   Présentation
Idalgo PrésentationiDalgo
 
Estudié ciencias naturales, ¿cómo y dónde busco trabajo?
Estudié ciencias naturales, ¿cómo y dónde busco trabajo?Estudié ciencias naturales, ¿cómo y dónde busco trabajo?
Estudié ciencias naturales, ¿cómo y dónde busco trabajo?UPR RP Nívea Santiago
 
Greatest Hits (& Misses) Chapter 1: A New Gig
Greatest Hits (& Misses) Chapter 1: A New GigGreatest Hits (& Misses) Chapter 1: A New Gig
Greatest Hits (& Misses) Chapter 1: A New GigMimiBSims
 
SEDES DE INTERNADO - DIRESA CALLAO
SEDES DE INTERNADO - DIRESA CALLAOSEDES DE INTERNADO - DIRESA CALLAO
SEDES DE INTERNADO - DIRESA CALLAOPs Avila
 
Xtp flyer 210x297 en_einzeln_rgb_150dpi
Xtp flyer 210x297 en_einzeln_rgb_150dpiXtp flyer 210x297 en_einzeln_rgb_150dpi
Xtp flyer 210x297 en_einzeln_rgb_150dpiEmre Kalaycioglu
 
INTREST OG Unternehmenspräsentation
INTREST OG UnternehmenspräsentationINTREST OG Unternehmenspräsentation
INTREST OG UnternehmenspräsentationINTREST
 
Suelos ies juan de lanuza sara
Suelos ies juan de lanuza saraSuelos ies juan de lanuza sara
Suelos ies juan de lanuza saraSara Ruiz Arilla
 
Experiance Certificate Cotton Club
Experiance Certificate Cotton ClubExperiance Certificate Cotton Club
Experiance Certificate Cotton ClubVIKRAM RAJA
 
New bio data
New bio dataNew bio data
New bio dataRamesh S
 

Destaque (20)

Deploying java beans in jsp
Deploying java beans in jspDeploying java beans in jsp
Deploying java beans in jsp
 
Dynamic content generation
Dynamic content generationDynamic content generation
Dynamic content generation
 
After Effects Curvas Bezier
After Effects Curvas BezierAfter Effects Curvas Bezier
After Effects Curvas Bezier
 
BEST OF GOLF AND SKI.com's Benutzerhandbuch für Mitglieder
BEST OF GOLF AND SKI.com's Benutzerhandbuch für MitgliederBEST OF GOLF AND SKI.com's Benutzerhandbuch für Mitglieder
BEST OF GOLF AND SKI.com's Benutzerhandbuch für Mitglieder
 
Idalgo Présentation
Idalgo   PrésentationIdalgo   Présentation
Idalgo Présentation
 
Estudié ciencias naturales, ¿cómo y dónde busco trabajo?
Estudié ciencias naturales, ¿cómo y dónde busco trabajo?Estudié ciencias naturales, ¿cómo y dónde busco trabajo?
Estudié ciencias naturales, ¿cómo y dónde busco trabajo?
 
Karina Vargas 2
Karina Vargas 2Karina Vargas 2
Karina Vargas 2
 
Beat the blues with yoga
Beat the blues with yogaBeat the blues with yoga
Beat the blues with yoga
 
CELULARES
CELULARESCELULARES
CELULARES
 
Guia olimpiada gastronomica
Guia olimpiada gastronomicaGuia olimpiada gastronomica
Guia olimpiada gastronomica
 
Greatest Hits (& Misses) Chapter 1: A New Gig
Greatest Hits (& Misses) Chapter 1: A New GigGreatest Hits (& Misses) Chapter 1: A New Gig
Greatest Hits (& Misses) Chapter 1: A New Gig
 
P1sandra cgualito
P1sandra cgualitoP1sandra cgualito
P1sandra cgualito
 
SEDES DE INTERNADO - DIRESA CALLAO
SEDES DE INTERNADO - DIRESA CALLAOSEDES DE INTERNADO - DIRESA CALLAO
SEDES DE INTERNADO - DIRESA CALLAO
 
Diptico semana sin humo 2010
Diptico semana sin humo 2010Diptico semana sin humo 2010
Diptico semana sin humo 2010
 
Xtp flyer 210x297 en_einzeln_rgb_150dpi
Xtp flyer 210x297 en_einzeln_rgb_150dpiXtp flyer 210x297 en_einzeln_rgb_150dpi
Xtp flyer 210x297 en_einzeln_rgb_150dpi
 
Revolución Rusa
Revolución  RusaRevolución  Rusa
Revolución Rusa
 
INTREST OG Unternehmenspräsentation
INTREST OG UnternehmenspräsentationINTREST OG Unternehmenspräsentation
INTREST OG Unternehmenspräsentation
 
Suelos ies juan de lanuza sara
Suelos ies juan de lanuza saraSuelos ies juan de lanuza sara
Suelos ies juan de lanuza sara
 
Experiance Certificate Cotton Club
Experiance Certificate Cotton ClubExperiance Certificate Cotton Club
Experiance Certificate Cotton Club
 
New bio data
New bio dataNew bio data
New bio data
 

Semelhante a Ask the XPages Experts

Just the Facets, Ma'am
Just the Facets, Ma'amJust the Facets, Ma'am
Just the Facets, Ma'amTeamstudio
 
Application Layout Control
Application Layout ControlApplication Layout Control
Application Layout ControlTeamstudio
 
It's Not Infernal: Dante's Nine Circles of XPages Heaven
It's Not Infernal: Dante's Nine Circles of XPages HeavenIt's Not Infernal: Dante's Nine Circles of XPages Heaven
It's Not Infernal: Dante's Nine Circles of XPages HeavenTeamstudio
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1Teamstudio
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTeamstudio
 
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.Teamstudio
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternTeamstudio
 
Wireless Wednesdays: Part 4
Wireless Wednesdays: Part 4Wireless Wednesdays: Part 4
Wireless Wednesdays: Part 4Teamstudio
 
Take Your XPages Development to the Next Level
Take Your XPages Development to the Next LevelTake Your XPages Development to the Next Level
Take Your XPages Development to the Next Levelbalassaitis
 
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...Teamstudio
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)Jia Mi
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTeamstudio
 
Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)ITCamp
 
Busy Developers Guide to AngularJS (Tiberiu Covaci)
Busy Developers Guide to AngularJS (Tiberiu Covaci)Busy Developers Guide to AngularJS (Tiberiu Covaci)
Busy Developers Guide to AngularJS (Tiberiu Covaci)ITCamp
 

Semelhante a Ask the XPages Experts (20)

Just the Facets, Ma'am
Just the Facets, Ma'amJust the Facets, Ma'am
Just the Facets, Ma'am
 
Application Layout Control
Application Layout ControlApplication Layout Control
Application Layout Control
 
It's Not Infernal: Dante's Nine Circles of XPages Heaven
It's Not Infernal: Dante's Nine Circles of XPages HeavenIt's Not Infernal: Dante's Nine Circles of XPages Heaven
It's Not Infernal: Dante's Nine Circles of XPages Heaven
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPages
 
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
 
Sharif
SharifSharif
Sharif
 
Sharif
SharifSharif
Sharif
 
Wireless Wednesdays: Part 4
Wireless Wednesdays: Part 4Wireless Wednesdays: Part 4
Wireless Wednesdays: Part 4
 
Take Your XPages Development to the Next Level
Take Your XPages Development to the Next LevelTake Your XPages Development to the Next Level
Take Your XPages Development to the Next Level
 
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
 
Capstone- Milestone 3
Capstone- Milestone 3Capstone- Milestone 3
Capstone- Milestone 3
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java Application
 
Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)
 
Busy Developers Guide to AngularJS (Tiberiu Covaci)
Busy Developers Guide to AngularJS (Tiberiu Covaci)Busy Developers Guide to AngularJS (Tiberiu Covaci)
Busy Developers Guide to AngularJS (Tiberiu Covaci)
 

Mais de Teamstudio

Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingSearch Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingTeamstudio
 
SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!Teamstudio
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerTeamstudio
 
Understand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationUnderstand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationTeamstudio
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8Teamstudio
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyTeamstudio
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapTeamstudio
 
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Teamstudio
 
Understand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorUnderstand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorTeamstudio
 
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Teamstudio
 
Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Teamstudio
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentTeamstudio
 
A Notes Developer's Journey into Java
A Notes Developer's Journey into JavaA Notes Developer's Journey into Java
A Notes Developer's Journey into JavaTeamstudio
 
Mobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppMobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppTeamstudio
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsTeamstudio
 
Wireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsWireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsTeamstudio
 

Mais de Teamstudio (16)

Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingSearch Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
 
SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good Server
 
Understand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationUnderstand Usage with Detailed Access Information
Understand Usage with Detailed Access Information
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth Dimensionally
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino Roadmap
 
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
 
Understand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorUnderstand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage Auditor
 
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
 
Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application Development
 
A Notes Developer's Journey into Java
A Notes Developer's Journey into JavaA Notes Developer's Journey into Java
A Notes Developer's Journey into Java
 
Mobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppMobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an App
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
 
Wireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsWireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControls
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Último (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Ask the XPages Experts

  • 1. ASK THE XPAGES EXPERTS Nov. 17, 2015
  • 2. Courtney Carter @Teamstudio Howard Greenberg @TLCC Paul Della-Nebbia @PaulDN David Leedy @DavidLeedy Mike McGarel @MMcGarel Nathan Freeman Red Pill Development
  • 3. Asking Questions Use the “Questions” pane to ask questions.  
  • 4. AboutTeamstudio •  Manage, modernize, and mobilize business applications with software and services from Teamstudio. o  Easy-to-use tools for Notes and Domino developers and administrators o  Mobilization platform for those who want to mobilize using their own internal resources o  Modernization Services to help mobilize applications •  1600+ active customers, 53 countries •  Offices in US, UK, and Japan
  • 5. Teamstudio NotesTools •  Manage your Notes applications faster, better, and more easily.
  • 6. Teamstudio Unplugged •  Mobile application platform that provides organizations with the capability to extend their desktop and Web-based applications to mobile devices, giving users access to data anywhere, anytime, even when they’re offline. •  Template applications: Continuity, CustomerView, OneView, Doc Library, Journal, TeamRoom
  • 7. Teamstudio XControls •  Set of controls for IBM Domino developers working on XPages apps and Notes app modernization projects •  Full support for PC browser-based user interfaces, as well as mobile interfaces
  • 8. Teamstudio Services •  Professional services for modernization, Web enablement, project management, development, and administration –  Modernization Services –  Developer Assistance Program –  Application Upgrade Analysis –  Application Complexity Analysis –  Application Usage Auditing
  • 9. Ask the XPages Experts
  • 10. 1 #XPages Your Hosts Today: Howard Greenberg TLCC @TLCCLtd Ask an XPages Expert Paul Della-Nebbia TLCC @PaulDN
  • 11. How can TLCC Help YOU! 2 • Private classes at your location or virtual •XPages Development •Support Existing Apps •Administration • Let us help you become an expert XPages developer! • Delivered via Notes • XPages • Development • Admin • User Self- Paced Courses Mentoring Instructor- Led Classes Application Development and Consulting Free Demo Courses!
  • 12. Upcoming and Recorded Webinars 3 www.tlcc.com/xpages-webinar View Previous Webinars (use url above) • Using Cool New Frameworks in (Mobile) Domino Apps! with Theo Heselmans – December 16th
  • 13. Asking Questions – Q and A at the end 4 Use the Orange Arrow button to expand the GoToWebinar panel Then ask your questions in the Questions pane! We will answer your questions verbally at the end of the webinar
  • 14. Your Presenters Today: 5 #XPages Mike McGarel @mmcgarel Building on Properties Jesse Gallagher @Gidgerby Controller Classes David Leedy @DavidLeedy Time to First Byte Nathan Freeman @NTF Give It a Rest
  • 15. Building on Properties With one house: Mike McGarel Collaborative Solutions Developer With several (ware)houses: Czarnowski Display Service Inc. With an email address: mcgarelgramming@gmail.com
  • 16. Building on Properties Agenda Custom Property - Custom Control ✴ Example: single custom control ✴ Example: multiple custom controls ✦ Custom Property - XPage ✴ Example: side menu ✴ Example: bread crumb navigation 2
  • 17. Building on Properties XPage - Red Properties 3
  • 18. Building on Properties Setup on Custom Control - String value 4
  • 19. Building on Properties Color Style Classes .
 .red { background-color: #ff0000; } .green { background-color: #008000; } .blue { background-color: #87ceeb; } 5
  • 20. Building on Properties Setup on Custom Control - Java object 6
  • 21. Building on Properties Java Sample - Squares Class 7
  • 22. Building on Properties Custom Control - Properties Use 8
  • 23. Building on Properties compositeData Reference to access property Sample: value=“#{compositeData.propertyname}” Custom property map Built-in getters and setters 9
  • 24. Building on Properties XPage Source - Red Properties Sample 10
  • 25. Building on Properties XPage - Red Properties 11
  • 26. Building on Properties Java Sample - Multiple Class private String firstStyleName; private String secondStyleName; private String thirdStyleName; public Multiples() { this.firstStyleName = "red"; this.secondStyleName = "green"; this.thirdStyleName = "blue"; } 12
  • 27. Building on Properties XPage Source - Multiple Controls Sample 13 <xp:this.beforePageLoad>
 <![CDATA[#{javascript:viewScope.put('currentPage', 
 new com.demo.Multiples());}]]></xp:this.beforePageLoad> <xc:cc_Layout> <xp:this.facets> <xp:div xp:key="facet_1"> <xc:cc_SquaresAdvanced squaresList=“#{Squares.redList}" styleName="#{viewScope.currentPage.firstStyleName}"> </xc:cc_SquaresAdvanced> <xc:cc_SquaresAdvanced squaresList=“#{Squares.greenList}" styleName="#{viewScope.currentPage['secondStyleName']}"> </xc:cc_SquaresAdvanced> <xc:cc_SquaresAdvanced squaresList="#{Squares.blueList}" styleName="#{javascript:viewScope.currentPage().getThirdStyleName() }"> </xc:cc_SquaresAdvanced>
  • 28. Building on Properties XPage - Multiple Properties 14
  • 29. Building on Properties XPage Source - Menu Highlight Sample 15 <xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom"> <xp:this.properties> <xp:parameter value="Multiple" name=“menuKey”> </xp:parameter>
 </xp:this.properties>
  • 30. Building on Properties Custom Control Source - Menu Sample 16 <li> <xp:link text="Multiple" id="link5" disableTheme=“true”> <xp:this.styleClass> <![CDATA[#{javascript: if ('Multiple'.equals(facesContext.getProperty('menuKey'))) { return 'menuButton menuActive'; } else { return 'menuButton'; } }]]></xp:this.styleClass> <xp:this.value><![CDATA[#{javascript:if (!'Multiple'.equals(facesContext.getProperty('menuKey'))) { return '/multiplesquares.xsp'; }}]]></xp:this.value> </xp:link> </li>
  • 31. Building on Properties XPage - Breadcrumb Navigation (1) 17
  • 32. Building on Properties XPage - Breadcrumb Navigation (2) 18
  • 33. Building on Properties XPage - Breadcrumb Navigation (3) 19
  • 34. Building on Properties XPage Source - Breadcrumb Properties 20 <xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http:// www.ibm.com/xsp/custom" pageTitle="#{javascript:facesContext.getProperty('pageKey')}"> <xp:this.properties> <xp:parameter value="" name="menuKey"></xp:parameter> <xp:parameter value="#{param.name}" name="pageKey"></xp:parameter> <xp:parameter value="#{param.category}" name="categoryKey">
 </xp:parameter> </xp:this.properties>
  • 35. Building on Properties XPage Source - Breadcrumb (1) 21 <xp:panel tagName="ul" styleClass="nav navbar-nav”> <xp:panel tagName=“li"> <xp:this.styleClass><![CDATA[#{javascript: if 
 ( ('Home').equals(facesContext.getProperty('pageKey')) ) { return 'navHome'; }}]]></xp:this.styleClass> <xp:link escape="true" text="#{config.appTitle}" id="linkHome"> <xp:this.value><![CDATA[#{javascript: if 
 (! ('Home').equals(facesContext.getProperty('pageKey')) ) { return facesContext.getExternalContext().getRequestContextPath(); }}]]></xp:this.value> </xp:link> </xp:panel> <xp:panel tagName=“li" rendered="#{javascript:facesContext.getProperty('categoryKey')}"> <a class=“separator”>&gt;</a> </xp:panel>
  • 36. Building on Properties XPage Source - Breadcrumb (2) 22 <xp:panel tagName="li" rendered="#{javascript:facesContext.getProperty('categoryKey')}"> <xp:link escape="true"
 text="#{javascript:facesContext.getProperty('categoryKey')}" 
 id=“linkCategory" value="#{javascript:return 
 config.getPageLinks().get(facesContext.getProperty('categoryKey'));}">
 </xp:link> </xp:panel> <xp:panel tagName=“li" rendered="#{javascript:
 !('Home').equals(facesContext.getProperty('pageKey'))}"> <a class="separator">&gt;</a> </xp:panel> <xp:panel tagName="li" styleClass=“navActive" rendered="#{javascript:
 !('Home').equals(facesContext.getProperty('pageKey'))}"> <xp:text escape="true" value="#{javascript:facesContext.getProperty('pageKey')}" tagName="a"> </xp:text> </xp:panel> </xp:panel>
  • 38. NotesIn9.comNotesIn9.com TLCC / Teamstudio Webinar • NotesIn9.com  XPages.TV - episode List  XPagesCheatSheet.com - cheatsheets • XPages.Slack.com  http://xpages-slack-invites.herokuapp.com/ • Jesse Gallagher  Page Controllers - MVC style programming NotesIn9 182, 166-168 • Time to First Byte  StandBy Dialog Custom Control http://openntf.org/XSnippets.nsf/snippet.xsp?id=standby-dialog-custom-control  http://xpagesera.blogspot.com/2012/05/add-ajax-loading-control-in-xpages-for.html 1
  • 39. Give It a REST Nathan T. Freeman Co-founder, Red Pill Now
  • 40. Quick fundamentals  REpresentational State Transfer  TypicallyJSON-based  Stateless
  • 41. Why REST?  Fast  Flexible  Scalable  Uniform
  • 42. Why DDS?  Apache Wink standard  Already understands Domino context
  • 43. Some examples from DDS  GET http://{server}/api/data [ { "@title":"Administration Requests", "@filepath":"admin4.nsf", "@replicaid":"8525786A034D582B", "@template":"StdR4AdminRequests", "@href":"http://server/admin4.nsf/api/data/collections" }, { "@title":"Java AgentRunner", "@filepath":"AgentRunner.nsf", "@replicaid":"8525671400725208", "@template":"", "@href":"http://server/AgentRunner.nsf/api/data/collections" }, { "@title":"Article", "@filepath":"Article.nsf", "@replicaid":"8525784E00618FED", "@template":"", "@href":"http://server/Article.nsf/api/data/collections" } ]
  • 44. Some examples from DDS  GET http://{server}/{database}/api/data/documents/unid/{docunid}?{parameters} { "@href":"http://server/XPagesExt.nsf/api/data/documents/unid/5D006566E919779E852578B7004A6019", "@unid":"5D006566E919779E852578B7004A6019", "@noteid":"906", "@created":"2011-06-22T13:32:22Z", "@modified":"2011-08-21T14:39:31Z", "@authors": ["CN=Robert Perron/OU=Westford/O=IBM","CN=rperronadmin/O=rtest","CN=rperronadmin/O=rtest"], "@form":"Contact", "$UpdatedBy":"CN=Robert Perron/OU=Westford/O=IBM;CN=rperronadmin/O=rtest;Anonymous;CN=rperronadmin/O=rtest", "$Revisions":"06/22/2011 09:32:22 AM;06/22/2011 09:33:17 AM;08/15/2011 12:16:31 PM", "FirstName":"Barney", "LastName":"Bloomberg", "Number":1.75, "Date": ["2011-07-21T20:21:00Z","2011-08-01T14:38:00Z"], "Body": { "contentType":"text/html", "data":"Just <b>sales</b>.", "type":"richtext" } }
  • 45. Some examples from DDS  PUT http://{server}/{database}/api/data/documents/unid/{docunid}?{parameters} Content-Type: application/json Accept: application/json X-HTTP-Method-Override: PATCH {"FirstName":"Barney", "LastName":"Bloomberg", "EMail":"bbbb@acme.com", "Number":1.75, "Date":["2011-08-21T20:21:00Z", "2011-08-01T14:38:00Z"], "Body":{"contentType":"text/html", "data":"Just <b>sales</b>.", "type":"richtext"}, "City":"new york city"}
  • 46. DDS Shortcomings  Always delivers ALL document contents  No authenticationfacility  Raw data format  No validation
  • 47. Extending DDS: The Ingredients  com.ibm.domino.das.service.RestService  REST Resources  javax.ws.rs.*  com.ibm.commons.util.io.json.JsonObject  com.ibm.domino.osgi.core.context.ContextInfo  com.ibm.commons.util.io.json.util.JsonWriter
  • 48. Extending DDS: RestService  .getClasses()  .getSingletons()  Example: IBM Calendar Service  plugin.xml  Example: IBM Calendar
  • 49. Extending DDS: REST Resources  javax.ws.rs Annotation-based  @Path defines URL routing for resource class  @GET, @POST, @PUT, @DELETE defines handlers for methods  @Context, @HeaderParam, @PathParam, @QueryParam define attributes for method arguments  Example: GET Calendar Notice Resource  Example: POST Calendar Notice Action Resource @Path("calendar/notices/" + PATH_PARAM_NOTICE + "/action") public class NoticeActionResource { @PUT public Response putNoticeAction(String requestEntity, @HeaderParam("Content-Type") String contentType, @Context UriInfo uriInfo, @PathParam(NOTICE) String id, @QueryParam(URL_PARAM_ACTION_TYPE) String type)
  • 50. Extending DDS: JSON Adapters  Implement JsonObject  .getJsonProperties()  .getJsonProperty(String)  .putJsonProperty(String)  Example: IBM JSON Alarm Adapter
  • 51. Extending DDS: ContextInfo  Static context utilities  .getUserSession()  .getUserDatabase();
  • 52. Extending DDS: Json Writer  Controls JSON output from Java objects  .outObject(Object)  Example: OpenNTF JSON Graph Writer
  • 53. Thanks for coming!  More details on DDS can be found at http://infolib.lotus.com/resources/domino/8.5.3/doc/designer_up1/en_us/D ominoDataService.html
  • 54. Questions???? 6 Use the Orange Arrow button to expand the GoToWebinar panel Then ask your questions in the Questions panel! Remember, we will answer your questions verbally
  • 55. #XPages @DavidLeedy @mmcgarel @Gidgerby @NTF @TLCCLtd @Teamstudio @PaulDN Upcoming Events:  Atlanta User Group – November 19th  Granite LUG Meeting, Chicago – Dec 2nd  Connect, Orlando – Jan. 31 to Feb. 3  IBM InterConnect, Las Vegas, NV - Feb 21 to 25th  Engage, Eindhoven, the Netherlands – Mar. 23 to 24  EntwicklerCamp, Gelsenkirchen, Germany – April 11 to 13 Question and Answer Time! 7 Teamstudio Questions? contactus@teamstudio.com 978-712-0924 TLCC Questions? howardg@tlcc.com paul@tlcc.com 888-241-8522 or 561-953-0095 Howard Greenberg Courtney Carter Mike McGarel Jesse GallagherDavid Leedy Nathan Freeman Paul Della-Nebbia