Strumenti del portale e portlet

© 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 la IBM® Corp.

Note sul rilascio

1.0 Limitazioni
   1.1 Messaggi di avvertenza di collegamenti interrotti vengono visualizzati nella vista Problemi
   1.2 Supporto per markup in Portal Designer
   1.3 La tavolozza colori non viene utilizzata correttamente
2.0 Problemi noti e soluzioni temporanee
   2.1 Sincronizzazione manuale richiesta per la versione del server del runtime di destinazione e del portale della procedura guidata Nuovo progetto di portale
   2.2 Modifica dei file JSP del tipo di contenuto CSS sulla finestra di dialogo Stili
   2.3 Il codice client dei servizi generati per JSF non funziona in portlet JSR 168 Faces
   2.4 Messaggio relativo a file incoerente durante l'importazione di un progetto del portale
   2.5 Impossibile eseguire un portlet JSR 168 che non dispone di un id app portlet o un progetto del portale che contiene tale portlet.
   2.6 Lo stato del server WebSphere Portal 6.0 viene rilevato come Arrestato anche se il server è in esecuzione
   2.7 I portlet non vengono visualizzati nelle pagine dopo l'esecuzione o la distribuzione del progetto My portal in Portal 6.0
   2.8 Durante la creazione di un messaggio del processo business con stile Document-Literal WSDL, i nomi messaggio non vengono mostrati nella procedura guidata.
   2.9 È possibile che il parametro di azione predefinito della procedura guidata cooperativa sia errato se il progetto portlet JSR 168 contiene portlet di tipi diversi.
   2.10 Il contenitore della pagina Attività non funziona quando si modifica il valore predefinito del nome univoco
   2.11 Determinati progetti Portal migrati da Rational Developer 6.x potrebbero causare una NoModuleFileException durante la distribuzione
   2.12 Impostazione della modalità del programma di caricamento classi PARENT_LAST per portlet Faces
   2.13 L'esecuzione in un ambiente di test di WebSphere Portal v5.1 potrebbe avere esito negativo con i progetti del portale creati utilizzando Rational Developer 6.x
   2.14 Esempi di Portal e di portlet nella galleria di esempi e nella procedura guidata di importazione Portal vengono filtrati in base alle funzioni

41.0 Limitazioni

1.1 Messaggi di avvertenza di collegamenti interrotti vengono visualizzati nella vista Problemi

Durante l'importazione di un progetto Portale di esempio oppure durante la creazione di progetto portale mediante l'utilizzo della procedura guidata "Nuovo progetto di portale" dalla Galleria di esempi,viene visualizzato un  messaggio di avvertenza relativi ad un collegamento interrotto  nella vista Problemi.

1.2 Supporto per markup in Portal Designer

In questa versione di Rational® Developer, Portal Designer supporta solo i pannelli in HTML, cHTML e WML.  Se sono state specificati altri linguaggi di markup supportati  per una pagina o un etichetta in un progetto importato, tali linguaggi  di markup sono  supportati per la visualizzazione   da parte di Rational Developer ma non possono essere modificati. Tali linguaggi di markup  non verranno visualizzati nella vista Proprietà.

1.3 La tavolozza colori non viene utilizzata correttamente

A meno che non si assegni una tavolozza colori a una pagina, viene utilizzata la tavolozza colori della pagina predefinita in WebSphere® Portal 6. Tuttavia, in Portal Designer, quando non viene specificata la tavolozza colori, viene utilizzata la tavolozza colori della pagina antenato al posto della tavolozza colori predefinita.

2.0 Problemi noti e soluzioni temporanee

2.1Sincronizzazione manuale richiesta per la versione del server del runtime di destinazione e del portale della procedura guidata Nuovo progetto di portale

Nella procedura guidata Nuovo progetto portale, la selezione di una versione del server del portale non aggiorna automaticamente il runtime di destinazione.  Occorre sincronizzare manualmente le impostazioni del runtime di destinazione e la versione del server del portale.  Ad esempio, è necessario selezionare il runtime di WebSphere Portal v6.0  per una versione del server del portale 6.0.0.x e il runtime WebSphere Portal v5.1 per  una versione del server del portale 5.1.0.x. Se la versione di runtime di destinazione non è sincronizzata con la versione del portale, è possibile che il server del portale si danneggi o diventi inutilizzabile durante la distribuzione del progetto del portale.

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

