sabell2012
Mega Sage
Mega Sage

 

NOTE: MY POSTINGS REFLECT MY OWN VIEWS AND DO NOT NECESSARILY REPRESENT THE VIEWS OF MY EMPLOYER, ACCENTURE.

 

DIFFICULTY LEVEL:    INTERMEDIATE
Assumes having taken the class SSNF and has good intermediate level of knowledge and/or familiarity with Scripting in ServiceNow.


When training Application Development Fundamentals I get a few questions concerning distribution of an application:

 

  • How does the Studio application distribution work? In the class we cover the internal distribution using the Application Repository.
  • What are the other options, if any?

In this article I will be describing what is available to you via the Studio.

 

You might want to read the following article if you are unfamiliar with publishing an application: Application sharing.

 

 

Internal Distribution - The Application Repository

 

Built-into the Studio is the ability to publish your scoped applications to your own instances. This is done through a built-in Application (App) Repository. This repository is provided as part of your ServiceNow base license. It is there even if you don't use it.

 

This App Repository provides a central distribution mechanism for your other instance(s) to download a new scoped Studio application, or an application update. Furthermore, if you have protected your code using the protection policy; i.e. your intellectual property (IP), then this option can be switched on for the instances that install the application from that repository.

 

When you publish your application it essentially moves an update set with all data and files for the project to the App Repository. Then when you install on another of your company's instances it simply pulls from the repository and installs it on that instance.

 

This is also the mechanism that can be used by Team Development for pushing development changes to the other instances.

 

find_real_file.png

 

 

Direct From Repository to External Instance

 

So what if you wanted to you use this mechanism with another company's instance? Simply put: you can't do this from the Studio or your App Repository. Your company's repository is not visible to any other external instance. So this particular model is not available. BTW, as a Partner Product Developer, this is one option I would love to see added!

 

find_real_file.png

 

Distribution to the ServiceNow Store

 

ServiceNow provides another distribution mechanism called the ServiceNow Store. This is really intended for the purposes of selling your application to the community at-large. All IP protection is maintained, and your code is vetted by ServiceNow prior to making it available. Several great options for potential customers are available by the provider: Get (free), Buy, Request Trial, Try, Contact Seller, and View Profile. Any updates made to your software, after vetting, are immediately available to your customer base for download. Pre-requisite: You have to be a member of the ServiceNow Technology Partner program (PartnerNow | Sales, Services, Technology Partners | ServiceNow).

 

find_real_file.png

For details on publishing an application to the store read up on it here: link

 

 

Distribution to External Instances

 

You can publish your application to an update set. This is actually a pretty slick option as the Studio does all the work for you. You cannot publish to an update set from inside the IDE, but you can from the Application Properties under System Applications > Applications. However, when using this option, all of your IP protection is stripped away, and the distribution will actually re-install the development environment to any instance you put it on. Just like a normal update set (which it is). You will need to port the update set using the old built-in transfer mechanism we all know and love, or export the update set to an XML file and do the deed manually. BTW, no auto-alert of updates with this option either; so you will need to handle that as an export to update set as well.

 

find_real_file.png

 

 

External Repository Distribution

 

You can also distribute your application via your off-instance external repository. Again, like the update set distribution, all of your IP protection is stripped away, and it basically installs the development environment on the new instance. This, btw, is also an excellent method of restoring your application development environment from scratch should it get wiped out by a clone or z-boot (been-there done-that; restore worked great!).

 

find_real_file.png

 

Personal Developer Instance

 

Also, as a side-note, if you are wanting to play with the App Repository on your Personal Developer Instance, you can't. All publication with the Personal Developer Instance is switched off. This includes IP protection. It would require two instances to do this internally and since you are assigned your own unique company code for each instance - you are only allowed one instance right? Also, publication to the ServiceNow Store is inactivated. Not sure about the reason for that other than you have to be a Technology Partner, and I believe you have to have your own instance assigned to you by ServiceNow, via that program, to do a publication to the Store. You still have the option of publishing to an update set though.

 

find_real_file.png

 

 

There you have it! All the methods, that I am aware of, for distributing a Scoped Application via the Studio.

 

Enjoy!

Steven Bell.

 

If you find this article helps you, don't forget to log in and mark it as "Helpful"!

 

sabell2012_0-1700936607597.png


Originally published on: 4-3-2017 06:49 AM

I updated the code and brought the article into alignment with my new formatting standard.