Foros de discusión

Controllo titoli Articoli univoci

tommaso fazio, modificado hace 6 años.

Controllo titoli Articoli univoci

New Member Mensajes: 9 Fecha de incorporación: 29/05/17 Mensajes recientes
Buongiorno a tutti,
premetto che sviluppo su Liferay da poco tempo, la mia conoscenza della piattaforma è basilare, pertanto volevo qualche suggerimento su come implementare un controllo sui titoli nel momento in cui è Pubblicato/Salvato come bozza un nuovo articolo (Journal Article),
nel dettaglio:

"Nel momento in cui un utente vuole pubblicare/salvare un nuovo articolo bisogna accertare che il titolo specificato sia univoco, in caso contrario dovrebbe essere visualizzato un messaggio di errore. Fondamentale è che le informazioni inserite dall'utente, in caso di titolo duplicato, non siano perse (per esempio a causa di un refresh della pagina)."

Vi ringrazio anticipatamente per il supporto.


P.S.

Noto che per quanto riguarda la gestione degli allegati (Documents and Media) il controllo suddetto è già implementato, la logica di base relativa agli allegati sarebbe l'ideale se replicata anche nel mio caso.

Archivos adjuntos:

thumbnail
Daniele Baggio, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

Expert Mensajes: 336 Fecha de incorporación: 5/12/08 Mensajes recientes
E' importante sapere su quale versione di Liferay stai lavorando...
tommaso fazio, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

New Member Mensajes: 9 Fecha de incorporación: 29/05/17 Mensajes recientes
Hai ragione, l'avevo dimenticato, la versione di Liferay utilizzata è la 6.2
thumbnail
Daniele Baggio, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

Expert Mensajes: 336 Fecha de incorporación: 5/12/08 Mensajes recientes
Scusa, sarò telegrafico, spero comunque di darti una traccia utile.

Crea un progetto di tipo HOOK.
https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/customizing-liferay-portal

Crea un model listener per l'entità JournalArticle
https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/creating-model-listeners

Nella classe listener vai di override dei metodi onBeforeCreate, onBeforeUpdate. I questi metodi verifica il titolo e se non è conforme alle tue regole puoi sollevare una PortalException. Il resto viene gestito dal portale.

Facci sapere
@baxtheman
tommaso fazio, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

New Member Mensajes: 9 Fecha de incorporación: 29/05/17 Mensajes recientes
Ciao e grazie per la risposta,
tuttavia devo notificarti che il problema persiste, nello specifico la soluzione da te proposta l'avevo già implementata ed il problema è il seguente:

"Se sollevo un'eccezione di tipo PortalException devo necessariamente gestirla con del codice proprietario (ovvero non ho la possibilità di definire la classe in questo modo:

public class JournalArticleListener extends BaseModelListener<JournalArticle> throws PortalException {...}

bensì l'eccezione sollevata deve essere gestita da una catch definita all'interno della classe stessa.
In alternativa ho la possibilità di sollevare un'eccezione di tipo ModelListenerException, la quale non necessita di essere gestita manualmente, tuttavia effettuando dei test nel momento in cui inserisco un articolo con titolo duplicato, viene correttamente sollevata l'eccezione, ma non è gestista causando un crash del server con il relativo messaggio visualizzato lato client:

service temporarily unavailable

)"
thumbnail
Daniele Baggio, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

Expert Mensajes: 336 Fecha de incorporación: 5/12/08 Mensajes recientes
Va bene usare ModelListenerException , non puoi far passare una PortalException, ho detto male io su questo.

Ma quindi hai risolto?
tommaso fazio, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

New Member Mensajes: 9 Fecha de incorporación: 29/05/17 Mensajes recientes
No no il problema non è risolto perchè una volta sollevata l'eccezione non so come gestirla,
esiste un modo per far visualizzare un messaggio di errore lato client nel momento in cui l'eccezione è sollevata senza causare il refresh della pagina?
Allo stato attuale l'eccezione è sollevata ma non è gestita pertanto comporta un crash del server.
tommaso fazio, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

New Member Mensajes: 9 Fecha de incorporación: 29/05/17 Mensajes recientes
nessuno può aiutarmi?
thumbnail
Marco Azzalini, modificado hace 6 años.

RE: Controllo titoli Articoli univoci

Regular Member Mensajes: 146 Fecha de incorporación: 18/11/14 Mensajes recientes
tommaso fazio:
nessuno può aiutarmi?


Ciao Tommaso, io ti suggerirei di provare ad andare un pochino più a basso livello. Mi spiego, invece che utilizzare i Listener che sono un pochino troppo slegati, secondo me, dalle logiche del portale, dovresti realizzare un Service Wrapper di JournalArticleLocalService. La procedura per definirlo è molto simile a quella per un Listener
Ho dato una rapida occhiata ai metodi e direi che puoi fare più o meno tutto.... vai in override su quello che ti serve e sei quindi libero di sollevare le opportune eccezioni che verranno correttamente visualizzate lato client.
Spero di aver capito il tuo problema.

ciao
Marco