If any scoped application developed depends on a plugin then that is tracked as part of dependency. Dependency is a must for scoped applications that are submitted to the ServiceNow store. This is to ensure that customers who purchase the scoped application are aware of all the prerequisite plugins to be installed prior to installing the app on their instance. In this blog, I will talk about when a dependency is tracked automatically in a scoped application and steps to capture dependencies manually.
How to automatically track plugin dependencies
The system can automatically identify and add dependencies on the plugin when you:
- Extend a table
- Add a field to a table
- Call a script include
For example, let's assume I have activated "Facilities Service Management" plugin on my instance. As part of my scoped app use case, I need to create a custom table "Now Fac Space" and extend it from the OOTB table "Facility Space" (the table which was created when we activated FSM plugin).
- Create a custom table "Now Fac Space" and extended from Facility Space
- Navigate to System Application>Application>Click on Edit button under application "Now application" and check for related list "Dependencies"
You will note the dependency on the plugin "Facilities Service Management" is automatically tracked and is captured as part of dependency list in scoped app "Now application". The reason the dependency is tracked automatically here is because we extended an OOTB table which belongs to "Facilities Service Management" plugin.
How to capture Plugin Dependencies manually
For example, let's assume I have to capture the "orchestration" plugin dependency manually in my scoped app "Now application".
- On your instance navigate to System Applications>Studio
- Click on open Studio tab.
- Now select one of the applications from the list (for example, Now application)
- Click on File>Settings.
- From the Dependencies related list, click Edit and select the exact dependency from the left slush bucket and move it to right and save the form. For ex: added "Orchestration" plugin as a dependency.
Wooo we have successfully added "Orchestration" plugin as a dependency in scoped application. There will be message warning on the screen with the name of the prerequisite plugin to be installed when the customer tries to install this application on his instance.
The same steps apply in case a manual dependency is to be captured on any scoped application.
We have successfully covered how a dependency is tracked automatically and how to capture dependency manually in scoped application. If any scoped application intended to be published on the store and has a dependency on plugins, vendors have to make sure that all required plugins are captured as part of dependencies in scoped application. This is to ensure that customers who purchase the application from the store are aware of all the prerequisite plugin before installing the app on their instance.
- Pradeep Sharma (@sharma_pradeep)
PS: Hit like, Helpful or Correct depending on the impact of the response