REQUEST A DEMO

Tag: Kevin Miller

How To Setup hMailServer To Use a SSL Certificate

August 17, 2010   I am adding IMAP support to one of our products. Likely more that one person out there a needed to do this, so enjoy. I’ll take you from creating an SSL certificate to configuring hMailServer to work with both secure and regular connections to testing your setup.   Creating a Self Signed SSL Certificate   First things first you’ll need to download OpenSSL. I downloaded the 64bit 1.0 light version which required Visual C++ 2008 Redistributables (x64) to be installed first. I told the installer to put OpenSSL in my c:utilites folder.   Create a Key   Next up you’ll need to create a key. I recommend you replace <host> with your machine name.   >openssl genrsa -out <host>.key 1024   Certificate Request   Now you need to create a certificate request. This is the file you normally send…

Seeker Indexer Architecture Changes

August 6, 2010 Great changes are happening with our Dovetail Seeker search product. I wanted to talk about a core change to the product. By moving our application architecture to use messaging we are seeing increased flexibility, testability and performance. Why Messaging? Based on our experience building Dovetail Carrier (pdf), our messaging oriented enterprise integration solution, we decided messaging was a great fit for Seeker’s search indexing windows service. We decomposed the indexer’s behaviors into work (message) producers and consumers. For example to keep your database in-sync with the search index we have a service which watches the database for changes to the objects Seeker is indexing. When a database item is added or updated a message is created which gets put onto a work queue. We have many message consumer threads standing by waiting for work to munch on. Our message consumers…

AspNetHostingPermission exception got you down? Unblock Your Assemblies.

July 29, 2010 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…

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…

Refreshing Component Guids in your Wix XML

Right now I am working once again with Wix which can be quite shall we put it nicely: freaking traumatic. I promise this post will not entirely be me moaning about Windows Installer crap-titude. Rather, this post may actually help you out of a weird jam some day. My Windows Installer (.msi based) installed application started to refuse to uninstall with a weird error. Registry Component<GUID><GUID> could not be found. The only resulting way for me to get rid of the install was to use the Windows Install Clean Up which is pretty scary because Microsoft doesn’t provide it as a download because: While the Windows Installer Cleanup utility resolved some installation problems, it sometimes damaged other components installed on the computer. Because of this, the tool has been removed from the Microsoft Download Center. Yikes! Anyhow. The reason this…

Authoring Schema Script to ‘Upsert’ changes to your database. (a.k.a Add and/or Update)

May 17, 2010 Authoring Schema ScriptThis post will teach you the best way to author your Schema Editor schema script to do upserts, adds and/or updates to your Amdocs database schema. Luckily, you do not often have to worry about doing upserts but there is one situation where not doing them can get you into trouble.Anytime you provide schema script which should work whether the object exists or not and must change properties of the original.Sorry if that just lost you. Let's start out with the basics. What is this Schema Script?We created Schema Editor for Amdocs users who need a better way to update the database schema of their Clarify/Amdocs database. When we created SchemaEditor, Gary Sherman was adamant that we needed a new workflow for updating the schema. The classic workflow involved exporting the database schema, manually editing the result, and reapplying the changes. It is not…

Syntax Highlighter

March 22, 2010 This is a sample post using Alex’s very nice looking Syntax Highlighter for code snippets. Let’s see if I can get Community Server to behave. Teaser Code public class SolutionMap : DovetailMap { protected override void MapDefinition() { FromTable("probdesc") .Assign(d => d.SolutionID).FromIdentifyingField("id_number") .MapMany().To(d => d.Resolutions).ViaRelation("probdesc2workaround", workaround => workaround .Assign(d => d.DatabaseIdentifier).FromField("objid") ); } } Update: Looks like I got it working. Sorry about the guinea pig post. The code above is actually something I have been wanting to post about for some time. Maybe now with these super sweet code blocks I’ll get’er done.

jQuery 1.4 breaks ASP.Net MVC actions with array parameters

February 24, 2010 We had a Ajax-ified page break on us today and eventually figured out that the cause was related to an upgrade of jQuery and in particular a change in how jQuery 1.4 does serialization of array parameters for Ajax operations. From the jQuery 1.4 Release Notes. jQuery 1.4 adds support for nested param serialization in jQuery.param, using the approach popularized by PHP, and supported by Ruby on Rails. For instance, {foo: ["bar", "baz"]} will be serialized as “foo[]=bar&foo[]=baz”. In jQuery 1.3, {foo: ["bar", "baz"]} was serialized as “foo=bar&foo=baz”. However, there was no way to encode a single-element Array using this approach. If you need the old behavior, you can turn it back on by setting the traditional Ajax setting (globally via jQuery.ajaxSettings.traditional or on a case-by-case basis via the traditional flag). Our page was using getJSON to get data back…

Carrier – Customizing Your Response Emails

February 3, 2010   Out of the box Dovetail Carrier is very good at receiving emails and allowing you create business functionality which can react to incoming messages. There is a flip side to receiving emails. Sending them. This post will explain how the Email Agent extension uses templates to send email notifications. First we need to explore what information your template will have available to it. We’ll start by setting the stage.   Real World Scenario   In the Email Agent extension. When an email is received by your company’s support account the New Case Support Email rule set is invoked. This rule set determines that the email is a request for support and a new case is created. The next rule action should send a response email. What should the email tell the user?   It should inform them of details…

More On Dovetail Carrier RuleSets

January 28, 2010 I wanted to discuss RuleSets in more detail this time diving deeper into a couple of topics I pulled out of Creating Your First Carrier Extension because they were too advanced for an introduction.RuleSets Have ContextYour conditions and actions need a way to inspect the message they are evaluating. This is accomplished via the RuleContext object with is give to each condition and action being invoked by the RuleSet. Everytime Carrier starts executing your RuleSet it creates a new RuleSetContext object and puts the message being processed into the context.Here is the rule context interface. public interface IRuleContextMESSAGE { MESSAGE Message { get; set; } T FindT() where T : class; bool HasT() where T : class; T PushT(T entity) where T : class; }It is also useful to have a way to communicate state between conditions and actions. This…
    class='wp-pagenavi' role='navigation'>
  • 1
  • 2
  • 3
  • ...