Advanced Cherwell Administration Tips

Preview:

DESCRIPTION

Cherwell administrators can work and design solutions more efficiently simply by following a few tips that will help solve business challenges more effectively. Whether you are a seasoned Cherwell administrator or fresh out of training, these design tips from a Cherwell Service Management guru will help you unleash the power of the Cherwell platform and ensure your design and automation is efficient and scalable.

Citation preview

John GrossFlyCast

As one of Flycast Partners most senior and dynamic Consultants, John Gross brings a diverse consulting and training background to every customer engagement. With over 20 years of extensive experience in IT Service Management Professional Services, Education Services and Support Services, John is responsible for the entire gamut of the product life cycle including Pre-Sales, Design Workshops, Implementations, Training and on-going customer support. Implementation and Training experience includes a variety of public and private sector customers in the Americas, EMEA and APAC. With over 400 ITSM implementations, John has seen it all and willingly shares his meaningful experiences with his Customers. As a Cherwell Certified Engineer and Cherwell Certified Instructor, John’s ability to turn Cherwell CSM concepts into practical examples and interesting stories makes his classes very enjoyable. As a result, John’s courses are always rated very highly.

“Advanced Cherwell Administration Tips”

Cherwell Service Management(CSM)

Advanced Cherwell Administration Tips

John Gross

CSM Administration Challenges• Needs for the application to produce results• Play out a behavior or process that meets business

needs• Some answers are pretty easy to get or do:• Show how many open tickets we have right now in my

dashboard that are due today• Send a notification to the owned by manager if the ticket

breaches the due date

CSM Administration Challenges• Some answers are not easy:• When I look at the customer records, I need to see who

the department manager is• As we do reviews, we’d like a link that sends an email to

the department manager from the customer record• Sounds easy, right? • This is our first example• They all normally sound easy to the person asking!

• I want you to display the age of the ticket in the grid• I always like to know how old a ticket is when I look at my

work in the dashboard

Standard Tools in CSM• Adds tabs in the Form Arrangement• Used to Display related records• Enables the ability to Update “Child

Records” a.k.a. the related records• Can be used to auto-populate fields• Can be used to Delete Child Records

(where the child records are “owned”)• More . . . .

RELATIONSHIPS

Standard Tools in CSM• Invoked by a button,

menu action, save action, business process, scheduler etc.• Can keep related data

up-to-date when key fields change•More . . . .

One-Steps

Standard Tools in CSM

•Assist in calculating field values•Assist in creating filters

or limits•More…..

Expressions

Standard Tools in CSM•Working with field properties• The Elusive Calculated Field• How do I keep it recalculating??? • It doesn’t update in the grid in

my dashboard! • How rude

• But what about validating?• Validating vs. Relationships• When do I need a relationship?

•More . . .• A lot more…..

Business Object Properties

Department Manager• I want my Department to show all

Customers who belong to it in a tab• I want to update the Department

Manager and automatically have all Customers Update with the new Manager Name • When we do reviews of customers, I

need to see the valid manager of the customer, not the one who was the manager when I created the record

Common people language into Cherwell development components:• What will we need?• A tab on the Department business

object? OK, that sounds like a relationship and form arrangement.• Update department managers? Where

to start: I don’t even keep track of department managers.• Add in a new field and update records

– how to I update a bunch of related records at one time?

The Department is a Lookup…for now

• Maybe set the Business Object Properties to at least “Supporting”?

• No, since we want to add a Form Arrangement, we must elevate to a Major Object

• Only Major Objects can have “tabs” (Form Arrangement)

The Edit Relationships is only available for Supporting and Major Objects

Customer- Internal

• Is there already a relationship to the Department or is it just being validated? What was the difference again?• Hmmm . . . . . I do not

see a relationship from Customer – Internal to Department• Do I need a relationship

and do I care about anything here?

• Update the customers with department information• A reverse relationship will need to exist between the

customer and department• You can use the same fields (e.g. Department Name)

to link the Parent / Child.• We need to set up a relationship to and from the

Customer – Internal and Department• However, it will be the reverse relationship that was

set up from the Customer – Internal that will enable the values to be sent from the Department to the Customer – Internal (e.g. new Department Manager) as well will see when we get to our One-Step

Step Through Children

• Customer – Internal Relationship to Department (One to One)• Department Relationship to

Customer – Internal (One to Many)• Both ways Reverse Relationship• Common Link for both

relationships: Department Name

To get started, we will need:

• Now that the Department is a Major Object, it can be linked to other objects• Only Major Objects can “link”• Supporting Objects can be

“owned” but not linked to . . . . • We simply create a

relationship that links the parent (Department) to the Child (Customer – Internal).• The Department will Link to

Many Customer Internals

• So, what do we link?

