REQUEST A DEMO

Blog

Advanced Business Rules (Part 2) webinar follow-up

July 29, 2010 Big thanks to those that attended today’s webinar on Rulemanager and Advanced Business Rules We had a good turnout, and some really good participation from attendees. Slides The slides from today’s presentation are available on Slideshare.   Links Rulemanager Wiki: http://rulemanager.wikispaces.com/ Send SMS message from Rulemanager using Twilio: http://github.com/gsherman/Javascripts Ideas for Future Webinars? Have an idea for a future webinar? Something you’d like to see or learn more about? Leave a comment here or drop me an email: gary [at] dovetailsoftware [dot] com

AspNetHostingPermission exception got you down? Unblock Your Assemblies.

We ran into trouble with a web applications deployment of our only .Net product without a windows installer. Little did we know when you zip up a web application, have your on-site expert consultant download said zip file and extract it with Windows Explorer (Note: it does not happen with WinRar or 7zip) You will run into this exception trying spin up that web application. Security Exception Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of…

Reminder: Advanced Business Rules (Part 2) Webinar this week

July 27, 2010 Just a little reminder that I will be hosting a training webinar this Thursday. Advanced Business Rules (Part 2) User-defined Business Rule Events Business rules based on custom object types New Event Creation Times and Calendars Custom Notification Methods Time Bombs Tips & Tricks Troubleshooting Tips etc. When: Thursday, July 29, 2010 11:00 AM - 12:00 PM CDT Register here: https://www1.gotomeeting.com/register/138608689

Dovetail Seeker Sneak Preview

Kevin Miller did a recent sneak preview of Dovetail Seeker 2.0, which we’re hard at work on here.Here’s an additional sneak preview of search capabilities from the Agent side of things.Search attachmentsSearch case attachments, solution attachments, etc.Search external documentsSearch product documentation, whitepapers, technical bulletins, etc.

Advanced Business Rules webinar follow-up

July 22, 2010 Thanks to those that attended today’s webinar on Rulemanager and Advanced Business Rules We had a good turnout, and some really good questions from attendees. Slides The slides from today’s presentation are available on Slideshare. Links Rulemanager Wiki: http://rulemanager.wikispaces.com/ Blogs: http://blogs.dovetailsoftware.com/search/SearchResults.aspx?q=rulemanager Next up: Advanced Business Rules (Part 2) I’ll be doing a follow-up webinar next week. The second session will build on the first, and will discuss even more advanced usage of Business Rules. Advanced Business Rules (Part 2) User-defined Business Rule Events Business rules based on custom object types New Event Creation Times and Calendars Custom Notification Methods Time Bombs Tips & Tricks Troubleshooting Tips etc. When: Thursday, July 29, 2010 11:00 AM - 12:00 PM CDT Register here: https://www1.gotomeeting.com/register/138608689

Lucene’s docFreq Got You Down? Replace It With a Custom Collector

July 21, 2010 I came across a weird thing with Lucene using their document frequency API.   int docFreq(Term term) - Expert: Returns the number of documents containing term. Called by search code to compute term weights.   You can use this call to quickly find the number of documents in your index matching a term you give it. The problem I ran into was that when you delete documents they still show up in the count of documents returned by docFreq(). Worse yet document frequencies will include deleted documents until an index optimization is done. Yikes! Index optimization is very very slow and expensive so I really do not want to optimize just because we deleted a few documents. The real answer is not to use docFreq at all. We can instead use a custom Collector to get the desired effect.   My Problem   I have an…

Reminder: Advanced Business Rules Webinar this week

July 20, 2010 Just a little reminder that I will be hosting a webinar this Thursday. Topic: Advanced Business Rules (Part 1) Understanding Rule Properties Understanding recipient aliases Creating your own rule properties Better ways to search/view business rules Tips & Tricks etc. When: Thursday, July 22, 2010 11:00 AM - 12:00 PM CDT Register here: https://www1.gotomeeting.com/register/902787625

Converting from Clarify Desktop to Dovetail Agent (part 3)

July 16, 2010 Welcome to part 3 of the series on converting an application from the Clarify Desktop environment to work in Dovetail Agent/Admin. The Employee Manager Utility (EMU) is being migrated into Dovetail Admin, and will provide the tools needed to manage workgroups and the employees that are assigned to them. In the installment of the series, the functionality for the Add... button of the form is going to be implemented. This is going to be a different method that what is normally used in Dovetail Admin due to the fact that workgroups are actually just elements in the WORKGROUP user defined list. EMU adds a lot of information and configuration capability for a workgroup, but there needs to be a record in table_workgroup to hold the details.   The Add... button has a small hint that it will have different behavior…

Converting from Clarify Desktop to Dovetail Agent (part 2)

July 15, 2010 This is the second installment of a series of posts on migrating applications/enhancements from the Clarify desktop application to Dovetail Agent features. The plan was for this post to cover converting Clarify Forms into Dovetail Agent/Admin pages. That is a great idea, but a very ambitious goal for a single post. I will be making a few posts along this line instead, trying to highlight the best practices and throw in a good amount of example code to help pave the way for such a conversion.   The example conversion of Employee Manager Utility (EMU) from a Clarify desktop integration to a new feature for Dovetail Agent and Dovetail Admin has a lot of possibilities for things to talk about. There are all kinds of controls used on the main form: a filtered grid, multiple tabs, checkboxes, text boxes, dropdowns,…

Using Dovetail SDK Using Visual Basic.Net

July 14, 2010 A customer recently asked for a code example demonstrating how to use our Dovetail SDK to do data access custom objects using Generics (the Dovetail kind not the C# kind) Imports FChoice.Foundation.Clarify Imports System.Collections.Specialized Imports FChoice.Foundation Imports NUnit.Framework Module SDKExample <TestFixture()> Public Class SDK_test <Test()> Public Sub update_case_title() InitializeDovetailSDK() UseGenericToUpdateExistingCaseTitle("1", "new title") End Sub End Class Sub InitializeDovetailSDK() Dim config As New NameValueCollection 'These are hard coded database credentials. More typically you'd use application configuration config.Add("fchoice.dbtype", "mssql") config.Add("fchoice.connectionstring", "Data Source=.; Initial Catalog=SDKcl125_2k5; User Id=sa; Password=sa;") ClarifyApplication.Initialize(config) End Sub Sub UseGenericToUpdateExistingCaseTitle(ByVal caseId As String, ByVal title As String) Dim session As ClarifySession session = ClarifyApplication.Instance.CreateSession("sa", "sa", ClarifyLoginType.User) Dim dataset As New ClarifyDataSet(session) Dim caseGeneric As ClarifyGeneric caseGeneric = dataset.CreateGeneric("case") caseGeneric.AppendFilter("id_number", StringOps.Equals, caseId) caseGeneric.Query() If caseGeneric.Rows.Count < 1 Then Throw New ApplicationException(String.Format("Case {0} was not found.", caseId)) End If caseGeneric.Rows(0)("title") = title…