Posts by Ahmed Drar

I started this blog to share some thoughts, ideas, and opinions around things I love like ServiceNow, Development, and sometimes birds. ** Any views expressed on this blog are entirely my own. **

Two HRSD Features that I am happy to see them go in Rome

Bulk Case creation scheduled job was completely disabled in Rome and has been replaced by Create bulk HR cases script action which is triggered by sn_hr_core.process_bulk_case_request event. The script runs asynchronously and you don’t have to worry about setting up the right time for the job

Employee Relation COE (sn_hr_core_case_relations) is no longer available, instead new customers are going to use sn_hr_er_case table which is sets in Human Resources Scoped App: Employee Relations [com.sn_hr_employee_relations] not in Human Resources: Core App. New Employee Relation provides a data model that supports tighter security and saves tons of work that usually spends on customization ACL or data segregations

Understanding Semaphore

like many ServiceNow pros, Semaphore comes to mind when there is a performance issue, however, Semaphore is much bigger than that. here I am trying to learn more about Semaphore.

What is Semaphore?
according to ServiceNow docs and JVM docs, Semaphore manages and protects ServiceNow resources and limits the number of activities for a specific resource. Semaphore does that by controlling transaction queues in a first-in-first-out fashion(FIFO).

Continue reading →

Naming Variables and Functions

We all come across situation where we have to look at a code that it’s written by someone else and try to figure out what is that variable does or what is this function suppose to do.

This is where good naming is important. it saves us time and significantly reduce error. I know naming variables and functions can be tricky. In this post, I share two characteristics that can be a foundation or starting point for good naming

Continue reading →

What does ServiceNow Architect do?

When I started my ServiceNow career back in 2013 there were mainly three technical roles:

  • System Admin
  • App Developer
  • Implementation Specialist

maybe those roles were enough at the time, however as the platform continues to grow ServiceNow introduced Architect certificate and also we now see a great emphasis on the architect role

so, What does actually ServiceNow Architect suppose to do ?

Continue reading →

ACL or Query Business Rules ?

Every now and then I find myself debating with a friend or colleague on whether we should use ACL or Business rules query.

Personally, I think the use of business rule query should be minimised. if you think about it, ACL called ACL for a reason! your security admin is the only one who can change ACL where anyone in your organisation with personalize_rules role can play with a query business rule that can be integral to your team.

again, I am not saying never use query business rules , I am just saying it should be minimised.

Here is when you shouldn’t use query business rules

  • Your query BR is going to run on large table.
  • Your query BR might contain a lot of OR clauses or LIKE operator.
  • You are not concern about your instance performance.

Quebec Tour Part 3:Import Set REST API – Insert Multiple

In Quebec release, ServiceNow introduce new capability to enable users to insert multiple records into a staging table and trigger a transformation that is based on predefined transform maps in a single API request. In this post i am going to use the Insert Multiple REST API end point.

POST https://INSTANCENAME.service-now.com/api/now/import/{stagingTableName}/insertMultiple

First thing, I am going to structure my JSON, I use company.do?JSONv2 to help me structure my JSON

Continue reading →

How to use Custom Interactive Filter?

Today, I recognize that a custom interactive filter can be mighty. Here is why.

I wanted to create a dashboard containing 2 reports. The first report should show incidents grouped by Category, and the second should show incidents grouped by CI. So far, all is well & easy, and no need for a custom interactive filter.

I also wanted to enable my end-users to filter on a short description; in other words, I would like them to be able to interactively use the Short Description CONTAINS filter on my dashboard.

Continue reading →

How to apply IRE to import sets?

Using import set for populating CMDB is always a challenging activity. setting up the right coalesce field to your transform map makes this activity particularly challenging, correctly identify CI primary attribute is a key to reduce the risk of introducing inconsistencies through duplicate records.

Identification and Reconciliation(IRE) framework provides JavaScript API that can be used in import set. by using CMDBTransformUtil class, you don’t need to set coalesce field in your transform map. CMDBTransformUtil class uses Identification rules that already exist to workout what should the primary key for this import.

Continue reading →