• If you use the Wizard, you may be driven down the road of linking the Rec ID’s

• This is not always necessary

• Link common fields instead using the custom constraints section• E.g., “Customer –

Internal.Department” to “Department.Department Name”

• You can also add additional Constraints to limit the records that will be linked

• Hint: Constraint = Filter = Limit

Relationship Links

• Link and return only the values that make sense

• When you eventually get to the Form Arrangement, the tab will only show values that match the filters set up in the Constraint

• Note that Constraints only use field values

• You cannot access expressions from the Constrain area of a relationship

• The Form Arrangement can now display the Customers in the Departments form

• However, we need to set up the rest of the relationships

Relationship Links (continued)

• Using the same links, set up the Customer – Internal relationship of Customer – Internal links ONE Department

• Set the Reverse Relationship

The link back to the department name is the same

You may now go back to the original Department relationship and set the reverse relationship

• We’re half-way there• We can now see the department’s customers linked in

the department form

• Using our experience in adding in fields, we add in a validated field called Department Manager that validates against the Full Name in the Customer – Internal business object

• We’ve also added in the Department Manager Name to the Customer – Internal business object and form

• We add this to our form and are now 90% done with our task

Step Through Children• Now that we have the

Parent / Child relationship set up along with the necessary reverse relationship between the Department and the Customer – Internal, it is possible to use the Step Through Children One-Step and update the children (Department Manager Name) with the Department’s Manager value

• You’ll need to “turn on” the ability to write One-Steps on the Department business object

Create the One-Step to Step Through Children

• Because of the reverse relationship, the Customer – Internal now displays the Department Fields in the Field Explorer

Step Through Children and save after each update

The One-Step is now ready to be invoked

Where to invoke the One-Step?

• You could add a button to the form• Add the one-step to the

Save Action of the business object• Use a Business Process• Other Suggestion?

• To be more automatic, we’re going to invoke the one-step in the Save Action of the Department• In addition, we will invoke the One-Step after the

department has finished saving its own data

• As a final step, we can return our Department business object to the Lookup objects• Where would we

go to add/edit Departments if we left it as a Major Object??

Before saving:

After saving:

• By leveraging the Relationships, we were able to create a Step Through Children one-step and update a list of records in one swoop• Where else could we have invoked the one-step?• Via a button or link:

From the One-Step ManagerFor One Record:

From the One-Step ManagerFor Multiple Records:

As a final task to the request we would:

• Create a one-step to email the Department Manager from the Customer – Internal object• Add a link or button on the Customer – Internal

form that would invoke the email

The SQL “WHERE” Clause

• Constraints• Filters• Expressions• Searches• Limit• Etc.• For non-database-engineers

in common language:• Select the data you want –

Show me the data

• WHERE• Constraints/Filters/Searches

are True

The Age Old Question

• So, when I look at a grid, I want to see how many days old my tickets are . . . • Let’s see, since grids only show fields, I’ll need a new field • Yeah! I know how to add a field• OK, it’ll be in Days and a Number . . . .

• Hmmmm. So, when I add this to my grid, I need it so show me how old it is

• If it’s Open, I want to see how many days it’s been open since it was created and if it’s closed, I want to see how long it took between the create date and the close date• I will need a Calculated Field• I’m going to create an expression for each State• For Open Tickets, I’ll refer to an expression that

calculates a Duration between Create and Right Now (Current Date / Time)

Open Tickets Days

Closed Tickets Days

Now, I can combine this into one expression to add to my field

Now, we use the Age in Days expression as the Calculated Value property of the new Age in Days field

Make sure you use the Recalculate after load so the value updates on the form

So, you add the field to your gridWhy is it empty in the GRID!!!???!!

I can see the value on the form:

• NOTE: Grids only display data once it’s been saved in the database

• Calculated fields only can be updated once the record is saved• Even displaying the record with the Age on it will NOT update

the grid unless you invoke a SAVE command on the record

• So, how to I update the age? • You will need to invoke a Save Command• Typically, by updating a field in the object and then setting the Save

checkbox, the calculated field will re-calculate to its new value• The Last Modified Date Time is a good placer-holder field to

update and then execute the Save by checking the save checkbox

To update the whole list, use the Run for Group option in the One-Step Manager:

• Since this example wants to see the Age in Days, then you’d want to create a scheduled event to run the one-step every day• If it were Age in Hours, then schedule the event every hour• When executing one-steps in the Scheduler, you must assign

a Search Group (Search) to the one-step• It is not recommended to use the All Incidents, since this will

eventually be a load on the scheduled event• Instead, create a search that includes all open tickets plus

things closed in the last day or so

Scheduling the Age Update

Scheduling the Age Update

Scheduling the Age Update

Thank you!

Thank you for attending this session! Please fill out an evaluation form.

Recommended