Holiday greetings from all of us in a snowy Stockholm
Very informative session with lots of demos of the components available in Upgrade Pack 1. No information how skinnable the components are, but since they’re probably based on One UI v2.1 this shouldn’t be a problem. I would definitely look into this before implementing any components in an external site as they look… Well… Very much like Domino web based apps. Not brilliant, to be nice. 😉
With UP1 (Upgrade Pack 1) we now have access to using REST services. There are three different kinds, depending on where you wish to utilize them.
There is a Kitchen Sink/Demo application that allows you to test all these new features and of course have a look at the source code. The application is automatically installed with the UP1.
The differences from the Extension Library are:
Some fantastic days Infoware has been having in our booth. The response for DomainPatrol Social has been absolutely FANTASTIC. Our crew – Maria and Fredrik did a splendid job in The Kick Ass Booth 206! Not only that – they invented our successful concept. The show is over for Lotusphere 2012!
Ralf Larsson, Electrolux and Ulf Stider Infoware presented Egate – the intranet at Electrolux. There is IBM Connections integrated with Epi-server and Sharepoint and the user could not care less. They get their job done! Ralf shared his experiences starting slowly with their social intranet until now when Egate rocks and has more active users than ever. Ulf shared the Infoware technical experiences implementing IBM Connections at Electrolux. Our job is to solve our clients difficult technical issues. Already in that room, after the session, a new business opportunity appeared.
This session was very appreciated and the room was full and a overflow room with about 30 persons had to be added. We have received so many positive comments on this presentation. Congratulations Ralf and Ulf for an excellent performance.
This session talked briefly about suitable tools that you may use the debug and/or get a glimpse behind the sceen regarding frontend peformance:
Most of them should you be fairly familiar with. Firebug, at the very least. Personally I prefer Chrome Developer Tools, because I prefer Chrome and I find their Dev tools less prone to crashing.
For IE Development the IE Developer Toolbar is a must.
Fiddler is great across everything that uses HTTP/S. It sits in the middle as a proxy and record a lots of useful information as well as the ability to simulate modem speeds.
XPages a toolbox is also a welcome addition to be able to get a backstage view of what takes up most of the time in you XPages application.
The session went on and talked, in great detail, about the differences between the execution modes. To summarize:
Full refresh – Is the most expensive. Recalculates and sends the entire page.
Partial refresh – Recalculates the entire page, but just sends the part of the page you specify.
Partial execution + Partial refresh – Just computes the requested area and returns that.
For best performance, use the last combination specified above where ever possible.
Other suggestions are:
Use get requests instead of post. This skips a lot of steps in the life cycle and as such reduces the load on the server and calculates quicker.
Set all containers, that don’t require input, to read only. Again, saves computing power.
Use the dataCache-property on every Domino view source you can.
Use the viewsScope/Request scope to cache objects and variable. Caching reduces CPU utilization and using short lived scoped variables reduces the memory footprint.
Combine all of the above and your XPage applications will be screaming!
A good session for the not so seasoned XPages developer. If you’ve been doing this for a while then maybe they’re weren’t so many new things revealed, or it shouldn’t be anyway. 😉
But something’s are worth repeating so here we go:
Thomas Gums have written a CGI Scriptlibrary that is worth checking out if you’re working with CGI variables like REMOTE_ADDR and the like.
Use resource bundles instead of profile document for better functionallity and performance. Include bundle on the XPage then you can use SSJS like .getString(“key”) to retire information from it.
Another cool thing with using bundles for keywords and/or language files is that you can easily export them using LotusScript to DXL that anyone can read and edit without having Designer access.
XPages agents are much faster then any LS or java agent, so use that when possible.
Here’s a neat trick to export Notes data to a formatted Excel file: create the Excel file and format it the way you normally would, save it as XML and paste that into your XPages agent. That way you get all the formatting done for you and you can concentrate on injecting just the dynamic parts. (Just don’t forget to set the correct content-type in XPages).
There are a couple of SSJS functions available for working with JSON that may not be apparent at first:
Ju also have the equivalent on CSJS in Dojo, except the isJson-method.
A good session with lots of examples combined with thorough walkthrus.
Using the Extension Library (not available using Upgrade Pack 1).
You Can get data from any db, just provide the jdbc driver.
Add JDBC query and rowset as a data source so you can use it as any other view data source with repeats and so on.
@jdbcDbColumn queries a RDBMS like @dbColumn() does a .NSF, but without the 32k limit.
You need a data source as a JDBC connection and a .jdbc file under Package Explorer WebContent/WEB-INF/jdbc. The file describes the connection, like the driver, url and login. This catalog is NOT accessible from an URL, so the info is secure.
You can compute the SQL queries, making them very flexible.
They even support stored procedures and batch changes of the RDBMS.
New SSJS functions
Study BP115 – lot of usefull information how to deploy and manage XPages from an administrator (and developer) perspective – some details:
– lots and lots of RAM
– understand concept of extension libraries and specially versions (risk is you brake apps when uppdating servers).
– study update pack and coordinate w developer.
– more ram
– 64 bit os (and Domino)
– isolate heavy XPage apps (e.g. Traveler)
– XPages toolbox app (openntf) monitor perf. and memory
– did I mention more ram (due to scoped variables)
And a lot more – study this presentation (and AD113 regarding some interesting REST information)
This was a really informative session with lots of “aha”-moments.
I use a real computer (read Mac ;)) and I’m annoyed that the they’re not releasing a designer client for Mac now when it’s Eclipse based it should be a piece of cake right? Well, it turns up that they didn’t rewrite it and there’s still a lot of stuff left (windows and forms for instance) In the old Windows environment. So don’t hold your breath for a Mac release of Designer anytime soon…
First thing: The Local folder in Project Explorer is in fact…. Wait for it… Local! Who would have thought, huh?! 😉 This means anything you put here is local to your machine and doesn’t come with the .NSF. Apparently a lot of people are having questions regarding this.
Here a list of shortcuts in Designer that may make you moe productive:
You can search for code across your workspace or only in selected elements and save those searches for later use.
A great use for this is if you use a later version of Designer then what your client have. Then do a search for 8.5.3 and it will display all elements that contain a feature that require that version with the specific code easily accessible. A good sanity check to perform before deploying.
Local history only works for Eclipse editors like XPages, not forms and views, and only lasts during the session. But we all use source control now any way, don’t we? 😉
This one was verrrry thorough. First 1h was very basic stuff, like: this is AJAX, this is XML and so on. setting up the connections environment with all the steps involved etc etc.
But after this it started to show some really interesting stuff: Explaining the Atom XML format thatConnections uses to communicate, how to post questions (using AJAX), where to find information on how to post these queries and so on.
It was all surprisingly easy (once you have an environment) to create and deploy a widget.