AdhocAdam / smletsexchangeconnector

SMLets PowerShell based Exchange Connector for controlling Microsoft System Center Service Manager 2016+
https://adhocadam.github.io/smletsexchangeconnector/
GNU General Public License v3.0
29 stars 19 forks source link

Introduce a Settings MP #49

Closed AdhocAdam closed 5 years ago

AdhocAdam commented 6 years ago

With each iterative upgrade to the script and a growing feature set, every new version must be reconfigured to place settings back the way they were. This requires an increase in the time it takes to deploy each new version and individually set every setting back to its respective $true or $false settings as configured per organization.

The introduction of a Settings Management Pack would serve the purpose of persisting settings across upgrades and patches of the script. By having a central location to manage these Administration would be able to quickly turn features on or off without having to edit the script.

This MP would:

AdhocAdam commented 6 years ago

Rewrote and expanded on Travis' post with two posts on the repo's blog. They can be accessed here:

Building a Custom Settings UI (part 1) Building a Custom Settings UI (part 2)

AdhocAdam commented 6 years ago

Branch created at SettingsMP

AdhocAdam commented 6 years ago

Work continues on the Settings MP:

01 02 03

AdhocAdam commented 5 years ago

The Settings MP has now seen its first commit. It is in an unfinished state, but does compile a final MPB that can be deployed for further development/testing.

AdhocAdam commented 5 years ago

Apart from the ongoing PowerShell work for the connector in #113, I've devoted a fair amount of time so far this year to breaking down SMLets in order to back into the C# required for the Settings MPB. This alongside re-evaluating UI layout and re-prioritizing work within it. Having done this, I now have a functional Settings MPB that:

With the functionality of the MPB complete I'll be moving onto the final phase which includes:

  1. UI form validation

    • [x] fields accepting numbers (decimal vs. int)
    • [ ] fields accepting specific text patterns
    • [x] dropdowns default/enforce a selection
  2. Triple checking data type required fields per the MP's XML file so as to maintain future upgrade compatibility

    • [x] Settings
    • [x] Additional Mailbox
      • uses GUID as key property thus allowing address to be changed
      • other properties are Template GUIDs/DisplayName
  3. Code to follow a highly visual pattern of how the UI (WPF) connects to C# which in turn connects to the XML to make learning any aspect of this as easy as possible

    • [x] WPF Forms
    • [x] XAML Code Behinds
    • [x] AdminSettingsWizardData
    • [x] Management Pack XML
    • [x] Inline PowerShell equivalent (where applicable) of C#
  4. Publish solution into Settings branch

  5. Move the SMLets Exchange Connector's configuration section to pull from the MPB for a currently unknown release date

forms

AdhocAdam commented 5 years ago

Continuing to account for as much validation as possible. Noteworthy items:

collage02

AdhocAdam commented 5 years ago

Settings MP beta 3 published to a newly created Settings branch. Re-used the branch name so as not to break links. Also used this an opportunity to get SettingsMP branch in sync with dev (currently v1.5 at the time of this writing).

Changes from beta 2 (above)

Known Issues

AdhocAdam commented 5 years ago

Version 2 released.