MUG Newsletter: October 2018 Issue

A few selected articles from the October 2018 issue are presented on this page. To read the full issue, click the button below. Back issues can be found in the Archive box at right.

Read Full Issue

From the MiContact Center Tip Desk

By Patrick McDowell – MiCC Customer Advocate

I’ve been telling you about the powerful features of the IVR Workflows and Subroutines for a few months now and you may have been experimenting with different workflows and subroutines. One of the cool things about the IVR designer is the version history – every time you edit and save an IVR workflow or subroutine, the previous version of that file remains on your drive. This is really handy for those times when you need to revert back to how things were before.

This also comes with a bit of a drawback – over time, you end up using more disk space than necessary – you end up storing data that will never ever be used again. For you power users out there, a simple Powershell script can clean up the workflow directory and keep only the most recent (active) copy of the workflow/subroutines.

You will have to adjust it slightly if your IVR workflow path is not default (the $root value highlighted in red below) and when this script runs, it will remove all but the last modified XAML files (workflow and subroutine file-type), leaving you with only the active files. If there are other file-types in your IVR worklfow folders (such as a text doc commenting a workflow, etc) they will not be touched.  If you want to preserve your workflow history but also want to clean up your drive, store your most recent BACKUP file (by default found in 'C:\Program Files (x86)\Mitel\MiContact Center\Backups) in a safe location before you do the cleanup.

Paste the following into a new notepad document and save it asXamlSweeper.ps1 in the <INSTALLDIR>\IVR\Workflows folder. To run it, right-click on it and choose Run In Powershell.

$root = 'C:\Program Files (x86)\Mitel\MiContact Center\Ivr\Workflow\Compiled'

Get-ChildItem $root -Recurse | ? { $_.PSIsContainer } | ForEach-Object {
  Get-ChildItem (Join-Path $_.FullName '*.xaml') |
    Sort-Object LastWriteTime -Desc |
    Select-Object -Skip 1 |
    Remove-Item -Force
}