Easily Deploy Configuration Profiles for Vizit Pro with the IProConfiguration Plugin

With Vizit 6.1 comes the ability to write and register a custom Pro Configuration plugin for Vizit. This article walks you through the process of developing and registering a custom Pro Configuration plugin.

Getting Started

If you haven't already, take a look at this article and follow the instructions in it to get started writing your custom code: http://support.vizit.com/entries/52705159-Getting-Started-With-Vizit-APIs


The rest of this article will explain the details of how to write the specific code for configuration profiles.

The Basics

Your Vizit install contains an assembly named Vizit.API.Interfaces. For custom Pro Configuration plugins, you must implement the IProConfiguration interface which contains four properties.

string ProConfiguration { get; }

bool AllowPrint { get; }

bool AllowDownload { get; }

string Id { get; }

Implementing the IProConfiguration Interface

Every time Vizit Pro is loaded, a configuration is parsed which determines which elements are available in the user interface. From which buttons are displayed to which panels are loaded - it is highly configurable. Until now, Vizit has offered a single way to deploy a configuration profile which was to host a JavaScript file in your environment and specify it's path on Vizit's Configure Settings page in Central Administration. This was both clunky and limited. With the IProConfiguration interface, you can now deploy a configuration profile that properly scales with your environment and also has the added ability to be targeted to the user that's using Pro or specific to other information available in the SharePoint context.

The following is an example ProConfiguration implementation which pulls outputs a different configuration resource based on the currently logged in user's group:

public string ProConfiguration
{
get
{
if(IsInManagerGroup) return Resources.ManagerProfile;
else return Resources.DefaultProfile;
}
}

This is an example of the AllowDownload and AllowPrint properties which both return true for users that are managers and false otherwise:

public bool AllowDownload { get { return IsInManagerGroup; } }

public bool AllowPrint { get { return IsInManagerGroup; } }

As with every Vizit plugin, you must implement the getter of the Id property. The value of this may not change. It is the unique value identifying this plugin.

public string Id { get { return "Contoso.ProConfigurationPlugin"; } }
Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk