Vérification quotidienne sur les métadonnées d'un document

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

Vérification quotidienne sur les métadonnées d'un document

Bonjour,

je voudrais faire en sorte qu'une vérification sur les métadonnées d'un document soit effectuée tous les jours.
Ainsi le but serait d'avoir un document avec une métadonnée Date et que chaque jour une vérification soit faite pour savoir si la Date est dans un intervalle de temps donné. Ceci pour avertir que la Date arrive bientôt !

Cela est-il possible est si oui quelle est la façon la plus simple de le mettre en œuvre ?
J'ai regardé du côté des règles mais je n'arrive pas à trouver une règle qui s'applique tous les jours !

Et serait-il possible d'avertir la personne par mail de manière à ce qu'elle soit avertie même si elle ne se connecte pas sous Alfresco ?

Merci d'avance.
28 Replies
rguinot
Customer

Re: Vérification quotidienne sur les métadonnées d'un document

voir ici : http://wiki.alfresco.com/wiki/Scheduled_Actions
l'exemple de script déclenché par cron.

je pense que ce mécanisme s'approche de ce que vous souhaitez, même si la demande n'est pas très claire.
voir également le fichier scheduled-jobs-context.xml pour d'autres exemples de jobs déclenchés par cron
jayjayecl
Active Member II

Re: Vérification quotidienne sur les métadonnées d'un document

Bonjour, pour la question sur les notifications par email, vous pouvez faire une recherche sur le forum "notification email", la question a été abondamment traitée.
Il existe également des exemples d'envoi d'email dans certains workflows d'Alfresco, notamment le mécanisme d'invitation à rejoindre un site collaboratif.
Enfin, la configuration est décrite ici :
http://wiki.alfresco.com/wiki/Outbound_E-mail_Configuration
jgautier
Member II

Re: Vérification quotidienne sur les métadonnées d'un document

Merci à vous deux, je jette un œil !
jgautier
Member II

Re: Vérification quotidienne sur les métadonnées d'un document

Bon j'ai regardé et à vrai dire je ne comprends pas trop le système.

Je me demande si c'est possible de checker mes métadonnées toutes les X minutes avec les scheduled actions et ensuite de faire appel à un script javascript pour envoyer un mail …
jayjayecl
Active Member II

Re: Vérification quotidienne sur les métadonnées d'un document

Oui c'est possible.
Que ne comprenez-vous pas ?
jgautier
Member II

Re: Vérification quotidienne sur les métadonnées d'un document

J'ai recherché sur le net et apparemment envoyer un mail via javascript ce n'est pas possible …
jgautier
Member II

Re: Vérification quotidienne sur les métadonnées d'un document

J'ai repris cet exemple : http://forums.alfresco.com/fr/viewtopic.php?f=25&t=2846

J'ai donc mon scheduled-action-services-context.xml :

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
   
    <!–
    Define the model factory used to generate object models suitable for use with freemarker templates.
    –>
    <bean id="templateActionModelFactory" class="org.alfresco.repo.action.scheduled.FreeMarkerWithLuceneExtensionsModelFactory">
        <property name="serviceRegistry">
            <ref bean="ServiceRegistry"/>
        </property>
    </bean>
   
         <!–
        Execute the script /Company Home/Record Management/testscript.js
        –>
        <bean id="runScriptAction" class="org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition">
            <property name="actionName">
                <value>script</value>
            </property>
            <property name="parameterTemplates">
                <map>
                    <entry>
                        <key>
                            <value>script-ref</value>
                        </key>
                        <value>${selectSingleNode('workspace://SpacesStore', 'lucene', 'PATH:"/app:company_home/app:dictionary/cm:testscript.js"' )}</value>
                    </entry>
                </map>
            </property>
            <property name="templateActionModelFactory">
                <ref bean="templateActionModelFactory"/>
            </property>
            <property name="dictionaryService">
                <ref bean="DictionaryService"/>
            </property>
            <property name="actionService">
                <ref bean="ActionService"/>
            </property>
            <property name="templateService">
                <ref bean="TemplateService"/>
            </property>
        </bean>
      
        <!–
       Run the script every minute - select the single node company home that is not used …
        –>
        <bean id="runScript" class="org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition">
            <property name="transactionMode">
                <value>UNTIL_FIRST_FAILURE</value>
            </property>
            <property name="compensatingActionMode">
                <value>IGNORE</value>
            </property>
            <property name="searchService">
                <ref bean="SearchService"/>
            </property>
            <property name="templateService">
                <ref bean="TemplateService"/>
            </property>
            <property name="queryLanguage">
                <value>lucene</value>
            </property>
            <property name="stores">
                <list>
                    <value>workspace://SpacesStore</value>
                </list>
            </property>
            <property name="queryTemplate">
                <value>PATH:"/app:company_home"</value>
            </property>
            <property name="cronExpression">
                <value>0 0/1 * * * ?</value>
            </property>
            <property name="jobName">
                <value>jobD</value>
            </property>
            <property name="jobGroup">
                <value>jobGroup</value>
            </property>
            <property name="triggerName">
                <value>triggerD</value>
            </property>
            <property name="triggerGroup">
                <value>triggerGroup</value>
            </property>
            <property name="scheduler">
                <ref bean="schedulerFactory"/>
            </property>
            <property name="actionService">
                <ref bean="ActionService"/>
            </property>
            <property name="templateActionModelFactory">
                <ref bean="templateActionModelFactory"/>
            </property>
            <property name="templateActionDefinition">
                <ref bean="runScriptAction"/> <!– This is name of the action (bean) that gets run –>
            </property>
            <property name="transactionService">
                <ref bean="TransactionService"/>
            </property>
            <property name="runAsUser">
                <value>System</value>
            </property>
        </bean>
</beans>

J'ai bien mon script dans "Dictionnaires de données".

Mais en regardant le log j'ai l'erreur suivante :


ERROR [quartz.core.ErrorLogger] Job (jobGroup.jobD threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.alfresco.error.AlfrescoRuntimeException: 02170014 Invalid store ref: Does not contain ://   //SpacesStore', 'lucene', 'PATH:"/app:company_home/app:dictionary]
   at org.quartz.core.JobRunShell.run(JobRunShell.java:227)
   at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: org.alfresco.error.AlfrescoRuntimeException: 02170014 Invalid store ref: Does not contain ://   //SpacesStore', 'lucene', 'PATH:"/app:company_home/app:dictionary

Une idée ?
jgautier
Member II

Re: Vérification quotidienne sur les métadonnées d'un document

J'ai changé pour faire en sorte qu'un mail soit envoyé tous les jours si une condition est respectée. J'ai fait comme sur ce sujet : http://forums1.man.alfresco.com/en/viewtopic.php?f=9&t=6417&start=0

Cela à l'air en partie de fonctionner puisque j'ai l'erreur suivante :
Failed message 1: javax.mail.SendFailedException: Invalid Addresses;   nested exception is:    com.sun.mail.smtp.SMTPAddressFailedException: 550 must be authenticated

Savez-vous maintenant comment résoudre cette erreur ?
Et cela est-il possible de recevoir un mail si je suis sous Windows sans serveur de messagerie installer sur ma machine ?

Merci d'avance.
jgautier
Member II

Re: Vérification quotidienne sur les métadonnées d'un document

Je relance ce sujet car j'ai toujours la même erreur !

Une idée ?