1) This document provides 30 tips for using XPages in 60 minutes.
2) The tips cover general programming, debugging, user interface design, using XPages in the Notes client, and working with Dojo.
3) Example tips include using scoped variables to store data, calling Java classes from XPages, turning on debugging to view error messages, using themes for global configuration, and enabling Dojo parseOnLoad to initialize widgets.
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Royekino
Vous êtes convaincus par l’architecture micro-services et vous souhaitez vous lancer dans l'aventure. Durant cette session, nous expliquons comment démarrer concrètement ; quelles sont les nouvelles problématiques que soulève cette architecture et comment les résoudre. Nous détaillons – à travers une application de démonstration qui implémente les concepts de Service Discovery, Circuit Breaker, Routing et Client Side Load Balancing – l'utilisation de la libraire Spring Cloud Netflix (Eureka, Hystrix, Ribbon , ...). Nous survolerons ensuite les différentes alternatives développées par les autres géants du Web tels que Twitter, Airbnb, ...
MBL205 Monetizing Your App on Kindle Fire - AWS re: Invent 2012Amazon Web Services
The Amazon In-App Purchasing API makes it easy for you to offer digital content and subscriptions —such as in-game currency, expansion packs, upgrades, magazine issues and more— for purchase within your apps. Within minutes you can be up and running, ready to give millions of Amazon customers the ability to purchase engaging digital content using their Amazon 1-Click settings. Discover how in-app purchasing can help you monetize your apps on Kindle Fire and learn how to integrate the Amazon In-App Purchasing API into your mobile apps.
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
09 - Express Nodes on the right Angle - Vitaliy Basyuk - IT Event 2013 (5)
60 вузлів під правильним кутом - миттєва розробка програмних додатків використовуючи Node.js + Express + MongoDB + AngularJS.
Коли ми беремось за новий продукт, передусім ми думаємо про пристрасть, яка необхідна йому, щоб зробити користувача задоволеним і відданим нашому баченню. А що допомагає нам здобути прихильність користувачів? Очевидно, що окрім самої ідеї, також важлими будуть: зручний користувацький інтерфейс, взаємодія в реальному часі та прозора робота з даними. Ці три властивості ми можемо здобути використовучи ті чи інші засоби, проте, коли все лиш починається, набагато зручніше, якщо інструменти допомагають втілити бажане, а не відволікають від головної мети.
Ми розглянемо процес розробки, використовуючи Node.js, Express, MongoDB та AngularJS як найбільш корисного поєднання для отримання вагомої переваги вже на старті вашого продукту.
Віталій Басюк
http://itevent.if.ua/lecture/express-nodes-right-angle-rapid-application-development-using-nodejs-express-mongodb-angular
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Royekino
Vous êtes convaincus par l’architecture micro-services et vous souhaitez vous lancer dans l'aventure. Durant cette session, nous expliquons comment démarrer concrètement ; quelles sont les nouvelles problématiques que soulève cette architecture et comment les résoudre. Nous détaillons – à travers une application de démonstration qui implémente les concepts de Service Discovery, Circuit Breaker, Routing et Client Side Load Balancing – l'utilisation de la libraire Spring Cloud Netflix (Eureka, Hystrix, Ribbon , ...). Nous survolerons ensuite les différentes alternatives développées par les autres géants du Web tels que Twitter, Airbnb, ...
MBL205 Monetizing Your App on Kindle Fire - AWS re: Invent 2012Amazon Web Services
The Amazon In-App Purchasing API makes it easy for you to offer digital content and subscriptions —such as in-game currency, expansion packs, upgrades, magazine issues and more— for purchase within your apps. Within minutes you can be up and running, ready to give millions of Amazon customers the ability to purchase engaging digital content using their Amazon 1-Click settings. Discover how in-app purchasing can help you monetize your apps on Kindle Fire and learn how to integrate the Amazon In-App Purchasing API into your mobile apps.
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
09 - Express Nodes on the right Angle - Vitaliy Basyuk - IT Event 2013 (5)
60 вузлів під правильним кутом - миттєва розробка програмних додатків використовуючи Node.js + Express + MongoDB + AngularJS.
Коли ми беремось за новий продукт, передусім ми думаємо про пристрасть, яка необхідна йому, щоб зробити користувача задоволеним і відданим нашому баченню. А що допомагає нам здобути прихильність користувачів? Очевидно, що окрім самої ідеї, також важлими будуть: зручний користувацький інтерфейс, взаємодія в реальному часі та прозора робота з даними. Ці три властивості ми можемо здобути використовучи ті чи інші засоби, проте, коли все лиш починається, набагато зручніше, якщо інструменти допомагають втілити бажане, а не відволікають від головної мети.
Ми розглянемо процес розробки, використовуючи Node.js, Express, MongoDB та AngularJS як найбільш корисного поєднання для отримання вагомої переваги вже на старті вашого продукту.
Віталій Басюк
http://itevent.if.ua/lecture/express-nodes-right-angle-rapid-application-development-using-nodejs-express-mongodb-angular
Android development workshop held as part of Java class on Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia.
22.06.2012. Zagreb
Spring Framework Petclinic sample applicationAntoine Rey
Spring Petclinic is a sample application that has been designed to show how the Spring Framework can be used to build simple but powerful database-oriented applications.
The fork named Spring Framework Petclinic maintains a version both with a plain old Spring Framework configuration and a 3-layer architecture (i.e. presentation --> service --> repository).
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...ddrschiw
XPages have ushered in a new era for application development on the IBM Lotus Domino platform. This session will take you beneath the surface of XPages and into the inner workings of server-side JavaScript, the language that allows you to easily add truly advanced features to your applications. By the end of this deep-dive session, you'll know how to use server-side JavaScript in the following ways: create events that dynamically manipulate interface components based on user interaction; and use scope caching to improve performance and usability and leverage closures
and other design patterns to create reusable object-oriented server-side JavaScript. You'll also learn how to make your XPages more powerful with "managed beans" and other Java classes, as well as create advanced re-usable components by passing Java and server-side JavaScript objects to custom controls.
Node.js and microservices go hand in hand. This comes mainly from the design of Node.js. It is a specialised small platform with an enormous package environment. The NPM ecosystem provides a lot of packages you can use to build your microservice. The two most popular frameworks for this job are Express and Seneca. In this talk I will show you how you can communicate synchronously and asynchronously with your microservices and how easy it is to put your Node.js application into a docker container.
Spring in the Cloud - using Spring with Cloud FoundryJoshua Long
This talk's about using the power of the Spring framework with Cloud Foundry, the open source PaaS (platform as-a-service) from VMware. This is a bit more deep an introduction than my other Spring and Cloud Foundry talk, and so I've kept both, while encouraging people to check this one out, first.
Android development workshop held as part of Java class on Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia.
22.06.2012. Zagreb
Spring Framework Petclinic sample applicationAntoine Rey
Spring Petclinic is a sample application that has been designed to show how the Spring Framework can be used to build simple but powerful database-oriented applications.
The fork named Spring Framework Petclinic maintains a version both with a plain old Spring Framework configuration and a 3-layer architecture (i.e. presentation --> service --> repository).
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...ddrschiw
XPages have ushered in a new era for application development on the IBM Lotus Domino platform. This session will take you beneath the surface of XPages and into the inner workings of server-side JavaScript, the language that allows you to easily add truly advanced features to your applications. By the end of this deep-dive session, you'll know how to use server-side JavaScript in the following ways: create events that dynamically manipulate interface components based on user interaction; and use scope caching to improve performance and usability and leverage closures
and other design patterns to create reusable object-oriented server-side JavaScript. You'll also learn how to make your XPages more powerful with "managed beans" and other Java classes, as well as create advanced re-usable components by passing Java and server-side JavaScript objects to custom controls.
Node.js and microservices go hand in hand. This comes mainly from the design of Node.js. It is a specialised small platform with an enormous package environment. The NPM ecosystem provides a lot of packages you can use to build your microservice. The two most popular frameworks for this job are Express and Seneca. In this talk I will show you how you can communicate synchronously and asynchronously with your microservices and how easy it is to put your Node.js application into a docker container.
Spring in the Cloud - using Spring with Cloud FoundryJoshua Long
This talk's about using the power of the Spring framework with Cloud Foundry, the open source PaaS (platform as-a-service) from VMware. This is a bit more deep an introduction than my other Spring and Cloud Foundry talk, and so I've kept both, while encouraging people to check this one out, first.
Node. js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. Node. js is an open source, cross-platform run time environment for developing server-side and networking applications
Myself and Asanka Fernandopulle conducted corporate level workshop on Application Security. This workshop covered areas such as application security treats, secure cording practices, application penetration testing and web application exploitations. Workshop mainly consisted with practical sessions and demonstrations. You can find all the presentations here.
Ten practical ways to improve front-end performanceAndrew Rota
Conference talk presented at PHP South Coast 2017. Ten concrete ways to improve web performance, split between quick tactical wins and longer-term overarching strategies.
Presentation on how Meetup tackles web performance. Given on:
- Nov 17th, 2009 for the NY Web Performance Group (http://www.meetup.com/Web-Performance-NY/)
- Jan 26th, 2010 for NYC Tech Talks Meetup Group (http://www.meetup.com/NYC-Tech-Talks/)
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
This presentation covers how to use the MySQL X DevAPI with the Python Programming Language, presented at the first PyCaribbean Conference, Santo Domino February 16th 2019
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
2. Matt White
Lead Developer at
Creators of IdeaJam and IQJam
Creator of XPages101.net
Use coupon code “ilug2010” for a 33%
discount
Founder member of the LDC
2
2
3. Tim Clark
16+ years in Lotus brand
Support, Sales and Channel
Creator of the X Cast, XPages podcast
http://bit.ly/ilugmo
3
3
8. 1. Scoped Variables
applicationScope
use to store data for all users of the app
sessionScope
use to store data for the current user
viewScope
use to store data for the current page
requestScope
use to store data for a single round trip to the server
8 scopedvariables.xsp
8
9. 2. Repeat ANY data
Repeat controls can be used with any type of
data, not just view data.
As long as the data is a list of some sort and you
know how to reference it
@Functions can return a string or a list, to make
sure the results work, use this $A function:
http://tinyurl.com/xpbrepeats
9 repeats.xsp
9
10. 3. Calling a Notes Agent
in 8.5.0 or 8.5.1
Don’t do it unless you really need to!
Running code as a different user (e.g. an admin)
You’ll probably end up having to save the document twice,
so it’s very expensive.
However, if you really have to...
var agent:NotesAgent = database.getAgent(“myagent”);
agent.runOnServer(noteid);
Or you can always call an old style agent URL using AJAX
(we’ll show you how later on)
10
10
11. 4. Calling a Notes Agents
in 8.5.2 +
In 8.5.2 you can call an agent and pass an “in memory” document to
it:
Agent.runWithDocumentContext(NotesDocument)
There are also three different types of session object available:
session - the current user’s session
sessionAsSigner - a session running as the XPage signer
sessionAsSignerWithFullAccess - a session running as
the XPage signer giving full admin rights
Running SSJS is always going to be faster than calling an agent
11
11
12. 5. ACLs in XPages
If not done, people may be able to create documents that you are not
expecting
Go to All Properties > Data > ACL and add ACL settings
Settings can be made for:
Default
Anonymous
Individuals
Groups
Roles
12
12
13. 6. #{id:mycontrol}
Used if you want to know what the id of the field will
be at runtime
Use this syntax to identify a specific field:
Also works in reused controls
13 clientsidereferences.xsp
13
14. 7. Calling SSJS in CSJS
If you want to pass server side data to the
client side as the page loads you can use:
#{javascript:myfunction()}
Returns the result of “myfunction” at runtime
inside your CSJS
14 clientsidereferences.xsp
14
15. 8. XPages Extension
Library
A free download from OpenNTF:
http://extlib.openntf.org/
Provides a whole bunch of extra
controls for your XPages
Just needs a simple install on the
server to enable to extra controls
15
15
16. 9. Localization
Easy to do
Turn it on
Pick which languages you
want to support
Edit the translation files
You’re done. ;o)
16
16
17. 10. Using Java classes
Great for network operations and other pre-rolled
Java functionality
Create a “lib” folder using the package explorer
Import your .jar file
Refer to the full package structure or use
“importPackage”
importPackage(com.xpagesblast.demo);
var text = getComponent("inputtext").getValue();
var speaker:SaySomething = new SaySomething(text);
getComponent("out").setValue(speaker.whatDoYouSay());
17 java.xsp
17
18. 11. Using an XPage as a
servlet
If you want to get the memory resident benefits of an XPage but don’t want to return
HTML then...
Set the rendered property to False
In afterRenderResponse event return required data:
try{
var exCon = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
var response = exCon.getResponse();
response.setContentType("text/plain");
writer.write("Hello World");
writer.endDocument();
facesContext.responseComplete();
writer.close(); //Leave this line out in 8.5.2
}catch(e){
_dump(e);
}
18 servlet.xsp
18
19. 12. IgnoreRequestParams
Control individual document bindings on a single XPage
In All Properties > Data > Data > dominoDocument, set
ignoreRequestParams to false
Then whatever default action you have defined for the
document data binding will take precedence over the
URL Parameters
Useful for blog comments
19 requestparams.xsp
19
21. 13. Configure Firewall
A lot of local firewalls block ports on the local
machine
You’re basically running a local Websphere server
on a port somewhere in the 30,000+ range
You will never see an error so it’s difficult to debug
Either disable the firewall or work out a rule which
allows the server to run
21
21
22. 14. Turn on debugging
In the Application properties, check the “Display XPages
Runtime Error Page” box.
Then when there is an error in your code you’ll get a more
useful message
22
22
23. 15. Common Error
Messages
Error Code Most Likely Cause
500 There’s an error in your code. Idiot ;-)
A typo in your URL. Remember the XPage
404 name is case sensitive
Forbidden error, the signing ID doesn’t have
403 rights to run XPages
Shows up a lot in server logs. It’s a
302 redirection and can be ignored.
23
23
24. 16. Use OpenLog
Download OpenLog from OpenNTF
http://www.openntf.org/projects/pmt.nsf/ProjectLookup/
OpenLog
Download TaskJam (which has the script library in) from
OpenNTF
At the top of your SSJS
import OpenLogXPages
Implement using
log.logEvent("Clearing the Cache", SEVERITY_LOW, "serverSide",
"resetApplicationScope", null);
or
log.logError(“There was an error”, ! SEVERITY_HIGH, “Error Message”,
“Error Number”, “Location”, “Method”, “Error Line”, document);
24
24
25. 17. Use Firebug
The single most important debugging tool for XPages
Lets you inspect HTML, CSS and CSJS
Network operations and AJAX requests
Download from Tools in Firefox or
http://getfirebug.com
In CSJS use
dojo.console(“message”);
25
25
26. 18. Use Medusa
A plugin for XPages developers to use inside Firebug
Allows you to test SSJS code live
Compare the HTML to the source XML of your XPage
Download from OpenNTF
Buy Tim Tripcony, Nathan Freeman & Colin McDonald a drink next
time you see them.
26
26
28. 19. Themes & Global
Config
Want to set something once and have it used everywhere, use
Themes
Can set; stylesheets, classes on elements or pick a skin
dynamically using simple XML, for example:
<theme>!
! <resource>
! ! <content-type>text/css</content-type>
! ! <href>custom.css</href>
! </resource>
! <control>
! ! <name>InputField.RichText</name>
! ! <property mode="concat">
! ! ! <name>styleClass</name>
! ! ! <value>domino-richtext xspInputFieldRichText</value>
! ! </property>
! </control>
</theme>
28
28
29. 20. Use a CSS framework
OneUI - http://tinyurl.com/xpboneui
Download “XPages framework” from OpenNTF
Or use the OneUI control in the Extension Library
Blueprint - http://tinyurl.com/xpbblueprint
960 Grid - http://tinyurl.com/xpb960grid
Doesn’t matter which one, just USE ONE!!!!!
29
29
31. 21. Use &SessionID
If manually building URLs for the Notes Client
In 8.5.1 you HAVE TO add the SessionID
parameter:
&SessionID=tclk48931240
Error 503 with no other explanation if you
don’t add it
It’s been fixed in 8.5.2
31
31
32. 22. View Page Source
Toolbar button only available if Designer
installed
Shows the source HTML of XPages in Notes
client
Useful because the HTML in the Notes Client
is not always the same as in a web browser
32
32
33. 23. View Logs in
Notes Client
From menu
Help, Support, View Trace
Where the print statement output from SSJS is displayed
SSJS output only, CSJS output is not visible in XPiNC
33
33
34. 24. Difference in URLs
If you manually build URLs be aware that there
are different structures between the Notes Client
and the web browser:
Web Browser
/directory/XPagesBlast.nsf/test.xsp
Notes Client
/xsp/ServerName!!directory/XPagesBlast.nsf/test.xsp
34
34
36. 25. Enable parseOnLoad
If you have Dojo widgets on your XPage then you should
set this to true, to have them automatically initialize
Unless you want to manually initialise Dojo Elements
yourself using Javascript
36
36
37. 26. Dialog box
If you want to interact with the server from
inside your dialog box. You have to work
around a “feature”.
Best option is to use Jeremy Hodge’s
approach: http://tinyurl.com/xpbdialog
Include CSJS Library in your XPage, then
enable dojoParseOnLoad and dojoTheme
“feature” = BUG
37 dialog.xsp
37
38. 27. Dojo Ajax Request
Writing your own Ajax can still be useful, simply use the xhr
API:
38 ajax.xsp
38
39. 28. Charting
dojox.charting offers a huge array of charting options
For a simple pie chart
import the basic modules
add the data (formatted as JSON)
add CSJS to initialize the chart
No flash required
offers animation
Tooltips
Legends
39 chart.xsp
39
40. 29. How to show images
Add Dojo resource:
dojox.image.Lightbox
Add Stylesheet
/.ibmxspres/dojoroot/dojox/
image/resources/Lightbox.css
Build <a> tags with dojoType of
dojox.image.Lightbox and then enable
ParseOnLoad
40 lightbox.xsp
40
41. 30. How to use jQuery
Use when you want to make use of
a jQuery plugin
Import the jQuery library into the
database design as a file resource
Everything else works as you
would expect with jQuery
A good example is the Full
Calendar Plugin http://
arshaw.com/fullcalendar/
41 jquery.xsp
41
42. Questions?
?
Matt White Tim Clark
matt.white@elguji.com tim_clark@uk.ibm.com
@mattwhite @timsterc
mattwhite.me blog.tc-soft.com
42
42