Какой API я могу использовать для написания действий рабочего процесса SDL Tridion?

Я хотел бы создать рабочий процесс с помощью SDL Tridion 2011 SP1, и я просматриваю документацию на портале живого контента.

У меня есть несколько вопросов, когда я просматриваю документацию следующим образом:

  1. Могу ли я использовать C# (TOM.NET) для автоматизированных действий/решений? или мне следует использовать только VBScript (TOM)? Есть ли на портале живого контента какой-нибудь образец кода для автоматизированного действия/решения?

  2. Если C# (TOM.NET) не разрешено использовать в рабочих процессах, почему в файле API TOM.NET указаны его ссылки на пространство имен/класс/член?

  3. Если VBScript разрешено использовать только в WF, где я могу получить ссылку на код/API TOM в живом контенте SDL? На данный момент у меня нет доступа к серверу SDL Tridion, чтобы получить документацию из установочного пакета.


person user1428019    schedule 25.06.2012    source источник


Ответы (4)


Могу ли я использовать C# (TOM.NET) для автоматизации действий? Или я должен использовать только VBScript (TOM)?

Вы можете использовать TOM в своем коде C# для написания автоматизированных действий. Для этой цели предусмотрена основная сборка взаимодействия (IIRC).

Разрешено ли использование TOM.NET в рабочих процессах?

Поддерживается доступ к элементам рабочего процесса из существующего кода TOM.NET (например, TBB или DataExtender). Таким образом, вы можете запрашивать элементы, находящиеся в рабочем процессе, запускать рабочие процессы и т. д. Но использование TOM.NET для написания автоматизированных действий рабочего процесса не поддерживается.

Причина этого как-то связана с несовместимыми моделями потоков, насколько я помню. Но я просто поверил разработчикам на слово; они обязаны знать лучше, чем я.

Где я могу получить код/справку по TOM API?

Справочная документация по API для Tridion отсутствует в LiveContent, а поставляется в виде файлов CHM (или заархивированных файлов JavaDoc). Последнюю документацию по TOM API можно найти в ZIP-архиве «Полная документация по SDL Tridion 2009» на Страница документации Tridion 2009 в SDL Tridion World (требуется вход в систему).

Спасибо Quirijn и Alvin за указание на это в комментариях.

person Frank van Puffelen    schedule 25.06.2012
comment
Привет, Фрэнк, спасибо за ваше время и ответ, я ответил на свой вопрос, основываясь на своем понимании. Пожалуйста, подтвердите. - person user1428019; 25.06.2012
comment
Шаги звучат хорошо, но, пожалуйста, придерживайтесь формата вопросов и ответов на этом сайте: хотя шаги, которые вы предоставляете, очень полезны, они не отвечают на 3 заданных вами вопроса. - person Frank van Puffelen; 25.06.2012
comment
Кто-нибудь знает ответ на вопрос №3? Я нигде не могу найти документы API TOM. Они поставлялись со всеми версиями до 2009 включительно (Templating and Customization Manual TOM 2009.chm). - person Quirijn; 25.06.2012
comment
Вам нужно получить их из более старой версии. Если у вас нет доступа к более старой версии Tridion, вы можете запросить их через службу поддержки клиентов SDL или у одного из ваших контактов SDL WCMS. - person Frank van Puffelen; 25.06.2012
comment
www.sdltridionworld.com содержит старую документацию в разделе «Загрузки» › «Документация». - person Alvin Reyes; 26.06.2012

Вы можете использовать C# для автоматизированных задач. Создайте класс и подпишите его с помощью:

[ProgId("[Namespace].[Class Name]")]
[ComVisible(true)]

И подписать сборку с помощью RegAsm.exe с параметром /codebase.

Затем в Скрипте автоматизированного действия вы можете использовать этот объект.

person Arjen Stobbe    schedule 25.06.2012
comment
Но вы можете использовать только TOM, а не TOM.NET. - person Nuno Linhares; 25.06.2012

  1. Создайте схему рабочего процесса (в зависимости от требований) с помощью Visio после установки подключаемого модуля Visio.
  2. загрузите рабочий процесс в SDL Content Manager, предоставив учетные данные и выбрав соответствующую публикацию.
  3. Для автоматизированных действий: создайте библиотеку классов С# и сошлитесь на dll tridion, а пользователь progid и comvisible = true в решении.
  4. создайте необходимые функции для вашего рабочего процесса.
  5. зарегистрируйте сборку на сервере SDL Tridion Content Manager.
  6. в рабочем процессе «Редактировать сценарий» используйте код сценария vb для получения объекта C# и его методов.
  7. Это упростит код VBScript и предоставит разработчику гибкость для работы на C#.
person user1428019    schedule 25.06.2012

Можно использовать TOM .Net API. Однако мы должны учитывать, что нам потребуется создать экземпляры сеанса, поскольку наш новый TOM .Net для рабочего процесса не позволит вам передать экземпляр WorkItem из VBScript (вкладка «Код» в Visio для автоматических действий), и вы вынуждены передать TcmUri для этот рабочий элемент. Создание сеанса является обязательным для создания экземпляров объектов Tridion, поскольку у вас есть только файл tcmuri. Здесь рекомендуется использовать класс C#, зарегистрированный как класс COM с помощью атрибутов ComVisible и ProgId, но использовать CoreServices для всей обработки в вашем классе Com Visible.

Если вы используете Core Services для обработки, вам не нужно будет заботиться о создании сеансов, и ваше ядро ​​будет намного быстрее и масштабируемее. Возможно, вам будет интересно использовать привязку TCP или привязку Net Pipes для повышения производительности.

person Eric Huiza    schedule 25.06.2012
comment
Эрик, использование TOM.NET в автоматических действиях не поддерживается, поэтому его нельзя использовать. - person Nuno Linhares; 25.06.2012
comment
Спасибо за публикацию, @Eric. Вас также может заинтересовать предложение Area 51, специально предназначенное для Tridion. Зарегистрируйтесь с той же учетной записью SO, если у вас есть время. - person Alvin Reyes; 25.06.2012
comment
Нуно, да, я знаю, что TOM.NET не поддерживается, поэтому я настаиваю на использовании основных служб. - person Eric Huiza; 26.06.2012