How can we clone a studio application?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2017 01:36 PM
Alright...I really hope someone out there is trying to do the same thing. We want to build a template application and then have different versions of that application so that we can easily modify tables or add enhancements within a specific scope. Servicenow currently writes to files in a scope with "x_companyabbreviation_appname." I was hoping I could push the app to GitHub, create a new branch or fork, find and replace "appname" with "appname2" and then create a new application by importing from source control. What I found was that ServiceNow pushes a "checksum.txt" file that appears to have some sort of identifier for the application as well that is heavily encrypted.
Does anyone out there have any idea how to clone or copy an application within the same servicenow instance? Would this work in Domain Separation?
Any help would be greatly appreciated!!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2017 06:34 AM
Hey Neal,
I'm wondering if you have found a solution to your question. I'm interested in this as well.
Thanks,
Jenny
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2017 06:55 AM
Hi Jenny,
After selling my first born and giving up first round picks for the rest of my life, I got to the bottom of this...
Don't use GitHub (or any collaborative tool) as your main way to move applications. Each customer has a "private" SN application store. When you use the store, you can now set revisions, revert to revisions, etc... BUT, they do not have a "clone" option at this time. In speaking with someone who "knows..." and after my experimentation, SN embeds a GUID into the application and it is everywhere. You would have to not only find/replace with a new GUID that represents to the "clone to" app, but also re-route all the backend connections that are extremely difficult to access. I started analyzing the XML through all the files and gave it a shot with a small app, and never got it to successfully clone. In short, is it possible to Clone...yes. But after speaking with individuals and my own attempts, I don't think it's time effective. Especially if you have a larger app... But, don't be surprised if you see a "Clone App" application on the public ServiceNow store in the future.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2017 08:51 AM
Hi Neal,
LOL, sorry to hear that and thank you for the tips! I did not know that each customer has a "private" SN store. I will give that a try.
I started with a new update set for my first custom application, but switched to Git midway. However, Git seems to removed whatever I have committed to Git from the local update set. I'm planning to finish it off with "Publish to Update Set". Hopefully that will work.
We have a request to migrate some request based systems into ServiceNow. I was thinking instead of building each one from scratch, use some some sort of template to jump start the development process, like a clone function you described. I'm planning to look into the Service Management Application Designer to see if it would work for us. If you have any experience with that, I would love to hear about it.
Thanks,
Jenny
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2017 09:23 AM
Here are a couple of helpful tips...
- If you use GitHub to move an app from Dev to Prod or Dev to Test, etc... You will have to uninstall the application in order to install from the SN private repository.
- Pushing commits or pulling remote changes...If you do anything like this, it wipes all table data. This is terrible in my opinion because if you have data loaded into tables to be used as choices through reference fields, you are going to have a long day of moving data through update sets. Again, another reason why would wouldn't use GitHub to move applications.
- I don't extend any tables...AT ALL anymore. I build everything from scratch. I know i'm in a small group here, but I prefer to build applications with a proper databse and then I have to script all my relationships. This takes some background knowledge of how a database works and Enterprise Design, so if you don't feel comfortable there, I would suggest getting some help (if you want to go down that road).
- As a note, I only use "reference" fields to look up selections instead of choice lists. That allows an application admin to easily manage choices for a form without giving them Admin access to the entire SN Instance. You can just give them Admin access to the app and tables. I then push the "reference" values over to standard string or integer fields.
- For the apps we "clone" currently, we basically built a base application that functions as expected, and then create a new application and just follow the steps of creating the new one (from scratch). This is a bit tedious, but I just haven't gotten around to building a Python app to do all the heaving lifting yet...
- The Service Management App Designer could work well if you already have leveraged SN plugins like Field Service or whatever, but I generally build everything from scratch, so I just use the Core and sometimes Studio because it's easy to see multiple tables at one time...
Happy Coding!