Работа с компонентами в IBM Lotus Quickr 8.1, часть 3. Отображение компонентов в виде пользовательских фидов Atom

В данной статье, третьей в серии статей, посвященных работе с компонентами в IBM Lotus Quickr 8.1, рассказывается, как предоставить содержимое (элементы) IBM® Lotus® Quickr™ в виде фидов Atom. Новый фид Atom может использоваться для извлечения содержимого Lotus Quickr из таких компонентов, как task (задание) или announcement (уведомление) всех площадок коллективной работы (teamplace), к которым принадлежит пользователь. Содержимое можно также фильтровать по любому произвольному полю компонента, например по полю priority (приоритет) компонента task или по полю type (тип) компонента announcement.

Эмит Парик, инженер-системотехник, IBM

Эмит Парик (Amit Pareek) - инженер-системотехник группы обслуживания в IBM India Software Labs. Специализируется на технологии J2EE и решениях для управления контентом, занимается настройкой IBM Lotus Quickr. Совместно с отделом разработки Lotus Quickr и проектировщиками настраивает этот продукт под требования заказчиков. Связаться с ним можно по адресу ampareek@in.ibm.com.



Йогеш Карекар, специалист по информационным технологиям, IBM

Йогеш Карекар (Yogesh Karekar) - специалист по информационным технологиям в IBM India Software Labs. Имеет обширный опыт работы со многими продуктами по управлению контентом и системами порталов. В настоящее время работает в отделе Lab Services. Специализируется на продуктах IBM Websphere Portal, IBM Lotus Web Content Management и IBM Lotus Quickr, а также принимает участие в различных проектах с заказчиками. Связаться с ним можно по адресу ykarekar@in.ibm.com.



15.03.2010

Для работы со статьей необходимо хорошо знать продукты Lotus Quickr services for WebSphere Portal 8.1, платформу Java™ Platform, Enterprise Edition (Java EE), IBM Lotus Web Content Management API и Struts v1.2.

Введение

Продукт Lotus Quickr services for WebSphere Portal (далее называемый Lotus Quickr) предоставляет совместные сервисы, делающие возможным создание, управление, обновление, выполнение запросов и удаление содержимого Lotus Quickr. Эти сервисы базируются на архитектуре Representational State Transfer (REST) и поддерживают формат Atom Syndication Format и протокол Atom Publishing Protocol (APP). Такая поддержка позволяет Lotus Quickr отображать содержимое в виде фидов (feed) Atom.

В данной статье рассматривается процесс написания нового фида Atom для извлечения содержимого компонента в Lotus Quickr и развертывания его в Lotus Quickr. Этот фид позволяет пользователям указать критерии фильтрации содержимого при помощи параметров запроса. Приводится краткий обзор возможностей этой технологии. Код примера приложения предоставлен в разделе "Загрузка". Вы можете использовать и модифицировать этот фид для дальнейшего применения.


Перед началом работы

Для создания нового фида Atom необходимо иметь административные права доступа к серверу Lotus Quickr. Lotus Quickr поставляется с большим количеством фидов Atom. В следующем разделе рассказывается, как написать собственный фид для Lotus Quickr и развернуть его. Полное приложение состоит из нескольких сотен строк кода, но мы будем рассматривать написание только важных компонентов; остальной код предоставляется в готовом виде. Вот список необходимых действий:

  1. Расширить класс Struts action для обработки HTTP-запроса.
  2. Реализовать файл NewFeedWCMResolver.java, обрабатывающий запрос и создающий документ Atom.
  3. Изменить конфигурацию Struts для регистрации нового действия.
  4. Упаковать код и развернуть его в Lotus Quickr.

Настройка

В данной статье для разработки Web-приложения используется IBM Rational® Application Developer V7, но вы можете использовать любой инструмент для редактирования и развертывания Web-приложений. Ничто в данном упражнении не зависит от используемого инструментального средства. Необходимо также иметь установленный Lotus Quickr 8.1 и WebSphere Portal в нем, настроенный с Rational Application Developer V7 в качестве среды времени исполнения WebSphere Portal V6.0.


Настройка проекта и импортируемых файлов

