In this article I will demonstrate how to implement a cool notification technique using Pines Notify. This small (7k min) js library provides a wealth of flexibility and a feature set second to none. It can use multiple different CSS libraries (bootstrap, jQueryUI and others) so integration into your site is quick and simple.
Pines Notify is a notification popup capability which is easily integrated into a website. Like most jQuery plugins there is a methods to instantiate the capability and the ability to pass in multiple parameters. There are certainly other popup style plugins but this is easy to grasp and the examples are very good.
We are going to look at how to make some complex function popups like these…
Pines Notify provides a basic shell for popup creation and the capability for multiple custom configurations. A “popup” by default is created on the top right of the screen and disappears after a fixed period of time. The the position, CSS, length of time shown, transparency, contents, callbacks and other features can be controlled through the use of parameters. There are too many to mention in one article but they can all be seen at the example website.
Adding Pines Notify to an XPage
The Pines Notify download contains the .js files (readbale and minified) and a basic css file. These are easily added to our database as files in the WebContent folder.
Adding Pines Notify js and css fields to our database
Once we have added the js and css files to the database they can be added to our XPage as a resource(s)
The Pines Notify examples website gives us the code we need to create each button
Taking the sample code from the Pines Notify examples page
And to convert this to our XPages button we just need to copy and paste this code and insert it into the <![CDATA[ code section above. Using this we can quickly and easily convert the examples into functioning XPages buttons.
By default all Notifications have the ability to "pin" them to the screen. Should they contain information the user wishes to retain, they can do so
Pinning your notification
By default all notifications can be closed before they fade out using the X in the notification
Pines Notify notifications always stack on top of each other, so you never have to worry about position or overlaying issues, they will organize themselves nicely.
Showing all notifications
By default there is a bar added to the screen which allows user to see the last and/or all previous notifications.
Showing all previous notificaitons
Working this into XPages functionality
In our XPages applications we could potentially notify the user after:
Successful REST update from the server
General application workflow progress
really the possibilities are endless and really up to you the developer.
My demonstration site examples page has illustrated a number of buttons taken directly from the website and I have also added some notifications to the other jQuery in XPages examples (linked in through the menu).
On the XPages server without the need for jQuery you can use the dojo toaster widget to provide a notification capability. You should take a look at Chris Toohey’s well written article on Mastering the Dojo Toaster for XPages to get a comparison.
To Alan Hurt for pointing me in the direction of this plugin
Multiple Chrome Incognito browsers share the same data
Sun, Nov 23rd 2014 7:15p Mark Roden In a previous post I talked about how going porn-mode on your browser is great for a developer. What I didn’t realize until today is that incognito mode is not as unique as I want it to be.
We use localStorage in one of the applications we are developing and I had issues when I was opening up multiple Chrome Incognito mode browsers, assuming they were unique….I wanted to compare separate instances in separate windows
Mr. Genius (Toby) pointed out to me that localStorage is shared a [read] Keywords: applications
x$ – now a part of XPages Extension Library
Tue, Nov 18th 2014 9:16p Mark Roden I am very flattered to find out that not only is my x$ OpenNTF xSnippet being used more widely than I realized (over 600 downloads). It now being used in the latest release of the OpenNTF Extension library.
If you look here – http://bootstrap4xpages.com/xsp/.ibmxspres/.extlib/responsive/xpages/js/xsp-mixin.js and search for it you will find
//jQuery selector that works with XPages IDs
//See - http://openntf.org/XSnippets.nsf/snippet.xsp?id=x-jquery-selector-for-xpages
function x$(id [read] Keywords: xpages community
One way to make a responsive XPages viewPanel
Tue, Nov 11th 2014 7:41p Mark Roden In this article I will demonstrate a method for hiding columns using CSS and making an XPages view Panel pseudo-responsive.
What is Responsive Design?
Responsive design is an approach to web page creation that makes use of flexible layouts, flexible images and cascading style sheet media queries. The goal of responsive design is to build web pages that detect the visitor’s screen size and orientation and change the layout accordingly.
http://whatis.techtarget.com/definition/responsive-des [read] Keywords: xpages css
Finding your localStorage values – Chrome Developer Tools
Thu, Nov 6th 2014 8:05p Mark Roden Just a quick tip – if you use localStorage and you need to find out what values you have in localStorage you can see them through developer tools easily.
F12 to pull up developer tools
Local Storage is right there
A similar feature will be release in the next Firefox (34) developer tools – https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector [read] Keywords: firefox
Because developers make mistakes – Webstorm Local History
Wed, Nov 5th 2014 10:24p Mark Roden Similar to Eclipse, Webstorm has a local history capability, allowing the developer who realizes they made an idiot mistake an hour ago, to go back to it and save their day.
We’ve all been there and while committing to source control is a must for modern development, there are those times in between commits and then those when you are just too lazy to go through the repo looking for it.
Local History is always enabled in Webstorm – for the official help check here.
U [read] Keywords: development
Conditional style loading in IE10+
Sun, Nov 2nd 2014 8:12p Mark Roden I learned this recently when trying to load a conditional stylesheet into an XPage. IE9 worked but IE11 failed on me and I couldn’t see why. It was only a small change so I ended up putting it in the main stylesheet as a media query.
Apparently IE10 and above does not understand conditional HTML code like this
So to load a style conditionally in IE11 you can do it like this
@media screen and (-ms-high-contrast: a [read] Keywords: css