Strumenti di portali e portlet - Note sul rilascio

© Copyright International Business Machines Corporation 2006. Tutti i diritti riservati. Limitazioni previste per gli Utenti del Governo degli Stati Uniti - L'uso, la duplicazione o la divulgazione sono limitati dal GSA ADP Schedule Contract con IBM Corp.

Note sul rilascio

1.0 Limitazioni
   1.1 Nella vista Problemi vengono visualizzati messaggi di avvertenza di collegamenti interrotti
   1.2 Supporto markup in Portal Designer
   1.3 La tavolozza colori predefinita non viene utilizzata correttamente
2.0 Problemi noti e soluzioni temporanee
   2.1 Per il runtime di destinazione e la versione del server del portale della procedura guidata Nuovo progetto di portale è necessaria la sincronizzazione manuale
   2.2 Modifica dei file JSP del tipo contenuto CSS nella finestra di dialogo Stili
   2.3 Il codice client dei servizi generati per JSF non funziona in portlet Faces JSR 168
   2.4 Messaggio di file incoerenti durante l'importazione di un progetto di portale
   2.5 Impossibile eseguire un portlet JSR 168 che non contiene id applicazioni portlet, o un progetto di portale contenente tale portlet.
   2.6 Lo stato del server WebSphere Portal 6.0 viene rilevato Arrestato anche se il server è ancora in esecuzione
   2.7 Dopo l'esecuzione o la distribuzione del progetto my portal in Portal 6.0, i portlet non vengono visualizzati nelle pagine
   2.8 Nella creazione di un messaggio di processo aziendale con un WSDL con stile Document-Literal, i nomi dei messaggi non vengono visualizzati nella procedura guidata.
   2.9 Il parametro di azione predefinito della procedura guidata Cooperativa può non essere corretto se il progetto di portlet JSR 168 contiene portlet di tipi differenti.
   2.10 Il contenitore pagine di attività non funziona quando viene modificato il valore predefinito del nome unico
   2.11 Determinati progetti Portal migrati da Rational Developer 6.x possono causare una NoModuleFileException durante la distribuzione
   2.12 Impostazione modalità classloader PARENT_LAST per portlet Faces
   2.13 L'esecuzione nell'ambiente di test di WebSphere Portal v5.1 può avere esito negativo con progetti di portali creati utilizzando Rational Developer 6.x
   2.14 Gli esempi di portali e portlet nella Galleria di esempi e nella procedura guidata Importare portale vengono filtrati per Funzioni

1.0 Limitazioni

1.1 Nella vista Problemi vengono visualizzati messaggi di avvertenza di collegamenti interrotti

Durante l'importazione di un esempio di progetto di portale o la creazione di un progetto di portale utilizzando la procedura guidata "Nuovo progetto di portale" dalla Galleria di esempi, nella vista Problemi viene visualizzato un messaggio di avvertenza di collegamenti interrotti.

1.2 Supporto per markup in Portal Designer

In questa versione di Rational® Developer, Portal Designer supporta solo visualizzazioni in HTML, cHTML e WML.  Se sono state specificate altre lingue supportate per le markup per una pagina o un'etichetta in un progetto importato, in Rational Developer è supportata la visualizzazione ma non la modifica di tali lingue. Queste lingue delle markup non verranno visualizzate nella vista Proprietà.

1.3 La tavolozza colori predefinita non viene utilizzata correttamente

A meno che non venga assegnata una tavolozza colori a una pagina, in WebSphere® Portal 6 viene utilizzata la tavolozza colori predefinita. In Portal Designer, tuttavia, quando non viene specificata la tavolozza colori, al posto della tavolozza predefinita viene utilizzata la tavolozza colori della pagina originaria.

2.0 Problemi noti e soluzioni temporanee

2.1 Per il runtime di destinazione e la versione del server del portale della procedura guidata Nuovo progetto di portale è necessaria la sincronizzazione manuale

