The CreatorCon Call for Content is officially open! Get started here.

Stefan L_
ServiceNow Employee
ServiceNow Employee

Welcome to ServiceNow Application Development Fundamentals at Knowledge24 Now Learning Pre-Conference Training!

We will be using this forum to:

  • Connect – You are welcome to introduce yourself using the COMMENT button and share your role within your organization and what you hope to get from this learning experience.
  • Ask and answer questions - Please post comments or questions here using the COMMENT button. Classroom staff will respond to the best of their ability.
  • Share resources – Let us share resources and links that will be valuable for future reference.

NOTE: Now Learning staff will stop monitoring this article on May 24.

Comments
Phil Scherry
Tera Guru

Looking forward to seeing everyone on Sunday.

I am from the Denver, CO area and have been around the platform since the Berlin release.

Never got my CAD certification, so looking forward to learning what I haven't used in years and things I've never used.

Derick Njei
Tera Explorer

Am Derick from Dublin, Ireland and  a fresh batch from Now learning cohort 1 September last year. I'm interested in  the Application development program. Kindly share the link and necessary requirements.

 

Regards 

Phil Scherry
Tera Guru

@Derick Njei This thread is for those attending the ADF course occurring before the Knowledge Conference 2024.

s_renjarnbo
Tera Expert

My name is Søren Jarnbo from Denmark. Working as ServiceNow Platform Owner, Architecht and small development in the company were I work.

In this session to try to grash how easy (or difficult) it is to build custom applications.

We are using ITSM & HR from ServiceNow but have build 2 custom applications for Finance and Procurement

Chris McEntyre
Tera Contributor

Happy Sunday!

Phil Scherry
Tera Guru

@Stefan L_ What kind of motorcycle do you ride?  I have a BMW F650 GS

David Murillo
Tera Explorer

Hello I'm David from California (Sacramento Area).

I am the ServiceNow Admin for our property and am interested in developing applications and hoping this will help develop me develop quality applications for our organization.

Tim Kulhavy
ServiceNow Employee
ServiceNow Employee

@Phil Scherry Some sort of BMW deathmachine. You gotta ask him personally for the details though 😉

Phil Scherry
Tera Guru

Feel free to connect on LinkedIn: https://www.linkedin.com/in/pscherry78/

 

Also, join the SNDEVs Slack https://linktr.ee/sndevs

 

Cheri
Tera Contributor

This may be already covered in the upcoming class, but what are best practices when it comes to scoping and using baseline tables, CMDB-expanded tables, and other scopes, such as integration spokes that directly affect the application?

 

Our organization built the majority of their custom tables within the Global scope, and are trying to transition towards the recommended scoping, but we frequently run into cross-scoping issues or find ourselves having to switch between multiple update sets across multiple scopes.

Phil Scherry
Tera Guru

@Cheri Yes, you will find a lot of cross-scope occurring, even within the ServiceNow OOB applications.  The best practice is to build your application tables within the scope, with the understanding you will have to cross into Global (sys_user, cmn_location, etc).

Phil Scherry
Tera Guru

I've been around the platform since the Berlin release, working across the platform in ITSM, ITOM, ITAM, HR, CSM. https://www.linkedin.com/in/pscherry78/

 

Stefan L_
ServiceNow Employee
ServiceNow Employee

@Cheri Agree with @Phil Scherry there. Switching from globally scoped tables to custom scoped tables + applications is pretty much always (feedback from other participants) quite the challenge due to cross scope access errors coming up here and there.
The easy way out is to set your custom scoped app files to have no restrictions regarding cross scope access - that defeats most of the security advantages of custom scopes, however.
You can use Caller Tracking or Caller Restriction settings to help you find out where the errors are coming from and to resolve them a bit quicker (compared to try and error headaches)

Stefan L_
ServiceNow Employee
ServiceNow Employee

@Phil Scherry A BMW F800 ST - lots of touring done on that one already. 650 GS is lovely!

Cheri
Tera Contributor

@Phil Scherry  Sorry, I'm looking for a bit more specifics in terms of best practices -- such as custom fields on these baseline tables, custom CMDB tables in the hierarchy, or adding tables to other spokes that are required for the new application being built.

 

For example, I am leading my team to recreate an Access Management Request (AMR) but in a scoped application instead of Global. This AMR will require custom tables on the Workday HR integration spoke, custom tables/classes within the CMDB, as well as some custom fields on the sys_user table, etc.

 

For the CMDB and sys_user table additions, we are putting these within the Global scope. For the Workday HR table, we are building this within the Workday HR Spoke scope. These may be utilized in other functions or scopes in the future. For the AMR itself, it lives within its own scope. 

 

Is this how these are supposed to be, or since these fields and classes are initially being built for the AMR scope, is it supposed to be nested within there instead?

