460 likes | 477 Views
Session Title: Service Manager Advanced Tailoring Concepts and Best Practices Speakers: Ben Vargas, Senior Consultant, Techport Thirteen, Inc. Chuck Warner, Senior Consultant, Techport Thirteen, Inc. HP Software Universe Training. Topics. Wizards Smart Indicators Dynamic Forms
E N D
Session Title: Service Manager Advanced Tailoring Concepts and Best PracticesSpeakers: Ben Vargas, Senior Consultant, Techport Thirteen, Inc. Chuck Warner, Senior Consultant, Techport Thirteen, Inc. HP Software Universe Training
Topics Wizards Smart Indicators Dynamic Forms Service Catalog Tailoring Triggers
Speaker: Ben Vargas Wizards
Should I Stay or Should I Hit the Tables? • Why Wizards Mr. Wizard? • Where Are They Used? • Accessing the Wizard Creation Tool • Creating and Editing Wizards • Calling Wizards • Lab Practice
What’s Their Use and Why Do I Care? • Assist users with certain tasks using sequential steps • Easy window titles, format titles, text prompts, and bitmaps • Efficient development working with selectable lists and user IO • Flexible file variable instantiation • Variable usage options: Record Lists, Subformats, Skip Display, etc. • Detailed record processing: Process Calls, Format Control, JavaScript • Button Options: Next, Previous, Cancel, Restart, Finish • Conditional Message Processing • Conditional Next Wizard Processing • Cancel Expressions • Developer Comments
Where Can I Find These Mystical Wizards? • Escalation Wizard for Interactions • Service Catalog Maintenance • Approval Delegations • Templates • Manage CI Groups • User Quick Add Utility • Add Device Type • Change Device Type • SLA & SLO Creation & Management • Text Import Wizard
Navigating to the Scroll Command Line: System Navigator:
Mr. Wizard – Get the Magic Party Started! • Wizards are executed via standard RAD application calls. • Locations typically include: • Menus • Display Options • Format Control • States • Process Records • Note: Wizards do not allow direct calls to RAD applications.
This Wand Works All Over the System! wizard.run file File Variable name Wizard Name (first in series) text Return Variable (returns “normal” if successful) prompt Special Object Type (used by se.get.object) It is possible to send a wizard into an infinite loop. For example, calling a process that calls a wizard that calls the original process.
Speaker: Ben Vargas Smart Indicators
OK Smarty, What is This Thing? • Identified by a new icon • Active where there is context-related content available • Invokes a wizard to display related content, using the action runcontext • The action executes a series of wizards starting with context start • Smart Indicators on CI data adds visualization to the returned content • Provided Out of Box for incident, interaction, and known error modules • As a general standard, Smart Indicator fields are placed on the left-side of the forms
Speaker: Chuck Warner Dynamic Formats: More Powerful than a Locomotive
What are they? It's a bird... It's a plane... It's a ???... • Forms Designer object • Supports character field/variable input • Content is XML with support for standard Service Manager
Advantages: Are spandex tights really comfortable? • Constructed on the fly • No new table/dbdict fields required • Only need a single forms designer object • Content within the object can be different
Disadvantages: Into Every Life a Little Kryptonite Must Fall • No DVD support • Reporting - Values are embedded in XML string • No dynamic sizing support
<form> <label>Slideshow Boring... Losing Consciousness</label> <text id="Q01" label="Enter time spent sleeping while Chuck was talking:"/> <select id="Q02" label="Chuck was:" style="combo"> <option label=""></option><option label="Boring">Boring</option> <option label="In Need of Medication">In Need of Medication</option> <option label="Who's Chuck?">Who's Chuck?</option></select> <select id="Q03" label="My Favorite Thing About Chuck:" style="radio"> <option label="Receding hair line">Receding hair line</option> <option label="Blackjack tips">Blackjack tips</option> <option label="When he was done">When he was done</option></select> <text button="4001" id="Q04" label="Choose an excuse to ditch Chuck's class:"/> <text id="Q05" label="List Your Chuck Gripes Here:" multiline="true"/> <checkbox id="Q06" label="If you are happy and you know it check this box."/> </form> Samples: X-ray Vision Explained
Text Fields • Sample XML Text: • <text id="Q01" label="Enter time spent sleeping while Chuck was talking:"/> • Supports free typing by user • Can be used to enforce date/time values as well
Drop Down Lists • Sample XML Text: • <select id="Q02" label="Chuck was:" style="combo"> • <option label=""></option><option label="Boring">Boring</option> • <option label="In Need of Medication">In Need of Medication</option> • <option label="Who's Chuck?">Who's Chuck?</option></select> • Supports pop list of any number of values • Uses minimal screen real estate
Radio Buttons • Sample XML Text: • <select id="Q03" label="My Favorite Thing About Chuck:" style="radio"> • <option label="Receding hair line">Receding hair line</option> • <option label="Blackjack tips">Blackjack tips</option>\ • <option label="When he was done">When he was done</option></select> • Supports framed list of all selectable values • Uses more screen real estate
Checkboxes • Sample XML Text: • <checkbox id="Q06" label="If you are happy and you know it check this box."/> • Supports single checkbox • Uses checked or unchecked values (true or false)
Fill Fields • Sample XML Text: • <text button="4001" id="Q04" label="Choose an excuse to ditch Chuck's class:"/> • Supports filling a value from another table • Requires validation xml entry to function correctly • <string button="0" id="Q04" mandatory="true" matchField="name" matchTable="excuses"/> • Requires special displayoption to enable fill • Out of box xml.Fill ScriptLibrary record has a bug which forces true searches
Multi-Line Text Boxes • Sample XML Text: • <text id="Q05" label="List Your Chuck Gripes Here:" multiline="true"/> • Supports free hand text box to enter multiple lines • Copy/pasting non-ascii characters can cause parsing issues
Labels • Sample XML Text: • <label>Slideshow Boring... Losing Consciousness</label> • Supports label text to provide additional context around fields • No user input for this object type
Leaping the Building... Service Manager Demo
My “Save Me” Moment • Large and diverse catalog • Different data requirements for different items • Did not want a lot of extra fields to store data • Did not want to enter options as each item was placed in cart – wanted single list of options presented out checkout
Speaker: Chuck Warner Service Catalog Tailoring:Something Seems Fishy
Where are the hooks? • Format Control • Displayscreen • Displayoptions
Format Control • Clicked "Order from Catalog" • Clicked "Personal Productivity Services" • Clicked Hardware Bundles • Clicked Basic PC Package • Clicked Add to Cart • Clicked View Cart/Checkout • Clicked Submit Request • Clicked Submit • svcCat.request.info add format control • incidents initial format control • incidents display format control • incidents add format control • Clicked Continue
Displayscreen and the Callrad Rtecall • The initial displayscreen is svcCat.display.catalog • When you are viewing the item it becomes svcCat.display.item • The callrad rtecall has issues in ess web tier client • The callrad rtecall can be used to call a script from the displayscreen record: • $L.call.my.app=rtecall(“callrad”,”<application name>”,{parm 1 name, parm 2 name, etc},{parm 1 value, parm 2, etc}) • For Example: • $L.call.script=rtecall("callrad", $L.return.code, "script.execute", {"name", "file"}, {"tp13.test.script.1", $L.filed}, true)
Displayoptions • Use the RAD tab or javascript tab to call custom code such as a script or Process record • Manipulate the $L.ds.action variable to change what happens • svcCat.display.catalog displayscreen options • Select Item ## • $L.item.## variable for specific catalog items • svcCat.display.item displayscreen options
Landing Your Fish... Service Manager Demo
My Big Fish Story • Splash screens • Single order items • Removing pictures • Swapping formats
Speaker: Chuck Warner Triggers: Cloning Roy Roger's Horse???
What are they? • Fire at the binary level • Run after all other workflow has occurred • Can be set on adds, updates, and deletes of records • Invoked either before or after record has occurred (add, update, delete) • Can call either a RAD application or javascript
Why do I care? I like Mr. Ed • They are very last in workflow sequence • Run regardless of what format is being used to access a particular file • Useful for capturing debug information about records at the time they are written or deleted from the database
Avoiding Saddle Sore • Universal: code is evaluated for all users • Errors can keep adds/updates/deletes from occurring • Beware of loops • Not captured in debugger tracing (must use RTM:3)
Let’s Rope that Doggie • For the javascript savvy create a ScriptLibrary record and then call your record from the trigger • system.library.<ScriptLibrary record name>.function() • Use record.field syntax to evaluate conditions in trigger • Replace “.” with “_” in field names • For the not so javascript savvy use the trigger.macro.runner application to call a macro to either evaluating expressions or call a rad application
Show Me The Clone... Service Manager Demo