Nella procedura guidata Nuovo progetto di portale, la selezione di una versione del server del portale non aggiorna automaticamente il runtime di destinazione.  La versione del server del portale e le impostazioni runtime di destinazione devono essere sincronizzati manualmente.  Ad esempio, è necessario selezionare un runtime WebSphere Portal v6.0 per una versione del server del portale 6.0.0.x, ed è necessario selezionare un runtime WebSphere Portal v5.1  per la versione del server del portale 5.1.0.x. Se la versione del runtime di destinazione non è sincronizzata con la versione del portale, il server del portale può risultare corrotto o può diventare inutilizzabile quando il progetto del portale viene distribuito.

2.2 Modifica dei file JSP del tipo contenuto CSS nella finestra di dialogo Stili

In WebSphere Portal v6.0, durante la modifica dei file JSP del tipo contenuto CSS, quali styles.jsp o styles_theme.jspf,  con la finestra di dialogo Stili, nella finestra potrebbero essere visualizzate espressioni JSP.   Tali espressioni non possono essere modificate nella finestra di dialogo, ma devono essere modificate nel pannello di origine del Designer CSS.

2.3 Il codice client dei servizi generati per JSF non funziona in portlet Faces JSR 168

Per un portlet Faces JSR168, se viene utilizzato uno degli strumenti di seguito riportati per generare un client di servizi in un JSP faces, il codice della pagina generata non funzionerà correttamente né in WebSphere Portal 6.0 né in WebSphere Portal 5.1. Tali strumenti comprendono:

Ciò è causato dalla nuova implementazione del runtime del portlet Faces JSR168 contenuto in jsf-portletbridge.jar, diversa dalla precedente.

Nella nuova implementazione i bean pagecode per JSP Faces, quando dichiarati come bean gestiti in ambito richiesta, non sono persistenti tra la fase di azione e la fase di rendering del portlet. Nel codice client servizi Web generato, il bean pagecode viene utilizzato per memorizzare nella cache il risultato del servizio Web durante la fase di azione. Dal momento che si trova nell'ambito di richiesta, però, durante la fase di rendering viene creata una nuova istanza. Il risultato memorizzato nella cache, quindi, viene perso.

Esistono due possibili soluzioni:

  1. Collocare il bean in ambito di sessione (configurato in faces-config.xml). Ciò consiste semplicemente nella modifica di è una riga nel file di configurazione.
  2. Ciò non è semplice come il n. 1, ma è la maniera migliore per implementare client di servizi in portlet JSR168. Segue le procedure ottimali della programmazione di portlet JSR168 e consente un pulsante Indietro molto migliore e il supporto di segnalibri.
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 Messaggio di file incoerenti durante l'importazione di un progetto di portale

Nell'importazione di un progetto di portale può essere visualizzata una casella di messaggio con una domanda del tipo: "I seguenti file dello spazio di lavoro non sono coerenti con l'editor. Aggiornare l'editor con il contenuto dello spazio di lavoro". Fare clic su Sì.  

2.5 Impossibile eseguire un portlet JSR 168 che non contiene id applicazioni portlet, o un progetto di portale contenente tale portlet.

L'id applicazione portlet è opzionale, in base alla specifica JSR 168, ma Rational® Developer non pubblica portlet correttamente senza id. Rational Developer non genera portlet senza tali id. Se viene importato un portlet da un'altra origine, è possibile che venga creato un portlet. Per risolvere temporaneamente tale problema, aprire il descrittore di distribuzione del portlet per il progetto e aggiungere un id applicazione portlet nella scheda origine. Ad esempio:
<portlet-app xmlns=... version=... xmlns:xsi=... xsi:schemaLocation=... id="ENTER_YOUR_ID_HERE">
...
</portlet-app>

2.6 Lo stato del server WebSphere Portal 6.0 viene rilevato Arrestato anche se il server è ancora in esecuzione

Se lo stato del server viene rilevato Arrestato con il server ancora in esecuzione, accertarsi innanzitutto che le porte del connettore SOAP/RMI siano corrette e che le credenziali di protezione di WebSphere utilizzate siano corrette nell'editor del server. In caso di valori non corretti, lo stato del server non verrà mai rilevato Avviato. Se i valori sono corretti e lo stato del server rimane Arrestato, potrebbe trattarsi di un problema di coesistenza tra WebSphere Application Server v6.1 e WebSphere Portal v6.0.

Lo scenario più comune è aver installato un server WebSphere Application Server 6.1 sulla macchina locale e cominciare con un nuovo spazio di lavoro. In questo nuov spaziodi lavoro verrà creata e inizializzata automaticamente un'istanza del server WebSphere Application Server 6.1, e ciò impedirà il corretto funzionamento del rilevamento dello stato di Portal 6.0. Ciò può verificarsi anche solo avviando un server WebSphere Application Server v6.1 e quindi un server Portal 6.0.

La soluzione è riavviare il prodotto Rational con lo stesso spazio di lavoro. L'istanza del server Portal 6.0 dovrebbe funzionare correttamente a condizione che il server WebSphere Application Server 6.1 non venga inizializzato, cioè che lo stato rimanga indefinito e non Arrestato né Avviato.

2.7 Dopo l'esecuzione o la distribuzione del progetto my portal in Portal 6.0, i portlet non vengono visualizzati nelle pagine

Dopo l'esecuzione o la distribuzione del progetto my portal in Portal 6.0, i portlet non vengono visualizzati nelle pagine. Per minimizzare l'effetto di questo problema, utlizzare la distribuzione della sola configurazione ogni qualvolta non è necessaria la distribuzione completa.

Se si verifica il problema, tentare l'esecuzione di una distribuzione della sola configurazione del progetto del portale, senza distribuire alcun portlet. Ciò generalmente consente al portale di effettuare nuovamente il rendering corretto dei portlet.

2.8 Nella creazione di un messaggio di processo aziendale con un WSDL con stile Document-Literal, i nomi dei messaggi non vengono visualizzati nella procedura guidata.

Se viene creato un nuovo messaggio di processo aziendale e il file WSDL è in stile Document-Literal, i nomi dei messaggi di input e di output non verranno visualizzati nella seconda pagina della procedura guidata. Sarà ancora possibile selezionarli e visualizzare i dettagli dei messaggi nella parte destra della procedura guidata. Anche se i nomi dei messaggi non vengono visualizzati nella procedura guidata, il codice generato sarà corretto. 

2.9 Il parametro di azione predefinito della procedura guidata Cooperativa può non essere corretto se il progetto di portlet JSR 168 contiene portlet di tipi differenti.

Se viene utilizzata la procedura guidata cooperativa per creare portlet di origine o di destinazione e il progetto di portlet JSR 168 contiene più tipi di portlet, ad esempio un portlet di base e un portlet struts, il parametro di azione predefinito nella procedura guidata potrebbe non essere corretto.

In portlet di base e faces, il parametro di azione predefinito dovrebbe essere ACTION_NAME_PARAM, ma l'utente può selezionare un valore differente.
In struts, il parametro di azione deve essere spf_strutsAction.

2.10 Il contenitore pagine di attività non funziona quando viene modificato il valore predefinito del nome unico

I seguenti sono i valori predefiniti del nome unico nei contenitori pagine di attività: 
 WebSphere Portal v6.0:   ibm.portal.MyTasks
 WebSphere Portal v5.1:   wps.MyTasks

In Portal Designer, quando viene utilizzata un'altra pagina con nome unico diverso da quelli sopra elencati,  in WebSphere Portal, dopo la distribuzione, la pagina non viene riconosciuta come pagina del contenitore pagine di attività. 

Soluzione temporanea:  Dopo la distribuzione,  modificare il valore del parametro TaskPageContainerUniqueName nel portlet My Tasks seguendo le fasi successivamente riportate:
 1.  Aprire Amministrazione > Gestione portlet > Portlet
 2.  Per il portlet My Tasks  fare clic sul pulsante Configura portlet
 3.  Per il parametro TaskPageContainerUniqueName fare clic su Modifica
 4.  Modificare il valore per il nuovo nome unico in Portal Designer utilizzando tali valori:

  WebSphere Portal v6.0:   ibm.portal.MyTasks
  WebSphere Portal v5.1:   wps.MyTasks
 5.  Fare clic su OK. 

