public static function contributeToSchema($type) { $coreType = kPluginableEnumsManager::apiToCore('SchemaType', $type); if ($coreType != SchemaType::SYNDICATION && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::SERVE_API) && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::INGEST_API)) { return null; } $xsd = ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_scene_adCuePoint"> <xs:complexContent> <xs:extension base="T_scene"> <xs:sequence> <xs:element name="sceneEndTime" minOccurs="0" maxOccurs="1" type="xs:time"> <xs:annotation> <xs:documentation>Cue point end time</xs:documentation> </xs:annotation> </xs:element> <xs:element name="sceneTitle" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation>Textual title</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="sourceUrl" minOccurs="0" maxOccurs="1" type="xs:string"> <xs:annotation> <xs:documentation>The URL of the ad XML</xs:documentation> </xs:annotation> </xs:element> <xs:element name="adType" minOccurs="1" maxOccurs="1" type="KalturaAdType"> <xs:annotation> <xs:documentation>Indicates the ad type</xs:documentation> </xs:annotation> </xs:element> <xs:element name="protocolType" minOccurs="1" maxOccurs="1" type="KalturaAdProtocolType"> <xs:annotation> <xs:documentation>Indicates the ad protocol type</xs:documentation> </xs:annotation> </xs:element> <xs:element ref="scene-extension" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="scene-ad-cue-point" type="T_scene_adCuePoint" substitutionGroup="scene"> <xs:annotation> <xs:documentation>Single ad cue point element</xs:documentation> <xs:appinfo> <example> <scene-ad-cue-point sceneId="{scene id}" entryId="{entry id}" systemName="MY_AD_CUE_POINT_SYSTEM_NAME"> <sceneStartTime>00:00:05</sceneStartTime> <tags> <tag>sample</tag> <tag>my_tag</tag> </tags> <sceneTitle>my ad title</sceneTitle> <sourceUrl>http://source.to.my/ad.xml</sourceUrl> <adType>1</adType> <protocolType>1</protocolType> </scene-ad-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> '; return $xsd; }
public static function contributeToSchema($type) { //TBD add thumb asset support to xsd $coreType = kPluginableEnumsManager::apiToCore('SchemaType', $type); if ($coreType != SchemaType::SYNDICATION && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::SERVE_API) && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::INGEST_API)) { return null; } $xsd = ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_scene_thumbCuePoint"> <xs:complexContent> <xs:extension base="T_scene"> <xs:sequence> <xs:element name="title" minOccurs="1" maxOccurs="1" type="xs:string"> </xs:element> <xs:element name="description" minOccurs="1" maxOccurs="1" type="xs:string"> </xs:element> <xs:element name="subType" minOccurs="0" maxOccurs="1" type="KalturaThumbCuePointSubType"> <xs:annotation> <xs:documentation>Indicates the thumb cue point sub type 1 = Slide 2 = Chapter</xs:documentation> </xs:annotation> </xs:element> <xs:element ref="scene-extension" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="scene-thumb-cue-point" type="T_scene_thumbCuePoint" substitutionGroup="scene"> <xs:annotation> <xs:documentation>Single thumb cue point element</xs:documentation> <xs:appinfo> <example> <scene-thumb-cue-point sceneId="{scene id}" entryId="{entry id}"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>my_tag</tag> </tags> </scene-thumb-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> '; return $xsd; }
public static function contributeToSchema($type) { $coreType = kPluginableEnumsManager::apiToCore('SchemaType', $type); if ($coreType == SchemaType::SYNDICATION || $coreType == CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::SERVE_API)) { return ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_scene_annotation"> <xs:complexContent> <xs:extension base="T_scene"> <xs:sequence> <xs:element name="sceneEndTime" minOccurs="1" maxOccurs="1" type="xs:time"> <xs:annotation> <xs:documentation>Cue point end time</xs:documentation> </xs:annotation> </xs:element> <xs:element name="sceneText" minOccurs="0" maxOccurs="1" type="xs:string"> <xs:annotation> <xs:documentation>Free text description</xs:documentation> </xs:annotation> </xs:element> <xs:element name="parent" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation>System name of the parent annotation</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="120"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="parentId" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation>ID of the parent annotation</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element ref="scene-extension" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="scene-annotation" type="T_scene_annotation" substitutionGroup="scene"> <xs:annotation> <xs:documentation>Single annotation element</xs:documentation> <xs:appinfo> <example> <scene-annotation sceneId="{scene id}" entryId="{entry id}"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>sample</tag> <tag>my_tag</tag> </tags> <sceneEndTime>00:00:10</sceneEndTime> <sceneText>my annotation</sceneText> </scene-annotation> </example> </xs:appinfo> </xs:annotation> </xs:element> '; } if ($coreType == CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::INGEST_API)) { return ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_scene_annotation"> <xs:complexContent> <xs:extension base="T_scene"> <xs:sequence> <xs:element name="sceneEndTime" minOccurs="1" maxOccurs="1" type="xs:time"> <xs:annotation> <xs:documentation>Cue point end time</xs:documentation> </xs:annotation> </xs:element> <xs:element name="sceneText" minOccurs="0" maxOccurs="1" type="xs:string"> <xs:annotation> <xs:documentation>Free text description</xs:documentation> </xs:annotation> </xs:element> <xs:choice minOccurs="0" maxOccurs="1"> <xs:element name="parent" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>System name of the parent annotation</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="120"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="parentId" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>ID of the parent annotation</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:choice> <xs:element ref="scene-extension" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="scene-annotation" type="T_scene_annotation" substitutionGroup="scene"> <xs:annotation> <xs:documentation>Single annotation element</xs:documentation> <xs:appinfo> <example title="Single annotation example"> <scene-annotation entryId="{entry id}"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>sample</tag> <tag>my_tag</tag> </tags> <sceneEndTime>00:00:10</sceneEndTime> <sceneText>my annotation</sceneText> </scene-annotation> </example> <example title="Multiple related annotations example"> <scene-annotation entryId="{entry id}" systemName="MY_ANNOTATION_PARENT_SYSTEM_NAME"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>sample</tag> <tag>my_tag</tag> </tags> <sceneEndTime>00:00:10</sceneEndTime> <sceneText>my annotation parent</sceneText> </scene-annotation> <scene-annotation entryId="{entry id}"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>sample</tag> <tag>my_tag</tag> </tags> <sceneEndTime>00:00:10</sceneEndTime> <sceneText>my annotation child</sceneText> <parent>MY_ANNOTATION_PARENT_SYSTEM_NAME</parent> </scene-annotation> </example> </xs:appinfo> </xs:annotation> </xs:element> '; } return null; }
public static function contributeToSchema($type) { $coreType = kPluginableEnumsManager::apiToCore('SchemaType', $type); if ($coreType != SchemaType::SYNDICATION && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::SERVE_API) && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::INGEST_API)) { return null; } $xsd = ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_scene_codeCuePoint"> <xs:complexContent> <xs:extension base="T_scene"> <xs:sequence> <xs:element name="sceneEndTime" minOccurs="0" maxOccurs="1" type="xs:time"> <xs:annotation> <xs:documentation>Cue point end time</xs:documentation> </xs:annotation> </xs:element> <xs:element name="code" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation>Textual code</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"> <xs:annotation> <xs:documentation>Free text description</xs:documentation> </xs:annotation> </xs:element> <xs:element ref="scene-extension" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="scene-code-cue-point" type="T_scene_codeCuePoint" substitutionGroup="scene"> <xs:annotation> <xs:documentation>Single code cue point element</xs:documentation> <xs:appinfo> <example> <scene-code-cue-point sceneId="{scene id}" entryId="{entry id}"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>sample</tag> <tag>my_tag</tag> </tags> <code>MY_CODE</code> <description>my code cue point description</description> </scene-code-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> '; return $xsd; }
public static function contributeToSchema($type) { $coreType = kPluginableEnumsManager::apiToCore('SchemaType', $type); if ($coreType == SchemaType::SYNDICATION || $coreType == BulkUploadXmlPlugin::getSchemaTypeCoreValue(XmlSchemaType::BULK_UPLOAD_XML) || $coreType == BulkUploadXmlPlugin::getSchemaTypeCoreValue(XmlSchemaType::BULK_UPLOAD_RESULT_XML)) { return ' <!-- ' . self::getPluginName() . ' --> <xs:element name="scene-customData" type="T_customData" substitutionGroup="scene-extension"> <xs:annotation> <xs:documentation>XML for custom metadata</xs:documentation> <xs:appinfo> <example> <scene-ad-cue-point entryId="{entry id}"> <sceneStartTime>00:00:05</sceneStartTime> <sceneTitle>my ad title</sceneTitle> <sourceUrl>http://source.to.my/ad.xml</sourceUrl> <adType>1</adType> <protocolType>1</protocolType> <scene-customData metadataProfile="MY_AD_METADATA_PROFILE_SYSTEM_NAME"> <metadata> <adData>my ad custom data</adData> </metadata> </scene-customData> </scene-ad-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> '; } if ($coreType == CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::INGEST_API)) { return ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_customData"> <xs:sequence> <xs:any namespace="##local" processContents="skip" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Custom metadata XML according to schema profile</xs:documentation> </xs:annotation> </xs:any> </xs:sequence> <xs:attribute name="metadataId" use="optional" type="xs:int"> <xs:annotation> <xs:documentation>Id of the custom metadata object</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metadataProfile" use="optional" type="xs:string"> <xs:annotation> <xs:documentation>Custom metadata schema profile system name</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metadataProfileId" use="optional" type="xs:int"> <xs:annotation> <xs:documentation>Custom metadata schema profile id</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:element name="scene-customData" type="T_customData" substitutionGroup="scene-extension"> <xs:annotation> <xs:documentation>XML for custom metadata</xs:documentation> <xs:appinfo> <example> <scene-ad-cue-point entryId="{entry id}"> <sceneStartTime>00:00:05</sceneStartTime> <sceneTitle>my ad title</sceneTitle> <sourceUrl>http://source.to.my/ad.xml</sourceUrl> <adType>1</adType> <protocolType>1</protocolType> <scene-customData metadataProfile="MY_AD_METADATA_PROFILE_SYSTEM_NAME"> <metadata> <adData>my ad custom data</adData> </metadata> </scene-customData> </scene-ad-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> '; } if ($coreType == CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::SERVE_API)) { return ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_customData"> <xs:sequence> <xs:any namespace="##local" processContents="skip" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Custom metadata XML according to schema profile</xs:documentation> </xs:annotation> </xs:any> </xs:sequence> <xs:attribute name="metadataId" use="required" type="xs:int"> <xs:annotation> <xs:documentation>Id of the custom metadata object</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metadataVersion" use="required" type="xs:int"> <xs:annotation> <xs:documentation>Custom metadata version</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metadataProfile" use="optional" type="xs:string"> <xs:annotation> <xs:documentation>Custom metadata schema profile system name</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metadataProfileId" use="required" type="xs:int"> <xs:annotation> <xs:documentation>Custom metadata schema profile id</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metadataProfileName" use="optional" type="xs:string"> <xs:annotation> <xs:documentation>Custom metadata schema profile name</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metadataProfileVersion" use="required" type="xs:int"> <xs:annotation> <xs:documentation>Custom metadata schema profile version</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:element name="scene-customData" type="T_customData" substitutionGroup="scene-extension"> <xs:annotation> <xs:documentation>XML for custom metadata</xs:documentation> <xs:appinfo> <example> <scene-ad-cue-point entryId="{entry id}"> <sceneStartTime>00:00:05</sceneStartTime> <sceneTitle>my ad title</sceneTitle> <sourceUrl>http://source.to.my/ad.xml</sourceUrl> <adType>1</adType> <protocolType>1</protocolType> <scene-customData metadataId="{metadata id}" metadataVersion="1" metadataProfile="MY_METADATA_PROFILE_SYSTEM_NAME}" metadataProfileId="{metadata profile id}" metadataProfileName="my metadata profile" metadataProfileVersion="1" > <metadata> <adData>my ad custom data</adData> </metadata> </scene-customData> </scene-ad-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> '; } return null; }
public static function contributeToSchema($type) { $coreType = kPluginableEnumsManager::apiToCore('SchemaType', $type); if ($coreType != SchemaType::SYNDICATION && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::SERVE_API) && $coreType != CuePointPlugin::getSchemaTypeCoreValue(CuePointSchemaType::INGEST_API)) { return null; } $xsd = ' <!-- ' . self::getPluginName() . ' --> <xs:complexType name="T_scene_questionCuePoint"> <xs:complexContent> <xs:extension base="T_scene"> <xs:sequence> <xs:element name="question" minOccurs="1" maxOccurs="1" type="xs:string"> </xs:element> <xs:element name="hint" minOccurs="0" maxOccurs="1" type="xs:string"> </xs:element> <xs:element name="explanation" minOccurs="0" maxOccurs="1" type="xs:string"> </xs:element> <xs:element name="optionalAnswers" minOccurs="0" maxOccurs="1" type="KalturaOptionalAnswersArray"></xs:element> <xs:element name="correctAnswerKeys" minOccurs="0" maxOccurs="1" type="KalturaStringArray"></xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="scene-question-cue-point" type="T_scene_questionCuePoint" substitutionGroup="scene"> <xs:annotation> <xs:documentation>Single question cue point element</xs:documentation> <xs:appinfo> <example> <scene-question-cue-point sceneId="{scene id}" entryId="{entry id}"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>my_tag</tag> </tags> </scene-question-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> <xs:complexType name="T_scene_answerCuePoint"> <xs:complexContent> <xs:extension base="T_scene"> <xs:sequence> <xs:element name="answerKey" minOccurs="1" maxOccurs="1" type="xs:string"> </xs:element> <xs:element name="quizUserEntryId" minOccurs="1" maxOccurs="1" type="xs:string"> </xs:element> <xs:element name="parentId" minOccurs="1" maxOccurs="1" type="xs:string"> <xs:annotation> <xs:documentation>ID of the parent questionCuePoint</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="scene-answer-cue-point" type="T_scene_answerCuePoint" substitutionGroup="scene"> <xs:annotation> <xs:documentation>Single answer cue point element</xs:documentation> <xs:appinfo> <example> <scene-answer-cue-point sceneId="{scene id}" entryId="{entry id}"> <sceneStartTime>00:00:05.3</sceneStartTime> <tags> <tag>my_tag</tag> </tags> </scene-answer-cue-point> </example> </xs:appinfo> </xs:annotation> </xs:element> '; return $xsd; }