192 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
TextDiff XPages control – For visual comparison of text
Tue, Feb 28th 2017 95
XPages webmail – Using Mime Inspector to debug Mime
Tue, Feb 14th 2017 6
Pasting Images into XPages CKEditor
Sun, Feb 12th 2017 7
Preventing pasting of remotely hosted images in CKEditor
Mon, Nov 14th 2016 3
Preventing Pasting of Images in CKEditor
Mon, Nov 14th 2016 9
Controlling the order of Script Resources (e.g. Jquery) with a Custom ViewRootRenderer
Mon, Sep 19th 2016 10
Review: JRebel with Domino OSGi development
Mon, Sep 5th 2016 6
Top 10
TextDiff XPages control – For visual comparison of text
Tue, Feb 28th 2017 95
Webmail UI – You must learn about MIME
Wed, Apr 20th 2016 13
Build System for XPages and OSGi plugins
Fri, Aug 8th 2014 10
XPages PhoneNumber Control - Part 1 Creating a Converter
Wed, Feb 18th 2015 10
Controlling the order of Script Resources (e.g. Jquery) with a Custom ViewRootRenderer
Mon, Sep 19th 2016 10
Preventing Pasting of Images in CKEditor
Mon, Nov 14th 2016 9
Build Automation for XPages Presentation Slides - AUSLUG/Inform 2015
Thu, Jun 11th 2015 8
Inspect Component Properties using Component Binding
Tue, Mar 8th 2016 8
Select themeIds from plugins in Designer Xsp Properties Editor
Mon, Sep 8th 2014 7
Email Address Validator for XPages
Wed, Feb 11th 2015 7


Cameron Gregor
Blog Title Software Development – Cameron Gregor
Blog Description Sharing Tips, Tools and Techniques for XPages Developers
Blog URL http://camerongregor.com
RSS Feed http://camerongregor.com/category/software-development/feed/
Validate Feed 2016-04-23 11:50:01 Failed to parse RSS file. (Invalid document end at line 2, column 1).

This could be a simple time out issue. Validate your feed here: feedvalidator.org or validator.w3.org
Feed Last Checked Feb 28, 2017 12:11:59 PM EST. Realtime Update:
Location Sydney, Australia


