포털 및 포틀렛 도구 릴리스 정보

© Copyright International Business Machines Corporation 2006. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.

릴리스 정보

1.0 제한사항
   1.1 문제점 보기에 링크 끊김 경고 메시지 표시
   1.2 Portal Designer에서 마크업 지원
   1.3 올바르게 사용되지 않는 기본 색상표
2.0 알려진 문제점 및 해결 방법
   2.1 대상 런타임에 필요한 수동 동기화 및 새 포털 프로젝트 마법사의 포털 서버 버전
   2.2 스타일 대화 상자에서 CSS 컨텐츠 유형 JSP 파일 편집
   2.3 JSF에서 생성된 서비스 클라이언트 코드가 JSR 168 Faces 포틀렛에서 작동하지 않음
   2.4 포틀렛 프로젝트를 가져올 때 '일치하지 않는 파일' 메시지 표시
   2.5 포틀렛 app id가 없는 JSR 168 포틀렛을 실행할 수 없거나 해당 포틀렛이 있는 포털 프로젝트를 실행할 수 없음
   2.6 WebSphere Portal 6.0 서버 상태가 서버가 실행 중임에도 중지됨으로 감지됨
   2.7 내 포털 프로젝트를 실행하거나 Portal 6.0에 배치한 후 포틀렛이 페이지에 표시되지 않음
   2.8 Document-Literal 스타일 WSDL로 비즈니스 프로세스 메시지 작성 시, 메시지 이름이 마법사에 표시되지 않음
   2.9 JSR 168 포틀렛 프로젝트에 다른 유형의 포틀렛이 있는 경우 협업 마법사 기본 조치 매개변수가 올바르지 않음
   2.10 고유 이름의 기본값이 변경되면 타스크 페이지 컨테이너가 작동하지 않음
   2.11 배치 중 Rational Developer 6.x에서 이주한 특정 포털 프로젝트로 인해 NoModuleFileException 발생
   2.12 Faces 포틀렛의 PARENT_LAST classloader 모드 설정
   2.13 Rational Developer 6.x을 사용하여 작성된 포털 프로젝트로 인해 "WebSphere Portal v5.1 Test Environment에서 실행" 실패
   2.14 샘플 갤러리 및 가져오기 포털 마법사의 포털 및 포틀렛 샘플이 기능별로 필터됨

1.0 제한사항

1.1 문제점 보기에 링크 끊김 경고 메시지가 표시됨

샘플 갤러리에서 "새 포털 프로젝트" 마법사를 사용하여 샘플 포털 프로젝트를 가져오거나 포털 프로젝트를 작성하면 끊어진 링크 경고 메시지가 문제점 보기에 나타납니다.

1.2 Portal Designer에서 마크업 지원

Rational® Developer의 이 버전에서 Portal Designer는 HTML, cHTML 및 WML의 디스플레이만 지원합니다. 가져온 프로젝트의 페이지 또는 레이블에 대한 기타 지원 마크업 언어를 지정한 경우 이 마크업 언어가 Rational Developer에서 디스플레이를 지원하지만 편집할 수는 없습니다. 이 마크업 언어는 특성 보기에 표시되지 않습니다.

1.3 올바르게 사용되지 않는 기본 색상표

사용자가 페이지에 색상표를 지정하지 않으면 WebSphere® Portal 6에 기본 색상표가 사용됩니다. 하지만 Portal Designer에서는 색상표를 지정하지 않으면 상위 페이지의 색상표가 기본 팔레트 대신 사용됩니다.

2.0 알려진 문제점 및 해결 방법

2.1 대상 런타임에 필요한 수동 동기화 및 새 포털 프로젝트 마법사의 포털 서버 버전

새 포털 프로젝트 마법사에서 포털 서버 버전을 선택하면 대상 런타임이 자동 갱신되지 않습니다. 포털 서버 버전 및 대상 런타임 설정은 수동으로 동기화해야 합니다. 예를 들어, 포털 서버 버전 6.0.0.x에 대해서는 WebSphere Portal v6.0 런타임을, 포털 서버 버전 5.1.0.x에 대해서는 WebSphere Portal v5.1 런타임을 선택해야 합니다. 대상 런타임 버전이 포털 버전과 동기화되지 않는 경우, 포털 프로젝트가 배치되면 포털 서버가 손상되거나 사용할 수 없게 됩니다.

2.2 스타일 대화 상자에서 CSS 컨텐츠 유형 JSP 파일 편집

