Bonjour,
est-il possible de supprimer le blob document.content pour un document dans une instance de processus en cours ? Il s’agit typiquement de purger les fichiers en fin de processus afin d’éviter de stocker des Go en bdd.
j’ai essayé deleteContentOfArchivedDocument(document.id) mais l’id n’est pas reconnu. Il semblerait que ce soit plutôt document_mapping.documentid mais comment le récupérer ?
Je viens de créer un exemple qui permet de supprimer le contenu du BLOB en base de données via appels aux API.
L’exemple est disponible sur GitHub avec le .bos dans la section releases.
Par rapport à votre solution j’ai simplement ajouté l’appel à removeDocument qui permet d’archiver la référence avant de faire appel à deleteContentOfArchivedDocument.
j'ai cependant cette exception au run (bonita 7.6.3 souscription efficiency)
Caused by: org.bonitasoft.engine.connector.exception.SConnectorException: java.util.concurrent.ExecutionException: org.bonitasoft.engine.connector.exception.SConnectorException: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl.execute(ConnectorExecutorImpl.java:125)
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.executeConnectorInClassloader(ConnectorServiceImpl.java:279)
... 12 more
Caused by: java.util.concurrent.ExecutionException: org.bonitasoft.engine.connector.exception.SConnectorException: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at com.bonitasoft.engine.connector.impl.ConnectorExecutorTimedOut.getValue(ConnectorExecutorTimedOut.java:54)
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl.execute(ConnectorExecutorImpl.java:122)
... 13 more
Caused by: org.bonitasoft.engine.connector.exception.SConnectorException: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.bonitasoft.engine.core.connector.impl.SConnectorAdapter.execute(SConnectorAdapter.java:75)
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:206)
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:176)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 more
Caused by: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.bonitasoft.connectors.scripting.GroovyScriptConnector.executeBusinessLogic(GroovyScriptConnector.java:51)
at org.bonitasoft.engine.connector.AbstractConnector.execute(AbstractConnector.java:77)
at org.bonitasoft.engine.core.connector.impl.SConnectorAdapter.execute(SConnectorAdapter.java:73)
... 6 more
Caused by: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)
at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:66)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296)
at Script1.run(Script1.groovy:13)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:591)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:629)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:600)
at org.bonitasoft.connectors.scripting.GroovyScriptConnector.executeBusinessLogic(GroovyScriptConnector.java:48)
... 8 more
Pourtant la classe de mon document un bien org.bonitasoft.engine.bpm.document.Document
Est ce que le document déclarer dans votre processus est bien nommé "myDocument" comme dans mon exemple ? Ou est ce que vous avez bien pris soin d'adapter le nom dans le script Groovy au nom dans votre définition de processus ? L'erreur semble indiquer que la variable utilisé sur la neuvième ligne du script est de type "String".
Est ce qu'il vous est possible de partager votre projet en l'exportant sous forme de fichier .bos et de l'uploader sur Google Drive, dropbox,... ?
Bonitasoft empowers development teams with Bonita, the open-source and extensible platform to solve the most demanding process automation use cases. The Bonita platform accelerates delivery of complex applications with clear separation between capabilities for visual programming and for coding. Bonita integrates with existing solutions, orchestrates heterogeneous systems, and provides deep visibility into processes across the organization.