как да попълня формат (a_content_type), докато създавам документ в DFS?

Разработвам DFS приложение (на С#), което импортира документ в Documentum като dm_document. Един документ може да бъде във всякакъв формат – DOC, DOC, PDF, какъвто и да е. По този начин, когато създавам документ, трябва да посоча съответния формат (той ще бъде поставен в a_content_type): „gif“, „msw8“ и т.н.

Как мога да реша тази задача? Прегледах DFS_66_reference.pdf и DFS-SDK Help – все още не виждам просто решение. Можете ли да ми дадете съвет?


person KellyLynch    schedule 04.04.2011    source източник


Отговори (2)


Обикновено правя това, което Дейвид предлага за общи формати, които очаквам да срещна. Това има допълнителното предимство, че ви дава справка, която да разглеждате, докато отстранявате грешки в приложението си. За други формати можете да направите следната заявка.

DQL:

SELECT name from dm_format WHERE dos_extension = lower('<extension>')

Имайте предвид, че това не винаги е надеждно, защото може да върне множество резултати за разширение (XLS е добър пример), така че трябва да решите как да обработвате множество резултати. В този случай може да се наложи да попитате потребителя.

Бих препоръчал да кеширате отговорите във вашето приложение, за да не правите тази заявка без нужда. Както Дейвид каза по-горе, тези стойности не се променят, освен ако не ги промените.

person Brendan Hannemann    schedule 27.06.2011
comment
Благодаря ви. Освен това мога да кажа: по принцип е възможно да се използва софтуер, който чете файл и РАЗПОЗНАВА неговия формат по съдържанието му. Пример за такъв софтуер е компонентът Oracle Outside In - той разпознава СТОТИЦИ формати. Но това решение, разбира се, е скъпо - person KellyLynch; 28.06.2011
comment
@KellyLynch да, можете да опитате да използвате друг инструмент/библиотека, за да определите и типа (използвайки MIME или други заглавки). - person Brendan Hannemann; 14.12.2012

Питате ли как да съпоставите разширението dos с формата Documentum?

Ако да, най-простият е просто да кодирате твърдо картографирането директно във вашето приложение.

Във файла Webtop wdk/app.xml има картографирането, което използва.

Ето какво имам в моята:

              <format extension="txt" name="crtext"/>
              <format extension="xls" name="excel8book"/>
              <format extension="doc" name="msw8"/>
              <format extension="ppt" name="ppt8"/>
              <format extension="vsd" name="vsd"/>
              <format extension="zip" name="zip"/>
              <format extension="wpd" name="wp8"/>
              <format extension="psd" name="photoshop6"/>
              <format extension="au" name="audio"/>
              <format extension="jpeg" name="jpeg"/>
              <format extension="jpg" name="jpeg"/>
              <format extension="html" name="html"/>
              <format extension="htm" name="html"/>
              <format extension="ai" name="illustrator10"/>
person David Pierre    schedule 05.04.2011
comment
Е, въпросът ми беше по-широк - бих искал да знам най-доброто решение на проблема: как да посоча съответния формат, когато софтуерът ми [автоматично, без възможност да пита потребител] импортира много документи в Documentum. Да, разбрах отговора ви - това ми трябва. - person KellyLynch; 06.04.2011
comment
Не виждам къде предлагам да попитате потребителя. И за по-общо решение, можете да прочетете dm_format обекти в docbase... Но наистина не виждам смисъл, тези обекти почти никога не се променят. Твърдо кодираното картографиране е просто по-просто. - person David Pierre; 06.04.2011