<?xml version="1.0" encoding="utf-8" ?>
<!-- The Provider Name property is an internally defined name which is used
     as the unique identity of the provider.  DisplayName is the string displayed
     to the user where needed by an application.
     
     Name="OfficeOpenXML"
-->
<ContentSourcePropertyProviderCfg xmlns="http://AutodeskDM/Schemas/Design/CSPPCfg/01/04/2010/" DisplayName="Office Documents!ID_CSPP_DISPLAYNAME_OFFICE_XML">

  <!-- configuration of the supported file extensions for the provider. 
       Supported = list of types the provider will work with 
       Unsupported = list of types the provider will not work with from the Supported list.
                     The unsupported list is subtracted form the supported list unless
                     the supported list contains .*
       
       The unsupported option is useful when a provider supports .* (all) types but we want
       to omit some specififc types.
       
       The types (extensions) are to be listed with the format of:  .ext
       multiple are done as follows (example):  .jpg,.html 
   -->
  <FileTypes Supported=".docx,.docm,.dotx,.dotm,.xltx,.xltm,.xlsx,.xlsm,.xlsb,.potx,.pptx,.pptm,.potm" Unsupported=""/>

  <!-- configuration of the property sets that the provider will honor and not honor.
       Within each set specifics about individual content source property defs can be configured.
  
       DefaultCtntSrcPropDefAttributes
           rw = "Read, ReadWrite or None"
               None means that all props found are first considered to not be included.
               If a CtntSrcPropDef overrides it then it will be included.
           canCreateNew = true or false
           displayNameSuffix is appended to the end of all display names assinged to cs prop defs.
               This appending is done if a displayname is supplied or not.
       
       For CtntSrcPropDef, id and dataType are required.
       
       UnknownPropertySets can only supply a DefaultCtntSrcPropDefAttributes element (no CtntSrcPropDefs list)
  -->
  <PropertyConfiguration>

    <!-- defined alternates for all cs prop defs for property id, prop set and data type.
         When evaluating a tripplet these are applied first.
         altType values:  PropertyId, PropertySet, DataType
    -->
    <GlobalAlternates>
      <GlobalAlternate altType="DataType"  from="text"    to="nvarchar"/>
      <GlobalAlternate altType="DataType"  from="number"  to="float(53)"/>
      <GlobalAlternate altType="DataType"  from="boolean" to="bit"/>
      <GlobalAlternate altType="DataType"  from="date"    to="datetime"/>
    </GlobalAlternates>

    <!-- how to handle property sets that are _undefined_ by the configuration -->
    <UnknownPropertySets supported="true">
      <DefaultCtntSrcPropDefAttributes rw="Read" canCreateNew="false"/>
    </UnknownPropertySets>

    <!-- how to handle property sets that are _defined_ by the configuration -->
    <KnownPropertySets>

      <!-- Microsoft Summary -->
      <PropertySet id="{F29F85E0-4FF9-1068-AB91-08002B27B3D9}">
        <DefaultCtntSrcPropDefAttributes rw="None" canCreateNew="false" displayNameSuffix="(Standard)" standard="true"/>
        <CtntSrcPropDefs>
          <CtntSrcPropDef id="2"  dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Title!ID_TITLE" />
          <CtntSrcPropDef id="3"  dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Subject!ID_SUBJECT" />
          <CtntSrcPropDef id="4"  dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Author!ID_AUTHOR" />
          <CtntSrcPropDef id="5"  dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Keywords!ID_KEYWORDS" />
          <CtntSrcPropDef id="6"  dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Comments!ID_COMMENTS" />
          <CtntSrcPropDef id="7"  dataType="nvarchar"  rw="Read"                             displayName="Template!ID_TEMPLATE" />
          <CtntSrcPropDef id="8"  dataType="nvarchar"  rw="Read"                             displayName="Last Author!ID_LAST_AUTHOR" />
          <CtntSrcPropDef id="9"  dataType="nvarchar"  rw="Read"                             displayName="Rev Number!ID_REV_NUMBER" />
          <CtntSrcPropDef id="11" dataType="datetime"  rw="Read"                             displayName="Last Printed!ID_LAST_PRINTED" />
          <CtntSrcPropDef id="12" dataType="datetime"  rw="Read"                             displayName="Created Time!ID_CREATED_TIME" />
          <CtntSrcPropDef id="13" dataType="datetime"  rw="Read"                             displayName="Last Saved Time!ID_LAST_SAVED_TIME" />
          <CtntSrcPropDef id="14" dataType="int"       rw="Read"                             displayName="Page Count!ID_PAGE_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="15" dataType="int"       rw="Read"                             displayName="Word Count!ID_WORD_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="16" dataType="int"       rw="Read"                             displayName="Char Count!ID_CHAR_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="17" dataType="image"     rw="Read"                             displayName="Thumbnail!ID_THUMBNAIL" standard="false">
            <Alternates>
              <Alternate dataType="nvarchar"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="18" dataType="nvarchar"  rw="Read"                             displayName="App Name!ID_APPLICATION" />
          <CtntSrcPropDef id="19" dataType="int"       rw="Read"                             displayName="Security!ID_SECURITY">
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
        </CtntSrcPropDefs>
      </PropertySet>

      <!-- Microsoft Doc Summary -->
      <PropertySet id="{D5CDD502-2E9C-101B-9397-08002B2CF9AE}">
        <DefaultCtntSrcPropDefAttributes rw="None" canCreateNew="false" displayNameSuffix="(Standard)!ID_STANDARD_SFX" standard="true"/>
        <CtntSrcPropDefs>
          <CtntSrcPropDef id="2"  dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Category!ID_CATEGORY" />
          <CtntSrcPropDef id="3"  dataType="nvarchar"  rw="Read"                             displayName="Presentation Target!ID_PRESENTATION_TARGET" />
          <CtntSrcPropDef id="5"  dataType="int"       rw="Read"                             displayName="Line Count!ID_LINE_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="6"  dataType="int"       rw="Read"                             displayName="Para Count!ID_PARAGRAPH_COUNT" >
          <Alternates>
            <Alternate dataType="float(53)"/>
          </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="7"  dataType="int"       rw="Read"                             displayName="Slide Count!ID_SLIDE_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="8"  dataType="int"       rw="Read"                             displayName="Note Count!ID_NOTE_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="9"  dataType="int"       rw="Read"                             displayName="Hidden Count!ID_HIDDEN_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="10" dataType="int"       rw="Read"                             displayName="Media Clip Count!ID_MEDIA_CLIP_COUNT" >
            <Alternates>
              <Alternate dataType="float(53)"/>
            </Alternates>
          </CtntSrcPropDef>
          <CtntSrcPropDef id="11" dataType="bit"       rw="Read"                             displayName="Scale!ID_SCALE" />
          <CtntSrcPropDef id="14" dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Manager!ID_MANAGER" />
          <CtntSrcPropDef id="15" dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Company!ID_COMPANY" />
          <CtntSrcPropDef id="16" dataType="bit"       rw="Read"                             displayName="Links Dirty!ID_LINKS_DIRTY" />
          <CtntSrcPropDef id="27" dataType="nvarchar"  rw="ReadAndWrite" canCreateNew="true" displayName="Status!ID_STATUS" standard="true"/>
        </CtntSrcPropDefs>
      </PropertySet>

      <!-- Microsoft User Defined -->
      <PropertySet id="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}">
        <DefaultCtntSrcPropDefAttributes rw="ReadAndWrite" canCreateNew="true" displayNameSuffix="(Custom)!ID_CUSTOM_SFX"/>
      </PropertySet>

    </KnownPropertySets>

    <!-- Does provider support creation of custom properties in its files.
       propSetId = the identifier to use as part of the moniker. (displayname ! propSetId ! data type)
       dataTypes = comma delimited list of the common provider data types (String,Numeric,Bool,DateTime,Image)
     -->
    <CustomProperties supported="true" propSetId="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" dataTypes="String,Numeric,Bool,DateTime"/>

  </PropertyConfiguration>

  <!-- List of key/value pairs for use by provider as needed -->
  <Settings>
    <!-- dir to output bom xml passed to IContentSourceBOMPropertyProvider.ReadBOMProperties(). 
         The output file will be the file name passed to ReadBOMProperties() with .dmbom appended to it.
         If value="" means no write to dir. Can be relative to this file. -->
    <add key="WriteBomXmlToDir" value="" />
  </Settings>

  <!-- 
    **************************************************************************************************
    Different configuration needs for additional provider support
    ************************************************************************************************** 
   -->
  <!-- 
    BOM Property Configuration. (IContentSourceBOMPropertyProvider)
    Defined the property definitions that are specific to BOMs.
  -->
  <BOMPropertyConfiguration refDesSupport="false">

    <!-- Component Property Sets -->
    <ComponentPropertySets>
      <PropertySet id="VaultComp">
        <DefaultCtntSrcPropDefAttributes rw="None" canCreateNew="false"/>
        <CtntSrcPropDefs>
          <CtntSrcPropDef id="CompName" dataType="nvarchar" rw="Read" displayName="Component Name!ID_COMPONENT_NAME" standard="true"/>
          <CtntSrcPropDef id="CompType" dataType="nvarchar" rw="Read" displayName="Component Type!ID_COMPONENT_TYPE" standard="true"/>
        </CtntSrcPropDefs>
      </PropertySet>
    </ComponentPropertySets>

  </BOMPropertyConfiguration>

</ContentSourcePropertyProviderCfg>
