Wednesday, 3 February 2016

IBM Connect 2016 musings from remote

Disclaimer: I do not attend IBM Connect this year. So my conclusions are based on various news channels like Twitter and Blogs.
Nevertheless, I dare to reflect on some of the announcements that made the long way over the atlantic to good old Europe via Internet :-). As I am an application developer my list might be a bit development-centric though. So let's get started:
  • "most of XPages" will be open-sourced: I think this is a great step forward for the community of partnersa dn customers and also for IBM. Above all, this will protect the investment in XPages made by partners and customers. Furthermore this will empower us, the XPages community to understand, fix and extend the XPages runtime. And IBM will also benefit from this step as the community can provide fixes to the XPages runtime. 
  • Domino Designer will filter irrelevant metadata so the use of source control management systems will be improved.
  • Last but not least: we will finally get Java 8. Wooohoooo :-) The fact that the latest Mac client has Java 8 implemented already gave us hope.
  • IBM Verse on premise comes in 2016. This seems to be an ambitious timeline but I am very happy and relieved that verse on premise is finally coming. There are a lot of customers which still cannot or don't want to move Email to the cloud. And we, the internal service providers for collaboration systems struggle every day with new business requirements and shiny new tools from other vendors... The faster we can get our hands on Verse on premise the better for us ;-)
  • Domino and XPages and OpenNTF were part of the Opening General Session with a good story. This is just great!
  • I heard a lot about project Toscana which seems to be a kind of slackish Team collaboration for enterprises. If you don't know Slack already, check it ot...
  • Notes workspace comes to Verse and Connections ;-)

And a few more interesting links to check out:
As this (and the previous post) is based on contributions and information shared by other bloggers and members of the YellowVerse I want to take the chance to say Thank you! for sharing information with us who cannot stay on-site!




Tuesday, 2 February 2016

IBM Connect 2016: some interesting reviews (updated)

I am not attendting IBM Connect formerly known as Lotusphere this year. If you also didn't make it to Orlando this year I recommend these posts:
I may have missed many other interesting reviews, so feel free to post other links as comments :-)

Sunday, 31 January 2016

XPages on IBM Bluemix - working with wrong ID file

This is an easy one, but I still think it is worth mentioning all the different findings about a new technology like IBM Bluemix. During my tests with XPages on IBM Bluemix, I once made a little mistake. I forgot to switch to the IBM Bluemix ID file before I started modifying the design of the Bluemix app.



Obviously this is easily possible within Domino Designer. I was also able to deploy my changes to IBM Bluemix, but the new XPage could not be called due to an access issue we know from our good old domino environment too!


Signing the design element and another deployment to Bluemix solved the issue.
Good old Domino security - makes perfectly sense to me :-) It would be really nice to have an option to sign the design during the deployment process though!
(BTW: this is a rather old post which was still unpublished - but I think the deployment process is still the same)

Thursday, 3 December 2015

Image processing using JaxaXT in a Notes / Domino Agent



Today I stumbled across JavaXT. JavaXT is described as
a collection of Java libraries and utilities that provide a number of functions not available in the standard JDK. It is an extension of the Java core, written to simplify Java development.

I needed a library to resize images - from a good old java agent :-/  So far I used the Java Advanced Imaging API  but I had issues resizing some JPEG images. I was not able to find a correlation what caused the issues: And to be honest, my code was not very clean and neat so this was a good opportunity for improvements anyway. 
Using JavaXT I refactored my whole code to very few lines to do some resizing of images and save them in a NotesDatabase. 

This sample processes all Files in a given folder and resizes them to a fixed width of 200 pixel. 

import java.io.File;
import lotus.domino.*;

public class JavaAgent extends AgentBase {

  public void NotesMain() {

    try {
      Session session = getSession();
      AgentContext agentContext = session.getAgentContext();

      File[] files = new File("D:/tmp/pix/").listFiles();
      for (File file : files) {
        if (!file.isDirectory()) {
          String srcFileName = "D:/tmp/pix/" + file.getName();

          javaxt.io.Image image = new javaxt.io.Image(srcFileName);

          String destFileName = "D:/tmp/pix/resize/" + file.getName();
          image.setWidth(200);
          image.saveAs(destFileName);
          
        }
      }

    } catch(Exception e) {
      e.printStackTrace();
    }
  }
}

Job done! In a few lines of code :-)
Besides image processing JavaXT provides a lot more, I can only recommend to check it out. 
If you have suggestions , e. g. for a better approach  I am more than happy about your feedback.

Monday, 20 July 2015

Limitations with multiple instances of XPages applications on IBM Bluemix

I discovered some "limitations" or caveats while I was playing with XPages on IBM Bluemix tonight. I setup two instances of the To Do Boilerplate.

The first thing that annoyed me is that the import of the Bluemix Starter code of the second instance replaced the NSF of my first To Do app. The good news is that Domino Designer asks before the app will be overwritten :-)
If you choose "No", the Starter code won't be imported and you won't loose any data.
One disadvantage for XPages on Bluemix at the moment seems to be that the import always imports into the root folder of your Notes-Data-Directory. This will hopefully be fixed in a future version so that we can import projects into subdirectories. For other Bluemix apps the documentation explains that a developer should create a new subfolder to which he or she can extract the code to. The integration for XPages / Domino is a bit different from that process so this issue seems to be specific for XPages.

Another limitation or issue that came to my attention is that if you setup multiple instances of the same XPages Boilerplate these databases share the same ReplicaID. My two instances both have the ReplicaID 80257E5A:004A751B - and replication of the databases is enabled.


I am wondering if the ReplicaID is bound to the organisation or space or if it is shared across all instances of this Boilerplate. Furthermore I am not sure if this just due to the fact that XPages is still in experimental code. In my opinion this is something IBM should fix for productive use as this can bring lot's of trouble for the developers...(or maybe I am missing something?)