Importing Knowledge into Service Manager 2010

Anders strikes again – this time with a blog article about importing knowledge into Service Manager using CSV import.

A few things I would add to his excellent article:

1) Here is a list of the options for the enum data type fields (at least out of the box):

Article Type:

Enum ID Enum GUID
(what you need to put in the CSV file)
System.Knowledge.ArticleTypeEnum.FAQ 2EFD3759-CDB9-4E4D-E557-211855A8C92F
System.Knowledge.ArticleTypeEnum.HowTo 9990416C-4F5F-1204-DDC4-0EA678AEEC9E
System.Knowledge.ArticleTypeEnum.Issue 38D64001-FB34-5E74-D19B-A65BB189E68C


Enum ID Enum GUID
(what you need to put in the CSV file)
System.Knowledge.StatusEnum.Archived DF9ED3CF-083B-06E8-9679-DADF4145950D
System.Knowledge.StatusEnum.Draft 10F171DF-3AB1-648D-D151-D83A5171DD7B
System.Knowledge.StatusEnum.Published 761B8724-8307-8F26-3DC5-CF017922B603


Enum ID Enum GUID
(what you need to put in the CSV file)
System.Knowledge.TagEnum.Duplicate 0441EC5E-11F6-C183-9493-3F16D3D8A850
System.Knowledge.TagEnum.Incomplete 2CD43F1E-6E68-FCD4-E923-55D0F858CDC6
System.Knowledge.TagEnum.ToRewrite F982E5B1-7864-7FC5-D0A4-8E000C91C241


Enum ID Enum GUID
(what you need to put in the CSV file)
System.Knowledge.CategoryEnum.EnterpriseApplication 8F5BB609-AB38-8E50-B6EB-216E2F7CD51B
System.Knowledge.CategoryEnum.Hardware F452BA19-6AD2-1207-5E20-D0CD9CCDAB8D
System.Knowledge.CategoryEnum.Networking FFA272B8-97A4-0127-1BE0-A971F75CDA64
System.Knowledge.CategoryEnum.Other 75F786E2-CAA7-E7E9-47A0-BCC714BF1EDF
System.Knowledge.CategoryEnum.Printing 2EFFF8FE-17A1-F30E-E05F-89C8E65F00E7
System.Knowledge.CategoryEnum.Software 3D899B78-D829-CD96-9958-5AD5FBC958D3

2) Although Anders didn’t list it in his blog post you can also set the PrimaryLocaleID property.  It is an integer from this list (right most column).

3) Analyst or End User content can be in Rich Text Format (RTF).  In Anders example he shows you how to import knowledge from a .txt file but you can also do it from .rtf files if you want to have rich formatting of the content.

4) I’ve put together some sample  files for you to use:

  • TestDataMap.xml is the data mapping file you’ll need.
  • TestData.csv is a sample data file.  You can open it in Excel for easier data entry.  Don’t forget to remove the header row before you try to do the actual import!
  • TestEndUser.rtf and TestAnalyst.rtf are test content documents referenced by the TestData.csv file.

You can get the files from our SkyDrive.

5) I highly recommend doing this in a test environment first before you bulk insert into a production environment.  If there is a problem don’t forget about bulk deleting using PowerShell.  The class ID for knowledge articles is System.Knowledge.Article in case you need to do some clean up.