266 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
Maven Native Chronicles, Part 3: Improving Native Artifact Handling
Sun, Jul 26th 2015 56
Maven Native Chronicles, Part 2: Setting Up a Windows Jenkins Node
Sun, Jul 26th 2015 72
Maven Native Chronicles, Part 1: Figuring Out nar-maven-plugin
Fri, Jul 24th 2015 44
Adding Components to an XPage Programmatically
Sun, Jul 19th 2015 21
Quick-and-Dirty Inclusion of a Visual C++ Project in a Maven Build
Sat, Jul 11th 2015 26
Working with Rich Text's MIME Structure
Wed, Jul 8th 2015 31
Quick Tip: Override Form-XPage Mapping in xsp.properties
Thu, Jun 11th 2015 16
Top 10
Maven Native Chronicles, Part 2: Setting Up a Windows Jenkins Node
Sun, Jul 26th 2015 72
Maven Native Chronicles, Part 3: Improving Native Artifact Handling
Sun, Jul 26th 2015 56
Maven Native Chronicles, Part 1: Figuring Out nar-maven-plugin
Fri, Jul 24th 2015 44
Working with Rich Text's MIME Structure
Wed, Jul 8th 2015 31
Quick-and-Dirty Inclusion of a Visual C++ Project in a Maven Build
Sat, Jul 11th 2015 26
Arbitrary Authentication with an nginx Reverse Proxy
Mon, Sep 22nd 2014 25
Adding Components to an XPage Programmatically
Sun, Jul 19th 2015 21
Setting up nginx in Front of a Domino Server
Thu, Sep 18th 2014 16
Quick Tip: Override Form-XPage Mapping in xsp.properties
Thu, Jun 11th 2015 16
Parsing JSON in XPages Applications
Thu, May 21st 2015 14


Jesse Gallagher
Blog Title frostillic.us
Blog URL http://frostillic.us
RSS Feed http://unenc.frostillic.us/f.nsf/feed.xml
Validate Feed feedvalidator.org or validator.w3.org
Feed Last Checked Jul 27, 2015 9:30:05 AM EST. Realtime Update:
Location Lansdale, PA, USA


