2017-11-21 16 views
0

edge.edx.orgにいくつかのビデオに関するコースがあり、コースをエクスポートしてOpen edXインスタンス(eucalyptus.1)にインポートしたいのですがこのエラーになるだろう:エクスポートされたXMLファイル内のビデオブロックの内容を検査する際にedge.edx.orgからエクスポートされたコースのビデオフォーマットが異なります

2017-11-21 04:47:42,307 ERROR 3995 [xmodule.vertical_block] vertical_block.py:122 - Unable to load child when parsing Vertical. Continuing... 
Traceback (most recent call last): 
    File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/vertical_block.py", line 119, in definition_from_xml 
    child_block = system.process_xml(etree.tostring(child, encoding='unicode')) 
    File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 196, in process_xml 
    id_manager, 
    File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1595, in xblock_from_node 
    block = block_class.parse_xml(node, self, keys, id_generator) 
    File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 559, in parse_xml 
    return super(XmlParserMixin, cls).parse_xml(node, runtime, keys, id_generator) # pylint: disable=bad-super-call 
    File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1074, in parse_xml 
    block = cls.from_xml(xml, runtime, id_generator) 
    File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py", line 527, in from_xml 
    field_data = cls._parse_video_xml(xml_object, id_generator) 
    File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py", line 788, in _parse_video_xml 
    course_id=course_id 
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/edxval/api.py", line 508, in import_from_xml 
    create_video(data) 
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/edxval/api.py", line 104, in create_video 
    raise ValCannotCreateError(serializer.errors) 
ValCannotCreateError: {'duration': [u'This field may not be null.'], 'edx_video_id': [u'This field may not be blank.'], 'client_video_id': [u'This field may not be null.']} 

を、私は私が作成したビデオでその1(edx.edx.org)とコースとの違いを見ることと、ローカルインスタンス(eucalyptus.1)にエクスポートされます。エッジからのビデオのためのXMLコンテンツ:ローカル(eucalyptus.1)インスタンスから

<video youtube="1.00:abc123123" url_name="123123123123" license="all-rights-reserved" display_name="TestVideo" download_track="true" download_video="false" edx_video_id="" html5_sources="[]" sub="abc123123" youtube_id_1_0="abc123123"> 
    <video_asset/> 
</video> 

ビデオ:

<video youtube="1.00:abc123123" url_name="123123123123" license="all-rights-reserved" display_name="TestVideo" download_track="true" download_video="false" html5_sources="[]" sub="abc123123" youtube_id_1_0="abc123123"/> 

私の質問は、それがにEDXの上位バージョンからのコースをインポートすることも可能です下位のもの(ビデオ以外のものはすべて実際に正しくインポートされます)、そうでない場合は、これに対して既知の回避策がありますか? また、これらのフィールドがNULLでない可能性があるというエラーが表示された場合、最初にエクスポート時にnullに設定されるのはなぜですか?

答えて

0

videoedx_video_id属性のみを削除するように見えます.XMLタグは問題を修正し、動画は通常通りインポートされます。私は同じ状況であなた自身を見つけるなら、あなたのためにそれを行うPythonスクリプトを作成しました:https://gist.github.com/vkaracic/ae8bb04cb684bebb9af336e822a82238

関連する問題