2.11 Determinati progetti Portal migrati da Rational Developer 6.x possono causare una NoModuleFileException durante la distribuzione

Se un progetto di portale è stato migrato da uno spazio di lavoro Rational Developer 6.x  a uno spazio di lavoro Rational Developer 7.0, la distribuzione potrebbe avere esito negativo con una NoModuleFileException.  Se ciò si verifica, seguire la procedura di seguito riportata per correggere il problema.

      <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 Impostazione modalità classloader PARENT_LAST per portlet Faces

A causa di una versione superata di jsf-ibm.jar fornita in WebSphere Portal 6.0, se la modalità classloader è impostata su PARENT_FIRST nel modulo Web del portlet, nei portlet non viene effettuato il rendering in maniera corretta di alcuni componenti JSF.  Ciò si verifica poiché in WebSphere Portal 6.0, se la modalità classloader è impostata su PARENT_FIRST, verrà utilizzato jsf-ibm.jar e non la copia contenuta nel modulo Web del portlet.

Il problema riguarda solo i componenti in jsf-ibm.jar, che corrispondono all'uri http://www.ibm.com/jsf/html_extended.  Ciò ha effetto sia su portlet IBM Faces che su portlet JSR168 Faces.

Nelle situazioni di seguito riportate, la modalità classloader del modulo Web del portlet verrà impostata su PARENT_FIRST, per cui sarà necessario modificarla:

Per risolvere temporaneamente il problema, aprire il file application.xml nel progetto EAR contenente il progetto del portlet e quindi aprire la scheda "Distribuzione".  Nella sezione "Applicazione" individuare la struttura che visualizza l'EAR e il progetto del portlet.  Selezionare il progetto del portlet e modificare la "Modalità classloader" da "PARENT_FIRST" a "PARENT_LAST".  Per applicare la modifica sul server di destinazione, potrebbe essere necessario pubblicare nuovamente l'applicazione.
Se il portlet viene installato direttamente in WebSphere Portal utilizzando WAR, nella pagina di amministrazione di WebSphere Portal o utilizzando il comando xmlAccess, la modalità classloader risulta già impostata su PARENT_LAST.  In questo caso il portlet funzionerà correttamente anche senza alcun intervento.

2.13 L'esecuzione nell'ambiente di test di WebSphere Portal v5.1 può avere esito negativo con progetti di portali creati utilizzando Rational Developer 6.x

Quando un progetto di portale 5.1.0.1 creato utilizzando Rational Developer 6.x viene importato con Scambio progetti in uno spazio di lavoro Rational Developer 7.0, "Esegui nell'ambiente di test di WebSphere Portal v5.1" potrebbe avere esito negativo.

Soluzione temporanea: modificare il contenuto del file .portalsettings seguendo le fasi successivamente riportate:
 1. Aprire Finestra > Apri prospettiva > Altro... .
 2. Selezionare Risorsa e fare clic su OK nella finestra di dialogo Apri prospettiva.
 3. Espandere il progetto del portale nella vista Navigator.
 4. Selezionare il file .portalsettings e aprirlo con l'editor di testo.
 5. Inserire quanto segue.
    <?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 Gli esempi di portali e portlet nella Galleria degli esempi e nella procedura guidata Importare portale vengono filtrati per Funzioni

La funzione "Web Developer (avanzata) deve essere attivata per visualizzare la procedura Importare portale e gli esempi di portali e portlet (dalla Galleria degli esempi).  Per abilitare la funzione passare a Guida > Benvenuto, e in Benvenuto fare clic sul pulsante "Abilita ruoli" che si trova nell'angolo dello schermo.  Selezionare, quindi, il ruolo "Web Developer (avanzato)" per attivarlo.  Riavviare la procedura guidata o la Galleria degli esempi per applicare le modifiche.