Posts

Showing posts with the label XPages

MWLUG 2017 Agenda and the Future

Image
The agenda for MWLUG 2017 is now available online,  http://mwlug.com/mwlug/mwlug2017.nsf/schedule.xsp .   MWLUG 2017 includes 59 technical and business sessions, workshops, and roundtable discussions presented by some of the best speakers in the ICS community including more than 20 IBM Champions.  This is the most comprehensive conference we have ever had.  MWLUG 2017 covers a variety of important topics including: Big Data and Graphic Databases Connections Pink Data Management and Security IBM Collaboration with Cisco IBM Cloud IBM Domino and IBM Connections Administration IBM Verse Innovation and Integration with IBM Domino and IBM Connections Java Loopback.io MongoDB Node REST API UX and UI Design Watson Workspace Web Security Web Accessibility ... and much more So don't miss this unique one time opportunity to learn, network and extend your commitment and interest in the ICS community. There is still time to register for MWLUG 2017. ...

Data Binding and React with Dojo

If you have developed with XPages, this might have been your first experience with the Dojo framework.  However, for many the experience have been frustrating and negative. Unfortunately, IBM's implementation of Dojo into XPages was limited and really restricted the potential of Dojo. It never implemented the newer AMD design approach nor the many of the capabilities of Dojo. Many developers who went towards the JavaScript Framework/REST approach with Domino implemented Angular, React, and even Vue for interfacing to the Domino server and bypassed frameworks like Dojo.  One of the big buzzwords for these newer frameworks is react and single/two-way data binding. As a designer and developer who uses Dojo to create UIs  that work with RESTful APIs /Domino, it is frustrating to see all this attention to Angular and React when all the cool things they are known for has been in Dojo for years and in many ways before these frameworks. Recently, I presented a session calle...

More Fun Creating Dojo widgets and MVC

Here is another article in my "Fun with Dojo" series. Dojo traditionally has been considered slow.  One reason is that Dojo loads alot of modules before it instantiates the page.  Dojo with AMD helps reduce the number of modules when it first loads but not the number of modules.  This is great.  However, one thing that I really dislike are Dojo Dijit widgets.  They are heavy, slow, and require a lot of modules to be loaded. We like the Bootstrap widgets because they are lightweight. So instead of using Dijits that are built into XPages we created our own lightweight Dojo Bootstrap widgets that utilized the most minimal amount of required Dijit modules and dependencies. One of the things that we had to figured out was what bare bone modules that we needed beside dijit._Widget in order to create our own widgets and include them in the loading process.  When we were using Dojo 1.53, we created a custom loader with all the re...

Gotcha, Creating Dynamic Script Blocks Using SSJS

For our iPhora applications we only use one XPage and dynamically create the content that appears.  We do this by storing the dynamic content in Notes Rich Text fields and using SSJS to read and generate the HTML/JavaScript during runtime.  Since we are moving to an single page MVC model, we were adding a few addition xp:scriptBlock to generate the initial loader and pulling the information from a NotesRichText field.  We were using doc.getFirstValueString('richtextfield') to pull and create the script. No problem until, we had a JavaScript object declaration that was longer than 72 odd characters. Unfortunately, there is an issue with Notes Rich Text fields that we encountered in the past using LotusScript that I forgot all about.  When you read a Notes Rich Text field it will automatically add a carriage return after 72 characters and this can drive you crazy. If the carriage return occurs between a JavaScript object declaration then yo...

Open Source Impact on the ICS Community

I am a big user of open source technologies including, Linux, Twitter Bootstrap, Dojo, and many other open source tools.  Open source technology has had a huge impact on the ICS Community in general.  We are fortunate enough to have a number of sessions this year at MWLUG 2014 that includes open source technology as part of their presentation. So come join us in these sessions.   Open Source Technologies: Nginx, OpenSSL, Apache HTTP Server Load Balancing, Failover, and More With Nginx,  Jesse Gallagher,  CTO,  I Know Some Guys, LLC Putting an alternative web server in front of your Domino installation gives you a tremendous amount of flexibility and new abilities. This session will discuss using nginx on Ubuntu server to sit in front of several Domino servers and provide load balancing, automatic failover, multiple SSL certificates, and other tricks. The same concepts will apply to Apache and IBM HTTP Server.   Open Source Technologies: An...

Transforming Domino into a Social Collaboration Platform, Part 2B - Experimentation

Transforming Domino into a Social Collaboration Platform, Part 1 - Where Do We Begin? Transforming Domino into a Social Collaboration Platform, Part 2A - Experimentation This is the second part of our experimentation portion of the series. In Part 2A, I talked about the different experiments that we did for creating web pages for our social collaboration applications and the design of the back-end database.  In part 2B, I will be talking about the application structure and business process and workflow management that you need in order to have a successful social collaboration tool.  As I mentioned before, there were four areas of technical challenges that we had to overcome. Web Interface Generation Database Infrastructure Application Structure Business Process and Workflow Management In this blog we will cover the last two. Application Structure Traditionally with Domino applications, an application consist of one or mo...

Creating Twitter Bootstrap Widgets - Part IIIA - Using Dojo To Bring It Together

Creating Twitter Bootstrap Widgets - Part I - Anatomy of a Widget Creating Twitter Bootstrap Widgets - Part II - Let's Assemble Creating Twitter Bootstrap Widgets - Part IIIA - Using Dojo To Bring It Together Note:  With a customer deadline coming up and with all the work that MWLUG 2013 requires, I haven't had the time to devote to writing this series.  So I took most of today to complete this part. As I was writing this part of the series, I realized that I should talk about creating widgets using Dojo in general. So I split this part into part A and B because it was getting way too long. Welcome to part three of my five part series "Creating Twitter Bootstrap Widgets". In the first two parts, we talked about how Bootstrap widgets can be assembled using a consistent framework of standard HTML elements with CSS3 styling.  In part three, we will connect together our combo box widget using Dojo and make it functional.   As XPages developer you should be famil...

Announcing MWLUG 2013 OGS Speaker - Scott Souder

Image
I am happy to announce that the MWLUG 2013 IBM OGS Speaker is Scott Souder, Program Director, Messaging and Collaboration Solutions, IBM.  It is great to have Scott speak at MWLUG 2013 given his busy schedule.  We look forward to hearing Scott speak on the future direction of IBM Messaging and Collaboration solutions. Scott Souder is Program Director, Messaging and Collaboration Solutions, IBM.  Scott is responsible for the product and market strategy for IBM's messaging and collaboration products, including IBM Notes and Domino, iNotes and IBM Connections Mail.  Scott's focus is on extending and growing the success of these solutions through customer engagement, partner ecosystem development, and harnessing the breadth and depth of the IBM organization.  In his spare time, Scott enjoys being with family, flying airplanes, playing bluegrass music, and the amazing outdoors.

Creating Twitter Bootstrap Widgets - Part II - Let's Assemble

Image
Creating Twitter Bootstrap Widgets - Part I - Anatomy of a Widget Creating Twitter Bootstrap Widgets - Part II - Let's Assemble Creating Twitter Bootstrap Widgets - Part IIIA - Using Dojo To Bring It Together This is two part of my five part series "Creating Twitter Bootstrap Widgets".   As I mentioned in part one of this series, Twitter Bootstrap widgets are built from a collection standard HTML elements, styled, and programmed to function as a single unit. The goal of this series is to teach you how to create a Bootstrap widget that utilizes the Bootstrap CSS and Dojo. The use of Dojo with Bootstrap is very limited with the exception of Kevin Armstrong who did an incredible job with his Dojo Bootstrap, http://dojobootstrap.com. Our example is a combo box that we are building to replace the standard Bootstrap combo box. In part one, we built a widget that looks like a combo box but did not have a drop down menu associated with it to allow the user to make a select...

Creating Twitter Bootstrap Widgets - Part I - Anatomy of a Widget

Image
Creating Twitter Bootstrap Widgets - Part I - Anatomy of a Widget Creating Twitter Bootstrap Widgets - Part II - Let's Assemble Creating Twitter Bootstrap Widgets - Part IIIA - Using Dojo To Bring It Together Twitter Bootstrap currently is the most popular open source responsive CSS framework. If you are using Bootstrap strictly as a responsive framework, you are missing out.  It is also a great framework for creating UI widgets and UI components. Bootstrap normally comes with JQuery plug-ins widgets like buttons, inputs, and drop-down menus.  You can use these plugins as a basis in creating more complexity widgets. In this five part series, I will walk you through the process of creating a Bootstrap widget by first understanding how Bootstrap widgets are structured, how to layout a widget, tie it together using Dojo, turn it into a responsive widget, and how to create it as a XPages custom control for you XPagers out there. There are three prerequisites to con...