354 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
An XPage As A Tree: Implications
Wed, Apr 16th 2014 29
How I Added File-Download Support To My Model Framework
Sat, Apr 12th 2014 16
Loading Resources via Themes
Thu, Apr 10th 2014 5
The Collections Framework as Education
Sun, Apr 6th 2014 1
An XPage As A Tree
Tue, Apr 1st 2014 1
Life in Other Worlds
Tue, Mar 25th 2014 1
SNTT: Reconstructing DateRanges
Thu, Feb 27th 2014 179
Top 10
Domino the Identity Server
Tue, Feb 11th 2014 291
"Build Automatically", "Refresh automatically", and "Team Development"
Thu, Jan 23rd 2014 275
Couchbase StateManager for XPages, Part 1
Wed, Jan 29th 2014 256
Couchbase StateManager for XPages, Part 2
Fri, Feb 21st 2014 183
My Current Model Framework, Part 2: An Example
Fri, Feb 21st 2014 182
SNTT: Reconstructing DateRanges
Thu, Feb 27th 2014 179
Enhancing xe:dynamicViewPanel For My Own Purposes
Thu, Feb 9th 2012 144
Better Living Through Reverse Proxies
Thu, May 30th 2013 142
A Quick, Dirty, and Inefficient @ManagedBean Implementation in XPages
Tue, Dec 17th 2013 123
Quick-and-Dirty CKEditor Toolbar Setup for XPages
Tue, Sep 4th 2012 116


Moving From Ruby-in-XPages to Polyglot
Jesse Gallagher    

I've tweeted about this a couple times, but in some of my spare time lately I've put together a new, cleaner implementation of the generic-scripting-language support I first created back when I did my original work with Ruby. I named the new project "Polyglot" and it has two facets: The aforementioned generic-scripting-language support, done more cleanly and with better capabilities. A method for storing standalone page-generating scripts as documents in the database that are executed in the context of an XPage. Generic Scripting Languages With the usual when-I-get-around-to-it caveat, I plan to use Polyglot to entirely supplant Ruby-in-XPages, since its JSR-223-based features cover JRuby as well. The main thing I need to check on is proper memory usage - the embedding mechanism I originally used provides clear control over the lifetime of the scripting runtime, while JSR 223 does not. That may be fine, since it may properly manage itself, but it makes me a bit nervous. I'll also have to work out proper context variable access (e.g. "database", "currentDocument", etc.). Some languages (Ruby, namely) seem to have gained a magic power since last I checked to access those variables without having to add special support, but I need to figure out if others work the same way or if I need to try an idea for an adapter I had. In addition to the JSR 223 languages, I also just today added support for formula language via #{formula: ... } bindings, since I realized that that was exceedingly easy to do. For that one, I didn't bother binding it to the contextual variables, but instead just have it look for "currentDocument" - if it's present, it passes the lotus.domino.Document from that to the session.evaluate(...) call; if it's not, it forgoes the second parameter. I don't expect I'll use that binding much, but it was fun to add. Standalone Scripts The standalone script support is a little different - the idea is that, rather than working another language into an XPage, you write a script entirely in the other language, much like you might do with, say, PHP (don't use PHP). You can write a script using a basic editor, it's stored in a document in the database, and then you can execute it in the context of a ScriptRunner XPage, meaning you have the same Java environment as usual (with the same caveat as above that I need to sort out variable access). Besides the usual suite of JSR 223 languages, I've also started working on integrating the XSP parser from the XPages Bazaar, both as a way to familiarize myself with the Bazaar and to see if there's any use in a setup where your XSP markup is stored in documents and evaluated at runtime rather than design elements compiled in Designer. Maybe, maybe not, but it's a fun test.   For now, it's still in an "experimental" state, but eventually I hope to cobble it into a proper releasable state and have it supersede Ruby-in-XPages entirely.

---------------------
http://frostillic.us/f.nsf/posts/7BBB53FE9AA1613285257AD2006CB78C
Dec 12, 2012
47 hits



Recent Blog Posts
29


An XPage As A Tree: Implications
Wed, Apr 16th 2014 3:11p   Jesse Gallagher
A few posts ago, I talked about how the skeletal nature of an XPage is really a very abstract representation of a UI. At its core, it isn't conceptually tied to the web - and, indeed, the probable bulk of the work done by JSF is to push against the normal rules of the web. The goal of XPages/JSF is to abstract away the messy business of writing web pages, much like a cross-platform mobile framework attempts to abstract away the chore of writing to iOS or Android directly. In practice, I [read] Keywords: xpages css desktop java mobile network properties server widget
16


How I Added File-Download Support To My Model Framework
Sat, Apr 12th 2014 10:33a   Jesse Gallagher
Unlike the last few posts, this one isn't as much a tip or tutorial as it is an attempt to share my suffering by detailing the steps I took recently to add file-download and -upload support to my current model framework. The goal of my framework overall is to retain the benefits of normal Domino document data sources (arbitrary field access, ease of use in simple cases, and compatibility with standard XPage idoms) while adding on useful new abilities (getters/setters, relationships with o [read] Keywords: domino ibm application interface openntf
5


Loading Resources via Themes
Thu, Apr 10th 2014 10:36a   Jesse Gallagher
In today's TLCC XPages webinar, Marky Roden had a great presentation discussing resources and design definitions to help speed up Designer. If you didn't catch it live, it's worth tracking it down when it's available. I'd like to build on what he was talking about a bit by explaining how to use themes to load resources in a way that also prevents Designer slowdown while having the secondary benefit of being clean design (with some caveats that I'll get into). If you're not familiar [read] Keywords: xpages application css development dojo javascript properties xml
1


