Being able to publish announcements in the Cireson Portal is a great way to get information out to the people, whether it is just to IT, or certain parts of the business, or the whole business. It’s particular useful to notify users of new request offerings when they become available, and when there are major IT outages!

Announcement

 

What isn’t so great is that in the current portal version, only admins can publish announcements.  This is going to change in future update, however, as is always the case, I needed to enable non-admins to be able to publish announcements.

As I know you can interact with the Cireson portal programmatically, I decided that using PowerShell to create the announcement would be the best way forward.  Once I have the PowerShell, I can then put that in an SCSM workflow and wrap it all up in a request offering that can be published through the Cireson portal.  Once published, I then have control over who can see the offering, and who can’t, allowing non-administrators to create announcements.

The first item I wanted to get functioning was the PowerShell script, simply to ensure I could create an announcement in this way.  Once validated, I then updated the script for an workflow, as shown below.

I’m not going to cover creating the workflow itself in this post, as there are plenty of resources on the internet for doing that, but I simply created a new workflow with one PowerShell script containing the code above and passing just SR ID parameter with the variable name SR_ID.  The trigger condition for the workflow is a newly created SR with a display name of ‘Create Announcement’, although you could use anything that works for you as long as it identifies the announcement SR.

You’ll also need to provide your own credentials for the account that will be used to create the announcement, the announcement properties being passed from the SR, group names and ID’s and priority ID’s.  All the ID’s you need can be found in the ServiceManagement database in the dbo.CI$DomainGroup and dbo.DisplayString tables.

With the workflow sorted, I set about creating the SR template that the request offering will use.  This is a basic SR with the common fields completed such as Title (in this case ‘Create Announcement’), Description, Urgency etc. etc. plus one Manual Activity in workflow with the title Create Announcement.

 

SR Announcement Workflow

 

With the SR template in place, I can now create the Service Offering and Request Offering for publishing in the portal.  Six questions need to be asked in the Request Offering in order for an announcement to be published.

Questions

 

The Text and Date fields are just default text and date fields, and the Simple List for Priority just provides the options for Low, Medium or High priority.  The Query Results for Audience are querying the domain for the specific group names I want to make available as options to publish the announcement to.  To finish the request offering, the prompts need to be mapped to properties, which I map to generic extended properties that I have created (which I will expand on more in a future post).

Map Prompts

 

Once the Request Offering (RO) is complete, it needs to be linked to a Service Offering, whether new or existing.

Service Offering

 

Once all published, we are good to go!  Simply restart the Cireson Cache Builder service, refresh your browser, and then submit a new announcement request.

Home

 

Completed RO

 

Hey presto… New Announcement!

announcement

 

Once all tested, all that is left to do is allocate the permissions appropriately so only the people you want creating announcements can see the request offering 🙂

I know there seems like a lot to do to achieve this, but I’m sure you’ll find it easier to implement than this post may suggest.  If you would like any more detail on any part, or have any questions, please feel free to ask in the Comments below.

Enjoy,

David