Introducing NewRocket

It's been an incredible journey over the past year going back to ServiceNow to help develop the new Service Portal. I know that Service Portal is going to be a game changer... not just for building portals, but also for developing custom applications and enabling "everything as a service" within the enterprise. Introducing NewRocket. Today I'm very excited to announce the launch of NewRocket, Inc.; a new company focused on creating extraordinary experiences on ServiceNow through self-service portals and custom applications. By the time Service Portal is released in Helsinki we will have several complete turn-key solutions and Service Portal themes built and ready to go. For more information check out: newrocket.com Early adopters wanted. I am looking for a couple companies (applies to partners as well) who are looking to upgrade to Helsinki and build a new portal on Service Portal within the next 6 months. We're offering a reduced rate on portal development in exchange for feedback on our portal offerings. Thank you all for the support, and I look forward to seeing many of you at Knowledge next month. Thanks, Nathan Firth Founder, Principal ServiceNow Architect email: nathan@newrocket.com

Geneva Service Portal – Creating a “Hello World” widget

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-670e26bd689a3682867763/] JSON Data Producer: [crayon-670e26bd689ad869055867/] Client Script: [crayon-670e26bd689b1941585310/]

Now Available for Contract Work!

After much consideration, I have decided to step out on my own as an independent ServiceNow consultant. With over 6 years experience on the platform, I have worked for a customer, a partner, and on staff at ServiceNow for over 3 years. Over the past year, I had the opportunity to work with Fred Luddy (the founder of ServiceNow) on the new ServicePortal coming out in Helsinki. I've always had a passion for entrepreneurship and so it's with great excitement I launch this new venture. I have experience with most aspects of the platform, however I will be focusing primarily on: Custom applications Service Portal CMS Javascript (server side, client scripts, Angular.js, etc.) Rest API & integrations To take advantage of my skills and experience to accelerate the success of your project, please email me at: nathan@serviceportal.io. Thanks, Nathan Firth

Service Portal in Geneva Overview

Service Portal was released as an opt-in technology preview in Geneva, but up until now not much has been posted about it. Over the next few weeks and leading up to Helsinki, I will be doing a series of posts with some basic information on the Service Portal in Geneva to help prepare you guys for the full release. NOTE: A lot is changing between Geneva and Helsinki. Any information provided will likely change by the time Helsinki is released. Service Portal is built with Angular.js and Bootstrap, but the real power is in the fact that it sits on top of ServiceNow's powerful server side scripting and GlideRecord. This makes for a very powerful combination that can integrate with any application or data across the platform. The 4 primary components of Service Portal is Portals, Themes, Pages, and Widgets. In this post I will provide a quick overview of each. Portals The portal record is what ties it all together. The portal is very similar to "sites" of CMS in that it has a URL suffix and a reference to theme. Themes Unlike themes in CMS, themes in Service Portal are not just limited to stylesheets. A theme is comprised of a header and footer (which are really just widgets), CSS variables (similar to LESS or SASS but with a slightly different syntax), CSS Includes, and JS Includes. Pages A page is made up of a layout which is comprised of containers, rows, and columns (based on the Bootstrap grid) which then reference widgets. The reference from a column to the widget is through a M2M table called "rectangle". Containers can be either fixed or fluid width and contain rows Rows only function is to contain columns Columns is where the responsiveness of the grid is defined. A column sets the size (out of 12) that it will occupy at various resolutions (mobile, tablet, desktop, large desktop). Rectangle has two functions: associate a widget with a column and also store the meta data for the instance of the widget. For example a "Carousel" widget could store "slides" on the rectangle record. Because the meta data for each widget might be different, the rectangle table can also be extended by additional tables. To see an example of how this all ties together, see the following diagram: Widgets Widgets is where the HTML and server & client side logic lives. All content on a page lives inside a widget. The properties of a widget are: HTML - the template for the widget JSON Data Producer - server side JavaScript evaluated through Rhino Client Script - the controller for the widget Data Table - the rectangle table the widget uses for storing meta data Fields - the fields on the rectangle table the widget uses Widgets use Angular.js for handling data bindings between the controller (client script) and view (HTML). Also any output from the server side JavaScript (JSON Data Producer) is also automatically available on scope. One of the most impressive features of a widget is how a controller can communicate with the server side. To see a good example of this, consider the following example widget, the Data Table. The important part to note is how the view has ng-click="go()" which is a call to a method on the controller, which then makes a call to the server side, fetches and returns the content to the controller which then updates the scope in view. This is amazing, it's a mini application all inside a widget with both server side fetching of data and client side logic. That's all I'm going to cover in this post, but hopefully that gives you guys a quick taste for what was in Geneva and the even more exciting full release of Service Portal that is coming in Helsinki. If you have any questions, please post them in the comments below.

ServiceNowCMS.com is now ServicePortal.io

With the new upcoming Helsinki release which will introduce ServicePortal, I have decided to change the name of this site and focus primarily on the new Service Portal. In the near future I will be working on many new tutorials and step by step introductions on how to build portals and custom widgets using Service Portal. Stay tuned!

Service Portal Update

I’ve been getting a lot of inquiries about the release of Service Portal so I wanted to send out a quick update. Service Portal is being released in Geneva only as an opt-in technology preview. What that means is, it can be enabled only by ServiceNow, is for evaluation purposes only, and not for production use. Service Portal is scheduled to be fully available in Helsinki. To partake in the Geneva technology preview of Service Portal, please contact your ServiceNow support representative. For an inside look at the technology behind Service Portal, Dwight Gunning has put together a Google Doc.

AngularJS: Developing Modern User Interfaces

For those of you who did not attend K15, you missed out on a killer lab on AngularJS by Tyler Jones and Will Leingang. If you missed it and would like to check it out, it's now available through the community. Lab Overview: You have probably noticed that many new ServiceNow applications are built using AngularJS. In this lab, you'll create your own app and see how AngularJS and ServiceNow can work together to create incredible things.  Prerequisites: ServiceNow administration; Scripting in ServiceNow, Basic HTML, JavaScript and AngularJS. AngularJS_Lab_Guide.pdf 1.4 MB AngularJS_Slides.pdf 1.2 MB AngularJS_Update_Set.xml 9.8 K

Looking for the best portals on ServiceNow!

It never fails to amaze me the incredible custom applications and portals customers and partners around the world are developing on the ServiceNow platform. Using everything from CMS, Processors, UI Pages, Angular.js, Backbone.js, Bootstrap, Service Portal. It's been a huge inspiration for me and as part of the ongoing effort of this website, I would love to start featuring some of portals and applications you guys build. So with that, if you have a portal or custom application that you would like to showcase, please email me a few screen captures to: nathan@servicenowcms.com. Make sure to include some details about the project such as: what technologies was used, which plugins do you interface with (e.g. knowledge base, service catalog), did you develop internally or work with a partner, and how has it impacted your organization. By emailing me you are granting permission to post the screen captures and details on this site.