Recent Blog Posts
95
TextDiff XPages control – For visual comparison of text
Tue, Feb 28th 2017 12:00p   Cameron Gregor
A few years back I stumbled across Google’s diff-match-patch project which provides some handy algorithms for text manipulation. At the time of discovery I was doing ‘classic’ notes development. Although I probably could have implemented something that worked in lotuscript with RichText or Mime, it wasn’t a priority at the time and I never bothered. Since then, I have been doing mainly XPages, and now that I have been also doing a bit of XPages Control development. I was
6
XPages webmail – Using Mime Inspector to debug Mime
Tue, Feb 14th 2017 11:12a   Cameron Gregor
In a previous post in this series I did a bit of an overview on how MIME works. We also did a little bit about how MIME works in XPages + Domino land. With this knowledge in hand we can now start to analyse the different ways a ‘Pretty words, pictures and attachments’ can be stored in the document. During development of the ‘XPages Webmail’ interface, I encountered many problems which could only be solved by investigating the MIME content in detail. To help me do this, I
7
Pasting Images into XPages CKEditor
Sun, Feb 12th 2017 10:00p   Cameron Gregor
Programs like ‘Snipping Tool’ on Windows, are super useful for users to make a quick snapshot, do some quick markup on the image, paste into chat/email and send. Unfortunately when using the default configuration of CKEditor in XPages (the inputRichText control), support for pasting images is not available for all browsers, and even for the ones that do support it, the images are only pasted as a PNG data URI. I have explained data URI images in a previous post, so check that out if
3
Preventing pasting of remotely hosted images in CKEditor
Mon, Nov 14th 2016 11:21p   Cameron Gregor
In the previous post, I showed how to prevent a user from pasting Images from the Clipboard into CKEditor. This post is of a similar nature but is designed to ensure that users don’t paste images with URLs to external / internal applications. This post is part of my XPages webmail tips series, and addresses a problem where, a user copies and pastes some HTML that includes images, from a webpage and pastes it into CKEditor for a message that is then sent via email. The recipient is then una
9
Preventing Pasting of Images in CKEditor
Mon, Nov 14th 2016 12:43a   Cameron Gregor
In the process of developing our XPages ‘Webmail’ interface, we discovered that many recipients were unable to view embedded images in the emails. After investigating, it was caused by the images being embedded using Data URIs. Support for Data URI Images is not universal, and because it is supported in IBM Notes, everything looked like it was working ok, but a quick test viewing an email in Gmail confirmed a problem when images could not be seen. What is a Data URI? You are most lik
10
Controlling the order of Script Resources (e.g. Jquery) with a Custom ViewRootRenderer
Mon, Sep 19th 2016 9:28a   Cameron Gregor
When loading Client Side Javascript libraries in XPages, sometimes the order that the libraries are ‘encoded’ (or written in HTML) in the tag is important. For example jQuery and some of it’s plugins can have some issues if Dojo is encoded first. By default in XPages you don’t have too much say in what is written out first, a nifty workaround for this has been shared by Sven Hasselbach (here and here) which utilises the lesser known tag. This workaround ensures t
6
Review: JRebel with Domino OSGi development
Mon, Sep 5th 2016 11:53p   Cameron Gregor
Last year I finally figured out how to use JRebel with Domino, and I posted a how-to video. I thought I would do a quick follow up to say how it’s going. It is going great! I can’t imagine giving back my JRebel license. I have gone entire days without restarting my http server. If you are only developing xpages from within an NSF, and don’t do any OSGi plugin development, then you really don’t have much need for JRebel. But if you are involved in any OSGi Library developm
5
Extended Messages Control available as an XspLibrary
Tue, Jul 12th 2016 8:49a   Cameron Gregor
A while ago I shared an Extended version of the messages control which allows for multiple messages to be displayed for a single control at the same time. Originally this was just shared as a ‘control within an NSF’. One of the problems with the control within an NSF approach is that you repeatedly get an ‘unknown tag’ compilation problem which eventually goes away after a ‘project clean’ but it is very annoying nonetheless. I receiving a request to package
13
Webmail UI – You must learn about MIME
Wed, Apr 20th 2016 10:14a   Cameron Gregor
If you were like me, you spent many years developing classic Notes applications before making the switch to XPages. If this was the case, you were no doubt comfortable with the notion of a RichText field. You probably even occasionally did some RichText manipulation in LotusScript, adding Paragraphs and formatting using RichTextStyles and RichTextNavigators, attaching Files using EmbeddedObjects. And then XPages comes along, and says “If you want to edit any RichText through XPages, it i
5
Tips for Creating a Webmail UI with XPages
Tue, Apr 19th 2016 8:38a   Cameron Gregor
Over the past year my main project has been an XPages application for project-related Email correspondence, with formal document management thrown it as well and a bunch of Action Item / comment functionality surrounding it all. Developing the application as it’s own email client presented a few different challenges that may not be encountered in normal xpages development. Along the way I have come across a few different gotchas that I thought I better make record of, both the the benefit
7
My Slides from AUSLUG 2016 Presentations
Fri, Apr 15th 2016 2:45a   Cameron Gregor
This year at AUSLUG I presented 2 sessions. ‘Anatomy of a UI Control’ and ‘Using Source Control for Domino Development’. I have just uploaded the slides to the AUSLUG community and thought I would also share to the wider world! Slides and description of sessions are below. If you have any questions please let me know! I hope to share more about extension library / control development soon. Anatomy of a UI Control This session was designed to just spark a bit of curiosity
4
Associating *.theme and *.xsp-config with Eclipse XML Editor
Wed, Mar 9th 2016 2:47a   Cameron Gregor
When you do XPages OSGi Library development in eclipse, you will often have to edit xml files (or xhtml) that have a different file extension than .xml These are files such as XPages theme files with the .theme extension, and Xsp control configuration files with the .xsp-config extension. Unfortunately these file extensions are not associated with the XML Editor by default and this causes undesirable behaviour when you double-click them to open them for editing. When you attempt to open a .theme
8
Inspect Component Properties using Component Binding
Tue, Mar 8th 2016 3:14a   Cameron Gregor
Inspired by Paul Withers recent component binding post, I discovered another use for component binding whilst I was preparing for my upcoming presentation ‘Anatomy of a UI Control’ this Thursday at AUSLUG. In my presentation I demonstrate how to determine a component’s Component Family and it’s Renderer Type which are both essential to determine which renderer is selected for the component by XPages. It is extremely similar purpose to a technique that was previously dem
2
Double Quote Avoidance – Using JsonJavaObject + JsonReference to output function references
Tue, Jan 19th 2016 7:34a   Cameron Gregor
Recently I have been developing an an XPages UI control for JQuery jqGrid. JqGrid, like most javascript components, relies very much on configuration using json. I haven’t done much in this area before and I thought things would get pretty ugly if I had to manually output all the javascript / json. However turns out there are some handy utilities built into the XPages runtime to manage a lot of this for you. This article on Jesse Gallagher’s blog gave me exactly what I needed to g
3
Happy New Year / Blog / Domain!
Mon, Jan 11th 2016 8:13a   Cameron Gregor
Welcome to my new blog! A few years ago I started my blog gregorbyte.com on google blogger, and it did a good job for me, I didn’t post very often but at least I had a place where I could share some ideas or things I had done. I was also very glad to have my feed syndicated through Planet Lotus and Collaboration Today. Then one day, my RSS feed went invalid for Planet Lotus! Something to do with geo tags that I attached to a post when I was in Melbourne for AUSLug / Inform. I made t
2
PanelGrid XPages Control – for simple table based layouts
Thu, Dec 3rd 2015 7:49a   Cameron Gregor
I can’t remember the circumstance, but whilst looking around the web I stumbled across a control called ‘panelGrid’ that is available in standard JSF. I really liked the idea of it so I decided, why can’t we have it in XPages? we can! What does panelGrid control do? Basically the panelGrid renders an HTML table, but does so using minimal markup on your xpage. It does this by following a convention. The panelGrid has a ‘columns’ property which specifies how ma
3
Setting up JRebel for XPages OSGi Plugin Development
Wed, Nov 4th 2015 8:03a   Cameron Gregor
When developing plugins for Domino in Eclipse, one of the drawbacks is the constant ‘restart task http’ to pick up any new changes in your class files. It may only take 30 seconds but it is slow enough that every time it happens, maybe you check your email, news, social media, maybe you distract one of your colleagues. Previously, the In-built eclipse remote debugging previously to allow hot-code replace for small changes, however I have found that since a few domino versions ago, i
3
Using Editor Templates for Repetitive Code
Sun, Oct 25th 2015 7:36a   Cameron Gregor
I’ve been doing a little bit of XPages control development lately, and if you ever dabble in the dark art of this you will realise there is a lot of repeating yourself when it comes to writing the getters and setters for Control properties. If your control properties are going to support value binding, then you will do the same pattern over and over. For the getter: If property is set explicitly Then return property, Otherwise, If there is value binding, compute and return the value. O
0
Using the Eclipse Copyright Tool to prepare for OpenNTF Submission
Wed, Oct 7th 2015 8:51p   Cameron Gregor
I’m in the middle of Preparing my ‘Swiper’ project for OpenNTF, and in the submission guidelines it states that source files such as .java, plugin.xml, feature.xml .properties must include the Copyright notice at the top. I thought, what a pain, I’m going to have to update each file, and then I thought, surely Eclipes has something that does this? By default eclipse can include a copyright notice for each new Source file that you create, however I already have created my
3
Uploading Plugins Headlessly to Open Eclipse Update Site
Sat, Jul 18th 2015 7:23a   Cameron Gregor
This is a very rough blog post! I am responding to a question on twitter about how to upload plugins to an Update Site NSF automatically (e.g. from a build server) So I thought I would put it in a blog post so it would be available for all. Any questions / corrections please just comment, there will probably be a mistake or two Domino comes with a standard ‘Eclipse Update Site’ NSF which you can load your plugins into, and then configure notes.ini so the server will load plugins fro
4
Build Automation for XPages Presentation Slides – AUSLUG/Inform 2015
Thu, Jun 11th 2015 6:00a   Cameron Gregor
I just finished a presentation today at AUSLUG / INFORM 2015 in Melbourne, Australia. Thank you to the organisers and sponsors for putting on the event, and thanks to all the attendees as my session! The slides from my session have been uploaded to the Auslug connections community, I have also uploaded them to slideshare, and they should appear below. Please note there is an Appendix at the end which explains the build.properties that we use for building XPages OSGi plugins. Please leave a comm




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