Первым шагом при написании нового фида Atom является настройка проекта. Необходимо создать Web-проект, который впоследствии можно будет экспортировать в виде EAR-файла. В данном разделе демонстрируется конфигурация проекта IBM Rational® Application Developer. Выполните следующие действия:

  1. Запустите Rational Application Developer.
  2. Выберите File - New - Other, найдите и выберите Dynamic Web Project на шаге Select мастера. Нажмите кнопку Next.

    ПРИМЕЧАНИЕ. Если раздел Portal не появляется, выберите опцию Show All Wizards.

  3. На шаге Dynamic Web Project введите следующую информацию и нажмите кнопку Next:

    • В поле Project name введите NewAtomFeed.
    • В поле Target Rutime введите WebSphere Portal v6.0.
    • В поле Configurations выберите <custom>.
    • Отметьте флажок Add project to an EAR.
    • В поле EAR Project name введите NewAtomFeedEAR.
  4. На шаге Project Facets выберите два следующих аспекта проекта:

    • Dynamic Web module (version 2.4)
    • Java (version 1.4)

    ПРИМЕЧАНИЕ. Версии этих аспектов проекта должны быть точно такими же, как упомянутые.

  5. Нажмите кнопку Finish для сохранения изменений.
  6. Если отобразится сообщение "This type of project associated with the web perspective" (данный тип проекта ассоциирован с перспективой web), нажмите кнопку Yes.

В вашей текущей рабочей области должны быть созданы два проекта, показанные на рисунке 1.

Рисунок 1. Проект NewAtomFeed в Project Explorer
Рисунок 1. Проект NewAtomFeed в Project Explorer

Настройка EAR-файла корпоративного приложения

После создания проекта Rational Application Developer, но до написания кода, необходимо полностью настроить его. Lotus Quickr поставляется с Web-приложением ilwwcm-atompublishing.war, содержащим готовые к использованию фиды контента Atom. Мы создадим копию этого Web-приложения для автоматического выполнения большей части конфигурирования. Для завершения настройки необходимо изменить конфигурацию Struts и дескриптор развертывания EAR-файла.

Выполните следующие действия:

  1. Щелкните правой кнопкой мыши на проекте NewAtomFeed на вкладке Project Explorer и выберите Import - Import.
  2. На отобразившейся странице Import выберите General - File System и нажмите кнопку Next.
  3. На отобразившейся странице Import выберите папку ilwwcm-atompublishing.war. Ниже указан путь к папке ilwwcm-atompublishing.war внутри корневого каталога установки Lotus Quickr:
    <quickr_root>/wp_profile/installedApps/<node_name>
    /wcm.ear/ilwwcm-atompublishing.war
  4. В поле Select a folder to import into выберите "NewAtomFeed/Webcontent", как показано на рисунке 2. Нажмите кнопку OK для продолжения работы.

    ПРИМЕЧАНИЕ. Нажмите кнопку Yes to All, если отобразится сообщение Overwrite.

    Рисунок 2. Импорт файла ilwwcm-atompublishing.war в папку WebContent
    Рисунок 2. Импорт файла ilwwcm-atompublishing.war в папку WebContent
  5. На открывшейся странице оставьте значения по умолчанию и нажмите кнопку Finish для сохранения изменений.
  6. Выберите Windows - Preferences, а затем в отобразившемся окне Preferences выберите Java - Compiler. Измените значение поля Compiler compliance level на 1.4, как показано на рисунке 3.

    Рисунок 3. Настройка параметров Java compiler level
    Рисунок 3. Настройка параметров Java compiler level
  7. На вкладке Project Explorer щелкните правой кнопкой мыши на проекте NewAtomFeed и выберите Properties для добавления библиотек классов к пути компоновки.
  8. В мастере Properties выберите Java Build Path и перейдите на вкладку Libraries, как показано на рисунке 4.

    Рисунок 4. Мастер Java Build Path
    Рисунок 4. Мастер Java Build Path
  9. Нажмите кнопку Add External JARs для добавления следующих JAR-файлов, как показано на рисунке 5:
    • <quickr_root>/PortalServer/wcm/shared/app/ilwwcm-commons-properties.jar
    • <quickr_root>/PortalServer/wcm/shared/app/ilwwcm-commons-utils.jar
    • <<quickr_root>/PortalServer/wcm/shared/app/ilwwcm-nls-filter.jar
    • <quickr_root>/PortalServer/wcm/shared/app/ilwwcm-server.jar
    Рисунок 5. Мастер Java Build Path для проекта NewAtomFeed
    Рисунок 5. Мастер Java Build Path для проекта NewAtomFeed
  10. Нажмите кнопку OK для сохранения изменений.
  11. Выберите Deployment Descriptor, чтобы открыть application.xml, либо непосредственно откройте файл application.xml для проекта NewAtomFeedEAR. См. рисунок 6.

    Рисунок 6. Окно Project explorer с NewAtomFeedEAR
    Рисунок 6. Окно Project explorer с NewAtomFeedEAR
  12. Перейдите в окно Module.
  13. Выберите модуль NewAtomFeed для заполнения поля Context root. В поле Context root введите "/lotus/customfeed", как показано на рисунке 7.

    Рисунок 7. Настройка Context root модуля NewAtomFeed
    Рисунок 7. Настройка Context root модуля NewAtomFeed
  14. Затем перейдите в окно Security, выбрав вкладку Security внизу.
  15. В разделе Security Roles добавьте одну роль системы защиты с названием All Role и описанием All Authenticated users in the enterprise (все авторизованные пользователи предприятия). В качестве альтернативы мы могли бы перейти в окно исходного кода, выбрав вкладку Source, и вручную добавить эту роль, используя фрагмент XML, приведенный в листинге 1. Нажмите кнопку Finish для продолжения работы.