jacob_kimball
ServiceNow Employee
ServiceNow Employee

Cheri, maybe we talk this through at a break?  I would tend to want to encapsulate the new application in it's own scoped app.  But there might be some nuances here too that I'm not picking up on.  

Cheri
Tera Contributor

@jacob_kimball That would be great -- appreciate it! Our group lacks a good understanding of proper scoping, so it would help a lot.

Phil Scherry
Tera Guru

A nice YouTube channel - Robert, The Duke, Fedoruk https://www.youtube.com/@robertthedukefedoruk5607/playlists

 

Phil Scherry
Tera Guru

@Cheri Based on many demos and labs I've seen over the years, I disagree with ServiceNow on creating custom tables.  My preference is to extend existing OOB tables rather than create new ones.  So, in your example, I would add fields or extend the sys_user or HR_profile table rather than create a disconnected table.  For example, during the K23 CreatorCon Keynote, they used AI to create a new requested item, but it used text fields to gather the user's phone and email instead of referencing the sys_user table.

Phil Scherry
Tera Guru

Wishing the Manage Access available in Studio was available when managing ACLs across the platform.

Cheri
Tera Contributor

If you publish and delete a scope / scoped app, is the name still permanently taken despite deletion? I believe we've run into this issue before.

jacob_kimball
ServiceNow Employee
ServiceNow Employee

@Cheri I want to same we've run in to the same but I am verifying!

SK Chand Basha
Tera Sage
Tera Sage

Time to rock and roll, let's kick it into high gear!

Phil Scherry
Tera Guru
Stefan L_
ServiceNow Employee
ServiceNow Employee

@Cheri I've done some testing with this before, even if the published app is deleted, the namespace is still taken and cannot be reused

colebg
Tera Contributor

@Phil Scherry I agree, SN Utils is very helpful, I hadn't seen the YouTube channel.  Thanks!

Anjali Malik
ServiceNow Employee
ServiceNow Employee

Hello everyone! 

We'd be doing the Lab 3.3 very soon. I've collated the steps in two parts, that you may find handy for the completion of the lab.

 

Login to GitLab (part 1 - creating an account/sign in)

  1. Go to gitlab.com (use the free trial version)

  2. Click 'Register Now'

  3. Then fill the form >> Verify email & phone number

  4. Role: Other

  5. I'm signing up: a different reason

  6. Who will be using GitLab: just me

  7. What would you like to do: Create new project >> CONTINUE

  8. Create a demo project - call it whatever name/group name (to move forward)

  9. Then click on the top left -- GitLab Icon to be on the homepage

 

Linking to GitLab (part 2 - Linking the app to source control)

 

  1. Login to gitlab
  2. Make a note of your username & password
  3. Create a project (in GitLab)
  4. Copy URL from the tab "CODE" >> copy ‘clone with HTTPS’ (paste this on notepad)
  5. Main ServiceNow window (All >> Connections & Credentials >> Credentials >> new)
  6. Basic Auth Credentials >> name it, add username & password from GitLab
  7. Studio >> Source Control >>  Link to source control >> add details {url, credentials, branch (master)} >> click on link to source control

Hope this is helpful! 

Anjali Malik
ServiceNow Employee
ServiceNow Employee

Some questions for the cert: 

1. What is the default behavior of the module? or How is the module's behavior controlled? // there may be another question around the link types that are available. 

Ans: Link type

2. Studio Anatomy

Ans: HACS or CASH (Header, Application Explorer, Content Frame, Status Bar)

3. What do you get from the GAC to the main ServiceNow window or GAC to the application:

Ans: a) App Menu and associated modules b) Role and the ACL c) 6 system default fields

4. Which source control operation is available from BOTH Studio and the Git Repository?

Ans: Creation of branch

5. Which one of the following is NOT required to link a ServiceNow application to a Git repository?

  1. Password
  2. User name
  3. URL
  4. Application name

6. What are the table creation options available?

Ans: CUE (Create a new table, Upload spreadsheet, Extend an existing table)

 

I'm hoping to keep adding more. 

 

 

Anjali Malik
ServiceNow Employee
ServiceNow Employee

at Quinton Zinn - this is for you - check this out at NowLearning - a course on CI/CD Fundamentals

Zinnqu
Tera Explorer

Checking in!

Stefan L_
ServiceNow Employee
ServiceNow Employee

Some further resources from the GitLab Chapter:
Master vs Main Branch naming article

 

For those who want to use GitLab alongside Update Sets:
Simple Deploy Strategy involving Git and Update Sets

Huge PDF outlining a mature development and deployment process with 200 developers (some very interesting architectural and process related points in there)

Mature Development and Deployment Process

Chris McEntyre
Tera Contributor

When an application is built out to be shown in classic view, what is involved in turning that application into a portal viewable application? Is it a matter of configuration or completely separate process?

