To cover support for different devices I am using Bootstrap as front-end framework. So I miss some native behavior which I do not tend to cover-up.
So far so good and I think I have come quiet long in my project so I still dare to call it rapid application development.
I know I haven’t touched many areas discussed in the XPages community such as:
Either I see little usage, it is not possible or there is no-one to guide me (the information is certainly not provided by the vendor).
So now back to Angular. Learning all these rules, technologies and new tools setup I was wondering what new technical options this framework will bring me at work. Reflecting on the type of customer-orders I receive I am wondering:
Is XPages not sufficient for most of your line of business apps?
Thise WORE slogan is used often in cross-platform solutions, also in IBM Domino. But what if you move your XPages application from an on premise Domino installation to the cloud, more specific IBM Bluemix?
To gain some experience in this area I decided to take a well known application, IBM’s Teamroom and deploy it on Bluemix. I will spare you the details of creating a Bluemix account, setting up Domino Designer, deploying the Design application and binding it to a XPages NoSQL Database service. I will focus on adapting/preparing the Design of the XPages application and some areas I have not found an answer for (yet).
First consideration – Choose your data-binding
Bluemix requires the separation of design and data so if you haven’t use this principle your applications yet, you must apply it now. Second, Bluemix will allow you also to run your XPages application in a mixed environment (part cloud / part on-premise) so if your application will do so the bluemixContext object will let you identify where your application is running and point to the corresponding data NSF.
In my case the Teamroom application would only run in Bluemix so instead of applying bluemixContext.getDataService().findDatabaseName() I prefer to use Oliver Busse’s daobean which I have been using in other applications as well. This allows me to use the shorter dao.getDbpath() for xp:dominoDocument and xp:dominoView data-binding.
Remember: in the Teamroom design you need to set this property for every Document and View binding!
Use the search function in DDE to locate where these bindings are used.
Value pickers are used throughout the Teamroom application and for the dataProvider property you need to calculate the location of the database.
Search after dataProvider and you will get the list of design elements where they are used. Look for the once who use the xe:dominoViewValuePicker since they are using a View as data-source. Again make the database location computed.
Some dataProviders use xe:dominoNABNamePicker and the location of the server is set via the Teamroom Setup function, which asks for the web server address. Default the web server address where the design resides is filled in. I tried to fill in the ip address of the server where the data resides (gathered via dao.getServer()) but this still did not allow me to open an NAB.
What is an XPages application without the @dbcolumn and @dblookup functions? Use DDE to allocate in which design elements there are used and exchange the @DbName() function with bluemixContext.isRunningOnBluemix()? bluemixContext.getDataService().atDbName():@DbName or dao.getServer()+”!!”+dao.getDatabase().
With the database object is you can make a quick reference to the NotesDatabse class, and so it is used throughout the Teamroom application. Mind a database.isFTIndexed() to check if the search bar will be displayed or not? Again do your search in DDE.
You can apply method chaining e.g. dao.getDatabase().isFTIndexed()
Run form validation
I noticed that I had to disable the option to validate the saving of documents using form validation (on document save option). Otherwise the operation failed silently.
Changing form name
Adding a team member via the browser resulted in a document created with the form reference of Team Member Profile – ParticipantProfile. If you add a member via the Notes client the form reference will be ParticipantProfile. This explains why newly created members did not appear in the list at first.
So I modified the form name as:
<xp:dominoDocument formName=”ParticipantProfile” …
I also set this alias as first in the Notes form. Not sure if that is necessary.
So far so good. So how “Bluemix ready” is my Teamroom and what are my first thoughts?
Except the lookup to the name and address book I pressume my Teamroom is working as normal. I guess you can call this is major issue.
The tag cloud is not working, but that is due to the fact that the xp:tagCoud control does not provide a database property (yet). Again I would call this a major issue.
Looking at the design of the Teamroom and counting the number of design elements I would think the development team has made the application design too complicated. I think the power of custom controls and property definitions is that you can re-use them in complete other ways and so reduce the amount of design elements.
I also notified almost no Java code in the design. Perhaps adding some classes for the objects can also reduce the amount of design elements dramatically. Also the application might get less spaghetti coded with logic stored in a central place.
Going through the code resulted in some new “discoveries” and was therefor fun to do. I will write another post about the things I haven’t used before.
I guess IBM developerWorks Answers site is the most official place to drop your questions so it is wise to keep on eye on that channel.
From a business perspective I am not sure how usable Bluemix will be initially. The additional services, overview of costs, warning signs etc. are welcome but most of my applications are bundled or make use of other applications (e.g. profiles, files, organizational structure, email for workflow).
Ofcourse I would like to hear what your business cases are.
Yes, or ofcourse, I attended the IBMConnectED 2015 event in Orlando. First start with a summary of sessions I attended:
XPages Performance and Scalability
IBM Domino Applications on Cloud
IBM’s Mobile Collaboration Strategy and Portfolio
IBM ConnectED – A New Way to Engage
IBM Domino – 2015 and Beyond
IBM Domino Applications in Bluemix
The Future of Web Development – Write Once, Run Everywhere with AngularJS and Domino
Mastering Your Logs
IBM Domino App Dev Futures
There’s an API for That! Why and How To Build on the IBM Connections Platform
Yes! You CAN Use Those Cool New Frameworks in Your Mobile Domino Apps!
Considerations for the Cloud
Be Open – Use WebServices And REST In XPages Applications
IBM Domino Application Development – CHALK201
App Throwdown Winner’s Circle
Responsive Application Development for XPages
Build Your Own Apps in Minutes Leveraging IBM Bluemix and IBM Connections
ConnectED Closing Session
That sounds like a lot but have we actually learned or heard something new out there?
IBM killed the master-classes
A class given by an expert to highly talented students
A class may be seen as a course of instruction. In previous editions a master-class tend to be a deep-dive into a subject, where you were taught from a beginner’s level to an expert level. A typical master-class extended the hour, due to the complexity or diversity of the subject.
Often this setup was already worth to attend the conference. However at the 2015 edition subjects where squeezed into a 45 minute time-frame and sometimes presented by an IBM-er so it became a sales pitch in disguise (IBM Domino Applications on Cloud).
When talking with other attendees I heard similar disappointments about the masterclass setup.
Oh my God they (almost) killed the Notes client
Lot’s of Verse at the conference, but the Notes client was mentioned very little. You might wonder if there is a roadmap for Notes?
If you look at the following picture you would think a new edition of the Notes client would appear in 2015:
So IBM Verse = Notes Next? I wonder why IBM is not able to tell about their plans for Verse on premise and if it is going to be the future Notes client and how native Notes applications will be delivered in this Verse client. I assume via the Notes browser plugin but the fact that IBM simply ignores these kind of important questions is a slap in the face of current customers to my opinion.
Application development on Bluemix
One of the scarce announcements on the event was the future delivery of XPages and Connections development on the cloud aka Bluemix. This is great and exciting news to my opinion! I understand IBM Notes team can not keep up with bringing new internet related services into their platform but by bringing the platform into an environment that is based on open standards like Bluemix those services will become available for us developers.
Exciting news! I was expecting to have Notes as a data-source in Bluemix but with XPages as a runtime environment this will bring the platform much closer to us.
Meet the developers
The opportunity to meet the developers behind the different products in the Connections portfolio is excellent so I stepped in with some questions of my own.
No we are not thinking about a development client for Connections, either make development in Connections easier than it is today
No we are not thinking about an admin client for Connections, either try Domain Patrol Social by Infoware or the Connections Administration Toolkit by TimeToAct.
No clear roadmap for the social business toolkit. IBM is waiting for requests.
Nevertheless I got help/guidance with other development questions and it was nice to meet the IBM developers who normally help you on StackOverflow.
Application development future
There were some sessions about app dev futures but mainly they were summaries of the recent activities. OK you had Bluemix ofcourse and about responsive design via the Extension Library but nothing about a roadmap or exciting ideas for the Domino Designer client during this event.
Encryption in XPages
This was promised and demonstrated during the App Dev future session. Great & finally!
I would have rather heard about activities on features we do not have today:
secured local storage & synchronization (Darwino/Unplugged)
more mobile controls (the next billion web users are gonna be mobile http://time.com/3589909/internet-next-billion-mobile/)
technologies/modules behind Verse
Verse theme for app dev
Just to name a few.
A bit of a sensitive topic since people were throwing on stage what session they thought to be best. So I rather prefer to highlight the session I enjoy most.
Most enjoyable session
As criteria for my nomination I choose:
Presentation skills/confidence of the speaker
Topic skills of the speaker
Personal reflections of the speaker on the topic
Real world examples on the topic
Funny quotes / remarks on the topic
And the winner is….
Considerations For The Cloud – BP207
Chris Miller (Connectria)
Although I am not an admin guy (anymore) Chris managed to teach me a lot on moving to the cloud in a fast tempo with a lot of funny references.
Cookiegate, Project Chrome & more
I did not understand the twitter stream about people not having a Pretzel cookie in their lunch-box since I had one in mine. Or was I not to pick up a lunchbox with the label IBM-ers only on it?
Project Chrome held the twitter stream for a while. I am not aware of the outcome. Either that journalist is not to be taken serious any more or an amount of IBM-ers will face the beginning 2015 with a new perspective. Hopefully IBM is wise enough to send out the right type of people and within the Connections portfolio we do not suffer the consequences of it.
It was announced that you could pick up or register for a free certification voucher during IBMConnectED because there wouldn’t be a certification lab at the conference. I would like to thank Daniel Brix for chasing IBM ICS support together and to manage to register myself for such a voucher.
Counting the Notes client phrase
Out of curiosity I counted Tuesday the phrase “Notes client” in presentations. This was rare.
The session from Chris Miller came out as the winner in this ‘challenge’.
I enjoyed my conference and be able to meet a lot of people with similar interests. From a developer perspective I think the conference was nevertheless a bit poor. I thought IBM would focus in this ConnectED version more on technology and less on softer sections like adaption. The app dev sections were too scarce to my opinion.
The move to more sessions in Swan with smaller rooms caused that some rooms were full and people could not attend it. It happened for me once for the session on internet security. You happen to pay an considerable amount of money for an event in, what IBM calls an intimate setting, and you cannot attend a session. How poor for return for your investment!
Should Notes client customers be uncomfortable about IBM Verse? From what I understood IBM Verse is just a different rendering machine for your inbox adding to features from Connections and Analytics. So it should not be a replacement for the Notes client. But the fact that IBM could not tell anything on the Notes client should worry you. IBM spilled another year on the Notes client roadmap it seems.
Jeff Schick may call he “loves the Notes client”. Is he willing to tell this hooked on a lie detector?