Using Full Ingest Shadow Files

From Wiki
Jump to: navigation, search

Full Ingest Shadow File provide additional options and features that classic shadow file do not.


  • Full Ingest shadow file allow automatic insertion of metadata for the ingested media file, much like the classic shadow. However, Full Ingest Shadow Files provide support for file attachments and caption files.
  • Full Ingest Shadow files also support metadata and asset fields:
    • Metadata: Title, Description, Keywords, ProducedOn, Copyright, Genre and Credits.
    • Assets: Including type (attachment, caption), File, Title, Description.


Using:

  • To enable Full Ingest Shadow support:
  1. "Full Ingest Shadow File" must be selected for Metadata on the Ingest Directory Workflow properties.
  2. Ingested Video File Name must be the same as Full Ingest Shadow File Name (i.e. Video1.mp4 / Video1.xml ).
  3. To ingest attachments and/or caption files there must be folder with the same name as the Video (e.g. "Video1.mp4", "Video1.xml", "Video1" folder).
  • Metadata: Content Title, Description, Keywords, ProducedOn, Copyright, Genre will be updated only if Xml node exists in the Full Ingest Shadow File.
  • Credits will always be inserted.
  • Assets: Attachments and Caption files can be inserted as a local or http(s) file.
  • Required elements and restrictions are specified by Xsd Schema.


Sample of a Full Ingest Shadow file is as below, followed by the XML schema.


Full Ingest Shadow File Format Example

<IngestDirectoryContent xmlns="http://ensembleVideo.com/xmlSchemas/ingestDirectoryContent">	
  <MetaData>		
    <Title>Ellen-Miller-Sunlight</Title>		
    <Description>Some abstract text</Description>		
    <Keywords>doh, doh, doh,</Keywords>		
    <ProducedOn>2019-01-01</ProducedOn>		
    <Copyright>EnsembleVideo</Copyright>		
    <Genre>Interview</Genre>		
    <Credits>			
      <Credit>				
        <FirstName>Joe</FirstName>				
        <LastName>Smith</LastName>				
        <Role>Actor</Role>				
        <Organization>EnsembleVideo</Organization>				
        <Email>joe@gmail.com</Email>				
        <WebSite>www.ensemblevideo.com</WebSite>				
        <Telephone>1-855-437-2999</Telephone>			
      </Credit>			
      <Credit>				
        <FirstName>Ben</FirstName>				
        <LastName>White</LastName>				
        <Role>Director</Role>				
        <Organization>Google</Organization>				
        <Email>ben.white@gmail.com</Email>				
        <WebSite>www.google.com</WebSite>				
        <Telephone>1-855-437-2333</Telephone>			
      </Credit>		
    </Credits>	
  </MetaData>	
  <Files>			
    <Asset>			
      <File>R-intro.pdf</File>						
      <Title>Some PDF local</Title>			
      <Description>Research Report from Cranston Lecture Series Spring 2011</Description>			
      <Type>attachment</Type>		
    </Asset>		
    <Asset>			
      <File>http://cran.r-project.org/doc/manuals/R-intro.pdf</File>			
      <Title>Some PDF http</Title>			
      <Description>Research Report from Cranston Lecture Series Spring 2011</Description>			
      <Type>attachment</Type>		
    </Asset>		
    <Asset>			
      <File>caption.xml</File>			
      <Title>Some CC local</Title>			
      <Description>Local Caption description</Description>			
      <Type>caption</Type>		
    </Asset>	
  </Files>
</IngestDirectoryContent>

