<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title> &#187; Tech Tips</title>
	<atom:link href="http://www.stratacominc.com/category/hp-service-manager7/tech-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stratacominc.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 14:18:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Adding Conditions to a Link Record in HP Service Manager</title>
		<link>http://www.stratacominc.com/adding-conditions-link-record-hp-service-manager/</link>
		<comments>http://www.stratacominc.com/adding-conditions-link-record-hp-service-manager/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 14:18:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[hp service manager]]></category>
		<category><![CDATA[link record conditions]]></category>

		<guid isPermaLink="false">http://www.stratacominc.com/?p=370</guid>
		<description><![CDATA[How to add conditions to your link record.
Lets say that you always want to always keep the phone number that is entered by the user for a particular ticket regardless of what is in the contact record.  This may come about if you have a telephone number for a contact that is only applicable to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>How to add conditions to your link record.</strong></p>
<p>Lets say that you always want to always keep the phone number that is entered by the user for a particular ticket regardless of what is in the contact record.  This may come about if you have a telephone number for a contact that is only applicable to that ticket.  Lets take a look at how to do this.</p>
<p>First we want to save the old values, so in the pre fill expressions we will add:</p>
<p><em>$save.field=field in $File;</em></p>
<p>We would repeat this step for all the fields we are going to check if they have changed.</p>
<p>Next we need to add the conditional expressions in the post fill expressions.  Don’t forget to cleanup your variables when you are finished:</p>
<p><em>if (field in $File ~= $save.field) then (field in $File=$save.field);</em></p>
<p><em>cleanup($save.field);</em></p>
<p>This will leave the fill value in the record unless it is different from the initial value, in which case it will replace the fill value with the saved value from the previous step.</p>
<p>Or you could use this technique to tie a particular type of telephone number to the priority of the ticket.  Lets use the office number for low priority, and the cell for high priority.  First we add variables in place of the “fill to” values (where the field on the form would usually be located) for all the phone numbers we might use.</p>
<p><em>fill to                 fill from</em></p>
<p><em>$work.num               contact.work.phone</em></p>
<p><em>$cell.num               contact.cell.phone</em></p>
<p>Then in the post fill expressions we need to add code to use the correct telephone number based on the value of priority (always cleanup your used variables)</p>
<p><em>if (priority in $File=”low”) then (contact.phone in $File=$work.num);</em></p>
<p><em>if (priority in $File=”high”) then (contact.phone in $File=$cell.num);</em></p>
<p><em>cleanup($work.num);cleanup($cell.num);</em></p>
<p>This same technique could be used in a variety of ways including conditional fill of other fields based on certain fill values or even modifying the values that are being generated by a fill.  Although the code we used is rather simple, it is powerful and indeed a valuable tool in Service Manager.</p>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/adding-conditions-link-record-hp-service-manager/&title=Adding+Conditions+to+a+Link+Record+in+HP+Service+Manager&text=How+to+add+conditions+to+your+link+record.+Lets+say+that+you+always+want+to+always+keep+the+phone+number+that+is+entered+by+the+user+for+a+particular+ticket+regardless+of+what+is+in+the+contact...&tags=fill+expressions%2C+field%2C+priority%2C+contact%2C+phone%2C+number%2C+value" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/adding-conditions-link-record-hp-service-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP Service Manager web client &#8220;Read Only&#8221; fix</title>
		<link>http://www.stratacominc.com/hp-service-manager-web-client-read-fix/</link>
		<comments>http://www.stratacominc.com/hp-service-manager-web-client-read-fix/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 16:18:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[hp service manager]]></category>
		<category><![CDATA[read-only fields]]></category>
		<category><![CDATA[web client]]></category>

		<guid isPermaLink="false">http://www.stratacominc.com/?p=352</guid>
		<description><![CDATA[&#8220;Read-only&#8221; fields do not display in the web client
The following fix come directly from HP &#8211; there is a bug where read-only fields will not display correctly web clients.  Using the steps below should fix this problem:
Having problems with ‘read-only’ fields not displaying values and display lists correctly on your Web Client?
There is a hidden [...]]]></description>
			<content:encoded><![CDATA[<h2>&#8220;Read-only&#8221; fields do not display in the web client</h2>
<p>The following fix come directly from HP &#8211; there is a bug where read-only fields will not display correctly web clients.  Using the steps below should fix this problem:</p>
<pre>Having problems with ‘read-only’ fields not displaying values and display lists correctly on your Web Client?</pre>
<pre>There is a hidden fix for the 'read only' issue in the web client that involves modifying the ‘topaz.js’ file, which is located under the ‘\js’ directory in the Web-Tier folder structure (example: C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\webtier-7.11\js).</pre>
<pre>To fix the issue with ‘read-only’ fields not displaying values and display lists correctly on your Web Client, the following tasks must be done to resolve the issue.</pre>
<pre>1. Search for the following function</pre>
<pre>"function setComfillReadonly(field, sValue)"</pre>
<pre>in the topaz.js file.</pre>
<pre>You will see the following lines in this function:</pre>
<pre>if (dvdTrue(sValue))</pre>
<pre>{</pre>
<pre>field.style.display = "none";</pre>
<pre>field.style.visibility = "hidden";</pre>
<pre>fieldReadonly.style.display = "";</pre>
<pre>fieldReadonly.style.visibility = "";</pre>
<pre>2. After the line that executes:      fieldReadonly.style.visibility = "";</pre>
<pre>add the following line: fieldReadonly.value = field.value;</pre>
<pre>3. Then restart the Application Server (Tomcat, WAS, etc).</pre>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/hp-service-manager-web-client-read-fix/&title=HP+Service+Manager+web+client+%26%238220%3BRead+Only%26%238221%3B+fix&text=%26%238220%3BRead-only%26%238221%3B+fields+do+not+display+in+the+web+client+The+following+fix+come+directly+from+HP+%26%238211%3B+there+is+a+bug+where+read-only+fields+will+not+display+correctly+web+clients.%26%23160%3B...&tags=fieldreadonly+style%2C+display%2C+style%2C+following" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/hp-service-manager-web-client-read-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interactive Questions In Service Manager</title>
		<link>http://www.stratacominc.com/interactive-questions-service-manager/</link>
		<comments>http://www.stratacominc.com/interactive-questions-service-manager/#comments</comments>
		<pubDate>Mon, 17 May 2010 19:22:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[hp service manager]]></category>
		<category><![CDATA[interactive questions in service manager]]></category>

		<guid isPermaLink="false">http://www.stratacominc.com/?p=335</guid>
		<description><![CDATA[If your workflow is like most, you will more than likely have the necessity to ask questions at some point in the process.    Service Manager can make stopping a save process by interjecting user interaction a difficult process.

Since ServiceCenter 6.0 and the introduction of Service Manager, Javascript has been a great tool used to perform more complicated parts of system workflow and validations.  However, Javascript does still have some drawbacks.  Not all Javascript commands are available for use within Javascript.    Even though you may be able to write valid Javascript to call an interactive functions and/or RAD applications in Service Manager,  any interactive calls are likely to crash your Service Manager client application.  Because of this limitation, Javascript cannot be used to solicit user information in the validations on the format control.]]></description>
			<content:encoded><![CDATA[<h2>How to Create and Use Interactive Questions</h2>
<p>If your workflow is like most, you will more than likely have the necessity to ask questions at some point in the process.    Service Manager can make stopping a save process by interjecting user interaction a difficult process.</p>
<p>Since ServiceCenter 6.0 and the introduction of Service Manager, Javascript has been a great tool used to perform more complicated parts of system workflow and validations.  However, Javascript does still have some drawbacks.  Not all Javascript commands are available for use within Javascript.    Even though you may be able to write valid Javascript to call an interactive functions and/or RAD applications in Service Manager,  any interactive calls are likely to crash your Service Manager client application.  Because of this limitation, Javascript cannot be used to solicit user information in the validations on the format control.</p>
<p>There are many solutions to this.  Each solution has a number of pros and cons associated with it.  The key with any of the solutions is to intercept the save process prior to entering the normal processing.</p>
<h2>Part I:  Surveying the Solutions</h2>
<h3>Create a Wizard</h3>
<p>If your process requires more than a single piece of information collected from your user, or your process has information that needs to be presented with visual formatting, creating a wizard may be the best alternative.  Wizards may have one or more screens as well as a series of screens and information presented to the user.  Additionally, wizards have the capability to perform branching, requesting dynamic content and even presenting process around cancelling from a wizard.</p>
<div id="attachment_341" class="wp-caption alignleft" style="width: 624px"><a href="http://www.stratacominc.com/wp-content/uploads/2010/05/create-wizard-hp-sm.jpg"><img class="size-large wp-image-341 " title="create-wizard-hp-sm" src="http://www.stratacominc.com/wp-content/uploads/2010/05/create-wizard-hp-sm-1024x522.jpg" alt="" width="614" height="313" /></a><p class="wp-caption-text">Create Wizard HP SM (click for full size)</p></div>
<p>The screen shot above illustrates a set of out of the box wizards that can be used when a user rejects a change.  Wizards may view information from one or more files, run embedded code, Javascript and call formatctrl.  Wizards offer a great amount of flexibility for complex solutions.  However, this may not be the best choice for simpler needs.</p>
<h2>Out Of Box RAD Applications</h2>
<p>Service Manager features a number of RAD applications that can request information from a user and return that data to the application.</p>
<p>Each application has subtle differences in the functionality and returned data or values.  For our example, we are going to use the RAD application, object.yes.no to pose a question with a Yes or No reply to the user.</p>
<p>The object.yes.no takes several parameters:</p>
<ul>
<li>The first is the text parameter.  Text contains the data or prompt to be presented to the user.</li>
<li> The boolean1 value identifies whether the cancel button will be available as an option.  Acceptable values for this are true or false.</li>
<li>The prompt parameter contains the name of a Service Manager variable that will hold the response coming from this call.</li>
</ul>
<div id="attachment_337" class="wp-caption alignleft" style="width: 624px"><a href="http://www.stratacominc.com/wp-content/uploads/2010/05/RAD-object-yes-no-hp-sm.jpg"><img class="size-large wp-image-337" title="RAD-object-yes-no-hp-sm" src="http://www.stratacominc.com/wp-content/uploads/2010/05/RAD-object-yes-no-hp-sm-1024x280.jpg" alt="" width="614" height="168" /></a><p class="wp-caption-text">RAD Object Yes/No (Click for full size)</p></div>
<p>The example above is being called from a Process record.  Object.yes.no will only be called if there is data to be presented to the user, which is contained in the Service Manager variable $question.  Since boolean1 is false, cancelling from this function is not an option.  Lastly, the users response will be returned from object.yes.no through the Service Manager variable $returncode.</p>
<h2>Place a Temporary Field on the Form</h2>
<p>In some situations where screen real estate is not an issue and where you do not want to annoy the user with extra screen pops every time they perform an action, a field can be placed on the form that can initiate additional code at save time or can even stop or abort the process.</p>
<p>Several examples are illustrated below.</p>
<p><a href="http://www.stratacominc.com/wp-content/uploads/2010/05/notify-owner-hp-sm.jpg"><img class="alignleft size-full wp-image-339" title="notify-owner-hp-sm" src="http://www.stratacominc.com/wp-content/uploads/2010/05/notify-owner-hp-sm.jpg" alt="" width="149" height="39" /></a></p>
<p>Notify Owner can initiate notification processing when the ticket is saved.  The value behind the field can be a stored value in the database or can be provided as an interim transient value that disappears every time it is used.</p>
<p><a href="http://www.stratacominc.com/wp-content/uploads/2010/05/close-ticket-hp-sm.jpg"><img class="alignleft size-full wp-image-338" title="close-ticket-hp-sm" src="http://www.stratacominc.com/wp-content/uploads/2010/05/close-ticket-hp-sm.jpg" alt="" width="374" height="102" /></a></p>
<p>Fields presented on tickets may have DEFAULT values, be required entry or may indicate optional workflow.  This field, when selected, would perform the additional workflow needed to complete and close the ticket.</p>
<h2>Which Solution is best?</h2>
<p>Each one of these solutions is equally valid and useful.  Which solution is best for your particular situation depends on your specific design and process needs.  Some things to think about when selecting a solution:</p>
<ul>
<li>Do you want to prevent the user from taking an action until data is collected?</li>
<li>Do you want to respond to a users action?</li>
<li>Do you want to perform additional processing when an action is selected?</li>
</ul>
<h1>Part II:  Where to Implement</h1>
<p>Now that our process has directed us to one or more solutions, where does the solution get implemented in Service Manager to cause the least amount of disruption to the existing system?   Because of the interactive nature of  the data being requested, none of the calls below may be made through Javascript.   Some of the solutions below may be combined to implement the best solution.</p>
<h2>Format Control</h2>
<p>If the solution requires a response before an action is taken (add, update, close) and the solution utilizes values on the form, format control may be the best location.  Format Control can perform calculations on values, perform validation on a value or require additional validations dependent on data in other fields.</p>
<p>Format Control does not work well as a vehicle to conditionally prompt the user and alter workflow in the save process based on the user’s response.</p>
<h2>Process</h2>
<p>Service Manager Process records offer an excellent place to call conditional workflow.  A Process may execute its own expressions and Javascript and may call one or more RAD applications in a single Process.  These records offer excellent methods of gathering information and acting on the answers.  Processes may call RAD applications (object.yes.no) and/or may call wizards to perform additional processing.</p>
<p>Additionally, Processes may call other Processes and be linked together as required.  Inserting a line into the beginning or the middle of an existing process may prove irritating.  There is no insert command so each set of information below the insertion point would need to be moved by hand.  Or, the new Process may be added as an additional record that calls the existing one.  Be forewarned.  If you choose to place your Process in front of another process, all calls to the original process will also need to be adjusted and changed.</p>
<p>Another option for implementing as a Process is to implement the call to your Process as a callout from your displayoption.  Read on for how to deploy a Process via a Displayoption.</p>
<h2>DisplayOption</h2>
<p>Display Options are invoked when a user presses a button or other type of event in Service Manager (eg: save).  The display option may be self-contained or in turn execute a display action that invokes a Process.  However, the display option may also call a single RAD application to perform some processing prior to execution of outside instructions.  The result of any expressions or code executed as part of the display option may be used to alter the display action that is executed.</p>
<p>Display options may call any RAD application so it is also perfectly valid to invoke a wizard or interactive message box RAD application from here as well.  The screen below illustrates the calling of a process from within a display option.</p>
<div id="attachment_340" class="wp-caption alignleft" style="width: 624px"><a href="http://www.stratacominc.com/wp-content/uploads/2010/05/chang-display-option-RAD-hp-sm.jpg"><img class="size-large wp-image-340 " title="chang-display-option-RAD-hp-sm" src="http://www.stratacominc.com/wp-content/uploads/2010/05/chang-display-option-RAD-hp-sm-1024x393.jpg" alt="" width="614" height="236" /></a><p class="wp-caption-text">Change Display Option (click for full size)</p></div>
<p>The example above shows a Change Display option that is calling a Process (my.message.functions) to request user interaction.  Once the Process is complete, control will be passed back to this display option.  If all has gone well, the intent it to execute the “save” display action in the upper right corner.</p>
<div id="attachment_336" class="wp-caption alignleft" style="width: 421px"><a href="http://www.stratacominc.com/wp-content/uploads/2010/05/save-display-option-hp-sm.jpg"><img class="size-full wp-image-336" title="save-display-option-hp-sm" src="http://www.stratacominc.com/wp-content/uploads/2010/05/save-display-option-hp-sm.jpg" alt="" width="411" height="91" /></a><p class="wp-caption-text">Save Display Option (click for full size)</p></div>
<p>On the post expressions tab, the variable $returncode that was set in our process is being checked.  If the user answered yes, the save is aborted by modifying our display action.</p>
<h1>Putting It All Together</h1>
<p>Now you have seen how different solutions and implementations may be used to assist in the deployment of interactivity in Service Manager.  A solution may not offer the desired results in every situation so it is beneficial to know multiple ways to deploy eloquent solutions.</p>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/interactive-questions-service-manager/&title=Interactive+Questions+In+Service+Manager&text=How+to+Create+and+Use+Interactive+Questions+If+your+workflow+is+like+most%2C+you+will+more+than+likely+have+the+necessity+to+ask+questions+at+some+point+in+the+process.%26%23160%3B%26%23160%3B%26%23160%3B+Service...&tags=service+manager%2C+the+user%2C+format+control%2C+process%2C+display%2C+caption%2C+manager%2C+service%2C+option" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/interactive-questions-service-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring Service Manager 7.x Knowledge Management</title>
		<link>http://www.stratacominc.com/configuring-service-manager-7x-knowledge-management/</link>
		<comments>http://www.stratacominc.com/configuring-service-manager-7x-knowledge-management/#comments</comments>
		<pubDate>Mon, 10 May 2010 20:17:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[configuring knowledge managment]]></category>
		<category><![CDATA[HP KM 7]]></category>
		<category><![CDATA[HP Knowledge mangement]]></category>

		<guid isPermaLink="false">http://www.stratacominc.com/?p=330</guid>
		<description><![CDATA[NOTE: This document lays out, in depth, the inner workings of the Knowledge Module setup in Service Manager 7. The document covers how to perform a Full Reindex on your existing Knowledge Bases in the Service Manager system (as the process for this has been modified in the Service Manager 7 system). This document also explains all of the background items that are used to do this.

Pre discussion Notes:

    *  There is a table named “kmknowledgebaseupdates” in SM 7 that holds a record of all Knowledge Article updates and new Knowledge articles added (and will also temporarily hold new records that get added in when a Full Reindex is done – then these are deleted back out once the “KMUpdate” schedule record wakes up and fires the Javascript responsible for committing the KnowledgeBase indexes and deleting the records out in this table… See the discussions below for more details on this).
    * What happens is when the “KMUpdate” schedule record goes in and re-indexes the knowledge articles, it goes into the records held in this table named “kmknowledgebaseupdates” (via the Javascripts that get invoked by his schedule record), indexes the knowledge articles referred to in these records, and removes these records from the “kmknowledgebaseupdates” table once that happens (This is all new in Service Manager 7).]]></description>
			<content:encoded><![CDATA[<h2><strong><span style="text-decoration: underline;">Knowledge Management Fundamentals in Service Manager 7</span></strong>:</h2>
<p>NOTE: This document lays out, in depth, the inner workings of the Knowledge Module setup in Service Manager 7. The document covers how to perform a Full Reindex on your existing Knowledge Bases in the Service Manager system (as the process for this has been modified in the Service Manager 7 system). This document also explains all of the background items that are used to do this.</p>
<p>Pre discussion Notes:</p>
<ul>
<li> There is a table named “kmknowledgebaseupdates” in SM 7 that holds a record of all Knowledge Article updates and new Knowledge articles added (and will also temporarily hold new records that get added in when a Full Reindex is done – then these are deleted back out once the “KMUpdate” schedule record wakes up and fires the Javascript responsible for committing the KnowledgeBase indexes and deleting the records out in this table… See the discussions below for more details on this).</li>
<li>What happens is when the “KMUpdate” schedule record goes in and re-indexes the knowledge articles, it goes into the records held in this table named “kmknowledgebaseupdates” (via the Javascripts that get invoked by his schedule record), indexes the knowledge articles referred to in these records, and removes these records from the “kmknowledgebaseupdates” table once that happens (<strong><em><span style="text-decoration: underline;">This is all new in Service Manager 7</span></em></strong>).</li>
</ul>
<p><strong>Section</strong><strong> I.</strong><strong> Performing a Full Reindex of Your Knowledge Bases in Service Manager 7:</strong></p>
<p><strong> </strong></p>
<p>***With the above notes in Mind, this is how you would <strong><em><span style="text-decoration: underline;">manually</span></em></strong> perform a one time, Full Re-index of any knowledgebase in the system***:</p>
<p>1.)    Go to the “Menu Navigation”  &gt; “Knowledge Management” section on the Left Hand Side in the System Navigator and double click “Manage Updates”. Then click “Stop” on this form. This stops the “KMUpdate” schedule record from running (this is the record that indexes the knowledgebase articles automatically in the background).</p>
<p>2.)    Then! Go to the “kmknowledgebaseupdates” table in the database manager and <strong><em><span style="text-decoration: underline;">remove</span></em></strong> (delete) any records there.</p>
<p>3.)    Go to the “Menu Navigation” &gt; “Knowledge Management” section on the Left Hand Side in the System Navigator and double click “Manage Knowledgebases”. Do a Search and go to the Knowledge Base you want to full reindex (Make sure you do <strong><em><span style="text-decoration: underline;">NOT</span></em></strong> have the Capability word named “AlwaysAdmin” in the operator record you are logging into the system with in order to have the Full Reindex Button not greyed out for these Knowledge Bases).</p>
<p>4.)    Click the “Full Reindex” button and the “Docs Returned” may say 0 actually, this is normal. ***What happens here then is the number of docs that are in this Knowledgebase will create the SAME NUMBER of records in the “kmknowledgebaseupdates” table à These then will need to be processed by the Javascript that gets fired by the “KMUpdate” schedule record that wakes up in step 5.).</p>
<p>5.)    Go Back to the “Manage Updates” screen (from step 1) and start back up the “KMUpdate” schedule record then (By clicking the “Start” button on this form). See Below now for additional notes on this:</p>
<p>Ok, so when you go to the “Manage Updates” section and click Start (this is if the “KMUpdate” schedule record needs to be restarted and it isn’t already up and running), you will see stats there about what is happening (Note – Clicking “Start” on this screen starts up the “KMUpdate” schedule record and this is how the knowledgebases are automatically reindexed in the background). You can click “Refresh” and see the knowledge docs that it is going through (NOTE!!! It will process ALL “kmknowledgebaseupdates” table records by indexing the knowledge articles referred to in these records and then deleting these records out of this table. It does this in 500 record increments until they are all processed &gt; It looks to hang at 500 record increments &gt; This is because if you go into the “kmknowledgebaseupdates” table and keep refreshing the record count, it is deleting these records slowly until it gets to the 500 it needs to delete and then the next 500 are processed till they are all gone).</p>
<p>NOTE! That this is the ONLY way to Fully Reindex your knowledgebases now in Service Manager 7… Steps 1.) – 5.) above have to be performed and then the KMUpdate sch record comes in and the Javascript it fires processes these “kmknowledgebaseupdates” table records and indexes the knowledge articles.</p>
<p>NOW! <strong><span style="text-decoration: underline;">After</span></strong> this initial full re index discussed above in steps 1.) – 5.) is performed, <strong><span style="text-decoration: underline;">only updates to existing knowledge articles and newly added knowledge articles will be stored in the “kmknowledgebaseupdates” table</span></strong> and then ONLY these records get processed by the “KMUpdate” schedule record – This is the case until another Full Re-Index of the Knowledgebase is performed by following steps 1.) – 5.) above.</p>
<p>LASTLY NOTE! The web services tier now (setup in the KM environment record à If this isn’t setup right in this environment record, it all fails), is responsible for using the WSDL (created by the “kmknowledgebaseupdates” “extaccess” table record à This record has the “delete” function here that is used by the system to delete out these “kmknowledgebaseupdates” table records once they have been indexed) to delete out the “kmknowledgebaseupdates” table records once they have been processed…</p>
<h2><strong>Section II. Sum It All Up:</strong></h2>
<p>So in sum, here’s how the “KMUpdate” schedule record works:</p>
<p>1.)    KMUpdate schedule record wakes up every 5 minutes and fires its Javascript.</p>
<p>2.)    The Javascript fired goes into the “kmknowledgebaseupdates” table and indexes EACH knowledge record that is referred to in each record in this table.</p>
<p>3.)    And at 500 record intervals, each of these “kmknowledgebaseupdates” table records is deleted out (via this web services tier used now – see the section below for a further discussion on this).</p>
<p>4.)    NOTE! If you want to perform a full reindex on any of your knowledgebases in SM 7… Perform steps 1.) – 5.) above in the beginning of this document and then let the “KMUpdate” sch record do the rest… This takes a while and you can monitor the progress of this in the “Manage Updates” link discussed above. You will be able to see the records in the “kmknowledgebaseupdates” table go down slowly as this processes happens (and only you will see this happening when the “Manage Updates” window appears that is has stuck at 500 record increments). After EACH run of this sch record, the “kmknowledgebaseupdates” table should have no records in it or something wrong has happened… FYI</p>
<h2><strong>Section III. Further Notes and KM Environment Record Setup:</strong></h2>
<p><strong> </strong></p>
<p>Further Notes About the Above:</p>
<p>1.)    Now! Web Services in Service Manager 7 is responsible for the deletion of the “kmknowledgebaseupdates” table records in the process explained above (so these records are deleted out of this table once the knowledge articles have been indexed). This is why the user <strong><em><span style="text-decoration: underline;">and</span></em></strong> port number has to be correct for this web services piece on the KM environment record (see screenshot below on the KM environment record in a mock system). The user specified in the environment record below must have web services access by having the “SOAPAPI” capability word. The port number (13081 in the screenshot below) will be pointed at a servlet that should be started up <strong><em><span style="text-decoration: underline;">just for the web services connection</span></em></strong> (If a Load Balancer is setup, extra steps will have to be taken to not have any other traffic directed to that servlet that has been started for this web services connection à There are ini file params for starting up this separate servlet that are not noted here)!</p>
<p>2.)    In the discussion above in Section I, it explains the form that you will see when going to “Manage Updates”. When you click the “Refresh” button on this thing, it will get to increments of 500 records and look to stop temporarily and hang à That’s because at the 500 mark, the process “Commits to the Search Engine and writes the indexes for these knowledge articles” and these 500 are then removed at this point from the “kmknowledgebaseupdates” table and you can see the number of records going down in this table if you go to the records in that table and keep refreshing the Search and count (and again note that the Web Services Connection is for just this deletion of these records once the knowledge articles have been indexed).</p>
<p>3.)    Note! There is a record out there in the “extaccess” table (name: kmknowledgebaseupdates) that should have a delete call in it à This is how the WSDL is constructed that the Knowledge Process uses to delete records out of the “kmknowledgebaseupdates” table when the time comes to do this in the process.</p>
<p>Example of a correctly setup Environment Record For SM 7 Knowledge Management:</p>
<div id="attachment_331" class="wp-caption alignleft" style="width: 310px"><a href="http://www.stratacominc.com/wp-content/uploads/2010/05/HP-SM7-Knowledge-Management-Environment-Record.jpg"><img class="size-medium wp-image-331" title="HP-SM7-Knowledge-Management-Environment-Record" src="http://www.stratacominc.com/wp-content/uploads/2010/05/HP-SM7-Knowledge-Management-Environment-Record-300x186.jpg" alt="" width="300" height="186" /></a><p class="wp-caption-text">SM 7 Knowledge Management Environment Record (click for large size)</p></div>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/configuring-service-manager-7x-knowledge-management/&title=Configuring+Service+Manager+7.x+Knowledge+Management&text=Knowledge+Management+Fundamentals+in+Service+Manager+7%3A+NOTE%3A+This+document+lays+out%2C+in+depth%2C+the+inner+workings+of+the+Knowledge+Module+setup+in+Service+Manager+7.&tags=the+%E2%80%9Ckmknowledgebaseupdates%E2%80%9D%2C+schedule+record%2C+record%2C+table%2C+records%2C+knowledge" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/configuring-service-manager-7x-knowledge-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP Service Manager Service Catalog User Selections</title>
		<link>http://www.stratacominc.com/hp-service-manager-service-catalog-user-selections/</link>
		<comments>http://www.stratacominc.com/hp-service-manager-service-catalog-user-selections/#comments</comments>
		<pubDate>Mon, 03 May 2010 15:45:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[hp service manager]]></category>
		<category><![CDATA[Service Catalog]]></category>
		<category><![CDATA[User Selections]]></category>

		<guid isPermaLink="false">http://www.stratacominc.com/?p=318</guid>
		<description><![CDATA[Now for the fun part! If you have used Service Catalog before, then you already know the ease with which you can setup these Service Catalog Items and make them available to your end users for requesting. However, with this ease comes a few issues. Sure, we can setup our “User Selections” for these Service Catalog items with ease, but with this comes the sheer fact that you cannot report on these “User Selections,” you cannot kick these “Users Selections” back to your infrastructure support teams on emails, and generally, these “User Selections” will exist in a virtual vacuum of sorts in that they are confined to the Request record (or whatever record you are using to procure your service catalog requests) in which they reside.

Well, there is a solution to this problem! With the use of Javascript we can take any of these fields from the “User Selections” and place them into actual fields on the record you are using to procure your Service Catalog Item requests. See the technical section below for information on how to do this inside of Service Manager.]]></description>
			<content:encoded><![CDATA[<h2>Service Catalog User Selections: Placing them into Actual Fields</h2>
<p>In Service Manager, have you ever run into a need to make your “User Selections” on your Service Catalog Items actually useable? The article content below will lay out an overview of Service Catalog Item “User Selections” and how you can use Javascript to make good use out these user selections.</p>
<p>“User Selections” on the Service Catalog Item. What are they? Simply put, in Service Manager, if you use the Service Catalog to allow your end users to request certain items, they have the ability to fill out a small set of fields that will contain information concerning the Service Catalog Item they are requesting. These fields that contain this user driven information are known as the Service Catalog’s “User Selections.”</p>
<p>So what? What do these “User Selections” have to do with me and my Service Manager System you might ask? Well, we as Service Manager programmers have the ability to code our Service Catalog Items to easily open Request records (of specific Request Categories) in order to procure these Service Catalog Item Requests made by our end users. So, simply speaking, we can open Request Tickets for our end user Service Catalog Item Requests that will carry the info they provide to us in these “User Selections.”</p>
<p>Now for the fun part! If you have used Service Catalog before, then you already know the ease with which you can setup these Service Catalog Items and make them available to your end users for requesting. However, with this ease comes a few issues. Sure, we can setup our “User Selections” for these Service Catalog items with ease, but with this comes the sheer fact that you cannot report on these “User Selections,” you cannot kick these “Users Selections” back to your infrastructure support teams on emails, and generally, these “User Selections” will exist in a virtual vacuum of sorts in that they are confined to the Request record (or whatever record you are using to procure your service catalog requests) in which they reside.</p>
<p>Well, there is a solution to this problem! With the use of Javascript we can take any of these fields from the “User Selections” and place them into actual fields on the record you are using to procure your Service Catalog Item requests. See the technical section below for information on how to do this inside of Service Manager.</p>
<p>Now for the technical part:</p>
<p>If, for example, you are using Request (ocmq) records to procure your Service Catalog Item Requests, you already know that the “User Selections” are all held in one field on the Request (ocmq) record named “svc.options.” This field holds these “User Selections” in an xml based format so that, when placed inside the context of a dynamic form on the request record, the user selections can be properly displayed to the user viewing the record. That’s nice, however, this does not allow us to have access to those “User Selections” for reporting, email reporting etc. (unless you want to kick back the nasty svc.options field to your users on reports and emails! But nobody wants to do that!).</p>
<p>So, below <strong><em><span style="text-decoration: underline;">is an example</span></em></strong> of a block of Javascript that can be used to go into any part of this “svc.options” field to grab out a field value and place that value into any existing field on the ocmq record. Please note, <strong><em><span style="text-decoration: underline;">for this specific example</span></em></strong>, that the content in the svc.options field on the actual ocmq record is as follows (and also note that this is a real life example of the svc.options field belonging to an ocmq record that was opened from a Service Catalog Item Request that held “User Selections”. Those “User Selections,” in this example, are held in the svc.options field inside of the ocmq record seen below):</p>
<pre><code>&gt;d svc.options in $L.file
&lt;form&gt;&lt;text id="vwdateneeded" label="Date and Time of Termination :*"&gt;4-4-09 1:30 PM&lt;/text&gt;&lt;select id="vwpriority" label="Priority :*" style="combo"&gt;Emergency&lt;option label="" /&gt;&lt;option id="0" label="Standard"&gt;Standard&lt;/option&gt;&lt;option id="1" label="Emergency"&gt;Emergency&lt;/option&gt;&lt;/select&gt;&lt;select id="vwemployeetype" label="Employee Type :*" style="combo"&gt;Permanent&lt;option label="" /&gt;&lt;option id="0" label="Permanent"&gt;Permanent&lt;/option&gt;&lt;option id="1" label="Temporary"&gt;Temporary&lt;/option&gt;&lt;option id="2" label="Consultant"&gt;Consultant&lt;/option&gt;&lt;/select&gt;&lt;text id="vwreportsto" label="Reports To :*"&gt;Test Manager&lt;/text&gt;&lt;select id="vwtypeoftetermination" label="Type of Termination :*" style="combo"&gt;VCI Termination&lt;option label="" /&gt;&lt;option id="0" label="VCI Termination"&gt;VCI Termination&lt;/option&gt;&lt;option id="1" label="Transfer Out Of VCI Domain"&gt;Transfer Out Of VCI Domain&lt;/option&gt;&lt;/select&gt;&lt;text id="vwmycomments" label="Comments *:" multiline="true"&gt;This is a Test &amp;#xD;
This is a Test&amp;#xD;
This is a Test&lt;/text&gt;&lt;/form&gt;</code></pre>
<p><em>***Editorial note &#8211; the line above needs to stay formatted as displayed for this to work correctly.  Unfortunately the line above does not wrap and is displayed under part of the content bars on the right.  If you would like to receive the full code for this particular item please email lwalker@stratacominc.com.</em></p>
<p>As you can see, this is an ugly field value to say the least! So, the below javascript is an example of how we can pull out a value in one of these “User Selections” and place it into an actual field on the ocmq record (and then we will have access to report on this field and kick it back to our users in emails as well!). Please note that you would place this block of Javascript below into the next available Javascript box in the actual Javascript section of the “ocmq” format control (Add and Update Conditions for this specific example are: category in $file=&#8221;sarterm&#8221;). This means that when an ocmq record is opened or updated and has a value of “sarterm” in the actual “category” field, this Javascript will fire on add and update. Again, this is just for our example here, but this Javascript can be applied (with modification of course to point to the right area in the svc.options field) to any instance where a User Selection must be dragged out and placed into a field on the record. Now for the script:</p>
<pre><code>//Begin Script

//Grab the current ocmq File
var file = system.vars.$file;

//Grab the svc.options field out of the ocmq record
var holdSvcOptions = file.svc_options;

//Use Basic String Functions in Javascript to Grab out the String for
//the vwreportsto field user selection.
var positionofManager = holdSvcOptions.indexOf('vwreportsto');

var grabManagerCutUp = holdSvcOptions.substring(positionofManager);

var grabManGreaterThanSymbolPos = grabManagerCutUp.indexOf('&gt;');

var grabManCutUpFurther = grabManagerCutUp.substring(grabManGreaterThanSymbolPos);

var grabManLessThanSymbolPos = grabManCutUpFurther.indexOf('&lt;');

var myManager = grabManCutUpFurther.substring(1,grabManLessThanSymbolPos);

//Place that String into our actual manager field on the ocmq record
file.manager = myManager;

//End Script
</code></pre>
<p>In Summary, you can see above that we are keying off of the value that is in the “vwreportsto” “User Selection” (inside of the svc.options field on the ocmq record) and we are dragging that value out (via basic string manipulation functions in Javascript) and placing that value into the actual “manager” field on the ocmq record (the last line in the javascript does this). So this means, for our example, that when our end user goes and requests a Service Catalog Item that opens a Request (ocmq) record of category “sarterm”, this block of code will fire on Add and Update to pull the correct “User Selection” out and place it into an actual field on the ocmq record.</p>
<p>***Now, what if we want to drag out the contents of a <strong><em><span style="text-decoration: underline;">multi text field</span></em></strong> from our User Selections and place that into an array field on our ocmq record? Below is a Block of Code that will extract the contents of a multi text User Selection from the same “svc.options” field shown above and place that into <strong><em><span style="text-decoration: underline;">an array field</span></em></strong> on the ocmq record. Please again note that you would place this block of Javascript below into the next available Javascript box in the actual Javascript section of the ocmq format control (Add and Update Conditions <strong><em><span style="text-decoration: underline;">for this example are</span></em></strong>: category in $file=&#8221;sarterm&#8221;). Please also note that the section of that svc.options field (from above) we will be referring to in this block of Javascript code is:</p>
<pre><code>…&gt;&lt;/select&gt;&lt;text id="vwmycomments" label="Comments *:" multiline="true"&gt;This is a Test &amp;#xD;
This is a Test&amp;#xD;
This is a Test&lt;/text&gt;&lt;/form&gt;</code></pre>
<p>And now the Javascript is below. Again, the Javascript will pull out the multi text user selection field value (for the field named “vwmycomments”) and place that value into an array field named “description” on the actual ocmq record. Note the use of the Javascript based “split()” function as this takes the contents of the multi text user selection and packages it into a useable array that can then be placed into the “description” field on the ocmq record:</p>
<pre><code>//Begin Script

//Grab the current ocmq File
var file = system.vars.$file;

//Grab the svc.options field out of the ocmq record
var holdSvcOptions = file.svc_options;

//Use Basic String Functions in Javascript to Grab out the Value for
//the multitext vwmycomments field user selection.
var positionofDesc = holdSvcOptions.indexOf('vwmycomments');

var grabDescCutUp = holdSvcOptions.substring(positionofDesc);

var grabDescGreaterThanSymbolPos = grabDescCutUp.indexOf('&gt;');

var grabDescCutUpFurther = grabDescCutUp.substring(grabDescGreaterThanSymbolPos);

var grabDescLessThanSymbolPos = grabDescCutUpFurther.indexOf('&lt;');

var myDesc = grabDescCutUpFurther.substring(1,grabDescLessThanSymbolPos);

//Take the multi text value you just grabbed and package it into an //array
var x = myDesc.split("&amp;#xD;");
//Place that array into the description field on the ocmq record.
file.description = x;

//End Script</code></pre>
<p>Please again note that, for this example, if an End User Selects a Service Catalog Item that fires a Request (ocmq) record of category “sarterm” then this block of code will fire and the contents of the User Selection we choose in this code (in this case it’s the contents of the user selection named “vwmycomments”) will be placed in the actual ocmq field we choose as well (in this case we place this info into the “description” field on the ocmq record).</p>
<p>How are these two blocks of Javascript code from above helpful? The answer is simple in that we are able to extract the “User Selections” we choose form the “svc.options” field and place these values into actual fields on the ocmq record (or whatever record you are using to procure you Service Catalog Item Requests). This allows us to then report on these fields, kick these fields back to users on emails, and generally have full availability to these fields at all times.</p>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/hp-service-manager-service-catalog-user-selections/&title=HP+Service+Manager+Service+Catalog+User+Selections&text=Service+Catalog+User+Selections%3A+Placing+them+into+Actual+Fields+In+Service+Manager%2C+have+you+ever+run+into+a+need+to+make+your+%26%238220%3BUser+Selections%26%238221%3B+on+your+Service+Catalog+Items+actually...&tags=the+ocmq%2C+service+catalog%2C+the+actual%2C+field%2C+record%2C+service%2C+javascript%2C+%E2%80%9Cuser%2C+catalog%2C+these" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/hp-service-manager-service-catalog-user-selections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notifications in HP Service Manager 7.x</title>
		<link>http://www.stratacominc.com/notifications-service-manager/</link>
		<comments>http://www.stratacominc.com/notifications-service-manager/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 11:43:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Consultant Blog]]></category>
		<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[service manager]]></category>

		<guid isPermaLink="false">http://blogs.stratacominc.com/?p=64</guid>
		<description><![CDATA[Out of the box, ServiceCenter/Service Manager is configured to send notifications at all of the touch points of the record lifecycle.  There are notifications for Open, Update and Close.  Additionally Change notifications include many notifications for Approval workflow.  These base notifications are called from the Object record for the file you are working on.]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: left;">Notifications in Service Manager 7.1/ServiceCenter</h2>
<p>The Notification Engine is primarily responsible for sending messages that are generated by HP ServiceCenter and Service Manager events, such as opening or closing a change or task. Administrators can edit these messages, add new messages, change the conditions that trigger the messages, and select who will receive the messages.</p>
<p>The foundation for the Notification Engine is strong and robust, allowing many different types of notifications to be generated.   The Notification file stores the definitions of the who, what, where, when and how of the notifications.  This file works in conjunction with the message file to define headers for common system events. Arguments are passed to the pre-defined messages and substituted allowing for unique subject lines for each message. </p>
<p>Out of the box, ServiceCenter/Service Manager is configured to send notifications at all of the touch points of the record lifecycle.  There are notifications for Open, Update and Close.  Additionally Change notifications include many notifications for Approval workflow.  These base notifications are called from the Object record for the file you are working on.</p>
<p>In addition to the base ServiceCenter notifications, notifications may be automatically generated from other triggers, such as the addition of an activity record or by custom methods or scripts and calling the notification engine directly.  This allows for an endless number of notifications to be generated.</p>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/notifications-service-manager/&title=Notifications+in+HP+Service+Manager+7.x&text=Notifications+in+Service+Manager+7.1%2FServiceCenter+The+Notification+Engine+is+primarily+responsible+for+sending+messages+that+are+generated+by+HP+ServiceCenter+and+Service+Manager+events%2C+such+as...&tags=notifications%2C+messages" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/notifications-service-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alerts in HP ServiceCenter/HP Service Manager</title>
		<link>http://www.stratacominc.com/alerts-hp-servicecenterhp-service-manager/</link>
		<comments>http://www.stratacominc.com/alerts-hp-servicecenterhp-service-manager/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 13:19:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Consultant Blog]]></category>
		<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[alerts]]></category>
		<category><![CDATA[hp service manager]]></category>
		<category><![CDATA[HP ServiceCenter alerts]]></category>

		<guid isPermaLink="false">http://blogs.stratacominc.com/?p=58</guid>
		<description><![CDATA[Alerts
ServiceCenter has provided very robust and in-depth tools to produce Alerts and Notifications to users based on system events.  Alerts allow an organization to define known conditions, which could automatically produce some action on the ticket, such as escalating the ticket, changing the severity, notifications, etc.
The ServiceCenter Alert Definitions, Schedule and Notification files all work [...]]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: left;">Alerts</h2>
<p>ServiceCenter has provided very robust and in-depth tools to produce Alerts and Notifications to users based on system events.  Alerts allow an organization to define known conditions, which could automatically produce some action on the ticket, such as escalating the ticket, changing the severity, notifications, etc.</p>
<p>The ServiceCenter Alert Definitions, Schedule and Notification files all work together to produce output for the Alerts.  Frequent usage of the Alerts includes:</p>
<ul>
<li>Notifications for SLA breaches</li>
<li>Notification of pending Approvals</li>
<li>Notifications of Past Due tickets</li>
<li>Notifications of Stale Tickets</li>
</ul>
<p>While many of the frequent uses for Alerts include notifications, those are far from the only uses for Alerts.  Alerts can be used to update information on a ticket or execute processes.</p>
<p>Each ticket type provides for an alert status field, which can be updated when the alert is triggered.  This status identifies the next time that a specific alert may need to be evaluated or acted upon.  Alerts run at the time when a ticket is saved and evaluates the schedule.condition against the current record.  If a match is made, the Calculation fields on the scheduling tab are used to set the expiration (Alert Time) on the schedule record that will be created.  The name used for the Alert will be the name on the scheduled event. </p>
<p><strong><em>Recommendation:  </em></strong><em>Use very clear names for your Alerts so that Administrators will know what they are looking at when troubleshooting Alerts in the schedule file.</em></p>
<p>The Calculations for Alert times allow you to schedule an alert to happen based on a specific time in the ticket or a calculated time (such as one business day prior to the implementation time).  Each alert can use a different calendar based on different needs.  Some alerts may use a 24 X 7 calendar while others may use an 8 X 5 calendar. </p>
<p>The update Information tab allows you to specify notifications that will run and/or special processes to change the existing data in the ticket.  Triggers can be turned off for these updates in order to prevent potential circular processes.  From here, one or more notifications can be kicked off.</p>
<p><strong><em>Recommendation:</em></strong><em>  In order to be able to trace system Alerts and Notifications end to end, it is a good idea to use clear and systematic names for your notifications.</em></p>
<p>There is an Alert tab on the Object record.  This allows for specification of a top level Alert that will run for that specific notification type.  Additionally, the Change module provides Alert panels in each Change and each Task phase to set off Alerts based on specific conditions.</p>
<p>The best first step is to define and map out on paper exactly what you think your organization needs.  Remember that any tool should always support your process.  When should a ticket be escalated?  Who needs to be notified?  When do they need to be notified?  What information is necessary for that step?   While you may feel the need to notify everyone for all items, be conservative about notifying users in your organization.  Excessive notifications will result in users ignoring or deleting them. </p>
<p>The Alerts in ServiceCenter are extremely powerful when defined and executed well.    When they are not set up correctly, they can have disastrous consequences.  The challenge can be in defining the notifications in a clear and concise manner.    Start small with one Alert and test it end to end.  Once you have nailed exactly what you want, continue to create the additional alerts that are required.</p>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/alerts-hp-servicecenterhp-service-manager/&title=Alerts+in+HP+ServiceCenter%2FHP+Service+Manager&text=Alerts+ServiceCenter+has+provided+very+robust+and+in-depth+tools+to+produce+Alerts+and+Notifications+to+users+based+on+system+events.%26%23160%3B+Alerts+allow+an+organization+to+define+known+conditions%2C...&tags=the+ticket%2C+alerts%2C+alert%2C+notifications%2C+ticket%2C+schedule" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/alerts-hp-servicecenterhp-service-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing for the Service Manager Web</title>
		<link>http://www.stratacominc.com/designing-service-manager-web/</link>
		<comments>http://www.stratacominc.com/designing-service-manager-web/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:04:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Consultant Blog]]></category>
		<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[service manager]]></category>
		<category><![CDATA[service manager web]]></category>
		<category><![CDATA[web client]]></category>

		<guid isPermaLink="false">http://blogs.stratacominc.com/?p=54</guid>
		<description><![CDATA[Service Manager (and versions of ServiceCenter 6+) has a fairly decent web client.  If you are using the web service, you can log on and access them via the web as well as via the desktop client.  Any functionality (calculations and validations, etc… ) that you have on the Desktop should port to the web client. 

Your success with the web client may vary based on the design of your application.  The design suggestions below are excellent suggestions, no matter what platform you are on.  Some though, are more critical to the web.
]]></description>
			<content:encoded><![CDATA[<p>Service Manager (and versions of ServiceCenter 6+) has a fairly decent web client.  If you are using the web service, you can log on and access them via the web as well as via the desktop client.  Any functionality (calculations and validations, etc… ) that you have on the Desktop should port to the web client. </p>
<p>Your success with the web client may vary based on the design of your application.  The design suggestions below are excellent suggestions, no matter what platform you are on.  Some though, are more critical to the web.</p>
<h2>Make SURE to use field aliases</h2>
<p>Any time you plan to have more than one field on your form with the same input, make sure to use field aliases.  Putting the same field on the form twice may result in unpredictable results. </p>
<h2>Avoid the usage of complex dynamic fields on your form</h2>
<ul>
<li>Some advanced methods of swapping contents of global variables during form display may not function as desired in the web.
<ul>
<li>SOLUTION – Use conditional display to display one of two fields (with different global lists) based on the needed field</li>
</ul>
</li>
<li>Dynamic drop-down dynamic fields based on other fields on the form may function unpredictably on the web.
<ul>
<li>SOLUTION – Utilize links for overly complex dynamic field lookups.  The link expressions can be calculated successfully.  That will provide much better results</li>
</ul>
</li>
</ul>
<h2> Use a form width of 176</h2>
<p>Specify the “magic” width size on your form of 176.  This will ensure that the ServiceCenter forms will expand to their full window size.  Although this may be confusing, you are not limited to fields to 176 using this method.  You can design elements beyond that position and the fields will display perfectly.   If, however, you specify a different form width, the form may not display properly based on the width of your window. </p>
<h2>Keep your QBE forms to a minimum number of fields.</h2>
<p>Specifying large fields or many fields on your QBE forms will not display nicely to the client.  On the desktop client, a QBE with a description field will take up one vertical line.  On the web, it will expand to show the full contents of the field.  Also, while on the desktop client, you can scroll left to right, that functionality is limited on the web. </p>
<h2>Use Javascript for overly complex expressions</h2>
<p>When you need to perform many actions (or have overly complex expressions) used to determine the display of a field or whether the user is an approver, choose to use Javascript over Service Manager expressions.  You have far more flexibility and can simplify expressions using this method. </p>
<h2>Make sure your home menu for the web clients contains visible and usable options</h2>
<p>If you have no visible fields on your main (home) menu form, Service Manager will hang when entering tickets. </p>
<h2>Use folders to organize your favorites</h2>
<p>Adding all your favorites into the main folder is ok when you have a few items.  If your system has dozens or hundreds of favorites, your users must scroll through many items before finding those few favorites that pertain to them. </p>
<p>Take time to organize your favorites into folders.  Use separate folders for Incidents or Interactions.  Also, take variations on the same favorite and combine them into their own folder.  </p>
<p>Use top level folders so that the user always has access to his or her favorites on the first displayed screen. </p>
<h2>Keep forms to a maximum height</h2>
<p>Using excessive heights will cause your users to have to scroll to see all the fields on your form. </p>
<p>Whenever designing a Service Manager solution that will be used on the web as well as on the Desktop client, make sure to test equally on both clients.  Just because your functionality works on the desktop client does not guarantee that it will work on the web.</p>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/designing-service-manager-web/&title=Designing+for+the+Service+Manager+Web&text=Service+Manager+%28and+versions+of+ServiceCenter+6%2B%29+has+a+fairly+decent+web+client.%26%23160%3B+If+you+are+using+the+web+service%2C+you+can+log+on+and+access+them+via+the+web+as+well+as+via+the+desktop...&tags=the+web%2C+the+desktop%2C+your+form%2C+make+sure%2C+fields%2C+field%2C+client%2C+display%2C+desktop%2C+favorites" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/designing-service-manager-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erratic Behavior for the ServiceCenter ESS Web Client</title>
		<link>http://www.stratacominc.com/erratic-behavior-servicecenter-ess-web-client/</link>
		<comments>http://www.stratacominc.com/erratic-behavior-servicecenter-ess-web-client/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 18:25:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Consultant Blog]]></category>
		<category><![CDATA[HP Service Manager 7.x]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[ESS Web Client]]></category>
		<category><![CDATA[HP Service Manager 7]]></category>
		<category><![CDATA[SM7]]></category>

		<guid isPermaLink="false">http://blogs.stratacominc.com/?p=43</guid>
		<description><![CDATA[Erratic Behavior in the HP ServiceCenter 7.1 ESS Web Client
ESS (Employee Self Service) in ServiceCenter provides a functionally slimmed down version of the full web client.  The ESS web client is designed to give the ESS users a way of opening tickets to the Service Desk and checking the status on those tickets.     Several situations [...]]]></description>
			<content:encoded><![CDATA[<h2>Erratic Behavior in the HP ServiceCenter 7.1 ESS Web Client</h2>
<p>ESS (Employee Self Service) in ServiceCenter provides a functionally slimmed down version of the full web client.  The ESS web client is designed to give the ESS users a way of opening tickets to the Service Desk and checking the status on those tickets.     Several situations were noted where the ESS client was not behaving correctly.  These resulted in a client crash or other internal failure in ESS. </p>
<p>Examples of the bad behavior include:</p>
<ul>
<li>The ESS mail URL (for an ESS client) does not work as expected</li>
<li>Record lists with one record in the open or closed records causes the ESS client to crash.</li>
</ul>
<p> In our affected system, the “New Thread: -&gt; List” option in the Service Desk profile record was enabled for the ESS profile.  Since the ESS client does not support threading, this option causes the ESS client to behave with unpredictable results.  By turning this option off, we were able to resolve both of the issues above.  It should be noted that these are just a few examples of the behavior exhibited in one example.    Other errors in ESS could also potentially be connected to this same issue.</p>
<br/><a href="http://www.socialmarker.com/?link=http://www.stratacominc.com/erratic-behavior-servicecenter-ess-web-client/&title=Erratic+Behavior+for+the+ServiceCenter+ESS+Web+Client&text=Erratic+Behavior+in+the+HP+ServiceCenter+7.1+ESS+Web+Client+ESS+%28Employee+Self+Service%29+in+ServiceCenter+provides+a+functionally+slimmed+down+version+of+the+full+web+client.%26%23160%3B+The+ESS+web+client...&tags=ess+client%2C+the+ess%2C+client" target="_blank"><img src= "http://www.socialmarker.com/bookmark.gif" border="0" /></a><noscript><a href="http://www.socialmarker.com" >Social Bookmarking</a></noscript>]]></content:encoded>
			<wfw:commentRss>http://www.stratacominc.com/erratic-behavior-servicecenter-ess-web-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: blogserv.stratacomllc.stratacominc.com @ 2010-09-05 22:20:27 -->