The Collections Framework as Education
Sun, Apr 6th 2014 4:15p   Jesse Gallagher
While I've been formulating the followup to my last post, I've also been thinking about how wonderful the Java Collections framework is. I've been singing its praises for a long time (as have others), but what's stood out to me lately is how well it encapsulates many of the most important foundational concepts of Java. One of the reasons Java appears so intimidating and foreign to Notes developers is that the way many are introduced to it - as an auxiliary for XPages - involves learni [read] Keywords: notes xpages database interface java
1


An XPage As A Tree
Tue, Apr 1st 2014 8:05p   Jesse Gallagher
I'd like to take a blog post or two to discuss an aspect of XPages that isn't directly applicable to normal XPage development, but which can be a conceptual shift that causes a lot of things to fall into place: the tree nature of an XPage. This has nothing to do with Java, SSJS, beans, or JSF phases. It barely even has much at all to do with web pages. You've likely heard that XPages aren't really XML - that they're actually Java, created from the "simpler" XML you write. This is tr [read] Keywords: ibm xpages application development enterprise interface java javascript properties python server xml
1


Life in Other Worlds
Tue, Mar 25th 2014 5:17p   Jesse Gallagher
I've found the reaction to BlueMix to be pretty interesting. Unsurprisingly, the main question in our community has been "how does this relate to Domino?" The answer is pretty clear: it doesn't. That's not really a bad thing! About half of the problems a platform like BlueMix solves - app packaging, multi-server availability, data-store access - are either non-issues on Domino or are done much more easily with it than with other app servers. The other advantages, well... IBM could lik [read] Keywords: domino ibm notes community development eclipse java microsoft python server




179


SNTT: Reconstructing DateRanges
Thu, Feb 27th 2014 8:11a   Jesse Gallagher
In the OpenNTF API chat, I was reminded yesterday of how terribly broken DateRange retrieval is in Java. Specifically, though you can create date ranges and use them in view lookups, retrieving them from documents or view entries is FUBAR. To wit: Field Value 02/27/2014, 02/28/2014, 02/27/2014 - 02/28/2014, 01/01/2014 12:00 AM - 01/02/2014 12:00 PM doc.getItemValue("SomeField") [02/27/2014, 02/28/2014, 02/27/2014, 02/28/2014, 01/01/2014 12:00:00 AM EST, 01/02/2014 12:00:00 PM EST] No [read] Keywords: lotusscript sntt java openntf
182


My Current Model Framework, Part 2: An Example
Fri, Feb 21st 2014 2:11p   Jesse Gallagher
To go along with the updated release of my Scaffolding project yesterday, I've created an example database created with that template and containing a basic use of my model framework: model-framework-example.zip This demonstrates a few things about the framework: Setting up the two classes that go with each object type - the object itself (e.g. model.Department) and the "manager" class that handles fetching objects and collections (e.g. model.DepartmentManager) and adding the collectio [read] Keywords: database xml
183


Couchbase StateManager for XPages, Part 2
Fri, Feb 21st 2014 9:11a   Jesse Gallagher
I had the opportunity to dive a little back into the StateManager I wrote the other week to try out a theory. The first thing I noticed was that there was a minor problem: it didn't work at all. Specifically, the code I had didn't actually store the whole proper state of the view, so it ended up being regenerated anew each time; the fact that this didn't cause an error was what led me astry. Fortunately, I was able to scrounge together enough code to get it to work properly, bringing t [read] Keywords: domino xpages java
291


Domino the Identity Server
Tue, Feb 11th 2014 7:10a   Jesse Gallagher
As seems to happen a lot lately, my fancy was struck earlier by a Twitter conversion, this time about the use of Domino as a personal mail server. Not only do I think there's potential there, but it should go further and be a drop-in replacement for personal mail, calendar, and contacts storage. I think there's tremendous value in controlling your own domain and the services on it, without being permanently attached to someone else's name for an email address (your school, your company, [read] Keywords: admin domino ibm inotes notes notes client development email google security server twitter




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - Mobile Edition