Full Ingest Shadow File Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ensembleVideo.com/xmlSchemas/ingestDirectoryContent"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="IngestDirectoryContent">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="MetaData">
	  <xs:complexType>	    
            <xs:sequence>
	      <xs:element name="Title" minOccurs="0">
                <xs:simpleType>
		  <xs:restriction base="xs:string">
		    <xs:minLength value="1" />
		    <xs:maxLength value="255" />
		  </xs:restriction>
		</xs:simpleType>
	      </xs:element>
	      <xs:element name="Description" type="xs:string" minOccurs="0"/>
	      <xs:element name="Keywords" minOccurs="0">
	        <xs:simpleType>
		  <xs:restriction base="xs:string">
		    <xs:maxLength value="2000" />
		  </xs:restriction>
                </xs:simpleType>
              </xs:element>
	      <xs:element name="ProducedOn" type="xs:date" minOccurs="0"/>
	      <xs:element name="Copyright" minOccurs="0">
	        <xs:simpleType>
		  <xs:restriction base="xs:string">
		    <xs:maxLength value="255" />
		  </xs:restriction>
		</xs:simpleType>
              </xs:element>
	      <xs:element name="Genre" type="xs:string" minOccurs="0"/>
	      <xs:element name="Credits" minOccurs="0">
	        <xs:complexType>
                  <xs:sequence>
		    <xs:element maxOccurs="unbounded" name="Credit">
		      <xs:complexType>
	                <xs:sequence>
			  <xs:element name="FirstName" minOccurs="1">
			    <xs:simpleType>
		              <xs:restriction base="xs:string">
			        <xs:maxLength value="125" />
			      </xs:restriction>
			    </xs:simpleType>
		          </xs:element>
			  <xs:element name="LastName" minOccurs="1">
			    <xs:simpleType>
			      <xs:restriction base="xs:string">
			        <xs:maxLength value="125" />
			      </xs:restriction>
			    </xs:simpleType>
			  </xs:element>
			  <xs:element name="Role" minOccurs="1"/>
			  <xs:element name="Organization">
			    <xs:simpleType>
			      <xs:restriction base="xs:string">
			        <xs:maxLength value="255" />
			      </xs:restriction>
			    </xs:simpleType>
			  </xs:element>
			  <xs:element name="Email">
			    <xs:simpleType>
			      <xs:restriction base="xs:string">
			        <xs:maxLength value="255" />
			      </xs:restriction>
			    </xs:simpleType>
			  </xs:element>
			  <xs:element name="WebSite">
			    <xs:simpleType>
		              <xs:restriction base="xs:string">
			        <xs:maxLength value="255" />
			      </xs:restriction>
			    </xs:simpleType>
			  </xs:element>
			  <xs:element name="Telephone">
			    <xs:simpleType>
			      <xs:restriction base="xs:string">
			        <xs:maxLength value="50" />
		              </xs:restriction>
			    </xs:simpleType>
			  </xs:element>	
                        </xs:sequence>
	              </xs:complexType>
	            </xs:element>
		  </xs:sequence>
		</xs:complexType>
	      </xs:element>
	    </xs:sequence>
	  </xs:complexType>
	</xs:element>
        <xs:element name="Files" minOccurs="0">
	  <xs:complexType>
	    <xs:sequence>
	      <xs:element maxOccurs="unbounded" name="Asset" minOccurs="0">
	        <xs:complexType>
		  <xs:sequence>
		    <xs:element name="File" type="xs:string" minOccurs="1"/>
		    <xs:element name="Title" minOccurs="1">
		      <xs:simpleType>
		        <xs:restriction base="xs:string">
			  <xs:maxLength value="500" />
			</xs:restriction>
		      </xs:simpleType>
		    </xs:element>
		    <xs:element name="Description">
		      <xs:simpleType>
		        <xs:restriction base="xs:string">
			  <xs:maxLength value="1000" />
			</xs:restriction>
		      </xs:simpleType>
		    </xs:element>
		    <xs:element name="Type" minOccurs="1">
		      <xs:simpleType>
		        <xs:restriction base="xs:string">
			  <xs:enumeration value="attachment"/>
			  <xs:enumeration value="caption"/>
			</xs:restriction>
		      </xs:simpleType>
		    </xs:element>
		  </xs:sequence>
		</xs:complexType> 
             </xs:element>
	    </xs:sequence>
	  </xs:complexType>
	</xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>