<?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>Clarify Solutions &#124; Dovetail Software &#187; Clarify Solutions | Dovetail Software</title>
	<atom:link href="http://dovetailsoftware.com/clarify/feed/" rel="self" type="application/rss+xml" />
	<link>http://dovetailsoftware.com/clarify</link>
	<description></description>
	<lastBuildDate>Wed, 19 Aug 2015 14:34:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.4</generator>
	<item>
		<title>What&#8217;s New in Dovetail Agent 7</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/08/19/whats-new-in-dovetail-agent-7/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/08/19/whats-new-in-dovetail-agent-7/#comments</comments>
		<pubDate>Wed, 19 Aug 2015 14:34:50 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Amdocs Clarify CRM]]></category>
		<category><![CDATA[Dovetail Agent]]></category>
		<category><![CDATA[logistics]]></category>
		<category><![CDATA[part request]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6586</guid>
		<description><![CDATA[<p>This week we released <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent version 7</a>. Here’s a quick rundown of the major changes.</p>
<p>&#160;</p>
<p> Part Requests
<p>Logistics customers will be happy to know that we’ve brought Part Request functionality into our latest Dovetail Agent platform. This includes: Create and Edit Part Request Headers and Part Request Details Part Request Workflow operations: Accept,Assign,Dispatch,Forward,Reject,Yank,Close,Reopen Part Request Actions: Create New Part Request, Replicate Part Request Part Requests are available in My Work, Queries, Recent Items, and Search Part Request Header
<p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.header.png"><img title="pr.header" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="pr.header" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.header_thumb.png" height="410"></a></p>
<p> Part Request Detail
<p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.detail.png"><img title="pr.detail" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="pr.detail" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.detail_thumb.png" height="410"></a></p>
<p>&#160;</p>
<p> Batch Actions – Change Status and Log Notes
<p>Change Status and Log Note are now available as batch actions, making it easy to log a <a href="http://dovetailsoftware.com/clarify/gsherman/2015/08/19/whats-new-in-dovetail-agent-7/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/08/19/whats-new-in-dovetail-agent-7/">What&rsquo;s New in Dovetail Agent 7</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This week we released <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent version 7</a>. Here’s a quick rundown of the major changes.</p> <p>&nbsp;</p> <h2>Part Requests</h2> <p>Logistics customers will be happy to know that we’ve brought Part Request functionality into our latest Dovetail Agent platform. This includes: <ul> <li>Create and Edit Part Request Headers and Part Request Details </li> <li>Part Request Workflow operations: Accept,Assign,Dispatch,Forward,Reject,Yank,Close,Reopen </li> <li>Part Request Actions: Create New Part Request, Replicate Part Request </li> <li>Part Requests are available in My Work, Queries, Recent Items, and Search</li></ul> <h3>Part Request Header</h3> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.header.png"><img title="pr.header" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="pr.header" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.header_thumb.png" height="410"></a></p> <h3>Part Request Detail</h3> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.detail.png"><img title="pr.detail" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="pr.detail" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/pr.detail_thumb.png" height="410"></a></p> <p>&nbsp;</p> <h2>Batch Actions – Change Status and Log Notes</h2> <p>Change Status and Log Note are now available as batch actions, making it easy to log a note or change the status of many cases or subcases at one time.</p> <p>&nbsp;</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/batch.png"><img title="batch" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="batch" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/batch_thumb.png" height="442"></a></p> <p>&nbsp;</p> <h2>Range select</h2> <p>On the query results grid (such as My Work), users can shift-click to select all checkboxes in-between the first one clicked and the second one that is shift-clicked. </p> <p>This makes it easy to select a set of items in order to perform batch actions on them.</p> <p>&nbsp;</p> <h2>Additional niceties</h2> <ul> <li>My Work &#8211; automatically remember the last selected tab </li> <li>Notes are no longer required when closing a case or subcase </li> <li>The contact page now has a <em>Create Case</em> Actions menu option, making it easy to create a case for this contact:</li></ul> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/contact.png"><img title="contact" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="contact" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/contact_thumb.png" height="301"></a></p> <p>&nbsp;</p> <h2>Easily turn off unused items</h2> <p>Workflow Items (case, subcase, solution, part request) can be easily disabled with the <em><a href="https://support.dovetailsoftware.com/documentation/Dovetail%20Agent/7.0.0/html/install-guide.html#enable-features">FeatureEnabled configuration settings</a></em>. </p> <p>For example, with everything enabled:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/mywork-all.png"><img title="mywork-all" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="mywork-all" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/mywork-all_thumb.png" height="254"></a></p> <p>and with just cases and subcases enabled (solutions and part requests are disabled, thus hidden from view):</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/mywork-some.png"><img title="mywork-some" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="mywork-some" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/mywork-some_thumb.png" height="256"></a></p> <p>&nbsp;</p> <p>And this is accomplished with just a simple configuration change – no code changes are necessary.</p> <p>&nbsp;</p> <h2>Summary</h2> <p>Obviously, the major feature here is Part Requests – but we’ve also added enhancements that will benefit those that use cases, subcases, and solutions as well. </p> <p>As someone who uses this application every day in production use, I’m thrilled with the state of the app – and it keeps getting better!</p> <p>For a complete list of enhancements and bug fixes, <a href="http://bit.ly/WhatsNew70">refer to the What’s New section in the Agent 7 documentation</a>.</p>  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/08/19/whats-new-in-dovetail-agent-7/">What&rsquo;s New in Dovetail Agent 7</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/08/19/whats-new-in-dovetail-agent-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Considering SaaS to Replace Your Legacy Amdocs/Clarify Deployment?</title>
		<link>http://dovetailsoftware.com/clarify/dgreyson/2015/08/11/considering-saas-to-replace-your-legacy-amdocsclarify-deployment/</link>
		<comments>http://dovetailsoftware.com/clarify/dgreyson/2015/08/11/considering-saas-to-replace-your-legacy-amdocsclarify-deployment/#comments</comments>
		<pubDate>Tue, 11 Aug 2015 17:18:49 +0000</pubDate>
		<dc:creator><![CDATA[David Greyson]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[David Greyson]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Case Management]]></category>
		<category><![CDATA[CRM providers]]></category>
		<category><![CDATA[Dovetail]]></category>
		<category><![CDATA[Dovetail Clarify]]></category>
		<category><![CDATA[Dovetail Software]]></category>
		<category><![CDATA[Legact software to SaaS]]></category>
		<category><![CDATA[migration to SaaS]]></category>
		<category><![CDATA[on-prem to SaaS]]></category>
		<category><![CDATA[on-premise software]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[SaaS costs]]></category>
		<category><![CDATA[SaaS solutions]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6561</guid>
		<description><![CDATA[<p>On-Prem to SaaS
<p>Over the last 15 years or so as legacy Amdocs/Clarify deployments gradually began to be replaced by other on premise CRM providers such as SAP and Siebel (two we used to see often), companies somewhat knew what they were getting into. They had experience implementing a fairly similar CRM at least once by that point. They knew it was going to be a relatively timely, resource intensive and costly upfront expense to rip and replace.</p>
<p>However, as SaaS and various other hosted CRM offerings came along, the enticement of a less costly upfront expenditure, combined with more out-of-the-box configurability from the user and admin standpoint showed promised.</p>
<p>Whether it’s an on premise or SaaS solution being considered for rip-and-replace to legacy Clarify deployment, they both have serious challenges that require extremely careful forethought to help ensure success <a href="http://dovetailsoftware.com/clarify/dgreyson/2015/08/11/considering-saas-to-replace-your-legacy-amdocsclarify-deployment/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/dgreyson/2015/08/11/considering-saas-to-replace-your-legacy-amdocsclarify-deployment/">Considering SaaS to Replace Your Legacy Amdocs/Clarify Deployment?</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[
<h2>On-Prem to SaaS</h2>
<p>Over the last 15 years or so as legacy Amdocs/Clarify deployments gradually began to be replaced by other on premise CRM providers such as SAP and Siebel (two we used to see often), companies somewhat knew what they were getting into. They had experience implementing a fairly similar CRM at least once by that point. They knew it was going to be a relatively timely, resource intensive and costly upfront expense to rip and replace.</p>
<p>However, as SaaS and various other hosted CRM offerings came along, the enticement of a less costly upfront expenditure, combined with more out-of-the-box configurability from the user and admin standpoint showed promised.</p>
<p>Whether it’s an on premise or SaaS solution being considered for <em>rip-and-replace</em> to <em>legacy</em> Clarify deployment, they both have serious challenges that require extremely careful forethought to help ensure success and/or long-term value. At the very least, our 20 years of experience with all things Clarify/Amdocs has shown us just that. Today though, we’re going to focus on specifics to strongly take into account if considering a SaaS offering to replace Clarify.</p>
<h2><img class="alignleft size-medium wp-image-6568" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/08/Software-as-aS-300x240.jpg" alt="Dovetail Software as a Service " />Is SaaS Right for your Clarify Replacement?</h2>
<p>First off, SaaS solutions are somewhat rare for major Clarify replacements for a number of reasons.  They tend to be less “customizable” (by design/SaaS-power of one) and organizations with somewhat rigid change tolerances, coupled with highly customized legacy CRM applications, don’t particularly mesh well with SaaS offerings in this type of scenario. If you’re an organization with this type of environment, be particularly mindful.</p>
<p>Some SaaS solutions are actually quite “customizable” though. When organizations want to perform some true “customizing” (not configuring) they may need to hire new developers skilled in that SaaS offering. If they want to bring them in as full-time employees, they can also be difficult to find.  If they choose to use in-house tech talent, they’ll need to be trained for new skills, which take both significant time and financial resources. Since source code is very rarely, if ever, shared with SaaS offerings, the amount of integration and customizing is typically limited to on premise solutions that allow for such.</p>
<h2>Costs to Consider</h2>
<p>On the surface, SaaS applications can seem less expensive upfront and sometimes they truly are in a vanilla Clarify legacy environment which is OK with significant change, but there are different types of costs to consider that greatly affect long term value.</p>
<p>SaaS typically offers “named users”.  If you have 100 users, you need 100 licenses (not the case with concurrent licenses).  You have to manage users far more carefully, as well (add a user, new license, new unaccounted for cost) (team shrinks, users need to be immediately cancelled to avoid wasteful spending). If you have sporadic users, perhaps managers that only monitor hotspots here and there or executives that review high-level numbers once a week, those users still require the same costly named-license as a full-time user. More expensive Admin user licenses are common, too. SaaS subscriptions can exceed one-time perpetual license deployments in only three years. Five years is typically the absolute max. And that’s before considering a data migration and customization costs to mimic imperative existing workflows that may be too rigid to be forced into out of box SaaS functionality as addressed previously.</p>
<p>There are important data security implications to note in a SaaS offering when hosting in the cloud, outside of one’s protected internal firewalls. From a vendor vetting standpoint, it is far more work for your security team to review that the vendor is taking the proper precautions to ensure the safety of the data that’s being hosted. Contractually, it involves more legal resources as well. Those pieces are typically short lived, but they do not come without a certain level of effort from multiple internal resources. Government and financial institutions for example are exceedingly stringent with their data security requirements. The amount of internal resources to vet and contract with SaaS vendors is no small effort.</p>
<h2>User Tolerance</h2>
<p>The final consideration is the tolerance your user base has to change. For as long as reasons why the success or failure of application implementations have been studied, the number one reason that stands firmly alone the top for success or failure is user acceptance. Will your user population be able to and/or willing to adapt to the point that the implementation can be labeled successful? Do you have a technically savvy bunch? Do you have a not-so-technically savvy bunch? Combination of the two perhaps? Pushing rigid change all at once with a total data migration to a new system can be shocking to those in their comfort zone and they may never really get back up to the level of efficiency they enjoyed with the old system. Weigh this carefully from a user and technical culture standpoint. <em>It could not be more important.</em></p>
<h2>Dovetail&#8217;s Unique Solution</h2>
<p>Dovetail offers by far the most unique solution on the market to all of the issues listed above. We offer zero data migration, a level of comfort enjoyed by those users less apt to change since Dovetail mimics many Clarify workflows and verbiage. We also offer efficient, value oriented concurrent user licensing, source code for developers based on a common .NET platform, and probably <em>the most important thing</em>; the ability to roll user groups on to Dovetail at different times since we tie directly into the back-end database and no data migration is needed. That means customers can strongly mitigate risk and disruption to the business by allowing some groups to faze on to the system while others continue using the legacy Clarify client. All the data works together and interacts the same, even in a hybrid environment. It may feel like software magic to those who have experienced a big, painful cut over, but it’s just Dovetail’s very unique offering that has made for some extremely happy customers over the years. This type of scenario could not be better tailored to Dovetail.</p>
<p>Please consider <a href="http://dovetailsoftware.com/get-more-information/">reaching out</a> to us to learn more if this is of interest. Cheers and best to you in your efforts to maximize your legacy Clarify investment!</p>
  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/dgreyson/2015/08/11/considering-saas-to-replace-your-legacy-amdocsclarify-deployment/">Considering SaaS to Replace Your Legacy Amdocs/Clarify Deployment?</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/dgreyson/2015/08/11/considering-saas-to-replace-your-legacy-amdocsclarify-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIET: DELETE + INSERT instead of UPDATE</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/30/diet-delete-insert-instead-of-update/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/30/diet-delete-insert-instead-of-update/#comments</comments>
		<pubDate>Tue, 30 Jun 2015 19:13:06 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Amdocs Clarify]]></category>
		<category><![CDATA[ArchiveManager]]></category>
		<category><![CDATA[diet]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6552</guid>
		<description><![CDATA[<p>When we have to insert, update, or delete data, <a href="https://support.dovetailsoftware.com/selfservice/products/show/ArchiveManager">DIET (Dovetail ArchiveManager)</a> is often the tool of choice.</p>
<p> Updating an object
<p>Typically, when we want to update some data, we just need to define its uniqueness properly.</p>
<p>For example, if I wanted to update a business rule property name,&#160; I could define its uniqueness as a combination of its object type + name.</p>
<p>For example:</p>
<p> [crayon-55d6989454cea212670007/]
<p>If I used DIET to import this file, and this prop_name&#160; record didn’t exist in the database, then it would do an INSERT, which would create this prop_name record.</p>
<p>If I used DIET to import this file, and this prop_name record did exist in the database, then it would do an UPDATE, which would update the existing prop_name record. This would allow me to update the path or max length of that rule <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/30/diet-delete-insert-instead-of-update/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/30/diet-delete-insert-instead-of-update/">DIET: DELETE + INSERT instead of UPDATE</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>When we have to insert, update, or delete data, <a href="https://support.dovetailsoftware.com/selfservice/products/show/ArchiveManager">DIET (Dovetail ArchiveManager)</a> is often the tool of choice.</p> <h2>Updating an object</h2> <p>Typically, when we want to update some data, we just need to define its uniqueness properly.</p> <p>For example, if I wanted to update a business rule property name,&nbsp; I could define its uniqueness as a combination of its object type + name.</p> <p>For example:</p> 

<pre class="crayon-plain-tag">OBJECT TYPE="prop_name", NAME="commitment case id" 
UNIQUE_FIELD=obj_type, prop_name 
    FIELDS 
        obj_type=30;     /* object type 30 = commit_log */ 
        prop_name="Case ID"; 
        path_name="case_commit2case:id_number";
        subtype=0;  
        val_type=0; 
        max_len=255; 
    END_FIELDS 
END_OBJECT NAME="commitment case id"</pre> 

<p>If I used DIET to import this file, and this prop_name&nbsp; record <strong>didn’t</strong> exist in the database, then it would do an INSERT, which would create this prop_name record.</p> <p>If I used DIET to import this file, and this prop_name record <strong>did</strong> exist in the database, then it would do an UPDATE, which would update the existing prop_name record. This would allow me to update the path or max length of that rule property.</p> <p>This syntax allows us to update the <strong>non-unique</strong> fields of a record.</p> <h2>Updating the unique fields</h2> <p>Updating a unique field on an object is not always as straight-forward.</p> <p>A common way to do this is to delete the existing record by using the PURGE option of DIET, and then doing a second DIET IMPORT run to insert the new record. It’s two operations, but it works. This only works if you don’t have any foreign keys that reference the object that you’re deleting.</p> <p>A second option is to use objid as a unique field, as that doesn’t change. But use of objids can cause problems when using the same file on different databases. So the import file may work in your development database, but not production. </p> <p>A third option is a seldom-used feature of DIET, which allows a&nbsp; DELETE + an INSERT in one operation. This is a cool little trick that not everyone knows about. Again, this only works if you don’t have any foreign keys that reference the object that you’re deleting. </p> 

<h2>Update daylight savings time records</h2> <p>A real-world example of this is updating the daylight savings time records. When the <a href="https://en.wikipedia.org/wiki/Energy_Policy_Act_of_2005#Change_to_daylight_saving_time">start and end dates for daylight savings changed starting in 2007</a>, those daylight_hr records needed to be updated. </p> <p>The uniqueness for daylight_hr records was the combination of start_time + the relation to the time_zone. </p> <p>But since we want to change the start_time (and end_time), we can’t use the standard syntax. And since no other tables have foreign keys that point to daylight_hr, we can do this DELETE + INSERT trick in one file.</p> <p>Here’s an example:</p>

<pre class="crayon-plain-tag">DELETE TYPE="daylight_hr", NAME="delete_2007_Pacific_Standard_Time"
UNIQUE_FIELD=start_time 
UNIQUE_RELATION=daylight_hr2time_zone
 FIELDS
   start_time = DATE "04/01/2007 02:00:00";
 END_FIELDS
 RELATIONS
   TO_NAME="Pacific_Standard_Time" REL="daylight_hr2time_zone";
 END_RELATIONS
END_DELETE NAME="delete_2007_Pacific_Standard_Time"


OBJECT TYPE="daylight_hr", NAME="insert_2007_Pacific_Standard_Time"
UNIQUE_FIELD=start_time 
UNIQUE_RELATION=daylight_hr2time_zone
 FIELDS
   start_time = DATE "03/11/2007 02:00:00";
   end_time = DATE "11/04/2007 02:00:00";
 END_FIELDS
 RELATIONS
   TO_NAME="Pacific_Standard_Time" REL="daylight_hr2time_zone";
 END_RELATIONS
END_OBJECT NAME="insert_2007_Pacific_Standard_Time"</pre>

<p>We can have all that information in one DAT file, and use DIET’s import option. DIET will DELETE the old daylight_hr record, INSERT a new one with the correct dates, and RELATE it to the correct time_zone. </p> <p>And we can do this with just one DAT file, and one execution run of DIET. Pretty cool.</p> <p>As I mentioned, that DELETE element is rarely used, but can be super useful in certain circumstances. The <a href="https://support.dovetailsoftware.com/selfservice/products/documentation/latest/ArchiveManager">DIET documentation</a> has more details on the DELETE element.</p> <p>Just one more tool to add to your bag of tricks.</p>  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/30/diet-delete-insert-instead-of-update/">DIET: DELETE + INSERT instead of UPDATE</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/30/diet-delete-insert-instead-of-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From Grunt to Gulp</title>
		<link>http://dovetailsoftware.com/clarify/cjennings/2015/06/25/from-grunt-to-gulp/</link>
		<comments>http://dovetailsoftware.com/clarify/cjennings/2015/06/25/from-grunt-to-gulp/#comments</comments>
		<pubDate>Thu, 25 Jun 2015 20:43:47 +0000</pubDate>
		<dc:creator><![CDATA[Craig Jennings]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Craig Jennings]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6548</guid>
		<description><![CDATA[<p>With the release of Agent 6, we hit a lot of milestones in our app. Agent became a true Single-page Application, we implemented a global Nav Menu that could be accessed anywhere, we upgraded the infrastructure to the latest version, and many more things. Along with this update, one goal we had was to rethink our frontend automation.</p>
<p>At the time, we used a tool called <a href="http://gruntjs.com/">Grunt</a>. This is a node-based task runner. It allows you to define and run tasks that are often repeated in the development process such as compilations, optimizations, file copying, and others. <a href="http://gulpjs.com/">Gulp</a> is also a task automation tool but implemented differently with different objectives that we&#8217;ll discuss later in this post.</p>
<p> The Problem
<p>We saw that our gruntfile was getting out of control. It had grown to over 17 separate tasks with some <a href="http://dovetailsoftware.com/clarify/cjennings/2015/06/25/from-grunt-to-gulp/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/cjennings/2015/06/25/from-grunt-to-gulp/">From Grunt to Gulp</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[
<p>With the release of Agent 6, we hit a lot of milestones in our app. Agent became a true Single-page Application, we implemented a global Nav Menu that could be accessed anywhere, we upgraded the infrastructure to the latest version, and many more things. Along with this update, one goal we had was to rethink our frontend automation.</p>
<p>At the time, we used a tool called <a href="http://gruntjs.com/">Grunt</a>. This is a node-based task runner. It allows you to define and run tasks that are often repeated in the development process such as compilations, optimizations, file copying, and others. <a href="http://gulpjs.com/">Gulp</a> is also a task automation tool but implemented differently with different objectives that we&#8217;ll discuss later in this post.</p>
<h2>The Problem</h2>
<p>We saw that our gruntfile was getting out of control. It had grown to over 17 separate tasks with some configurations spanning over 50 lines! This was definitely a problem of our own creation, but here was our chance to rethink our strategy. This was also a chance to see if any better tools existed.</p>
<h2>The Wishlist</h2>
<p>So we sat down and started thinking through our wishlist of things we&#8217;d like from our automation.</p>
<ul>
	<li>Easy to understand</li>
	<li>Fast</li>
	<li>Simple to change</li>
	<li>Good support (plenty of help online if needed)</li>
</ul>
<p>In looking at our list, we found a few points that grunt struggled to fulfill. Namely, the first 3. Grunt&#8217;s &#8220;configuration&#8221;-style syntax can be quite confusing if you&#8217;re not sure what you&#8217;re looking at. For example, this was one of our tasks:</p>
<pre class="crayon-plain-tag">jshint: {
  options: {
    jshintrc: '.jshintrc'
  },

  gruntfile: {
    src: 'Gruntfile.js'
  },

  web: {
    src: // files
  },

  test: {
    src: // files
  }
},</pre>
<p>At first glance, it might look like there are 4 subtasks, but really there are only 3 while one, the <code>options</code>, is configuring the task for the other subtasks. Once you have this knowledge it&#8217;s easier to read, but when looking at this code for the first time, it can be very confusing. We had many more examples similar to this where it just wasn&#8217;t easy to see what the task was doing easily.</p>
<p>The second point, &#8216;fast&#8217; was also hard for grunt. While it wasn&#8217;t slow, it also wasn&#8217;t very fast. Running tasks seemed sluggish, and running a task that in-turn ran multiple tasks really showed grunt&#8217;s weakness: sequential execution. While sometimes it&#8217;s nice to have a known order of execution, most tasks are mutually exclusive and can be run in parallel without stepping on each other&#8217;s toes. Grunt, however, doesn&#8217;t support concurrent execution, so these multi-task tasks took even longer.</p>
<p>Being simple to change became an issue partially because of grunt and partially because of our own bad practice. As our app grew, our tasks grew. The patterns that grunt encouraged became unwieldy and hard to maintain, but this was because to our app complexity requiring these complex tasks.</p>
<h2>The Replacement</h2>
<p>Gulp has been taking the javascript automation world by storm. In Javascript Weekly there&#8217;s almost always a token gulp article, and major projects like Angular have switched to using gulp over grunt. This perked our interest when deciding what direction to take our automation. As we investigated gulp, we saw that it fulfilled more on our wishlist than grunt did.</p>
<p>Easy to understand &#8211; gulp&#8217;s syntax is more declarative, making understanding a task easier at a glance than the configuration of grunt. As you &#8220;pipe&#8221; files from tool to tool, you can almost read exactly what is happening:</p>
<pre class="crayon-plain-tag">gulp.src('path/to/files')
  .pipe(less({
    plugins: [cleancss],
  }))
  .pipe(concat('styles.css'))
  .pipe(gulp.dest(dest));</pre>
<p>Speed is another area where gulp trumps grunt. It is specifically the concurrency I wrote about earlier that allows for this. While grunt cannot run tasks concurrently, gulp can. For tasks that have multiple subtasks, this looked like it would create big gains in the speed department.</p>
<p>Simple to change &#8211; readability is a big help in this area, but we also learned that this would come down to how we wrote the tasks as much as the syntax of the tool. Switching to gulp gave us a second chance at this.</p>
<p>Lastly, gulp has great support. There are <a href="https://github.com/gulpjs/gulp/tree/master/docs/recipes">recipes</a> in the repo itself and many, many <a href="https://github.com/gulpjs/gulp/blob/master/docs/README.md#articles">tutorials</a> online on how to get started.</p>
<h2>The Execution</h2>
<h3>Setup</h3>
<p>After seeing our gruntfile grow to an unmanageable size, I wanted to avoid getting into that same state with gulp. One <a href="https://github.com/gulpjs/gulp/blob/master/docs/recipes/split-tasks-across-multiple-files.md">recipe</a> describes how to split up your tasks per file. I liked that idea, but I wanted to be a little more verbose about what tasks were available to the developer when they opened up the gulpfile without having to dive into a tasks directory or open up individual files and read the tasks inside. After searching around for a little while, I settled on this pattern:</p>
<p>Directory Structure</p>
<pre class="crayon-plain-tag">gulpfile
gulp/
|--index.js
|--tasks/
   |--task1.js
   |--task2.js</pre>
<p>&nbsp;</p>
<p>gulp/index.js</p>
<pre class="crayon-plain-tag">var gulp = require('gulp');

module.exports = function(tasks) {
 tasks.forEach(function(name) {
   require('./tasks/' + name);
 });

 return gulp;
};</pre>
<p>gulpfile.js</p>
<pre class="crayon-plain-tag">var gulp = require('./gulp')([
  'task1',
  'task2',
]);

gulp.task('default', ['task1', 'task2']);</pre>
<p>&nbsp;</p>
<p>This allows me to easily create and pull in new tasks, but I can still get a gist of all my available tasks by just opening the gulpfile. This structure also allows for tasks that don&#8217;t need to be visible (other top-level tasks just depend on them) to not muddy up the code. For example, we inject a cache buster when optimizing our code, which I split into a different task but that task never needs to be run by itself, just when the optimize task is run. I don&#8217;t have to list the &#8216;cache-buster&#8217; task in the gulpfile, only the &#8216;optimize&#8217; task.</p>
<h3>Configuration</h3>
<p>The next step was to figure out how to handle code paths in the tasks. Some tasks depended on the same code paths meaning I&#8217;d be duplicating those paths in each task definition. As we had experienced before with our gruntfile, what if a path changed? I&#8217;d have to make sure that each spot where those files are referenced was updated. Instead of dealing with that like we had before, I came up with a simpler solution: a config file. This file lives in gulp/ as config.json. It holds all the file paths needed for every task, and each task just pulls in the config file and uses the variable it needs.</p>
<p>gulp/config.json</p>
<pre class="crayon-plain-tag">{
  "files": {
    "scripts": "public/scripts"
  }
}</pre>
<p>&nbsp;</p>
<p>gulp/tasks/jshint.js</p>
<pre class="crayon-plain-tag">var config = require('../config.json');
var gulp = require('gulp');
var jshint = require('gulp-jshint');

gulp.task('jshint', function() {
  return gulp.src(config.files.scripts)
    .pipe(jshint());
});</pre>
<p>&nbsp;</p>
<p>gulp/tasks/watch.js</p>
<pre class="crayon-plain-tag">var config = require('../config.json');
var gulp = require('../index')([
  'jshint',
]);

gulp.task('watch', function() {
  gulp.watch(config.files.scripts, ['jshint']));
});</pre>
<p>&nbsp;</p>
<p>Now if the path of the scripts changes, I only have to change the config.json file and the dependent tasks stay the same.</p>
<h3>Tasks</h3>
<p>After all the infrastructure was in place, it was very easy to start writing tasks that we needed. As our task list grows and needs change, the complexity of our gulpfile and setup won&#8217;t. I was able to copy files, optimize code, compile LESS, watch for changes and even implement livereload without a single task file growing to over 30 lines of code.</p>
<h2>Conclusion</h2>
<p>So to recap, after letting our gruntfile fall into disarray and getting frustrated with it&#8217;s complexity and sluggish speed, we decided to see if there were greener pastures. After investigating what we wanted in an automation tool, we found that gulp allowed for easier syntax, simpler task setup, and faster task execution. By leveraging some shortcuts and tools of gulp like cache and livereload, we&#8217;ve seen a dramatic increase in the productivity of our frontend development due to gulp, all while having a simpler structure that&#8217;s easy for new and existing customers to get caught up on.</p>
  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/cjennings/2015/06/25/from-grunt-to-gulp/">From Grunt to Gulp</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/cjennings/2015/06/25/from-grunt-to-gulp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s New in Dovetail Agent 6</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/24/whats-new-in-dovetail-agent-6/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/24/whats-new-in-dovetail-agent-6/#comments</comments>
		<pubDate>Wed, 24 Jun 2015 16:41:59 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Amdocs Clarify CRM]]></category>
		<category><![CDATA[Clarify]]></category>
		<category><![CDATA[Dovetail Agent]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6537</guid>
		<description><![CDATA[<p>This week we released <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent version 6</a>. Here’s a quick rundown of the major changes.</p>
<p>&#160;</p>
<p> Faster all around
<p>We’ve improved performance throughout the application, both on the front and back-end.</p>
<p>On the back-end, we’ve upgraded our major infrastructure components (including <a href="https://github.com/DarthFubuMVC/fubumvc">FUBU MVC</a>, <a href="https://github.com/structuremap/structuremap">StructureMap</a>, and <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20SDK">Dovetail SDK</a>), which improves the application startup time, as well as improves the time to process every request. We’ve also made improvements to the SQL generation module, which improves the performance of many database queries. In addition, queries are no longer executed on items without any relevant filters, which means fewer queries and better overall performance.</p>
<p>On the front-end, Dovetail Agent is now a true <a href="https://en.wikipedia.org/wiki/Single-page_application">SPA (Single Page Application)</a>, which means navigating through the application is much faster. There are less requests from the client to the server, and <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/24/whats-new-in-dovetail-agent-6/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/24/whats-new-in-dovetail-agent-6/">What&rsquo;s New in Dovetail Agent 6</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This week we released <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent version 6</a>. Here’s a quick rundown of the major changes.</p> <p>&nbsp;</p> <h2>Faster all around</h2> <p>We’ve improved performance throughout the application, both on the front and back-end.</p> <p>On the back-end, we’ve upgraded our major infrastructure components (including <a href="https://github.com/DarthFubuMVC/fubumvc">FUBU MVC</a>, <a href="https://github.com/structuremap/structuremap">StructureMap</a>, and <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20SDK">Dovetail SDK</a>), which improves the application startup time, as well as improves the time to process every request. We’ve also made improvements to the SQL generation module, which improves the performance of many database queries. In addition, queries are no longer executed on items without any relevant filters, which means fewer queries and better overall performance.</p> <p>On the front-end, Dovetail Agent is now a true <a href="https://en.wikipedia.org/wiki/Single-page_application">SPA (Single Page Application)</a>, which means navigating through the application is much faster. There are less requests from the client to the server, and less data (scripts, templates, css, etc.) being transferred. From a user’s standpoint, it definitely feels faster. </p> <p>&nbsp;</p> <h2>Navigation Menu</h2> <p>The Navigation Menu (the left sidebar that shows up on the console pages (My Work, Queues, Queries, Searches, Recent Items)) is now accessible from every page in the app. This allows users to access the Navigation menu from anywhere without having to return to the home page. This makes moving through the application much easier and faster.</p> <p>In addition, the Navigation Menu can be hidden, and the page content will expand to fill the entire page. The app will automatically remember the menu’s hidden/displayed state, so if you want it hidden, it’ll stay hidden (until you explicitly display it again).</p> <p>Here’s a short <a href="https://www.youtube.com/watch?v=ypmwnWiKroQ">video showing the improved navigation menu</a>:</p> <p>&nbsp;</p>

<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='360' src='http://www.youtube.com/embed/ypmwnWiKroQ?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0' allowfullscreen='true'></iframe></span>

<p>&nbsp;</p> 

<p>From the video you can also see how quick the app is. </p>

<p>And don’t forget about the <strong>Keyboard Shortcuts</strong>, which also allow users to quickly navigate through the app.</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/shortcuts1.png"><img title="shortcuts" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="shortcuts" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/shortcuts_thumb1.png" height="350"></a></p> <p>&nbsp;</p> <h2>Advanced Search</h2> <p>We’ve added a new advanced search page to the app. When you search using an internet search engine such as <a href="https://www.google.com/">Google</a>, most people simply type into the standard search box. But there’s also a <em><a href="https://www.google.com/advanced_search">Google Advanced Search</a></em> option, which helps guide you through a more, uh, advanced search. We provide a similar option.</p> <p>From the <em>Search</em> page, simply click the <em>Advanced Search</em> link, and you’ll be able to create more advanced searches easily.  <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/advanced1.png"><img title="advanced" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="advanced" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/advanced_thumb1.png" height="354"></a>  <p>Read more about <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/12/seek-and-ye-shall-find-the-power-of-search-in-dovetail-apps/">the power of search in Dovetail apps.</a>  <p>&nbsp; <h2>Default Avatars</h2> <p>Previously, the default avatar was the same for everybody:  <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/old.avatar.png"><img title="old.avatar" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="old.avatar" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/old.avatar_thumb.png" height="484"></a>  <p>Now, the default avatar is the user’s initials, which provides more context and makes it easier to visually parse the history.  <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/new.avatar.png"><img title="new.avatar" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="new.avatar" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/new.avatar_thumb.png" height="484"></a>  <p>Of course, it looks even better when user’s have uploaded their own avatar:  <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/good.avatars.png"><img title="good.avatars" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="good.avatars" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/good.avatars_thumb.png" height="484"></a>  <p>&nbsp; <h2>Additional Niceties</h2> <ul> <li>The activity spinner and a “Searching…’ heading is now displayed when waiting for search results to appear  <li>Added a “Case Type” filter for subcases, which filters on the case type of the related case for the subcase  <li>Empty tabs for My Work now show a better message to the user – especially helpful for new users and the “first-run” experience.</li></ul> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/MyWork.png"><img title="MyWork" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="MyWork" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/MyWork_thumb.png" height="179"></a></p> <p>&nbsp;</p> <h2>Summary</h2> <p>We’re really excited for this release – the performance improvements are definitely noticeable, and the Navigation Menu improvements really do make it much quicker and easier to navigate throughout the app. </p> <p>Couple that with the additional enhancements and niceties, and it all adds up to a pretty awesome release.</p>  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/24/whats-new-in-dovetail-agent-6/">What&rsquo;s New in Dovetail Agent 6</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/24/whats-new-in-dovetail-agent-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging an IE 9 crash</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/23/debugging-an-ie-9-crash/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/23/debugging-an-ie-9-crash/#comments</comments>
		<pubDate>Tue, 23 Jun 2015 15:49:47 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Dovetail Agent]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6520</guid>
		<description><![CDATA[<p>Our <a href="http://dovetailsoftware.com/clarify/user-applications/agent/">Dovetail Agent</a> app is supported on Chrome, Firefox, and Internet Explorer. Since Chrome and Firefox auto-update, users are typically on the most current version. <a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ie.crash_.png"><img title="ie.crash" style="border-top: 0px;border-right: 0px;border-bottom: 0px;float: right;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="ie.crash" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ie.crash_thumb.png" align="right" height="184"></a>
<p>IE is a different story, which pretty much all of us in the tech community are well aware. Continuing to support older versions of IE is more and more difficult. But, we are sensitive to the challenges of upgrading IE in enterprise environments. For <a href="http://dovetailsoftware.com/clarify/user-applications/agent/">Dovetail Agent</a>, we support IE 9, 10, and 11. IE 9 has its challenges for sure.
<p>Many organizations have stopped supporting older versions of IE, including <a href="https://support.google.com/a/answer/33864">Google</a>.&#160; And <a href="http://www.zdnet.com/article/microsoft-to-drop-support-for-older-versions-of-internet-explorer/">Microsoft recently announced that they were dropping support of older versions of IE</a>.
<p><a href="http://www.sosuke.com/">Barrett Sonntag</a> (one of our developers here at <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/23/debugging-an-ie-9-crash/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/23/debugging-an-ie-9-crash/">Debugging an IE 9 crash</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Our <a href="http://dovetailsoftware.com/clarify/user-applications/agent/">Dovetail Agent</a> app is supported on Chrome, Firefox, and Internet Explorer. Since Chrome and Firefox auto-update, users are typically on the most current version. <a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ie.crash_.png"><img title="ie.crash" style="border-top: 0px;border-right: 0px;border-bottom: 0px;float: right;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="ie.crash" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ie.crash_thumb.png" align="right" height="184"></a> <p>IE is a different story, which pretty much all of us in the tech community are well aware. Continuing to support older versions of IE is more and more difficult. But, we are sensitive to the challenges of upgrading IE in enterprise environments. For <a href="http://dovetailsoftware.com/clarify/user-applications/agent/">Dovetail Agent</a>, we support IE 9, 10, and 11. IE 9 has its challenges for sure.  <p>Many organizations have stopped supporting older versions of IE, including <a href="https://support.google.com/a/answer/33864">Google</a>.&nbsp; And <a href="http://www.zdnet.com/article/microsoft-to-drop-support-for-older-versions-of-internet-explorer/">Microsoft recently announced that they were dropping support of older versions of IE</a>.  <p><a href="http://www.sosuke.com/">Barrett Sonntag</a> (one of our developers here at Dovetail) has written a <a href="http://www.sosuke.com/ie9-crashes-when-dragging-scrolling-and-updating-styles/">post outlining a recent challenge we ran into where IE9 would crash when dragging, scrolling, and updating styles</a>. This was an issue that a customer reported when running Dovetail Agent on IE9. Barrett ended up going deep into the bowels of IE, using Windows debugging tools to help figure out what was happening. He was able to find a workaround to the problem.  <p>His post is just a little glimpse of some of the challenges and hurdles we have to surmount when continuing to support older browser versions.  <p>Hopefully that post will help another developer somewhere who runs into this issue in the future. Thanks for sharing Barrett!  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/23/debugging-an-ie-9-crash/">Debugging an IE 9 crash</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/23/debugging-an-ie-9-crash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Throwback Thursday: Our development team in 2007</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/18/throwback-thursday-our-development-team-in-2007/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/18/throwback-thursday-our-development-team-in-2007/#comments</comments>
		<pubDate>Thu, 18 Jun 2015 14:47:40 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[#TBT]]></category>
		<category><![CDATA[#ThrowbackThursday]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6516</guid>
		<description><![CDATA[<p>Our development team from back in 2007, when we were creating <a href="http://dovetailsoftware.com/clarify/supporting-applications/rulemanager/">Dovetail Rulemanager</a> and <a href="http://dovetailsoftware.com/clarify/developer-tools/schemaeditor/">Dovetail SchemaEditor</a>.</p>
<p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/team.2007.jpg"><img title="team.2007" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="team.2007" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/team.2007_thumb.jpg" height="484"></a></p>
<p>Some smart folks right there. We created some good stuff that is still in use by many companies today.</p>
<p>And checkout that scrum board!</p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/18/throwback-thursday-our-development-team-in-2007/">Throwback Thursday: Our development team in 2007</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Our development team from back in 2007, when we were creating <a href="http://dovetailsoftware.com/clarify/supporting-applications/rulemanager/">Dovetail Rulemanager</a> and <a href="http://dovetailsoftware.com/clarify/developer-tools/schemaeditor/">Dovetail SchemaEditor</a>.</p> <p><br /><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/team.2007.jpg"><img title="team.2007" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="team.2007" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/team.2007_thumb.jpg" height="484"></a></p> <p>Some smart folks right there. We created some good stuff that is still in use by many companies today.</p> <p>And checkout that scrum board!</p>  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/18/throwback-thursday-our-development-team-in-2007/">Throwback Thursday: Our development team in 2007</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/18/throwback-thursday-our-development-team-in-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting a bad business rule</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/16/troubleshooting-a-bad-business-rule/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/16/troubleshooting-a-bad-business-rule/#comments</comments>
		<pubDate>Tue, 16 Jun 2015 17:51:57 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Amdocs Clarify CRM]]></category>
		<category><![CDATA[log4net]]></category>
		<category><![CDATA[rulemanager]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6512</guid>
		<description><![CDATA[<p>When <a href="http://dovetailsoftware.com/clarify/supporting-applications/rulemanager/">Dovetail Rulemanager</a> has a problem processing a business rule for some reason, it logs the problem. We can use these logs to help determine exactly what the problem is, and how to fix it.</p>
<p>We’ll walk through an example on troubleshooting a specific issue.</p>
<p>In this scenario, Rulemanager logged an error:</p>
<p>2015-06-12 10:23:07 [Consumer7] ERROR <br />FChoice.RuleManager.OperandException &#8211; FChoice.RuleManager.OperandException: (-1) <br />Invalid operand format for an IsIn operator.</p>
<p>It looks like there was a problem with a rule condition that uses an IsIn operator. So how do we know which rule this is referring to? There may be hundreds of rules in the system.</p>
<p>All of the needed information is contained in the log file. But since Rulemanager is a super busy application, and it’s multi-threaded, the logs contain a LOT of information. </p>
<p>In a log file <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/16/troubleshooting-a-bad-business-rule/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/16/troubleshooting-a-bad-business-rule/">Troubleshooting a bad business rule</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>When <a href="http://dovetailsoftware.com/clarify/supporting-applications/rulemanager/">Dovetail Rulemanager</a> has a problem processing a business rule for some reason, it logs the problem. We can use these logs to help determine exactly what the problem is, and how to fix it.</p> <p>We’ll walk through an example on troubleshooting a specific issue.</p> <p>In this scenario, Rulemanager logged an error:</p> <blockquote> <p><font face="Courier New">2015-06-12 10:23:07 [Consumer7] ERROR <br />FChoice.RuleManager.OperandException &#8211; FChoice.RuleManager.OperandException: (-1) <br />Invalid operand format for an IsIn operator.</font></p></blockquote> <p>It looks like there was a problem with a rule condition that uses an IsIn operator. So how do we know which rule this is referring to? There may be hundreds of rules in the system.</p> <p>All of the needed information is contained in the log file. But since Rulemanager is a super busy application, and it’s multi-threaded, the logs contain a LOT of information. </p> <p>In a log file I recently received from a customer, there’s over 650,000 lines in a single log file.&nbsp; How do I narrow this down?</p> <h2>Narrow by Thread </h2> <p>In the error message, take note of the information that comes after the timestamp. In this case “Consumer7”. This is the thread. We can use this to narrow down our logs to just contain the information for this thread.</p> <p>Since I love my UNIX tools, I can easily extract just the logs for this thread into a separate log file using <a href="https://en.wikipedia.org/wiki/Cat_(Unix)">cat</a> and <a href="https://en.wikipedia.org/wiki/Grep">grep</a>.</p> <blockquote> <p><font face="Courier New">cat RuleManager.log | grep -i &#8220;consumer7&#8243; &gt; consumer7.log</font></p></blockquote> <p>That creates a file named consumer7.log, and narrows me down from 650,000 lines to just 3500. Much more manageable to work with.</p> <p>Now I simply open that consumer7.log file using my text editor and search for the error. In this case, I search for “Invalid operand format for an IsIn operator”</p> <h2>Logs</h2> <p>Now that I have just the thread logs, I simply start reading up the file.</p> <p>Here’s the log entries showing the error as well as the handful of entries immediately before the error (I’ve removed the timestamps and class names for brevity)</p> <blockquote> <p><font face="Courier New">Found Start event &#8220;DISPATCH&#8221; for Rule &#8220;Cashiering subcases&#8221;.<br />Evaluating condition 268451782: Property: &#8220;Current Queue&#8221;, Right operand: &#8220;(Cashiering&#8217;)&#8221;, Operator: &#8220;IsIn&#8221;, Type: &#8220;String&#8221;<br />Item &#8220;Current Queue&#8221; was retrieved from the Repository cache.<br />Path &#8220;case_currq2queue:title&#8221; expands to SQL command &#8220;SELECT T1.objid, T1.TITLE FROM table_case T0, table_queue T1 WHERE T0.objid = {0} AND T0.case_currq2queue = T1.objid ORDER BY T1.objid DESC&#8221;<br />Property &#8220;Current Queue&#8221; using &#8220;case_currq2queue:title&#8221; expands to &#8220;Escalation&#8221;<br />RuleManager.ConditionOperators.IsIn &#8211; Forcing both operands to be of type &#8220;String&#8221;<br />RuleManager.OperandException: (-1) Invalid operand format for an IsIn operator.</font></p></blockquote> <h2>Log Entries, One by One</h2> <p>So, looking at the logs just for this thread, we can see exactly what happened:</p> <p><em>1. Found Start event &#8220;DISPATCH&#8221; for Rule &#8220;Cashiering subcases&#8221;.</em></p> <blockquote> <p>We have a rule named &#8220;Cashiering subcases&#8221;, and it has a start event of Dispatch</p></blockquote> <p><em>2. Evaluating condition 268451782: Property: &#8220;Current Queue&#8221;, Right operand: &#8220;(Cashiering&#8217;)&#8221;, Operator: &#8220;IsIn&#8221;, Type: &#8220;String&#8221;</em></p> <blockquote> <p>We have a rule condition that looks like: Current Queue Is In (Cashiering’)</p></blockquote> <p><em>3. Item &#8220;Current Queue&#8221; was retrieved from the Repository cache.</em></p> <blockquote> <p>Rulemanager has already cached the path to the Current Queue, so it already knows how to traverse from case to queue without going to the database.</p></blockquote> <p><em>4. Path &#8220;case_currq2queue:title&#8221; expands to SQL command &#8220;SELECT T1.objid, T1.TITLE FROM table_case T0, table_queue T1 WHERE T0.objid = {0} AND T0.case_currq2queue = T1.objid ORDER BY T1.objid DESC&#8221;</em></p> <blockquote> <p>This is the SQL that retrieves the Current Queue property for this case</p></blockquote> <p><em>5. Property &#8220;Current Queue&#8221; using &#8220;case_currq2queue:title&#8221; expands to &#8220;Escalation&#8221;</em></p> <blockquote> <p>The Current Queue property for this case resolves to “Escalation”</p></blockquote> <p><em>6. RuleManager.ConditionOperators.IsIn &#8211; Forcing both operands to be of type &#8220;String&#8221;</em></p> <blockquote> <p>Make both conditions be a String datatype, for proper comparison.</p></blockquote> <p><em>7. RuleManager.OperandException: (-1) Invalid operand format for an IsIn operator.</em></p> <blockquote> <p>And here’s our error.</p></blockquote> <p>So what happened was that we ended up with a rule condition that looks like:</p> <blockquote> <p><font face="Courier New">‘Escalation’ Is In (Cashiering’)</font></p></blockquote> <p>And the comparison fails because of the mismatched quotes in the operand, namely: (Cashiering’)</p> <p>The operand should be: <font face="Courier New">(‘Cashiering’)</font></p> <p>Note the missing quote in the original.</p> <h2>Find the rule that has this condition</h2> <p>Now that we know what condition is failing, going back up the log chain tells us which rule this condition is for:</p> <blockquote> <p><font face="Courier New">Found Start event &#8220;DISPATCH&#8221; for Rule &#8220;Cashiering subcases&#8221;.</font></p></blockquote> <p>It’s the “cashiering subcases” rule that has the bad condition. We can now use the Business Rule UI within <a href="http://dovetailsoftware.com/clarify/supporting-applications/admin/">Dovetail Admin</a> to fix the condition, and quote the string properly.</p> <h2>Plan B</h2> <p>Alternatively, since we know the objid of the rule condition from the logs:</p> <blockquote> <p><font face="Courier New">Evaluating condition <strong>268451782</strong>: Property: &#8220;Current Queue&#8221;, Right operand: &#8220;(Cashiering&#8217;)&#8221;, Operator: &#8220;IsIn&#8221;, Type: &#8220;String&#8221;</font></p></blockquote> <p>We can use SQL with that objid to find the specific business rule:</p> <blockquote> <p><font face="Courier New">select title from table_com_tmplte where objid = (select parentrule2com_tmplte from table_rule_cond where objid = {RuleConditionObjid})</font></p></blockquote> <p>So in our case, it would be:</p> <blockquote> <p><font face="Courier New">select title from table_com_tmplte where objid = (select parentrule2com_tmplte from table_rule_cond where objid = <strong>268451782</strong>)</font></p></blockquote> <p>And this again gives us the name of the business rule with the bad condition: Cashiering subcases</p> <p>We can now use the Business Rule UI within <a href="http://dovetailsoftware.com/clarify/supporting-applications/admin/">Dovetail Admin</a> to fix the condition, and quote the string properly.</p> <h2>Summary</h2> <p><a href="http://dovetailsoftware.com/clarify/supporting-applications/rulemanager/">Dovetail Rulemanager</a> is a critical component of a Dovetail/Clarify implementation. When something doesn’t work as it should, spending a few minutes tracking down the issue is typically well worth it. </p> <p>Even though the Rulemanager logs can be very verbose, they can also be super helpful in tracking down an issue. Hopefully this post gave you a few ideas of how to make this process easier. </p> <p>&nbsp;</p> <h2>Related Readings</h2> <p><a href="https://support.dovetailsoftware.com/selfservice/solutions/show/380">How Do I Get Notifications When Dovetail Rulemanager Cannot Process A Timebomb?</a></p> <p><a href="http://dovetailsoftware.com/clarify/gsherman/2012/11/01/troubleshooting-bad-time-bombs/">Troubleshooting Bad Time Bombs</a></p> <p><a href="https://github.com/gsherman/rulemanager/wiki">Rulemanager Companion Wiki</a></p>  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/16/troubleshooting-a-bad-business-rule/">Troubleshooting a bad business rule</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/16/troubleshooting-a-bad-business-rule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seek and ye shall find &#8211; the power of Search in Dovetail apps</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/12/seek-and-ye-shall-find-the-power-of-search-in-dovetail-apps/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/12/seek-and-ye-shall-find-the-power-of-search-in-dovetail-apps/#comments</comments>
		<pubDate>Fri, 12 Jun 2015 14:52:03 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Amdocs Clarify CRM]]></category>
		<category><![CDATA[Dovetail Agent]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Seeker]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6510</guid>
		<description><![CDATA[<p>A common fixture in our apps is the ubiquitous search box.&#160; It’s available in <a href="http://dovetailsoftware.com/clarify/user-applications/agent/">Dovetail Agent</a>, <a href="http://dovetailsoftware.com/clarify/user-applications/mobile/">Dovetail Mobile</a>, <a href="http://dovetailsoftware.com/clarify/user-applications/agent-lite/">Dovetail Agent Lite</a>, and <a href="http://dovetailsoftware.com/clarify/user-applications/selfservice/">Dovetail SelfService</a>. It’s even available for the <a href="http://dovetailsoftware.com/clarify/gsherman/2008/11/18/dovetail-search-for-clarify/">Clarify Classic Client</a>.</p>
<p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/agent.png"><img title="agent" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="agent" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/agent_thumb.png" height="151"></a></p>
<p>The heavy lifting for search is all handled on the back end by the <a href="http://dovetailsoftware.com/clarify/supporting-applications/seeker/">Dovetail Seeker</a> application. But the front-end is what users interact with, so we’ll cover that here.</p>
<p>(BTW &#8211; If you’re looking for information on Dovetail Seeker, check out <a href="http://dovetailsoftware.com/clarify/kmiller/2008/06/12/dovetail-seeker-introduced/">one</a> of <a href="http://dovetailsoftware.com/clarify/gsherman/2010/09/30/now-available-dovetail-seeker-2-0/">these</a> <a href="http://dovetailsoftware.com/clarify/kmiller/2009/07/09/dovetail-seeker-update/">posts</a>, or <a href="https://support.dovetailsoftware.com/selfservice/products/documentation/latest/Dovetail%20Seeker">review the docs</a>.)</p>
<p>On the surface, it’s pretty easy to use – put in some search terms and find what you’re looking for.&#160; But there’s a lot more power available, and I wanted to touch on <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/12/seek-and-ye-shall-find-the-power-of-search-in-dovetail-apps/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/12/seek-and-ye-shall-find-the-power-of-search-in-dovetail-apps/">Seek and ye shall find &ndash; the power of Search in Dovetail apps</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A common fixture in our apps is the ubiquitous search box.&nbsp; It’s available in <a href="http://dovetailsoftware.com/clarify/user-applications/agent/">Dovetail Agent</a>, <a href="http://dovetailsoftware.com/clarify/user-applications/mobile/">Dovetail Mobile</a>, <a href="http://dovetailsoftware.com/clarify/user-applications/agent-lite/">Dovetail Agent Lite</a>, and <a href="http://dovetailsoftware.com/clarify/user-applications/selfservice/">Dovetail SelfService</a>. It’s even available for the <a href="http://dovetailsoftware.com/clarify/gsherman/2008/11/18/dovetail-search-for-clarify/">Clarify Classic Client</a>.</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/agent.png"><img title="agent" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="agent" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/agent_thumb.png" height="151"></a></p> <p>The heavy lifting for search is all handled on the back end by the <a href="http://dovetailsoftware.com/clarify/supporting-applications/seeker/">Dovetail Seeker</a> application. But the front-end is what users interact with, so we’ll cover that here.</p> <p>(BTW &#8211; If you’re looking for information on Dovetail Seeker, check out <a href="http://dovetailsoftware.com/clarify/kmiller/2008/06/12/dovetail-seeker-introduced/">one</a> of <a href="http://dovetailsoftware.com/clarify/gsherman/2010/09/30/now-available-dovetail-seeker-2-0/">these</a> <a href="http://dovetailsoftware.com/clarify/kmiller/2009/07/09/dovetail-seeker-update/">posts</a>, or <a href="https://support.dovetailsoftware.com/selfservice/products/documentation/latest/Dovetail%20Seeker">review the docs</a>.)</p> <p>On the surface, it’s pretty easy to use – put in some search terms and find what you’re looking for.&nbsp; But there’s a lot more power available, and I wanted to touch on a few of these options.</p> <p>For the most part, I’ll cover search within Dovetail Agent, although much of this applies to all of our applications.</p> <h2>What can we search for?</h2> <p>Out of the box, Dovetail Agent is setup to search for</p> <ul> <li>Cases</li> <li>Subcases</li> <li>Solutions</li> <li>Sites</li> <li>Contacts</li> <li>Employees</li> <li>Accounts</li> <li>Contracts</li> <li>File Attachments on these objects</li> <li>Any document collections you’ve setup – such as your product documentation</li></ul> <p>We often to refer to these as <em>search domains</em>. </p> <p>A simple configuration changes removes items that aren’t used as part of your implementation. So if you don’t use Contracts, it’s super easy to not have that show up as part of your search options.</p> <p>You can also customize to search for custom objects. </p> <p>By default, when you search, it searches across <strong>all</strong> of these domains. </p> <p>So if you’re looking for something in the app, just search for it. More than likely you’ll find it.</p> <p>Looking for a case with some keywords within the notes? a file attachment with certain text? a site based on its name? a contact based on name or phone number? a contract based on the covered site? an employee based on name? cases for a particular contact? a solution with certain text?</p> <p>Just search – and it’ll probably be found.</p> <h3>Search for everything</h3> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/all.png"><img title="all" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="all" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/all_thumb.png" height="449"></a></p> <p>Notice we found sites, accounts, contracts, and contacts. (and cases and subcases that I didn’t include in the screen shot)</p> <h2>Limit the search</h2> <p>You can then click to limit your search to just the domain that you want, such as <strong>Site:</strong></p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/sites.png"><img title="sites" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="sites" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/sites_thumb.png" height="258"></a></p> <p>Now we’re seeing just the sites that were found.</p> <p>&nbsp;</p> <h2>Find by ID</h2> <p>In Dovetail Agent, we don’t have a separate <em>Find by ID</em> form, like the Clarify Client did. Instead, just use the search box:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/id-search.png"><img title="id-search" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="id-search" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/id-search_thumb.png" height="236"></a></p> <p>The search will find cases, solutions, sites, etc – just using its ID:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ids.png"><img title="ids" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="ids" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ids_thumb.png" height="328"></a></p> <p>I discussed this specific use case in a blog post a few years ago &#8211; <a href="http://dovetailsoftware.com/clarify/gsherman/2007/05/09/making-the-app-work-the-way-the-user-expects-it-to-work/">Making the app work the way the user expects it to work</a>.</p> <p>&nbsp;</p> <h2>Search Operators</h2> <p>There are a number of operators that you can use as part of your search.</p> <table cellspacing="0" cellpadding="2" border="1"> <tbody> <tr> <td valign="top" width="133">Operator</td> <td valign="top" width="356">Description</td> <td valign="top" width="314">Example</td></tr> <tr> <td valign="top" width="144">AND</td> <td valign="top" width="356"> <p>To find results that include all search terms, use AND between the terms.  <p>Note:Searching on both of two terms is the default behavior, so technically the AND operator isn&#8217;t required.</p></td> <td valign="top" width="314"> <p>powerpoint AND macintosh  <p>Or, since the AND is default:  <p>powerpoint macintosh</p></td></tr> <tr> <td valign="top" width="146">OR</td> <td valign="top" width="356">To find results that includes either of two search terms, use OR between the terms.</td> <td valign="top" width="314">powerpoint OR macintosh</td></tr> <tr> <td valign="top" width="146">&#8211;</td> <td valign="top" width="356">The &#8221; &#8211; &#8221; or prohibit operator excludes documents that contain the term after the &#8221; &#8211; &#8221; symbol.</td> <td valign="top" width="314"> <p>To search for &#8220;powerpoint&#8221; but not keynote:  <p>powerpoint -keynote</p></td></tr> <tr> <td valign="top" width="146">()</td> <td valign="top" width="356">Use parentheses to group clauses to form sub queries. This can be very useful if you want to control the boolean logic for a query.</td> <td valign="top" width="314">created:today (domain:case OR domain:subcase)</td></tr> <tr> <td valign="top" width="146">“ “</td> <td valign="top" width="356">Use quotes for properties that contain spaces</td> <td valign="top" width="314">site:&#8221;dovetail software&#8221; domain:case</td></tr></tbody></table> <h2>&nbsp;</h2> <h2>Wildcards</h2> <table cellspacing="0" cellpadding="2" border="1"> <tbody> <tr> <td valign="top" width="133">Operator</td> <td valign="top" width="356">Description</td> <td valign="top" width="314">Example</td></tr> <tr> <td valign="top" width="144">*</td> <td valign="top" width="356">To perform a multiple character wildcard search use the &#8221; * &#8221; symbol. You can also use the wildcard searches in the middle of a term.</td> <td valign="top" width="314"> <p>To search for test, tests or tester: <p>test* <p>To search for test or text: <p>te*t</p></td></tr> <tr> <td valign="top" width="146">*</td> <td valign="top" width="356">To perform a single character wildcard search use the &#8220;?&#8221; symbol.</td> <td valign="top" width="314"> <p>To search for text or test: <p>ts?t</p></td></tr></tbody></table> <h2>&nbsp;</h2> <h2>Advanced Tips</h2> <table cellspacing="0" cellpadding="2" border="1"> <tbody> <tr> <td valign="top" width="133">Operator</td> <td valign="top" width="356">Description</td> <td valign="top" width="314">Example</td></tr> <tr> <td valign="top" width="144">Ranges</td> <td valign="top" width="356">To find results that whose field(s) values are between the lower and upper bounds, use a range query. This is useful for numbers.</td> <td valign="top" width="314"> <p>To find objects whose status is between 1 and 3:  <p>status:[1 TO 3]</p> </td></tr> <tr> <td valign="top" width="146">Date Ranges</td> <td valign="top" width="356">To find results that whose dates values are between the lower and upper bounds, use a range query.</td> <td valign="top" width="314"> <p>To find items created in the year 2013:  <p>created:[20130101 TO 20131231]</p></td></tr> <tr> <td valign="top" width="146">Dates</td> <td valign="top" width="356">Find items where a timestamp is within the last {X} days. Simply use a number, plus the word &#8220;days&#8221; (without any spaces)</td> <td valign="top" width="314"> <p>To find items created in the last 30 days:  <p>created:30days</p></td></tr> <tr> <td valign="top" width="146">Today</td> <td valign="top" width="356">Use the &#8220;today&#8221; keyword to find items created today</td> <td valign="top" width="314"> <p>To find items created today:  <p>created:today</p></td></tr> <tr> <td valign="top" width="146">Special Characters</td> <td valign="top" width="356"> <p>Special characters that are part of the query syntax should be escaped. The list of special characters are:  <p>+ &#8211; &amp;&amp; || ! ( ) { } [ ] ^ &#8221; ~ * ? : \  <p>To escape these character use the \ before the character.</p></td> <td valign="top" width="314"> <p>To search for (1+1):2 use the query:  <p>\(1\+1\)\:2</p></td></tr></tbody></table> <h2>&nbsp;</h2> <h2>Property searches</h2> <p>When items are setup for indexing (part of <a href="http://dovetailsoftware.com/clarify/supporting-applications/seeker/">Dovetail Seeker</a>), each item can have properties defined, which allow users to search just by that property. <p>For example, for <em>Cases</em>, we have <em>condition</em>, <em>type</em>, and <em>created date</em> all defined as properties.  <p>Which means we can do searches such as: search for all open cases created in the last 30 days with a case type of please specify: <p><font face="Courier New">condition:open* created:30days type:”please specify”</font></p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/search.png"><img title="search" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="search" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/search_thumb.png" height="327"></a> <p>&nbsp; <h2>Search Tips</h2> <p>How do I remember all of these operators? And how do I know what properties are available on each item? <p>Don’t worry – we’ve got you covered. From the Search page, simply click the Search Tips link, and we provide all the information you need: <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/tips.png"><img title="tips" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="tips" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/tips_thumb.png" height="286"></a></p> <p><br /><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/case-properties.png"><img title="case-properties" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="case-properties" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/case-properties_thumb.png" height="412"></a></p> <p>&nbsp; <h2>Advanced Search</h2> <p>When you search using an internet search engine such as <a href="https://www.google.com">Google</a>, most people simply type into the standard search box. But there’s also a <em><a href="https://www.google.com/advanced_search">Google Advanced Search</a></em> option, which helps guide you through a more, uh, advanced search. We provide a similar option. <p>From the <em>Search</em> page, simply click the <em>Advanced Search</em> link, and you’ll be able to create more advanced searches easily. <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/advanced.png"><img title="advanced" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="advanced" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/advanced_thumb.png" height="452"></a> <p>&nbsp; <h2>Favorite a Search</h2> <p>If you have a search that you use often – make it a favorite. Simply click the <em>star</em> icon next to the search box, and that search will be saved in the <em>Favorite Searches</em> list in your Navigation Menu.  <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/favorite.png"><img title="favorite" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="favorite" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/favorite_thumb.png" height="288"></a> <p>&nbsp; <h2>Super advanced crazy undocumented search options</h2> <p>Dovetail uses the <a href="http://lucene.apache.org/">Lucene</a> search engine, so the standard Lucene modifiers are supported. Most of them we’ve covered above, and are listed on the Search Tips page within the app. <p>But since we’re using Lucene, we can also use their more super-advanced crazy search operators.  <p>&nbsp; <h3>Fuzzy Searches</h3> <p>Lucene supports fuzzy searches based on <a href="http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance">Damerau-Levenshtein Distance</a>. To do a fuzzy search use the tilde, &#8220;~&#8221;, symbol at the end of a Single word Term. </p> <p>For example to search for a term similar in spelling to &#8220;coat&#8221; use the fuzzy search:&nbsp; <font face="Courier New">coat~</font></p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/coat.png"><img title="coat" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="coat" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/coat_thumb.png" height="227"></a> <p>&nbsp; <h3>Proximity Searches</h3> <p>Lucene supports finding words are a within a specific distance away. To do a proximity search use the tilde, &#8220;~&#8221;, symbol at the end of a Phrase.  <p>For example to search for a &#8220;solution&#8221; and &#8220;boat&#8221; within 10 words of each other in a document use the search: <pre>"solution boat"~10</pre><pre><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/proximity.png"><img title="proximity" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="proximity" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/proximity_thumb.png" height="176"></a></pre><pre>&nbsp;</pre>
<h3>Term Boosting</h3>
<p>Lucene provides the relevance level of matching documents based on the terms found. To boost a term use the caret, &#8220;^&#8221;, symbol with a boost factor (a number) at the end of the term you are searching. The higher the boost factor, the more relevant the term will be. Boosting allows you to control the relevance of a document by boosting its term. 
<p>For example, if you are searching for: <font face="Courier New">clearbasic process</font>
<p>then we get the results back in the normal order of relevance:
<p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/no_boost.png"><img title="no_boost" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="no_boost" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/no_boost_thumb.png" height="247"></a>
<p>&nbsp; <p>If we want to boost the clearbasic term, then we can use: <font face="Courier New">clearbasic^4 process</font><pre></pre>
<p>This will make documents with the term clearbasic appear more relevant. We can see that the results have a different order now:
<p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/boost.png"><img title="boost" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="boost" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/boost_thumb.png" height="242"></a>
<p>&nbsp; <h2>Summary</h2>
<p>It’s common that CRM systems are focused on getting information into the system – but we also need to be able to find the information once it’s in there.
<p><a href="http://dovetailsoftware.com/clarify/gsherman/2014/08/18/enhanced-queries-functionality-in-dovetail-agent-5-6/">Queries</a> and <a href="http://dovetailsoftware.com/clarify/gsherman/2015/03/24/dovetail-agent-reporting/">Reporting</a> are great – but when you need to do full-text-searching, robust search functionality is pretty awesome. 
<p>We’ve tried to make it simple and intuitive, while also providing the advanced options that power users need.
<p>Have any suggestions for improving Search? Leave a comment below, or <a href="mailto:gary@dovetailsoftware.com">drop me an email</a>.
<p>Rock on.  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/12/seek-and-ye-shall-find-the-power-of-search-in-dovetail-apps/">Seek and ye shall find &ndash; the power of Search in Dovetail apps</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/12/seek-and-ye-shall-find-the-power-of-search-in-dovetail-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Throwback Thursday: 10 years of First Choice Software</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/11/throwback-thursday-10-years-of-first-choice-software/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/11/throwback-thursday-10-years-of-first-choice-software/#comments</comments>
		<pubDate>Thu, 11 Jun 2015 14:45:21 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[#TBT]]></category>
		<category><![CDATA[#ThrowbackThursday]]></category>
		<category><![CDATA[first choice]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6480</guid>
		<description><![CDATA[<p>Back when we were still First Choice Software &#8211; our 10-year anniversary coffee mugs.</p>
<p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/IMG_2493.jpg"><img title="IMG_2493" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="IMG_2493" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/IMG_2493_thumb.jpg" height="393"></a></p>
<p>And it&#8217;s been 10 years since then, which means we&#8217;ve now been around as a company for 20 years!<br />Guess it&#8217;s time for some updated company swag.</p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/11/throwback-thursday-10-years-of-first-choice-software/">Throwback Thursday: 10 years of First Choice Software</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Back when we were still First Choice Software &#8211; our 10-year anniversary coffee mugs.</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/IMG_2493.jpg"><img title="IMG_2493" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="IMG_2493" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/IMG_2493_thumb.jpg" height="393"></a></p> <p><br />And it&#8217;s been 10 years since then, which means we&#8217;ve now been around as a company for 20 years!<br />Guess it&#8217;s time for some updated company swag.</p>  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/11/throwback-thursday-10-years-of-first-choice-software/">Throwback Thursday: 10 years of First Choice Software</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/11/throwback-thursday-10-years-of-first-choice-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File uploads in Dovetail Agent</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/09/file-uploads-in-dovetail-agent/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/09/file-uploads-in-dovetail-agent/#comments</comments>
		<pubDate>Tue, 09 Jun 2015 19:40:05 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Amdocs Clarify CRM]]></category>
		<category><![CDATA[attachments]]></category>
		<category><![CDATA[Dovetail Agent]]></category>
		<category><![CDATA[files]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6471</guid>
		<description><![CDATA[<p>Adding files to an item in <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent</a> is a pretty common activity. </p>
<p>File attachments are supported on the following items:</p>
<p> cases subcases solutions contracts site parts accounts</p>
<p>We’ve made it super easy to add a file, which uploads it to the server and “attaches” it to the item. File attachments are stored in a common location on the server. </p>
<p>Gone are the days of file attachments in the Clarify Classic Client where a file attachment resided on someone’s C drive, and couldn’t be accessed by anyone except the user who added the file attachment. </p>
<p> Plus-One
<p>On each item, there’s a Files tab. Click on the tab, then click the + on the tab header. (From a development standpoint, we commonly refer to this as our plus-one pattern, where you click the plus sign to <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/09/file-uploads-in-dovetail-agent/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/09/file-uploads-in-dovetail-agent/">File uploads in Dovetail Agent</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Adding files to an item in <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent</a> is a pretty common activity. </p> <p>File attachments are supported on the following items:</p> <p><ul style="margin-left:20px"> <li>cases</li> <li>subcases</li> <li>solutions</li> <li>contracts</li> <li>site parts</li> <li>accounts</li></ul></p> <p>We’ve made it super easy to add a file, which uploads it to the server and “attaches” it to the item. File attachments are stored in a common location on the server. </p> <p>Gone are the days of file attachments in the Clarify Classic Client where a file attachment resided on someone’s C drive, and couldn’t be accessed by anyone except the user who added the file attachment. </p> <h2>Plus-One</h2> <p>On each item, there’s a Files tab. Click on the tab, then click the + on the tab header. (From a development standpoint, we commonly refer to this as our <em>plus-one</em> pattern, where you click the <em>plus</em> sign to add <em>one</em> more related item)</p> <p>This will open a file picker, allowing you to pick the file to be uploaded.</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/plus-one.png"><img title="plus-one" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="plus-one" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/plus-one_thumb.png" height="235"></a></p> <h2>Keyboard Shortcut</h2> <p>The “u” keyboard shortcut will also open a file picker – without having to click the Files tab first.</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/shortcuts.png"><img title="shortcuts" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="shortcuts" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/shortcuts_thumb.png" height="431"></a></p> <h2>Drag and Drop</h2> <p>Users can also simply drag and drop files onto the Files tab. Multiple concurrent file uploads are also supported.</p> <p><a href="https://www.youtube.com/watch?v=NBmjTnaEAQ0">This video</a> shows this in action:</p> 
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='360' src='http://www.youtube.com/embed/NBmjTnaEAQ0?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0' allowfullscreen='true'></iframe></span>

 <p>&nbsp;</p> <p>I especially love this drag and drop feature. I find it quick and easy to use.</p> <h2>Files </h2> <p>Once files are uploaded, they are listed on the Files tab. The<em> file name</em> is listed, along with <em>who</em> uploaded it and <em>when</em>.</p> <p>For images, we also show a thumbnail of the image. Clicking that thumbnail opens the image in a lightbox in a larger size.</p> <p>For non-images, we show an icon indicating the file type.</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/files.png"><img title="files" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="files" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/files_thumb.png" height="251"></a></p> <p>For files that are attached to a workflow item (such as case, subcase, and solution), the files are also shown in the History, and images are rendered inline. </p> <p><a href="http://dovetailsoftware.com/clarify/gsherman/2015/02/17/case-history-enhancements-dovetail-agent/">I previously blogged about this – including a video showing files and images in the history</a>.</p> <h2>Summary</h2> <p>Log files, screenshots, Word docs, Excel spreadsheets – all are common files attached to items within a CRM system.</p> <p>We’ve tried to make it super easy to upload files into the system, as well as view and download them.</p> <p>Hope you dig it.</p>

  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/09/file-uploads-in-dovetail-agent/">File uploads in Dovetail Agent</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/09/file-uploads-in-dovetail-agent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Closing a number of cases at once</title>
		<link>http://dovetailsoftware.com/clarify/gsherman/2015/06/05/closing-a-number-of-cases-at-once/</link>
		<comments>http://dovetailsoftware.com/clarify/gsherman/2015/06/05/closing-a-number-of-cases-at-once/#comments</comments>
		<pubDate>Fri, 05 Jun 2015 14:44:44 +0000</pubDate>
		<dc:creator><![CDATA[Gary Sherman]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dovetail for Clarify]]></category>
		<category><![CDATA[Gary Sherman]]></category>
		<category><![CDATA[Amdocs Clarify CRM]]></category>
		<category><![CDATA[Dovetail Agent]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://dovetailsoftware.com/clarify/?p=6463</guid>
		<description><![CDATA[<p>Occasionally we get requests about closing a bunch of cases at once. Some people refer to it as a “mass case closing”, others use the term “batch case close”. Whatever you call it, it’s easy to do in <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent</a>.</p>
<p>This request comes up when a bunch of test cases get created, or if a customer goes out of support, or a bad email loop creates cases by mistake, or a myriad of other reasons. </p>
<p> Find the cases you want to close
<p>First step &#8211; create a query for the cases you want to close. </p>
<p>I want open cases created in the last 365 days with the word “test” in the title.</p>
<p>So, I created a query with 4 filters:</p>
<p> Condition Starts with Open Item Type Is Equal To case Created within last (days) 365 Title Contains <a href="http://dovetailsoftware.com/clarify/gsherman/2015/06/05/closing-a-number-of-cases-at-once/"> ... </a></p>
<p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/05/closing-a-number-of-cases-at-once/">Closing a number of cases at once</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Occasionally we get requests about closing a bunch of cases at once. Some people refer to it as a “mass case closing”, others use the term “batch case close”. Whatever you call it, it’s easy to do in <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent</a>.</p> <p>This request comes up when a bunch of test cases get created, or if a customer goes out of support, or a bad email loop creates cases by mistake, or a myriad of other reasons. </p> <h2>Find the cases you want to close</h2> <p>First step &#8211; create a query for the cases you want to close. </p> <p>I want open cases created in the last 365 days with the word “test” in the title.</p> <p>So, I created a query with 4 filters:</p> <ol> <li>Condition Starts with Open  <li>Item Type Is Equal To case <li>Created within last (days) 365  <li>Title Contains test </li></ol> <p>Run the query to get results:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/query.png"><img title="query" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="query" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/query_thumb.png" height="336"></a></p> <p>Select all the resulting cases using the <strong>Select All</strong> checkbox:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/selectAll.png"><img title="selectAll" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="selectAll" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/selectAll_thumb.png" height="237"></a></p> <p>Select the <strong>Batch Actions</strong> menu:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/Actions.png"><img title="Actions" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="Actions" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/Actions_thumb.png" height="310"></a></p> <p>Notice that the close menu item tells us that only 6 out of the 19 cases can be closed.</p> <p>Why?</p> <ul> <li>Some of the cases are owned by someone else. Application rules enforce that you can only close cases you own.  <li>Some of the cases are in a queue. Application rules enforce that you cannot close cases that are in a queue.  <li>Some may have open General subcases. Application rules enforce that a case cannot be closed if it has open General subcases.</li></ul> <p>We could yank the ones we don’t own, and accept the queued ones.</p> <p>But, before we do that, I typically take one other step: I <strong>tag</strong> them.</p> <h3>Why tag them?</h3> <p>This is to handle the situation where a workflow operation (such as yank or accept) could change the query results.</p> <p>For example, if you wanted to close all the cases that are in the <em>Test</em> queue, your query would look like:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/TestQueue.png"><img title="TestQueue" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="TestQueue" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/TestQueue_thumb.png" height="143"></a></p> <p>Lets say that the query returned 10 results. If I then accepted or yanked all of these cases, then that query would return zero results. So how do I get back to the cases that I want to close?</p> <p>Tagging solves this.</p> <p>OK, back to the task at hand.</p> <h2>Tag ‘em</h2> <p>Using the same <strong>Batch Actions</strong> menu, we choose<strong> Add Tags</strong>, and give it a tag name. My tag is named “to be closed”. Clever, I know. </p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/AddTags.png"><img title="AddTags" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="AddTags" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/AddTags_thumb.png" height="235"></a></p> <h2>Take ownership</h2> <p>Now that they’re all tagged, we can <strong>yank</strong> and <strong>accept</strong> them – using the same Actions menu.</p> <h2>Close ‘em</h2> <p>Now that we own them all, and they’re no longer queued, and they’re tagged, we can close them.</p> <p>From your sidebar, under Tags, click on the to be closed tag, which will shows all of those cases:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ToBeClosed.png"><img title="ToBeClosed" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="ToBeClosed" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/ToBeClosed_thumb.png" height="473"></a></p> <p><strong>Select All</strong> using the checkbox</p> <p>Now the <strong>Actions</strong> menu doesn’t warn us about any that can’t be closed. So we’re good to go.</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/Close.png"><img title="Close" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="Close" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/Close_thumb.png" height="381"></a></p> <p>So we simply choose the <strong>Close</strong> menu item, select the desired status, resolution, and notes – and click the <strong>Close Case</strong> button</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/CloseForm.png"><img title="CloseForm" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="CloseForm" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/CloseForm_thumb.png" height="290"></a></p> <p>&nbsp;</p> <p>And we get the notification that 19 cases were closed:</p> <p><a href="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/Notification.png"><img title="Notification" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="Notification" src="http://dovetailsoftware.com/clarify/wp-content/uploads/2015/06/Notification_thumb.png" height="123"></a></p> <p>Success.</p> <h2>Recap</h2> <ol> <li>Query for the cases you want to close  <li>Tag them (using the Batch Actions menu)  <li>If needed, take ownership of them (yank/accept using the Batch Actions menu)  <li>Close them (using the Batch Actions menu)</li></ol> <h2>Summary</h2> <p>The <strong>Batch Actions</strong> menu in <a href="https://support.dovetailsoftware.com/selfservice/products/show/Dovetail%20Agent">Dovetail Agent</a> is a pretty powerful tool, and makes it easy to perform the same workflow actions on multiple items.</p> <p>Hope you find this useful.</p>  <p>The post <a rel="nofollow" href="http://dovetailsoftware.com/clarify/gsherman/2015/06/05/closing-a-number-of-cases-at-once/">Closing a number of cases at once</a> appeared first on <a rel="nofollow" href="http://dovetailsoftware.com/clarify">Clarify Solutions | Dovetail Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailsoftware.com/clarify/gsherman/2015/06/05/closing-a-number-of-cases-at-once/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