WebSphere Portal v6.0에서 스타일 대화 상자로 CSS 컨텐츠 유형 JSP 파일(styles.jsp 또는 styles_theme.jspf)  편집 시 JSP 표현식이 대화 상자에 표시됩니다. 이 JSP 표현식은 대화 상자에서 수정할 수 없고 CSS 디자이너 소스 패널에서 수정해야 합니다.

2.3 JSF에서 생성된 서비스 클라이언트 코드가 JSR 168 Faces 포틀렛에서 작동하지 않음

JSR168 Faces 포틀렛의 경우, 다음 도구 중 하나를 사용해 Faces JSP에서 서비스 클라이언트를 생성하면 생성된 페이지 코드가 WebSphere Portal 6.0 또는 5.1에서 올바르게 작용하지 않습니다. 영향을 받는 도구는 다음과 같습니다.

이것은 jsf-portletbridge.jar에 포함된 JSR168 Faces 포틀렛 런타임의 이전과는 다른 새로운 구현으로 발생합니다.

새로운 구현에서 Faces JSP의 pagecode Bean이 요청 범위 관리 Bean으로 선언되면 포틀렛의 조치 단계와 렌더링 단계 사이에서 중지됩니다. 생성된 웹 서비스 클라이언트 코드에서 pagecode Bean이 조치 단계 중에 웹 서비스 결과를 캐시하는 데 사용됩니다. 하지만 Bean이 요청 범위 내에 있기 때문에 렌더링 단계 중에 새 인스턴스가 작성됩니다. 따라서 캐시된 결과가 손실됩니다.

사용 가능한 두 가지 솔루션은 다음과 같습니다.

  1. Bean을 세션 범위에 두십시오(faces-config.xml로 구성). 구성 파일에서 하나의 행을 변경하는 것만큼 간단합니다.
  2. 가장 간단한 방법은 아니지만 JSR168 포틀렛에서 서비스 클라이언트를 구현하는 기본 방법도 있습니다. 이 방법은 JSR168 포틀렛 프로그래밍에 대한 우수 사례를 따르며 이전 단추 및 북마킹 지원을 더 쉽게 사용할 수 있습니다.
PortletResponse response = (PortletResponse)getFacesContext().getExternalContext().getResponse();
((ActionResponse)response).setRenderParameter("resultValue", resultValue);
PortletRequest request = (PortletRequest)getFacesContext().getExternalContext().getRequest();
request.getPortletSession().put("resultValue", resultValue);
PortletResponse response = (PortletResponse)getFacesContext().getExternalContext().getResponse();
((ActionResponse)response).setRenderParameter("inputValue", inputValue);
PortletRequest request = (PortletRequest)getFacesContext().getExternalContext().getRequest();
String inputValue = request.getParameter("inputValue");

2.4 포틀렛 프로젝트를 가져올 때 '일치하지 않는 파일' 메시지 표시

포털 프로젝트를 가져올 때 질문 메시지 상자에 "다음 작업공간 파일이 편집기와 일치하지 않습니다. 편집기를 작업공간 컨텐츠로 갱신하십시오."라고 표시됩니다. 예를 클릭하십시오. 

2.5 포틀렛 app id가 없는 JSR 168 포틀렛을 실행할 수 없거나 해당 포틀렛이 있는 포털 프로젝트를 실행할 수 없음

포틀렛 app id는 JSR 168 스펙에 따라 선택적이지만 Rational® Developer에서는 id 없이 올바르게 포틀렛이 공개되지 않습니다. Rational Developer에서는 id 없이 포틀렛이 생성되지 않습니다. 다른 소스에서 포틀렛을 가져오는 경우 포틀렛을 작성할 수 있습니다. 이 문제점을 해결하려면 프로젝트의 포틀렛 배치 설명자를 열고 소스 탭에 포틀렛 응용프로그램을 추가하십시오. 예를 들면, 다음과 같습니다.
<portlet-app xmlns=... version=... xmlns:xsi=... xsi:schemaLocation=... id="ENTER_YOUR_ID_HERE">
...
</portlet-app>

2.6 WebSphere Portal 6.0 서버 상태가 서버가 실행 중임에도 중지됨으로 감지됨

서버가 실행 중일 때 서버 상태가 중지됨으로 감지되면 먼저 SOAP/RMI 커넥터 포트가 올바르고 사용 중인 WebSphere 보안 인증서가 서버 편집기에서 올바른지 확인하십시오. 올바르지 않은 경우, 서버 상태가 시작됨으로 감지될 수 없습니다. 포트와 인증서가 올바르고 서버 상태가 중지됨인 경우, WebSphere Application Server v6.1 및 WebSphere Portal v6.0의 공존으로 문제점이 발생할 수 있습니다.