Листинг 1. Добавление роли системы защиты
<security-role >
	<description>All Authenticated users in the enterprise.</description>
	<role-name>All Role</role-name>
</security-role>
  1. Сохраните файл application.xml.
  2. При желании можно удалить файл ilwwcm-atompublishing.jar из папки library Web-приложения, путь к которой следующий: <RAD_Workspace _root>/NewAtomFeed/WebContent/WEB-INF/lib/ilwwcm-atompublishing.war

    ПРИМЕЧАНИЕ. Этот шаг не обязателен. Можно оставить JAR-файл в Web-приложении.


Создание собственных классов для нового фида

Web-приложение, которое мы импортировали в проект в предыдущем разделе, использует интегрированную среду Struts. Следовательно, для создания нового фида нужно расширить среду Struts. Необходимо создать сервлет, обрабатывающий все запросы к фидам Atom для этого нового Web-приложения. Затем нужно создать наш собственный класс action, расширяющий базовый класс Struts org.apache.struts.action.Action.

Наш новый класс action использует класс resolver, обрабатывающий и компонующий фид Atom. Необходим также вспомогательный класс (utility) для создания соответствующих URL в фиде.

Выполните следующие действия:

  1. Выберите Windows - Open Perspective - Web для перехода в перспективу Web.
  2. Создайте новый пакет, щелкнув правой кнопкой мыши по Java Resources: src в проекте NewAtomFeed на вкладке Project Explorer, а затем выбрав New - Package.
  3. В поле Name введите "com.ibm.test.wcm.app.atom.servlet". Нажмите кнопку Finish.
  4. Создайте новый класс, щелкнув правой кнопкой мыши на пакете com.ibm.test.wcm.app.atom.servlet и выбрав New - Class.
  5. В мастере New Java Class выполните следующие действия:

    • Введите AuthServlet в поле Name.
    • Введите org.apache.struts.action.ActionServlet в поле Superclass.
    • Выберите поля Constructors from superclass (конструкторы из суперкласса) и Inherit abstract methods (наследовать абстрактные методы). См. рисунок 8.
    Рисунок 8. Настройки класса AuthServlet
    Рисунок 8. Настройки класса AuthServlet
  6. Нажмите кнопку Finish для создания класса.
  7. Создайте новый пакет, щелкнув правой кнопкой мыши на Java Resources: src в проекте NewAtomFeed и выбрав New - Package.
  8. Введите com.ibm.test.wcm.app.atom.util в поле Name и нажмите кнопку Finish.
  9. Создайте новый класс, щелкнув правой кнопкой мыши на пакете com.ibm.test.wcm.app.atom.util и выбрав New - Class.
  10. В мастере New Java Class выполните следующие действия:

    • Введите AtomURLBuilder в поле Name.
    • Введите java.lang.Object в поле Superclass.
    • Выберите поля Constructors from superclass (конструкторы из суперкласса) и Inherit abstract methods (наследовать абстрактные методы). См. рисунок 9.
    Рисунок 9. Настройки класса AtomURLBuilder
    Рисунок 9. Настройки класса AtomURLBuilder
  11. Нажмите кнопку Finish для создания класса.
  12. Создайте новый пакет, щелкнув правой кнопкой мыши на Java Resources: src в проекте NewAtomFeed и выбрав New - Package.
  13. Введите com.ibm.test.wcm.app.atom.actions в поле Name и нажмите кнопку Finish.
  14. Создайте новый класс, щелкнув правой кнопкой мыши на пакете com.ibm.test.wcm.app.atom.actions и выбрав New - Class.
  15. В мастере New Java Class выполните следующие действия:

    • Введите NewFeedAction в поле Name.
    • Введите org.apache.struts.action.Action в поле Superclass.
    • Выберите поля Constructors from superclass (конструкторы из суперкласса) и Inherit abstract methods (наследовать абстрактные методы). См. рисунок 10.
    Рисунок 10. Настройки класса NewFeedAction
    Рисунок 10. Настройки класса NewFeedAction
  16. Нажмите кнопку Finish для создания класса.
  17. Создайте новый пакет, щелкнув правой кнопкой мыши на Java Resources: src в проекте NewAtomFeed и выбрав New - Package.
  18. Введите com.ibm.test.wcm.app.atom.resolver в поле Name и нажмите кнопку Finish.
  19. Создайте новый класс, щелкнув правой кнопкой мыши на пакете com.ibm.test.wcm.app.atom.resolver и выбрав New - Class.
  20. В мастере New Java Class выполните следующие действия:

    • Введите NewFeedWCMResolver в поле Name.
    • Введите java.lang.Object в поле Superclass.
    • Выберите поля Constructors from superclass (конструкторы из суперкласса) и Inherit abstract methods (наследовать абстрактные методы). См. рисунок 11.
    Рисунок 11. Настройки класса NewFeedWCMResolver
    Рисунок 11. Настройки класса NewFeedWCMResolver
  21. Нажмите кнопку Finish для создания класса.

