Notificare l'arrivo di un nuovo documento

cancel
Showing results for 
Search instead for 
Did you mean: 
toxkras
Member II

Notificare l'arrivo di un nuovo documento

Ciao,
sto implementando un portale che utilizza Alfresco 4.2.f Community come repository per i documenti. Devo fare in modo che, quando in Alfresco viene caricato un nuovo documento per uno specifico utente o gruppo, venga inviata una notifica all'utente stesso o agli utenti di quel gruppo. Questa notifica non deve essere inviata per mail ma deve essere disponibile in una "Bacheca aggiornamenti" del portale nel momento in cui l'utente si logga nel portale. E' possibile fare qualcosa del genere? Stavo leggendo qualcosa a proposito di "Activiti", volevo sapere se sono sulla strada giusta e se avete suggerimenti…
Grazie!
6 Replies
openpj
Moderator
Moderator

Re: Notificare l'arrivo di un nuovo documento

Io andrei ad impostare una regola attiva sullo spazio in cui vengono creati i contenuti.
Ogni volta che viene creato un nuovo contenuto potresti eseguire una action di tipo "execute-script" che implementa la creazione del contenuto associato da visualizzare nella bacheca. Il nuovo contenuto andrà alberato sotto uno spazio separato magari che si chiama proprio "Bacheca".

Utilizzare Activiti per questo è overkill, basta usare il motore di regole di Alfresco.
toxkras
Member II

Re: Notificare l'arrivo di un nuovo documento

Ciao OpenPj, grazie per la tua risposta! Da Share ho visto che esiste la possibilità di definire delle regole tramite "Gestisci regola…" da configurare sulla cartella. Ho anche impostato una regola che permette l'invio di una mail quando nella cartella viene caricato un nuovo documento. La mail non l'ha inviata immagino perchè non ho configurato nulla riguardo al server di posta. Quello che volevo chiederti io è: è possibile poter configurare le regole senza dover intervenire manualmente? Su Alfresco non interverremo mai noi direttamente. Mi spiego: i documenti verranno importati in Alfresco da dei processi in ascolto ad esempio su un filesystem nel momento in cui tali documenti vengono generati. In questa fase dovranno essere generate le notifiche per la Bacheca. E' possibile tramite le regole? A me non interessa inviare la mail comunque ma gestire le notifiche: è possibile creare delle regole personalizzate? Queste notifiche conterranno il link al documento appena caricato.
Spero di essere stato chiaro! Grazie ;-)
openpj
Moderator
Moderator

Re: Notificare l'arrivo di un nuovo documento

<blockquote>E' possibile tramite le regole? A me non interessa inviare la mail comunque ma gestire le notifiche: è possibile creare delle regole personalizzate? Queste notifiche conterranno il link al documento appena caricato.</blockquote>

Si, è possibile utilizzando le regole, Alfresco ha un Actions Framework che permette di estendere e aggiungere delle custom action (in Java) che possono implementare qualsiasi tipo di azione da aggiungere ad una regola:

https://wiki.alfresco.com/wiki/Custom_Actions

Puoi anche definire i template delle email da mandare utilizzando FreeMarker, trovi i template delle email all'interno del repository Data Dictionary/Email Templates. Questi li puoi cambiare o aggiungere e quando definisci la action all'interno della regola puoi selezionare il template nuovo.

Inoltre Alfresco ha come servizio il RuleService che permette di definire e cambiare le regole in maniera programmatica senza la necessità di utilizzare l'interfaccia utente:

https://forums.alfresco.com/forum/developer-discussions/repository-services/creating-custom-rule-jav...

Spero ti aiuti!
toxkras
Member II

Re: Notificare l'arrivo di un nuovo documento

Grazie OpenPJ, sei stato gentilissimo e molto chiaro! Avrei un'ultima domanda da farti: poichè, appunto, non devo inviare delle mail ma devo presentare le notifiche in Bacheca all'utente sui nuovi documenti che lo riguardano quando si collega al sito sto valutando due diverse opzioni:
* salvare in una tabella del DB i campi: noderef del documento, stato del documento (letto/da leggere), nome_utente, tipo_documento. Quando l'utente si collega viene interrogata questa tabella per estrarre i doc con stato "da leggere", Per questi doc controllo la tipologia e mi carico un template specifico a seconda della tipologia. Compongo quindi la notifica e inserisco il link (il noderef) per permettere il download del doc e inserisco la notifica generata in bacheca
* salvare in Alfresco già direttamente la notifica e poi caricarla quando l'utente si collega

La seconda strada credo sia percorribile (giusto?) però andrei a raddoppiare il carico di documenti su Alfresco (una notifica per ogni doc). Volevo chiederti se Alfresco mi permette di seguire anche la prima strada.
Grazie!
openpj
Moderator
Moderator

Re: Notificare l'arrivo di un nuovo documento

Hai un repository e direi di usarlo pienamente.

La soluzione relativa all'utilizzo del db esplicito non va seguita assolutamente, ti perderesti tutti i vantaggi dell'uso di un repository: modellazione, ricerca avanzata e 1000 altre cose che il database non ti offre.

Quando usi uno strumento come questo puoi evitare di usare il database esplicitamente, ma puoi modellare i dati che ti servono andando a definire i nuovi tipi di contenuto utilizzando il Content Model. In questo modo potrai modellare i contenuti esattamente come è definito nel tuo dominio di interesse e continuando a lavorare con l'API di Alfresco invece che con SQL.

Trovi le informazioni sul content model quì:
https://wiki.alfresco.com/wiki/Data_Dictionary_Guide

L'idea è quindi quella di definire il tipo di contenuto per la bacheca che poi andrai a memorizzare sempre in Alfresco, ma in una diversa alberatura.
toxkras
Member II

Re: Notificare l'arrivo di un nuovo documento

Grazie mille Open, sei stato veramente utile!