가장 일반적인 방법은 로컬 시스템에 WebSphere Application Server 6.1 서버를 설치하고 새 작업공간에서 시작하는 것입니다. 이 새로운 작업공간에서는 WebSphere Application Server 6.1 서버 인스턴스가 자동으로 작성 및 초기화되고 이 서버 인스턴스 때문에 Portal 6.0 상태 감지가 올바르게 수행되지 않습니다. WebSphere Application Server v6.1 서버를 작성한 후 Portal 6.0 서버를 작성하는 경우에도 이러한 경우가 발생합니다.

솔루션은 같은 작업공간에서 Rational 제품을 다시 시작하는 것입니다. Portal 6.0 서버 인스턴스는 WebSphere Application Server 6.1 서버가 초기화되지 않으면 올바르게 작동되어야 합니다(예: 상태가 중지됨 또는 시작됨 대신 공백임).

2.7 내 포털 프로젝트를 실행하거나 Portal 6.0에 배치한 후 포틀렛이 페이지에 표시되지 않음

내 포털 프로젝트를 실행하거나 Portal 6.0에 배치한 후 포틀렛이 페이지에 표시되지 않습니다. 이 문제의 영향을 최소화하려면 전체 배치가 필요하지 않을 때는 구성만 배치를 사용하십시오.

문제점이 발생하는 경우, 포틀렛 배치 없이 포털 프로젝트의 구성만 배치를 실행하십시오. 이로 인해 포털에서 포틀렛을 다시 올바르게 렌더링할 수 있습니다.

2.8 Document-Literal 스타일 WSDL로 비즈니스 프로세스 메시지 작성 시, 메시지 이름이 마법사에 표시되지 않음

새로운 비즈니스 프로세스 메시지를 작성 중이고 WSDL 파일이 Document-Literal 스타일인 경우, 입력 및 출력 메시지 이름이 마법사의 두 번째 페이지에 표시되지 않습니다. 마법사의 오른쪽에 있는 메시지 세부사항을 보고 선택할 수 있습니다. 생성된 코드는 메시지 이름이 마법사에 표시되지 않음에도 불구하고 올바릅니다. 

2.9 JSR 168 포틀렛 프로젝트에 다른 유형의 포틀렛이 있는 경우 협업 마법사 기본 조치 매개변수가 올바르지 않음

협업 마법사를 사용하여 소스 또는 대상 포틀렛을 작성하고 JR 168 포틀렛 프로젝트에 여러 포틀렛 유형이 있는 경우(예: 하나의 기본 포틀렛과 하나의 struts 포틀렛), 마법사의 기본 조치 매개변수가 올바르지 않습니다.

기본 및 Faces 포틀렛에서 기본 조치 매개변수는 ACTION_NAME_PARAM이어야 하지만 사용자는 다른 값을 선택할 수 있습니다.
struts에서는 조치 매개변수가 spf_strutsAction이어야 합니다.

2.10 고유 이름의 기본값이 변경되면 타스크 페이지 컨테이너가 작동하지 않음

타스크 페이지 컨테이너에 다음과 같은 고유 이름의 기본값이 있습니다. 
 WebSphere Portal v6.0:   ibm.portal.MyTasks
 WebSphere Portal v5.1:   wps.MyTasks

Portal Designer에서 위에 열거된 이름과 다른 고유 이름을 가진 다른 페이지를 사용하면 배치 후 페이지가 WebSphere Portal에서 타스크 페이지 컨테이너 페이지로 인식되지 않습니다. 

해결 방법:  배치 후, 다음 단계를 사용하여 내 타스크 포틀렛에서 TaskPageContainerUniqueName 매개변수의 값을 변경하십시오.
 1.  관리 > 포틀렛 관리 > 포틀렛을 여십시오.
 2.  내 타스크 포틀렛에서 구성 포틀렛 단추를 클릭하십시오.
 3.  TaskPageContainerUniqueName 매개변수에 대해 편집을 클릭하십시오.
 4.  다음 값을 사용하여 Portal Designer에서 값을 새로운 고유 이름으로 변경하십시오.

  WebSphere Portal v6.0:   ibm.portal.MyTasks
  WebSphere Portal v5.1:   wps.MyTasks
 5.  확인을 클릭하십시오. 

2.11 배치 중 Rational Developer 6.x에서 이주한 특정 포털 프로젝트로 인해 NoModuleFileException 발생

