Skip to content

Commit

Permalink
v2.1 (#173)
Browse files Browse the repository at this point in the history
* Suggest KA/RO fix (v2.x) (#170)

* Update smletsExchangeConnector.ps1

Fixed logic for URL Suggestions. Added object declaration in email object instantiation.

* Update smletsExchangeConnector.ps1

Moved Body obect instantiation to earlier in the mail message build to avoid clobbering the Body assignment statement.

* Update smletsExchangeConnector.ps1

Re-ordered some statements to make them work with how Body element is applied.

* Update smletsExchangeConnector.ps1

Removed extra line

* Update smletsExchangeConnector.ps1

Updated contributors section

* Watchlist integration (v2.x) (#168)

*  watchlist integration

Introducing the core add/remove functions for the watchlist feature along with the variables to define keywords

* add watchlist keyword actions

adds the watch/stopwatch feature to Incident, Service Request, Problem, and Change Request

* watchlist validation logic

Introducing a new configuration variable within the script that controls whether or not watchlist integration is used. This is already present in the MP as it controls whether or not the portal functionality is grayed out. Also updating keyword properties.

* watchlist keywords

extending the class to include the new keywords for adding and removing from the watchlist

* Watchlist data bindings

Updating AdminSettingsWizardData (C# code behind to the Settings UI) to reference the new Watchlist keyword properties on the Management pack (Settings.mpx)

* watchlist fields

adding watchlist fields for add/remove actions

* updating UI title

shifting title to the next version number

* updating next build version

changing the MP's next build version

* watchlist graphic

adding watchlist icon to update the readme

* updating features

adding verbiage for the watchlist integration

* Updating inline notes

Updating notes with versioning information

* updating contributors

Adding @infiniterecursion into AboutForm.xaml notes

* typo in notes

Correcting a typo in the version notes

Co-authored-by: Brad Zima <infiniterecursion@users.noreply.github.com>
  • Loading branch information
AdhocAdam and infiniterecursion committed Mar 29, 2020
1 parent a0bd2f9 commit 5e5d403
Show file tree
Hide file tree
Showing 9 changed files with 138 additions and 14 deletions.
Binary file added FeatureScreenshots/watchlist.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DeploymentNextVersion>2.0.2016.6</DeploymentNextVersion>
<DeploymentNextVersion>2.0.2016.8</DeploymentNextVersion>
<DeploymentAutoIncrementVersion>True</DeploymentAutoIncrementVersion>
<DeploymentStartAction>None</DeploymentStartAction>
<DeploymentWebConsoleUrl />
Expand Down
18 changes: 18 additions & 0 deletions ManagementPack/2016/SMLets.Exchange.Connector/Settings.mpx
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,24 @@
Key="false"
Required="false" />

<Property ID="CiresonKeywordWatchlistAdd"
Type="string"
AutoIncrement="false"
Key="false"
CaseSensitive="false"
MaxLength="256"
MinLength="0"
Required="false" />

<Property ID="CiresonKeywordWatchlistRemove"
Type="string"
AutoIncrement="false"
Key="false"
CaseSensitive="false"
MaxLength="256"
MinLength="0"
Required="false" />

<!--Announcement Properties-->
<Property ID="EnableAnnouncements"
Type="bool"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ class AdminSettingWizardData : WizardData
private String strCiresonPortalURL = String.Empty;
private Int32 strMinWordsToMatchToSuggestRO = 0;
private Int32 strMinWordCountToSuggestKA = 0;
private String strAddWatchlistKW = String.Empty;
private String strRemoveWatchlistKW = String.Empty;
private Boolean boolEnableAnnouncementIntegration = false;
private Boolean boolEnableSCSMAnnouncements = false;
private Boolean boolEnableCiresonAnnouncements = false;
Expand Down Expand Up @@ -1152,6 +1154,36 @@ public Boolean IsCiresonPortalMPImported
}
}

public String KeywordAddWatchlist
{
get
{
return this.strAddWatchlistKW;
}
set
{
if (this.strAddWatchlistKW != value)
{
this.strAddWatchlistKW = value;
}
}
}

public String KeywordRemoveWatchlist
{
get
{
return this.strRemoveWatchlistKW;
}
set
{
if (this.strRemoveWatchlistKW != value)
{
this.strRemoveWatchlistKW = value;
}
}
}

public Boolean IsCiresonIntegrationEnabled
{
get
Expand Down Expand Up @@ -2500,6 +2532,8 @@ internal AdminSettingWizardData(EnterpriseManagementObject emoAdminSetting)
catch { this.MinWordCountToSuggestRO = 1; }
try { this.MinWordCountToSuggestKA = Int32.Parse(emoAdminSetting[smletsExchangeConnectorSettingsClass, "NumberOfWordsToMatchFromEmailToCiresonKnowledgeArticle"].ToString()); }
catch { this.MinWordCountToSuggestKA = 1; }
this.KeywordAddWatchlist = emoAdminSetting[smletsExchangeConnectorSettingsClass, "CiresonKeywordWatchlistAdd"].ToString();
this.KeywordRemoveWatchlist = emoAdminSetting[smletsExchangeConnectorSettingsClass, "CiresonKeywordWatchlistRemove"].ToString();
try { this.IsCiresonIntegrationEnabled = Boolean.Parse(emoAdminSetting[smletsExchangeConnectorSettingsClass, "EnableCiresonIntegration"].ToString()); }
catch { this.IsCiresonIntegrationEnabled = false; }
try { this.IsCiresonFirstResponseDateOnSuggestionsEnabled = Boolean.Parse(emoAdminSetting[smletsExchangeConnectorSettingsClass, "EnableSetFirstResponseDateOnSuggestions"].ToString()); }
Expand Down Expand Up @@ -3011,6 +3045,8 @@ public override void AcceptChanges(WizardMode wizardMode)

//Cireson Integration
emoAdminSetting[smletsExchangeConnectorSettingsClass, "EnableCiresonIntegration"].Value = this.IsCiresonIntegrationEnabled;
emoAdminSetting[smletsExchangeConnectorSettingsClass, "CiresonKeywordWatchlistAdd"].Value = this.KeywordAddWatchlist;
emoAdminSetting[smletsExchangeConnectorSettingsClass, "CiresonKeywordWatchlistRemove"].Value = this.KeywordRemoveWatchlist;
emoAdminSetting[smletsExchangeConnectorSettingsClass, "CiresonSearchKnowledgeBase"].Value = this.IsCiresonKBSearchEnabled;
emoAdminSetting[smletsExchangeConnectorSettingsClass, "CiresonSearchRequestOfferings"].Value = this.IsCiresonROSearchEnabled;
emoAdminSetting[smletsExchangeConnectorSettingsClass, "CiresonPortalURL"].Value = this.CiresonPortalURL;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ From BaseManagedEntity

//Create a new "wizard" (also used for property dialogs as in this case), set the title bar, create the data, and add the pages
WizardStory wizard = new WizardStory();
wizard.WizardWindowTitle = "SMLets Exchange Connector Settings v2.0.1";
wizard.WizardWindowTitle = "SMLets Exchange Connector Settings v2.1";
WizardData data = new AdminSettingWizardData(emoAdminSetting);
wizard.WizardData = data;
wizard.AddLast(new WizardStep("General", typeof(GeneralSettingsForm), wizard.WizardData));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<TextBlock Margin="10,-10,10,0" Text="Adam Dzyacky" TextWrapping="Wrap" />
<!-- Contributors -->
<TextBlock Margin="0,5,0,0" TextWrapping="Wrap" FontStyle="Italic" Text="SMLets Exchange Connector (PowerShell) Contributors" />
<TextBlock Margin="10,0" TextWrapping="Wrap" Text="Martin Blomgren, Tom Hendricks, Leigh Kilday, nradler2, Justin Workman" />
<TextBlock Margin="10,0" TextWrapping="Wrap" Text="Martin Blomgren, Tom Hendricks, Leigh Kilday, nradler2, Justin Workman, Brad Zima" />
<!-- Reviewers -->
<TextBlock Margin="0,5,0,0" TextWrapping="Wrap" FontStyle="Italic" Text="SMLets Exchange Connector (PowerShell) Reviewers" />
<TextBlock Margin="10,0" TextWrapping="Wrap" Text="Tom Hendricks, Brian Weist" />
Expand Down Expand Up @@ -49,4 +49,4 @@
</TextBlock>
</StackPanel>
</Grid>
</wpfwiz:WizardRegularPageBase>
</wpfwiz:WizardRegularPageBase>
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
xmlns:wpfwiz="clr-namespace:Microsoft.EnterpriseManagement.UI.WpfWizardFramework;assembly=Microsoft.EnterpriseManagement.UI.WpfWizardFramework"
xmlns:smcontrols="clr-namespace:Microsoft.EnterpriseManagement.UI.WpfControls;assembly=Microsoft.EnterpriseManagement.UI.SmControls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Custom="http://schemas.microsoft.com/SystemCenter/Common/UI/Wpf" mc:Ignorable="d" Width="567" Height="580">
xmlns:Custom="http://schemas.microsoft.com/SystemCenter/Common/UI/Wpf" mc:Ignorable="d" Width="567" Height="647.746">

<Grid Name="ConfigurationGrid" Margin="10">
<!-- header -->
Expand All @@ -14,7 +14,7 @@

<!-- configuration -->
<StackPanel Name="scrollViewer" HorizontalAlignment="Left" Width="240" Margin="0,117,0,10">
<StackPanel Name="stackPanelLeft" Orientation="Vertical" Height="437" VerticalAlignment="Top" >
<StackPanel Name="stackPanelLeft" Orientation="Vertical" Height="485" VerticalAlignment="Top" >
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblFromKeyword" Content="Email reply parsing keyword (e.g. From)"/>
<TextBox Height="25" Margin="0,-8,10,10" x:Name="txtFromKW" Text="{Binding KeywordFrom, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblAckKeyword" Content="[Acknowledge]"/>
Expand All @@ -31,10 +31,12 @@
<TextBox Height="25" Margin="0,-8,10,10" ToolTip="announcement" x:Name="txtBlkAnnouncementKeyword" Text="{Binding KeywordAnnouncement, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblPrivateKeyword" Content="#private"/>
<TextBox Height="25" Margin="0,-8,10,10" ToolTip="announcement" x:Name="txtBlkPrivateKeyword" Text="{Binding KeywordPrivate, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblRemoveWatchlistKeyword" Content="[stopwatch] - requires Cireson Portal"/>
<TextBox Height="25" Margin="0,-8,10,10" x:Name="txtBlkRemoveWatchlistKeyword" Text="{Binding KeywordRemoveWatchlist, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
</StackPanel>
</StackPanel>
<StackPanel x:Name="scrollViewer_Copy" HorizontalAlignment="Left" Width="240" Margin="271,117,0,10">
<StackPanel Name="stackPanelRight" Orientation="Vertical" Height="437" VerticalAlignment="Top">
<StackPanel Name="stackPanelRight" Orientation="Vertical" Height="485" VerticalAlignment="Top">
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblCancelKeyword" Content="[Cancelled]"/>
<TextBox Height="25" Margin="0,-8,10,10" x:Name="txtCancelledKW" Text="{Binding KeywordCancel, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblCompletedKeyword" Content="[Completed]"/>
Expand All @@ -49,6 +51,8 @@
<TextBox Height="25" Margin="0,-8,10,10" Name="txtTakeKW" Text="{Binding KeywordTake, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblHealthKeyword" Content="[SCOM Distributed App Health Status]"/>
<TextBox Height="25" Margin="0,-8,10,10" x:Name="txtSCOMHealthKeyword" Text="{Binding KeywordHealth, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
<Label Height="25" Padding="0" Margin="0,0,0,0" x:Name="lblAddWatchlistKeyword" Content="[watch] - requires Cireson Portal"/>
<TextBox Height="25" Margin="0,-8,10,10" x:Name="txtAddWatchlistKeyword" Text="{Binding KeywordAddWatchlist, FallbackValue='', Mode=TwoWay}" Custom:Validation.RegexPattern="^[a-zA-Z0-9]*$" />
</StackPanel>
</StackPanel>
</Grid>
Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,16 @@ The stock Exchange Connector is a seperate download that enables SCSM deployment
This is aimed at SCSM administrators looking to further push the automation limits of what their SCSM deployment can do with inbound email processing. As such, you should be comfortable with PowerShell and navigating SCSM via SMlets.

## What new things can it do?
<table border="0">
<tr>
<td colspan="3"><i>Support for Cireson Watchlist (v2.1)</i></td>
</tr>
<tr>
<td width="200"><img src ="/FeatureScreenshots/watchlist.png" /></td>
<td width="auto">Cireson customers can now use the new configurable [watch] and [stopwatch] keywords to control the watchlist directly from email. You can configure HTML links within your own notifications so these keywords function similiar to Announcements, Take, Review Activities, and more. Looking for <a href="https://github.com/AdhocAdam/smletsexchangeconnector/wiki/HTML-Email-Keyword-Examples">examples</a>?</td>
</tr>
</table>

<table border="0">
<tr>
<td colspan="3"><i>Settings Management Pack (v2.0)</i></td>
Expand Down

0 comments on commit 5e5d403

Please sign in to comment.