One of the great advantages of XPages is the ability to extend its functionality by adding your own Java libraries or third-party offerings. In fact, the functionality you want is often available in a readily consumable form on OpenNTF. But what do you do when it isn't? This session is about how to use third party Java libraries in your Xpages applications - installing them, interfacing with existing code, configuring security and optimisation. Join me, and take your application's functionality to new heights.
The good, the bad, and the ugly technical details of running Node.js services for the world’s largest Spanish learning website, SpanishDict.com.
Presented at the 5/8/2013 Seattle Node.js Meetup - http://www.meetup.com/Seattle-Node-js/events/115959992/
bccon-2014 key01 ibm_collaboration_solutions_connect_2014ICS User Group
With the introduction of IBM Notes/Domino 9 Social Edition, 2013 has been a very exciting year across the IBM messaging and collaboration portfolio! You know the business value of our technologies; you've also watched us give you the ability to weave the benefits of social collaboration right into your messaging experience. Now, join us as we hit the highlights of 2013, give you a glimpse of what's just around the corner, and then energize you with where we're heading, next!
The good, the bad, and the ugly technical details of running Node.js services for the world’s largest Spanish learning website, SpanishDict.com.
Presented at the 5/8/2013 Seattle Node.js Meetup - http://www.meetup.com/Seattle-Node-js/events/115959992/
bccon-2014 key01 ibm_collaboration_solutions_connect_2014ICS User Group
With the introduction of IBM Notes/Domino 9 Social Edition, 2013 has been a very exciting year across the IBM messaging and collaboration portfolio! You know the business value of our technologies; you've also watched us give you the ability to weave the benefits of social collaboration right into your messaging experience. Now, join us as we hit the highlights of 2013, give you a glimpse of what's just around the corner, and then energize you with where we're heading, next!
What is maven? how maven works? how to integrate maven with eclipse? how to develop a maven project? If you are looking answers for these questions then go through this article, I'm sure it will answer all of them and trust me it's way easy than you are thinking. Come have a look.
Google Hacking Lab ClassNameDate This is an introducti.docxwhittemorelucilla
Google Hacking Lab
Class
Name:
Date:
This is an introduction to using search engines for penetration testing. "Google Hacking" is a valuable skill for penetration testers. Google's automated search algorithms constantly visit every IP in the world and collect information about the services that IP provides and indexes the content the IP makes available. Google hacking could be called an art. The information gathered is only limited to your ingenuity when crafting your queries. Keep in mind, the principles behind Google hacking apply to all search engines.
In this lab you will enumerate sub-domains, identify new machines, scour web servers for files that reside on directories but have been forgotten, learn about the underlying architecture of web servers, locate logon portals, and use targeted queries to locate specific file types. When clicking on links used the cached version so you visit Google's cache and not the website itself.
1. Open a browser and navigate to: google.com
2. We're going to search exclusively for Wilmu domains.
2a. Type: site:wilmu.edu
3. We received too many www.wilmu.edu returns for this search to be of use. Let's subtract some information from our query.
3a. Type: site:wilmu.edu -site:www.wilmu.edu -site:libguides.wilmu.edu
3b. What new domains did you identify?
Answer:
4. Now let's see what systems provide directory listings. Directory listings are important because there is the potential you will be able to see the entire website's file structure. Also, many webmasters forget to remove content they no longer make visible with hyperlinks. This content is valuable for various information gathering and exploitation reasons because it could be old pictures, databases, password files, etc. (Be sure to click on the cached links and not the actual links.)
4a. Type: site:umass.edu intitle:index.of
5. Another search we might do is for error or warning messages that give us an indication of the underlying infrastructure and application. Depending on the error or warning we will be able to determine if the web server is running Apache, IIS, SharePoint, WordPress, etc. To do this we would use the "or" operator. A query with the or operator for warnings or errors would look something like this: intitle:"apache status" "apache server status for" | "welcome to windows small business server 2003"
6. Let's look for applications and databases we may login to. Many organizations use Federated rights, meaning once you're logged in you may login to other systems. This is called "single sign-on" or SSO.
6a. Type: site:wilmu.edu logon | login
6b. What Portals did you find?
Answer:
7. We found some interesting portals but those are for students. Where else might a penetration tester look?
7a. Type: site:wilmu.edu faculty | staff | admin | administrator + login | logon
7b. What results did you find?
Answer:
8. We've been looking for interesting information about sub-domains, posted on websites, log ...
Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the "look and feel" of the C++ language, but it is simpler to use than C++ and enforces an object-oriented programming model.
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
This presentation explores the features of Maven 2, a software build tool that has achieved prominence in the Java development arena. Find out how Maven can be leveraged to automate key project tasks.
Get ready for FRC 2015: Intro to Java 5 through 8 updates and EclipseJeanne Boyarsky
FRC (FIRST Robotics Challenge) is switching from Java ME 1.4 to Java SE 8 along with switching from NetBeans to Eclipse for the 2014-2015 school year. I gave this presentation to representatives from teams 2601 (Townsend Harris) and 694 (Stuyvesant) today.
Team 2601 recorded my presentation which is available on youtube (https://www.youtube.com/watch?v=AgreKkRjFgU&feature=youtu.be) and at the end of my presentation on slideshare.
Jared Whitlock Open Source In The Enterprise Plone @ NovellVincenzo Barone
Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of our needs, nor were they easy to modify. We began looking at different Open Source CMS options, and decided on Plone. This presentation will briefly discuss Novell's proprietary CMS history, why we chose Plone, what we are currently using and developing, and our plans for the future. It will also discuss our architecture for making Plone successful for enterprise websites.
bccon-2014 str05 ibm-smart_cloud-for-social-businessICS User Group
Cloud Lösungen sind bei der IBM Connect2014 ein Kernthema für alle Hauptprodukte aus dem Social Communication & Collaboration Portfolio. Die Session gibt einen Update zum aktuellen Stand der als "Software as a Service" (SaaS) verfügbaren Produkte.
bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1ICS User Group
Notes Browser Plugin 9.0.1 - Die Lösung aller Notes Client Deployment Probleme?
Das Deployment eines Notes Standard Clients ist teuer und treibt die Betriebskosten in die Höhe. Mit dem Notes Browser Plugin steht eine weitere alternative Client-Variante neben dem Basic und Standard Client zur Verfügung. Diese Session geht auf das mit IBM Notes 9.0 eingeführte Browser Plugin ein, zeigt die Möglichkeiten und Grenzen auf und vergleicht die Funktionalität mit einem lokal installierten IBM Notes Standard Client.
More Related Content
Similar to bccon-2014 dev02 xpages-coffe-from-a-friend-using-third-party-java-libraries
What is maven? how maven works? how to integrate maven with eclipse? how to develop a maven project? If you are looking answers for these questions then go through this article, I'm sure it will answer all of them and trust me it's way easy than you are thinking. Come have a look.
Google Hacking Lab ClassNameDate This is an introducti.docxwhittemorelucilla
Google Hacking Lab
Class
Name:
Date:
This is an introduction to using search engines for penetration testing. "Google Hacking" is a valuable skill for penetration testers. Google's automated search algorithms constantly visit every IP in the world and collect information about the services that IP provides and indexes the content the IP makes available. Google hacking could be called an art. The information gathered is only limited to your ingenuity when crafting your queries. Keep in mind, the principles behind Google hacking apply to all search engines.
In this lab you will enumerate sub-domains, identify new machines, scour web servers for files that reside on directories but have been forgotten, learn about the underlying architecture of web servers, locate logon portals, and use targeted queries to locate specific file types. When clicking on links used the cached version so you visit Google's cache and not the website itself.
1. Open a browser and navigate to: google.com
2. We're going to search exclusively for Wilmu domains.
2a. Type: site:wilmu.edu
3. We received too many www.wilmu.edu returns for this search to be of use. Let's subtract some information from our query.
3a. Type: site:wilmu.edu -site:www.wilmu.edu -site:libguides.wilmu.edu
3b. What new domains did you identify?
Answer:
4. Now let's see what systems provide directory listings. Directory listings are important because there is the potential you will be able to see the entire website's file structure. Also, many webmasters forget to remove content they no longer make visible with hyperlinks. This content is valuable for various information gathering and exploitation reasons because it could be old pictures, databases, password files, etc. (Be sure to click on the cached links and not the actual links.)
4a. Type: site:umass.edu intitle:index.of
5. Another search we might do is for error or warning messages that give us an indication of the underlying infrastructure and application. Depending on the error or warning we will be able to determine if the web server is running Apache, IIS, SharePoint, WordPress, etc. To do this we would use the "or" operator. A query with the or operator for warnings or errors would look something like this: intitle:"apache status" "apache server status for" | "welcome to windows small business server 2003"
6. Let's look for applications and databases we may login to. Many organizations use Federated rights, meaning once you're logged in you may login to other systems. This is called "single sign-on" or SSO.
6a. Type: site:wilmu.edu logon | login
6b. What Portals did you find?
Answer:
7. We found some interesting portals but those are for students. Where else might a penetration tester look?
7a. Type: site:wilmu.edu faculty | staff | admin | administrator + login | logon
7b. What results did you find?
Answer:
8. We've been looking for interesting information about sub-domains, posted on websites, log ...
Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the "look and feel" of the C++ language, but it is simpler to use than C++ and enforces an object-oriented programming model.
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
This presentation explores the features of Maven 2, a software build tool that has achieved prominence in the Java development arena. Find out how Maven can be leveraged to automate key project tasks.
Get ready for FRC 2015: Intro to Java 5 through 8 updates and EclipseJeanne Boyarsky
FRC (FIRST Robotics Challenge) is switching from Java ME 1.4 to Java SE 8 along with switching from NetBeans to Eclipse for the 2014-2015 school year. I gave this presentation to representatives from teams 2601 (Townsend Harris) and 694 (Stuyvesant) today.
Team 2601 recorded my presentation which is available on youtube (https://www.youtube.com/watch?v=AgreKkRjFgU&feature=youtu.be) and at the end of my presentation on slideshare.
Jared Whitlock Open Source In The Enterprise Plone @ NovellVincenzo Barone
Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of our needs, nor were they easy to modify. We began looking at different Open Source CMS options, and decided on Plone. This presentation will briefly discuss Novell's proprietary CMS history, why we chose Plone, what we are currently using and developing, and our plans for the future. It will also discuss our architecture for making Plone successful for enterprise websites.
bccon-2014 str05 ibm-smart_cloud-for-social-businessICS User Group
Cloud Lösungen sind bei der IBM Connect2014 ein Kernthema für alle Hauptprodukte aus dem Social Communication & Collaboration Portfolio. Die Session gibt einen Update zum aktuellen Stand der als "Software as a Service" (SaaS) verfügbaren Produkte.
bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1ICS User Group
Notes Browser Plugin 9.0.1 - Die Lösung aller Notes Client Deployment Probleme?
Das Deployment eines Notes Standard Clients ist teuer und treibt die Betriebskosten in die Höhe. Mit dem Notes Browser Plugin steht eine weitere alternative Client-Variante neben dem Basic und Standard Client zur Verfügung. Diese Session geht auf das mit IBM Notes 9.0 eingeführte Browser Plugin ein, zeigt die Möglichkeiten und Grenzen auf und vergleicht die Funktionalität mit einem lokal installierten IBM Notes Standard Client.
bccon-2014 dev03 xpages-road_to_damascas-lotus-script-and-@formula-to-ssjsICS User Group
One of the obstacles to moving to Xpages is the amount of legacy code in LotusScript and @Formula language that needs to be converted. This is always going to be a considerable task, but there are ways to make the process much faster and simpler. These range from using the runAgent command to avoid most of the conversion, to using regular expressions to speed the conversion process. In this session I will reflect on lessons learned from doing two large Xpage conversions and will cover: - What can and can't be converted - Optimising code before conversion - Techniques for speeding up the conversion - Taking the next step (all the way to Java)
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-knowICS User Group
Native 64bit applications are more and more standard in many customer environments. This session is about the benefits and technical background for 32bit IBM Domino on 64bit OS and 64bit native IBM Domino. We'll provide best practices and also best combinations and choices that you have for IBM Domino with add-on applications from IBM and other vendors. We'll also discuss recent changes in a mixed bit environment and the pitfalls to avoid. You will also learn what business partners and IBM have to do to port their applications to understand in more detail how Domino 64bit works in your daily operations. The session mainly covers Domino 9.0 64bit for Windows and Linux (new in Domino 9).
bccon-2014 dev04 domino_apps_reaching_up&outICS User Group
Domino applications deliver value in numerous ways. The comprehensive platform and tools continue to deliver an unmatched set of core functionality. New enhancements improve the ability for these applications to reach Out to mobile devices and social applications. Upcoming capabilities will allow one to run Domino applications in the cloud. Come hear about the latest and greatest so you can unleash the potential energy of Domino!
bccon-2014 com02 level-up_building_next_generation_business_applicationsICS User Group
Das Erstellen von neuen Business-Anwendungen ist immer zeitaufwendig und teuer. Wer heutzutage mit der Entwicklung einer neuen Anwendung beginnt, muss häufig gleich die Nutzung auf mehreren Ebenen, wie Client, Browser und mobile Endgeräte berücksichtigen. Außerdem sind Workflow-Unterstützung und die Integration von MS Office-Schnittstellen eine häufige Anforderung.
Mit We4IT Aveedo zeigen wir Ihnen in einer Live-Demo (was könnte hier schon schief gehen?), wie schnell solche Anwendungen durch einen Prozess der Konfiguration, anstatt der Programmierung umgesetzt werden können.
Begleiten Sie uns und erfahren Sie, wie einfach es ist, anspruchsvolle Anwendungen mit der notwendigen Flexibilität und Verfügbarkeit zu erstellen, egal ob für die Nutzung im Büro oder von unterwegs. Und das alles, ohne die Notwendigkeit ein Entwickler-Experte zu sein.
bccon-2014 cas01 ibm-notes-upgrades-in-der-kaffeepauseICS User Group
IBM Notes Upgrades in der KaffeepauseIBM Notes 9 Social Edition steckt voller neuer Features, doch der Weg dort hin ist erfahrungsgemäß steinig. Unerwartete Zwischenfälle können auch auch die bestgeplantesten Upgrade-Projekte zum Scheitern bringen und enden oft in langen Support-Telefonaten, hohen Kosten und halten Benutzer davon ab, produktiv zu sein. Egal wie aufgeräumt oder chaotisch die Ausgangslage ist, MarvelClient Upgrade kann Ihnen dabei helfen, die Umgebung zu analysieren, standardisieren und punktgenau herauszufinden, welche Upgrade-Pakete die Benutzer benötigen. Fixpacks, Hotfixes, Sametime Embedded Updates, Browser Plugin, Eclipse Plugins/Widgets usw. - alles auf dem neuesten Stand! Keine gescheiterten Aktualisierungsprojekte mehr, sondern zentralisierte Upgrades für alles und jeden und das innerhalb von 15 Minuten. Glückliche Benutzer mit standardisierten und vorhersehbaren IBM Notes Clients (inkl. z. B. Sametime und Connections Konfigurationen) - das verstehen wir unter Social Enablement!
Are your servers running out of space as more, and more complex data is sent thru or stored in applications on the servers? Are your users keep on sending bit like attachments again and again? Do standard tasks like compact or fixup last for ages or does your backup still runs during working hours? Learn how to benefit from build-in space saving features. Maximize disk space savings provided by Domino Attachment and Object Service (DAOS) and ensure that your environment is properly configured for best performance with this feature. Reduce network bandwidth when replicating databases between servers and increase mail quotas without using more disk space. As of Domino 9.0.1, DBMT is the swiss army knife for administrators. Learn about pre-allocating space to avoid file fragmentation during a copy-style compact. Ensure that a mail application in a clustered environment is always available and mail gets delivered while performing file compaction and other standard tasks
bccon-2014 adm05 ibm traveler-2013-and-beyondICS User Group
IBM Notes Traveler – 2013 and Beyond
+ Best Practices for Deployment, Maintenance and Support
IBM Notes Traveler provides the ability to access IBM Domino mail, calendar, contacts, and more from a variety of mobile devices. In 2013, IBM Notes Traveler extended support to Windows Phone, RT, Pro, and BB10 devices, enhanced user's productivity with out of office and more features, and allowed administrators to sleep better with greater attachment security control. Learn about these features and where IBM Notes Traveler is headed in the future.
Great changes are coming, including a new work-centered UI, further MDM/MAM integration, a seamless mobile experience with the extended collaboration suite, and more coming to the cloud!
This session will cover best practices for deploying and maintaining IBM Notes Traveler along with how to troubleshoot many problems yourself and get the best, fastest support should the need arise. Topics to be covered in depth will include: system/capacity planning, handling maintenance, monitoring your IBM Notes Traveler servers and general do's and don'ts to avoiding common pitfalls.
This is a must-attend session for anyone looking to empower their mobile work forc!
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsICS User Group
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können.
Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
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.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
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.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
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
1. 1
Coffee from a Friend:
Using Third Party Java Libraries
2014/03/18– Matthew Fyleman
2. 2
Matthew Fyleman
21 YearsasaNotes/Domino Developer
MostlyWorking on:
Xpagesconversions
Product development
Who AmI?
3. 3
Based on MyExperiences
Beginner Level!
Using JavaGenerally in XPages
Will focuson .jar files, but will look at other
waysof incorporating Java
What to usewhen
What isthisTalk About?
4. 4
Why Java?
Advantagesover SSJS
Java Options
Prepackaged Options
.jarspackaged into Extension Libraries
OpenNTF.org
ApachePOI Example
Raw Libraries
Deploying
Incorporation
Security
Creating .jars
Questions
What amI talking about?
5. 5
It hasa better structure than ssjs
Stronglytyped
Object Oriented fromtheground up
It‘sa very useful skill
Widelyused outsideNotes/Domino
Encouragesbetter programming practise
Why Java?– 1. Thebasics
8. 8
Why Java?– 4. ThereareLotsof 3rd Party Libraries
AdobeAcrobat (PDF) Manipulation
Word and Excel Creation and Modification
XMLparsing
... Many more
If you need it, thereisprobably a Java
library out there
Tested and stable(relatively!)
9. 9
Raw Java
You’realreadydoing this!
JavaClassFiles
Better for development
.jarsprovideobfuscation
.jarsareeasilyportable– writeonceuseanywhere
Managed Beans
Much easier to createthan you might think
Automatically work within ascope
.jar Files
Java Options
10. 10
Almost certainly donethisalready:
var vecThis= new java.util.Vector();
Can Import Packages
importPackage(java.util);
var vecThis= new Vector();
Can beadisadvantage, particularly for beginners!
Java Options– Raw Java
11. 11
Easyto create
In thecodesection under Java
Createnew java class
Java Options– ClassFiles
12. 12
Need to generate constructor?
Under thesourcemenu
GenerateConstructor using ...
Gettersand Setters?
Samemenu
Correct indentation?
Samemenu
Java Options– Getting Help FromEclipse
13. 13
Rulesfor Managed Beans
If you haveaconstructor, it must beparameterless
Fieldsin your classareonlypublically accessiblethrough gettersand
setters
To support persistenceit should implement theSerializableinterface
It needsan entryin thefaces-config.xml file
SeePer Laustenspage‘Creating Your First managed bean for
Xpages’
http://per.lausten.dk/blog/2012/02/creating-your-first-
managed-bean-for-xpages.html
Java Options– Managed Beans
14. 14
You are probably not the first!
Check OpenNTF.org
Pre-Packaged into an Extension Library
Easyto Use
Documentation (?)
Onceext lib installed, no securitysettingsto
think about
Pre-Packaged Options
16. 16
Not AlwaysAvailable
Extension Librariesneed to be
deployed to the server!
What can you do if thisisnot an option?
Pre-Packaged Options- Issues
17. 17
Thiswasthesituation I found myself in on arecent project
Customer needed .docx filemanipulation
Customer would not permit third party deployment to the
server
Deployed thePOI Libswithin myApplication
No Deployment to theServer (technically speaking!)
Simple
Still had accessto theFunctionality
UsetheLibrary‘RAW‘
18. 18
ThreeOptions:
1. Deployto theserver filesystem
Non-starter
2. Deployunder WEB-INF
Better but onlyuseif you are8.5.2 or lower
3. Deployto jar areaunder ‘code‘
Best option
Deployment Options
19. 19
Java Librariesfor manipulatingMicrosoft Word and
Excel files
Open Source
Main library ispoi-3.9-20121203.jar
But you will need othersparticularly if you wish to
work on docx and xlsx
dom4j-1.6.1.jar
stax-api-1.0.1.jar
xmlbeans-2.3.0.jar
ApachePOI Project
20. 20
To create an Excel spreadsheet using POI, have your
code perform the following steps:
Createaworkbook object:
var xl=new org.apache.poi.hssf.usermodel.HSSFWorkbook();
Add asheet to theworkbook:
var sheet = xl.createSheet("Sheet 1");
ApachePOI Creating aSpreadsheet
21. 21
Add arow to thesheet
They start at 0
row = sheet.createRow(rowCount++);
Writedatainto cellsinto each row
cell = row.createCell((java.lang.Integer)(cellCount++));
cell.setCellValue(document.getItemValueString(“AField”));
Watch out!
ApachePOI Creating aSpreadsheet
23. 23
Sooner or later you will hit this
Need to edit the‘java.policy’ file
Proper wayisto databasespecificentry
For Production Systems
Doesn’t work on Domino 9 ?
For Dev EnvironmentsYou Can Cheat!
grant { permission java.security.AllPermission; };
Seeblog post ‘JavaSecurity in Xpages’ fromStephan Wissel:
http://www.wissel.net/blog/d6plinks/SHWL-8JYAT5
don‘t missNathan Freeman‘scomment!
Deployment - SecurityIssues
24. 24
Similar to working with Excel:
Get thedocument
Get document’sparagraphs
Get thetext runsin theparagraphs
Search and replacein text runs
Get thetables
Iteratethrough therows
Iteratethrough thecells
Do paragraph search and replacein each cell
ApachePOI Search and Replacein Word
25. 25
Java Librariesfor manipulating AdobeAcrobat
(pdf) documents
Open Source– but ApacheLicense!
Main library isitextpdf-5.5.0.jar
UnlikePOI, thisisall you need for basicPDFs
iTextPdf
26. 26
Itsopen sourceso itsfree, right?
Maybe, but check thelicense
E.g. ApacheLicense
Freeto useif your softwareisalso distributed under an
ApacheLicense
Otherwisetheremaybeafeefor commercial use
iText – OEM license, 125 desktops, approx. $3,000
Deployment - LicenseIssues
27. 27
Doing a lot of @Formula conversion to SSJS
Encountering a lot of List Ops
SSJShasno built in permutation operations
Wanted alibrary of List Op utilities
What About MyOwn .jars
28. 28
In Domino:
Createtheclassfiles
Test and debug
Go to packageexplorer view
Fileexport
Createthe.jar
Deployinto your database
- Simple!
MyOwn jar
29. 29
We4IT– www.we4it.com
OpenNTF– www.openntf.org
Ulrich Krause– www.eknori.de
Wissel.net – Stephan Wissel‘sblog
XpagesPortableCommand Guide–
Martin Donnelly et. al., IBM Press
Resourcesand Information