In WebSphere Portal v6.0, durante la modifica dei file JSP del tipo di contenuto CSS, quali styles.jsp o styles_theme.jspf,  con la finestra di dialogo Stili, potrebbero essere visualizzate le espressioni JSP sulla finestra di dialogo.  Tali espressioni JSP non possono essere modificate sulla 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 JSR 168 Faces

Per un portlet JSR168 Faces, se si utilizzano i seguenti strumenti per generare un client dei servizi in un JSP Faces, il codice di pagina generato non funzionerà correttamente su WebSphere Portal 6.0 o 5.1. Gli strumenti interessati includono:

Tale situazione è causata dalla nuova implementazione del runtime del portlet JSR168 Faces contenuto nel file jsf-portletbridge.jar, differente rispetto a prima.

Nella nuova implementazione, i bean pagecode per JSP Faces, quando vengono dichiarati come bean gestiti nell'ambito di richieste, non permangono tra la fase di rendering e la fase di azione del portlet. Nel codice client dei servizi Web generati, il bean pagecode viene utilizzato per memorizzare nella cache il risultato del servizio Web durante la fase di azione. Ma, poiché si trova nell'ambito della richiesta, viene creata una nuova istanza durante la fase di rendering. Di conseguenza, il risultato memorizzato nella cache andrà perso.

Esistono due possibili soluzioni:

  1. Inserire il bean nell'ambito della sessione (configurato nel file faces-config.xml). Tale operazione è semplice come la modifica di una riga nel file config.
  2. Non è semplice come l'esempio 1, ma è consigliabile per l'implementazione del client di servizi nei portlet JSR168. Segue le procedure ottimali della programmazione di portlet JSR168 e consente un migliore supporto del pulsante Indietro e dell'utilizzo 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 relativo a file incoerente durante l'importazione di un progetto del portale

Durante l'importazione di un progetto del portale, è possibile che venga visualizzata una casella del messaggio di richiesta: "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 dispone di un id app portlet o un progetto del portale che contiene tale portlet.

L'id app portlet è facoltativo in base alla specifica JSR 168, ma Rational® Developer non pubblica i portlet senza id in modo corretto. Rational Developer non genera portlet senza tali id. È possibile che un portlet venga creato se si importa un portlet da un'altra origine. Per ovviare a questo problema, aprire il descrittore di distribuzione portlet per il progetto e aggiungere un id applicazione portlet nella scheda di 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 come Arrestato anche se il server è in esecuzione

Se lo stato del server viene rilevato come Arrestato quando il server è in esecuzione, verificare innanzitutto che le porte del connettore SOAP/RMI siano corrette e che le credenziali di protezione WebSphere utilizzate siano appropriate nell'editor del server. In caso contrario, lo stato del server non verrà mai rilevato come Avviato. Se le credenziali sono corrette e lo stato del server rimane Arrestato, è possibile che vi sia un problema dovuto alla coesistenza di WebSphere Application Server v6.1 e WebSphere Portal v6.0.

Lo scenario più comune prevede il server WebSphere Application Server 6.1 installato sulla macchina locale e avviato con un nuovo spazio di lavoro. In tale spazio di lavoro, un'istanza di WebSphere Application Server 6.1 verrà creata e inizializzata automaticamente e ciò impedirà il corretto funzionamento della rilevazione dello stato di Portal 6.0. È inoltre possibile che ciò si verifichi se si crea WebSphere Application Server v6.1 e quindi si crea 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 quindi funzionare correttamente finché non viene inizializzato WebSphere Application Server 6.1, ossia lo stato di tale server rimane vuoto anziché Arrestato o Avviato.

2.7 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 dopo l'esecuzione o la distribuzione del progetto My portal in Portal 6.0. Per ridurre al minimo l'effetto di tale problema, utilizzare la distribuzione di sola configurazione quando la distribuzione completa non è necessaria.

Se si individua un problema, eseguire una distribuzione di sola configurazione del progetto del portale, senza distribuire alcun portlet. Ciò generalmente consente al portale di eseguire di nuovo il rendering dei portlet correttamente.

2.8 Durante la creazione di un messaggio del processo business con stile Document-Literal WSDL, i nomi messaggio non vengono mostrati nella procedura guidata.

Se si sta creando un messaggio del processo business e il file WSDL è nello stile Document-Literal, è possibile che i nomi dei messaggi di input e di output non vengano visualizzati nella seconda pagina della procedura guidata. È comunque possibile selezionarli e visualizzare i dettagli del messaggio nel lato destro della procedura guidata. Il codice generato verrà corretto nonostante i nomi messaggio non vengano visualizzati nella procedura guidata.  

2.9 È possibile che il parametro di azione predefinito della procedura guidata cooperativa sia errato se il progetto portlet JSR 168 contiene portlet di tipi diversi.

Se si utilizza la procedura guidata collaborativa per creare portlet di origine e di destinazione e il progetto portlet JSR 168 contiene più tipi di portlet, ad esempio uno di base e uno struts, è possibile che il parametro di azione predefinito nella procedura guidata non sia corretto.

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

2.10 Il contenitore della pagina Attività non funziona quando si modifica il valore predefinito del nome univoco

Questi sono i valori predefiniti per il nome univoco nei contenitori della pagina di attività 
 WebSphere Portal v6.0:   ibm.portal.MyTasks
 WebSphere Portal v5.1:   wps.MyTasks

In Portal Designer, quando si utilizza un'altra pagina con un nome univoco diverso rispetto a quelli elencati in precedenza,  la pagina non viene riconosciuta come pagina del contenitore della pagina attività in WebSphere Portal dopo la distribuzione. 

Soluzione temporanea:  dopo la distribuzione,  modificare il valore del parametro TaskPageContainerUniqueName nel portlet My Tasks utilizzando la seguente procedura:
 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 nel nuovo nome univoco in Portal Designer utilizzando i seguenti 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 potrebbero causare una NoModuleFileException durante la distribuzione

Se un progetto del portale viene migrato da Rational Developer 6.x  nello spazio di lavoro Rational Developer 7.0, potrebbero verificarsi errori di distribuzione con una NoModuleFileException.  In tal caso, seguire la procedura riportata in basso per risolvere 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 della modalità del programma di caricamento classi PARENT_LAST per portlet Faces

A causa di una versione non aggiornata del file jsf-ibm.jar fornito in WebSphere Portal 6.0, alcuni componenti JSF non eseguono il rendering corretto nei portlet se la modalità del programma di caricamento classi è impostata su PARENT_FIRST nel modulo Web del portlet.  Ciò avviene perché quando la suddetta modalità è impostata su PARENT_FIRST, il file jsf-ibm.jar in WebSphere Portal 6.0 verrà utilizzato al posto della copia contenuta nel modulo Web del portlet.

Solo i componenti presenti nel file jsf-ibm.jar, che corrispondono all'URI http://www.ibm.com/jsf/html_extended, vengono interessati.  Entrambi i portlet Faces IBM e Faces JSR168 vengono influenzati.

La modalità del programma di caricamento classi del modulo Web del portlet verrà impostata su PARENT_FIRST nelle seguenti situazioni e di conseguenza potrebbe essere necessario modificarla:

Per ovviare a questo 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 ad albero che visualizza l'EAR e il progetto portlet.  Selezionare il progetto portlet e modificare la "modalità del programma di caricamento classi" da "PARENT_FIRST" a "PARENT_LAST".  Potrebbe essere necessario pubblicare l'applicazione nuovamente per rendere effettiva la modifica sul server di destinazione.
Se il portlet è installato direttamente in WebSphere Portal utilizzando il WAR, nella pagina di gestione di WebSphere Portal o utilizzando il comando xmlAccess, la modalità del programma di caricamento classi è già impostata su PARENT_LAST.  In questo caso, il portlet funzionerà correttamente senza soluzioni alternative.

2.13 L'esecuzione in un ambiente di test di WebSphere Portal v5.1 potrebbe avere esito negativo con i progetti del portale creati utilizzando Rational Developer 6.x

Quando un progetto del portale 5.1.0.1 creato utilizzando Rational Developer 6.x viene importato con Project Interchange in uno spazio di lavoro Rational Developer 7.0, è possibile che l'"esecuzione in un ambiente di test WebSphere Portal v5.1" abbia esito negativo.

Soluzione temporanea: modificare il contenuto del file .portalsettings utilizzando la seguente procedura:
 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 un 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 Esempi di Portal e di portlet nella galleria di esempi e nella procedura guidata di importazione Portal vengono filtrati in base alle funzioni

Occorre attivare la funzione "Web Developer (avanzata) per visualizzare la procedura guidata di importazione portale e il portale e i relativi esempi nella galleria di esempi.  Per abilitare la funzione, andare in Guida > Benvenuti, fare clic sul pulsante "Abilita ruoli" che si trova nell'angolo della schermata.   Quindi selezionare il ruolo "Web Developer (avanzato)" per attivarlo.  Riavviare la procedura guidata o la galleria di esempi per rendere effettive le modifiche.