포털 프로젝트가 Rational Developer 6.x 에서 Rational Developer 7.0 작업공간으로 이주된 경우, 이로 인해 NoModuleFileException이 발생하여 배치에 실패합니다. 이러한 일이 발생하면 다음 프로시저를 따라 문제점을 정정하십시오.

      <module id="WebModule_1163447032109">
          <web>
              <web-uri>wps.war</web-uri>
              <context-root>wps</context-root>
          </web>
      </module>
      <module id="WebModule_WSRP">
         <web>
            <web-uri>wps_facade.war</web-uri>
            <context-root>/wsrp</context-root>
         </web>
      </module>
      <module id="EjbModule_1">
          <ejb>wp.scheduler.ejb.jar</ejb>
      </module>
      <security-role id="SecurityRole_1">
         <description>Everyone in the enterprise.</description>
         <role-name>Everyone Role</role-name>
      </security-role>
      <security-role id="SecurityRole_2">
         <description>All Authenticated users in the enterprise.</description>
         <role-name>All Role</role-name>
      </security-role>
      <security-role id="SecurityRole_3">
         <description>No users in the enterprise.</description>
         <role-name>No Role</role-name>
      </security-role>

2.12 Faces 포틀렛의 PARENT_LAST classloader 모드 설정

WebSphere Portal 6.0에 있는 jsf-ibm.jar의 오래된 버전 때문에 classloader 모드가 포틀렛 웹 모듈에 PARENT_FIRST로 설정되면 일부 JSF 컴포넌트가 포틀렛에 올바르게 렌더링되지 않습니다. 이것은 classloader 모드가 PARENT_FIRST로 설정되면 WebSphere Portal 6.0의 jsf-ibm.jar이 포틀렛 웹 모듈에 있는 사본 대신 사용되기 때문입니다.

jsf-ibm.jar에 있는 컴포넌트만이(uri http://www.ibm.com/jsf/html_extended에 해당) 영향을 받습니다. Faces IBM 포틀렛 및 JSR168 포틀렛 모두 영향을 받습니다.

포틀렛 웹 모듈의 classloader 모드가 다음 상황에서 PARENT_FIRST로 설정되어 변경해야 합니다.

이 문제점을 해결하려면 포틀렛 프로젝트가 포함된 EAR 프로젝트에서 application.xml 파일을 연 후 "배치" 탭을 여십시오. "응용프로그램" 섹션에서 EAR 및 포틀렛 프로젝트를 표시하는 트리를 찾으십시오. 포틀렛 프로젝트를 선택한 후 "Classloader 모드"를 "PARENT_FIRST"에서 "PARENT_LAST"로 변경하십시오. 대상 서버에 변경사항을 적용하려면 응용프로그램을 다시 공개해야 합니다.
WAR, WebSphere Portal 관리 페이지 또는 xmlAccess 명령을 사용하여 WebSphere Portal에 포틀렛을 직접 설치하는 경우, classloader 모드는 이미 PARENT_LAST로 설정되어 있습니다. 이 경우 포틀렛은 해결 방법 없이도 올바르게 작동합니다.

2.13 Rational Developer 6.x을 사용하여 작성된 포털 프로젝트로 인해 "WebSphere Portal v5.1 Test Environment에서 실행" 실패

Rational Developer 6.x를 사용하여 작성된 포털 프로젝트 5.1.0.1을 Project Interchange와 함께 Rational Developer 7.0 작업공간으로 가져오면 "WebSphere Portal v5.1 Test Environment에서 실행"에 실패합니다.

해결 방법: 다음 단계를 사용하여 .portalsettings 파일의 컨텐츠를 수정하십시오.
 1. 창 > Perspective 열기 > 기타...를 여십시오.
 2. 자원을 선택한 후 Perspective 열기 대화 상자에서 확인을 클릭하십시오.
 3. 네비게이터 보기에 있는 포털 프로젝트를 펼치십시오.
 4. .portalsettings 파일을 선택한 후 텍스트 편집기로 여십시오.
 5. 다음을 입력하십시오.
    <?xml version="1.0" encoding="UTF-8"?>
    <portalSettings>
         <portal-version version="5.1.0.1"/>
         <portlets-ear-project portlets-ear-project-name=""/>
         <process-integration mytaskspage-uniquename="wps.MyTasks"/>
     </portalSettings>

2.14 샘플 갤러리 및 가져오기 포털 마법사의 포털 및 포틀렛 샘플이 기능별로 필터됨

"Web Developer의 기능(고급)에서는 포털 가져오기 마법사, 포털 및 포틀렛 샘플(샘플 갤러리에서) 보기를 사용해야 합니다. 기능을 도움말 >시작으로 이동하려면 시작 화면에서 화면 구석에 있는 "역할 사용" 단추를 클릭하고   "Web Developer(고급)" 역할을 사용하도록 선택하십시오. 변경사항을 적용하려면 마법사 또는 샘플 갤러리를 다시 시작하십시오.