We've had a lot of questions about how the client side and server side of a widget can communicate, so this week I thought it would be a good idea to offer a quick demonstration. In this tutorial we will create a widget that allows the user to add or remove items from a list. In this case it's just a simple Array, but it could just as easily be using GlideRecord against a table. Here is the sample code used in the video: HTML: [crayon-5f06e0b09516f323957029/] Server Script: [crayon-5f06e0b095186663961856/] Client Script: [crayon-5f06e0b095193384742326/]
A quick demo of one of our themes for Service Portal. Features include: Shopping cart Multi-level categories (for both service catalog & knowledge base) Connect chat integration Create incident Contextual search Almost every page and widget has been redesigned to help improve the user experience. Let me know what you guys think.
One of the powerful features of the new Helsinki Service Portal is the integrated "record watcher" capability. This allows widgets to update in near realtime as the data changes in the database. In this tutorial we will build a sample To Do (task ) app that uses two widgets, one for creating records, and the second for showing the list of tasks.
Last week at Knowledge I partnered up with Robert Fedoruk and Travis Toulson for the CreatorCon Hackathon. We had a blast and I think we did pretty well for only having 8 hours to put the application together. Our application was a real-time point of sale system on ServiceNow. In many organizations, a good percentage of employees will still approach the help desk directly without going through self-service. This forces the help desk to manually create the requests on the spot. There isn’t really a quick and easy interface for this, so having a point of sale system would greatly expedite the process for face-to-face transactions with the help desk. We built our application using Service Portal making use of record watchers and integrated it with the native mobile app for bar code scanning. It uses the Service Catalog and with no custom tables needed. The application was built with touch screens in mind with support for gestures. And best of all the whole application operates across multiple devices all in real time. When the transaction is complete, it sends a push notification receipt to the users mobile device. Could your organization use an application like this? If so I would love to hear about it. It’s not just limited to point of sale, could also be used for inventory management, supply chain management, warehouse management, etc.
In this tutorial I create a simple Hello World widget that makes a call to the server to retrieve the "name" of the user based on the "username" entered in the input. This tutorial is specific to the Geneva version of Service Portal. Also in case you missed my big announcement made earlier today: I'm now available for contract work. HTML Template: [crayon-5f06e0b098a20779501708/] JSON Data Producer: [crayon-5f06e0b098a35465421670/] Client Script: [crayon-5f06e0b098a41559891343/]
This is one of those secrets I wish I would have discovered years ago because it really opens a world of possibilities within the CMS. This method was revealed to me by Brian Alson. There's a few other ways of creating custom blocks types like this, but this one is by far the easiest. If you're creating a block that will contain "child" records, such as a slideshow, then I would suggest extending the child table from "content_link" table and either create a M2M table or a parent reference field back to the content block. I would love to hear your comments or feedback if you guys find this useful.
This is Part 2 of my ServiceNow CMS + Twitter Bootstrap series. Below are the code examples you will need as explained in the video: cms_menu: [crayon-5f06e0b09bffa100541165/] cms_menu_bootstrap_nav [crayon-5f06e0b09c00f167689960/] Layout Includes: [crayon-5f06e0b09c022447821827/] jQueryFix: [crayon-5f06e0b09c02d895903219/]
Having built over a dozen ServiceNow ESS portals, I finally had enough of the issues and limitations and decided to do something about it. What resulted was a month long effort of enhancing the CMS framework to function more like WordPress or other content management systems. I set out with some basic goals: Follow best practices Use semantic HTML & CSS Responsive layouts for mobile & tablet Avoid using iFrames Don't touch OOB Macros & UI pages To accomplish these goals I ended up having to add on quite a bit of functionality such as: Custom content types Header & footer templates Live search Event driven notifications Bring UI pages into CMS Form content blocks In this video I do a quick demonstration of these enhancements and our latest theme: "Orebro".