Завершение кода

Теперь, после настройки Web-приложения, можно приступить к кодированию внутренних классов фида Atom. Для этих целей мы уже создали четыре Java-класса.

Класс servlet - это начальная точка для обработки запросов фида Atom. Назначением класса AuthServlet, как следует из его имени, является гарантирование аутентификации пользователя до перенаправления запроса в класс action. Класс servlet гарантирует также, что когда запрос достигает класса action, он передается по защищенному пути сервлета (/myatom).

Класс AuthServlet является общим сервлетом аутентификации для всех фидов Atom, созданным для Web-приложения NewAtomFeed. Класс AuthServlet расширяет класс org.apache.struts.action.ActionServlet и переопределяет метод process(). Метод process() используется для выполнения стандартной обработки запросов и генерирования соответствующих ответов. См. листинг 2.

Листинг 2. Фрагмент кода сервлета action
protected void process(HttpServletRequest p_request, HttpServletResponse p_response) 
        throws IOException, ServletException 
    { 
        try 
        { 
                // проверка аутентификации пользователя 
  
                // если пользователь аутентифицирован, проверить путь сервлета  
  
// если пользователь аутентифицирован и путь сервлета является защищенным, 
// перенаправить запрос, чтобы он мог быть 
// обработан struts Action 
                
    }

Класс action является классом, зарегистрированным в конфигурации Struts и, следовательно, вызывается при приходе запроса, перенаправленного сервлетом AuthServlet. Для обработки запроса вызывается переопределенный метод execute(), унаследованный из суперкласса org.apache.struts.action.Action.

В методе execute() сначала определяется метод запроса. Корректными, согласно спецификации APP, считаются только запросы Get и Head. Если входящим запросом является Get либо Head, в объекте response устанавливается заголовок, и этот запрос передается в метод get(). Затем метод get() обрабатывает этот запрос. См. листинг 3.

Листинг 3. Код метода execute()
public ActionForward execute(ActionMapping mapping, ActionForm aform, 
HttpServletRequest request, HttpServletResponse response) throws Exception
{
    ActionForward forward = null;
    response.setHeader("Server", "Teamspace Web Content 1.0");
    String httpMethod = request.getMethod();
    if(httpMethod.equalsIgnoreCase("GET"))
    {
	m_isHead = false;
	forward = get(mapping, aform, request, response);
    } else
    if(httpMethod.equalsIgnoreCase("HEAD"))
    {
	m_isHead = true;
	forward = get(mapping, aform, request, response);
    } else
    {
	response.setStatus(405);
	response.setHeader("Allow", "GET, HEAD");
	return null;
    }
    return forward;
}

В методе get() из запроса сначала извлекается вся полезная информация, переданная в параметрах запроса. Затем создается экземпляр репозитория Lotus Web Content Management для аутентифицированного пользователя. В примере кода, показанном в листинге 4, используется также вспомогательный класс com.ibm.test.wcm.app.atom.util.AtomURLBuilder, имеющий методы, которые помогают создавать ссылки URL, указывающие обратно на сервер Lotus Quickr. Все эти данные (то есть параметры запроса, экземпляр репозитория Lotus Web Content Management и экземпляр AtomURLBuilder) затем передаются в метод getFeed() класса NewFeedWCMResolver, где компонуется документ Atom. Документ Atom, возвращаемый классом NewFeedWCMResolver, затем передается обратно в виде ответа браузеру. См. листинг 4.

Листинг 4. Код для метода get()
public ActionForward get(ActionMapping actionMapping, ActionForm actionForm, 
HttpServletRequest request, HttpServletResponse response) throws Exception
{
	/*
	*	..... извлечь данные параметров запроса ....
	*/

	/*
	*	..... создать экземпляр репозитория WCM .... 
	*/
	
	/*
	*	..... создать экземпляр AtomURLBuilder .... 
	*/

	/*
	*	..... передать все данные, извлеченные из параметров запроса, и  
	*	экземпляры репозитория WCM и класса AtomURLBuilder в метод getFeed  
	*	класса NewFeedWCMResolver .... 
	*/
	
	/*
	*	..... передать документ atom в вид ответа обратно в браузер 
	*/
}

Метод getFeed() класса NewFeedWCMResolver сначала активирует запрос в систему Lotus Web Content Management для извлечения содержимого выбранного типа компонента из всех площадок коллективной работы, членом которых является аутентифицированный пользователь. Документ Atom формируется, начиная с раздела заголовков, за которыми следуют отдельные записи. При добавлении записей в документ Atom работает фильтрация. Затем этот документ Atom возвращается в класс NewFeedAction. См. листинг 5.

ПРИМЕЧАНИЕ. При создании поля atom необходимо обращать внимание на значения (данные), которыми заполняется фид. Некоторые символы, например пробел " ", не принимаются некоторыми элементами фида Atom. Ссылки на дополнительную информацию о протоколе Atom Publishing Protocol приведены в разделе "Ресурсы".

Листинг 5. Код метода getFeed()
public Feed getFeed(Workspace p_workspace, AtomURLBuilder p_urlBuilder, 
Locale locale, String p_atName, String p_optionAttr, 
String p_optionVal, HttpServletRequest p_request) throws AuthorizationException, 
InvalidIdException, AtomException
{
	/*
	*	..... запрос WCM на извлечение содержимого выбранного типа компонентов 
	*	для аутентифицированного пользователя ....
	*/

	/*
	*	..... добавить элементы header в документ Atom .... 
	*/
	
	/*
	*	..... добавить элементы header в документ Atom .... 
	*/

	/*
	*	..... передать все данные, извлеченные из параметров запроса, и  
	*	..... экземпляры репозитория WCM и класса AtomURLBuilder в метод getFeed  
	*	..... класса NewFeedWCMResolver .... 
	*/
	
	/*
	*	..... возвратить документ atom обратно в класс NewFeedAction 
	*/
}

ПРИМЕЧАНИЕ. Исходный код для четырех классов предоставляется в виде файла, ссылка на который приведена в разделе "Загрузка" данной статьи. Названия файлов:

  • AuthServlet.java
  • NewFeedAction.java
  • NewFeedWCMResolver.java
  • AtomURLBuilder.java

Регистрация нового класса servlet при помощи дескриптора развертывания

Новый класс servlet необходимо зарегистрировать при помощи дескриптора развертывания. Поскольку мы создали Web-приложение из существующего Web-приложения, соответствующая запись для данного сервлета уже имеется в дескрипторе развертывания. Нужно только изменить атрибут class, чтобы он указывал на новый класс AuthServlet.

Выполните следующие действия:

  1. Выберите Web Deployment Descriptor и откройте web.xml либо непосредственно откройте файл web.xml проекта NewAtomFeed.
  2. Перейдите в окно Servlets
  3. Выберите сервлет WCM Atom Publishing.
  4. Нажмите кнопку Browse, расположенную рядом с полем Servlet class, для изменения значения этого атрибута. См. рисунок 12.

    Рисунок 12. Окно Servlets для файла web.xml
    Рисунок 12. Окно Servlets для файла web.xml
  5. В мастере Select Servlet or JSP выполните следующие действия:

    • Введите AuthServlet в поле Choose a servlet.
    • Выберите класс servlet AuthServlet в пакете com.ibm.test.wcm.app.atom.servlet для изменения атрибута Servlet Class этого сервлета.
  6. Сохраните файл web.xml.

Регистрация нового класса action в конфигурации Struts

Созданный новый класс action необходимо зарегистрировать при помощи конфигурации Struts. Конфигурация Struts определяется в файле struts-config-atom.xml. Отображение класса action на путь URL регистрируется в конфигурации Struts, так что все запросы с соответствующим путем отправляются для обработки в отображенный класс action.

Выполните следующие действия:

  1. Откройте файл struts-config-atom.xml в проекте NewAtomFeed.
  2. Удалите все три отображения action из элемента action-mappings. Добавьте новое отображение action для нового фида, как показано в листинге 6.
Листинг 6. Отображение action для нового фида
<action path="/newfeed/*" 
type="com.ibm.test.wcm.app.atom.actions.NewFeedAction" />
  1. Сохраните файл struts-config-atom.xml.

Развертывание EAR-файла нового фида Atom

Теперь, когда приложение готово к развертыванию, необходимо выполнить полную компоновку и экспортировать приложение в виде EAR-файла. После этого с помощью консоли WebSphere Application Server экспортированный EAR-файл развертывается на сервере приложений WebSphere_Portal. Помните, что необходимо явно запустить развернутое приложение до его использования. Аналогично, если по какой-либо причине EAR-файл пришлось развертывать повторно, необходимо перезапустить приложение для активизации изменений.

Выполните следующие действия:

  1. Щелкните правой кнопкой мыши на проекте NewAtomFeedEAR и выберите Export - EAR file.
  2. Выберите проект NewAtomFeedEAR в EAR-приложении и введите путь к EAR в поле Destination в мастере Export. См. рисунок 13.

    Рисунок 13. Экспорт приложения в виде ear-файла
    Рисунок 13. Экспорт приложения в виде ear-файла
  3. Нажмите кнопку Finish для экспорта проекта в виде файла NewAtomFeed.ear по выбранному пути.
  4. Зарегистрируйтесь в консоли администратора WebSphere Application Server.
  5. Выберите Application - Enterprise Applications, как показано на рисунке 14.

    Рисунок 14. Консоль администратора WebSphere Application Server
    Рисунок 14. Консоль администратора WebSphere Application Server
  6. Отобразится страница Preparing for the application installation (подготовка к установке приложения); используя эту страницу, можно установить новый EAR-файл. Нажмите кнопку Next.
  7. Отобразится новая страница, показанная на рисунке 15, на которой можно настроить связывания и отображения по умолчанию. Выполните следующие действия:

    • Отметьте флажок Generate Default Bindings.
    • Выберите поле Override existing bindings.
    • Выберите поле Use default virtual host name for Web modules.
    • Нажмите кнопку Next для продолжения работы.
    Рисунок 15. Настройки связывания по умолчанию
    Рисунок 15. Настройки связывания по умолчаниюs
  8. Отобразится страница Step 1, Select installation options (Шаг 1. Выбор параметров установки). Ничего не меняйте. Нажмите кнопку Next для продолжения работы.
  9. Отобразится страница Step 2, Map modules to servers (Шаг 2. Отображение модулей на серверы). Выполните следующие действия (см. рисунок 16):

    • Выберите второе поле, WebSphere: cell=ykare, node=<node_name>,server=Websphere_Portal, в разделе Clusters and Servers.
    • Отметьте флажок ниже заголовка Select.
    • Нажмите кнопку Apply.
    • Нажмите кнопку Next для продолжения работы.
    Рисунок 16. Отображение модулей на серверы
    Рисунок 16. Отображение модулей на серверы
  10. Отобразится страница Step 3, Map virtual hosts for Web modules (Шаг 3. Отображение виртуальных хостов для Web-модулей). Оставьте значения по умолчанию и нажмите кнопку Next для продолжения работы.
  11. Отобразится страница Step 4, Map security roles to users/groups (Шаг 4. Отображение ролей системы защиты на пользователей/группы). Выполните следующие действия (см. рисунок 17):

    • Отметьте флажок All authenticated? для All Role.
    • Нажмите кнопку Next для продолжения работы.
    Рисунок 17. Отображение ролей системы защиты на пользователей/группы
    Рисунок 17. Отображение ролей системы защиты на пользователей/группы
  12. Отобразится страница Summary мастера установки. Нажмите кнопку Finish.
  13. Отобразится страница Installation summary. Выберите ссылку Save to Master Configuration, как показано на рисунке 18.

    Рисунок 18. Страница Installation summary
    Рисунок 18. Страница Installation summary
  14. Нажмите кнопку Save. Это действие отправит вас обратно в окно Enterprise Application.
  15. Запустите приложение, установленное на предыдущем шаге.

Использование нового фида Atom

Мы завершили развертывание нового фида Atom. Теперь можно протестировать его, используя следующий URL:

http://<host>:<port>/lotus/customfeed/myatom/newfeed/?atname=<
authoring_template_name>'optionattr=<element_name>
&optionval=<element_value>

Вот пример URL для персонализированного фида уведомления:

http://<host>:10038/lotus/customfeed/myatom/newfeed/?atname=list_announcement &optionattr=type'optionval=@nls@special.title@ где:

  • <host>: имя хоста или IP.
  • <port>: номер порта (значение по умолчанию - 10038).
  • <authoring_template_name>: имя шаблона авторинга для компонента.
  • <element_name>: имя элемента, по которому должна осуществляться фильтрация. Этот элемент должен иметь тип OptionSelection.
  • <element_value>: значение для фильтрации.

Заключение

В данной статье рассматривался процесс создания нового фида Atom для извлечения содержимого Lotus Quickr. Для создания нового проекта фида мы использовали существующий файл ilwwcm-atompublishing.war. Мы настроили приложение на поддержку нового фида, изменив файлы application.xml и struts-config-atom.xml. Затем мы реализовали два Java-класса: NewFeedAction.java и NewFeedWCMResolver.java. Наконец, мы показали, как развернуть приложение и протестировать его.


Загрузка

ОписаниеИмяРазмер
Образец кодаAtomURLBuilder.java1.52 КБ
Образец кодаAuthServlet.java2.45 КБ
Образец кодаNewFeedAction.java3.74 КБ
Образец кодаNewFeedWCMResolver.java7.17 КБ

Ресурсы

Научиться

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


  • Bluemix

    Узнайте больше информации о платформе IBM Bluemix, создавайте приложения, используя готовые решения!

  • Библиотека документов

    Более трех тысяч статей, обзоров, руководств и других полезных материалов.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Lotus
ArticleID=474509
ArticleTitle=Работа с компонентами в IBM Lotus Quickr 8.1, часть 3. Отображение компонентов в виде пользовательских фидов Atom
publish-date=03152010