Recent Blog Posts
56
Maven Native Chronicles, Part 3: Improving Native Artifact Handling
Sun, Jul 26th 2015 8:38p   Jesse Gallagher
This post isn't so much a part of the current series as it is a followup to a post from the other week, but I can conceptually retcon that one in as a prologue. This will also be a good quick tip for dealing with Maven projects. In my previous post, I described how I copied the built native shared library from the C++ project into the OSGi fragments for distribution, and I left it with the really hacky approach of copying the file using a project-relative path that reached up into the oth
72
Maven Native Chronicles, Part 2: Setting Up a Windows Jenkins Node
Sun, Jul 26th 2015 10:16a   Jesse Gallagher
Before I get to the meat of this post, I want to point out that Ulrich Krause wrote a post on a similar topic today and you should read it. The build process I've been working with involves a Jenkins server running on OS X (in order to build iOS binaries), and so it will be useful to have a Windows instance set up as well to run native builds and, importantly, tests. Jenkins comes with support for distributed builds and makes it relatively straightforward. To start with, I installed Virt
44
Maven Native Chronicles, Part 1: Figuring Out nar-maven-plugin
Fri, Jul 24th 2015 2:48p   Jesse Gallagher
As I mentioned the other day, my work lately involves a native shared library that is then included in an OSGi plugin. To get it working during a Maven compile, I just farmed out the actual build process to Visual Studio's command-line project builder. That works as far as it goes, but it's not particularly Maven-y and, more importantly, it's Windows-only. In looking around, it seems like the most popular method of doing native compilation in Maven, especially with JNI components, is ma
21
Adding Components to an XPage Programmatically
Sun, Jul 19th 2015 8:16a   Jesse Gallagher
One of my favorite aspects of working with apps using my framework is the component binding capability. This lets me just write the main structure of the page and let the controller do the grunt work of creating fields with validators and converters. There's a lot of magic behind the scenes to make it happen, but the core concept of dynamic component creation is relatively straightforward. An XPage is a tree of components, and those components are all Java objects on the back end, which
26
Quick-and-Dirty Inclusion of a Visual C++ Project in a Maven Build
Sat, Jul 11th 2015 6:26p   Jesse Gallagher
One of my projects lately makes use of a JNI library distributed via an OSGi plugin. The OSGi side of the project uses the typical Maven+Tycho combination for its building, but the native library was developed using Visual C++. This is workable enough, but ideally I'd like to have the whole thing part of one smooth build: compile the native library, then subsequently copy its resultant shared 32- and 64-bit libraries into the OSGi plugins. From what I've gathered, the "proper" way to d
31
Working with Rich Text's MIME Structure
Wed, Jul 8th 2015 7:28p   Jesse Gallagher
My work lately has involved, among other things, processing and creating MIME entities in the format used by Notes for storage as rich text. This structure isn't particularly complicated, but there are some interesting aspects to it that are worth explaining for posterity. Which is to say, myself when I need to do this again. As a quick primer, MIME is a format originally designed for email which has proven generally useful, including for HTTP and, for our needs, internal storage in NSF.
16
Quick Tip: Override Form-XPage Mapping in xsp.properties
Thu, Jun 11th 2015 1:17p   Jesse Gallagher
This is sort of an esoteric feature, but I just ran across it and it fits nicely into an XPages bag of tricks. Specifically, as it turns out, there's a way to override the default "which XPage should be used for this document?" behavior in some cases. The most-commonly-known behavior is the "Display XPage Instead" set on the form (or the default form if-and-only-if the document has an empty Form field). This wins in all cases, and is the only way to get an XPage to open for a document
14
Parsing JSON in XPages Applications
Thu, May 21st 2015 11:47a   Jesse Gallagher
David Leedy pointed out to me that a post I made last year about generating JSON in XPages left out a crucial bit of followup: reading that JSON back in. This topic is a bit simpler to start with, since there's really just one entrypoint: com.ibm.commons.util.io.json.JsonParser.fromJson(...). There are a few variants of this method to provide either a callback to call during parsing or a List to fill with the result, but most of the time you're going to use the variants that take a Strin
8
Quick PSA: LS2J Problems in 9.0.1 FP3
Tue, May 19th 2015 1:25p   Jesse Gallagher
While I'm at it, I realized that it may be useful to further spread information about the problem that led to me fiddling with the latest IFs and JVM patches in the first place: the LS2J problems in 9.0.1 FP3. Specifically, it's borked. The main way most people have encountered this is via an exception dialog when attempting to add new plugins to an Update Site NSF, since that uses LS2J to accomplish its task - it displays several layers of stack and the upshot is that there's a j
11
Quick Tip: Re-Enabling Disabled Designer Plugins
Tue, May 19th 2015 12:58p   Jesse Gallagher
Recently, I had a case where my installed Designer plugins stopped appearing, immediately made obvious by the libraries disappearing from XPages applications and Designer listing hundreds of class-not-found errors. At first, I figured that the local plugins had been deleted, but trying to install from update sites curtly informed me that they contained nothing new for me. It turned out that my local plugins had been somehow marked disabled by Designer. The fix for this was to go to File
8
How I Use JAX-RS in the frostillic.us Framework
Fri, May 1st 2015 5:59p   Jesse Gallagher
Inspired by Toby Samples's new blog series on JAX-RS in Domino, I'd like to share a description of how I made use of it to write the REST services in the frostillic.us Framework. This is not intended to be a from-scratch introduction - Toby is handling that well so far - but instead assumes a certain amount of knowledge with OSGi development and why you would want to do this in the first place. The goal of my REST services is to provide an automatic REST/JSON API for any Framework model
11
Musing About Multi-App Structure
Tue, Apr 28th 2015 11:25a   Jesse Gallagher
One of the projects I'm working on is going to involve laying the foundations for a suite of related XPages applications, and so I've been musing about the best way to accomplish that. I'll also want to do something similar down the line for OpenNTF, so this is a useful track for consideration. Traditionally, Notes and XPages applications are fairly siloed: though they share authentication information and some configuration via groups, integration between them is fairly ad-hoc. I'm no
13
Building on ODA's Maven-ization
Tue, Mar 31st 2015 7:30p   Jesse Gallagher
Over the weekend, I took a bit of time to apply some of my hard-won recent Maven knowledge to a project I wish I had more time to work with lately: the ODA. The development branches have been Maven-ized for half a year or so, but primarily just to the point of getting the compile to work. Now that I know more about it, I was able to go in and make great strides towards several important goals. As a preliminary note: don't take my current implementations as gospel. There are parts that wi
11
Auto-OSGi-ifying Maven Projects
Sat, Mar 28th 2015 3:15p   Jesse Gallagher
In my last post, I discussed some of the problems that you run into when dealing with Maven projects that should also be OSGi plugins, particularly when you're mixing OSGi and non-OSGi projects in the same Maven build (in short: don't do that). Since then, things have smoothed out, particularly when I split the OSGi portion out into another Maven build, allowing it to consume the "core" artifacts cleanly, without the timing issue described previously. But I ran into another layer of th
6
Tycho and Tribulations
Sat, Mar 14th 2015 2:02p   Jesse Gallagher
For the last few weeks, a large part of my work has involved dealing with Maven, and much of that also involves Eclipse. It's been quite the learning experience - very frustrating much of the time, but valuable overall. In particular, any time OSGi comes into play, things get very complicated and arcane, in non-obvious ways. Fair warning: this blog post will likely start out as an even-keeled description of the task at hand and descending into just ranting about Maven. The Actors To sta
7
Quick Tip: Wrapping a lotus.domino.Document in a DominoDocument
Tue, Mar 3rd 2015 3:13p   Jesse Gallagher
In the XPages environment, there are two kinds of documents: the standard Document class you get from normal Domino API operations and DominoDocument (styled NotesXspDocument in SSJS). Many times, these can be treated roughly equivalently: DominoDocument has some (but not all) of the same methods that you're used to from Document, such as getItemValueString and replaceItemValue, and you can always get the inner Document object with getDocument(boolean applyChanges). What's less common,
8
Be a Better Programmer, Part 5
Fri, Jan 30th 2015 9:02p   Jesse Gallagher
Inevitably, as a programmer, you're going to run into a situation where you're faced with a seemingly-impossibly-daunting, whether it's because the task is large or because it's particularly arcane. While sometimes it's just going to be a long slog (some code bases are just monsters), there's usually some underlying conceit that brings everything together. Figure Out How Things Are Simple No matter how crazily complex or impossible-seeming a programming task can be, it's useful to
6
I Hadn't Thought I'd End The Year Getting Into WebSphere
Wed, Dec 31st 2014 2:11p   Jesse Gallagher
...yet here we are. It's been a very interesting week in ODA circles. It started with Daniele Vistalli being curious if it was possible to run the OpenNTF Domino API on WebSphere, specifically the surprisingly-friendly Liberty profile. And not just curious: it turned out he had the chops to make it happen. Before too long, with the help of the ODA team, he wrote an extension to the WebSphere server that spins up native (lotus.domino.local) Notes RPC connections using Notes.jar and thus
7
Musing About Web App Structure
Tue, Dec 16th 2014 5:17p   Jesse Gallagher
I've been giving a lot of thought lately to how I feel about different structures for web apps. Specifically, in this case, the "structure" I'm thinking about is the "client-server" balance in the app itself and the associated method of data access. The impetus has been my minor fiddling with Angular over the past half a year or so. If you're not familiar with it, Angular is a client-side JavaScript framework focused on building full-fledged apps that run in the browser. The way it
5
Figuring Out Maven: Group/Artifact Names and Repositories
Mon, Dec 8th 2014 9:34p   Jesse Gallagher
As I fiddle with Maven, I figure it may be useful to share my growing understanding of it - or at least preliminary assumptions. Any of these posts should not be taken as a true guide to learning Maven, since I'm just muddling through myself, but I suspect that my path will be similar to a lot of other Domino developers'. The first thing I feel I grokked about Maven is its concept of repositories, mostly because it's the easiest concept I've run across. Repositories in Maven seem to m
7
How I Maven-ized My Framework
Mon, Dec 8th 2014 9:11a   Jesse Gallagher
This past weekend, I decided to take a crack at Maven-izing the frostillic.us Framework (I should really update the README on there). If you're not familiar with it, Maven is a build system for Java projects, basically an alternative to the standard Eclipse way of doing things that we've all gotten pretty used to. Though I'm not in a position to be a strong advocate of it, I know that it has advantages in dependency-resolution and popularity (most Java projects seem to include a "you c
6
Using the ODA Design API for File-Resource Manipulation
Wed, Nov 19th 2014 5:11p   Jesse Gallagher
As is characteristic of his blog, Sven Hasselbach recently posted two interesting posts on using the NAPI classes in the XPages runtime to manipulate files in the WebContent folder. If you haven't read the posts, I suggest you do so now, because it's knowledge that is very good to have. The NAPI classes are chock full of cheating sorcery. But the point of this post here is a bit of me-too-ism. Which is to say: the OpenNTF Domino API has you covered on this front. The API's Design packag
6
Factories in XPages
Wed, Nov 12th 2014 5:18p   Jesse Gallagher
In my last post, I intimated that I wanted to write a post covering the concept of factories in XPages, or at least the specific kind in question. This is that post. The term "factory" covers a number of meanings, and objects named this way crop up all over the place (ODA has one, for example). The kind I care about today are those defined in an XspContributor object in an XPages plugin. These factories are generally (exclusively, perhaps) used for the purpose of generating adapters: as
6
Property Resolution in XPages EL
Tue, Nov 11th 2014 10:19a   Jesse Gallagher
Reading Devin Olson's recent series on EL processing put me in the mood to refresh and fill out my knowledge of how that stuff actually happens. A while back, I made a small foray of my own into explaining how property resolution in XPages EL works, one which I followed up with a mea culpa explaining that I had left out a few additional supported types. As happens frequently, that still didn't cover the full story. Before getting to what I mean by that, I'll step back to an overview of
6
Using "Verboten" Property Names in Custom Controls
Sun, Nov 2nd 2014 8:11a   Jesse Gallagher
In an attempt to save you from yourself, Designer prevents you from naming your custom control properties after SSJS keywords such as "do" and "for". This is presumably because a construct like compositeData.for would throw both a syntax error in SSJS and the developer into a tizzy. However, sometimes you want to use one of those names - they're not illegal in EL, after all, and even SSJS could still use compositeData['for'] or compositeData.get("for") to access the value. Fortun
7
CocoaLove Reflection
Sun, Oct 26th 2014 5:15p   Jesse Gallagher
This weekend, I attended CocoaLove a new Mac/iOS-development-related conference held in Philadelphia. Though my Cocoa resume consists of doing various tutorials every few years for the last decade or so, the location, concept, and speaker lineup were impossible to resist. The upshot: this was a great conference. As the tagline – "A conference about people, not tech." – indicates, the sessions weren't technical or even generally about programming as such. Instead, it was a bit more i
7
A Welcome SSL Stay of Execution
Tue, Oct 21st 2014 3:11p   Jesse Gallagher
As you likely know from the torrent of posts on Planet Lotus on the topic, IBM announced a hopefully-imminent pair of updates to cover the two main SSL issues that have come to the fore recently: lack of SHA-2 support and the POODLE vulnerability in SSLv3. This is welcome indeed! Personally, I'm going to stick with the nginx approach for HTTP, even in simple setups, because I've found the extra features you can get (and the promising new ones I haven't tried) to be a dramatic
5
Some Notes on Developing with the frostillic.us Framework
Thu, Oct 9th 2014 5:12p   Jesse Gallagher
Now that I have a few apps under my belt, I've been getting a better idea of the plusses and minuses of my current development techniques - the frostillic.us Framework combined with stock controls + renderers. This post is basically a mostly-unordered list of my overall thoughts on the current state. Component binding is absolutely the way to go. This pays off in a number of ways, but just knowing that the component is pointed unambiguously at a model property - and thus getting its field
6
Building an App with the frostillic.us Framework, Part 7
Tue, Oct 7th 2014 6:12p   Jesse Gallagher
Well, it's been much longer than planned, and this topic isn't actually particularly groundbreaking, but the series returns! Define the data model Create the view and add it to an XPage Create the editing page Add validation and translation to the model Add notification to the model Add sorting to the view Basic servlet REST with Angular.js One of the edge features of the Framework is that it assists in writing DesignerFacesServlet servlets - which are sort of like XAgents but written dir
4
NotesIn9 Appearance: Custom Renderers
Thu, Oct 2nd 2014 7:12p   Jesse Gallagher
In a bout of unintentional timing, Dave Leedy posted an episode of NotesIn9 I recorded about custom renderers. This should pair nicely with my last post - the video provides an explanation for what renderers are, how to attach them to your components, and an example of a basic renderer for a widget container. So if you're interested in going down that path (which you should be!), perhaps the video will help. In it, I recommend looking at the source of Bootstrap4XPages, which remai
11
I Posted My WrapBootstrap Ace Renderkit
Tue, Sep 30th 2014 5:12p   Jesse Gallagher
Since I realized there was no reason not to and it could be potentially useful to others, I tossed the renderkit I use for the WrapBootstrap Ace theme up on GitHub: https://github.com/jesse-gallagher/Miscellany As implied by the fact that it's not even a top-level project in my own GitHub profile, there are caveats: The theme itself is not actually included. That's licensed stuff and you'd have to buy it yourself if you want to use it. Fortunately, it's dirt cheap for normal use.
10
A Note About Installing the OpenNTF API RC2 Release
Fri, Sep 26th 2014 12:16p   Jesse Gallagher
In the latest release of the OpenNTF Domino API, the installation process has changed a bit, which is most notable for Designer. The reason for this is due to the weird requirements in Designer for properly getting source and documentation working. When downloading the file, instead of the previous Eclipse update sites, there are two Update Site NSFs: one for Designer and one for Domino. There are a couple ways you can use these: If you're already using Update Sites for Designer or Domin
11
Domino and SSL: Come with Me If You Want to Live
Wed, Sep 24th 2014 1:12p   Jesse Gallagher
Looking at Planet Lotus and Twitter the last few weeks, it's impossible to not notice that the lack of SHA-2 support in Domino has become something of A Thing. There has been some grumbling about it for a while now, but it's kicked into high gear thanks to Google's announcement of imminent SHA-1 deprecation. While it's entirely possible that Google will give a stay of execution for SHA-1 when it comes to Chrome users (it wouldn't be the first bold announcement they quietly don
25
Arbitrary Authentication with an nginx Reverse Proxy
Mon, Sep 22nd 2014 4:12p   Jesse Gallagher
I had intended that this next part of my nginx thread would cover GeoIP, but that will have to wait: a comment by Tinus Riyanto on my previous post sent my thoughts aflame. Specifically, the question was whether or not you can use nginx for authentication and then pass that value along to Domino, and the answer is yes. One of the aforementioned WebSphere connector headers is $WSRU - Domino will accept the value of this header as the authenticated username, no password required (it will als
8
Adding Load Balancing to the nginx Setup
Sat, Sep 20th 2014 8:16a   Jesse Gallagher
In an earlier post, I went over the basic setup of installing nginx on a single Domino server to get the basic benefits (largely SSL). Next, it's time to expand the setup to have one nginx server in front of two Domino servers. The concept is relatively straightforward: when an HTTP request comes in, nginx will pick one of the back-end servers it knows about and pass the request along to that. That allows for balancing the load between the two (since the act of processing the request is m
6
Generating JSON in XPages Applications
Thu, Sep 18th 2014 3:13p   Jesse Gallagher
This topic is fairly well-trodden ground, but there's no harm in trodding it some more: methods of producing JSON in the XPages environment. Specifically, this will be primarily about the IBM Commons JSON classes, found in com.ibm.commons.util.io.json. The reason for that choice is just that they ship with Domino - other tools (like Gson) are great too, and in some ways better. Before I go further, I'd like to reiterate a point I made before: Never, ever, ever generate code without prope
16
Setting up nginx in Front of a Domino Server
Thu, Sep 18th 2014 10:18a   Jesse Gallagher
As I've mentioned before and now presented on, I'm a big proponent of using a reverse proxy in front of Domino. There are numerous benefits to be gained, particularly when you expand your infrastructure to include multiple back-end servers. But even in the case of a single server, I've found it very worthwhile to set up, and not overly complicated. This example uses nginx and Domino on Ubuntu Linux, but the ideas and some configuration apply much the same way on other OSes and with othe
5
Designer Experiment and Feature Request: JSF Tools in Designer
Wed, Sep 17th 2014 4:12p   Jesse Gallagher
TL;DR: You can install JSF tools in Designer to help out quite a bit with faces-config.xml editing, but there are bugs that may require changes in Designer's code to fix. I was having a discussion about Andrew Magerman's recent on-point jeremiad about SSJS and the topic got to the difficulty of using Java in XPages if you don't already know the ropes - creating classes, managed beans, etc.. I looked around a bit for examples of how other tools do it, and I found this page on using the
6
Quick Tip: A View-Filtering Search Box
Tue, Sep 16th 2014 7:11p   Jesse Gallagher
One of the problems that crops up in some situations in XPages is the one described here: executing Ajax queries in too rapid a succession can cause the browser to cap them out until a full refresh. Depending on how you're encountering the problem, there may be a built-in solution: XSP controls that execute Ajax requests often have a throttling or latency parameter, and the same applies for "manual" JS widgets like Select2 (called "quietMillis" there). Another such situation is the to
13
The Basic Xots Tasklet in the Blog
Sat, Sep 6th 2014 7:12a   Jesse Gallagher
Continuing in my two-day spat of blog posts shamelessly containing "blog" in the title, I figured I'd mention how I'm using Xots for new-comment notifications. If you're not familiar with it, Xots is a recent addition to the OpenNTF Domino API (added in the recently-released M5 RC1 build), intended to replace both agents and DOTS. There's still more work to be done on the scheduling portion, but Xots is perfectly capable of running manually-created tasks in a similar manner to Threa
6
How I'm Handling URLs for the Blog
Fri, Sep 5th 2014 6:13p   Jesse Gallagher
As I mentioned in the introductory post for the blog, I'm putting my investigation into RequestCustomizerFactory classes to work in the blog. At its core, the point of what I'm doing is to allow me to write code like this: ...and have the generated link be something like: whatever The core of this is the ability of a RequestCustomizerFactory to specify a UrlProcessor that is used by basically every URL-generation routine in XPages to map the XSP-side URLs to their final HTML version.
7
New Blog Structure
Fri, Sep 5th 2014 3:13p   Jesse Gallagher
So I finally got around to re-doing my blog app after letting the previous one wither on the vine for years. The main things this new template has over the previous one are: A properly responsive design care of WrapBootstrap. Conveniently, it's the same design I use for our internal task-tracking app, so I had most of the renderers ready. Along those lines, the XSP structure is heavily based on standard/ExtLib components when at all possible, rather than putting the Bootstrap structure i
6
(Not) My Slide Decks From MWLUG
Tue, Sep 2nd 2014 6:14p   Jesse Gallagher
At this year's MWLUG, I presented two sessions: one on using nginx as a reverse proxy and load balancer, and one on structured XPages development. Normally, the next step would be to post the slides, but my decks aren't particularly useful on their own - they were small 8-slide affairs that mostly served as a memory assistance to me, one sight gag, and then a "Demo" slide where I switched to the normal screen for the actual code. So my plan instead is to blog with the details. The latter s
7
A Centralized Bean for Translation
Mon, Sep 1st 2014 2:12p   Jesse Gallagher
The normal method for doing translation in XPages is by using the built-in Designer tooling, which creates properties files for each language for each XPage in your app. This is okay, though it requires using Designer to update the properties (since apparently the translation happens as part of the build process). For the refresh of my blog I'm working on, I'm taking a different tack, inspired by the way a client does it and similar to how I do it in the Framework. Specifically, I have a cent
6
Quick Tip: Use Dojo Content Panes for Speedier Initial Page Loads
Mon, Aug 18th 2014 5:13p   Jesse Gallagher
The XPages Extension Library is full of hidden gems and one I particularly like keeping in my back pocket is the control. It's a fairly unassuming control; like the rest of the components in the "Dojo Layout" category, it takes its name and basic concept from the underlying Dijit. However, you don't have to use it in a full Dojo layout - and, in fact, all of the actual layout types have more-appropriate XSP components. Presumably, its initial use is to load content from a specified UR
4
My Sessions at MWLUG This Year
Mon, Aug 18th 2014 1:13p   Jesse Gallagher
As I mentioned at the end of this morning's post about SSL and reverse proxies, I'm going to be giving a session on using a reverse proxy in front of Domino at this year's MWLUG next week. Specifically, it will be one of two sessions, both on Friday: OS101: Load Balancing, Failover, and More With nginx I'll be discussing the general reasons why you would use a reverse proxy - not just the aforementioned SSL benefit, but also load balancing, failover, multi-app integration, new feature
7
Domino SSL and Reverse Proxies
Mon, Aug 18th 2014 7:12a   Jesse Gallagher
Domino's SSL stack has been long-in-the-tooth and awkward to deal with for a while. Until recently, this has mostly just resulted in the sort of stilted way you have to set up SSL keychains, using the Server Certificate Admin database initially and then "IKeyMan" more and more (specifically, an old version you need 32-bit Windows XP for, like a barbarian), but the job eventually got done. However, as a post from Steve Pitcher points out, this is becoming rapidly impractical. While I gen
6
Quicker Tip: Lowering XPage Build Overhead When Using Jars
Thu, Aug 14th 2014 1:13p   Jesse Gallagher
(Caveat: I don't actually know if this matters with the Jar design element in 9.0+, since the only times I've needed it are with clients using obsolete versions) If you use Jar files stored in an NSF in your build path with XPages apps, you've likely noticed that it makes your build times interminable, particularly if it's a large library. From what I can tell, Designer seems convinced that it must download the entire Jar file during every build, in order to find out what's inside of
7
Be a Better Programmer, Part 4
Thu, Aug 14th 2014 7:12a   Jesse Gallagher
This topic isn't, strictly speaking, in the same vein as the rest of this series; instead, it's more of a meandering "case study" sort of thing. But it has something of a unifying theme, if you'll bear with me: Be Mindful of Your Layer of Abstraction Basically everything about computers has to do with layers of abstraction, but what I have in mind at the moment is how it interacts with web programming. First, I'll dive into a bit of background. The original premise of HTML was that
5
Quick Tip: facetName-less Callbacks in XPages
Wed, Aug 13th 2014 5:12p   Jesse Gallagher
When you're setting up a Custom Control, you likely know by now that you can set up callback areas to add content to a specified place inside your CC content when it's rendered. They typically look something like this: Content Above Content Below You then drop content in there like so in your XPage: That works fine. However, you can benefit greatly by learning that both properties of the callback are optional. Leaving off the id isn't particularly interesting,
7
How I Learned to Stop Worrying and Love C Structs
Mon, Aug 4th 2014 8:12p   Jesse Gallagher
Since a large amount of on-site client time has put my framework work on hold for a bit, I figured I'd continue my dalliance in the world of raw item data. Specifically, what I've been doing is filling out the collection of structs with Java wrappers, particularly in the "cd" subpackage. For someone like me who has only done bits and pieces of C over the years, this is a fruitful experience, particularly since I'm dealing with just the core concept of the Notes API data structures wit




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition