Going to MMS 2012? Want to see a demo bursting session? Come and see how your application lifecycle can be managed with System Center 2012!

This session will unveil the Application Lifecycle Management using System Center 2012 and Team Foundation Server (TFS). Learn how TFS in collaboration with System Center products can assist you building, deploying, operating and optimize your Application Lifecycle. See how we integrate System center and TFS to track and deploy the application. Understand how Operations Manager detects, Service Manager tracks, Orchestrator automates and TFS manages and controls the Application Lifecycle.

More info at: http://www.mms-2012.com/topic/list (keyword: lifecycle)

Categories : Service Manager
Comments (0)

A few weeks ago, I was in the “studio” with my colleague Jonas Ullman and some fellow Expero instructors recording System Center 2012 presentations. So if you understand Swedish and would like to see how Service Manager 2012 and Orchestrator can bring fully automated self-service to the table, Enjoy!

Comments (6)

When creating views in System Center Service Manager, displaying a property of a related object can be accomplished by targeting a combination class, a.k.a. type projection. The wizard that is used to build views in the SM console let you choose which of the related objects, e.g. the affected user of an incident, that you want to bind a column to in a view. This works for all relationships that are constrained to only allow the “source object” (e.g. an incident) to relate one “target object” (e.g. the affected user). The limitations are described in detail in this blog post: http://blogs.technet.com/b/servicemanager/archive/2011/04/06/faq-why-can-t-i-add-some-columns-that-i-want-to-views.aspx

As described in the blog post the reason why we’re not able to select objects that are related to the “source class” based on a one-to-many relationship is based on the complexity around providing features like sorting etc.

Now let’s say you’re ok with not being able to sort on a column like this and would find some kind of value in showing the display name of one of your affected configuration items in a view. Maybe the reason is that you want to know if the incidents listed in the view has defined affected configuration items or not? If so, then you could make use of a XAML (which is the language that WPF and Silverlight is based on) feature that lets you bind to one element in a collection using an index. The abstracts below shows how you force a view to show one of the related objects from a “one-to-many” relationship by data binding to an index of a collection of related objects.

The first section shows a type projection defined for the purpose of having a view showing the affected user and affected configuration items of an incident. The reason for creating this type projection instead of using e.g. the “Incident (Advanced)” type projection is only for performance reasons; always try to minimize the number of components used in a type projection used by your views. Since I only need the two I created a type projection that only contains the two.

Type Projection

<TypeProjection ID="Gridpro.Incident.TypeProjetion.AffectedItems" Accessibility="Public" Type="CoreIncident!System.WorkItem.Incident">
    <Component Path="$Target/Path[Relationship='WorkItem!System.WorkItemAffectedUser']$" Alias="AffectedUser" />
    <Component Path="$Target/Path[Relationship='WorkItem!System.WorkItemAboutConfigItem']$" Alias="AffectedConfigItems" />
</TypeProjection>

Next abstract comes from the input parameter of my view that tells Service Manager that I want to makes use of the type projection described above.

View – Item Source Query Parameter

<AdvancedListSupportClass.Parameters>
	<QueryParameter Parameter="TypeProjectionId" Value="$MPElement[Name='Gridpro.Incident.TypeProjetion.AffectedItems']$" />
</AdvancedListSupportClass.Parameters>

The final abstract shows how to make use of the index when binding to the affected configuration items. Notice the “[0]” written behind the type projection component alias AffectedConfigItems.

View – Column definition

<mux:Column Name="AffectedConfigItems" DisplayMemberBinding="{Binding Path=AffectedConfigItems[0].DisplayName}" Width="100" DisplayName="Header_AboutCI" Property="AffectedConfigItems[0].DisplayName" DataType="s:String" />

In the picture below you can see the example view provided in the following management pack: Gridpro.Examples.Views.zip

Indexed binding

It’s here(!), now everyone can start providing their users with fully automated self-service based on pure System Center technology. Since yesterday you’re all able to download the beta version of System Center Service Manager 2012 and the RC version of System Center Orchestrator 2012. These two products are the core components in the new rich self-service portal experience provided by System Center 2012. Where Service Manager is the product that defines tracks and exposes your IT services, Orchestrator is in charge of the automated request fulfillment (delivering the service…). By having Orchestrator utilizing the other SC family members you can easily provide rich service to your users.

To start evaluating System Center 2012 products, download current versions from here:
http://www.microsoft.com/en-us/server-cloud/system-center/trial.aspx

Comments (0)

Big news! As some of you may know our company Gridpro announced the general availability of WebFront for Service Manager last week. WebFront for Service Manager is a Silverlight based web console that delivers functionallity very similar to what the standard console does for work items such as: incident-, problem-, activity- and change management. In the initial release the functionallity is focused around these work item types but the roadmap includes management of configuration items and other areas that’s included in the System Center Service Manager roadmap.

For more videos showing the product in action: http://www.youtube.com/user/GridproAB

For information on how to evaluate and get a hold of the product: http://www.gridpro.se/en/products/webfront-for-service-manager

Categories : Service Manager
Comments (2)
Jul
01

Competing workflows

By · Comments (0)

When using an AddRelationship or RemoveRelationship trigger to fire of workflows in Service Manager you might end up with an unwanted scenario of competing workflows.

Let’s say that you implement a rule that subscribes to relationships being added between a work item and configuration items (such as “configuration items to change” in a change request). The normal behavior after implementing this would be that multiple workflows where fired if multiple configuration items where related to the change request at the same time.

The behavior above is good if you want to do something specific with each configuration item being added to a change request. In certain scenarios though you might only be interested in firing of one workflow when relationships are added (or removed), no matter the amount of relationship changes being committed to the Service Manager database. If this is the case, you could end up with multiple workflows competing to finish of the same task.

Say you want to do something to a change request as soon as a (any) configuration item is added to the change request through the “configuration items to change” relationship. In this case, you only need one workflow to fire of, no matter how many configuration items were added in the transaction (commit). In scenarios like these the “top secret” BatchSize value of subscriptions comes into play. After some digging around I found that the value of BatchSize parameter actually limits the amount of write actions being executed based on a subscription (per poll). This effectively means that setting the BatchSize value to 1 will make sure that only one workflow (write action) is executed even though the condition of the subscription rule was fulfilled by multiple objects.

The MP xml below comes from a management pack where I’ve changed the BatchSize to 1 to fire of a single workflow when a configuration item(s) is added to a change request. The workflow in this specific case was used to add a special activity to all change requests which has one or more “configuration items to change”. The workflow would start with checking of the special activity had already been added, if not it would add the activity. This way, if a previous workflow has already added the activity, the following workflows (triggered by new configuration items being added) would abort at a very early stage, perfect! But if the BatchSize hadn’t been tuned to 1, adding multiple configuration items to the change (where no “configuration items to change” had previously been added) at the same time, would cause multiple workflows to fire of. All of them would think that they were first and they would end up competing for adding the special activity.

<DataSource ID="DS" TypeID="SystemCenter!Microsoft.SystemCenter.CmdbInstanceSubscription.DataSourceModule">
 <Subscription>
  <RelationshipSubscription RelType="$MPElement[Name='WorkItem!System.WorkItemAboutConfigItem']$" SourceType="$MPElement[Name='WorkItem!System.WorkItem']$" TargetType="$MPElement[Name='System!System.ConfigItem']$">
   <AddRelationship />
  </RelationshipSubscription>
  <PollingIntervalInSeconds>30</PollingIntervalInSeconds>
  <BatchSize>1</BatchSize>
 </Subscription>
</DataSource>

During the past two weeks I’ve been asked several times if it’s possible to copy templates in Service Manager. Since Service Manager currently doesn’t provide that specific functionality I had no choice but to write a tool for it. :)

The tool is currently a stand-alone application (but might be integrated as a console task further down the road). It lists all your object templates and enables you to create copies of a selected template. This will save you some time if you’re creating lots of templates with small differences.

Since this is a beta, please use the tool in a non-production environment when creating the copies and then transfer the management packs to the production environment afterwards.

Download “TemplateCopy for Service Manager – Beta 2″

Enjoy!

Categories : Service Manager
Comments (4)



We’ve reached the final steps of writing the Service Manager Unleashed book! Not only is this a great feeling but it also means that I’ll have some more time for writing blog posts!

I would like to thank all my co-authors for their hard work. Well done!

I hope this will provide lots of peopled with some grateful guidance, go pre-order it today at:
http://tinyurl.com/SCSM2010Unleashed

 

Categories : Service Manager
Comments (2)

ConfigMgr 2007 R3 includes the functionality to prestage both the WinPE boot image and OS install image on hard disk. This enables you to instruct your computer hardware provider to prestage these files on the disk when it ships, making your OS installation process both much faster (because image is already on disk). And there is no need for PXE or CD/DVD boot, because the boot image is loaded from the disk. This is a greatly anticipated feature and the lack of this feature before created a lot of custom solutions to be made.

But in some circumstances it would be great to have the ability to use only the prestaged WinPE and not be forced to use the prestaged OS Install Image. By setting the much undocumented new OSD task sequence variable OSDUseAlreadyDeployedImage to False before the Apply Operating System action enables this behavior and forces the action to use the network stored OS Install Image or any other OS Install Image than the prestaged. See screenshot below.

screen
This comes in handy if your image is changed and you don’t want to pay extra for the computer hardware provider to update computers already staged, or if your OS installation task sequence contains multiple images. In my case I wanted to create a custom OS refresh scenario by prestaging only WinPE Boot Image on disk, but that’s another story.

Comments (0)
Mar
24

Gridpro.se launched

By · Comments (0)

Gridpro the company owned by me (Patrik Sundqvist) and my co-blogger Jonas Ullman just launched their web site. Our first announcement on the company web site is the development of a web console for Service Manager (Gridpro WebFront for Service Manager) and development of a Windows Phone 7 app (Gridpro MobileFront for Service Manager). Check it out at www.gridpro.se!!

Categories : Other
Comments (0)