Alfresco community 4.0 не распознает mimetype файлов DITA - PullRequest
2 голосов
/ 17 ноября 2011

Итак, я установил Community 4.0.a и расширил список mimetype, используя mimetype-map.xml, как я делал это ранее в 3.4

<alfresco-config area="mimetype-map">
<config evaluator="string-compare" condition="Mimetype Map">
    <mimetypes>
<mimetype mimetype="application/dita+xml" text="true" display="DITA">
        <extension default="true" display="DITA Topic">dita</extension>
        <extension default="true" display="DITA Map">ditamap</extension>
        <extension default="true" display="DITA Conditional Processing Profile">ditaval</extension>
      </mimetype>

и т. Д. *

Нокаждый раз, когда я импортирую файл DITA, он либо распознается как файл XML, либо PLAIN TEXT.Я копался в нем, и похоже, что это из-за Apache TIKA, который анализирует начало файла, чтобы проверить его mimetype.

Как мне ярлык TIKA с моей пользовательской картой mimetype (как это видно изкод, который запускает TIKA первым, и если он что-то обнаружил, значит, игра окончена)?

Нужно ли расширять TIKA для написания собственного парсера?

1 Ответ

1 голос
/ 18 ноября 2011

Логика сопоставления Mimetype в 4.0 изменилась незначительно, теперь, когда контент доступен для обнаружения, а не только имя файла.Как часть этого, если Тика очень уверена в том, что файл, то это будет предпочтительным.

В большинстве случаев это означает, что для обычных, но неправильно названных файлов, Тика может помочь исправить ошибки.Для нестандартных файлов Тика не предложит убедительного предложения, и сопоставление на основе имен Alfresco будет использоваться, как и раньше.(В тех случаях, когда Tika и Alfresco различаются по канонической форме mimetype, предпочтительна версия Alfresco)

Существует небольшое количество случаев, когда тип файла фактически является специализацией общего типа.и Тика знает о родительском типе, но не о конкретном.В этом случае Тика настоятельно рекомендует родительский тип, и мы не можем понять, что новый тип, добавленный в Alfresco, основан на этом.(У Тики есть иерархия миметипов, в то время как у Альфреско просто плоский список).В этом небольшом числе случаев Тика также нуждается в руководстве.

Обычное исправление состоит в том, чтобы сообщить об ошибке Тики и добавить тип файла в апстрим.(Для очень пользовательских типов вам также нужно добавить Tika custom-mimetypes.xml, который определяет иерархию + глобус.)

В этом случае DITA я открыл TIKA-784 и добавил временное исправление.Это теперь перешло в Alfresco .

...