The Object Notifier is an event based system to notify you when objects in Content Manager have changed, it can be used in a ServiceAPI application to proactively update your UI to refleect changes in the data, this sample implements the Object Notifier in the WebDrawer Record search results.
The swagger definition file that is auto-generated by the ServiceAPI swagger UI is not particularly useful due to its large size and complexity, in fact it often causes swagger tools to crash. For this reason it is better to handcraft an OpenAPI definition file to respresent the portions of the ServiceAPI you need. The sample is in the samples repo, the following video is a run through of making a change to the file and generating test code.
The Content Manager 10 zero footprint office integration is made up of several components. The two videos here demonstrate configuring Azure AD and uploading the Office manifest. In the video I refer to is as the Word manifest but it is the manifest to support Word, Excel and PowerPoint. The first video finishes with the manifest uploaded but not working, in the second video I show the mistakes I made and also the techniques I used to troubleshoot them.
In Content Manager 10 a new OpenId authentication module was added to CM web service applications (Web Client, ServiceAPI and WebDrawer). This module supports authentication for Azure AD, ADFS and Google. Instructions for configuring this can be found in the SDK documentation but if you would like to watch me funble my way through setting up OpenId for Azure AD you can do so in the below video.
In Content Manager 10 a new OpenId authentication module was added to CM web service applications (Web Client, ServiceAPI and WebDrawer). This module supports authentication for Azure AD, ADFS and Google. Instructions for configuring this can be found in the SDK documentation but if you would like to watch me funble my way through setting up OpenId for ADFS you can do so in the below video.
How do we create a Content Manager report and link from it to the underlying data? Ideally I would like to be able to link from a chart but the best solution I can come up with is linking from a table. If you have a better solution let me know.
For those who write .Net applications there is a new Nuget package and sample code to simplify the development process. The package contains both .Net 45 and standard assemblies so is of use in most .Net scenarios (e.g. native Windows, .Net Core, Xamarin).
This sample helps you convert the WebDrawer paging to an infinite scroll so your users never have to click nexy page again.
Logic apps triggers were discussed in a previous post, these triggers rely on the polling endpoint in the ServiceAPI. The polling endpoint is simply a special purpose search designed to support the request/response pattern used by triggers. This pattern expects a response containing records created or updated since the last request.
At some point since CM 8.3 the method used to determine which properties to display on a page was changed to allow the hptrim.config file to determine which properties are displayed. One omission in this change was the default hptrim.config was not updated to specify which properties to display for a retention schedule. This post describes how to remedy that omission.
In previous post I shared a sample PowerQuery script to consume the results of a Saved Search in Excel. This post shows how to create a simple query in Excel.
The CM Office Integration uses a local folder in which to store its working documents. Prior to 94 this folder was always found within the Windows ‘My Documents’ folder. Due to conflicts with OneDrive this was changed in 94 and it can now be set globally or overridden by each user.
Search strings are required for searching in the web service and can be convenient in the .Net SDK, there are a few rules on how to compose these strings but if I need to compose a complex search to get baked into an application I like to use the Content Manager client to assist me.
Blazor is a new Microsoft technology for building client web apps in C#. I have spent a total of 2 hours experimenting with it so here is my beginners intro. If you are interested and want to save the 2 hours I spent hacking together some CM SDK code you can find my project on the samples repo.
TrimSearchDataStream provides a much faster though functionally limited search experience in Content Manager, see the sample code or watch the video.
I stumbled on an odd problem the other day. A CM web client instance authenticating use WS-Fed (ADFS). The user could sign-in without problem but when they attempted to sign-out they got the response below.
The default behaviour in Content Manager is to update the data LastUpdated when getting an electronic document from a Record. This can be problematic, particularly in cases where you want to get the document every time the Record changes. Thankfully this update can be override.
Maybe you have a testing or POC database in which you have a bunch of Saved Searches and you want to export these and import them to your production database. These Powershell scripts will export and import the search related properties, not the ACL of course.
In a previous post I described my initial experiments with Microsoft Logic Apps. For this post I have created a trigger on Content Manager so that the Logic App can react to modifications to Records. To make this work I needed to make a small modification to the ServiceAPI code, this could be applied to an existing CM installation via a ServiceAPI plugin.