jacob_kimball
ServiceNow Employee
ServiceNow Employee

@Chris McEntyre There are widgets that will show the form as-is...but you can also create a custom widget to represent that data depending on need.  Another concern is the client-side logic.  UI policies will just 'handle' it....but client scripts might need some extra case/different approach depending on what you are doing.

Phil Scherry
Tera Guru

For those who own Hardware Asset Management (HAM), there is already a Loaner Asset Request  - https://docs.servicenow.com/bundle/washingtondc-it-asset-management/page/product/hardware-asset-mana...

 

Phil Scherry
Tera Guru

@Chris McEntyre and @jacob_kimball There is also the thought about a Workspace view too.  Especially if the team is working out of SOP (Service Operations Workspace)

jacob_kimball
ServiceNow Employee
ServiceNow Employee

FWIW, our team has adopted the usage of SNDOC.  It can be found on share here: https://developer.servicenow.com/connect.do#!/share/contents/6426327_sndoc?v=1.1&t=PRODUCT_DETAILS.  What it gives you is the ability to document your code as you go and assemble that documentation (comments) in to a cohesive set of docs. More than happy to show anybody who wants to see what the input/output looks like as well.

Stefan L_
ServiceNow Employee
ServiceNow Employee

If you want to use an API that enforces ACL rules (unlike GlideRecord - the "CanEdit" etc. checks are nice, but not great for code readability) you can use GlideRecordSecure - it works pretty much the exact same way as GlideRecord, except it enforces ACLs based on the currently logged in users session.

https://developer.servicenow.com/blog.do?p=/post/gliderecord-vs-gliderecordsecure/

 

Phil Scherry
Tera Guru

Lots of Flow Designer videos at YouTube channel - Robert, The Duke, Fedoruk https://www.youtube.com/@robertthedukefedoruk5607/playlists

Phil Scherry
Tera Guru

When will Flow Designer allow for loops (return to step #2)?  #safeharbor

Stefan L_
ServiceNow Employee
ServiceNow Employee

@Phil Scherry Instead of using a "go to x" feature a tiny while loop could be a decent alternative?
Haven't seen any roadmap that includes that sort of a "go to" feature 🤔

Phil Scherry
Tera Guru

@Stefan L_ we do that currently, but you can only call the subflow so many times.  User's are crazy and it needs to be able to loop infinite times.

Chris McEntyre
Tera Contributor

@Phil Scherry Have you looked at the Washington DC release in regards to flow designer? There adding additional looping functionality. Not sure if it they've added what you need, but it is an improvement.

Cheri
Tera Contributor

Is there a way to add a visible activity log with audit history (who changed the sys_property and when) to the properties module page?

jacob_kimball
ServiceNow Employee
ServiceNow Employee

@Cheri There seems to be an activity formatter on the sys_properties table.  If you add that to the sys_properties form it will give you that log (might need to configure it a bit).

Cheri
Tera Contributor

@jacob_kimball But what about on a module page specifically?

 

Is there a way to display that audit data below the fields pulled from the arguments (ex: system_properties_ui.do?sysparm_title=Loaner Request Properties&sysparm_category=Loaner Request) while filtered to only modifications done to these items in this category, or at that point, do you need to create a custom UI page and script it out?

jacob_kimball
ServiceNow Employee
ServiceNow Employee

@Cheri Sorry, read to quick. There would be a way that would tend to be considered a fairly heavy customization. The 'thing' that the module points at is a UI Page named system_properties_ui.  You can modify that UI Page to add in that functionality. UI Pages/Macros use Jellly and are what CSM (predecessor to Service Portal) ran on...so it's not for the faint of heart, but is possible.

Anjali Malik
ServiceNow Employee
ServiceNow Employee

Terms and conditions link - to get your voucher

 

 

https://nowlearning.servicenow.com/lxp?id=accept_terms&course_id=01fd8373474ff19090542034846d4397 

Accept Terms & conditions - Now Learning

 

Tim Kulhavy
ServiceNow Employee
ServiceNow Employee

If anyone is planning on using your voucher to take the exam during Knowledge24 - more info here:
https://servicenow.swoogo.com/Knowledge24Certification

Chris McEntyre
Tera Contributor

Can I get additional information on using mulitple alias' for Dev/Test/Prod. I understand the concept I think but there was something mentioned about setting the correct alias active for the instance and excluding it from cloning. Can someone post more information on this?

Chris McEntyre
Tera Contributor

I'm still a little fuzzy regarding when to use App Engine Studio vs the Studio IDE we used for our labs. If my company was licensed for AES and I had the option of using either, would the Studio IDE still be the best approach if building the Loaner Application?

 

What would be the benefit of using AES ... if there are any?

Version history
Last update:
‎04-30-2024 06:48 AM
Updated by: