AEM Forms JEE-workflows bieden tools voor het ontwerpen, maken en beheren van bedrijfsprocessen. Een workflowproces bestaat uit een reeks stappen die in een opgegeven volgorde worden uitgevoerd. Elke stap voert een specifieke actie uit zoals het toewijzen van een taak aan een gebruiker of het verzenden van een e-mailbericht. Een proces kan met activa, gebruikersrekeningen, en de diensten in wisselwerking staan, en kan worden teweeggebracht gebruikend om het even welke volgende methodes:
Zie Workbench Help voor meer informatie over het maken van het AEM Forms JEE-workflowproces.
Wanneer een proces wordt geactiveerd en tijdens het proces worden gegevens vastgelegd over de deelnemers aan het proces, gegevens die door deelnemers zijn ingevoerd in het formulier dat aan het proces is gekoppeld en bijlagen die aan het formulier zijn toegevoegd. De gegevens worden opgeslagen in de AEM Forms JEE-serverdatabase en als deze zijn geconfigureerd, worden sommige gegevens zoals bijlagen opgeslagen in de GDS-map (Global Document Storage). De GDS-map kan worden geconfigureerd op een gedeeld bestandssysteem of een database.
Wanneer een proces wordt geactiveerd, worden een unieke procesinstantie-id en een langlevende aanroepings-id gegenereerd en gekoppeld aan de procesinstantie. U kunt gegevens voor een procesinstantie openen en verwijderen op basis van de langlevende aanroepings-id. U kunt de langlevende aanroepingsID van een procesinstantie met de gebruikersnaam van de procesinitiatiefnemer of procesdeelnemers aftrekken die hun taken hebben voorgelegd.
U kunt de procesinstantie-id voor een initiator echter niet identificeren in de volgende scenario's:
tb_job_instance
databasetabel, die niet rechtstreeks kan worden gecontroleerd.Voer de volgende stappen uit om procesinstantie-id's voor een workflowaanvrager of een deelnemer te identificeren:
Voer het volgende bevel in het servergegevensbestand van AEM Forms uit om belangrijkste identiteitskaart voor werkschemamonator of deelnemer van edcprincipalentity
gegevensbestandlijst terug te winnen.
select id from edcprincipalentity where canonicalname='user_ID'
De vraag keert belangrijkste identiteitskaart voor gespecificeerde user_ID
terug.
(Voor werkschemaminitiator) voer het volgende bevel uit om alle taken verbonden aan belangrijkste identiteitskaart voor de initiatiefnemer van tb_task
gegevensbestandlijst terug te winnen.
select * from tb_task where start_task = 1 and create_user_id= 'initiator_principal_id'
De vraag keert taken terug die door gespecificeerde initiator
_ principal_id
in werking worden gesteld. De taken zijn van twee typen:
process_instance_id
veld weer. Neem nota van alle procesinstantie IDs voor voorgelegde taken en ga met de stappen verder.process_instance_id
voor deze taken is 0 (nul). In dit geval, neem nota van overeenkomstige taak IDs en zie Werk met wezen taken.(Voor werkschemagedeelnemers) voer het volgende bevel uit om procesinstantie IDs terug te winnen verbonden aan belangrijkste identiteitskaart van de procesdeelnemer voor de initiatiefnemer van tb_assignment
gegevensbestandlijst.
select distinct a.process_instance_id from tb_assignment a join tb_queue q on a.queue_id = q.id where q.workflow_user_id='participant_principal_id'
De vraag keert instantie IDs voor alle processen verbonden aan de deelnemer, met inbegrip van die terug waar de deelnemer geen taak heeft voorgelegd.
Neem nota van alle procesinstantie IDs voor voorgelegde taken en ga met de stappen verder.
Voor verweesde taken of taken waar process_instance_id
0 (nul) is, neem nota van de overeenkomstige taak IDs en zie Werken met verweesde taken.
Volg de instructies in de sectie Gebruikersgegevens uit workflowinstanties wissen op basis van procesinstantie-id's om gebruikersgegevens voor geïdentificeerde procesinstantie-id's te verwijderen.
Een workflow kan zo worden ontworpen dat de gebruikersgegevens worden vastgelegd in een variabele die als een blob in de database wordt opgeslagen. In dergelijke gevallen kunt u alleen gebruikersgegevens opvragen als deze zijn opgeslagen in een van de volgende primitieve variabelen:
Voer de volgende stappen uit om te bepalen of een werkschema dat gegevens in primitieve-type variabelen opslaat gegevens voor de gebruiker bevat:
Voer de volgende databaseopdracht uit:
select database_table from omd_object_type where name='pt_<app_name>/<workflow_name>'
De query retourneert een tabelnaam in tb_<number>
-indeling voor de opgegeven toepassing ( app_name
) en workflow ( workflow_name
).
De waarde van de eigenschap name
kan complex zijn als de workflow in submappen in de toepassing is genest. Zorg ervoor dat u de nauwkeurige volledige weg aan het werkschema specificeert, die u van de omd_object_type
gegevensbestandlijst kunt krijgen.
Controleer het tb_<number>
tabelschema. De tabel bevat variabelen die gebruikersgegevens voor de opgegeven workflow opslaan. De variabelen in de tabel komen overeen met de variabelen in de workflow.
Identificeer en neem nota van de variabele die aan werkschemavariabele beantwoordt die de gebruiker - identiteitskaart bevat Als de geïdentificeerde variabele van primitief-type is, kunt u een vraag in werking stellen om werkschemamonstanties te bepalen verbonden aan een gebruiker - identiteitskaart
Voer het volgende gegevensbestandbevel uit. In dit bevel, is user_var
de primitieve-type variabele die gebruiker - identiteitskaart bevat.
select process_instance_id from <tb_name> where <user_var>=<user_ID>
De vraag keert alle procesinstantie IDs verbonden aan gespecificeerde user_ID
terug.
Volg de instructies in de sectie Gebruikersgegevens uit workflowinstanties wissen op basis van procesinstantie-id's om gebruikersgegevens voor geïdentificeerde procesinstantie-id's te verwijderen.
Nu u de procesinstantie-id's hebt geïdentificeerd die aan een gebruiker zijn gekoppeld, gaat u als volgt te werk om gebruikersgegevens te verwijderen uit de respectieve procesinstanties.
Voer het volgende bevel uit om langlevende aanroepingsID en status voor een procesinstantie van de tb_process_instance
lijst terug te winnen.
select long_lived_invocation_id, status from tb_process_instance where id='process_instance_id'
De vraag keert langlevende aanroepingsidentiteitskaart en status voor gespecificeerde process_instance_id
terug.
Maak een instantie van de openbare ProcessManager
-client ( com.adobe.idp.workflow.client.ProcessManager
) met behulp van een ServiceClientFactory
-instantie met de juiste verbindingsinstellingen.
Voor meer informatie, zie de verwijzing van Java API voor Class ProcessManager.
Controleer de status van de workflowinstantie. Als de status anders is dan 2 (COMPLETE) of 4 (TERMINATED), beëindigt u de instantie eerst door de volgende methode aan te roepen:
ProcessManager.terminateProcess(<long_lived_invocation_id>)
.
Wis de werkstroominstantie door de volgende methode aan te roepen:
ProcessManager.purgeProcessInstance(<long_lived_invocation_id>)
Met de methode purgeProcessInstance
worden alle gegevens voor de opgegeven oproepings-id volledig verwijderd uit de AEM Forms-serverdatabase en GDS, indien geconfigureerd.
Orphan-taken zijn de taken waarvan het omvattende proces is gestart maar nog niet is ingediend. in dit geval is process_instance_id
0 (nul). Daarom kunt u gebruikersgegevens die voor wezen taken worden opgeslagen niet volgen gebruikend procesinstantie IDs. Nochtans, kunt u het vinden gebruikend taakidentiteitskaart voor een wezen taak. U kunt de taken-id's van de tabel tb_task
voor een gebruiker identificeren zoals wordt beschreven in Id's van procesinstanties identificeren wanneer de aanvrager of deelnemer van de workflow bekend is.
Als u de taak-id's hebt, voert u de volgende handelingen uit om de bijbehorende bestanden en gegevens te wissen met een wezen-taak uit GDS en de database.
Voer het volgende bevel op het servergegevensbestand van AEM Forms uit om identiteitskaarts voor geïdentificeerde taak IDs terug te winnen.
select id from tb_form_data where task_id=<task_id>
De query retourneert een lijst met id's. Voor elke id ( fd_id
) die in de resultaten wordt geretourneerd, maakt u als volgt een lijst met sessie-id-tekenreeksen:
wfattach<task_id>
_wftask<fd_id>
_wftaskformid<fd_id>
Voer een van de volgende stappen uit, afhankelijk van het feit of uw GDS naar een bestandssysteem of database verwijst:
GDS in bestandssysteem
In het GDS-bestandssysteem:
_wfattach<task_id>
_wftask<fd_id>
_wftaskformid<fd_id>
De bestanden met deze extensies zijn de markeringsbestanden. Ze worden opgeslagen met bestandsnamen in de volgende indeling:
<file_name_guid>.session<session_id_string>
<file_name_guid>
uit het bestandssysteem.GDS in database
Voer de volgende bevelen voor elke zitting-identiteitskaart uit:
delete from tb_dm_chunk where documentid in (select documentid from tb_dm_session_reference where sessionid=<session_id>)
delete from tb_dm_session_reference where sessionid=<session_id>
delete from tb_dm_deletion where sessionid=<session_id>
Voer de volgende opdrachten uit om gegevens voor taak-id's te verwijderen uit de AEM Forms-serverdatabase:
delete from tb_task_acl where task_id=<task_id>
delete from tb_task_attachment where task_id=<task_id>
delete from tb_form_data where task_id=<task_id>
delete from tb_assignment where task_id=<task_id>
delete from tb_task where id=<task_id>