Generate Outlook linked folders

Background

Prior to CM 9.0 the Outlook integration had a feature to export/import linked folders, at that time linked folders were stored in the Windows registry so the import/export was required any time a user received a new machine.  This feature was also of use to those who wished to share their linked folders with their friends.

In 9.0 the architecture of the Outlook integration changed so that linked folders were stored in Checkin Style objects (in Content Manager) not in the registry, which seemed to make the import/export unnecessary, except for that sharing with friends usage.

A partial solution

A partial solution to sharing linked folders is to create Checkin Styles which have a group as the owner, this means that every member of that group will see that Checkin Style.  The gap is that a linked folder will not be auto-created for that Checkin Style.

Some sample code

I wrote a sample application that could be the basis for a utility to allow users to create linked folders from Checkin Styles that have been created for them.  This might useful in the case where the user has multiple Checkin Styles and does not wish to go through one by one to create a new linked folder for each one.  Below is a screen shot from this sample application.

linkkedfolders.PNG

The future

Clearly if the sharing of linked folders is a popular activity then it makes sense to bring it back in some form.  If you want to have input on how that should be implement lodge a support request or send me a private message on the forums.

Event Filtering in 92

Event processor add-ins are great for responding to events on the workgroup server but and now we can optimise them to only respond to the events (and object types) that we are interested in.  Use the 'Configure Events' button in the  'Custom Processes' tab in Enterprise Studio, or watch this video for more information.  For more details on the event processor addins see my previous post and the sample.

A simple COM SDK VB.Net application

In a previous post I demonstrated a simple .Net SDK program, here I will look at a simple COM SDK program.

The code

Here is the code I ended up with in the video.

Sub Main()
    Dim database As New TRIMSDK.Database
    Dim record As TRIMSDK.Record = Nothing
    Dim container As TRIMSDK.Record = Nothing

    Try
        database.Id = "H1"
        database.WorkgroupServerName = "local"
        database.Connect()

        record = database.GetRecord(9000000001)
        container = database.GetRecord("REC_267")

        record.AltContainer = container

        record.Save()
    Finally
        If database IsNot Nothing And database.IsConnected Then
            database.Disconnect()
            System.Runtime.InteropServices.Marshal.ReleaseComObject(database)

            If record IsNot Nothing Then
                System.Runtime.InteropServices.Marshal.ReleaseComObject(record)
            End If

            If container IsNot Nothing Then
                System.Runtime.InteropServices.Marshal.ReleaseComObject(container)
            End If

        End If
    End Try
End Sub