329 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Jobs | Twitter | Bookmarks | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
How I Got XPiNC Run-On-Server With SSO Working
Fri, May 17th 2013 159
Public Service Announcement - NotesIn9 is down.
Tue, May 7th 2013 326
My Latest Programming-Technique Improvements
Tue, Apr 23rd 2013 185
Java Traps and Misconceptions
Tue, Apr 23rd 2013 185
Fun With Old XML Features
Tue, Apr 2nd 2013 218
Release M1 of org.openntf.domino
Tue, Apr 2nd 2013 202
We Have The Technology: The org.openntf.domino API
Thu, Mar 21st 2013 203
Top 10
"Controller" Classes Have Been Helping Me Greatly
Wed, Dec 26th 2012 680
Putting Apache in Front of Domino
Sat, Dec 8th 2012 674
Programming Tips: Implied Booleans and the Ternary Operator
Tue, Dec 11th 2012 483
Moving From Ruby-in-XPages to Polyglot
Wed, Dec 12th 2012 472
More On "Controller" Classes
Mon, Jan 7th 2013 444
Quick-and-Dirty CKEditor Toolbar Setup for XPages
Tue, Sep 4th 2012 377
Building XPages servlets with FacesContext access
Thu, Sep 6th 2012 335
Faking Sortable View Data
Sun, Jul 22nd 2012 332
My Current Data-Source Musings
Mon, Nov 26th 2012 326
Public Service Announcement - NotesIn9 is down.
Tue, May 7th 2013 326


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
473 hits



Recent Blog Posts
159


How I Got XPiNC Run-On-Server With SSO Working
Fri, May 17th 2013 5:14p   Jesse Gallagher
Among the new features in Domino 9 is this little guy, found on the Launch pane of a database's properties when you set it to open an XPage: If you've ever used an XPiNC application before, you'll know this is a godsend, promising the vast performance benefits of running an app on a server combined with the "the users are stuck using the Notes client" benefits of XPiNC. I turned this on for a new app on one of my client's servers (let's say the server name is ClientName-2/ClientNa [read] Keywords: admin domino notes notes client policies sametime xpages application database desktop network properties server
326


Public Service Announcement - NotesIn9 is down.
Tue, May 7th 2013 11:16a   Jesse Gallagher
David Leedy has run into some trouble with NotesIn9.com being down and he asked if I could help him get the word out about it, which I'm more than happy to do:     Hi - Just wanted to drop a note out there about my NotesIn9.com website.  Currently it's redirecting to someplace else for some unknown reason.  I assume it's been php hacked but I don't know.   My Wordpress site is generously hosted by Chris Miller and I've sent him a note.  Though since he's in the middle of the [read] Keywords: xpages bug
185


My Latest Programming-Technique Improvements
Tue, Apr 23rd 2013 9:18a   Jesse Gallagher
Over the past couple weeks, I've been trying out some new things to make my code a bit cleaner and I've been having a good time of it, so I figured I'd write up a quick summary. Composed Method First and foremost, I've been trying out the Composed Method of programming. This is not a new idea - indeed, it's a pretty direct application of general refactoring - but the slight perspective change from "factor out reused code" to starting out with clean, small blocks has been a pleasan [read] Keywords: agent domino ibm lotusscript xpages application database eclipse java openntf
185


Java Traps and Misconceptions
Tue, Apr 23rd 2013 6:16a   Jesse Gallagher
I wrote a post over at the Social Biz UG site covering a number of traps and conceptual hurdles I frequently see people running into when it comes to Java: https://www.socialbizug.org/blogs/gidgerby/entry/java_traps_and_misconceptions?l ang=en_us [read] Keywords: java
218


Fun With Old XML Features
Tue, Apr 2nd 2013 11:18p   Jesse Gallagher
One of the side effects of working on the OpenNTF Domino API is that I saw every method in the interfaces, including ones that were either new to me or that I had forgotten about a long time ago. One of these is the "parseXML" method found on Items, RichTextItems, and EmbeddedObjects. This was added back in 5.0.3, I assume for some reason related to the mail template, like everything else added back then. Basically, it takes either the contents of a text item, the text of a rich text ite [read] Keywords: domino ibm notes rich text xpages java javascript openntf xml
202


Release M1 of org.openntf.domino
Tue, Apr 2nd 2013 9:17p   Jesse Gallagher
Yesterday, we released milestone 1 of our improved Domino API. This is our first tagged release meant for proper testing - all of the classes are implemented, many of the banner features are in there, and we've been using it in various real-world situations. I switched a couple of my side projects over - my portfolio site, the code for this blog (though I haven't deployed the template yet), and a couple personal game-related apps. That kind of testing is going to be crucial in getting us [read] Keywords: domino openntf
203


We Have The Technology: The org.openntf.domino API
Thu, Mar 21st 2013 7:13p   Anonymous
As Nathan and Tim posted earlier today, a number of us have been working recently on a pretty exciting new project: the org.openntf.domino API. This is a drop-in replacement/extension for the existing lotus.domino Java API that improves its stability and feature set in numerous ways. The way I see it, there are a couple main areas of improvement: Plain Old Bug Fixes doc.hasItem(null) crashes a Domino server. That's no good! We've fixed that, and we're going through and fixing other [read] Keywords: agent domino dxl lotus notes bug database java openntf server xml
252


A Mini-Vacation With Ruby and the Domino Data Service
Sat, Mar 2nd 2013 4:11p   Jesse Gallagher
Since I've been neck-deep in LotusScript and Java for the past couple weeks, I decided to take a bit of a sanity break today and play around with Ruby. Specifically, I wrote a skeletal wrapper for the Domino Data Service in the ExtLib and the first steps of a Rails app using it a bit. I don't expect this to actually be useful down the line, or even necessarily to get any more work put into it, but it was a fun diversion. The API takes the same general shape as the normal Domino API, exce [read] Keywords: domino lotusscript database java server




268


I Know Some Guys
Tue, Feb 26th 2013 12:09p   Jesse Gallagher
I've been a bit quiet lately, but that's mostly because I've been pretty busy lately. After my old company began closing down, I started going whole-hog in my consulting company, I Know Some Guys. Naturally, I can't go TOO much into it, but the general gist is "so far, so good." We have a couple clients so far and they've been keeping me busy indeed. A lot of that has involved classic Notes client and web development, but I guess that serves me right for snickering at people work [read] Keywords: domino notes notes client consulting database development
289


The Bean-Backed Table Design Pattern
Tue, Jan 22nd 2013 4:13p   Jesse Gallagher
First off, I don't like the name of this that I came up with, but it'll have to do. One of the design problems that comes up all the time in Notes/Domino development is the "arbitrary table" idea. In classic Notes, you could solve this with an embedded view, generated HTML (if you didn't want it to be good), or a fixed-size table with a bunch of hide-whens. With XPages, everything is much more flexible, but there's still the question of the actual implementation. The route I've bee [read] Keywords: domino notes xpages database development java




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