<!DOCTYPE maps SYSTEM "../../../lib/tools/dtd/MapsDefinition2.0.dtd">
<maps>
  <map>
    <map-name>ExternalIdMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>externalId</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>entityType</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>entityId</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <key primary="true">
      <member-name>externalId</member-name>
      <member-name>entityType</member-name>
    </key>
  </map>
  <map>
    <map-name>GalleryAccessMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>3</schema-minor>
    </schema>
    <member>
      <member-name>accessListId</member-name>
      <member-type>INTEGER</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>userOrGroupId</member-name>
      <member-type>INTEGER</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>permission</member-name>
      <member-type>BIT</member-type>
      <member-size>LARGE</member-size>
      <indexed/>
      <required/>
    </member>
    <key primary="true">
      <member-name>accessListId</member-name>
      <member-name>userOrGroupId</member-name>
    </key>
  </map>
  <map>
    <map-name>GalleryAccessSubscriberMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>itemId</member-name>
      <member-type>INTEGER</member-type>
      <member-size>MEDIUM</member-size>
      <primary/>
    </member>
    <member>
      <member-name>accessListId</member-name>
      <member-type>INTEGER</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
  </map>
  <map>
    <map-name>GalleryDerivativePreferencesMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>itemId</member-name>
      <member-type>INTEGER</member-type>
      <indexed/>
    </member>
    <member>
      <member-name>order</member-name>
      <member-type>INTEGER</member-type>
    </member>
    <member>
      <member-name>derivativeType</member-name>
      <member-type>INTEGER</member-type>
    </member>
    <member>
      <member-name>derivativeOperations</member-name>
      <member-type>STRING</member-type>
      <member-size>LARGE</member-size>
    </member>
  </map>
  <map>
    <map-name>GalleryDescendentCountsMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>userId</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>itemId</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>descendentCount</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <key primary="true">
      <member-name>userId</member-name>
      <member-name>itemId</member-name>
    </key>
  </map>
  <map>
    <map-name>GalleryFactoryMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>classType</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
    </member>
    <member>
      <member-name>className</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
    </member>
    <member>
      <member-name>implId</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
    </member>
    <member>
      <member-name>implPath</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
    </member>
    <member>
      <member-name>implModuleId</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
    </member>
    <member>
      <member-name>hints</member-name>
      <member-type>STRING</member-type>
      <member-size>LARGE</member-size>
    </member>
    <member>
      <member-name>orderWeight</member-name>
      <member-type>STRING</member-type>
      <member-size>LARGE</member-size>
    </member>
  </map>
  <map>
    <map-name>GalleryItemAttributesMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>itemId</member-name>
      <member-type>INTEGER</member-type>
      <primary/>
    </member>
    <member>
      <member-name>viewCount</member-name>
      <member-type>INTEGER</member-type>
    </member>
    <member>
      <member-name>orderWeight</member-name>
      <member-type>INTEGER</member-type>
    </member>
    <member>
      <member-name>parentSequence</member-name>
      <member-type>STRING</member-type>
      <member-size>LARGE</member-size>
      <indexed/>
      <required empty="allowed"/>
    </member>
  </map>
  <map>
    <map-name>GalleryMaintenanceMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>runId</member-name>
      <member-type>INTEGER</member-type>
      <primary/>
    </member>
    <member>
      <member-name>taskId</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>timestamp</member-name>
      <member-type>INTEGER</member-type>
    </member>
    <member>
      <member-name>success</member-name>
      <member-type>BOOLEAN</member-type>
    </member>
    <member>
      <member-name>details</member-name>
      <member-type>TEXT</member-type>
      <member-size>SMALL</member-size>
    </member>
  </map>
  <map>
    <map-name>GalleryMimeTypeMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>extension</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <primary/>
    </member>
    <member>
      <member-name>mimeType</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>viewable</member-name>
      <member-type>BOOLEAN</member-type>
    </member>
  </map>
  <map>
    <map-name>GalleryPermissionSetMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>module</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>permission</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <unique/>
      <required/>
    </member>
    <member>
      <member-name>description</member-name>
      <member-type>STRING</member-type>
      <member-size>LARGE</member-size>
    </member>
    <member>
      <member-name>bits</member-name>
      <member-type>BIT</member-type>
      <required/>
    </member>
    <member>
      <member-name>flags</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
  </map>
  <map>
    <map-name>GalleryPluginMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>1</schema-minor>
    </schema>
    <member>
      <member-name>pluginType</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>pluginId</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>active</member-name>
      <member-type>BOOLEAN</member-type>
      <required/>
    </member>
    <key primary="true">
      <member-name>pluginType</member-name>
      <member-name>pluginId</member-name>
    </key>
  </map>
  <map>
    <map-name>GalleryPluginPackageMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>1</schema-minor>
    </schema>
    <member>
      <member-name>pluginType</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>pluginId</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>packageName</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>packageVersion</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>packageBuild</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>locked</member-name>
      <member-type>BOOLEAN</member-type>
      <required/>
    </member>
  </map>
  <map>
    <map-name>GalleryPluginParameterMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>3</schema-minor>
    </schema>
    <member>
      <member-name>pluginType</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>pluginId</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>itemId</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>parameterName</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>parameterValue</member-name>
      <member-type>TEXT</member-type>
      <member-size>SMALL</member-size>
      <required empty="allowed"/>
    </member>
    <key>
      <member-name>pluginType</member-name>
      <member-name>pluginId</member-name>
      <member-name>itemId</member-name>
      <member-name>parameterName</member-name>
    </key>
    <index>
      <member-name>pluginType</member-name>
      <member-name>pluginId</member-name>
      <member-name>itemId</member-name>
    </index>
  </map>
  <map>
    <map-name>GalleryRecoverPasswordMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>1</schema-minor>
    </schema>
    <member>
      <member-name>userName</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>authString</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>requestExpires</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <key primary="true">
      <member-name>userName</member-name>
    </key>
  </map>
  <map>
    <map-name>GallerySessionMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>1</schema-minor>
    </schema>
    <member>
      <member-name>id</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <primary/>
    </member>
    <member>
      <member-name>userId</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>remoteIdentifier</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>creationTimestamp</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>modificationTimestamp</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
   <member>
      <member-name>data</member-name>
      <member-type>TEXT</member-type>
      <member-size>LARGE</member-size>
    </member>
    <index>
      <member-name>userId</member-name>
      <member-name>creationTimestamp</member-name>
      <member-name>modificationTimestamp</member-name>
    </index>
  </map>
  <map>
    <map-name>GalleryToolkitOperationMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>name</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <primary/>
    </member>
    <member>
      <member-name>parametersCrc</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>outputMimeType</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
    </member>
    <member>
      <member-name>description</member-name>
      <member-type>STRING</member-type>
      <member-size>LARGE</member-size>
    </member>
  </map>
  <map>
    <map-name>GalleryToolkitOperationMimeTypeMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>operationName</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>toolkitId</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>mimeType</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>priority</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
  </map>
  <map>
    <map-name>GalleryToolkitOperationParameterMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>operationName</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>position</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>type</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>description</member-name>
      <member-type>STRING</member-type>
      <member-size>LARGE</member-size>
    </member>
  </map>
  <map>
    <map-name>GalleryToolkitPropertyMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>name</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>type</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>description</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
  </map>
  <map>
    <map-name>GalleryToolkitPropertyMimeTypeMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>propertyName</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>toolkitId</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <required/>
    </member>
    <member>
      <member-name>mimeType</member-name>
      <member-type>STRING</member-type>
      <member-size>MEDIUM</member-size>
      <indexed/>
      <required/>
    </member>
  </map>
  <map>
    <map-name>GalleryUserGroupMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>userId</member-name>
      <member-type>INTEGER</member-type>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>groupId</member-name>
      <member-type>INTEGER</member-type>
      <indexed/>
      <required/>
    </member>
  </map>
  <map>
    <map-name>GalleryCacheMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>1</schema-minor>
    </schema>
    <member>
      <member-name>key</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>value</member-name>
      <member-type>TEXT</member-type>
      <member-size>LARGE</member-size>
    </member>
    <member>
      <member-name>userId</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>itemId</member-name>
      <member-type>INTEGER</member-type>
      <indexed/>
      <required/>
    </member>
    <member>
      <member-name>type</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <required/>
    </member>
    <member>
      <member-name>timestamp</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>isEmpty</member-name>
      <member-type>BOOLEAN</member-type>
    </member>
    <key primary="true">
      <member-name>key</member-name>
      <member-name>userId</member-name>
      <member-name>itemId</member-name>
      <member-name>type</member-name>
    </key>
    <index>
      <member-name>userId</member-name>
      <member-name>timestamp</member-name>
      <member-name>isEmpty</member-name>
    </index>
  </map>
  <map>
    <map-name>FailedLoginsMap</map-name>
    <schema>
      <schema-major>1</schema-major>
      <schema-minor>0</schema-minor>
    </schema>
    <member>
      <member-name>userName</member-name>
      <member-type>STRING</member-type>
      <member-size>SMALL</member-size>
      <primary/>
    </member>
    <member>
      <member-name>count</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
    <member>
      <member-name>lastAttempt</member-name>
      <member-type>INTEGER</member-type>
      <required/>
    </member>
  </map>
</maps>
