From 1ad3ce94ba31908ea3c97294980adc7f8f31cf6c Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Wed, 18 Sep 2019 15:27:26 -0400 Subject: [PATCH 01/19] PMC-1237 --- database/factories/DynaformFactory.php | 39 ++++++- framework/src/Maveriks/WebApplication.php | 1 + gulliver/system/class.bootstrap.php | 13 ++- .../engine/classes/PmDynaformTest.php | 63 ++++++++++- workflow/engine/classes/PmDynaform.php | 104 ++++++++++++++---- 5 files changed, 194 insertions(+), 26 deletions(-) diff --git a/database/factories/DynaformFactory.php b/database/factories/DynaformFactory.php index a229a3db5..428b5d28c 100644 --- a/database/factories/DynaformFactory.php +++ b/database/factories/DynaformFactory.php @@ -4,10 +4,26 @@ * Model factory for a dynaform. */ use Faker\Generator as Faker; -use ProcessMaker\Model\Dynaform; use ProcessMaker\Model\Process; -$factory->define(Dynaform::class, function(Faker $faker) { +$factory->define(\ProcessMaker\Model\Dynaform::class, function(Faker $faker) { + $date = $faker->dateTime(); + return [ + 'DYN_UID' => G::generateUniqueID(), + 'DYN_ID' => $faker->unique()->numberBetween(1, 10000), + 'DYN_TITLE' => $faker->sentence(2), + 'DYN_DESCRIPTION' => $faker->sentence(5), + 'PRO_UID' => G::generateUniqueID(), + 'DYN_TYPE' => 'xmlform', + 'DYN_FILENAME' => '', + 'DYN_CONTENT' => '', + 'DYN_LABEL' => '', + 'DYN_VERSION' => 2, + 'DYN_UPDATE_DATE' => $date->format('Y-m-d H:i:s'), + ]; +}); +// Create a dynaform with the foreign keys +$factory->state(\ProcessMaker\Model\Dynaform::class, 'foreign_keys', function (Faker $faker) { $date = $faker->dateTime(); return [ 'DYN_UID' => G::generateUniqueID(), @@ -26,3 +42,22 @@ $factory->define(Dynaform::class, function(Faker $faker) { 'DYN_UPDATE_DATE' => $date->format('Y-m-d H:i:s'), ]; }); + + +// Create a dynaform with translations defined: ["es", "es-Es"] +$factory->state(\ProcessMaker\Model\Dynaform::class, 'translations', function (Faker $faker) { + $date = $faker->dateTime(); + return [ + 'DYN_UID' => G::generateUniqueID(), + 'DYN_ID' => $faker->unique()->numberBetween(1, 10000), + 'DYN_TITLE' => $faker->sentence(2), + 'DYN_DESCRIPTION' => $faker->sentence(5), + 'PRO_UID' => G::generateUniqueID(), + 'DYN_TYPE' => 'xmlform', + 'DYN_FILENAME' => '', + 'DYN_CONTENT' => '', + 'DYN_LABEL' => '{"es":{"Project-Id-Version":"PM 4.0.1","POT-Creation-Date":"","PO-Revision-Date":"2019-09-11 12:02-0400","Last-Translator":"Colosa ","Language-Team":"Colosa Developers Team ","MIME-Version":"1.0","Content-Type":"text\/plain; charset=utf-8","Content-Transfer_Encoding":"8bit","X-Poedit-SourceCharset":"utf-8","Content-Transfer-Encoding":"8bit","File-Name":"Test-v2.es.po","X-Generator":"Poedit 1.8.11","X-Poedit-Language":"en","X-Poedit-Country":".","Labels":[{"msgid":"Test without dependent fields","msgstr":"Ejemplo sin campos dependientes"},{"msgid":"Incident Type:","msgstr":"Tipo de incidente:"},{"msgid":"- Select -","msgstr":"- Seleccionar -"},{"msgid":"Incident Sub Type:","msgstr":"Sub tipo de incidente:"},{"msgid":"Test with dependent fields","msgstr":"Ejemplo con campos dependientes"},{"msgid":"Health\/Safety","msgstr":"Salud\/Seguridad"},{"msgid":"Environment","msgstr":"Ambiente"},{"msgid":"Fatality","msgstr":"Ambiente"},{"msgid":"Lost Time Injury","msgstr":"Ambiente"},{"msgid":"Environment","msgstr":"Ambiente"},{"msgid":"Medical Treatment Injury","msgstr":"Lesiones de tratamiento m\u00e9dico"},{"msgid":"Chemical\/Substance Spill","msgstr":"Derrame qu\u00edmico \/ de sustancias"},{"msgid":"Fire\/Explosion","msgstr":"Fuego\/Explosion"},{"msgid":"Offsite Release","msgstr":"Lanzamiento fuera del sitio"}]},"es-Es":{"Project-Id-Version":"PM 4.0.1","POT-Creation-Date":"","PO-Revision-Date":"2019-09-11 12:02-0400","Last-Translator":"Colosa ","Language-Team":"Colosa Developers Team ","MIME-Version":"1.0","Content-Type":"text\/plain; charset=utf-8","Content-Transfer_Encoding":"8bit","X-Poedit-SourceCharset":"utf-8","Content-Transfer-Encoding":"8bit","File-Name":"Test-v2.es-Es.po","X-Generator":"Poedit 1.8.11","X-Poedit-Language":"en","X-Poedit-Country":".","Labels":[{"msgid":"Test without dependent fields","msgstr":"Ejemplo sin campos dependientes"},{"msgid":"Incident Type:","msgstr":"Tipo de incidente:"},{"msgid":"- Select -","msgstr":"- Seleccionar -"},{"msgid":"Incident Sub Type:","msgstr":"Sub tipo de incidente:"},{"msgid":"Test with dependent fields","msgstr":"Ejemplo con campos dependientes"},{"msgid":"Health\/Safety","msgstr":"Salud\/Seguridad"},{"msgid":"Environment","msgstr":"Ambiente"},{"msgid":"Fatality","msgstr":"Ambiente"},{"msgid":"Lost Time Injury","msgstr":"Ambiente"},{"msgid":"Environment","msgstr":"Ambiente"},{"msgid":"Medical Treatment Injury","msgstr":"Lesiones de tratamiento m\u00e9dico"},{"msgid":"Chemical\/Substance Spill","msgstr":"Derrame qu\u00edmico \/ de sustancias"},{"msgid":"Fire\/Explosion","msgstr":"Fuego\/Explosion"},{"msgid":"Offsite Release","msgstr":"Lanzamiento fuera del sitio"}]}}', + 'DYN_VERSION' => 2, + 'DYN_UPDATE_DATE' => $date->format('Y-m-d H:i:s'), + ]; +}); \ No newline at end of file diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php index 625dfd629..82a9c5e97 100644 --- a/framework/src/Maveriks/WebApplication.php +++ b/framework/src/Maveriks/WebApplication.php @@ -544,6 +544,7 @@ class WebApplication config(['app.timezone' => TIME_ZONE]); + // Define the language Bootstrap::setLanguage(); Bootstrap::LoadTranslationObject((defined("SYS_LANG")) ? SYS_LANG : "en"); diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index 547eb4ca7..b3eeb0ed5 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -2616,22 +2616,27 @@ class Bootstrap } /** - * Set Language + * Set Language defined in HTTP_ACCEPT_LANGUAGE + * Only will accept if the language defined exist in the list of Admin > Settings > Language + * + * @link https://wiki.processmaker.com/3.2/Languages#Installing_the_PO_File */ public static function setLanguage() { - $acceptLanguage = isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])?$_SERVER['HTTP_ACCEPT_LANGUAGE']:'en'; + $acceptLanguage = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : 'en'; if (!defined('SYS_LANG')) { $Translations = new \Translation; + // Get the translation uploaded in the system $translationsTable = $Translations->getTranslationEnvironments(); $inLang = false; foreach ($translationsTable as $locale) { - if ($locale['LOCALE'] == $acceptLanguage) { + // Check if the language used was uploaded in the Language + if ($locale['LOCALE'] === $acceptLanguage) { $inLang = true; break; } } - $lang = $inLang?$acceptLanguage:'en'; + $lang = $inLang ? $acceptLanguage : 'en'; define("SYS_LANG", $lang); } } diff --git a/tests/unit/workflow/engine/classes/PmDynaformTest.php b/tests/unit/workflow/engine/classes/PmDynaformTest.php index 573b694ea..c3e3ea954 100644 --- a/tests/unit/workflow/engine/classes/PmDynaformTest.php +++ b/tests/unit/workflow/engine/classes/PmDynaformTest.php @@ -1,10 +1,16 @@ G::generateUniqueID()]); $pmDynaform->getDynaform(); - $this->assertEquals(null, $pmDynaform->langs); + $this->assertEquals(null, $pmDynaform->translations); } /** @@ -824,4 +830,59 @@ class PmDynaformTest extends TestCase $this->assertFalse($jsonData->dataSchema[$key][4]['defined']); } } + /** + * Review if the set translations are working correctly + * If the translation does not exit needs to return null + * + * @covers PmDynaform::setTranslations() + * @test + */ + public function it_should_set_the_translations_if_exist() + { + // Create a form without translations defined + $arrayForm = $this->createArrayDynaform(); + $form = factory(Dynaform::class)->create([ + 'DYN_UID' => $arrayForm['items'][0]['id'], + 'DYN_CONTENT' => G::json_encode($arrayForm) + ]); + $pmDynaform = new PmDynaform([]); + $pmDynaform->setTranslations($form->DYN_UID); + $this->assertNull($pmDynaform->translations); + + // Create a form with translations defined + $arrayForm = $this->createArrayDynaform(); + $form = factory(Dynaform::class)->states('translations')->create([ + 'DYN_UID' => $arrayForm['items'][0]['id'], + 'DYN_CONTENT' => G::json_encode($arrayForm) + ]); + $pmDynaform = new PmDynaform([]); + $pmDynaform->setTranslations($form->DYN_UID); + $this->assertNotNull($pmDynaform->translations); + } + + /** + * Review if the get labels from a specific language is working + * If the translation defined does not have the specific language will return null + * + * @covers PmDynaform::getLabelsPo() + * @test + */ + public function it_should_get_label_from_translation() + { + $arrayForm = $this->createArrayDynaform(); + // Create a translations related to ["es", "es-Es"] + $form = factory(Dynaform::class)->states('translations')->create([ + 'DYN_UID' => $arrayForm['items'][0]['id'], + 'DYN_CONTENT' => G::json_encode($arrayForm) + ]); + $pmDynaform = new PmDynaform([]); + $pmDynaform->setTranslations($form->DYN_UID); + $labelsPo = $pmDynaform->getLabelsPo('es'); + $this->assertNotNull($labelsPo); + $labelsPo = $pmDynaform->getLabelsPo('es-Es'); + $this->assertNotNull($labelsPo); + $faker = Factory::create(); + $labelsPo = $pmDynaform->getLabelsPo($faker->sentence(1)); + $this->assertNull($labelsPo); + } } diff --git a/workflow/engine/classes/PmDynaform.php b/workflow/engine/classes/PmDynaform.php index c8946e72f..0ce58ea1d 100644 --- a/workflow/engine/classes/PmDynaform.php +++ b/workflow/engine/classes/PmDynaform.php @@ -27,7 +27,7 @@ class PmDynaform public $fields = null; public $isRTL = false; public $lang = SYS_LANG; - public $langs = null; + public $translations = null; public $onPropertyRead = "onPropertyReadFormInstance"; public $pathRTLCss = ''; public $record = null; @@ -109,6 +109,46 @@ class PmDynaform } } + /** + * Get the translation defined in the dynaform + * + * @return object + */ + public function getTranslations() + { + return $this->translations; + } + + /** + * Set the translations defined in the dynaform + * + * @param string $dynUid + * + * @return void + */ + public function setTranslations($dynUid) + { + $dynaForm = ModelDynaform::getByDynUid($dynUid); + $this->translations = empty($dynaForm->DYN_LABEL) ? null : G::json_decode($dynaForm->DYN_LABEL); + } + + /** + * Get the labels from a specific language defined in the dynaform, if does not exist will return null + * + * @param string $language + * + * @return object|null + */ + public function getLabelsPo($language) + { + $labelsPo = null; + if (!is_null($this->translations) && !empty($this->translations->{$language}->{'Labels'})) { + $labelsPo = $this->translations->{$language}->{'Labels'}; + } + + return $labelsPo; + } + public function getDynaformTitle($idDynaform) { $d = new Dynaform(); @@ -119,11 +159,13 @@ class PmDynaform /** * Get a dynaform. + * * @return array|null - * @see ConsolidatedCases->processConsolidated() + * * @see workflow/engine/methods/cases/caseConsolidated.php - * @see ProcessMaker\BusinessModel\Cases->getCaseVariables() - * @see PmDynaform->__construct() + * @see ConsolidatedCases::processConsolidated() + * @see PmDynaform::__construct() + * @see \ProcessMaker\BusinessModel\Cases::getCaseVariables() */ public function getDynaform() { @@ -135,10 +177,10 @@ class PmDynaform } $dynaform = ModelDynaform::getByDynUid($this->fields["CURRENT_DYNAFORM"]); if (empty($dynaform)) { - $this->langs = null; + $this->translations = null; return null; } - $this->langs = empty($dynaform->DYN_LABEL) ? null : G::json_decode($dynaform->DYN_LABEL); + $this->translations = empty($dynaform->DYN_LABEL) ? null : G::json_decode($dynaform->DYN_LABEL); $this->record = (array) $dynaform; return $this->record; } @@ -675,14 +717,26 @@ class PmDynaform $this->setDataSchema($json, $this->fields["APP_DATA"][$json->name]); } } - //languages + // Set the language defined in the json if ($this->lang === null && $key === "language" && isset($json->language)) { $this->lang = $json->language; } - if ($this->langs !== null) { - if (($key === "label" || $key === "title" || $key === "hint" || $key === "placeholder" || $key === "validateMessage" || $key === "alternateText" || $key === "comment" || $key === "alt") && isset($this->langs->{$this->lang})) { - $langs = $this->langs->{$this->lang}->Labels; - foreach ($langs as $langsValue) { + + // Get the translations related to the language + if (!is_null($this->translations)) { + $labelsPo = $this->getLabelsPo($this->lang); + $translatableLabels = [ + "label", + "title", + "hint", + "placeholder", + "validateMessage", + "alternateText", + "comment", + "alt" + ]; + if ((in_array($key, $translatableLabels)) && !is_null($labelsPo)) { + foreach ($labelsPo as $langsValue) { if (is_object($json) && $json->{$key} === $langsValue->msgid) { $json->{$key} = $langsValue->msgstr; } @@ -1701,32 +1755,44 @@ class PmDynaform return false; } - public function searchField($dyn_uid, $field_id, $pro_uid = null) + /** + * This funtion will get the DYN_CONTENT from the dynaform then + * Get the field and the properties defined, it's considerate the sub-forms + * + * @param string $dynUid + * @param string $fieldId + * @param string $proUid + * + * @return object + * + * @see \ProcessMaker\BusinessModel\Variable::executeSqlControl() + */ + public function searchField($dynUid, $fieldId, $proUid = null) { //get pro_uid if empty - if (empty($pro_uid)) { + if (empty($proUid)) { $a = new Criteria("workflow"); $a->addSelectColumn(DynaformPeer::PRO_UID); - $a->add(DynaformPeer::DYN_UID, $dyn_uid, Criteria::EQUAL); + $a->add(DynaformPeer::DYN_UID, $dynUid, Criteria::EQUAL); $ds = DynaformPeer::doSelectRS($a); $ds->setFetchmode(ResultSet::FETCHMODE_ASSOC); $ds->next(); $row = $ds->getRow(); - $pro_uid = $row["PRO_UID"]; + $proUid = $row["PRO_UID"]; } //get dynaforms $a = new Criteria("workflow"); $a->addSelectColumn(DynaformPeer::DYN_UID); $a->addSelectColumn(DynaformPeer::DYN_CONTENT); - $a->add(DynaformPeer::PRO_UID, $pro_uid, Criteria::EQUAL); + $a->add(DynaformPeer::PRO_UID, $proUid, Criteria::EQUAL); $ds = DynaformPeer::doSelectRS($a); $ds->setFetchmode(ResultSet::FETCHMODE_ASSOC); $json = new stdClass(); - $dynaforms = array(); + $dynaforms = []; while ($ds->next()) { $row = $ds->getRow(); - if ($row["DYN_UID"] === $dyn_uid) { + if ($row["DYN_UID"] === $dynUid) { $json = G::json_decode($row["DYN_CONTENT"]); } else { $dynaforms[] = G::json_decode($row["DYN_CONTENT"]); @@ -1745,7 +1811,7 @@ class PmDynaform } } - return $this->jsonsf($json, $field_id); + return $this->jsonsf($json, $fieldId); } public function searchFieldByName($dyn_uid, $name) From 682b07e6a5b0b5e7e46f2799e48593733469ae69 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 10 Oct 2019 14:38:22 -0400 Subject: [PATCH 02/19] PMC-1226 --- gulliver/system/class.bootstrap.php | 8 ++++++-- workflow/engine/src/ProcessMaker/BusinessModel/Cases.php | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index b3eeb0ed5..a01648e82 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -2625,13 +2625,17 @@ class Bootstrap { $acceptLanguage = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : 'en'; if (!defined('SYS_LANG')) { - $Translations = new \Translation; + $Translations = new Translation; // Get the translation uploaded in the system $translationsTable = $Translations->getTranslationEnvironments(); $inLang = false; foreach ($translationsTable as $locale) { // Check if the language used was uploaded in the Language - if ($locale['LOCALE'] === $acceptLanguage) { + // The languages can defined like this : en, en-US (language-localization) + // We need to validate if the language exist it does not matter the localization + $language = explode('-', $locale['LOCALE']); + $language = head($language); + if ($language === $acceptLanguage) { $inLang = true; break; } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index 65438effb..bd9579d9c 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -1859,6 +1859,11 @@ class Cases $arrayCaseVariable = array_merge($arrayCaseVariable, $dateHistory); } + // Get the SYS_LANG defined, it can be updated + if (defined('SYS_LANG')) { + $arrayCaseVariable['SYS_LANG'] = SYS_LANG; + } + return $arrayCaseVariable; } From de1afc51f09bdb0fdfce32652bf85417823a5b80 Mon Sep 17 00:00:00 2001 From: Andrea Adamczyk Date: Thu, 17 Oct 2019 15:48:03 -0400 Subject: [PATCH 03/19] PMC-778 --- .../BusinessModel/ActionsByEmailTest.php | 49 +++++++++++++++++++ .../BusinessModel/ActionsByEmail.php | 2 + 2 files changed, 51 insertions(+) diff --git a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmailTest.php b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmailTest.php index dabb68bb2..444ab52fb 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmailTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmailTest.php @@ -205,4 +205,53 @@ class ActionsByEmailTest extends TestCase //Assert the email was not sent $this->assertContains('**ID_UNEXPECTED_ERROR_OCCURRED_PLEASE**', $res); } + + /** + * Test the forwardMail method with ssl + * + * @covers \ProcessMaker\BusinessModel\ActionsByEmail::forwardMail() + * @test + */ + public function it_should_test_the_forward_mail_method_with_ssl() + { + //Create the Task factory + factory(Task::class)->create(); + //Create the Process factory + factory(Process::class)->create(); + //Create the Dynaform factory + factory(Dynaform::class)->create(); + //Create the EmailServerModel factory with smtp secure + factory(EmailServerModel::class)->create( + ['SMTPSECURE' => 'ssl'] + ); + //Create the Application factory + factory(Application::class)->create(); + //Create the Delegation factory + $delegation = factory(Delegation::class)->create(); + //Create the AbeConfiguration factory + $abeConfiguration = factory(AbeConfiguration::class)->create(); + //Create the AbeConfiguration factory + $abeRequest = factory(AbeRequest::class)->create([ + 'ABE_UID' => $abeConfiguration->ABE_UID, + 'APP_UID' => $delegation->APP_UID, + 'DEL_INDEX' => $delegation->DEL_INDEX, + 'ABE_REQ_UID' => $abeConfiguration->ABE_UID, + ]); + + //Prepare the array send to the method + $arrayData = [ + 'action' => 'forwardMail', + 'REQ_UID' => $abeRequest->ABE_REQ_UID, + 'limit' => '', + 'start' => '' + ]; + + //Create the ActionsByEmail object + $abe = new ActionsByEmail(); + //Call the forwardMail method + $res = $abe->forwardMail($arrayData); + + //Assert the email was sent successfully + $this->assertContains('**ID_EMAIL_RESENT_TO**: ' . $abeRequest->ABE_REQ_SENT_TO, $res); + } } \ No newline at end of file diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php index 777323ab8..6d9a48071 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php @@ -385,6 +385,8 @@ class ActionsByEmail $emailServer = new EmailServerModel(); $criteria = $emailServer->getEmailServer($dataRes['ABE_EMAIL_SERVER_UID']); $setup = !empty($criteria) ? $criteria : $emailServer->getEmailServerDefault(); + $setup['SMTPSecure'] = $setup['SMTPSECURE']; + unset($setup['SMTPSECURE']); $spool = new SpoolRun(); $spool->setConfig($setup); $abeCore = new ActionsByEmailCoreClass(); From 4705c94b59513305d5c5b23fea9719cf1b0cba00 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Fri, 18 Oct 2019 14:05:36 -0400 Subject: [PATCH 04/19] PMC-943 --- workflow/engine/classes/ActionsByEmailCoreClass.php | 2 +- .../engine/content/translations/english/processmaker.en.po | 6 ++++++ workflow/engine/data/mysql/insert.sql | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/ActionsByEmailCoreClass.php b/workflow/engine/classes/ActionsByEmailCoreClass.php index 6a5be8cd8..e3e579735 100644 --- a/workflow/engine/classes/ActionsByEmailCoreClass.php +++ b/workflow/engine/classes/ActionsByEmailCoreClass.php @@ -833,7 +833,7 @@ class ActionsByEmailCoreClass extends PMPlugin URL_KEY, true) . '&DEL_INDEX=' . G::encrypt($this->getIndex(), URL_KEY, true) . '&DYN_UID=' . G::encrypt($this->getItemAbeProperties('DYN_UID'), URL_KEY, true) . '&ABER=' . G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY, - true) . '" target="_blank">Please complete this form'; + true) . '" target="_blank">' . G::LoadTranslation('ID_ACTIONS_BY_EMAIL_LINK_TO_FILL_A_FORM') . ''; return $html; } diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 9a3f2ffd0..f06b0dd00 100644 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -1837,6 +1837,12 @@ msgstr "Actions" msgid "actionsByEmail.html" msgstr "actionsByEmail.html" +# TRANSLATION +# LABEL/ID_ACTIONS_BY_EMAIL_LINK_TO_FILL_A_FORM +#: LABEL/ID_ACTIONS_BY_EMAIL_LINK_TO_FILL_A_FORM +msgid "Please complete this form" +msgstr "Please complete this form" + # TRANSLATION # LABEL/ID_ACTIONS_BY_EMAIL_LOG #: LABEL/ID_ACTIONS_BY_EMAIL_LOG diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 20e077737..7596715d8 100644 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -57104,6 +57104,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_ACTION','en','Action','2014-01-15') , ( 'LABEL','ID_ACTIONS','en','Actions','2014-01-15') , ( 'LABEL','ID_ACTIONS_BY_EMAIL','en','actionsByEmail.html','2014-01-15') , +( 'LABEL','ID_ACTIONS_BY_EMAIL_LINK_TO_FILL_A_FORM','en','Please complete this form','2019-10-18') , ( 'LABEL','ID_ACTIONS_BY_EMAIL_LOG','en','Actions By Email Log','2016-01-12') , ( 'LABEL','ID_ACTION_DISABLED_TO_LOW_PERFORMANCE_1','en','This action was disabled to prevent slow browser performance. There are more than 100 records in the column definition grid.','2015-01-16') , ( 'LABEL','ID_ACTION_DISABLED_TO_LOW_PERFORMANCE_2','en','

Please perform this action with manual selection only.','2014-01-15') , From 6fb74d20bd7a367743ec28b27317c5f758c4125f Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Mon, 21 Oct 2019 09:17:55 -0400 Subject: [PATCH 05/19] PMC-1315 --- gulliver/system/class.bootstrap.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index a01648e82..7d72ba10a 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -2624,6 +2624,7 @@ class Bootstrap public static function setLanguage() { $acceptLanguage = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : 'en'; + $langServer = $acceptLanguage; if (!defined('SYS_LANG')) { $Translations = new Translation; // Get the translation uploaded in the system @@ -2633,14 +2634,19 @@ class Bootstrap // Check if the language used was uploaded in the Language // The languages can defined like this : en, en-US (language-localization) // We need to validate if the language exist it does not matter the localization - $language = explode('-', $locale['LOCALE']); + $langServer = $locale['LOCALE']; + $language = explode('-', $langServer); $language = head($language); if ($language === $acceptLanguage) { $inLang = true; break; } } - $lang = $inLang ? $acceptLanguage : 'en'; + // Overwriting the language defined in the server + // Example 1. Accept-Language = pt and langServer = pt-BR, result SYS_LANG = pt-BR + // Example 2. Accept-Language = pt and langServer = pt, result SYS_LANG = pt + // Example 3. Accept-Language = it and langServer = NONE, result SYS_LANG = en + $lang = ($inLang) ? $langServer : 'en'; define("SYS_LANG", $lang); } } From bdd0d98d4164d7d04ef524f503bee10156567904 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Mon, 21 Oct 2019 11:19:03 -0400 Subject: [PATCH 06/19] PMC-1048 Unit test for mysql_free_result inside executeQuery --- .../classes/PmFunctions/ExecuteQueryTest.php | 346 ++++++++++++++++++ 1 file changed, 346 insertions(+) create mode 100644 tests/unit/workflow/engine/classes/PmFunctions/ExecuteQueryTest.php diff --git a/tests/unit/workflow/engine/classes/PmFunctions/ExecuteQueryTest.php b/tests/unit/workflow/engine/classes/PmFunctions/ExecuteQueryTest.php new file mode 100644 index 000000000..9ba50cdbb --- /dev/null +++ b/tests/unit/workflow/engine/classes/PmFunctions/ExecuteQueryTest.php @@ -0,0 +1,346 @@ +oldContentSystemTables = ""; + $path = PATH_CONFIG . $this->nameSystemTables; + if (file_exists($path)) { + $this->oldContentSystemTables = file_get_contents($path); + } + file_put_contents($path, $this->contentSystemTables); + } + + public function tearDown() + { + parent::tearDown(); + $path = PATH_CONFIG . $this->nameSystemTables; + file_put_contents($path, $this->oldContentSystemTables); + } + + /** + * This tests if the "executeQuery" method is returning the data of a query. + * @test + */ + public function it_must_return_the_result_of_execute_query_method() + { + $user = factory(User::class, 5)->create(); + + $user = $user->sortByDesc('USR_UID')->values()->map(function($item) { + $result = [ + 'USR_UID' => $item['USR_UID'], + 'USR_USERNAME' => $item['USR_USERNAME'], + 'USR_PASSWORD' => $item['USR_PASSWORD'], + 'USR_FIRSTNAME' => $item['USR_FIRSTNAME'], + 'USR_LASTNAME' => $item['USR_LASTNAME'], + 'USR_EMAIL' => $item['USR_EMAIL'], + ]; + return $result; + }); + $expected = $user->toArray(); + + $sql = "SELECT " + . "USR_UID ," + . "USR_USERNAME ," + . "USR_PASSWORD ," + . "USR_FIRSTNAME, " + . "USR_LASTNAME, " + . "USR_EMAIL " + . "FROM USERS " + . "WHERE " + . "USR_UID NOT IN (" + . " '00000000000000000000000000000001'," + . " '00000000000000000000000000000002'" + . ")" + . "ORDER BY USR_UID DESC"; + $actual = executeQuery($sql); + $actual = array_values($actual); + + $this->assertEquals($expected, $actual); + } + + /** + * Insert a record in the category table using the execute query function. + * @test + */ + public function it_should_insert_a_record_in_the_category_table_using_the_execute_query_method() + { + $database = env('DB_DATABASE'); + $faker = Factory::create(); + $uid = G::generateUniqueID(); + $id = $faker->unique()->numberBetween(1, 10000000); + $name = str_replace("'", " ", $faker->name); + $sql = "" + . "INSERT INTO {$database}.PROCESS_CATEGORY(" + . " CATEGORY_UID," + . " CATEGORY_ID," + . " CATEGORY_PARENT," + . " CATEGORY_NAME," + . " CATEGORY_ICON" + . ") VALUES" + . "(" + . " '{$uid}'," + . " '{$id}'," + . " '0'," + . " '{$name}'," + . " ''" + . ")"; + executeQuery($sql); + $expected = [ + [ + 'CATEGORY_UID' => $uid, + 'CATEGORY_ID' => $id, + 'CATEGORY_PARENT' => '0', + 'CATEGORY_NAME' => $name, + 'CATEGORY_ICON' => '', + ] + ]; + + $actual = ProcessCategory::get(); + + $this->assertEquals($expected, $actual->toArray()); + } + + /** + * Replace a record in the category table using the execute query function. + * @test + */ + public function it_should_replace_a_record_in_the_category_table_using_the_execute_query_method() + { + $database = env('DB_DATABASE'); + $faker = Factory::create(); + $id = $faker->unique()->numberBetween(1, 10000000); + $newName = str_replace("'", " ", $faker->name); + + $category = factory(ProcessCategory::class)->create([ + 'CATEGORY_ID' => $id + ]); + $expected = $category->toArray(); + $expected['CATEGORY_NAME'] = $newName; + unset($expected['id']); + + $sql = "REPLACE INTO {$database}.PROCESS_CATEGORY " + . "SET " + . "CATEGORY_UID='{$category->CATEGORY_UID}'," + . "CATEGORY_PARENT='{$category->CATEGORY_PARENT}', " + . "CATEGORY_NAME='{$newName}', " + . "CATEGORY_ICON='{$category->CATEGORY_ICON}', " + . "CATEGORY_ID='{$category->CATEGORY_ID}'" + . ""; + + executeQuery($sql); + + $actual = ProcessCategory::where('CATEGORY_UID', '=', $category->CATEGORY_UID) + ->get() + ->first(); + + $this->assertEquals($expected, $actual->toArray()); + } + + /** + * Update a record in the category table using the execute query function. + * @test + */ + public function it_should_update_a_record_in_the_category_table_using_the_execute_query_method() + { + $database = env('DB_DATABASE'); + $faker = Factory::create(); + $id = $faker->unique()->numberBetween(1, 10000000); + $newName = str_replace("'", " ", $faker->name); + + $category = factory(ProcessCategory::class)->create([ + 'CATEGORY_ID' => $id + ]); + $expected = $category->toArray(); + $expected['CATEGORY_NAME'] = $newName; + unset($expected['id']); + + $sql = "" + . "UPDATE {$database}.PROCESS_CATEGORY SET " + . "CATEGORY_NAME='{$newName}' " + . "WHERE " + . "CATEGORY_UID='{$category->CATEGORY_UID}'"; + executeQuery($sql); + + $actual = ProcessCategory::where('CATEGORY_UID', '=', $category->CATEGORY_UID) + ->get() + ->first(); + + $this->assertEquals($expected, $actual->toArray()); + } + + /** + * Delete a record in the category table using the execute query function. + * @test + */ + public function it_should_delete_a_record_in_the_category_table_using_the_execute_query_method() + { + + $database = env('DB_DATABASE'); + $category = factory(ProcessCategory::class)->create(); + + $sql = "" + . "DELETE FROM {$database}.PROCESS_CATEGORY " + . "WHERE " + . "CATEGORY_UID='{$category->CATEGORY_UID}'"; + executeQuery($sql); + + $actual = ProcessCategory::where('CATEGORY_UID', '=', $category->CATEGORY_UID) + ->get() + ->first(); + + $this->assertNull($actual); + } + + /** + * This performs a test of connectivity to an external database using DBS_UID + * in the executeQuery() method. + * @test + */ + public function this_connects_to_an_external_database_using_the_execute_query_method() + { + $dbName = env('DB_DATABASE'); + $dbSource = factory(DbSource::class)->create([ + 'DBS_TYPE' => 'mysql', + 'DBS_SERVER' => env('DB_HOST'), + 'DBS_DATABASE_NAME' => $dbName, + 'DBS_USERNAME' => env('DB_USERNAME'), + 'DBS_PASSWORD' => G::encrypt(env('DB_PASSWORD'), $dbName) . "_2NnV3ujj3w", + 'DBS_PORT' => '3306', + ]); + + //this is important to get the connection + $_SESSION['PROCESS'] = $dbSource->PRO_UID; + + $sql = "show tables"; + $result = executeQuery($sql, $dbSource->DBS_UID); + + $this->assertTrue(is_array($result)); + } + + /** + * This performs a test of connectivity to an external database using DBS_UID + * in the executeQuery() method. + * @test + */ + public function this_connects_to_an_external_oracle_database_using_the_execute_query_method() + { + $this->markTestIncomplete('This test has not been implemented yet.'); + + $dbName = "XE"; + $dbSource = factory(DbSource::class)->create([ + 'DBS_TYPE' => 'oracle', + 'DBS_CONNECTION_TYPE' => 'NORMAL', + 'DBS_SERVER' => 'localhost', + 'DBS_DATABASE_NAME' => $dbName, + 'DBS_USERNAME' => env('DB_USERNAME'), + 'DBS_PASSWORD' => G::encrypt(env('DB_PASSWORD'), $dbName) . "_2NnV3ujj3w", + 'DBS_PORT' => '1521', + ]); + + //this is important to get the connection + $_SESSION['PROCESS'] = $dbSource->PRO_UID; + + $sql = "select username,account_status from dba_users"; + $result = executeQuery($sql, $dbSource->DBS_UID); + + $this->assertTrue(is_array($result)); + } + + /** + * This verifies the protection of the system tables. + * @test + */ + public function this_check_the_black_list() + { + $faker = Factory::create(); + $uid = G::generateUniqueID(); + $id = $faker->unique()->numberBetween(1, 10000000); + $name = str_replace("'", " ", $faker->name); + $sql = "" + . "INSERT INTO PROCESS_CATEGORY(" + . " CATEGORY_UID," + . " CATEGORY_ID," + . " CATEGORY_PARENT," + . " CATEGORY_NAME," + . " CATEGORY_ICON" + . ") VALUES" + . "(" + . " '{$uid}'," + . " '{$id}'," + . " '0'," + . " '{$name}'," + . " ''" + . ")"; + + $this->expectException(SQLException::class); + + /** + * The executeQuery() function is executing the standard error_log() + * output, this test shows error information, but will not stop the + * execution of the test. + * The error_log() method must stop being used. + */ + executeQuery($sql); + } + + /** + * This verifies the protection of the system tables. + * @test + */ + public function this_check_the_black_list_for_multiple_tables() + { + $faker = Factory::create(); + $id = $faker->unique()->numberBetween(1, 10000000); + $newName = str_replace("'", " ", $faker->name); + + $category = factory(ProcessCategory::class)->create([ + 'CATEGORY_ID' => $id + ]); + $expected = $category->toArray(); + $expected['CATEGORY_NAME'] = $newName; + unset($expected['id']); + + $sql = "" + . "UPDATE PROCESS_CATEGORY SET " + . "CATEGORY_NAME='{$newName}' " + . "WHERE " + . "CATEGORY_UID='{$category->CATEGORY_UID}'"; + + $this->expectException(SQLException::class); + + /** + * The executeQuery() function is executing the standard error_log() + * output, this test shows error information, but will not stop the + * execution of the test. + * The error_log() method must stop being used. + */ + executeQuery($sql); + } +} From d79593c83d89f88a741908aaec349c27acde1dee Mon Sep 17 00:00:00 2001 From: Andrea Adamczyk Date: Mon, 21 Oct 2019 16:30:21 -0400 Subject: [PATCH 07/19] PMC-1074 --- .../ProcessMaker/Importer/ImporterTest.php | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php index e3ddaffe7..c10fe7500 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php @@ -2,7 +2,6 @@ namespace Tests\unit\workflow\engine\src\ProcessMaker\Importer; -use Illuminate\Foundation\Testing\DatabaseTransactions; use ProcessMaker\Importer\Importer; use ProcessMaker\Model\BpmnProject; use ProcessMaker\Model\Process; @@ -11,15 +10,37 @@ use Tests\TestCase; class ImporterTest extends TestCase { - use DatabaseTransactions; - /** * Declared to avoid the incompatibility exception */ public function setUp() { - $this->markTestIncomplete();//@todo: Please correct this unit test + parent::setUp(); error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT); + config(["system.workspace" => "test"]); + $workspace = config("system.workspace"); + + if (!file_exists(PATH_DB . $workspace)) { + mkdir(PATH_DB . $workspace); + } + + if (!file_exists(PATH_DB . $workspace . PATH_SEP . "db.php")) { + $myfile = fopen(PATH_DB . $workspace . PATH_SEP . "db.php", "w"); + fwrite($myfile, " Date: Tue, 22 Oct 2019 11:15:57 -0400 Subject: [PATCH 08/19] PMC-1150 --- database/factories/DelegationFactory.php | 2 +- database/factories/ProcessFactory.php | 99 +++++++------ database/factories/TaskFactory.php | 7 +- .../src/ProcessMaker/Model/DelegationTest.php | 36 ++--- .../src/ProcessMaker/Model/ProcessTest.php | 137 +++++++++++------- .../ProcessMaker/Services/Api/LightTest.php | 2 + .../engine/src/ProcessMaker/Model/Process.php | 14 +- 7 files changed, 167 insertions(+), 130 deletions(-) diff --git a/database/factories/DelegationFactory.php b/database/factories/DelegationFactory.php index 8df29d74d..edfc13b01 100644 --- a/database/factories/DelegationFactory.php +++ b/database/factories/DelegationFactory.php @@ -53,7 +53,7 @@ $factory->state(\ProcessMaker\Model\Delegation::class, 'foreign_keys', function 'DEL_TASK_DUE_DATE' => $faker->dateTime(), 'DEL_RISK_DATE' => $faker->dateTime(), 'USR_ID' => $user->USR_ID, - 'PRO_ID' => $process->id, + 'PRO_ID' => $process->PRO_ID, 'TAS_ID' => $task->TAS_ID, 'DEL_DATA' => '' ]; diff --git a/database/factories/ProcessFactory.php b/database/factories/ProcessFactory.php index 3bfa727ed..90d64621b 100644 --- a/database/factories/ProcessFactory.php +++ b/database/factories/ProcessFactory.php @@ -5,57 +5,66 @@ use Faker\Generator as Faker; $factory->define(\ProcessMaker\Model\Process::class, function(Faker $faker) { - /** - * @todo Determine if we need more base columns populated - */ - $process = [ + // Return with default values + return [ 'PRO_UID' => G::generateUniqueID(), + 'PRO_ID' => $faker->unique()->numberBetween(1, 200000), 'PRO_TITLE' => $faker->sentence(3), 'PRO_DESCRIPTION' => $faker->paragraph(3), 'PRO_CREATE_USER' => '00000000000000000000000000000001', 'PRO_DYNAFORMS' => '', 'PRO_ITEE' => 1, - 'PRO_STATUS' => 'ACTIVE' + 'PRO_STATUS' => 'ACTIVE', + 'PRO_STATUS_ID' => 1, + 'PRO_TYPE_PROCESS' => 'PUBLIC', + 'PRO_UPDATE_DATE' => $faker->dateTime(), + 'PRO_CREATE_DATE' => $faker->dateTime(), + 'PRO_CATEGORY' => '', ]; +}); - $task1 = factory(\ProcessMaker\Model\Task::class) - ->create([ - 'PRO_UID' => $process['PRO_UID'], - 'TAS_START'=>'TRUE' - ]); +// Create a process with the foreign keys +$factory->state(\ProcessMaker\Model\Process::class, 'foreign_keys', function (Faker $faker) { + $user = factory(\ProcessMaker\Model\User::class)->create(); + return [ + 'PRO_UID' => G::generateUniqueID(), + 'PRO_ID' => $faker->unique()->numberBetween(1, 200000), + 'PRO_TITLE' => $faker->sentence(3), + 'PRO_DESCRIPTION' => $faker->paragraph(3), + 'PRO_CREATE_USER' => $user->USR_UID, + 'PRO_DYNAFORMS' => '', + 'PRO_ITEE' => 1, + 'PRO_STATUS' => 'ACTIVE', + 'PRO_STATUS_ID' => 1, + 'PRO_TYPE_PROCESS' => 'PUBLIC', + 'PRO_UPDATE_DATE' => $faker->dateTime(), + 'PRO_CREATE_DATE' => $faker->dateTime(), + 'PRO_CATEGORY' => '', + ]; +}); - $task2 = factory(\ProcessMaker\Model\Task::class) - ->create([ - 'PRO_UID' => $process['PRO_UID'], - ]); - - //routes - factory(\ProcessMaker\Model\Route::class) - ->create([ - 'PRO_UID' => $process['PRO_UID'], - 'TAS_UID' => $task2['TAS_UID'], - 'ROU_NEXT_TASK' => '-1', - ]); - - factory(\ProcessMaker\Model\Route::class) - ->create([ - 'PRO_UID' => $process['PRO_UID'], - 'TAS_UID' => $task1['TAS_UID'], - 'ROU_NEXT_TASK' => $task2['TAS_UID'] - ]); - - //User assignments - factory(\ProcessMaker\Model\TaskUser::class) - ->create([ - 'TAS_UID' => $task1['TAS_UID'], - 'USR_UID' => \ProcessMaker\Model\User::all()->random()->USR_UID - ]); - - factory(\ProcessMaker\Model\TaskUser::class) - ->create([ - 'TAS_UID' => $task2['TAS_UID'], - 'USR_UID' => \ProcessMaker\Model\User::all()->random()->USR_UID - ]); - - return $process; -}); \ No newline at end of file +// Create a process related to the flow designer +$factory->state(\ProcessMaker\Model\Process::class, 'flow', function (Faker $faker) { + // Create values in the foreign key relations + $user = factory(\ProcessMaker\Model\User::class)->create(); + $process = [ + 'PRO_UID' => G::generateUniqueID(), + 'PRO_ID' => $faker->unique()->numberBetween(1, 200000), + 'PRO_TITLE' => $faker->sentence(3), + 'PRO_DESCRIPTION' => $faker->paragraph(3), + 'PRO_CREATE_USER' => $user->USR_UID, + 'PRO_DYNAFORMS' => '', + 'PRO_ITEE' => 1, + 'PRO_STATUS' => 'ACTIVE', + 'PRO_STATUS_ID' => 1, + 'PRO_TYPE_PROCESS' => 'PUBLIC', + 'PRO_UPDATE_DATE' => $faker->dateTime(), + 'PRO_CREATE_DATE' => $faker->dateTime(), + 'PRO_CATEGORY' => '', + ]; + // Create a task related to this process + $task = factory(\ProcessMaker\Model\Task::class)->create([ + 'PRO_UID' => $process->PRO_UID, + 'PRO_ID' => $process->PRO_ID, + ]); +}); diff --git a/database/factories/TaskFactory.php b/database/factories/TaskFactory.php index 9dc2e0c20..a8347b2f9 100644 --- a/database/factories/TaskFactory.php +++ b/database/factories/TaskFactory.php @@ -8,6 +8,7 @@ use Faker\Generator as Faker; $factory->define(\ProcessMaker\Model\Task::class, function(Faker $faker) { return [ 'PRO_UID' => G::generateUniqueID(), + 'PRO_ID' => $faker->unique()->numberBetween(), 'TAS_UID' => G::generateUniqueID(), 'TAS_ID' => $faker->unique()->numberBetween(), 'TAS_TITLE' => $faker->sentence(2), @@ -33,10 +34,10 @@ $factory->define(\ProcessMaker\Model\Task::class, function(Faker $faker) { // Create a delegation with the foreign keys $factory->state(\ProcessMaker\Model\Task::class, 'foreign_keys', function (Faker $faker) { + $process = factory(\ProcessMaker\Model\Process::class)->create(); return [ - 'PRO_UID' => function() { - return $process = factory(\ProcessMaker\Model\Process::class)->create(); - }, + 'PRO_UID' => $process->PRO_UID, + 'PRO_ID' => $process->PRO_ID, 'TAS_UID' => G::generateUniqueID(), 'TAS_ID' => $faker->unique()->numberBetween(1, 200000), 'TAS_TITLE' => $faker->sentence(2), diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php index a0eeff671..27d0de8a9 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php @@ -81,16 +81,16 @@ class DelegationTest extends TestCase $process = factory(Process::class)->create(); factory(Delegation::class, 51)->states('foreign_keys')->create([ - 'PRO_ID' => $process->id + 'PRO_ID' => $process->PRO_ID ]); // Get first page, which is 25 - $results = Delegation::search(null, 0, 25, null, $process->id); + $results = Delegation::search(null, 0, 25, null, $process->PRO_ID); $this->assertCount(25, $results['data']); // Get second page, which is 25 results - $results = Delegation::search(null, 25, 25, null, $process->id); + $results = Delegation::search(null, 25, 25, null, $process->PRO_ID); $this->assertCount(25, $results['data']); // Get third page, which is only 1 result - $results = Delegation::search(null, 50, 25, null, $process->id); + $results = Delegation::search(null, 50, 25, null, $process->PRO_ID); $this->assertCount(1, $results['data']); } @@ -373,7 +373,7 @@ class DelegationTest extends TestCase { factory(Delegation::class, 3)->states('foreign_keys')->create([ 'PRO_ID' => function () { - return factory(Process::class)->create()->id; + return factory(Process::class)->create()->PRO_ID; } ]); // Get first page, all process ordering ASC @@ -541,7 +541,7 @@ class DelegationTest extends TestCase ]); // Delegations to found factory(Delegation::class, 51)->states('foreign_keys')->create([ - 'PRO_ID' => $processSearch->id + 'PRO_ID' => $processSearch->PRO_ID ]); // Get first page, which is 25 $results = Delegation::search(null, 0, 25, null, null, null, null, null, $category->CATEGORY_UID); @@ -639,7 +639,7 @@ class DelegationTest extends TestCase $application = factory(Application::class)->create(); // Create the threads for a parallel process factory(Delegation::class, 5)->states('foreign_keys')->create([ - 'PRO_ID' => $process->id, + 'PRO_ID' => $process->PRO_ID, 'TAS_ID' => $parallelTask->TAS_ID, 'APP_NUMBER' => $application->APP_NUMBER, 'DEL_THREAD_STATUS' => 'CLOSED' @@ -666,7 +666,7 @@ class DelegationTest extends TestCase $application = factory(Application::class)->create(); // Create the threads for a parallel process factory(Delegation::class, 5)->states('foreign_keys')->create([ - 'PRO_ID' => $process->id, + 'PRO_ID' => $process->PRO_ID, 'TAS_ID' => $parallelTask->TAS_ID, 'APP_NUMBER' => $application->APP_NUMBER, 'DEL_THREAD_STATUS' => 'OPEN' @@ -693,7 +693,7 @@ class DelegationTest extends TestCase $application = factory(Application::class)->create(['APP_STATUS_ID' => 2]); // Create the threads for a parallel process closed factory(Delegation::class)->states('closed')->create([ - 'PRO_ID' => $process->id, + 'PRO_ID' => $process->PRO_ID, 'PRO_UID' => $process->PRO_UID, 'TAS_ID' => $parallelTask->TAS_ID, 'APP_NUMBER' => $application->APP_NUMBER, @@ -701,7 +701,7 @@ class DelegationTest extends TestCase ]); // Create the threads for a parallel process closed factory(Delegation::class)->states('open')->create([ - 'PRO_ID' => $process->id, + 'PRO_ID' => $process->PRO_ID, 'PRO_UID' => $process->PRO_UID, 'TAS_ID' => $parallelTask->TAS_ID, 'APP_NUMBER' => $application->APP_NUMBER, @@ -745,27 +745,27 @@ class DelegationTest extends TestCase //Create a process with category $processWithCat = factory(Process::class)->create(['PRO_CATEGORY' => $category[0]->CATEGORY_UID]); factory(Delegation::class)->states('foreign_keys')->create([ - 'PRO_ID' => $processWithCat->id + 'PRO_ID' => $processWithCat->PRO_ID ]); // Create a process without category $processWithoutCat = factory(Process::class)->create(['PRO_CATEGORY' => '']); factory(Delegation::class, 5)->states('foreign_keys')->create([ - 'PRO_ID' => $processWithoutCat->id + 'PRO_ID' => $processWithoutCat->PRO_ID ]); // Search the cases when the process has related to the category and search by another category - $results = Delegation::search(null, 0, 25, null, $processWithCat->id, null, null, null, + $results = Delegation::search(null, 0, 25, null, $processWithCat->PRO_ID, null, null, null, $category[1]->CATEGORY_UID); $this->assertCount(0, $results['data']); // Search the cases when the process has related to the category and search by this relation - $results = Delegation::search(null, 0, 25, null, $processWithCat->id, null, null, null, + $results = Delegation::search(null, 0, 25, null, $processWithCat->PRO_ID, null, null, null, $category[0]->CATEGORY_UID); $this->assertCount(1, $results['data']); // Search the cases when the process does not have relation with category and search by a category - $results = Delegation::search(null, 0, 25, null, $processWithoutCat->id, null, null, null, + $results = Delegation::search(null, 0, 25, null, $processWithoutCat->PRO_ID, null, null, null, $category[1]->CATEGORY_UID); $this->assertCount(0, $results['data']); // Search the cases when the process does not have relation with category empty - $results = Delegation::search(null, 0, 25, null, $processWithoutCat->id, null, null, null, + $results = Delegation::search(null, 0, 25, null, $processWithoutCat->PRO_ID, null, null, null, ''); $this->assertCount(5, $results['data']); } @@ -786,7 +786,7 @@ class DelegationTest extends TestCase ]); //Create a delegation related to this process factory(Delegation::class)->create([ - 'PRO_ID' => $processWithCat->id + 'PRO_ID' => $processWithCat->PRO_ID ]); //Define a process related with he previous category $process = factory(Process::class)->create([ @@ -794,7 +794,7 @@ class DelegationTest extends TestCase ]); //Create a delegation related to other process factory(Delegation::class, 5)->create([ - 'PRO_ID' => $process->id, + 'PRO_ID' => $process->PRO_ID, ]); } diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php index 39cee1a3a..41af3a3d8 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php @@ -5,53 +5,92 @@ namespace Tests\unit\workflow\engine\src\ProcessMaker\Model; use G; use Illuminate\Foundation\Testing\DatabaseTransactions; use ProcessMaker\Model\Process; +use ProcessMaker\Model\ProcessCategory; +use ProcessMaker\Model\Task; use ProcessMaker\Model\User; use Tests\TestCase; /** * @coversDefaultClass ProcessMaker\BusinessModel\Model\Process */ - class ProcessTest extends TestCase { use DatabaseTransactions; + /** + * Test belongs to PRO_ID + * + * @covers \ProcessMaker\Model\Process::tasks() + * @test + */ + public function it_has_tasks() + { + $process = factory(Process::class)->create([ + 'PRO_ID' => function () { + return factory(Task::class)->create()->PRO_ID; + } + ]); + $this->assertInstanceOf(Task::class, $process->tasks); + } + + /** + * Test belongs to PRO_CREATE_USER + * + * @covers \ProcessMaker\Model\Process::creator() + * @test + */ + public function it_has_a_creator() + { + $process = factory(Process::class)->create([ + 'PRO_CREATE_USER' => function () { + return factory(User::class)->create()->USR_UID; + } + ]); + $this->assertInstanceOf(User::class, $process->creator); + } + + /** + * Test belongs to PRO_CREATE_USER + * + * @covers \ProcessMaker\Model\Process::category() + * @test + */ + public function it_has_an_category() + { + $process = factory(Process::class)->create([ + 'PRO_CATEGORY' => function () { + return factory(ProcessCategory::class)->create()->CATEGORY_UID; + } + ]); + $this->assertInstanceOf(ProcessCategory::class, $process->category); + } + /** * Test it returns all the processes for an specific user - * @covers \ProcessMaker\Model\Process::getProcessList + * + * @covers \ProcessMaker\Model\Process::getProcessList() * @test */ public function it_should_return_all_the_processes_for_an_specific_user() { - //Create user - $user1 = factory(User::class)->create(); - $user2 = factory(User::class)->create(); //Create process - $process1 = factory(Process::class)->create( - ['PRO_CREATE_USER' => $user1['USR_UID']] - ); - $process2 = factory(Process::class)->create( - ['PRO_CREATE_USER' => $user2['USR_UID']] - ); - + $process = factory(Process::class, 2)->states('foreign_keys')->create([]); //Create a Process object - $process = new Process(); + $pro = new Process(); //Call the getProcessList() method - $res = $process->getProcessList('', $user2['USR_UID']); - + $res = $pro->getProcessList('', $process[0]->PRO_CREATE_USER); //Assert the result is not empty $this->assertNotEmpty($res); //Assert there's one result $this->assertCount(1, $res); //Assert that the process returned is the one looked for - $this->assertEquals($process2['PRO_UID'], $res[0]['PRO_UID']); - //Assert the process that was not searched is not in the result - $this->assertNotEquals($process1['PRO_UID'], $res[0]['PRO_UID']); + $this->assertEquals($process[0]->PRO_UID, $res[0]['PRO_UID']); } /** * Tests that it returns the processes in an specific category - * @covers \ProcessMaker\Model\Process::getProcessList + * + * @covers \ProcessMaker\Model\Process::getProcessList() * @test */ public function it_should_return_the_processes_in_an_specific_category() @@ -62,23 +101,19 @@ class ProcessTest extends TestCase //Create user $user = factory(User::class)->create(); //Create process - $process1 = factory(Process::class)->create( - [ - 'PRO_CREATE_USER' => $user['USR_UID'], - 'PRO_CATEGORY' => $catUid1 - ] - ); - $process2 = factory(Process::class)->create( - [ - 'PRO_CREATE_USER' => $user['USR_UID'], - 'PRO_CATEGORY' => $catUid2 - ] - ); + $process1 = factory(Process::class)->create([ + 'PRO_CREATE_USER' => $user['USR_UID'], + 'PRO_CATEGORY' => $catUid1 + ]); + $process2 = factory(Process::class)->create([ + 'PRO_CREATE_USER' => $user['USR_UID'], + 'PRO_CATEGORY' => $catUid2 + ]); //Create a Process object - $process = new Process(); + $pro = new Process(); //Call the getProcessList() method - $res = $process->getProcessList($process1['PRO_CATEGORY'], $user['USR_UID']); + $res = $pro->getProcessList($process1['PRO_CATEGORY'], $user['USR_UID']); //Assert the result is not empty $this->assertNotEmpty($res); @@ -92,7 +127,8 @@ class ProcessTest extends TestCase /** * Tests that it returns an empty array if no processes where found - * @covers \ProcessMaker\Model\Process::getProcessList + * + * @covers \ProcessMaker\Model\Process::getProcessList() * @test */ public function it_should_return_empty_if_no_processes_where_found() @@ -110,7 +146,8 @@ class ProcessTest extends TestCase /** * Test it returns all the processes in status active - * @covers \ProcessMaker\Model\Process::getProcessList + * + * @covers \ProcessMaker\Model\Process::getProcessList() * @test */ public function it_should_return_all_the_processes_in_status_active() @@ -118,24 +155,18 @@ class ProcessTest extends TestCase //Create user $user = factory(User::class)->create(); //Create process - $process1 = factory(Process::class)->create( - [ - 'PRO_CREATE_USER' => $user['USR_UID'], - 'PRO_STATUS' => 'ACTIVE' - ] - ); - $process2 = factory(Process::class)->create( - [ - 'PRO_CREATE_USER' => $user['USR_UID'], - 'PRO_STATUS' => 'INACTIVE' - ] - ); - $process3 = factory(Process::class)->create( - [ - 'PRO_CREATE_USER' => $user['USR_UID'], - 'PRO_STATUS' => 'DISABLED' - ] - ); + $process1 = factory(Process::class)->create([ + 'PRO_CREATE_USER' => $user['USR_UID'], + 'PRO_STATUS' => 'ACTIVE' + ]); + $process2 = factory(Process::class)->create([ + 'PRO_CREATE_USER' => $user['USR_UID'], + 'PRO_STATUS' => 'INACTIVE' + ]); + $process3 = factory(Process::class)->create([ + 'PRO_CREATE_USER' => $user['USR_UID'], + 'PRO_STATUS' => 'DISABLED' + ]); //Create a Process object $process = new Process(); diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Services/Api/LightTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Services/Api/LightTest.php index d8d9aeb05..ba0286990 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Services/Api/LightTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Services/Api/LightTest.php @@ -34,6 +34,8 @@ class LightTest extends TestCase */ protected function setUp() { + $this->markTestIncomplete();//@todo: we need to correct this before the epic PMC-857 because this test use Unassigned cases + parent::setUp(); $this->workspace = env("DB_DATABASE", "test"); $this->clientId = config("oauthClients.pm.clientId"); diff --git a/workflow/engine/src/ProcessMaker/Model/Process.php b/workflow/engine/src/ProcessMaker/Model/Process.php index ae50c3799..0c46cb8db 100644 --- a/workflow/engine/src/ProcessMaker/Model/Process.php +++ b/workflow/engine/src/ProcessMaker/Model/Process.php @@ -14,30 +14,24 @@ class Process extends Model { // Set our table name protected $table = 'PROCESS'; + protected $primaryKey = 'PRO_ID'; // Our custom timestamp columns const CREATED_AT = 'PRO_CREATE_DATE'; const UPDATED_AT = 'PRO_UPDATE_DATE'; - /** - * Retrieve all applications that belong to this process - */ - public function applications() - { - return $this->hasMany(Application::class, 'PRO_ID', 'PRO_ID'); - } public function tasks() { - return $this->hasMany(Task::class, 'PRO_UID', 'PRO_UID'); + return $this->belongsTo(Task::class, 'PRO_ID', 'PRO_ID'); } public function creator() { - return $this->hasOne(User::class, 'PRO_CREATE_USER', 'USR_UID'); + return $this->belongsTo(User::class, 'PRO_CREATE_USER', 'USR_UID'); } public function category() { - return $this->hasOne(ProcessCategory::class, 'PRO_CATEGORY', 'CATEGORY_UID'); + return $this->belongsTo(ProcessCategory::class, 'PRO_CATEGORY', 'CATEGORY_UID'); } /** From 3e3ef9381636f02845749d07e6dc2c7b706528f6 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 1 Nov 2019 12:28:55 -0400 Subject: [PATCH 09/19] PMC-138 Assigned user lost in case of Custom Import (Promotion Manager) --- tests/resources/GranularImporterTest.json | 6440 +++++++++++++++++ tests/resources/p1normal-1.pmx | 1347 ++++ tests/resources/p1normalWithException-1.pmx | 156 + tests/resources/p1normalWithoutTitle-1.pmx | 457 ++ tests/resources/p1normalWithoutTitle2-1.pmx | 458 ++ .../resources/p2custom-1-ObjectsToImport.json | 58 + tests/resources/p2custom-1.pmx2 | 1332 ++++ tests/resources/projectData.json | 210 + tests/resources/saveAsTest-1.pmx | 457 ++ .../workflow/engine/classes/ProcessesTest.php | 31 + .../Migrator/GranularImporterTest.php | 34 + .../ProcessMaker/Importer/XmlImporterTest.php | 312 + .../Project/Adapter/BpmnWorkflowTest.php | 236 + .../ProcessMaker/Services/Api/ProjectTest.php | 61 + thirdparty/pear/Log/file.php | 7 +- workflow/engine/classes/Processes.php | 2 - .../Migrator/GranularImporter.php | 25 +- .../src/ProcessMaker/Importer/Importer.php | 61 +- .../Project/Adapter/BpmnWorkflow.php | 8 - .../src/ProcessMaker/Services/Api/Project.php | 3 +- workflow/engine/templates/processes/main.js | 2 +- 21 files changed, 11650 insertions(+), 47 deletions(-) create mode 100644 tests/resources/GranularImporterTest.json create mode 100644 tests/resources/p1normal-1.pmx create mode 100644 tests/resources/p1normalWithException-1.pmx create mode 100644 tests/resources/p1normalWithoutTitle-1.pmx create mode 100644 tests/resources/p1normalWithoutTitle2-1.pmx create mode 100644 tests/resources/p2custom-1-ObjectsToImport.json create mode 100644 tests/resources/p2custom-1.pmx2 create mode 100644 tests/resources/projectData.json create mode 100644 tests/resources/saveAsTest-1.pmx create mode 100644 tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporterTest.php create mode 100644 tests/unit/workflow/engine/src/ProcessMaker/Importer/XmlImporterTest.php create mode 100644 tests/unit/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflowTest.php create mode 100644 tests/unit/workflow/engine/src/ProcessMaker/Services/Api/ProjectTest.php diff --git a/tests/resources/GranularImporterTest.json b/tests/resources/GranularImporterTest.json new file mode 100644 index 000000000..58836197b --- /dev/null +++ b/tests/resources/GranularImporterTest.json @@ -0,0 +1,6440 @@ +[ + ["PROCESSDEFINITION", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["ASSIGNMENTRULES", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["VARIABLES", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["DYNAFORMS", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["INPUTDOCUMENTS", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["OUTPUTDOCUMENTS", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["TRIGGERS", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["REPORTTABLES", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["TEMPLATES", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["FILES", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["DBCONNECTION", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["PERMISSIONS", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["SUPERVISORS", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["SUPERVISORSOBJECTS", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": [] + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }], + ["OTHER", { + "tables": { + "bpmn": { + "activity": [{ + "act_uid": "6531814515db0a000b1a480052102224", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "4221702605db0a000b20d10010330783", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "artifact": [], + "bound": [{ + "bou_uid": "2016268785db0a000b75638084821721", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "2617400505db0a000b92f82076213131", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "bou_uid": "4221702605db0a000b20d10010330783", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6531814515db0a000b1a480052102224", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnActivity", + "bou_x": "169", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "data": [], + "diagram": [{ + "dia_uid": "9502970915db09ff768d099009727349", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_name": "test", + "dia_is_closable": "0" + }], + "documentation": [], + "event": [{ + "evn_uid": "3614756985db0a000b6fa01034717430", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "2016268785db0a000b75638084821721", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "3614756985db0a000b6fa01034717430", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, { + "evn_uid": "6197501805db0a000b8db51064043229", + "prj_uid": "3666235555db09ff7679916050315746", + "pro_uid": "1750951385db09ff768f3d7080798156", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "2617400505db0a000b92f82076213131", + "dia_uid": "9502970915db09ff768d099009727349", + "element_uid": "6197501805db0a000b8db51064043229", + "bou_element": "6332062865db09ff7171c56078315676", + "bou_element_type": "bpmnEvent", + "bou_x": "353", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }], + "extension": [], + "flow": [{ + "flo_uid": "1198047555db0a000baf2c6079046727", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "3614756985db0a000b6fa01034717430", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "6531814515db0a000b1a480052102224", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "169", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":169,\"y\":117}]", + "flo_position": "1" + }, { + "flo_uid": "1533031225db0a000bb07c6074426522", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "6531814515db0a000b1a480052102224", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "6197501805db0a000b8db51064043229", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "320", + "flo_y1": "117", + "flo_x2": "353", + "flo_y2": "117", + "flo_state": "[{\"x\":320,\"y\":117},{\"x\":353,\"y\":117}]", + "flo_position": "1" + }], + "gateway": [], + "lane": [], + "laneset": [], + "participant": [], + "process": [{ + "pro_uid": "1750951385db09ff768f3d7080798156", + "prj_uid": "3666235555db09ff7679916050315746", + "dia_uid": "9502970915db09ff768d099009727349", + "pro_name": "test", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0" + }], + "project": [{ + "prj_uid": "3666235555db09ff7679916050315746", + "prj_name": "test", + "prj_description": "", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-23 18:46:15", + "prj_update_date": "2019-10-23 18:46:28", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "" + }] + }, + "workflow": { + "stepSupervisor": [], + "processUser": [], + "groupwfs": [], + "objectPermissions": [], + "dbconnections": [], + "filesManager": [], + "reportTablesDefinition": [], + "reportTablesFields": [], + "steptriggers": [], + "triggers": [], + "steps": [], + "outputs": [], + "inputs": [], + "dynaforms": [], + "processVariables": [], + "tasks": [{ + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_ID": "0", + "TAS_UID": "6531814515db0a000b1a480052102224", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "169", + "TAS_POSY": "79", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "" + }], + "taskusers": [], + "routes": [{ + "ROU_UID": "1399970385db0a004529ba5017276522", + "ROU_PARENT": "0", + "PRO_UID": "3666235555db09ff7679916050315746", + "TAS_UID": "6531814515db0a000b1a480052102224", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }], + "lanes": [], + "gateways": [], + "subProcess": [], + "caseTracker": [], + "caseTrackerObject": [], + "stage": [], + "fieldCondition": [], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "webEntry": [], + "webEntryEvent": [], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "abeConfiguration": [], + "process": { + "PRO_UID": "3666235555db09ff7679916050315746", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "3666235555db09ff7679916050315746", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-10-23 18:46:28", + "PRO_CREATE_DATE": "2019-10-23 18:46:15", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "reportTables": [], + "reportTablesVars": [] + }, + "plugins": { + "other.plugin1": "plugin1", + "other.plugin1": "plugin2" + } + }, + "files": { + "workflow": [], + "bpmn": [] + }, + "version": "3.1", + "objects": "PROCESSDEFINITION|ASSIGNMENTRULES|VARIABLES|DYNAFORMS|INPUTDOCUMENTS|OUTPUTDOCUMENTS|TRIGGERS|REPORTTABLES|TEMPLATES|FILES|DBCONNECTION|PERMISSIONS|SUPERVISORS|SUPERVISORSOBJECTS" + }] +] \ No newline at end of file diff --git a/tests/resources/p1normal-1.pmx b/tests/resources/p1normal-1.pmx new file mode 100644 index 000000000..32510ac3f --- /dev/null +++ b/tests/resources/p1normal-1.pmx @@ -0,0 +1,1347 @@ + + + + + Michelangelo + 1571944354 + + + Linux + 70132 + workflow + p1normal + 3791798975db1b645ae65c1087884376 + + + + + 7468018505db1ee9993b2b1070358979 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + Task 2 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 3351708275db1ee99946994081694798 + 6860575715db1b645afa045044163298 + 7468018505db1ee9993b2b1070358979 + 8187976085db1f6530b8c83048123811 + bpmnActivity + 452 + 92 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 4902970765db1b64ce285a1044266267 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + Task 1 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5004349355db1b64ce2eec9008836180 + 6860575715db1b645afa045044163298 + 4902970765db1b64ce285a1044266267 + 8187976085db1f6530b8c83048123811 + bpmnActivity + 161 + 92 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 2985076995db1f67bc129e4004306312 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + Task 3 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 9200123945db1f67bc1ed16033651062 + 6860575715db1b645afa045044163298 + 2985076995db1f67bc129e4004306312 + 8187976085db1f6530b8c83048123811 + bpmnActivity + 161 + 215 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 1908789525db1f6860283b6063903900 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 9029890205db1f68600e639004996950 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 362 + 236 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 3351708275db1ee99946994081694798 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 7468018505db1ee9993b2b1070358979 + 8187976085db1f6530b8c83048123811 + bpmnActivity + 452 + 92 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 5004349355db1b64ce2eec9008836180 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 4902970765db1b64ce285a1044266267 + 8187976085db1f6530b8c83048123811 + bpmnActivity + 161 + 92 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 5198323325db1f67bd2e605027627900 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 4211285735db1f67bd1cb65009798945 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 89 + 236 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 6563251295db1b64ce90c11004753369 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 6818134175db1b64ce8b7a5094267202 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 89 + 113 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 7499430715db1ee999b87b7033716863 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 8089819605db1ee999b3f81010955094 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 362 + 113 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 7682604765db1ee9bb9a447016812802 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 6993531055db1ee9bb95021006994337 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 633 + 113 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 9200123945db1f67bc1ed16033651062 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + 2985076995db1f67bc129e4004306312 + 8187976085db1f6530b8c83048123811 + bpmnActivity + 161 + 215 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 6860575715db1b645afa045044163298 + 3791798975db1b645ae65c1087884376 + p1normal + 0 + +
+ +
+ + 9029890205db1f68600e639004996950 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + + END + EMAIL + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 1908789525db1f6860283b6063903900 + 6860575715db1b645afa045044163298 + 9029890205db1f68600e639004996950 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 362 + 236 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 4211285735db1f67bd1cb65009798945 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + + START + EMPTY + 1 + + 0 + + 0 + + + + + + LEAD + + + + + + CATCH + 5198323325db1f67bd2e605027627900 + 6860575715db1b645afa045044163298 + 4211285735db1f67bd1cb65009798945 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 89 + 236 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 6818134175db1b64ce8b7a5094267202 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + + START + EMPTY + 1 + + 0 + + 0 + + + + + + LEAD + + + + + + CATCH + 6563251295db1b64ce90c11004753369 + 6860575715db1b645afa045044163298 + 6818134175db1b64ce8b7a5094267202 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 89 + 113 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 8089819605db1ee999b3f81010955094 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + + INTERMEDIATE + EMAIL + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 7499430715db1ee999b87b7033716863 + 6860575715db1b645afa045044163298 + 8089819605db1ee999b3f81010955094 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 362 + 113 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 6993531055db1ee9bb95021006994337 + 3791798975db1b645ae65c1087884376 + 7987127295db1b645afc9b5047745451 + + END + EMPTY + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 7682604765db1ee9bb9a447016812802 + 6860575715db1b645afa045044163298 + 6993531055db1ee9bb95021006994337 + 8187976085db1f6530b8c83048123811 + bpmnEvent + 633 + 113 + 33 + 33 + 0 + 0 + bpmnDiagram + +
+ +
+ + 4097082605db1f686055266097272063 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + SEQUENCE + + 2985076995db1f67bc129e4004306312 + bpmnActivity + 0 + 9029890205db1f68600e639004996950 + bpmnEvent + 0 + 1 + + 312 + 253 + 362 + 253 + + 1 + + + 4097481445db1b64cecead8066991933 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + SEQUENCE + + 6818134175db1b64ce8b7a5094267202 + bpmnEvent + 0 + 4902970765db1b64ce285a1044266267 + bpmnActivity + 0 + 1 + + 122 + 130 + 161 + 130 + + 1 + + + 4901094985db1ee9bbc7fa5048229722 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + SEQUENCE + + 7468018505db1ee9993b2b1070358979 + bpmnActivity + 0 + 6993531055db1ee9bb95021006994337 + bpmnEvent + 0 + 1 + + 603 + 130 + 633 + 130 + + 1 + + + 5267410465db1f67bd591f6054235431 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + SEQUENCE + + 4211285735db1f67bd1cb65009798945 + bpmnEvent + 0 + 2985076995db1f67bc129e4004306312 + bpmnActivity + 0 + 1 + + 122 + 253 + 161 + 253 + + 1 + + + 7487561365db1ee999fc8b7023264135 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + SEQUENCE + + 8089819605db1ee999b3f81010955094 + bpmnEvent + 0 + 7468018505db1ee9993b2b1070358979 + bpmnActivity + 0 + 1 + + 395 + 130 + 452 + 130 + + 1 + + + 7724080085db1ee999fb554076835131 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + SEQUENCE + + 4902970765db1b64ce285a1044266267 + bpmnActivity + 0 + 8089819605db1ee999b3f81010955094 + bpmnEvent + 0 + 1 + + 312 + 130 + 362 + 130 + + 1 + +
+ +
+
+
+
+ + 7987127295db1b645afc9b5047745451 + 3791798975db1b645ae65c1087884376 + 6860575715db1b645afa045044163298 + p1normal + NONE + 0 + 0 + 0 + +
+ + + 3791798975db1b645ae65c1087884376 + p1normal + + + + + + + + + 6089564115db1b5c1377263061626288 + + + +
+
+ + + + 3791798975db1b645ae65c1087884376 + p1normal + + 3791798975db1b645ae65c1087884376 + 1 + DAYS + ACTIVE + 1 + + NORMAL + FALSE + 0 + 0 + 0 + + + + + + + + PUBLIC + 0 + 0 + + + 0 + + + 6089564115db1b5c1377263061626288 + 5000 + 10000 + 0 + 0 + 0 + + + 0 + + 1 + + 0 + No Category + 1 + +
+ + + 3791798975db1b645ae65c1087884376 + 0 + eee-627145db1f6860d0985078850763 + END-EMAIL-EVENT + + + + + + + END-EMAIL-EVENT + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + NORMAL + 362 + 253 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 3791798975db1b645ae65c1087884376 + 0 + itee-43125db1ee99a59313094776140 + INTERMEDIATE-THROW-EMAIL-EVENT + + + + + + + INTERMEDIATE-THROW-EMAIL-EVENT + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + NORMAL + 415 + 130 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 3791798975db1b645ae65c1087884376 + 0 + 4902970765db1b64ce285a1044266267 + Task 1 + + + + + + + NORMAL + 1 + + 0 + 1 + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + NORMAL + 161 + 92 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 3791798975db1b645ae65c1087884376 + 0 + 7468018505db1ee9993b2b1070358979 + Task 2 + + + + + + + NORMAL + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + NORMAL + 452 + 92 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 3791798975db1b645ae65c1087884376 + 0 + 2985076995db1f67bc129e4004306312 + Task 3 + + + + + + + NORMAL + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + NORMAL + 161 + 215 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + +
+ + + 3555208395db1f686107af5032826579 + 0 + 3791798975db1b645ae65c1087884376 + 2985076995db1f67bc129e4004306312 + eee-627145db1f6860d0985078850763 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 5246469755db1f6860c5445056549676 + 0 + 3791798975db1b645ae65c1087884376 + itee-43125db1ee99a59313094776140 + 7468018505db1ee9993b2b1070358979 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 7151514625db1f6860967a3040525347 + 0 + 3791798975db1b645ae65c1087884376 + 7468018505db1ee9993b2b1070358979 + -1 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 8187850475db1f686111712069342935 + 0 + 3791798975db1b645ae65c1087884376 + eee-627145db1f6860d0985078850763 + -1 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 9252149455db1f6860bc511025257385 + 0 + 3791798975db1b645ae65c1087884376 + 4902970765db1b64ce285a1044266267 + itee-43125db1ee99a59313094776140 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + +
+ +
+
+ + 5280634295db1eeb80035d2015812704 + 3791798975db1b645ae65c1087884376 + input1 + + VIRTUAL + ORIGINAL + PRIVATE + 0 + + INPUT + + 0 + KB + +
+ + + 7064905785db1eec0cb6894032028764 + output1 + + output1 + + 3791798975db1b645ae65c1087884376 + TCPDF + 0 + Letter + 20 + 20 + 20 + 20 + BOTH + HTML + + + 1 + + + 0 + + + + 1 + +
+ + + 6845493055db1eea444fc97033516502 + form1 + + 3791798975db1b645ae65c1087884376 + xmlform + + + + 2 + + +
+ +
+
+ + 2985076995db1f67bc129e4004306312 + 0 + 1569558025db1d455463116041576462 + 1 + 2 + 0 + + + 4902970765db1b64ce285a1044266267 + 0 + 1966964945db1d44e8c2119037112164 + 1 + 2 + 0 + +
+ + + 1569558025db1d455463116041576462 + group2 + ACTIVE + 0 + + NORMAL + + + 1966964945db1d44e8c2119037112164 + group1 + ACTIVE + 0 + + NORMAL + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + 8533020105db1eea6e4cd68049016136 + 3791798975db1b645ae65c1087884376 + textVar001 + string + 10 + string + workflow + + 0 + + + + +
+ +
+
+
+
+
+
+
+
+ + 5388807695db1ef19eaa7a2018607570 + 3791798975db1b645ae65c1087884376 + 6089564115db1b5c1377263061626288 + + + file + 1 + + + + + 6324589655db1ef19eaed60034945533 + 3791798975db1b645ae65c1087884376 + 6089564115db1b5c1377263061626288 + + + file + 1 + + + +
+ + + 7501504075db1ef22311f76054540782 + 3791798975db1b645ae65c1087884376 + 4902970765db1b64ce285a1044266267 + LINK + actionsByEmailErrorReply.html + NORMAL + 6845493055db1eea444fc97033516502 + test + + + 0 + 0 + + + test + 0 + + + + +
+ + + 1519929165db1f6860fdd84026452123 + 3791798975db1b645ae65c1087884376 + 9029890205db1f68600e639004996950 + bpmnEvent + eee-627145db1f6860d0985078850763 + + + 9592529235db1ee99a8d202078101366 + 3791798975db1b645ae65c1087884376 + 8089819605db1ee999b3f81010955094 + bpmnEvent + itee-43125db1ee99a59313094776140 + +
+
+ + + form1 + + + + +
diff --git a/tests/resources/p1normalWithException-1.pmx b/tests/resources/p1normalWithException-1.pmx new file mode 100644 index 000000000..8a6c1a717 --- /dev/null +++ b/tests/resources/p1normalWithException-1.pmx @@ -0,0 +1,156 @@ + + + + + Michelangelo + 1571948720 + + + Linux + 70132 + workflow + p1normalWithException + 8881455415db208a91cf144066685122 + + + +
+
+
+
+ + 8820979315db208a91fd6c8053956230 + 8881455415db208a91cf144066685122 + p1normalWithException + 0 + +
+ +
+
+
+
+
+
+
+
+ + 3930204045db208a92004a9028237855 + 8881455415db208a91cf144066685122 + 8820979315db208a91fd6c8053956230 + p1normalWithException + NONE + 0 + 0 + 0 + +
+ + + 8881455415db208a91cf144066685122 + p1normalWithException + + + + + + + + + 6089564115db1b5c1377263061626288 + + + +
+
+ + + + 8881455415db208a91cf144066685122 + p1normalWithException + + 8881455415db208a91cf144066685122 + 1 + DAYS + ACTIVE + 1 + + NORMAL + FALSE + 0 + 0 + 0 + + + + + + + + PUBLIC + 0 + 0 + + + 0 + + + 6089564115db1b5c1377263061626288 + 5000 + 10000 + 0 + 0 + 0 + + + 0 + + 1 + + 0 + No Category + 1 + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/tests/resources/p1normalWithoutTitle-1.pmx b/tests/resources/p1normalWithoutTitle-1.pmx new file mode 100644 index 000000000..2fc25d3c9 --- /dev/null +++ b/tests/resources/p1normalWithoutTitle-1.pmx @@ -0,0 +1,457 @@ + + + + + Michelangelo + 1571952775 + + + Linux + 70132 + workflow + p1normalWithoutTitle + 2478934075db21861883091023775646 + + +
+ + 8121252905db218785abec1096943718 + 2478934075db21861883091023775646 + 9720974155db218618a7ea7026775087 + Task 1 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 8364747905db218785b7404015959810 + 5898396935db218618a4c53034929820 + 8121252905db218785abec1096943718 + 4784291195db21862519f69041420620 + bpmnActivity + 180 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 2283183075db218786549c5095832051 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + 4205250135db2187864df85018323241 + 4784291195db21862519f69041420620 + bpmnEvent + 378 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 7810988885db21878637855082875408 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + 9473649565db2187862a5f7053654507 + 4784291195db21862519f69041420620 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 8364747905db218785b7404015959810 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + 8121252905db218785abec1096943718 + 4784291195db21862519f69041420620 + bpmnActivity + 180 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 5898396935db218618a4c53034929820 + 2478934075db21861883091023775646 + p1normalWithoutTitle + 0 + +
+ +
+ + 4205250135db2187864df85018323241 + 2478934075db21861883091023775646 + 9720974155db218618a7ea7026775087 + + END + EMPTY + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 2283183075db218786549c5095832051 + 5898396935db218618a4c53034929820 + 4205250135db2187864df85018323241 + 4784291195db21862519f69041420620 + bpmnEvent + 378 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 9473649565db2187862a5f7053654507 + 2478934075db21861883091023775646 + 9720974155db218618a7ea7026775087 + + START + EMPTY + 1 + + 0 + + 0 + + + + + + LEAD + + + + + + CATCH + 7810988885db21878637855082875408 + 5898396935db218618a4c53034929820 + 9473649565db2187862a5f7053654507 + 4784291195db21862519f69041420620 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + +
+ +
+ + 1154017545db21878680728046544809 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + SEQUENCE + + 9473649565db2187862a5f7053654507 + bpmnEvent + 0 + 8121252905db218785abec1096943718 + bpmnActivity + 0 + 1 + + 133 + 117 + 180 + 117 + + 1 + + + 4538701885db21878683a20080373564 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + SEQUENCE + + 8121252905db218785abec1096943718 + bpmnActivity + 0 + 4205250135db2187864df85018323241 + bpmnEvent + 0 + 1 + + 331 + 117 + 378 + 117 + + 1 + +
+ +
+
+
+
+ + 9720974155db218618a7ea7026775087 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + p1normalWithoutTitle + NONE + 0 + 0 + 0 + +
+ + + 2478934075db21861883091023775646 + p1normalWithoutTitle + + + + + + + + + 00000000000000000000000000000001 + + + +
+
+ + + + 2478934075db21861883091023775646 + p1normalWithoutTitle + + 2478934075db21861883091023775646 + 1 + DAYS + ACTIVE + 1 + + NORMAL + FALSE + 0 + 0 + 0 + + + + + + + + PUBLIC + 0 + 0 + + + 0 + + + 00000000000000000000000000000001 + 5000 + 10000 + 0 + 0 + 0 + + + 0 + + 1 + + 0 + No Category + 1 + +
+ + + 2478934075db21861883091023775646 + 0 + 8121252905db218785abec1096943718 + Task 1 + + + + + + + NORMAL + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + NORMAL + 180 + 79 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + +
+ + + 3616902375db2187ea8ff68051664528 + 0 + 2478934075db21861883091023775646 + 8121252905db218785abec1096943718 + -1 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/tests/resources/p1normalWithoutTitle2-1.pmx b/tests/resources/p1normalWithoutTitle2-1.pmx new file mode 100644 index 000000000..642b1253f --- /dev/null +++ b/tests/resources/p1normalWithoutTitle2-1.pmx @@ -0,0 +1,458 @@ + + + + + Michelangelo + 1571953275 + + + Linux + 70132 + 1 + workflow + p1normalWithoutTitle2 + 2478934075db21861883091023775646 + + +
+ + 8121252905db218785abec1096943718 + 2478934075db21861883091023775646 + 9720974155db218618a7ea7026775087 + Task 1 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 8364747905db218785b7404015959810 + 5898396935db218618a4c53034929820 + 8121252905db218785abec1096943718 + 4784291195db21862519f69041420620 + bpmnActivity + 180 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 2283183075db218786549c5095832051 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + 4205250135db2187864df85018323241 + 4784291195db21862519f69041420620 + bpmnEvent + 378 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 7810988885db21878637855082875408 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + 9473649565db2187862a5f7053654507 + 4784291195db21862519f69041420620 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 8364747905db218785b7404015959810 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + 8121252905db218785abec1096943718 + 4784291195db21862519f69041420620 + bpmnActivity + 180 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 5898396935db218618a4c53034929820 + 2478934075db21861883091023775646 + p1normalWithoutTitle + 0 + +
+ +
+ + 4205250135db2187864df85018323241 + 2478934075db21861883091023775646 + 9720974155db218618a7ea7026775087 + + END + EMPTY + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 2283183075db218786549c5095832051 + 5898396935db218618a4c53034929820 + 4205250135db2187864df85018323241 + 4784291195db21862519f69041420620 + bpmnEvent + 378 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 9473649565db2187862a5f7053654507 + 2478934075db21861883091023775646 + 9720974155db218618a7ea7026775087 + + START + EMPTY + 1 + + 0 + + 0 + + + + + + LEAD + + + + + + CATCH + 7810988885db21878637855082875408 + 5898396935db218618a4c53034929820 + 9473649565db2187862a5f7053654507 + 4784291195db21862519f69041420620 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + +
+ +
+ + 1154017545db21878680728046544809 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + SEQUENCE + + 9473649565db2187862a5f7053654507 + bpmnEvent + 0 + 8121252905db218785abec1096943718 + bpmnActivity + 0 + 1 + + 133 + 117 + 180 + 117 + + 1 + + + 4538701885db21878683a20080373564 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + SEQUENCE + + 8121252905db218785abec1096943718 + bpmnActivity + 0 + 4205250135db2187864df85018323241 + bpmnEvent + 0 + 1 + + 331 + 117 + 378 + 117 + + 1 + +
+ +
+
+
+
+ + 9720974155db218618a7ea7026775087 + 2478934075db21861883091023775646 + 5898396935db218618a4c53034929820 + p1normalWithoutTitle2 + NONE + 0 + 0 + 0 + +
+ + + 2478934075db21861883091023775646 + p1normalWithoutTitle2 + + + + + + + + + 00000000000000000000000000000001 + + + +
+
+ + + + 2478934075db21861883091023775646 + p1normalWithoutTitle2 + + 2478934075db21861883091023775646 + 1 + DAYS + ACTIVE + 1 + + NORMAL + FALSE + 0 + 0 + 0 + + + + + + + + PUBLIC + 0 + 0 + + + 0 + + + 00000000000000000000000000000001 + 5000 + 10000 + 0 + 0 + 0 + + + 0 + + 1 + + 0 + No Category + 1 + +
+ + + 2478934075db21861883091023775646 + 0 + 8121252905db218785abec1096943718 + Task 1 + + + + + + + NORMAL + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + NORMAL + 180 + 79 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + +
+ + + 3616902375db2187ea8ff68051664528 + 0 + 2478934075db21861883091023775646 + 8121252905db218785abec1096943718 + -1 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/tests/resources/p2custom-1-ObjectsToImport.json b/tests/resources/p2custom-1-ObjectsToImport.json new file mode 100644 index 000000000..3260c9b49 --- /dev/null +++ b/tests/resources/p2custom-1-ObjectsToImport.json @@ -0,0 +1,58 @@ +[ + { + "id": "PROCESSDEFINITION", + "action": "replace" + }, + { + "id": "ASSIGNMENTRULES", + "action": "replace" + }, + { + "id": "VARIABLES", + "action": "replace" + }, + { + "id": "DYNAFORMS", + "action": "replace" + }, + { + "id": "INPUTDOCUMENTS", + "action": "replace" + }, + { + "id": "OUTPUTDOCUMENTS", + "action": "replace" + }, + { + "id": "TRIGGERS", + "action": "replace" + }, + { + "id": "REPORTTABLES", + "action": "replace" + }, + { + "id": "TEMPLATES", + "action": "replace" + }, + { + "id": "FILES", + "action": "replace" + }, + { + "id": "DBCONNECTION", + "action": "replace" + }, + { + "id": "PERMISSIONS", + "action": "replace" + }, + { + "id": "SUPERVISORS", + "action": "replace" + }, + { + "id": "SUPERVISORSOBJECTS", + "action": "replace" + } +] diff --git a/tests/resources/p2custom-1.pmx2 b/tests/resources/p2custom-1.pmx2 new file mode 100644 index 000000000..1bb34183e --- /dev/null +++ b/tests/resources/p2custom-1.pmx2 @@ -0,0 +1,1332 @@ + + + + Michelangelo + 1571944360 + + + Linux + 70132 + workflow + p2custom + 2639720135db1b654e90bb0007698870 + 5 + + + +
+ + 3245720655db1eedbaabb29053899935 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + Task 2 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1415196755db1eedbab38d4035851784 + 2807026855db1b654ea35e6082742521 + 3245720655db1eedbaabb29053899935 + 7036925395db1f6978a2e02021334287 + bpmnActivity + 429 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 6154650435db1f6a398d923012744605 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + Task 3 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1586619955db1f6a399bd40079286920 + 2807026855db1b654ea35e6082742521 + 6154650435db1f6a398d923012744605 + 7036925395db1f6978a2e02021334287 + bpmnActivity + 167 + 207 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 5845207425db1b659b42857076713536 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + Task 1 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 9152003615db1b659b4cb53070240824 + 2807026855db1b654ea35e6082742521 + 5845207425db1b659b42857076713536 + 7036925395db1f6978a2e02021334287 + bpmnActivity + 167 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 1011184775db1f6a3a96434061470076 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 7357355595db1f6a3a8cdc2060882022 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 362 + 228 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 1415196755db1eedbab38d4035851784 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 3245720655db1eedbaabb29053899935 + 7036925395db1f6978a2e02021334287 + bpmnActivity + 429 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 1586619955db1f6a399bd40079286920 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 6154650435db1f6a398d923012744605 + 7036925395db1f6978a2e02021334287 + bpmnActivity + 167 + 207 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 3969874895db1eedbb70be0087354130 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 7874704165db1eedbb6bd42071953002 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 613 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 4482681925db1f6a3a6f828077668800 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 8535144015db1f6a3a6a330076818572 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 100 + 228 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 6658962515db1eedbb4acf4017500451 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 3022280905db1eedbb3e614047935649 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 362 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 9152003615db1b659b4cb53070240824 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 5845207425db1b659b42857076713536 + 7036925395db1f6978a2e02021334287 + bpmnActivity + 167 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 9697684335db1b659b9e910072073379 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + 7691964815db1b659b96432076711609 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + +
+ +
+ + 2807026855db1b654ea35e6082742521 + 2639720135db1b654e90bb0007698870 + p2custom + 0 + +
+ +
+ + 7357355595db1f6a3a8cdc2060882022 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + + END + EMAIL + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 1011184775db1f6a3a96434061470076 + 2807026855db1b654ea35e6082742521 + 7357355595db1f6a3a8cdc2060882022 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 362 + 228 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 7874704165db1eedbb6bd42071953002 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + + END + EMPTY + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 3969874895db1eedbb70be0087354130 + 2807026855db1b654ea35e6082742521 + 7874704165db1eedbb6bd42071953002 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 613 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 8535144015db1f6a3a6a330076818572 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + + START + EMPTY + 1 + + 0 + + 0 + + + + + + LEAD + + + + + + CATCH + 4482681925db1f6a3a6f828077668800 + 2807026855db1b654ea35e6082742521 + 8535144015db1f6a3a6a330076818572 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 100 + 228 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 3022280905db1eedbb3e614047935649 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + + INTERMEDIATE + EMAIL + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 6658962515db1eedbb4acf4017500451 + 2807026855db1b654ea35e6082742521 + 3022280905db1eedbb3e614047935649 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 362 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 7691964815db1b659b96432076711609 + 2639720135db1b654e90bb0007698870 + 9803296815db1b654ea56b1085219672 + + START + EMPTY + 1 + + 0 + + 0 + + + + + + LEAD + + + + + + CATCH + 9697684335db1b659b9e910072073379 + 2807026855db1b654ea35e6082742521 + 7691964815db1b659b96432076711609 + 7036925395db1f6978a2e02021334287 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + +
+ +
+ + 3728456965db1eedbbac615073851208 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + SEQUENCE + + 3245720655db1eedbaabb29053899935 + bpmnActivity + 0 + 7874704165db1eedbb6bd42071953002 + bpmnEvent + 0 + 1 + + 580 + 117 + 613 + 117 + + 1 + + + 5353398855db1b659bc8697088565371 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + SEQUENCE + + 7691964815db1b659b96432076711609 + bpmnEvent + 0 + 5845207425db1b659b42857076713536 + bpmnActivity + 0 + 1 + + 133 + 117 + 167 + 117 + + 1 + + + 5890861825db1f6a3ac4294023770534 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + SEQUENCE + + 6154650435db1f6a398d923012744605 + bpmnActivity + 0 + 7357355595db1f6a3a8cdc2060882022 + bpmnEvent + 0 + 1 + + 318 + 245 + 362 + 245 + + 1 + + + 8753058285db1eedbba9fd3005056496 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + SEQUENCE + + 5845207425db1b659b42857076713536 + bpmnActivity + 0 + 3022280905db1eedbb3e614047935649 + bpmnEvent + 0 + 1 + + 318 + 117 + 362 + 117 + + 1 + + + 9169111145db1f6a3ac20b1054029279 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + SEQUENCE + + 8535144015db1f6a3a6a330076818572 + bpmnEvent + 0 + 6154650435db1f6a398d923012744605 + bpmnActivity + 0 + 1 + + 133 + 245 + 167 + 245 + + 1 + + + 9576850685db1eedbbab0d8030362810 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + SEQUENCE + + 3022280905db1eedbb3e614047935649 + bpmnEvent + 0 + 3245720655db1eedbaabb29053899935 + bpmnActivity + 0 + 1 + + 395 + 117 + 429 + 117 + + 1 + +
+ +
+
+
+
+ + 9803296815db1b654ea56b1085219672 + 2639720135db1b654e90bb0007698870 + 2807026855db1b654ea35e6082742521 + p2custom + NONE + 0 + 0 + 0 + +
+ + + 2639720135db1b654e90bb0007698870 + p2custom + + + + + + + + + 6089564115db1b5c1377263061626288 + + + +
+
+ + +
+
+ + 1569558025db1d455463116041576462 + group2 + ACTIVE + 0 + + NORMAL + +
+ +
+
+ + 8936296765db1ef03630251040569733 + 2639720135db1b654e90bb0007698870 + 6089564115db1b5c1377263061626288 + + + file + 1 + + + + + 9581273955db1ef0362b5a8036941865 + 2639720135db1b654e90bb0007698870 + 6089564115db1b5c1377263061626288 + + + file + 1 + + + +
+ +
+
+
+
+
+ + 6461349955db1eef9027346087488246 + output1 + + output1 + + 2639720135db1b654e90bb0007698870 + TCPDF + 0 + Letter + 20 + 20 + 20 + 20 + BOTH + HTML + + + 1 + + + 0 + + + + 1 + +
+ + + 3020669105db1eeed47afc9044288024 + 2639720135db1b654e90bb0007698870 + input1 + + VIRTUAL + ORIGINAL + PRIVATE + 0 + + INPUT + + 0 + KB + +
+ + + 3225780695db1eee08c4093098266393 + form1 + + 2639720135db1b654e90bb0007698870 + xmlform + + + + 2 + + +
+ + + 9615012165db1eee387a975062444029 + 2639720135db1b654e90bb0007698870 + textVar001 + string + 10 + string + workflow + + 0 + + + + +
+ + + 2639720135db1b654e90bb0007698870 + 0 + eee-262525db1f6a3b99751064714031 + END-EMAIL-EVENT + + + + + + + END-EMAIL-EVENT + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + NORMAL + 362 + 245 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 2639720135db1b654e90bb0007698870 + 0 + itee-42095db1eedbc26a92032433919 + INTERMEDIATE-THROW-EMAIL-EVENT + + + + + + + INTERMEDIATE-THROW-EMAIL-EVENT + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + NORMAL + 395 + 117 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 2639720135db1b654e90bb0007698870 + 0 + 5845207425db1b659b42857076713536 + Task 1 + + + + + + + NORMAL + 1 + + 0 + 1 + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + NORMAL + 167 + 79 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 2639720135db1b654e90bb0007698870 + 0 + 3245720655db1eedbaabb29053899935 + Task 2 + + + + + + + NORMAL + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + NORMAL + 429 + 79 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + + + 2639720135db1b654e90bb0007698870 + 0 + 6154650435db1f6a398d923012744605 + Task 3 + + + + + + + NORMAL + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + NORMAL + 167 + 207 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + +
+ + + 5845207425db1b659b42857076713536 + 0 + 1569558025db1d455463116041576462 + 1 + 2 + 0 + + + 6154650435db1f6a398d923012744605 + 0 + 1569558025db1d455463116041576462 + 1 + 2 + 0 + +
+ + + 1982862145db1f6a3c36836009069677 + 0 + 2639720135db1b654e90bb0007698870 + 5845207425db1b659b42857076713536 + itee-42095db1eedbc26a92032433919 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 3856654635db1f6a3b7a507072637336 + 0 + 2639720135db1b654e90bb0007698870 + 3245720655db1eedbaabb29053899935 + -1 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 5451176875db1f6a3c49c94042808716 + 0 + 2639720135db1b654e90bb0007698870 + itee-42095db1eedbc26a92032433919 + 3245720655db1eedbaabb29053899935 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 5648275805db1f6a3bf1d29077384245 + 0 + 2639720135db1b654e90bb0007698870 + eee-262525db1f6a3b99751064714031 + -1 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + + + 6103882205db1f6a3be47d1051865338 + 0 + 2639720135db1b654e90bb0007698870 + 6154650435db1f6a398d923012744605 + eee-262525db1f6a3b99751064714031 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + 9155228525db1ef0c8cce43016037448 + 2639720135db1b654e90bb0007698870 + 5845207425db1b659b42857076713536 + LINK + actionsByEmailErrorReply.html + NORMAL + 3225780695db1eee08c4093098266393 + test + + + 0 + 0 + + + test + 0 + + + + +
+ + + 2639720135db1b654e90bb0007698870 + p2custom + + 2639720135db1b654e90bb0007698870 + 1 + DAYS + ACTIVE + 1 + + NORMAL + FALSE + 0 + 0 + 0 + + + + + + + + PUBLIC + 0 + 0 + + + 0 + + + 6089564115db1b5c1377263061626288 + 5000 + 10000 + 0 + 0 + 0 + + + 0 + + 1 + + 0 + No Category + 1 + +
+ +
+ + + + + actionsByEmail.html + + + + + actionsByEmailErrorReply.html + + + + + \ No newline at end of file diff --git a/tests/resources/projectData.json b/tests/resources/projectData.json new file mode 100644 index 000000000..26949d74b --- /dev/null +++ b/tests/resources/projectData.json @@ -0,0 +1,210 @@ +{ + "prj_uid": "3139884745db99e69bd2683082492802", + "prj_name": "createBPMN", + "prj_description": "test", + "prj_target_namespace": "", + "prj_expresion_language": "", + "prj_type_language": "", + "prj_exporter": "", + "prj_exporter_version": "", + "prj_create_date": "2019-10-30 14:30:01", + "prj_update_date": "2019-10-30 14:30:10", + "prj_author": "00000000000000000000000000000001", + "prj_author_version": "", + "prj_original_source": "", + "prj_type": "NONE", + "prj_category": "test", + "pro_status": "ACTIVE", + "diagrams": [ + { + "dia_uid": "7012431415db99e69c064a1027112720", + "prj_uid": "3139884745db99e69bd2683082492802", + "dia_name": "createBPMN", + "dia_is_closable": "0", + "activities": [ + { + "act_uid": "5165535925db99e72bcae07068945328", + "prj_uid": "3139884745db99e69bd2683082492802", + "pro_uid": "9258990045db99e69c08f67059175864", + "act_name": "Task 1", + "act_type": "TASK", + "act_is_for_compensation": "0", + "act_start_quantity": "1", + "act_completion_quantity": "0", + "act_task_type": "EMPTY", + "act_implementation": "", + "act_instantiate": "0", + "act_script_type": "", + "act_script": "", + "act_loop_type": "EMPTY", + "act_test_before": "0", + "act_loop_maximum": "0", + "act_loop_condition": "0", + "act_loop_cardinality": "0", + "act_loop_behavior": "0", + "act_is_adhoc": "0", + "act_is_collapsed": "0", + "act_completion_condition": "0", + "act_ordering": "0", + "act_cancel_remaining_instances": "1", + "act_protocol": "0", + "act_method": "0", + "act_is_global": "0", + "act_referer": "0", + "act_default_flow": "0", + "act_master_diagram": "0", + "bou_uid": "2584782805db99e72bd0980067403101", + "dia_uid": "7012431415db99e69c064a1027112720", + "element_uid": "5165535925db99e72bcae07068945328", + "bou_element": "4022955515db99e6aef9528027473017", + "bou_element_type": "bpmnActivity", + "bou_x": "177", + "bou_y": "79", + "bou_width": "150", + "bou_height": "75", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + } + ], + "artifacts": [], + "events": [ + { + "evn_uid": "3038076035db99e72c3c135082812123", + "prj_uid": "3139884745db99e69bd2683082492802", + "pro_uid": "9258990045db99e69c08f67059175864", + "evn_name": "", + "evn_type": "END", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "THROW", + "bou_uid": "1455533305db99e72c3fae0095171965", + "dia_uid": "7012431415db99e69c064a1027112720", + "element_uid": "3038076035db99e72c3c135082812123", + "bou_element": "4022955515db99e6aef9528027473017", + "bou_element_type": "bpmnEvent", + "bou_x": "365", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + }, + { + "evn_uid": "5511258545db99e72c29944076205232", + "prj_uid": "3139884745db99e69bd2683082492802", + "pro_uid": "9258990045db99e69c08f67059175864", + "evn_name": "", + "evn_type": "START", + "evn_marker": "EMPTY", + "evn_is_interrupting": "1", + "evn_attached_to": "", + "evn_cancel_activity": "0", + "evn_activity_ref": "", + "evn_wait_for_completion": "0", + "evn_error_name": "", + "evn_error_code": "", + "evn_escalation_name": "", + "evn_escalation_code": "", + "evn_condition": "", + "evn_message": "LEAD", + "evn_operation_name": "", + "evn_operation_implementation_ref": "", + "evn_time_date": "", + "evn_time_cycle": "", + "evn_time_duration": "", + "evn_behavior": "CATCH", + "bou_uid": "7732258935db99e72c2e3a3068518403", + "dia_uid": "7012431415db99e69c064a1027112720", + "element_uid": "5511258545db99e72c29944076205232", + "bou_element": "4022955515db99e6aef9528027473017", + "bou_element_type": "bpmnEvent", + "bou_x": "100", + "bou_y": "100", + "bou_width": "33", + "bou_height": "33", + "bou_rel_position": "0", + "bou_size_identical": "0", + "bou_container": "bpmnDiagram" + } + ], + "flows": [ + { + "flo_uid": "6368397865db99e72c52903064569710", + "prj_uid": "3139884745db99e69bd2683082492802", + "dia_uid": "7012431415db99e69c064a1027112720", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "5511258545db99e72c29944076205232", + "flo_element_origin_type": "bpmnEvent", + "flo_element_origin_port": "0", + "flo_element_dest": "5165535925db99e72bcae07068945328", + "flo_element_dest_type": "bpmnActivity", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "133", + "flo_y1": "117", + "flo_x2": "177", + "flo_y2": "117", + "flo_state": "[{\"x\":133,\"y\":117},{\"x\":177,\"y\":117}]", + "flo_position": "1" + }, + { + "flo_uid": "7620102575db99e72c53873033338002", + "prj_uid": "3139884745db99e69bd2683082492802", + "dia_uid": "7012431415db99e69c064a1027112720", + "flo_type": "SEQUENCE", + "flo_name": " ", + "flo_element_origin": "5165535925db99e72bcae07068945328", + "flo_element_origin_type": "bpmnActivity", + "flo_element_origin_port": "0", + "flo_element_dest": "3038076035db99e72c3c135082812123", + "flo_element_dest_type": "bpmnEvent", + "flo_element_dest_port": "0", + "flo_is_inmediate": "1", + "flo_condition": "", + "flo_x1": "328", + "flo_y1": "117", + "flo_x2": "365", + "flo_y2": "117", + "flo_state": "[{\"x\":328,\"y\":117},{\"x\":365,\"y\":117}]", + "flo_position": "1" + } + ], + "gateways": [], + "data": [], + "participants": [], + "laneset": [], + "lanes": [] + } + ], + "process": { + "pro_uid": "9258990045db99e69c08f67059175864", + "prj_uid": "3139884745db99e69bd2683082492802", + "dia_uid": "7012431415db99e69c064a1027112720", + "pro_name": "createBPMN", + "pro_type": "NONE", + "pro_is_executable": "0", + "pro_is_closed": "0", + "pro_is_subprocess": "0", + "pro_id": "2", + "pro_status": "ACTIVE" + } +} \ No newline at end of file diff --git a/tests/resources/saveAsTest-1.pmx b/tests/resources/saveAsTest-1.pmx new file mode 100644 index 000000000..a9362c335 --- /dev/null +++ b/tests/resources/saveAsTest-1.pmx @@ -0,0 +1,457 @@ + + + + + Michelangelo + 1572442915 + + + Linux + 70133 + sample + saveAsTest + 9745053325db99314dac446019554453 + + +
+ + 6645237135db9931f1d5082018688082 + 9745053325db99314dac446019554453 + 9211677625db99314ddf9d0097887435 + Task 1 + TASK + 0 + 1 + 0 + EMPTY + + 0 + + + EMPTY + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 2024203105db9931f1de3a1071225392 + 8359203175db99314ddd311055114412 + 6645237135db9931f1d5082018688082 + 6736509965db99315c363a1037462295 + bpmnActivity + 169 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + +
+ +
+ + 2024203105db9931f1de3a1071225392 + 9745053325db99314dac446019554453 + 8359203175db99314ddd311055114412 + 6645237135db9931f1d5082018688082 + 6736509965db99315c363a1037462295 + bpmnActivity + 169 + 79 + 150 + 75 + 0 + 0 + bpmnDiagram + + + 5243884725db9931f233c43015663499 + 9745053325db99314dac446019554453 + 8359203175db99314ddd311055114412 + 2454646545db9931f22b211032408082 + 6736509965db99315c363a1037462295 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 5496002045db9931f248303051598631 + 9745053325db99314dac446019554453 + 8359203175db99314ddd311055114412 + 6813770985db9931f244b78069429303 + 6736509965db99315c363a1037462295 + bpmnEvent + 355 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + +
+ +
+ + 8359203175db99314ddd311055114412 + 9745053325db99314dac446019554453 + saveAsTest + 0 + +
+ +
+ + 2454646545db9931f22b211032408082 + 9745053325db99314dac446019554453 + 9211677625db99314ddf9d0097887435 + + START + EMPTY + 1 + + 0 + + 0 + + + + + + LEAD + + + + + + CATCH + 5243884725db9931f233c43015663499 + 8359203175db99314ddd311055114412 + 2454646545db9931f22b211032408082 + 6736509965db99315c363a1037462295 + bpmnEvent + 100 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + + + 6813770985db9931f244b78069429303 + 9745053325db99314dac446019554453 + 9211677625db99314ddf9d0097887435 + + END + EMPTY + 1 + + 0 + + 0 + + + + + + + + + + + + THROW + 5496002045db9931f248303051598631 + 8359203175db99314ddd311055114412 + 6813770985db9931f244b78069429303 + 6736509965db99315c363a1037462295 + bpmnEvent + 355 + 100 + 33 + 33 + 0 + 0 + bpmnDiagram + +
+ +
+ + 1625220875db9931f263b52007015986 + 9745053325db99314dac446019554453 + 8359203175db99314ddd311055114412 + SEQUENCE + + 2454646545db9931f22b211032408082 + bpmnEvent + 0 + 6645237135db9931f1d5082018688082 + bpmnActivity + 0 + 1 + + 133 + 117 + 169 + 117 + + 1 + + + 8430380895db9931f265247058799674 + 9745053325db99314dac446019554453 + 8359203175db99314ddd311055114412 + SEQUENCE + + 6645237135db9931f1d5082018688082 + bpmnActivity + 0 + 6813770985db9931f244b78069429303 + bpmnEvent + 0 + 1 + + 320 + 117 + 355 + 117 + + 1 + +
+ +
+
+
+
+ + 9211677625db99314ddf9d0097887435 + 9745053325db99314dac446019554453 + 8359203175db99314ddd311055114412 + saveAsTest + NONE + 0 + 0 + 0 + +
+ + + 9745053325db99314dac446019554453 + saveAsTest + + + + + + + + + 00000000000000000000000000000001 + + + +
+
+ + + + 9745053325db99314dac446019554453 + saveAsTest + + 9745053325db99314dac446019554453 + 1 + DAYS + ACTIVE + 1 + + NORMAL + FALSE + 0 + 0 + 0 + + + + + + + + PUBLIC + 0 + 0 + + + 0 + + + 00000000000000000000000000000001 + 5000 + 10000 + 0 + 0 + 0 + + + 0 + + 1 + + 0 + No Category + 1 + +
+ + + 9745053325db99314dac446019554453 + 0 + 6645237135db9931f1d5082018688082 + Task 1 + + + + + + + NORMAL + 1 + + 0 + + DAYS + FALSE + + BALANCED + + + + + FALSE + FALSE + FALSE + 0 + 0 + FALSE + FALSE + FALSE + FALSE + FALSE + + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + NORMAL + 169 + 79 + 110 + 60 + + + + + 0 + 0 + + + EVERY_TIME + 0 + FALSE + + FALSE + + FALSE + 0 + text + alert_message.html + + + + + +
+ + + 3378136175db9931f2c1683070436026 + 0 + 9745053325db99314dac446019554453 + 6645237135db9931f1d5082018688082 + -1 + 1 + SEQUENTIAL + 0 + + FALSE + FALSE + TRUE + 1 + 0 + 1 + 2 + + + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/tests/unit/workflow/engine/classes/ProcessesTest.php b/tests/unit/workflow/engine/classes/ProcessesTest.php index c5632646e..5abf4eb07 100644 --- a/tests/unit/workflow/engine/classes/ProcessesTest.php +++ b/tests/unit/workflow/engine/classes/ProcessesTest.php @@ -428,4 +428,35 @@ class ProcessesTest extends TestCase $this->assertEquals($expected, $actual); } + + /** + * This gets the data structure of a project. + * @test + * @covers Processes::getWorkflowData() + */ + public function it_should_get_workflow_data() + { + /** + * To perform the test this requires a valid installation and its respective license. + * + * In the file "workflow/engine/classes/WorkspaceTools.php", + * these lines need the db.php file. + * + * public function __construct($workspaceName) + * { + * $this->name = $workspaceName; + * $this->path = PATH_DB . $this->name; + * $this->dbPath = $this->path . '/db.php'; + * if ($this->workspaceExists()) { + * $this->getDBInfo(); + * } + * $this->setListContentMigrateTable(); + * } + */ + $this->markTestIncomplete("To perform the test this requires a valid installation and its respective license."); + $process = factory(\ProcessMaker\Model\Process::class)->create(); + $processes = new Processes(); + $result = $processes->getWorkflowData($process->PRO_UID); + $this->assertNotNull($result); + } } diff --git a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporterTest.php b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporterTest.php new file mode 100644 index 000000000..bc572bede --- /dev/null +++ b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporterTest.php @@ -0,0 +1,34 @@ +addObjectData($name, $data); + $this->assertArrayHasKey($name, $result); + } +} diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Importer/XmlImporterTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Importer/XmlImporterTest.php new file mode 100644 index 000000000..e2c030085 --- /dev/null +++ b/tests/unit/workflow/engine/src/ProcessMaker/Importer/XmlImporterTest.php @@ -0,0 +1,312 @@ +name = $workspaceName; + * $this->path = PATH_DB . $this->name; + * $this->dbPath = $this->path . '/db.php'; + * if ($this->workspaceExists()) { + * $this->getDBInfo(); + * } + * $this->setListContentMigrateTable(); + * } + * + * + * In the file "workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php", + * these lines need a valid license. + * + * public function import($objectList) + * { + * try { + * if (\PMLicensedFeatures::getSingleton()->verifyfeature + * ("jXsSi94bkRUcVZyRStNVExlTXhEclVadGRRcG9xbjNvTWVFQUF3cklKQVBiVT0=") + * ) { + * $objectList = $this->reorderImportOrder($objectList); + * foreach ($objectList as $data) { + * $objClass = $this->factory->create($data['name']); + * if (is_object($objClass)) { + * $dataImport = $data['data'][$data['name']]; + * $replace = ($data['value'] == 'replace') ? true : false; + * $objClass->beforeImport($dataImport); + * $migratorData = $objClass->import($dataImport, $replace); + * $objClass->afterImport($dataImport); + * } + * } + * } else { + * $exception = new ImportException(); + * $exception->setNameException(\G::LoadTranslation('ID_NO_LICENSE_SELECTIVEIMPORTEXPORT_ENABLED')); + * throw($exception); + * } + * + * } catch (\Exception $e) { + * if (get_class($e) === 'ProcessMaker\BusinessModel\Migrator\ImportException') { + * throw $e; + * } else { + * $exception = new ImportException('Please review your current process definition + * for missing elements, it\'s recommended that a new process should be exported + * with all the elements.'); + * throw $exception; + * } + * } + * } + */ + $this->markTestIncomplete("To perform the test this requires a valid installation and its respective license."); + parent::setUp(); + $this->user = factory(User::class)->create(); + Groupwf::truncate(); + } + + /** + * Test the import new option and the import new group option. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + * @covers \ProcessMaker\Importer\XmlImporter::importBpmnTables() + */ + public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new() + { + $filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false); + $this->assertNotNull($result); + } + + /** + * Test the import new without changing and the import merge group option. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_keep_without_changing_and_create_new_and_group_import_option_merge_preexistent() + { + factory(\ProcessMaker\Model\Groupwf::class)->create([ + 'GRP_TITLE' => 'group1' + ]); + factory(\ProcessMaker\Model\Groupwf::class)->create([ + 'GRP_TITLE' => 'group2' + ]); + $regenerateUids = false; + $filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $result = $importer->import(XmlImporter::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_MERGE_PREEXISTENT, true); + $this->assertNotNull($result); + } + + /** + * Test the import overwrite option and the import rename group option. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_overwrite_and_group_import_option_rename() + { + factory(\ProcessMaker\Model\Groupwf::class)->create([ + 'GRP_TITLE' => 'group1' + ]); + factory(\ProcessMaker\Model\Groupwf::class)->create([ + 'GRP_TITLE' => 'group2' + ]); + $filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_RENAME, false); + $this->assertNotNull($result); + } + + /** + * Test the import new option and the import new group option with objects imports. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + * @covers \ProcessMaker\BusinessModel\Migrator\GranularImporter::structureBpmnData() + */ + public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_and_objects_import() + { + $filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2"; + + $objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json"; + $json = file_get_contents($objectsToImportFilename); + $objectsToImport = json_decode($json); + + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false, $objectsToImport); + $this->assertNotNull($result); + } + + /** + * Test the import without changing option and the import new group option with objects import. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_keep_without_changing_and_create_new_and_group_import_option_create_new() + { + $regenerateUids = false; + $filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2"; + + $objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json"; + $json = file_get_contents($objectsToImportFilename); + $objectsToImport = json_decode($json); + + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $result = $importer->import(XmlImporter::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, true, $objectsToImport); + $this->assertNotNull($result); + } + + /** + * Test the import overwrite option and the import new group option with objects import. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_overwrite_and_group_import_option_create_new() + { + $filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2"; + + $objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json"; + $json = file_get_contents($objectsToImportFilename); + $objectsToImport = json_decode($json); + + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false, $objectsToImport); + $this->assertNotNull($result); + } + + /** + * Test the import disable option and the import new group option with objects import. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_disable_and_create_new_and_group_import_option_create_new() + { + $regenerateUids = false; + $filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2"; + + $objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json"; + $json = file_get_contents($objectsToImportFilename); + $objectsToImport = json_decode($json); + + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $result = $importer->import(XmlImporter::IMPORT_OPTION_DISABLE_AND_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, true, $objectsToImport); + $this->assertNotNull($result); + } + + /** + * Test the import new option and the import new group option with exception. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_with_exception() + { + $filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + + $this->expectException(Exception::class); + + $result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false); + $this->assertNotNull($result); + } + + /** + * Test the import overwrite option and the import new group option with exist groups. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_overwrite_and_group_import_option_create_new_with_groups() + { + factory(\ProcessMaker\Model\Groupwf::class)->create([ + 'GRP_TITLE' => 'group1' + ]); + factory(\ProcessMaker\Model\Groupwf::class)->create([ + 'GRP_TITLE' => 'group2' + ]); + $filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + + $this->expectException(Exception::class); + $result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false); + $this->assertNotNull($result); + } + + /** + * Test the import new option and the import new group option with generated uid from js such as null. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + */ + public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_try_exception() + { + $filename = PATH_TRUNK . "/tests/resources/p1normalWithException-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + + $this->expectException(Exception::class); + $result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW); + $this->assertNotNull($result); + } + + /** + * Test the import new option and the import new group option with repeated title. + * @test + * @covers \ProcessMaker\Importer\XmlImporter::import() + * @covers \ProcessMaker\Importer\XmlImporter::updateTheProcessOwner() + */ + public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_try_rename_title() + { + factory(\ProcessMaker\Model\Process::class)->create([ + 'PRO_TITLE' => 'p1normalWithoutTitle' + ]); + + $filename = PATH_TRUNK . "/tests/resources/p1normalWithoutTitle-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + + $result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false); + $this->assertNotNull($result); + + factory(\ProcessMaker\Model\Process::class)->create([ + 'PRO_TITLE' => 'p1normalWithoutTitle2' + ]); + + $filename = PATH_TRUNK . "/tests/resources/p1normalWithoutTitle2-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + + $result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false); + $this->assertNotNull($result); + } +} diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflowTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflowTest.php new file mode 100644 index 000000000..2e9924658 --- /dev/null +++ b/tests/unit/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflowTest.php @@ -0,0 +1,236 @@ +user = factory(User::class)->create(); + } + + /** + * Creation of a bpmn project. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::create() + */ + public function it_should_create_bpmn_project() + { + $faker = Factory::create(); + $data = [ + 'PRJ_UID' => G::generateUniqueID(), + 'PRJ_AUTHOR' => G::generateUniqueID(), + 'PRJ_NAME' => $faker->title, + 'PRJ_DESCRIPTION' => $faker->text, + 'PRJ_TYPE' => $faker->name, + 'PRJ_CATEGORY' => $faker->word, + 'PRO_ID' => $faker->randomDigit, + 'PRO_STATUS' => 'ACTIVE' + ]; + $bpmnWorkflow = new BpmnWorkflow(); + $bpmnWorkflow->create($data); + + $bpmnProject = BpmnProject::where('PRJ_UID', '=', $data['PRJ_UID']) + ->get(); + + $this->assertNotNull($bpmnProject); + } + + /** + * We get an exception when the data is incorrect. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::create() + */ + public function it_should_create_bpmn_project_with_incorrect_data() + { + $faker = Factory::create(); + $data = [ + 'PRJ_UID' => [] + ]; + $bpmnWorkflow = new BpmnWorkflow(); + + $this->expectException(Exception::class); + $bpmnWorkflow->create($data); + } + + /** + * An exception is obtained if we try to enter an existing title. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::create() + */ + public function it_should_create_bpmn_project_with_duplicate_title() + { + $faker = Factory::create(); + $title = $faker->title; + factory(\ProcessMaker\Model\Process::class)->create([ + 'PRO_TITLE' => $title + ]); + + $data = [ + 'PRJ_UID' => G::generateUniqueID(), + 'PRJ_AUTHOR' => G::generateUniqueID(), + 'PRJ_NAME' => $title, + 'PRJ_DESCRIPTION' => $faker->text, + 'PRJ_TYPE' => $faker->name, + 'PRJ_CATEGORY' => $faker->word, + 'PRO_ID' => $faker->randomDigit, + 'PRO_STATUS' => 'ACTIVE' + ]; + $bpmnWorkflow = new BpmnWorkflow(); + + $this->expectException(Exception::class); + $bpmnWorkflow->create($data); + } + + /** + * Create a project from a data structure. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct() + */ + public function it_should_create_from_structure() + { + $faker = Factory::create(); + + $projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json"; + $json = file_get_contents($projectDataFilename); + $projectData = json_decode($json, JSON_OBJECT_AS_ARRAY); + $projectData['prj_uid'] = G::generateUniqueID(); + $projectData["process"]["pro_id"] = $faker->randomDigit; + + $bpmnWorkflow = new BpmnWorkflow(); + $bpmnWorkflow->createFromStruct($projectData, true, null); + } + + /** + * Get an exception if there is an invalid name in the data structure. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct() + */ + public function it_should_create_from_structure_invalid_name() + { + $faker = Factory::create(); + + $projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json"; + $json = file_get_contents($projectDataFilename); + $projectData = json_decode($json, JSON_OBJECT_AS_ARRAY); + $projectData['prj_uid'] = G::generateUniqueID(); + $projectData["process"]["pro_id"] = $faker->randomDigit; + + $bpmnWorkflow = new BpmnWorkflow(); + + $projectData['prj_name'] = ''; + + $this->expectException(Exception::class); + $bpmnWorkflow->createFromStruct($projectData, true, null); + } + + /** + * Get an exception if there is a duplicate name. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct() + */ + public function it_should_create_from_structure_with_duplicate_name() + { + $faker = Factory::create(); + + $projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json"; + $json = file_get_contents($projectDataFilename); + $projectData = json_decode($json, JSON_OBJECT_AS_ARRAY); + $projectData['prj_uid'] = G::generateUniqueID(); + $projectData["process"]["pro_id"] = $faker->randomDigit; + + $bpmnWorkflow = new BpmnWorkflow(); + + factory(\ProcessMaker\Model\BpmnProject::class)->create([ + 'PRJ_NAME' => $projectData['prj_name'] + ]); + + $this->expectException(Exception::class); + $bpmnWorkflow->createFromStruct($projectData, true, null); + } + + /** + * We get an exception if the type field does not exist in the activity. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct() + */ + public function it_should_create_from_structure_invalid_activity_type() + { + $faker = Factory::create(); + + $projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json"; + $json = file_get_contents($projectDataFilename); + $projectData = json_decode($json, JSON_OBJECT_AS_ARRAY); + $projectData['prj_uid'] = G::generateUniqueID(); + $projectData["process"]["pro_id"] = $faker->randomDigit; + + $bpmnWorkflow = new BpmnWorkflow(); + + $projectData['prj_name'] = $faker->name; + unset($projectData['diagrams']['0']['activities']['0']['act_type']); + + $this->expectException(Exception::class); + $bpmnWorkflow->createFromStruct($projectData, true, null); + } + + /** + * We get an exception if the type field does not exist in the event. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct() + */ + public function it_should_create_from_structure_invalid_event_type() + { + $faker = Factory::create(); + + $projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json"; + $json = file_get_contents($projectDataFilename); + $projectData = json_decode($json, JSON_OBJECT_AS_ARRAY); + $projectData['prj_uid'] = G::generateUniqueID(); + $projectData["process"]["pro_id"] = $faker->randomDigit; + + $bpmnWorkflow = new BpmnWorkflow(); + + $projectData['prj_name'] = $faker->name; + unset($projectData['diagrams']['0']['events']['0']['evn_type']); + + $this->expectException(Exception::class); + $bpmnWorkflow->createFromStruct($projectData, true, null); + } + + /** + * We get an exception if the marker field does not exist in the event. + * @test + * @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct() + */ + public function it_should_create_from_structure_invalid_event_marker() + { + $faker = Factory::create(); + + $projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json"; + $json = file_get_contents($projectDataFilename); + $projectData = json_decode($json, JSON_OBJECT_AS_ARRAY); + $projectData['prj_uid'] = G::generateUniqueID(); + $projectData["process"]["pro_id"] = $faker->randomDigit; + + $bpmnWorkflow = new BpmnWorkflow(); + + $projectData['prj_name'] = $faker->name; + unset($projectData['diagrams']['0']['events']['0']['evn_marker']); + + $this->expectException(Exception::class); + $bpmnWorkflow->createFromStruct($projectData, true, null); + } +} diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Services/Api/ProjectTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Services/Api/ProjectTest.php new file mode 100644 index 000000000..f0adaeaa6 --- /dev/null +++ b/tests/unit/workflow/engine/src/ProcessMaker/Services/Api/ProjectTest.php @@ -0,0 +1,61 @@ +name = $workspaceName; + * $this->path = PATH_DB . $this->name; + * $this->dbPath = $this->path . '/db.php'; + * if ($this->workspaceExists()) { + * $this->getDBInfo(); + * } + * $this->setListContentMigrateTable(); + * } + */ + $this->markTestIncomplete("To perform the test this requires a valid installation and its respective license."); + parent::setUp(); + $this->user = factory(User::class)->create(); + } + + /** + * Set the process owner with invalid value, the import test covers most of the code. + * @test + * @covers \ProcessMaker\Services\Api\Project::doSaveAs() + * @covers \ProcessMaker\Importer\XmlImporter::saveAs() + */ + public function it_should_set_the_process_owner_with_invalid_value() + { + $filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx"; + $importer = new XmlImporter(); + $importer->setData("usr_uid", $this->user->USR_UID); + $importer->setSourceFile($filename); + $proUid = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false); + + $faker = $faker = Factory::create(); + $project = new Project(); + $project->setUserId($this->user->USR_ID); + $result = $project->doSaveAs($proUid, $faker->title); + + $this->assertNotEmpty($result); + } +} diff --git a/thirdparty/pear/Log/file.php b/thirdparty/pear/Log/file.php index 1ff3873a2..3aee250df 100644 --- a/thirdparty/pear/Log/file.php +++ b/thirdparty/pear/Log/file.php @@ -319,7 +319,12 @@ class Log_file extends Log $request .= ($request!='' ? "\t" : '') . $k . '='.$v; } } - foreach( $_GET as $k => $v ) $request .= ($request!='' ? "\t" : '') . $k . '='.$v; + foreach ($_GET as $k => $v) { + if (is_array($v)) { + $v = json_encode($v); + } + $request .= ($request != '' ? "\t" : '') . $k . '=' . $v; + } //exact time with microseconds $t = explode(' ',microtime(false)); diff --git a/workflow/engine/classes/Processes.php b/workflow/engine/classes/Processes.php index 07d6bdd1c..8c7eb52f8 100644 --- a/workflow/engine/classes/Processes.php +++ b/workflow/engine/classes/Processes.php @@ -4807,9 +4807,7 @@ class Processes $oData->abeConfiguration = $this->getActionsByEmail($sProUid); $oData->elementTask = $this->getElementTaskRelation($sProUid); $oData->groupwfs = $this->groupwfsMerge($oData->groupwfs, $oData->processUser, "USR_UID"); - $oData->process["PRO_TYPE_PROCESS"] = "PUBLIC"; - //Return return $oData; } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php index f9ad433e5..dd4824114 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php @@ -69,9 +69,9 @@ class GranularImporter switch ($nameObject) { case 'PROCESSDEFINITION': $objectList['PROCESSDEFINITION']['bpmn'] = isset($data['tables']['bpmn']) ? $this->structureBpmnData - ($data['tables']['bpmn']) : []; - $objectList['PROCESSDEFINITION']['workflow'] = isset($data['tables']['workflow']) ? - $data['tables']['workflow'] : []; + ($data['tables']['bpmn']) : []; + $objectList['PROCESSDEFINITION']['workflow'] = isset($data['tables']['workflow']) ? + $data['tables']['workflow'] : []; break; case 'ASSIGNMENTRULES': $objectList['ASSIGNMENTRULES']['tasks'] = isset($data['tables']['workflow']['tasks']) ? @@ -165,17 +165,16 @@ class GranularImporter { $project = $tables["project"][0]; $diagram = $tables["diagram"][0]; - $diagram["activities"] = (isset($tables["activity"])) ? $tables["activity"] : array(); - $diagram["artifacts"] = (isset($tables["artifact"])) ? $tables["artifact"] : array(); - $diagram["events"] = (isset($tables["event"])) ? $tables["event"] : array(); - $diagram["flows"] = (isset($tables["flow"])) ? $tables["flow"] : array(); - $diagram["gateways"] = (isset($tables["gateway"])) ? $tables["gateway"] : array(); - $diagram["data"] = (isset($tables["data"])) ? $tables["data"] : array(); - $diagram["participants"] = (isset($tables["participant"])) ? $tables["participant"] : array(); - $diagram["laneset"] = (isset($tables["laneset"])) ? $tables["laneset"] : array(); - $diagram["lanes"] = (isset($tables["lane"])) ? $tables["lane"] : array(); + $diagram["activities"] = (isset($tables["activity"])) ? $tables["activity"] : []; + $diagram["artifacts"] = (isset($tables["artifact"])) ? $tables["artifact"] : []; + $diagram["events"] = (isset($tables["event"])) ? $tables["event"] : []; + $diagram["flows"] = (isset($tables["flow"])) ? $tables["flow"] : []; + $diagram["gateways"] = (isset($tables["gateway"])) ? $tables["gateway"] : []; + $diagram["data"] = (isset($tables["data"])) ? $tables["data"] : []; + $diagram["participants"] = (isset($tables["participant"])) ? $tables["participant"] : []; + $diagram["laneset"] = (isset($tables["laneset"])) ? $tables["laneset"] : []; + $diagram["lanes"] = (isset($tables["lane"])) ? $tables["lane"] : []; $project["diagrams"] = array($diagram); - $project["prj_author"] = isset($this->data["usr_uid"]) ? $this->data["usr_uid"] : "00000000000000000000000000000001"; $project["process"] = $tables["process"][0]; return $project; } diff --git a/workflow/engine/src/ProcessMaker/Importer/Importer.php b/workflow/engine/src/ProcessMaker/Importer/Importer.php index f8ce9b043..8e34a01fb 100644 --- a/workflow/engine/src/ProcessMaker/Importer/Importer.php +++ b/workflow/engine/src/ProcessMaker/Importer/Importer.php @@ -2,11 +2,12 @@ namespace ProcessMaker\Importer; use Processes; -use ProcessMaker\Util; -use ProcessMaker\Project; -use ProcessMaker\Project\Adapter; use ProcessMaker\BusinessModel\Migrator; use ProcessMaker\BusinessModel\Migrator\ImportException; +use ProcessMaker\Model\Process; +use ProcessMaker\Project; +use ProcessMaker\Project\Adapter; +use ProcessMaker\Util; use ProcessMaker\Util\Common; use ProcessPeer; use stdClass; @@ -18,7 +19,7 @@ abstract class Importer protected $filename = ""; protected $saveDir = ""; protected $metadata = array(); - protected $prjCreateUser = ''; + /** * Stores the current objects before import. * @var object @@ -332,7 +333,7 @@ abstract class Importer $diagram = $project->getStruct($projectUid); $res = $project->updateFromStruct($projectUid, $diagram); } - + $this->updateTheProcessOwner($projectUid); return $projectUid; } } catch (\Exception $e) { @@ -341,10 +342,28 @@ abstract class Importer /*----------------------------------********---------------------------------*/ $result = $this->doImport($generateUid); - - //Return + $this->updateTheProcessOwner($result); return $result; } + + /** + * This updates the process owner. + * @param string $proUid + * @return void + */ + private function updateTheProcessOwner(string $proUid): void + { + $processOwner = $this->data["usr_uid"]; + + $currentProcess = $this->getCurrentProcess(); + if (is_object($currentProcess)) { + $processOwner = $currentProcess->process->getProCreateUser(); + } + $process = Process::where('PRO_UID', '=', $proUid); + $process->update([ + 'PRO_CREATE_USER' => $processOwner + ]); + } /** * Prepare for import, it makes all validations needed @@ -535,19 +554,17 @@ abstract class Importer // Build BPMN project struct $project = $tables["project"][0]; $diagram = $tables["diagram"][0]; - $diagram["activities"] = (isset($tables["activity"]))? $tables["activity"] : array(); - $diagram["artifacts"] = (isset($tables["artifact"]))? $tables["artifact"] : array(); - $diagram["events"] = (isset($tables["event"]))? $tables["event"] : array(); - $diagram["flows"] = (isset($tables["flow"]))? $tables["flow"] : array(); - $diagram["gateways"] = (isset($tables["gateway"]))? $tables["gateway"]: array(); - $diagram["data"] = (isset($tables["data"]))? $tables["data"] : array(); - $diagram["participants"] = (isset($tables["participant"]))? $tables["participant"] : array(); - $diagram["laneset"] = (isset($tables["laneset"]))? $tables["laneset"] : array(); - $diagram["lanes"] = (isset($tables["lane"]))? $tables["lane"] : array(); + $diagram["activities"] = (isset($tables["activity"]))? $tables["activity"] : []; + $diagram["artifacts"] = (isset($tables["artifact"]))? $tables["artifact"] : []; + $diagram["events"] = (isset($tables["event"]))? $tables["event"] : []; + $diagram["flows"] = (isset($tables["flow"]))? $tables["flow"] : []; + $diagram["gateways"] = (isset($tables["gateway"]))? $tables["gateway"]: []; + $diagram["data"] = (isset($tables["data"]))? $tables["data"] : []; + $diagram["participants"] = (isset($tables["participant"]))? $tables["participant"] : []; + $diagram["laneset"] = (isset($tables["laneset"]))? $tables["laneset"] : []; + $diagram["lanes"] = (isset($tables["lane"]))? $tables["lane"] : []; $project["diagrams"] = array($diagram); - $project["prj_author"] = isset($this->data["usr_uid"])? $this->data["usr_uid"]: "00000000000000000000000000000001"; $project["process"] = $tables["process"][0]; - $project["prjCreateUser"] = $this->prjCreateUser; return Adapter\BpmnWorkflow::createFromStruct($project, $generateUid); } @@ -839,7 +856,7 @@ abstract class Importer } } - public function saveAs($prj_uid, $prj_name, $prj_description, $prj_category, $prj_user = '') + public function saveAs($prj_uid, $prj_name, $prj_description, $prj_category) { try { $exporter = new \ProcessMaker\Exporter\XmlExporter($prj_uid); @@ -857,7 +874,7 @@ abstract class Importer $this->setSourceFile($outputFilename); $this->prepare(); - $this->prjCreateUser = $prj_user; + $this->importData["tables"]["bpmn"]["project"][0]["prj_name"] = $prj_name; $this->importData["tables"]["bpmn"]["project"][0]["prj_description"] = $prj_description; $this->importData["tables"]["bpmn"]["diagram"][0]["dia_name"] = $prj_name; @@ -869,7 +886,9 @@ abstract class Importer $this->importData["tables"]["workflow"]["process"][0]["PRO_UPDATE_DATE"] = null; $this->importData["tables"]["workflow"]["process"] = $this->importData["tables"]["workflow"]["process"][0]; - return ['prj_uid' => $this->doImport(true, false)]; + $result = $this->doImport(true, false); + $this->updateTheProcessOwner($result); + return ['prj_uid' => $result]; } catch (\Exception $e) { return $e->getMessage(); } diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 7c24a016b..0e75f8cf1 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -99,10 +99,6 @@ class BpmnWorkflow extends Project\Bpmn $wpData["PRO_STATUS"] = $data["PRO_STATUS"]; } - if (array_key_exists("PRO_CREATE_USER", $data)) { - $wpData["PRO_CREATE_USER"] = $data["PRO_CREATE_USER"]; - } - $this->wp = new Project\Workflow(); $this->wp->create($wpData); @@ -1312,10 +1308,6 @@ class BpmnWorkflow extends Project\Bpmn $data["PRO_STATUS"] = $projectData['pro_status']; } - if (!empty($projectData['prjCreateUser'])) { - $data["PRO_CREATE_USER"] = $projectData['prjCreateUser']; - } - $bwp->create($data); $diagramData = $processData = array(); diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project.php b/workflow/engine/src/ProcessMaker/Services/Api/Project.php index 65c3938da..81f48f798 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project.php @@ -277,7 +277,8 @@ class Project extends Api public function doSaveAs($prj_uid, $prj_name, $prj_description = null, $prj_category = null) { $importer = new \ProcessMaker\Importer\XmlImporter(); - return $importer->saveAs($prj_uid, $prj_name, $prj_description, $prj_category, $this->getUserId()); + $importer->setData("usr_uid", $this->getUserId()); + return $importer->saveAs($prj_uid, $prj_name, $prj_description, $prj_category); } /** diff --git a/workflow/engine/templates/processes/main.js b/workflow/engine/templates/processes/main.js index 09b2f3fa0..cb213cb5f 100644 --- a/workflow/engine/templates/processes/main.js +++ b/workflow/engine/templates/processes/main.js @@ -453,7 +453,7 @@ Ext.onReady(function(){ color = r.get('PRO_STATUS') == 'ACTIVE'? 'green': 'red'; return String.format("{1}", color, v); }}, - {header: _('ID_PRO_USER'), dataIndex: 'PRO_CREATE_USER_LABEL', width: 150}, + {header: _('ID_OWNER'), dataIndex: 'PRO_CREATE_USER_LABEL', width: 150}, {header: _('ID_PRO_CREATE_DATE'), dataIndex: 'PRO_CREATE_DATE', width: 90}, {header: _('ID_INBOX'), dataIndex: 'CASES_COUNT_TO_DO', width: 50, align:'right'}, {header: _('ID_DRAFT'), dataIndex: 'CASES_COUNT_DRAFT', width: 50, align:'right'}, From 7bccabcdd334b1ee24ee9f1ada3844baed953e1a Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 1 Nov 2019 14:48:28 -0400 Subject: [PATCH 10/19] PMC-1345 Unit test: Circle CI shows an error related with the Importer test. --- .../src/ProcessMaker/BusinessModel/SkinsTest.php | 15 +++++++++------ .../src/ProcessMaker/Importer/ImporterTest.php | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php index 1046ec7e2..f18b3d98c 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php @@ -62,13 +62,16 @@ class SkinsTest extends TestCase */ public function testGetSkinsCurrentWorkspace() { - $this->object->createSkin('test2', 'test2', 'description skin', config("system.workspace")); - $skins = $this->object->getSkins(); - $this->assertCount(3, $skins); - $this->assertEquals('test2', $skins[2]['SKIN_FOLDER_ID']); - $this->object->createSkin('test', 'test', 'description skin', config("system.workspace")); + $this->object->createSkin('test', 'test'); + $this->object->createSkin('test2', 'test2', 'Second skin', 'ProcessMaker Team', 'current', 'neoclassic'); $skins = $this->object->getSkins(); + $skins = collect($skins) + ->sortBy('SKIN_FOLDER_ID') + ->values() + ->toArray(); $this->assertCount(4, $skins); - $this->assertEquals('test2', $skins[3]['SKIN_FOLDER_ID']); + $this->assertEquals($skins[2]['SKIN_FOLDER_ID'], 'test'); + $this->assertEquals($skins[3]['SKIN_FOLDER_ID'], 'test2'); + $this->assertEquals($skins[3]['SKIN_WORKSPACE'], config("system.workspace")); } } diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php index c10fe7500..5a0d852be 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php @@ -5,6 +5,7 @@ namespace Tests\unit\workflow\engine\src\ProcessMaker\Importer; use ProcessMaker\Importer\Importer; use ProcessMaker\Model\BpmnProject; use ProcessMaker\Model\Process; +use ProcessMaker\Model\User; use ReflectionClass; use Tests\TestCase; @@ -292,6 +293,7 @@ define ('DB_REPORT_PASS', '" . env('DB_PASSWORD') . "' );"); // Mock the load method $importer->method("load") ->willReturn($array); + $importer->setData("usr_uid", factory(User::class)->create()->USR_UID); // Call the import method $res = $importer->import(Importer::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW, @@ -541,6 +543,7 @@ define ('DB_REPORT_PASS', '" . env('DB_PASSWORD') . "' );"); // Mock the load method $importer->method("load") ->willReturn($array); + $importer->setData("usr_uid", factory(User::class)->create()->USR_UID); // Call the setProtectedProperty method $this->setProtectedProperty($importer, 'metadata', ['uid' => $process['PRO_UID']]); From 55cc90126a7ab48ec7eb9a08b64e0e6d5990debb Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Mon, 4 Nov 2019 14:05:42 -0400 Subject: [PATCH 11/19] PMC-1116 --- workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php index c997f2508..d900f4ffc 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php @@ -1230,7 +1230,7 @@ class TimerEvent //Start Timer-Event (start new case) /////////////////////////////////////////////////////////////////////// $common->frontEndShow("START"); - $this->log("START-NEW-CASES", "Date \"$datetime (UTC +00:00)\": Start new cases"); + $this->log("START-NEW-CASES", "Start new cases"); $aInfo = array( 'ip' => \G::getIpAddress() ,'action' => 'START-NEW-CASES' @@ -1506,7 +1506,7 @@ class TimerEvent //Intermediate Catch Timer-Event (continue the case) /////////////////////////////////////////////////////// $action = "START-CONTINUE-CASES"; - $this->log($action, "Date \"$datetime (UTC +00:00)\": Start continue the cases"); + $this->log($action, "Start continue the cases"); $aInfo = array( 'ip' => \G::getIpAddress() ,'action' => $action From 647232f9cb267eb38f1803a536eade71ab133a08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Cesar=20Laura=20Avenda=C3=B1o?= Date: Mon, 4 Nov 2019 15:23:34 -0400 Subject: [PATCH 12/19] PMC-1299 --- workflow/engine/classes/PmDynaform.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/PmDynaform.php b/workflow/engine/classes/PmDynaform.php index 0ce58ea1d..434897c29 100644 --- a/workflow/engine/classes/PmDynaform.php +++ b/workflow/engine/classes/PmDynaform.php @@ -1023,7 +1023,7 @@ class PmDynaform . $dt[$key]["table"] . ($dt[$key]["table"] == $dt[$key]["alias"] ? "" : " " . $dt[$key]["alias"]) . " " . $dt[$key]["ref_type"] . " " - . $dt[$key]["ref_clause"]; + . rtrim($dt[$key]["ref_clause"], " INNER"); } } } From 6dd27f5429b5494a9feebbfad9ef691d3cc92863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Cesar=20Laura=20Avenda=C3=B1o?= Date: Tue, 5 Nov 2019 12:06:23 -0400 Subject: [PATCH 13/19] PMC-1235 --- workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php index 35c237003..5cacadc1b 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php @@ -181,7 +181,7 @@ class Server implements iAuthenticate if (! isset($_SESSION['USER_LOGGED'])) { $http = \G::is_https() ? 'https' : 'http'; $host = $http . '://' . $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80' ? ':' . $_SERVER['SERVER_PORT'] : ''); - $redirect = urlencode($host.'/'.self::$workspace.$_SERVER['REQUEST_URI']); + $redirect = urlencode('/'.self::$workspace.$_SERVER['REQUEST_URI']); $loginLink = sprintf('%s/sys%s/%s/%s/login/login?u=%s', $host, config("system.workspace"), SYS_LANG, SYS_SKIN, $redirect); header('location: ' . $loginLink); From 652a5b21c593cb4074c58eae7367211e170253af Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Tue, 5 Nov 2019 12:16:40 -0400 Subject: [PATCH 14/19] PMC-1312 Suggest fields on a grid form with MSSQL connection created in ProcessMaker2.x is displaying an alert in preview mode and when running cases in ProcessMaker 3.3.x. --- gulliver/methods/defaultAjax.php | 46 +--- phpunit.xml | 1 + tests/bootstrap.php | 2 + tests/resources/simpleClassicPostData.json | 8 + tests/resources/simpleClassicSessionData.json | 242 ++++++++++++++++++ tests/resources/simpleClassicXmlFormData.xml | 15 ++ .../unit/gulliver/methods/DefaultAjaxTest.php | 47 ++++ 7 files changed, 327 insertions(+), 34 deletions(-) create mode 100644 tests/resources/simpleClassicPostData.json create mode 100644 tests/resources/simpleClassicSessionData.json create mode 100755 tests/resources/simpleClassicXmlFormData.xml create mode 100644 tests/unit/gulliver/methods/DefaultAjaxTest.php diff --git a/gulliver/methods/defaultAjax.php b/gulliver/methods/defaultAjax.php index 1a89e359c..47ae8f0c7 100644 --- a/gulliver/methods/defaultAjax.php +++ b/gulliver/methods/defaultAjax.php @@ -1,28 +1,4 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - -/*NEXT LINE: Runs any configuration defined to be executed before dependent fields recalc*/ use ProcessMaker\Plugins\PluginRegistry; @@ -30,8 +6,6 @@ if (isset($_SESSION['CURRENT_PAGE_INITILIZATION'])) { eval($_SESSION['CURRENT_PAGE_INITILIZATION']); } - -// $json=new Services_JSON(); if (!defined('XMLFORM_AJAX_PATH')) { define('XMLFORM_AJAX_PATH', PATH_XMLFORM); } @@ -63,11 +37,11 @@ $G_FORM->values = isset($_SESSION[$G_FORM->id]) ? $_SESSION[$G_FORM->id] : array $newValues = (Bootstrap::json_decode(urlDecode(stripslashes($_POST['fields'])))); if (isset($_POST['grid'])) { - $_POST['row'] = (int)$_POST['row']; + $_POST['row'] = (int) $_POST['row']; $aAux = array(); foreach ($newValues as $sKey => $newValue) { - $newValue = (array)$newValue; + $newValue = (array) $newValue; $aKeys = array_keys($newValue); if (count($aKeys) > 0) { $aValues = array(); @@ -88,7 +62,7 @@ if (count($newValues) > 1 && isset($_POST['grid'])) { for ($r2 = 1; $r2 <= $_POST['row']; $r2++) { foreach ($values as $class => $value) { if ($class == $_POST['grid']) { - $value = (array)$value; + $value = (array) $value; $arrayK = $value[$r2]; foreach ($arrayK as $key2 => $val) { $fieldBase[$r2][$key2] = is_array($val) ? $val[$key2] : $val; @@ -107,7 +81,7 @@ if (count($newValues) > 1 && isset($_POST['grid'])) { $dependentFields = array(); $aux = array(); for ($r = 0; $r < count($newValues); $r++) { - $newValues[$r] = (array)$newValues[$r]; + $newValues[$r] = (array) $newValues[$r]; $G_FORM->setValues($newValues[$r]); //Search dependent fields foreach ($newValues[$r] as $k => $v) { @@ -117,7 +91,11 @@ for ($r = 0; $r < count($newValues); $r++) { } else { foreach ($v[$_POST['row']] as $k1 => $v1) { $myDependentFields = subDependencies($k1, $G_FORM, $aux, $_POST['grid']); - $_SESSION[$G_FORM->id][$_POST['grid']][$_POST['row']][$k1] = $v1; + $_SESSION[$G_FORM->id][$_POST['grid']] = [ + $_POST['row'] => [ + $k1 => $v1 + ] + ]; $G_FORM->values[$_POST['grid']][$_POST['row']][$k1] = $v1; } } @@ -142,12 +120,12 @@ $G_FORM->values = $newForm; $arrayFieldSubDependent = array(); if (isset($_POST["grid"])) { - $arrayField = (array)(Bootstrap::json_decode(urlDecode(stripslashes($_POST["fields"])))); + $arrayField = (array) (Bootstrap::json_decode(urlDecode(stripslashes($_POST["fields"])))); $arrayDependentField = array(); $ereg = null; foreach ($arrayField as $fieldData) { - $arrayAux = (array)($fieldData); + $arrayAux = (array) ($fieldData); foreach ($arrayAux as $index => $value) { $ereg = $ereg . (($ereg != null) ? "|" : null) . $index; //Concatenate field @@ -185,7 +163,7 @@ if (isset($_POST["grid"])) { //Completed all fields of the grid if (isset($_POST["grid"]) && isset($_POST["gridField"])) { //Completed all fields of the grid - $arrayGridField = (array)(Bootstrap::json_decode(urldecode(stripslashes($_POST["gridField"])))); + $arrayGridField = (array) (Bootstrap::json_decode(urldecode(stripslashes($_POST["gridField"])))); foreach ($arrayGridField as $index => $value) { $G_FORM->values[$_POST["grid"]][$_POST["row"]][$index] = $value; diff --git a/phpunit.xml b/phpunit.xml index 118b4efec..43268ce99 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -28,6 +28,7 @@ + ./gulliver ./workflow/engine/classes ./workflow/engine/src diff --git a/tests/bootstrap.php b/tests/bootstrap.php index e84e1991b..c874bbc81 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -53,6 +53,8 @@ define('PATH_HTML', PATH_HOME . 'public_html/'); define('PATH_SMARTY_C', PATH_TRUNK . '/shared/compiled/smarty/c'); define('PATH_SMARTY_CACHE', PATH_TRUNK . '/shared/compiled/smarty/cache'); define('PATH_THIRDPARTY', PATH_TRUNK . '/thirdparty/'); +define("URL_KEY", 'c0l0s40pt1mu59r1m3'); +define("PATH_XMLFORM", PATH_CORE . "xmlform" . PATH_SEP); // Set Time Zone $_SESSION['__SYSTEM_UTC_TIME_ZONE__'] = (int) (env('MAIN_SYSTEM_UTC_TIME_ZONE', 'workflow')) == 1; diff --git a/tests/resources/simpleClassicPostData.json b/tests/resources/simpleClassicPostData.json new file mode 100644 index 000000000..eb6998478 --- /dev/null +++ b/tests/resources/simpleClassicPostData.json @@ -0,0 +1,8 @@ +{ + "function": "reloadField", + "form": "Wlp0bHBXS2tiR2FtcVpXaHBwbHcxV09tWlpObHBXaWphV2locDJpbHEyWm9wV1dlWkpabG4yQ2phWlNrcFpXbTFteHNvcGJSbUp0Z29tQ21iR1drcTJmTTZhS3BvbMKwbG9NOA______", + "fields": "[%7B%22suggest2%22%3A%22C%22%7D]", + "grid": "Grid", + "gridField": "%7B%22suggest1%22%3A%22BO%22%7D", + "row": "1" +} diff --git a/tests/resources/simpleClassicSessionData.json b/tests/resources/simpleClassicSessionData.json new file mode 100644 index 000000000..288d50114 --- /dev/null +++ b/tests/resources/simpleClassicSessionData.json @@ -0,0 +1,242 @@ +{ + "__SYSTEM_UTC_TIME_ZONE__": true, + "__EE_INSTALLATION__": 242, + "__EE_SW_PMLICENSEMANAGER__": "1", + "phpLastFileFound": "\/sysworkflow\/en\/neoclassic\/gulliver\/defaultAjaxDynaform", + "USERNAME_PREVIOUS1": "", + "USERNAME_PREVIOUS2": "admin", + "WORKSPACE": "workflow", + "USER_LOGGED": "00000000000000000000000000000001", + "USR_USERNAME": "admin", + "USR_CSRF_TOKEN": "98ax3foN2t8ELKvtF1XTQ6soT0qGFiTPgS3DsvdF", + "USR_TIME_ZONE": "America\/La_Paz", + "USR_FULLNAME": "Administrator admin", + "user_experience": "NORMAL", + "CONDITION_DYN_UID": "3411353005d41d9a730ede8060385476", + "currentSkin": "neoclassic", + "currentSkinVariant": "extJs", + "PROCESS": "2859218665d41d7c2920598058137861", + "PROCESSMAP": "LEIMNUD", + "_DBArray": { + "fields": [{ + "XMLNODE_NAME": "char", + "TYPE": "char", + "UP": "char", + "DOWN": "char" + }, { + "XMLNODE_NAME": "BUG", + "TYPE": "title", + "UP": "", + "DOWN": "Down", + "row__": "1" + }] + }, + "bDl5ZXpaYmlwcDNqbzVYbTQ1YWY0YVBhcHNLRDFKwrBscUh6WjU2V2I3YUts": { + "DYN_UID": "", + "PRO_UID": "", + "DYN_TITLE": "", + "DYN_TYPE": "", + "EDIT": "", + "DELETE": "", + "GET_UID": "", + "SEARCH": "", + "PAGED_TABLE_ID": "", + "JSFILTER": "" + }, + "pagedTable[bDl5ZXpaYmlwcDNqbzVYbTQ1YWY0YVBhcHNLRDFKwrBscUh6WjU2V2I3YUts]": "TzoxMToiUHJvcGVsVGFibGUiOjYwOntzOjExOiJ4bWxGb3JtRmlsZSI7TjtzOjExOiJjdXJyZW50UGFnZSI7czoxOiIxIjtzOjc6Im9yZGVyQnkiO3M6MDoiIjtzOjY6ImZpbHRlciI7czowOiIiO3M6MTA6ImZpbHRlclR5cGUiO2E6MDp7fXM6ODoic2VhcmNoQnkiO3M6OToiRFlOX1RJVExFIjtzOjEwOiJmYXN0U2VhcmNoIjtzOjA6IiI7czo1OiJvcmRlciI7czowOiIiO3M6ODoidGVtcGxhdGUiO3M6MTE6InBhZ2VkLXRhYmxlIjtzOjU6InN0eWxlIjthOjEwOntzOjc6IkRZTl9VSUQiO2E6Mzg6e3M6MTE6InNob3dJblRhYmxlIjtzOjE6IjAiO3M6MTU6InRpdGxlVmlzaWJpbGl0eSI7czoxOiIxIjtzOjg6ImNvbFdpZHRoIjtpOjE0MDtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjU6ImV2ZW50IjtzOjA6IiI7czo0OiJkYXRhIjtzOjc6IkRZTl9VSUQiO3M6MTA6InRpdGxlQWxpZ24iO3M6MDoiIjtzOjU6ImFsaWduIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7aTowO3M6Mzoic3FsIjtzOjA6IiI7czo5OiJzcWxPcHRpb24iO2E6MDp7fXM6MTU6ImRlcGVuZGVudEZpZWxkcyI7czowOiIiO3M6MTM6ImdyaWRGaWVsZFR5cGUiO3M6NjoiaGlkZGVuIjtzOjQ6Im5hbWUiO3M6NzoiRFlOX1VJRCI7czo0OiJ0eXBlIjtzOjY6ImhpZGRlbiI7czo1OiJsYWJlbCI7TjtzOjc6InBtTGFiZWwiO047czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJlZGl0IjtzOjEyOiJkZWZhdWx0VmFsdWUiO047czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjc6IlBST19VSUQiO2E6Mzg6e3M6MTE6InNob3dJblRhYmxlIjtzOjE6IjAiO3M6MTU6InRpdGxlVmlzaWJpbGl0eSI7czoxOiIxIjtzOjg6ImNvbFdpZHRoIjtpOjE0MDtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjU6ImV2ZW50IjtzOjA6IiI7czo0OiJkYXRhIjtzOjc6IlBST19VSUQiO3M6MTA6InRpdGxlQWxpZ24iO3M6MDoiIjtzOjU6ImFsaWduIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7aTowO3M6Mzoic3FsIjtzOjA6IiI7czo5OiJzcWxPcHRpb24iO2E6MDp7fXM6MTU6ImRlcGVuZGVudEZpZWxkcyI7czowOiIiO3M6MTM6ImdyaWRGaWVsZFR5cGUiO3M6NjoiaGlkZGVuIjtzOjQ6Im5hbWUiO3M6NzoiUFJPX1VJRCI7czo0OiJ0eXBlIjtzOjY6ImhpZGRlbiI7czo1OiJsYWJlbCI7TjtzOjc6InBtTGFiZWwiO047czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJlZGl0IjtzOjEyOiJkZWZhdWx0VmFsdWUiO047czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjk6IkRZTl9USVRMRSI7YTo1NTp7czoxMToic2hvd0luVGFibGUiO3M6MDoiIjtzOjE1OiJ0aXRsZVZpc2liaWxpdHkiO3M6MToiMSI7czo4OiJjb2xXaWR0aCI7czozOiIzMDAiO3M6Nzoib25jbGljayI7czowOiIiO3M6NToiZXZlbnQiO3M6MDoiIjtzOjQ6ImRhdGEiO3M6OToiRFlOX1RJVExFIjtzOjEwOiJ0aXRsZUFsaWduIjtzOjQ6ImxlZnQiO3M6NToiYWxpZ24iO3M6NDoibGVmdCI7czo0OiJzaXplIjtpOjE1O3M6OToibWF4TGVuZ3RoIjtpOjY0O3M6ODoidmFsaWRhdGUiO3M6MzoiQW55IjtzOjQ6Im1hc2siO3M6MDoiIjtzOjEyOiJkZWZhdWx0VmFsdWUiO3M6MDoiIjtzOjg6InJlcXVpcmVkIjtiOjA7czoxNToiZGVwZW5kZW50RmllbGRzIjtzOjA6IiI7czo5OiJsaW5rRmllbGQiO3M6MDoiIjtzOjU6InN0clRvIjtzOjA6IiI7czo4OiJyZWFkT25seSI7YjowO3M6MTM6InNxbENvbm5lY3Rpb24iO2k6MDtzOjM6InNxbCI7czowOiIiO3M6OToic3FsT3B0aW9uIjthOjA6e31zOjEzOiJncmlkRmllbGRUeXBlIjtzOjQ6InRleHQiO3M6NzoiZm9ybXVsYSI7czowOiIiO3M6ODoiZnVuY3Rpb24iO3M6MDoiIjtzOjExOiJyZXBsYWNlVGFncyI7aTowO3M6MTA6InJlbmRlck1vZGUiO3M6MDoiIjtzOjE1OiJjb21tYV9zZXBhcmF0b3IiO3M6MToiLiI7czoxMjoiYXV0b2NvbXBsZXRlIjtzOjI6Im9uIjtzOjEwOiJvbmtleXByZXNzIjtzOjA6IiI7czo0OiJuYW1lIjtzOjk6IkRZTl9USVRMRSI7czo0OiJ0eXBlIjtzOjQ6InRleHQiO3M6NToibGFiZWwiO3M6NToiVGl0bGUiO3M6NzoicG1MYWJlbCI7czo1OiJUaXRsZSI7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJlZGl0IjtzOjk6ImdyaWRMYWJlbCI7czowOiIiO3M6NDoiaGludCI7czowOiIiO3M6MTA6ImVuYWJsZUh0bWwiO2I6MDtzOjU6InN0eWxlIjtzOjA6IiI7czoxMjoid2l0aG91dExhYmVsIjtiOjA7czo5OiJjbGFzc05hbWUiO3M6MDoiIjtzOjg6ImNvbEFsaWduIjtzOjQ6ImxlZnQiO3M6MTI6ImNvbENsYXNzTmFtZSI7czowOiIiO3M6MTY6ImRhdGFDb21wYXJlRmllbGQiO3M6OToiRFlOX1RJVExFIjtzOjE1OiJkYXRhQ29tcGFyZVR5cGUiO3M6ODoiY29udGFpbnMiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fXM6NDoiaHJlZiI7czoxMjoiamF2YXNjcmlwdDo7IjtzOjY6Im9uc29ydCI7czoxMDk6ImJEbDVaWHBhWW1sd2NETnFielZZYlRRMVlXWTBZVkJoY0hOTFJERkt3ckJzY1VoNldqVTJWMkkzWVV0cy5kb1NvcnQoIlpEZDRLM2swVXpocFNIa3giLCAiQVNDIik7IHJldHVybiBmYWxzZTsiO31zOjg6IkRZTl9UWVBFIjthOjQ4OntzOjExOiJzaG93SW5UYWJsZSI7czowOiIiO3M6MTU6InRpdGxlVmlzaWJpbGl0eSI7czoxOiIxIjtzOjg6ImNvbFdpZHRoIjtzOjI6IjUwIjtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjU6ImV2ZW50IjtzOjA6IiI7czo0OiJkYXRhIjtzOjg6IkRZTl9UWVBFIjtzOjEwOiJ0aXRsZUFsaWduIjtzOjY6ImNlbnRlciI7czo1OiJhbGlnbiI7czowOiIiO3M6MTI6ImRlZmF1bHRWYWx1ZSI7czowOiIiO3M6ODoicmVxdWlyZWQiO2I6MDtzOjE1OiJkZXBlbmRlbnRGaWVsZHMiO3M6MDoiIjtzOjg6InJlYWRvbmx5IjtiOjA7czo4OiJvcHRncm91cCI7aTowO3M6Njoib3B0aW9uIjthOjI6e3M6NzoieG1sZm9ybSI7czo2OiJOb3JtYWwiO3M6NDoiZ3JpZCI7czo0OiJHcmlkIjt9czoxMzoic3FsQ29ubmVjdGlvbiI7aTowO3M6Mzoic3FsIjtzOjA6IiI7czo5OiJzcWxPcHRpb24iO2E6MDp7fXM6OToic2F2ZUxhYmVsIjtpOjA7czoxMjoibW9kZUdyaWREcm9wIjtzOjA6IiI7czoxMDoicmVuZGVyTW9kZSI7czowOiIiO3M6MTM6InNlbGVjdGVkVmFsdWUiO3M6MDoiIjtzOjQ6Im5hbWUiO3M6ODoiRFlOX1RZUEUiO3M6NDoidHlwZSI7czo4OiJkcm9wZG93biI7czo1OiJsYWJlbCI7czo0OiJUeXBlIjtzOjc6InBtTGFiZWwiO3M6NDoiVHlwZSI7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJlZGl0IjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjA6IiI7czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo2OiJjZW50ZXIiO3M6MTI6ImNvbENsYXNzTmFtZSI7czowOiIiO3M6MTY6ImRhdGFDb21wYXJlRmllbGQiO3M6MDoiIjtzOjE1OiJkYXRhQ29tcGFyZVR5cGUiO3M6MToiPSI7czo3OiJwbXRhYmxlIjtzOjA6IiI7czo0OiJrZXlzIjtzOjA6IiI7czoxMjoicG1jb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbWZpZWxkIjtzOjA6IiI7czo4OiJtb2RlR3JpZCI7czowOiIiO3M6MTE6Im1vZGVGb3JHcmlkIjtzOjQ6ImVkaXQiO3M6Nzoib3B0aW9ucyI7YToyOntzOjc6InhtbGZvcm0iO3M6NjoiTm9ybWFsIjtzOjQ6ImdyaWQiO3M6NDoiR3JpZCI7fXM6NDoiaHJlZiI7czoxMjoiamF2YXNjcmlwdDo7IjtzOjY6Im9uc29ydCI7czoxMTE6ImJEbDVaWHBhWW1sd2NETnFielZZYlRRMVlXWTBZVkJoY0hOTFJERkt3ckJzY1VoNldqVTJWMkkzWVV0cy5kb1NvcnQoIlpEZDRLM2swVkUxb1NGVV9fXyIsICJBU0MiKTsgcmV0dXJuIGZhbHNlOyI7fXM6NDoiRURJVCI7YTo0MTp7czoxMToic2hvd0luVGFibGUiO3M6MDoiIjtzOjE1OiJ0aXRsZVZpc2liaWxpdHkiO3M6MToiMCI7czo4OiJjb2xXaWR0aCI7czoyOiI0MCI7czo3OiJvbmNsaWNrIjtzOjM3OiJkeW5hZm9ybUVkaXQoQFFEWU5fVUlEKTtyZXR1cm4gZmFsc2U7IjtzOjU6ImV2ZW50IjtzOjA6IiI7czo0OiJkYXRhIjtzOjQ6IkVESVQiO3M6MTA6InRpdGxlQWxpZ24iO3M6NDoibGVmdCI7czo1OiJhbGlnbiI7czowOiIiO3M6NDoibGluayI7czoxOiIjIjtzOjU6InZhbHVlIjtzOjI4OiJARzo6TG9hZFRyYW5zbGF0aW9uKElEX0VESVQpIjtzOjY6InRhcmdldCI7czowOiIiO3M6NToic3R5bGUiO3M6MDoiIjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6NzoiUm93TGluayI7czoxMzoiZ3JpZEZpZWxkVHlwZSI7czo0OiJsaW5rIjtzOjQ6Im5hbWUiO3M6NDoiRURJVCI7czo0OiJ0eXBlIjtzOjQ6ImxpbmsiO3M6NToibGFiZWwiO047czo3OiJwbUxhYmVsIjtOO3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6NDoiZWRpdCI7czoxMjoiZGVmYXVsdFZhbHVlIjtOO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fXM6NDoiaHJlZiI7czoxMjoiamF2YXNjcmlwdDo7IjtzOjY6Im9uc29ydCI7czoxMzoicmV0dXJuIGZhbHNlOyI7fXM6NjoiREVMRVRFIjthOjQxOntzOjExOiJzaG93SW5UYWJsZSI7czowOiIiO3M6MTU6InRpdGxlVmlzaWJpbGl0eSI7czoxOiIwIjtzOjg6ImNvbFdpZHRoIjtzOjI6IjQwIjtzOjc6Im9uY2xpY2siO3M6NDk6ImR5bmFmb3JtRGVsZXRlKEBRRFlOX1VJRCxAUVBST19VSUQpO3JldHVybiBmYWxzZTsiO3M6NToiZXZlbnQiO3M6MDoiIjtzOjQ6ImRhdGEiO3M6NjoiREVMRVRFIjtzOjEwOiJ0aXRsZUFsaWduIjtzOjA6IiI7czo1OiJhbGlnbiI7czowOiIiO3M6NDoibGluayI7czoxOiIjIjtzOjU6InZhbHVlIjtzOjMwOiJARzo6TG9hZFRyYW5zbGF0aW9uKElEX0RFTEVURSkiO3M6NjoidGFyZ2V0IjtzOjA6IiI7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6ImNvbENsYXNzTmFtZSI7czo3OiJSb3dMaW5rIjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjQ6ImxpbmsiO3M6NDoibmFtZSI7czo2OiJERUxFVEUiO3M6NDoidHlwZSI7czo0OiJsaW5rIjtzOjU6ImxhYmVsIjtzOjA6IiI7czo3OiJwbUxhYmVsIjtzOjA6IiI7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJlZGl0IjtzOjEyOiJkZWZhdWx0VmFsdWUiO047czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czoxMjoid2l0aG91dExhYmVsIjtiOjA7czo5OiJjbGFzc05hbWUiO3M6MDoiIjtzOjg6ImNvbEFsaWduIjtzOjQ6ImxlZnQiO3M6MTY6ImRhdGFDb21wYXJlRmllbGQiO3M6MDoiIjtzOjE1OiJkYXRhQ29tcGFyZVR5cGUiO3M6MToiPSI7czozOiJzcWwiO3M6MDoiIjtzOjEzOiJzcWxDb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbXRhYmxlIjtzOjA6IiI7czo0OiJrZXlzIjtzOjA6IiI7czoxMjoicG1jb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbWZpZWxkIjtzOjA6IiI7czo4OiJtb2RlR3JpZCI7czowOiIiO3M6MTE6Im1vZGVGb3JHcmlkIjtzOjQ6ImVkaXQiO3M6Nzoib3B0aW9ucyI7YTowOnt9czo0OiJocmVmIjtzOjEyOiJqYXZhc2NyaXB0OjsiO3M6Njoib25zb3J0IjtzOjEzOiJyZXR1cm4gZmFsc2U7Ijt9czo3OiJHRVRfVUlEIjthOjQxOntzOjExOiJzaG93SW5UYWJsZSI7czowOiIiO3M6MTU6InRpdGxlVmlzaWJpbGl0eSI7czoxOiIwIjtzOjg6ImNvbFdpZHRoIjtzOjI6IjQwIjtzOjc6Im9uY2xpY2siO3M6NDc6Im1zZ0JveCgnVUlEOiAnK0BRRFlOX1VJRCwgJ2luZm8nKTtyZXR1cm4gZmFsc2U7IjtzOjU6ImV2ZW50IjtzOjA6IiI7czo0OiJkYXRhIjtzOjc6IkdFVF9VSUQiO3M6MTA6InRpdGxlQWxpZ24iO3M6MDoiIjtzOjU6ImFsaWduIjtzOjA6IiI7czo0OiJsaW5rIjtzOjE6IiMiO3M6NToidmFsdWUiO3M6MzoiVUlEIjtzOjY6InRhcmdldCI7czowOiIiO3M6NToic3R5bGUiO3M6MDoiIjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6NzoiUm93TGluayI7czoxMzoiZ3JpZEZpZWxkVHlwZSI7czo0OiJsaW5rIjtzOjQ6Im5hbWUiO3M6NzoiR0VUX1VJRCI7czo0OiJ0eXBlIjtzOjQ6ImxpbmsiO3M6NToibGFiZWwiO047czo3OiJwbUxhYmVsIjtOO3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6NDoiZWRpdCI7czoxMjoiZGVmYXVsdFZhbHVlIjtOO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fXM6NDoiaHJlZiI7czoxMjoiamF2YXNjcmlwdDo7IjtzOjY6Im9uc29ydCI7czoxMzoicmV0dXJuIGZhbHNlOyI7fXM6NjoiU0VBUkNIIjthOjM2OntzOjExOiJzaG93SW5UYWJsZSI7czoxOiIwIjtzOjE1OiJ0aXRsZVZpc2liaWxpdHkiO3M6MToiMCI7czo4OiJjb2xXaWR0aCI7aToxNDA7czo3OiJvbmNsaWNrIjtzOjMwOiJwYWdlZFRhYmxlRmlsdGVyKCB0aGlzLmZvcm0gKTsiO3M6NToiZXZlbnQiO3M6MDoiIjtzOjQ6ImRhdGEiO3M6MDoiIjtzOjEwOiJ0aXRsZUFsaWduIjtzOjA6IiI7czo1OiJhbGlnbiI7czo2OiJjZW50ZXIiO3M6NToic3R5bGUiO047czo0OiJuYW1lIjtzOjY6IlNFQVJDSCI7czo0OiJ0eXBlIjtzOjY6ImJ1dHRvbiI7czo1OiJsYWJlbCI7czoxMjoiQXBwbHkgRmlsdGVyIjtzOjc6InBtTGFiZWwiO3M6MTI6IkFwcGx5IEZpbHRlciI7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJlZGl0IjtzOjEyOiJkZWZhdWx0VmFsdWUiO047czoxMzoiZ3JpZEZpZWxkVHlwZSI7czowOiIiO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjE0OiJQQUdFRF9UQUJMRV9JRCI7YTozNjp7czoxMToic2hvd0luVGFibGUiO3M6MToiMCI7czoxNToidGl0bGVWaXNpYmlsaXR5IjtzOjE6IjEiO3M6ODoiY29sV2lkdGgiO2k6MTQwO3M6Nzoib25jbGljayI7czowOiIiO3M6NToiZXZlbnQiO3M6MDoiIjtzOjQ6ImRhdGEiO3M6MTQ6IlBBR0VEX1RBQkxFX0lEIjtzOjEwOiJ0aXRsZUFsaWduIjtzOjA6IiI7czo1OiJhbGlnbiI7czowOiIiO3M6NDoibmFtZSI7czoxNDoiUEFHRURfVEFCTEVfSUQiO3M6NDoidHlwZSI7czo3OiJwcml2YXRlIjtzOjU6ImxhYmVsIjtOO3M6NzoicG1MYWJlbCI7TjtzOjg6Imxhbmd1YWdlIjtzOjI6ImVuIjtzOjU6Imdyb3VwIjtpOjA7czo0OiJtb2RlIjtzOjQ6ImVkaXQiO3M6MTI6ImRlZmF1bHRWYWx1ZSI7TjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjA6IiI7czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjg6IkpTRklMVEVSIjthOjM3OntzOjExOiJzaG93SW5UYWJsZSI7czoxOiIwIjtzOjE1OiJ0aXRsZVZpc2liaWxpdHkiO3M6MToiMSI7czo4OiJjb2xXaWR0aCI7aToxNDA7czo3OiJvbmNsaWNrIjtzOjA6IiI7czo1OiJldmVudCI7czowOiIiO3M6NDoiZGF0YSI7czo4OiJKU0ZJTFRFUiI7czoxMDoidGl0bGVBbGlnbiI7czowOiIiO3M6NToiYWxpZ24iO3M6MDoiIjtzOjQ6ImNvZGUiO3M6NzY6IgpmdW5jdGlvbiBwYWdlZFRhYmxlRmlsdGVyKCBmb3JtICkgewogIEAjUEFHRURfVEFCTEVfSUQuZG9GaWx0ZXIoIGZvcm0gKTsKfQoiO3M6MTE6InJlcGxhY2VUYWdzIjtzOjE6IjEiO3M6NDoibmFtZSI7czo4OiJKU0ZJTFRFUiI7czo0OiJ0eXBlIjtzOjEwOiJqYXZhc2NyaXB0IjtzOjU6ImxhYmVsIjtzOjA6IiI7czo3OiJwbUxhYmVsIjtzOjA6IiI7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czowOiIiO3M6MTI6ImRlZmF1bHRWYWx1ZSI7TjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjA6IiI7czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czowOiIiO319czoxMToicm93c1BlclBhZ2UiO2k6MTI7czo5OiJvd25lclBhZ2UiO3M6NTU6Ii9zeXN3b3JrZmxvdy9lbi9uZW9jbGFzc2ljL3Byb2Nlc3Nlcy9wcm9jZXNzZXNfQWpheC5waHAiO3M6OToicG9wdXBQYWdlIjtOO3M6MTE6InBvcHVwU3VibWl0IjtOO3M6MTA6InBvcHVwV2lkdGgiO2k6NDUwO3M6MTE6InBvcHVwSGVpZ2h0IjtpOjIwMDtzOjEwOiJhamF4U2VydmVyIjtzOjI3OiIuLi9ndWxsaXZlci9wcm9wZWxUYWJsZUFqYXgiO3M6NjoiZmllbGRzIjthOjEwOntzOjc6IkRZTl9VSUQiO2E6Mzp7czo0OiJOYW1lIjtzOjc6IkRZTl9VSUQiO3M6NDoiVHlwZSI7czo2OiJoaWRkZW4iO3M6NToiTGFiZWwiO047fXM6NzoiUFJPX1VJRCI7YTozOntzOjQ6Ik5hbWUiO3M6NzoiUFJPX1VJRCI7czo0OiJUeXBlIjtzOjY6ImhpZGRlbiI7czo1OiJMYWJlbCI7Tjt9czo5OiJEWU5fVElUTEUiO2E6NDp7czo0OiJOYW1lIjtzOjk6IkRZTl9USVRMRSI7czo0OiJUeXBlIjtzOjQ6InRleHQiO3M6NDoiU2l6ZSI7aToxNTtzOjU6IkxhYmVsIjtzOjU6IlRpdGxlIjt9czo4OiJEWU5fVFlQRSI7YTozOntzOjQ6Ik5hbWUiO3M6ODoiRFlOX1RZUEUiO3M6NDoiVHlwZSI7czo4OiJkcm9wZG93biI7czo1OiJMYWJlbCI7czo0OiJUeXBlIjt9czo0OiJFRElUIjthOjM6e3M6NDoiTmFtZSI7czo0OiJFRElUIjtzOjQ6IlR5cGUiO3M6NDoibGluayI7czo1OiJMYWJlbCI7Tjt9czo2OiJERUxFVEUiO2E6Mzp7czo0OiJOYW1lIjtzOjY6IkRFTEVURSI7czo0OiJUeXBlIjtzOjQ6ImxpbmsiO3M6NToiTGFiZWwiO3M6MDoiIjt9czo3OiJHRVRfVUlEIjthOjM6e3M6NDoiTmFtZSI7czo3OiJHRVRfVUlEIjtzOjQ6IlR5cGUiO3M6NDoibGluayI7czo1OiJMYWJlbCI7Tjt9czo2OiJTRUFSQ0giO2E6Mzp7czo0OiJOYW1lIjtzOjY6IlNFQVJDSCI7czo0OiJUeXBlIjtzOjY6ImJ1dHRvbiI7czo1OiJMYWJlbCI7czoxMjoiQXBwbHkgRmlsdGVyIjt9czoxNDoiUEFHRURfVEFCTEVfSUQiO2E6Mzp7czo0OiJOYW1lIjtzOjE0OiJQQUdFRF9UQUJMRV9JRCI7czo0OiJUeXBlIjtzOjc6InByaXZhdGUiO3M6NToiTGFiZWwiO047fXM6ODoiSlNGSUxURVIiO2E6Mzp7czo0OiJOYW1lIjtzOjg6IkpTRklMVEVSIjtzOjQ6IlR5cGUiO3M6MTA6ImphdmFzY3JpcHQiO3M6NToiTGFiZWwiO3M6MDoiIjt9fXM6NToicXVlcnkiO047czo4OiJ0b3RQYWdlcyI7ZDoxO3M6NzoidG90Um93cyI7aToyO3M6ODoic29ydGFibGUiO3M6MToiMSI7czo4OiJjcml0ZXJpYSI7Tzo4OiJDcml0ZXJpYSI6MTk6e3M6MjA6IgBDcml0ZXJpYQBpZ25vcmVDYXNlIjtiOjA7czoyMjoiAENyaXRlcmlhAHNpbmdsZVJlY29yZCI7YjowO3M6MjU6IgBDcml0ZXJpYQBzZWxlY3RNb2RpZmllcnMiO2E6MDp7fXM6MjM6IgBDcml0ZXJpYQBzZWxlY3RDb2x1bW5zIjthOjU6e2k6MDtzOjE2OiJEWU5BRk9STS5EWU5fVUlEIjtpOjE7czoxNjoiRFlOQUZPUk0uUFJPX1VJRCI7aToyO3M6MTc6IkRZTkFGT1JNLkRZTl9UWVBFIjtpOjM7czoxODoiRFlOQUZPUk0uRFlOX1RJVExFIjtpOjQ7czoyNDoiRFlOQUZPUk0uRFlOX0RFU0NSSVBUSU9OIjt9czoyNDoiAENyaXRlcmlhAG9yZGVyQnlDb2x1bW5zIjthOjE6e2k6MDtzOjIyOiJEWU5BRk9STS5EWU5fVElUTEUgQVNDIjt9czoyNDoiAENyaXRlcmlhAGdyb3VwQnlDb2x1bW5zIjthOjA6e31zOjE2OiIAQ3JpdGVyaWEAaGF2aW5nIjtOO3M6MTk6IgBDcml0ZXJpYQBhc0NvbHVtbnMiO2E6MDp7fXM6MTU6IgBDcml0ZXJpYQBqb2lucyI7YTowOnt9czoxNzoiAENyaXRlcmlhAGpvaW5zTUMiO2E6MDp7fXM6MTY6IgBDcml0ZXJpYQBkYk5hbWUiO3M6ODoid29ya2Zsb3ciO3M6MTI6ImRiQXJyYXlUYWJsZSI7TjtzOjI0OiIAQ3JpdGVyaWEAb3JpZ2luYWxEYk5hbWUiO3M6ODoid29ya2Zsb3ciO3M6MTU6IgBDcml0ZXJpYQBsaW1pdCI7aToxMjtzOjE2OiIAQ3JpdGVyaWEAb2Zmc2V0IjtpOjA7czoxODoiAENyaXRlcmlhAGJsb2JGbGFnIjtOO3M6MTc6IgBDcml0ZXJpYQBhbGlhc2VzIjthOjA6e31zOjI0OiIAQ3JpdGVyaWEAdXNlVHJhbnNhY3Rpb24iO2I6MDtzOjEzOiIAQ3JpdGVyaWEAbWFwIjthOjI6e3M6MTY6IkRZTkFGT1JNLlBST19VSUQiO086OToiQ3JpdGVyaW9uIjoxMDp7czoxNjoiAENyaXRlcmlvbgB2YWx1ZSI7czozMjoiMjg1OTIxODY2NWQ0MWQ3YzI5MjA1OTgwNTgxMzc4NjEiO3M6MTA6ImNvbXBhcmlzb24iO3M6MToiPSI7czo1OiJ0YWJsZSI7czo4OiJEWU5BRk9STSI7czoyMDoiAENyaXRlcmlvbgByZWFsdGFibGUiO3M6ODoiRFlOQUZPUk0iO3M6NjoiY29sdW1uIjtzOjc6IlBST19VSUQiO3M6Mjc6IgBDcml0ZXJpb24AaWdub3JlU3RyaW5nQ2FzZSI7YjowO3M6MTM6IgBDcml0ZXJpb24AZGIiO086NzoiREJNeVNRTCI6MDp7fXM6MTg6IgBDcml0ZXJpb24AY2xhdXNlcyI7YTowOnt9czoyMzoiAENyaXRlcmlvbgBjb25qdW5jdGlvbnMiO2E6MDp7fXM6MTc6IgBDcml0ZXJpb24AcGFyZW50IjtOO31zOjEwOiJEWU5BRk9STS4qIjtPOjk6IkNyaXRlcmlvbiI6MTA6e3M6MTY6IgBDcml0ZXJpb24AdmFsdWUiO3M6MjE6IihEWU5fVElUTEUgTElLRSAiJSUiKSI7czoxMDoiY29tcGFyaXNvbiI7czo2OiJDVVNUT00iO3M6NToidGFibGUiO3M6ODoiRFlOQUZPUk0iO3M6MjA6IgBDcml0ZXJpb24AcmVhbHRhYmxlIjtzOjg6IkRZTkFGT1JNIjtzOjY6ImNvbHVtbiI7czoxOiIqIjtzOjI3OiIAQ3JpdGVyaW9uAGlnbm9yZVN0cmluZ0Nhc2UiO2I6MDtzOjEzOiIAQ3JpdGVyaW9uAGRiIjtyOjUyMztzOjE4OiIAQ3JpdGVyaW9uAGNsYXVzZXMiO2E6MDp7fXM6MjM6IgBDcml0ZXJpb24AY29uanVuY3Rpb25zIjthOjA6e31zOjE3OiIAQ3JpdGVyaW9uAHBhcmVudCI7Tjt9fX1zOjM6InNxbCI7czowOiIiO3M6ODoic3FsV2hlcmUiO3M6MDoiIjtzOjEwOiJzcWxHcm91cEJ5IjtzOjA6IiI7czo5OiJzcWxTZWxlY3QiO3M6ODoiU0VMRUNUIDEiO3M6OToic3FsRGVsZXRlIjtzOjA6IiI7czo5OiJzcWxJbnNlcnQiO3M6MDoiIjtzOjk6InNxbFVwZGF0ZSI7czowOiIiO3M6MTM6ImZpZWxkRGF0YUxpc3QiO3M6MDoiIjtzOjg6InhtbFBvcHVwIjtzOjA6IiI7czo2OiJhZGRSb3ciO2I6MDtzOjk6ImRlbGV0ZVJvdyI7YjowO3M6NzoiZWRpdFJvdyI7YjowO3M6OToibm90RmllbGRzIjtzOjQzOiIgIHRpdGxlIGJ1dHRvbiBsaW5rbmV3IGJlZ2luZ3JpZDIgZW5kZ3JpZDIgIjtzOjEzOiJvblVwZGF0ZUZpZWxkIjtzOjA6IiI7czoxMzoib25EZWxldGVGaWVsZCI7czowOiIiO3M6MTY6ImFmdGVyRGVsZXRlRmllbGQiO3M6MDoiIjtzOjEzOiJvbkluc2VydEZpZWxkIjtzOjA6IiI7czo3OiJ4bWxGb3JtIjtPOjQ6IkZvcm0iOjM4OntzOjI6ImlkIjtzOjYwOiJiRGw1WlhwYVltbHdjRE5xYnpWWWJUUTFZV1kwWVZCaGNITkxSREZLd3JCc2NVaDZXalUyVjJJM1lVdHMiO3M6NToid2lkdGgiO3M6NDoiMTAwJSI7czo1OiJ0aXRsZSI7czowOiIiO3M6NjoiZmllbGRzIjthOjEwOntzOjc6IkRZTl9VSUQiO086MTg6IlhtbEZvcm1GaWVsZEhpZGRlbiI6MzY6e3M6MTM6InNxbENvbm5lY3Rpb24iO2k6MDtzOjM6InNxbCI7czowOiIiO3M6OToic3FsT3B0aW9uIjthOjA6e31zOjE1OiJkZXBlbmRlbnRGaWVsZHMiO3M6MDoiIjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjY6ImhpZGRlbiI7czo0OiJuYW1lIjtzOjc6IkRZTl9VSUQiO3M6NDoidHlwZSI7czo2OiJoaWRkZW4iO3M6NToibGFiZWwiO047czo3OiJwbUxhYmVsIjtOO3M6NToib3duZXIiO3I6NTU1O3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6NDoiZWRpdCI7czoxMjoiZGVmYXVsdFZhbHVlIjtOO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6NToic3R5bGUiO3M6MDoiIjtzOjEyOiJ3aXRob3V0TGFiZWwiO2I6MDtzOjk6ImNsYXNzTmFtZSI7czowOiIiO3M6ODoiY29sV2lkdGgiO2k6MTQwO3M6ODoiY29sQWxpZ24iO3M6NDoibGVmdCI7czoxMjoiY29sQ2xhc3NOYW1lIjtzOjA6IiI7czoxMDoidGl0bGVBbGlnbiI7czowOiIiO3M6NToiYWxpZ24iO3M6MDoiIjtzOjExOiJzaG93SW5UYWJsZSI7czoxOiIwIjtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjc6IlBST19VSUQiO086MTg6IlhtbEZvcm1GaWVsZEhpZGRlbiI6MzY6e3M6MTM6InNxbENvbm5lY3Rpb24iO2k6MDtzOjM6InNxbCI7czowOiIiO3M6OToic3FsT3B0aW9uIjthOjA6e31zOjE1OiJkZXBlbmRlbnRGaWVsZHMiO3M6MDoiIjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjY6ImhpZGRlbiI7czo0OiJuYW1lIjtzOjc6IlBST19VSUQiO3M6NDoidHlwZSI7czo2OiJoaWRkZW4iO3M6NToibGFiZWwiO047czo3OiJwbUxhYmVsIjtOO3M6NToib3duZXIiO3I6NTU1O3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6NDoiZWRpdCI7czoxMjoiZGVmYXVsdFZhbHVlIjtOO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6NToic3R5bGUiO3M6MDoiIjtzOjEyOiJ3aXRob3V0TGFiZWwiO2I6MDtzOjk6ImNsYXNzTmFtZSI7czowOiIiO3M6ODoiY29sV2lkdGgiO2k6MTQwO3M6ODoiY29sQWxpZ24iO3M6NDoibGVmdCI7czoxMjoiY29sQ2xhc3NOYW1lIjtzOjA6IiI7czoxMDoidGl0bGVBbGlnbiI7czowOiIiO3M6NToiYWxpZ24iO3M6MDoiIjtzOjExOiJzaG93SW5UYWJsZSI7czoxOiIxIjtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjk6IkRZTl9USVRMRSI7TzoxNjoiWG1sRm9ybUZpZWxkVGV4dCI6NTE6e3M6NDoic2l6ZSI7aToxNTtzOjk6Im1heExlbmd0aCI7aTo2NDtzOjg6InZhbGlkYXRlIjtzOjM6IkFueSI7czo0OiJtYXNrIjtzOjA6IiI7czoxMjoiZGVmYXVsdFZhbHVlIjtzOjA6IiI7czo4OiJyZXF1aXJlZCI7YjowO3M6MTU6ImRlcGVuZGVudEZpZWxkcyI7czowOiIiO3M6OToibGlua0ZpZWxkIjtzOjA6IiI7czo1OiJzdHJUbyI7czowOiIiO3M6ODoicmVhZE9ubHkiO2I6MDtzOjEzOiJzcWxDb25uZWN0aW9uIjtpOjA7czozOiJzcWwiO3M6MDoiIjtzOjk6InNxbE9wdGlvbiI7YTowOnt9czoxMzoiZ3JpZEZpZWxkVHlwZSI7czo0OiJ0ZXh0IjtzOjc6ImZvcm11bGEiO3M6MDoiIjtzOjg6ImZ1bmN0aW9uIjtzOjA6IiI7czoxMToicmVwbGFjZVRhZ3MiO2k6MDtzOjEwOiJyZW5kZXJNb2RlIjtzOjA6IiI7czoxNToiY29tbWFfc2VwYXJhdG9yIjtzOjE6Ii4iO3M6MTI6ImF1dG9jb21wbGV0ZSI7czoyOiJvbiI7czoxMDoib25rZXlwcmVzcyI7czowOiIiO3M6NDoibmFtZSI7czo5OiJEWU5fVElUTEUiO3M6NDoidHlwZSI7czo0OiJ0ZXh0IjtzOjU6ImxhYmVsIjtzOjU6IlRpdGxlIjtzOjc6InBtTGFiZWwiO3M6NToiVGl0bGUiO3M6NToib3duZXIiO3I6NTU1O3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6NDoidmlldyI7czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xXaWR0aCI7czozOiIzMDAiO3M6ODoiY29sQWxpZ24iO3M6NDoibGVmdCI7czoxMjoiY29sQ2xhc3NOYW1lIjtzOjA6IiI7czoxMDoidGl0bGVBbGlnbiI7czo0OiJsZWZ0IjtzOjU6ImFsaWduIjtzOjQ6ImxlZnQiO3M6MTE6InNob3dJblRhYmxlIjtzOjA6IiI7czo3OiJvbmNsaWNrIjtzOjA6IiI7czoxNjoiZGF0YUNvbXBhcmVGaWVsZCI7czo5OiJEWU5fVElUTEUiO3M6MTU6ImRhdGFDb21wYXJlVHlwZSI7czo4OiJjb250YWlucyI7czo3OiJwbXRhYmxlIjtzOjA6IiI7czo0OiJrZXlzIjtzOjA6IiI7czoxMjoicG1jb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbWZpZWxkIjtzOjA6IiI7czo4OiJtb2RlR3JpZCI7czowOiIiO3M6MTE6Im1vZGVGb3JHcmlkIjtzOjQ6ImVkaXQiO3M6Nzoib3B0aW9ucyI7YTowOnt9fXM6ODoiRFlOX1RZUEUiO086MjA6IlhtbEZvcm1GaWVsZERyb3Bkb3duIjo0NDp7czoxMjoiZGVmYXVsdFZhbHVlIjtzOjA6IiI7czo4OiJyZXF1aXJlZCI7YjowO3M6MTU6ImRlcGVuZGVudEZpZWxkcyI7czowOiIiO3M6ODoicmVhZG9ubHkiO2I6MDtzOjg6Im9wdGdyb3VwIjtpOjA7czo2OiJvcHRpb24iO2E6Mjp7czo3OiJ4bWxmb3JtIjtzOjY6Ik5vcm1hbCI7czo0OiJncmlkIjtzOjQ6IkdyaWQiO31zOjEzOiJzcWxDb25uZWN0aW9uIjtpOjA7czozOiJzcWwiO3M6MDoiIjtzOjk6InNxbE9wdGlvbiI7YTowOnt9czo5OiJzYXZlTGFiZWwiO2k6MDtzOjEyOiJtb2RlR3JpZERyb3AiO3M6MDoiIjtzOjEwOiJyZW5kZXJNb2RlIjtzOjQ6InZpZXciO3M6MTM6InNlbGVjdGVkVmFsdWUiO3M6MDoiIjtzOjQ6Im5hbWUiO3M6ODoiRFlOX1RZUEUiO3M6NDoidHlwZSI7czo4OiJkcm9wZG93biI7czo1OiJsYWJlbCI7czo0OiJUeXBlIjtzOjc6InBtTGFiZWwiO3M6NDoiVHlwZSI7czo1OiJvd25lciI7cjo1NTU7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJ2aWV3IjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjA6IiI7czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xXaWR0aCI7czoyOiI1MCI7czo4OiJjb2xBbGlnbiI7czo2OiJjZW50ZXIiO3M6MTI6ImNvbENsYXNzTmFtZSI7czowOiIiO3M6MTA6InRpdGxlQWxpZ24iO3M6NjoiY2VudGVyIjtzOjU6ImFsaWduIjtzOjA6IiI7czoxMToic2hvd0luVGFibGUiO3M6MDoiIjtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6Mjp7czo3OiJ4bWxmb3JtIjtzOjY6Ik5vcm1hbCI7czo0OiJncmlkIjtzOjQ6IkdyaWQiO319czo0OiJFRElUIjtPOjE2OiJYbWxGb3JtRmllbGRMaW5rIjozNzp7czo0OiJsaW5rIjtzOjE6IiMiO3M6NToidmFsdWUiO3M6NDoiRWRpdCI7czo2OiJ0YXJnZXQiO3M6MDoiIjtzOjU6InN0eWxlIjtzOjA6IiI7czoxMjoiY29sQ2xhc3NOYW1lIjtzOjc6IlJvd0xpbmsiO3M6MTM6ImdyaWRGaWVsZFR5cGUiO3M6NDoibGluayI7czo0OiJuYW1lIjtzOjQ6IkVESVQiO3M6NDoidHlwZSI7czo0OiJsaW5rIjtzOjU6ImxhYmVsIjtOO3M6NzoicG1MYWJlbCI7TjtzOjU6Im93bmVyIjtyOjU1NTtzOjg6Imxhbmd1YWdlIjtzOjI6ImVuIjtzOjU6Imdyb3VwIjtpOjA7czo0OiJtb2RlIjtzOjQ6InZpZXciO3M6MTI6ImRlZmF1bHRWYWx1ZSI7TjtzOjk6ImdyaWRMYWJlbCI7czowOiIiO3M6NDoiaGludCI7czowOiIiO3M6MTA6ImVuYWJsZUh0bWwiO2I6MDtzOjEyOiJ3aXRob3V0TGFiZWwiO2I6MDtzOjk6ImNsYXNzTmFtZSI7czowOiIiO3M6ODoiY29sV2lkdGgiO3M6MjoiNDAiO3M6ODoiY29sQWxpZ24iO3M6NDoibGVmdCI7czoxMDoidGl0bGVBbGlnbiI7czo0OiJsZWZ0IjtzOjU6ImFsaWduIjtzOjA6IiI7czoxMToic2hvd0luVGFibGUiO3M6MDoiIjtzOjc6Im9uY2xpY2siO3M6Mzc6ImR5bmFmb3JtRWRpdChAUURZTl9VSUQpO3JldHVybiBmYWxzZTsiO3M6MTY6ImRhdGFDb21wYXJlRmllbGQiO3M6MDoiIjtzOjE1OiJkYXRhQ29tcGFyZVR5cGUiO3M6MToiPSI7czozOiJzcWwiO3M6MDoiIjtzOjEzOiJzcWxDb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbXRhYmxlIjtzOjA6IiI7czo0OiJrZXlzIjtzOjA6IiI7czoxMjoicG1jb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbWZpZWxkIjtzOjA6IiI7czo4OiJtb2RlR3JpZCI7czowOiIiO3M6MTE6Im1vZGVGb3JHcmlkIjtzOjQ6ImVkaXQiO3M6Nzoib3B0aW9ucyI7YTowOnt9fXM6NjoiREVMRVRFIjtPOjE2OiJYbWxGb3JtRmllbGRMaW5rIjozNzp7czo0OiJsaW5rIjtzOjE6IiMiO3M6NToidmFsdWUiO3M6NjoiRGVsZXRlIjtzOjY6InRhcmdldCI7czowOiIiO3M6NToic3R5bGUiO3M6MDoiIjtzOjEyOiJjb2xDbGFzc05hbWUiO3M6NzoiUm93TGluayI7czoxMzoiZ3JpZEZpZWxkVHlwZSI7czo0OiJsaW5rIjtzOjQ6Im5hbWUiO3M6NjoiREVMRVRFIjtzOjQ6InR5cGUiO3M6NDoibGluayI7czo1OiJsYWJlbCI7czowOiIiO3M6NzoicG1MYWJlbCI7czowOiIiO3M6NToib3duZXIiO3I6NTU1O3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6NDoidmlldyI7czoxMjoiZGVmYXVsdFZhbHVlIjtOO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6MTI6IndpdGhvdXRMYWJlbCI7YjowO3M6OToiY2xhc3NOYW1lIjtzOjA6IiI7czo4OiJjb2xXaWR0aCI7czoyOiI0MCI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjEwOiJ0aXRsZUFsaWduIjtzOjA6IiI7czo1OiJhbGlnbiI7czowOiIiO3M6MTE6InNob3dJblRhYmxlIjtzOjA6IiI7czo3OiJvbmNsaWNrIjtzOjQ5OiJkeW5hZm9ybURlbGV0ZShAUURZTl9VSUQsQFFQUk9fVUlEKTtyZXR1cm4gZmFsc2U7IjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjc6IkdFVF9VSUQiO086MTY6IlhtbEZvcm1GaWVsZExpbmsiOjM3OntzOjQ6ImxpbmsiO3M6MToiIyI7czo1OiJ2YWx1ZSI7czozOiJVSUQiO3M6NjoidGFyZ2V0IjtzOjA6IiI7czo1OiJzdHlsZSI7czowOiIiO3M6MTI6ImNvbENsYXNzTmFtZSI7czo3OiJSb3dMaW5rIjtzOjEzOiJncmlkRmllbGRUeXBlIjtzOjQ6ImxpbmsiO3M6NDoibmFtZSI7czo3OiJHRVRfVUlEIjtzOjQ6InR5cGUiO3M6NDoibGluayI7czo1OiJsYWJlbCI7TjtzOjc6InBtTGFiZWwiO047czo1OiJvd25lciI7cjo1NTU7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJ2aWV3IjtzOjEyOiJkZWZhdWx0VmFsdWUiO047czo5OiJncmlkTGFiZWwiO3M6MDoiIjtzOjQ6ImhpbnQiO3M6MDoiIjtzOjEwOiJlbmFibGVIdG1sIjtiOjA7czoxMjoid2l0aG91dExhYmVsIjtiOjA7czo5OiJjbGFzc05hbWUiO3M6MDoiIjtzOjg6ImNvbFdpZHRoIjtzOjI6IjQwIjtzOjg6ImNvbEFsaWduIjtzOjQ6ImxlZnQiO3M6MTA6InRpdGxlQWxpZ24iO3M6MDoiIjtzOjU6ImFsaWduIjtzOjA6IiI7czoxMToic2hvd0luVGFibGUiO3M6MDoiIjtzOjc6Im9uY2xpY2siO3M6NDc6Im1zZ0JveCgnVUlEOiAnK0BRRFlOX1VJRCwgJ2luZm8nKTtyZXR1cm4gZmFsc2U7IjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjY6IlNFQVJDSCI7TzoxODoiWG1sRm9ybUZpZWxkQnV0dG9uIjozNDp7czo3OiJvbmNsaWNrIjtzOjMwOiJwYWdlZFRhYmxlRmlsdGVyKCB0aGlzLmZvcm0gKTsiO3M6NToiYWxpZ24iO3M6NjoiY2VudGVyIjtzOjU6InN0eWxlIjtOO3M6NDoibmFtZSI7czo2OiJTRUFSQ0giO3M6NDoidHlwZSI7czo2OiJidXR0b24iO3M6NToibGFiZWwiO3M6MTI6IkFwcGx5IEZpbHRlciI7czo3OiJwbUxhYmVsIjtzOjEyOiJBcHBseSBGaWx0ZXIiO3M6NToib3duZXIiO3I6NTU1O3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6NDoiZWRpdCI7czoxMjoiZGVmYXVsdFZhbHVlIjtOO3M6MTM6ImdyaWRGaWVsZFR5cGUiO3M6MDoiIjtzOjk6ImdyaWRMYWJlbCI7czowOiIiO3M6NDoiaGludCI7czowOiIiO3M6MTA6ImVuYWJsZUh0bWwiO2I6MDtzOjEyOiJ3aXRob3V0TGFiZWwiO2I6MDtzOjk6ImNsYXNzTmFtZSI7czowOiIiO3M6ODoiY29sV2lkdGgiO2k6MTQwO3M6ODoiY29sQWxpZ24iO3M6NDoibGVmdCI7czoxMjoiY29sQ2xhc3NOYW1lIjtzOjA6IiI7czoxMDoidGl0bGVBbGlnbiI7czowOiIiO3M6MTE6InNob3dJblRhYmxlIjtzOjE6IjAiO3M6MTY6ImRhdGFDb21wYXJlRmllbGQiO3M6MDoiIjtzOjE1OiJkYXRhQ29tcGFyZVR5cGUiO3M6MToiPSI7czozOiJzcWwiO3M6MDoiIjtzOjEzOiJzcWxDb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbXRhYmxlIjtzOjA6IiI7czo0OiJrZXlzIjtzOjA6IiI7czoxMjoicG1jb25uZWN0aW9uIjtzOjA6IiI7czo3OiJwbWZpZWxkIjtzOjA6IiI7czo4OiJtb2RlR3JpZCI7czowOiIiO3M6MTE6Im1vZGVGb3JHcmlkIjtzOjQ6ImVkaXQiO3M6Nzoib3B0aW9ucyI7YTowOnt9fXM6MTQ6IlBBR0VEX1RBQkxFX0lEIjtPOjEyOiJYbWxGb3JtRmllbGQiOjM0OntzOjQ6Im5hbWUiO3M6MTQ6IlBBR0VEX1RBQkxFX0lEIjtzOjQ6InR5cGUiO3M6NzoicHJpdmF0ZSI7czo1OiJsYWJlbCI7TjtzOjc6InBtTGFiZWwiO047czo1OiJvd25lciI7cjo1NTU7czo4OiJsYW5ndWFnZSI7czoyOiJlbiI7czo1OiJncm91cCI7aTowO3M6NDoibW9kZSI7czo0OiJlZGl0IjtzOjEyOiJkZWZhdWx0VmFsdWUiO047czoxMzoiZ3JpZEZpZWxkVHlwZSI7czowOiIiO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6NToic3R5bGUiO3M6MDoiIjtzOjEyOiJ3aXRob3V0TGFiZWwiO2I6MDtzOjk6ImNsYXNzTmFtZSI7czowOiIiO3M6ODoiY29sV2lkdGgiO2k6MTQwO3M6ODoiY29sQWxpZ24iO3M6NDoibGVmdCI7czoxMjoiY29sQ2xhc3NOYW1lIjtzOjA6IiI7czoxMDoidGl0bGVBbGlnbiI7czowOiIiO3M6NToiYWxpZ24iO3M6MDoiIjtzOjExOiJzaG93SW5UYWJsZSI7czoxOiIwIjtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czo0OiJlZGl0IjtzOjc6Im9wdGlvbnMiO2E6MDp7fX1zOjg6IkpTRklMVEVSIjtPOjIyOiJYbWxGb3JtRmllbGRKYXZhU2NyaXB0IjozNTp7czo0OiJjb2RlIjtzOjc2OiIKZnVuY3Rpb24gcGFnZWRUYWJsZUZpbHRlciggZm9ybSApIHsKICBAI1BBR0VEX1RBQkxFX0lELmRvRmlsdGVyKCBmb3JtICk7Cn0KIjtzOjExOiJyZXBsYWNlVGFncyI7czoxOiIxIjtzOjQ6Im5hbWUiO3M6ODoiSlNGSUxURVIiO3M6NDoidHlwZSI7czoxMDoiamF2YXNjcmlwdCI7czo1OiJsYWJlbCI7czowOiIiO3M6NzoicG1MYWJlbCI7czowOiIiO3M6NToib3duZXIiO3I6NTU1O3M6ODoibGFuZ3VhZ2UiO3M6MjoiZW4iO3M6NToiZ3JvdXAiO2k6MDtzOjQ6Im1vZGUiO3M6MDoiIjtzOjEyOiJkZWZhdWx0VmFsdWUiO047czoxMzoiZ3JpZEZpZWxkVHlwZSI7czowOiIiO3M6OToiZ3JpZExhYmVsIjtzOjA6IiI7czo0OiJoaW50IjtzOjA6IiI7czoxMDoiZW5hYmxlSHRtbCI7YjowO3M6NToic3R5bGUiO3M6MDoiIjtzOjEyOiJ3aXRob3V0TGFiZWwiO2I6MDtzOjk6ImNsYXNzTmFtZSI7czowOiIiO3M6ODoiY29sV2lkdGgiO2k6MTQwO3M6ODoiY29sQWxpZ24iO3M6NDoibGVmdCI7czoxMjoiY29sQ2xhc3NOYW1lIjtzOjA6IiI7czoxMDoidGl0bGVBbGlnbiI7czowOiIiO3M6NToiYWxpZ24iO3M6MDoiIjtzOjExOiJzaG93SW5UYWJsZSI7czoxOiIwIjtzOjc6Im9uY2xpY2siO3M6MDoiIjtzOjE2OiJkYXRhQ29tcGFyZUZpZWxkIjtzOjA6IiI7czoxNToiZGF0YUNvbXBhcmVUeXBlIjtzOjE6Ij0iO3M6Mzoic3FsIjtzOjA6IiI7czoxMzoic3FsQ29ubmVjdGlvbiI7czowOiIiO3M6NzoicG10YWJsZSI7czowOiIiO3M6NDoia2V5cyI7czowOiIiO3M6MTI6InBtY29ubmVjdGlvbiI7czowOiIiO3M6NzoicG1maWVsZCI7czowOiIiO3M6ODoibW9kZUdyaWQiO3M6MDoiIjtzOjExOiJtb2RlRm9yR3JpZCI7czowOiIiO319czo2OiJ2YWx1ZXMiO2E6NTQ6e3M6NzoiRFlOX1VJRCI7czozMjoiNDkyMzgwMDE1NWRhNzFhNzMyYTQyMDcwMzE3Njg0MjQiO3M6NzoiUFJPX1VJRCI7czozMjoiMjg1OTIxODY2NWQ0MWQ3YzI5MjA1OTgwNTgxMzc4NjEiO3M6OToiRFlOX1RJVExFIjtzOjQ6IkdyaWQiO3M6ODoiRFlOX1RZUEUiO3M6NDoiZ3JpZCI7czo0OiJFRElUIjtzOjA6IiI7czo2OiJERUxFVEUiO3M6MDoiIjtzOjc6IkdFVF9VSUQiO3M6MDoiIjtzOjY6IlNFQVJDSCI7czowOiIiO3M6MTQ6IlBBR0VEX1RBQkxFX0lEIjtzOjA6IiI7czo4OiJKU0ZJTFRFUiI7czowOiIiO3M6NjoiUFJPX0lEIjtpOjE7czo5OiJQUk9fVElUTEUiO3M6Nzoic3VnZ2VzdCI7czoxNToiUFJPX0RFU0NSSVBUSU9OIjtzOjA6IiI7czoxMDoiUFJPX1BBUkVOVCI7czozMjoiMjg1OTIxODY2NWQ0MWQ3YzI5MjA1OTgwNTgxMzc4NjEiO3M6ODoiUFJPX1RJTUUiO2Q6MTtzOjEyOiJQUk9fVElNRVVOSVQiO3M6NDoiREFZUyI7czoxMDoiUFJPX1NUQVRVUyI7czo2OiJBQ1RJVkUiO3M6MTM6IlBST19TVEFUVVNfSUQiO2k6MTtzOjEyOiJQUk9fVFlQRV9EQVkiO3M6MDoiIjtzOjg6IlBST19UWVBFIjtzOjY6Ik5PUk1BTCI7czoxNDoiUFJPX0FTU0lHTk1FTlQiO3M6NToiRkFMU0UiO3M6MTI6IlBST19TSE9XX01BUCI7aTowO3M6MTY6IlBST19TSE9XX01FU1NBR0UiO2k6MDtzOjE0OiJQUk9fU1VCUFJPQ0VTUyI7aTowO3M6MTQ6IlBST19UUklfQ1JFQVRFIjtzOjA6IiI7czoxMjoiUFJPX1RSSV9PUEVOIjtzOjA6IiI7czoxNToiUFJPX1RSSV9ERUxFVEVEIjtzOjA6IiI7czoxNjoiUFJPX1RSSV9DQU5DRUxFRCI7czowOiIiO3M6MTQ6IlBST19UUklfUEFVU0VEIjtzOjA6IiI7czoxODoiUFJPX1RSSV9SRUFTU0lHTkVEIjtzOjA6IiI7czoxNjoiUFJPX1RSSV9VTlBBVVNFRCI7czowOiIiO3M6MTY6IlBST19UWVBFX1BST0NFU1MiO3M6NjoiUFVCTElDIjtzOjE3OiJQUk9fU0hPV19ERUxFR0FURSI7aTowO3M6MTc6IlBST19TSE9XX0RZTkFGT1JNIjtpOjA7czoxMjoiUFJPX0NBVEVHT1JZIjtzOjA6IiI7czoxNjoiUFJPX1NVQl9DQVRFR09SWSI7czowOiIiO3M6MTI6IlBST19JTkRVU1RSWSI7aTowO3M6MTU6IlBST19VUERBVEVfREFURSI7czoxOToiMjAxOS0xMS0wNSAxMzo0NjoxNCI7czoxNToiUFJPX0NSRUFURV9EQVRFIjtzOjE5OiIyMDE5LTA3LTMxIDE0OjAyOjQyIjtzOjE1OiJQUk9fQ1JFQVRFX1VTRVIiO3M6MzI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIjtzOjEwOiJQUk9fSEVJR0hUIjtpOjUwMDA7czo5OiJQUk9fV0lEVEgiO2k6MTAwMDA7czoxMToiUFJPX1RJVExFX1giO2k6MDtzOjExOiJQUk9fVElUTEVfWSI7aTowO3M6OToiUFJPX0RFQlVHIjtpOjA7czoxMzoiUFJPX0RZTkFGT1JNUyI7YjowO3M6MjU6IlBST19ERVJJVkFUSU9OX1NDUkVFTl9UUEwiO3M6MDoiIjtzOjg6IlBST19DT1NUIjtkOjA7czoxMzoiUFJPX1VOSVRfQ09TVCI7czowOiIiO3M6ODoiUFJPX0lURUUiO2k6MDtzOjE1OiJQUk9fQUNUSU9OX0RPTkUiO047czoxMToiQ0FURUdPUllfSUQiO2k6MDtzOjE4OiJQUk9fQ0FURUdPUllfTEFCRUwiO3M6MTE6Ik5vIENhdGVnb3J5IjtzOjg6IlBST19CUE1OIjtpOjA7fXM6NjoiYWN0aW9uIjtzOjA6IiI7czoxMDoiYWpheFNlcnZlciI7czowOiIiO3M6MTQ6ImVuYWJsZVRlbXBsYXRlIjtiOjA7czoxMDoiYWpheFN1Ym1pdCI7YjowO3M6ODoiY2FsbGJhY2siO3M6MTI6ImZ1bmN0aW9uKCl7fSI7czoxMToiaW5fcHJvZ3Jlc3MiO3M6MTI6ImZ1bmN0aW9uKCl7fSI7czo4OiJ0ZW1wbGF0ZSI7czo2MDoiL3Zhci93d3cvcHJvY2Vzc21ha2VyL3dvcmtmbG93L2VuZ2luZS90ZW1wbGF0ZXMveG1sZm9ybS5odG1sIjtzOjk6ImNsYXNzTmFtZSI7czoxMToiZm9ybURlZmF1bHQiO3M6MjA6Im9iamVjdFJlcXVpcmVkRmllbGRzIjtzOjI6IltdIjtzOjEyOiJuZXh0c3RlcHNhdmUiO3M6MDoiIjtzOjEzOiJwcmludGR5bmFmb3JtIjtzOjA6IiI7czoxNjoiYWRqdXN0Z3JpZHN3aWR0aCI7czoxOiIwIjtzOjE1OiJ2aXN1YWxfZnJvbnRlbmQiO047czo0OiJ0cmVlIjtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6ODoiZHluYUZvcm0iO3M6NDoidHlwZSI7czo0OiJvcGVuIjtzOjU6InZhbHVlIjtzOjM6IgogICI7czoxMDoiYXR0cmlidXRlcyI7YTo0OntzOjQ6Im1lbnUiO3M6Mjc6ImR5bmFmb3Jtcy9keW5hZm9ybXNfT3B0aW9ucyI7czo1OiJ3aWR0aCI7czo0OiIxMDAlIjtzOjExOiJyb3dzUGVyUGFnZSI7czoyOiIxMiI7czo4OiJzZWFyY2hCeSI7czo5OiJEWU5fVElUTEUiO31zOjg6ImNoaWxkcmVuIjthOjIwOntpOjA7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjc6IkRZTl9VSUQiO3M6NDoidHlwZSI7czo4OiJjb21wbGV0ZSI7czo1OiJ2YWx1ZSI7czowOiIiO3M6MTA6ImF0dHJpYnV0ZXMiO2E6Mjp7czo0OiJ0eXBlIjtzOjY6ImhpZGRlbiI7czoxMToic2hvd0luVGFibGUiO3M6MToiMCI7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX1pOjE7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjU6ImNkYXRhIjtzOjU6InZhbHVlIjtzOjM6IgogICI7czoxMDoiYXR0cmlidXRlcyI7YTowOnt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6MjtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6NzoiUFJPX1VJRCI7czo0OiJ0eXBlIjtzOjg6ImNvbXBsZXRlIjtzOjU6InZhbHVlIjtzOjA6IiI7czoxMDoiYXR0cmlidXRlcyI7YToyOntzOjQ6InR5cGUiO3M6NjoiaGlkZGVuIjtzOjExOiJzaG93SW5UYWJsZSI7czoxOiIxIjt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6MztPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NToiY2RhdGEiO3M6NToidmFsdWUiO3M6MzoiCiAgIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjA6e31zOjg6ImNoaWxkcmVuIjthOjA6e319aTo0O086ODoiWG1sX05vZGUiOjU6e3M6NDoibmFtZSI7czo5OiJEWU5fVElUTEUiO3M6NDoidHlwZSI7czo0OiJvcGVuIjtzOjU6InZhbHVlIjtzOjU6IgogICAgIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjY6e3M6NDoidHlwZSI7czo0OiJ0ZXh0IjtzOjg6ImNvbFdpZHRoIjtzOjM6IjMwMCI7czoxMDoidGl0bGVBbGlnbiI7czo0OiJsZWZ0IjtzOjU6ImFsaWduIjtzOjQ6ImxlZnQiO3M6MTY6ImRhdGFDb21wYXJlRmllbGQiO3M6OToiRFlOX1RJVExFIjtzOjE1OiJkYXRhQ29tcGFyZVR5cGUiO3M6ODoiY29udGFpbnMiO31zOjg6ImNoaWxkcmVuIjthOjI6e2k6MDtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6MjoiZW4iO3M6NDoidHlwZSI7czo4OiJjb21wbGV0ZSI7czo1OiJ2YWx1ZSI7czo1OiJUaXRsZSI7czoxMDoiYXR0cmlidXRlcyI7YTowOnt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6MTtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NToiY2RhdGEiO3M6NToidmFsdWUiO3M6MzoiCiAgIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjA6e31zOjg6ImNoaWxkcmVuIjthOjA6e319fX1pOjU7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjU6ImNkYXRhIjtzOjU6InZhbHVlIjtzOjM6IgogICI7czoxMDoiYXR0cmlidXRlcyI7YTowOnt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6NjtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6ODoiRFlOX1RZUEUiO3M6NDoidHlwZSI7czo0OiJvcGVuIjtzOjU6InZhbHVlIjtzOjU6IgogICAgIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjQ6e3M6NDoidHlwZSI7czo4OiJkcm9wZG93biI7czo4OiJjb2xXaWR0aCI7czoyOiI1MCI7czo4OiJjb2xBbGlnbiI7czo2OiJjZW50ZXIiO3M6MTA6InRpdGxlQWxpZ24iO3M6NjoiY2VudGVyIjt9czo4OiJjaGlsZHJlbiI7YToyOntpOjA7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjI6ImVuIjtzOjQ6InR5cGUiO3M6NDoib3BlbiI7czo1OiJ2YWx1ZSI7czo0OiJUeXBlIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjA6e31zOjg6ImNoaWxkcmVuIjthOjI6e2k6MDtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6Njoib3B0aW9uIjtzOjQ6InR5cGUiO3M6ODoiY29tcGxldGUiO3M6NToidmFsdWUiO3M6NjoiTm9ybWFsIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjE6e3M6NDoibmFtZSI7czo3OiJ4bWxmb3JtIjt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6MTtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6Njoib3B0aW9uIjtzOjQ6InR5cGUiO3M6ODoiY29tcGxldGUiO3M6NToidmFsdWUiO3M6NDoiR3JpZCI7czoxMDoiYXR0cmlidXRlcyI7YToxOntzOjQ6Im5hbWUiO3M6NDoiZ3JpZCI7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX19fWk6MTtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NToiY2RhdGEiO3M6NToidmFsdWUiO3M6MzoiCiAgIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjA6e31zOjg6ImNoaWxkcmVuIjthOjA6e319fX1pOjc7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjU6ImNkYXRhIjtzOjU6InZhbHVlIjtzOjM6IgogICI7czoxMDoiYXR0cmlidXRlcyI7YTowOnt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6ODtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6NDoiRURJVCI7czo0OiJ0eXBlIjtzOjg6ImNvbXBsZXRlIjtzOjU6InZhbHVlIjtzOjA6IiI7czoxMDoiYXR0cmlidXRlcyI7YTo3OntzOjQ6InR5cGUiO3M6NDoibGluayI7czo4OiJjb2xXaWR0aCI7czoyOiI0MCI7czo4OiJjb2xBbGlnbiI7czo0OiJsZWZ0IjtzOjEwOiJ0aXRsZUFsaWduIjtzOjQ6ImxlZnQiO3M6NToidmFsdWUiO3M6Mjg6IkBHOjpMb2FkVHJhbnNsYXRpb24oSURfRURJVCkiO3M6NDoibGluayI7czoxOiIjIjtzOjc6Im9uY2xpY2siO3M6Mzc6ImR5bmFmb3JtRWRpdChAUURZTl9VSUQpO3JldHVybiBmYWxzZTsiO31zOjg6ImNoaWxkcmVuIjthOjA6e319aTo5O086ODoiWG1sX05vZGUiOjU6e3M6NDoibmFtZSI7czowOiIiO3M6NDoidHlwZSI7czo1OiJjZGF0YSI7czo1OiJ2YWx1ZSI7czozOiIKICAiO3M6MTA6ImF0dHJpYnV0ZXMiO2E6MDp7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX1pOjEwO086ODoiWG1sX05vZGUiOjU6e3M6NDoibmFtZSI7czo2OiJERUxFVEUiO3M6NDoidHlwZSI7czo0OiJvcGVuIjtzOjU6InZhbHVlIjtzOjU6IgogICAgIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjU6e3M6NDoidHlwZSI7czo0OiJsaW5rIjtzOjg6ImNvbFdpZHRoIjtzOjI6IjQwIjtzOjU6InZhbHVlIjtzOjMwOiJARzo6TG9hZFRyYW5zbGF0aW9uKElEX0RFTEVURSkiO3M6NDoibGluayI7czoxOiIjIjtzOjc6Im9uY2xpY2siO3M6NDk6ImR5bmFmb3JtRGVsZXRlKEBRRFlOX1VJRCxAUVBST19VSUQpO3JldHVybiBmYWxzZTsiO31zOjg6ImNoaWxkcmVuIjthOjI6e2k6MDtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6MjoiZW4iO3M6NDoidHlwZSI7czo4OiJjb21wbGV0ZSI7czo1OiJ2YWx1ZSI7czowOiIiO3M6MTA6ImF0dHJpYnV0ZXMiO2E6MDp7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX1pOjE7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjU6ImNkYXRhIjtzOjU6InZhbHVlIjtzOjM6IgogICI7czoxMDoiYXR0cmlidXRlcyI7YTowOnt9czo4OiJjaGlsZHJlbiI7YTowOnt9fX19aToxMTtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NToiY2RhdGEiO3M6NToidmFsdWUiO3M6MzoiCiAgIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjA6e31zOjg6ImNoaWxkcmVuIjthOjA6e319aToxMjtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6NzoiR0VUX1VJRCI7czo0OiJ0eXBlIjtzOjg6ImNvbXBsZXRlIjtzOjU6InZhbHVlIjtzOjA6IiI7czoxMDoiYXR0cmlidXRlcyI7YTo1OntzOjQ6InR5cGUiO3M6NDoibGluayI7czo4OiJjb2xXaWR0aCI7czoyOiI0MCI7czo1OiJ2YWx1ZSI7czozOiJVSUQiO3M6NDoibGluayI7czoxOiIjIjtzOjc6Im9uY2xpY2siO3M6NDc6Im1zZ0JveCgnVUlEOiAnK0BRRFlOX1VJRCwgJ2luZm8nKTtyZXR1cm4gZmFsc2U7Ijt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6MTM7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjU6ImNkYXRhIjtzOjU6InZhbHVlIjtzOjM6IgogICI7czoxMDoiYXR0cmlidXRlcyI7YTowOnt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6MTQ7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjY6IlNFQVJDSCI7czo0OiJ0eXBlIjtzOjQ6Im9wZW4iO3M6NToidmFsdWUiO3M6NToiCiAgICAiO3M6MTA6ImF0dHJpYnV0ZXMiO2E6Mzp7czo0OiJ0eXBlIjtzOjY6ImJ1dHRvbiI7czo3OiJvbmNsaWNrIjtzOjMwOiJwYWdlZFRhYmxlRmlsdGVyKCB0aGlzLmZvcm0gKTsiO3M6MTE6InNob3dJblRhYmxlIjtzOjE6IjAiO31zOjg6ImNoaWxkcmVuIjthOjI6e2k6MDtPOjg6IlhtbF9Ob2RlIjo1OntzOjQ6Im5hbWUiO3M6MjoiZW4iO3M6NDoidHlwZSI7czo4OiJjb21wbGV0ZSI7czo1OiJ2YWx1ZSI7czoxMjoiQXBwbHkgRmlsdGVyIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjA6e31zOjg6ImNoaWxkcmVuIjthOjA6e319aToxO086ODoiWG1sX05vZGUiOjU6e3M6NDoibmFtZSI7czowOiIiO3M6NDoidHlwZSI7czo1OiJjZGF0YSI7czo1OiJ2YWx1ZSI7czozOiIKICAiO3M6MTA6ImF0dHJpYnV0ZXMiO2E6MDp7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX19fWk6MTU7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjU6ImNkYXRhIjtzOjU6InZhbHVlIjtzOjM6IgogICI7czoxMDoiYXR0cmlidXRlcyI7YTowOnt9czo4OiJjaGlsZHJlbiI7YTowOnt9fWk6MTY7Tzo4OiJYbWxfTm9kZSI6NTp7czo0OiJuYW1lIjtzOjE0OiJQQUdFRF9UQUJMRV9JRCI7czo0OiJ0eXBlIjtzOjg6ImNvbXBsZXRlIjtzOjU6InZhbHVlIjtzOjA6IiI7czoxMDoiYXR0cmlidXRlcyI7YToyOntzOjQ6InR5cGUiO3M6NzoicHJpdmF0ZSI7czoxMToic2hvd0luVGFibGUiO3M6MToiMCI7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX1pOjE3O086ODoiWG1sX05vZGUiOjU6e3M6NDoibmFtZSI7czowOiIiO3M6NDoidHlwZSI7czo1OiJjZGF0YSI7czo1OiJ2YWx1ZSI7czozOiIKICAiO3M6MTA6ImF0dHJpYnV0ZXMiO2E6MDp7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX1pOjE4O086ODoiWG1sX05vZGUiOjU6e3M6NDoibmFtZSI7czo4OiJKU0ZJTFRFUiI7czo0OiJ0eXBlIjtzOjg6ImNvbXBsZXRlIjtzOjU6InZhbHVlIjtzOjc2OiIKZnVuY3Rpb24gcGFnZWRUYWJsZUZpbHRlciggZm9ybSApIHsKICBAI1BBR0VEX1RBQkxFX0lELmRvRmlsdGVyKCBmb3JtICk7Cn0KIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjM6e3M6NDoidHlwZSI7czoxMDoiamF2YXNjcmlwdCI7czoxMToicmVwbGFjZVRhZ3MiO3M6MToiMSI7czoxMToic2hvd0luVGFibGUiO3M6MToiMCI7fXM6ODoiY2hpbGRyZW4iO2E6MDp7fX1pOjE5O086ODoiWG1sX05vZGUiOjU6e3M6NDoibmFtZSI7czowOiIiO3M6NDoidHlwZSI7czo1OiJjZGF0YSI7czo1OiJ2YWx1ZSI7czoxOiIKIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjA6e31zOjg6ImNoaWxkcmVuIjthOjA6e319fX1zOjQ6Im5hbWUiO3M6MDoiIjtzOjg6Imxhbmd1YWdlIjtzOjI6ImVuIjtzOjc6InZlcnNpb24iO3M6MzoiMC4zIjtzOjQ6ImhvbWUiO3M6NDY6Ii92YXIvd3d3L3Byb2Nlc3NtYWtlci93b3JrZmxvdy9lbmdpbmUveG1sZm9ybS8iO3M6MTA6InBhcnNlZEZpbGUiO3M6Nzg6Ii92YXIvd3d3L3Byb2Nlc3NtYWtlci93b3JrZmxvdy9lbmdpbmUveG1sZm9ybS9keW5hZm9ybXMvZHluYWZvcm1zX1Nob3J0TGlzdC5lbiI7czo0OiJ0eXBlIjtzOjc6InhtbGZvcm0iO3M6ODoiZmlsZU5hbWUiO3M6Nzk6Ii92YXIvd3d3L3Byb2Nlc3NtYWtlci93b3JrZmxvdy9lbmdpbmUveG1sZm9ybS9keW5hZm9ybXMvZHluYWZvcm1zX1Nob3J0TGlzdC54bWwiO3M6MTA6InNjcmlwdEZpbGUiO3M6OTg6Ii92YXIvd3d3L3NoYXJlZC9jb21waWxlZC94bWxmb3JtL2R5bmFmb3Jtcy9keW5hZm9ybXNfU2hvcnRMaXN0LjhhYjk3YTZkMTU2MjIxZjQxYjRlYWFkMWVjNjZjNTE3LmpzIjtzOjk6InNjcmlwdFVSTCI7czo3MzoiL2pzZm9ybS9keW5hZm9ybXMvZHluYWZvcm1zX1Nob3J0TGlzdC44YWI5N2E2ZDE1NjIyMWY0MWI0ZWFhZDFlYzY2YzUxNy5qcyI7czozOiJzcWwiO047czoxMzoic3FsQ29ubmVjdGlvbiI7TjtzOjY6ImhlaWdodCI7czo0OiIxMDAlIjtzOjY6ImJvcmRlciI7aToxO3M6NDoibW9kZSI7czowOiIiO3M6MTA6ImxhYmVsV2lkdGgiO3M6MzoiNDAlIjtzOjg6Im9uc3VibWl0IjtzOjA6IiI7czoxNDoicmVxdWlyZWRGaWVsZHMiO2E6MDp7fXM6MTc6ImZpZWxkQ29udGVudFdpZHRoIjtpOjYxNTtzOjc6InhtbGZvcm0iO086ODoic3RkQ2xhc3MiOjM6e3M6NzoiZmlsZVhtbCI7czo3OToiL3Zhci93d3cvcHJvY2Vzc21ha2VyL3dvcmtmbG93L2VuZ2luZS94bWxmb3JtL2R5bmFmb3Jtcy9keW5hZm9ybXNfU2hvcnRMaXN0LnhtbCI7czo0OiJob21lIjtzOjQ2OiIvdmFyL3d3dy9wcm9jZXNzbWFrZXIvd29ya2Zsb3cvZW5naW5lL3htbGZvcm0vIjtzOjQ6InRyZWUiO086ODoic3RkQ2xhc3MiOjE6e3M6OToiYXR0cmlidXRlIjthOjQ6e3M6NDoibWVudSI7czoyNzoiZHluYWZvcm1zL2R5bmFmb3Jtc19PcHRpb25zIjtzOjU6IndpZHRoIjtzOjQ6IjEwMCUiO3M6MTE6InJvd3NQZXJQYWdlIjtzOjI6IjEyIjtzOjg6InNlYXJjaEJ5IjtzOjk6IkRZTl9USVRMRSI7fX19fXM6NDoibWVudSI7czoyNzoiZHluYWZvcm1zL2R5bmFmb3Jtc19PcHRpb25zIjtzOjEwOiJmaWx0ZXJGb3JtIjtzOjA6IiI7czoxMzoiZmlsdGVyRm9ybV9JZCI7czowOiIiO3M6NDoibmFtZSI7czowOiIiO3M6MjoiaWQiO3M6NjA6ImJEbDVaWHBhWW1sd2NETnFielZZYlRRMVlXWTBZVkJoY0hOTFJERkt3ckJzY1VoNldqVTJWMkkzWVV0cyI7czoxMzoiZGlzYWJsZUZvb3RlciI7YjowO3M6NzoidGRTdHlsZSI7czowOiIiO3M6NzoidGRDbGFzcyI7czowOiIiO3M6MTU6Il9fQ29uZmlndXJhdGlvbiI7czo0NToib3JkZXJCeSxmaWx0ZXIsZmFzdFNlYXJjaCxzdHlsZS8qL3Nob3dJblRhYmxlIjtzOjEyOiJtYXN0ZXJkZXRhaWwiO2E6MDp7fXM6NToidGl0bGUiO3M6MDoiIjtzOjk6ImdyaWRXaWR0aCI7czoyMDoiLDE0MCwzMDAsNTAsNDAsNDAsNDAiO3M6MTA6ImdyaWRGaWVsZHMiO3M6OTU6IiwiZm9ybVtQUk9fVUlEXSIsImZvcm1bRFlOX1RJVExFXSIsImZvcm1bRFlOX1RZUEVdIiwiZm9ybVtFRElUXSIsImZvcm1bREVMRVRFXSIsImZvcm1bR0VUX1VJRF0iIjtzOjEwOiJmaWVsZHNUeXBlIjthOjA6e31zOjEwOiJ0b3RhbFdpZHRoIjtpOjYxMDtzOjk6Il9fT0JKX1VJRCI7czoyOToiZHluYWZvcm1zL2R5bmFmb3Jtc19TaG9ydExpc3QiO3M6NjoiYU9yZGVyIjthOjA6e31zOjg6ImNvbENvdW50IjtpOjEwO3M6MTE6InNob3duRmllbGRzIjtzOjUwOiJbIkRZTl9USVRMRSIsIkRZTl9UWVBFIiwiRURJVCIsIkRFTEVURSIsIkdFVF9VSUQiXSI7fQ==", + "dynaform_editor": "processmap", + "Current_Dynafom": { + "Parameters": { + "SYS_LANG": "en", + "URL": "ZZtlpWKkbGamqZWhpplw1WOmZZNlpWijaWihp2ilq2ZopWWeZJZln2CjaZSkpZWm1mxsopbRmJtgomCmbGWkq2fM6aKpog", + "DYN_UID": "3411353005d41d9a730ede8060385476", + "PRO_UID": "2859218665d41d7c2920598058137861", + "DYNAFORM_NAME": "BUG", + "FILE": "2859218665d41d7c2920598058137861\/3411353005d41d9a730ede8060385476_tmp0", + "DYN_EDITOR": "processmap" + } + }, + "bDl5ZXpaYmlwcDNqbzVmVzJxR2Q1WkRCb3RLY3pwSGxZcWpkNEE___": { + "PRO_UID": "2859218665d41d7c2920598058137861", + "DYN_UID": "3411353005d41d9a730ede8060385476", + "saveDyna": "", + "saveasDyna": "", + "separator2": "", + "text": "", + "currency": "", + "percentage": "", + "password": "", + "suggest": "", + "textarea": "", + "separator3": "", + "title": "", + "subtitle": "", + "separator4": "", + "button": "", + "submit": "", + "reset": "", + "separator5": "", + "dropdown": "", + "yesno": "", + "listbox": "", + "separator6": "", + "checkbox": "", + "checkgroup": "", + "radiogroup": "", + "separator7": "", + "date": "", + "hidden": "", + "link": "", + "file": "", + "separator8": "", + "javascript": "", + "separator9": "", + "grid": "", + "separator10": "", + "dynaforms": "" + }, + "bDl5ZXpaYmlwcDNqbzVYbTQ1YWY0YVBhcHNKMTBKbm5vNktlN0o3Wg______": { + "__DYNAFORM_OPTIONS": [], + "toolbar": "", + "URL": "ZZtlpWKkbGamqZWhpplw1WOmZZNlpWijaWihp2ilq2ZopWWeZJZln2CjaZSkpZWm1mxsopbRmJtgomCmbGWkq2fM6aKpog", + "DYN_UID": "3411353005d41d9a730ede8060385476", + "PRO_UID": "2859218665d41d7c2920598058137861", + "DYN_EDITOR": "processmap", + "DYNAFORM_NAME": "BUG", + "title": "", + "dynaforms_Preview": "..\/dynaforms\/dynaforms_Preview", + "dynaforms_Ajax": "..\/dynaforms\/dynaforms_Ajax", + "processMap": "..\/processes\/processes_Map", + "processMap3": "..\/designer", + "processBpmnMap": "..\/bpmn\/processmap", + "SCRIPT": "" + }, + "bDl5ZXpaYmlwcDNqbzVYbTQ1YWY0YVBhcHNLSTJaeTRtSm5rNDZPYjdhS2w___": { + "__DYNAFORM_OPTIONS": [], + "URL": "ZZtlpWKkbGamqZWhpplw1WOmZZNlpWijaWihp2ilq2ZopWWeZJZln2CjaZSkpZWm1mxsopbRmJtgomCmbGWkq2fM6aKpog", + "XML": "", + "PME_RESIZE_JS": "" + }, + "bDl5ZXpaYmlwcDNqbzVYbTQ1YWY0YVBhcHNKNnYzWFhuYVRmNWzCsGw0cUU___": { + "__DYNAFORM_OPTIONS": [], + "JS_TITLE": "", + "JS_LIST": "", + "JS": "", + "PME_RESIZE_JS": "" + }, + "bDl5ZXpaYmlwcDNqbzVYbTQ1YWY0YVBhcHNLQTNwwrBqbWFMazNaYmdvNjJtM2c___": { + "__DYNAFORM_OPTIONS": [], + "PME_PROPERTIES_TITLE": "", + "DYN_UID": "3411353005d41d9a730ede8060385476", + "PRO_UID": "2859218665d41d7c2920598058137861", + "DYN_TYPE_PREVIOUS": "", + "A": "ZZtlpWKkbGamqZWhpplw1WOmZZNlpWijaWihp2ilq2ZopWWeZJZln2CjaZSkpZWm1mxsopbRmJtgomCmbGWkq2fM6aKpog", + "DYN_TITLE": "BUG", + "DYN_TYPE": "xmlform", + "DYN_DESCRIPTION": "", + "SUBTITLE": "", + "WIDTH": "500", + "MODE": "", + "NEXTSTEPSAVE": "prompt", + "PRINTDYNAFORM": "", + "ADJUSTGRIDSWIDTH": "", + "PME_PROP_APPLY": "", + "PME_PROP_REVERT": "", + "sdfsdf": "" + }, + "Wlp0bHBXS2tiR2FtcVpXaHBwbHcxV09tWlpObHBXaWphV2locDJpbHEyWm9wV1dlWkpabG4yQ2phWlNrcFpXbTFteHNvcGJSbUp0Z29tQ21iR1drcTJmTTZhS3BvbMKwbG9NOA______": { + "BUG": "", + "TEST": "", + "SUGGEST": "", + "SUBMIT": "", + "Grid": { + "1": { + "suggest1": "BO" + } + }, + "__DYNAFORM_OPTIONS": { + "PREVIOUS_STEP": "#", + "NEXT_STEP": "#", + "NEXT_STEP_LABEL": "Next Step", + "PREVIOUS_ACTION": "return false;", + "NEXT_ACTION": "return false;" + } + }, + "bDl5ZXpaYmlwcDNqbzVmVzJxR2Q1WkRCb3RLY3pwSGxlNkxaMkbCsGw0cUU___": { + "PRO_UID": "2859218665d41d7c2920598058137861", + "DYN_UID": "4923800155da71a732a4207031768424", + "saveDyna": "", + "saveasDyna": "", + "separator3": "", + "text": "", + "currency": "", + "percentage": "", + "suggest": "", + "textarea": "", + "separator5": "", + "dropdown": "", + "yesno": "", + "checkbox": "", + "separator7": "", + "date": "", + "hidden": "", + "link": "", + "file": "", + "separator10": "", + "dynaforms": "" + }, + "Wlp0bHBXS2tiR2FtcVpXaHBwbHcxV09tWlpObHBXaWphV2locDJpbHEyWm9wbXFmWnB0Z25HR29hWlRScTJMT3JHaHIwMldmWTVwZ24yR3FhbWlrcG1YTTZhS3BvbMKwbG9NOA______": { + "suggest1": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "" + }, + "suggest2": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "" + } + }, + "bDl5ZXpaYmlwcDNqbzVmVzJxR2Q1V0RncU1xWDBhUG5ZcWpkNEE___": { + "__DYNAFORM_OPTIONS": [], + "PME_A": "ZZtlpWKkbGamqZWhpplw1WOmZZNlpWijaWihp2ilq2ZopmqfZptgnGGoaZTRq2LOrGhr02WfY5pgn2GqamikpmXM6aKpog", + "PME_TYPE": "suggest", + "PME_PRO_UID": "2859218665d41d7c2920598058137861", + "PME_DYN_TYPE": "grid", + "PME_TITLE": "", + "PME_XMLNODE_NAME": "suggest1", + "PME_XMLNODE_NAME_OLD": "suggest1", + "PME_VALIDATE_NAME": "", + "PME_LABEL": "suggest1", + "PME_SUBTITLE3": "", + "PME_REQUIRED": "", + "PME_DEPENDENTFIELDS": "__NULL__", + "PME_HINT": "", + "PME_SUBTITLE": "", + "PME_SIZE": "15", + "PME_MODE": "edit", + "PME_SUBTITLE2": "", + "PME_SQLCONNECTION": "4898432885d41d9921cea61001765691", + "PME_XMLNODE_VALUE": "\nSELECT IC_UID, IC_NAME\nFROM ISO_COUNTRY\n", + "PME_MAXRESULTS": "6", + "PME_SHOWNORESULTS": "", + "PME_SAVELABEL": "1", + "PME_STORE_NEW_ENTRY": "", + "PME_SEARCHTYPE": "*searchtype*", + "PME_TABLE_DATA": "", + "PME_TABLE": "", + "PME_PRIMARY_KEY_DATA": "", + "PME_PRIMARY_KEY": "", + "PME_FIELD": "", + "PME_PRIMARY_KEY_TYPE_DATA": "", + "PME_PRIMARY_KEY_TYPE": "", + "PME_CALLBACK": "", + "BTN_CANCEL": "", + "PME_ACCEPT": "", + "PME_JS": "" + } +} \ No newline at end of file diff --git a/tests/resources/simpleClassicXmlFormData.xml b/tests/resources/simpleClassicXmlFormData.xml new file mode 100755 index 000000000..8807097aa --- /dev/null +++ b/tests/resources/simpleClassicXmlFormData.xml @@ -0,0 +1,15 @@ + + + + BUG + + + TEST + + SUGGEST + + SUBMIT + + + diff --git a/tests/unit/gulliver/methods/DefaultAjaxTest.php b/tests/unit/gulliver/methods/DefaultAjaxTest.php new file mode 100644 index 000000000..67a261a78 --- /dev/null +++ b/tests/unit/gulliver/methods/DefaultAjaxTest.php @@ -0,0 +1,47 @@ +getDataFromFile("simpleClassicPostData.json"); + $_SESSION = $this->getDataFromFile("simpleClassicSessionData.json"); + $_SESSION["CURRENT_PAGE_INITILIZATION"] = ""; + + $pathName = PATH_XMLFORM . "2859218665d41d7c2920598058137861"; + $pathFileName = "{$pathName}/3411353005d41d9a730ede8060385476_tmp0.xml"; + if (!is_dir($pathName)) { + mkdir($pathName); + } + $data = file_get_contents(PATH_TRUNK . "/tests/resources/simpleClassicXmlFormData.xml"); + file_put_contents($pathFileName, $data); + + require_once PATH_TRUNK . '/gulliver/methods/defaultAjax.php'; + $this->expectOutputString('[]'); + + unlink($pathFileName); + rmdir($pathName); + } +} From e0b1ac09f5408dde9ede8f30f7f9be5159c233c3 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Tue, 5 Nov 2019 16:11:48 -0400 Subject: [PATCH 15/19] PMC-1353 Check some errors in CircleCI --- tests/unit/workflow/engine/controllers/DesignerTest.php | 4 +++- .../engine/src/ProcessMaker/Importer/ImporterTest.php | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/unit/workflow/engine/controllers/DesignerTest.php b/tests/unit/workflow/engine/controllers/DesignerTest.php index dd1748006..3f3d24ba4 100644 --- a/tests/unit/workflow/engine/controllers/DesignerTest.php +++ b/tests/unit/workflow/engine/controllers/DesignerTest.php @@ -27,7 +27,9 @@ class DesignerTest extends TestCase ); //Start the session for the user logged - session_start(); + if (session_status() === PHP_SESSION_NONE) { + session_start(); + } $_SESSION['CASE'] = $application->APP_NUMBER; $_SESSION['PIN'] = "LJ5W"; diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php index 5a0d852be..e453f09f2 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Importer/ImporterTest.php @@ -2,6 +2,7 @@ namespace Tests\unit\workflow\engine\src\ProcessMaker\Importer; +use Carbon\Carbon; use ProcessMaker\Importer\Importer; use ProcessMaker\Model\BpmnProject; use ProcessMaker\Model\Process; @@ -305,7 +306,9 @@ define ('DB_REPORT_PASS', '" . env('DB_PASSWORD') . "' );"); $result = $query->get()->values()->toArray(); // Assert the created date is the same as the updated date - $this->assertEquals($result[0]['PRO_CREATE_DATE'], $result[0]['PRO_UPDATE_DATE']); + $createDate = Carbon::createFromTimeString($result[0]['PRO_CREATE_DATE'])->format("Y-m-d"); + $updateDate = Carbon::createFromTimeString($result[0]['PRO_UPDATE_DATE'])->format("Y-m-d"); + $this->assertEquals($createDate, $updateDate); } /** From 1a160fc575608ffa2b14373dc46dd7b4e63db3dd Mon Sep 17 00:00:00 2001 From: Andrea Adamczyk Date: Tue, 5 Nov 2019 11:32:47 -0400 Subject: [PATCH 16/19] PMC-488 --- .../engine/classes/DerivationTest.php | 83 +++++++++++++++++++ workflow/engine/classes/Derivation.php | 6 +- 2 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 tests/unit/workflow/engine/classes/DerivationTest.php diff --git a/tests/unit/workflow/engine/classes/DerivationTest.php b/tests/unit/workflow/engine/classes/DerivationTest.php new file mode 100644 index 000000000..ca42ee585 --- /dev/null +++ b/tests/unit/workflow/engine/classes/DerivationTest.php @@ -0,0 +1,83 @@ + '@&var3']; + $childCaseData = ['var2' => (object)['Street' => 'test', 'name' => 'Something']]; + $parentCaseData = ['var1' => (object)['Street' => 'test']]; + + $der = new Derivation(); + $res = $der->getSubProcessVariables($fields, $childCaseData, $parentCaseData); + + $this->assertArrayHasKey('var3', $res); + $this->assertObjectHasAttribute('Street', $res['var3']); + $this->assertObjectHasAttribute('name', $res['var3']); + $this->assertEquals($res['var3'], (object)['Street' => 'test', 'name' => 'Something']); + } + + /** + * It tests the getSubProcessVariables method with origin labels + * + * @covers Derivation::getSubProcessVariables() + * @test + */ + public function it_should_test_the_get_sub_process_variables_method_with_origin_labels() + { + $fields = ['@&var2' => '@&var3', '@&var2_label' => '@&var3']; + $childCaseData = [ + 'var2' => (object)['Street' => 'test', 'name' => 'Something'], + 'var2_label' => ['Street' => 'test', 'name' => 'Something'] + ]; + $parentCaseData = ['var1' => (object)['Street' => 'test']]; + + $der = new Derivation(); + $res = $der->getSubProcessVariables($fields, $childCaseData, $parentCaseData); + + $this->assertArrayHasKey('var3_label', $res); + $this->assertEquals($res['var3_label'], ['Street' => 'test', 'name' => 'Something']); + } + + /** + * It tests the getSubProcessVariables method with target labels + * + * @covers Derivation::getSubProcessVariables() + * @test + */ + public function it_should_test_the_get_sub_process_variables_method_with_target_labels() + { + $fields = ['@&var2' => '@&var3', '@&var2' => '@&var3_label']; + $childCaseData = ['var2' => (object)['Street' => 'test', 'name' => 'Something']]; + $parentCaseData = ['var1' => (object)['Street' => 'test']]; + + $der = new Derivation(); + $res = $der->getSubProcessVariables($fields, $childCaseData, $parentCaseData); + + $this->assertArrayHasKey('var3_label', $res); + $this->assertObjectHasAttribute('Street', $res['var3_label']); + $this->assertObjectHasAttribute('name', $res['var3_label']); + $this->assertEquals($res['var3_label'], (object)['Street' => 'test', 'name' => 'Something']); + } +} \ No newline at end of file diff --git a/workflow/engine/classes/Derivation.php b/workflow/engine/classes/Derivation.php index 65c55a449..d3ffe0f8d 100644 --- a/workflow/engine/classes/Derivation.php +++ b/workflow/engine/classes/Derivation.php @@ -1334,8 +1334,8 @@ class Derivation $aOldFields = $this->case->loadCase( $aNewCase['APPLICATION'] ); foreach ($aFields as $sOriginField => $sTargetField) { - $sOriginField = trim($sOriginField, " @#%?$="); - $sTargetField = trim($sTargetField, " @#%?$="); + $sOriginField = trim($sOriginField, " @#%?$=&"); + $sTargetField = trim($sTargetField, " @#%?$=&"); $aNewFields[$sTargetField] = isset( $appFields['APP_DATA'][$sOriginField] ) ? $appFields['APP_DATA'][$sOriginField] : ''; @@ -1653,12 +1653,14 @@ class Derivation $originField = str_replace('?', '', $originField); $originField = str_replace('$', '', $originField); $originField = str_replace('=', '', $originField); + $originField = str_replace('&', '', $originField); $targetField = str_replace('@', '', $targetField); $targetField = str_replace('#', '', $targetField); $targetField = str_replace('%', '', $targetField); $targetField = str_replace('?', '', $targetField); $targetField = str_replace('$', '', $targetField); $targetField = str_replace('=', '', $targetField); + $targetField = str_replace('&', '', $targetField); $newFields[$targetField] = isset($childCaseData[$originField]) ? $childCaseData[$originField] : ''; if (array_key_exists($originField . '_label', $childCaseData)) { From ae3b847e3c7b5a12b083c8e2c8e955c871b57c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Cesar=20Laura=20Avenda=C3=B1o?= Date: Mon, 4 Nov 2019 15:59:50 -0400 Subject: [PATCH 17/19] PMC-388 --- workflow/engine/classes/PmTable.php | 9 +++++++++ workflow/engine/controllers/pmTablesProxy.php | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/workflow/engine/classes/PmTable.php b/workflow/engine/classes/PmTable.php index 11a1e7490..cea31f3ff 100644 --- a/workflow/engine/classes/PmTable.php +++ b/workflow/engine/classes/PmTable.php @@ -1026,4 +1026,13 @@ class PmTable return $type; } + + /** + * Remove the folder "pmt-folder" and all the content inside + */ + public static function removePmtPropelFolder() + { + $pmtPropelFolder = PATH_DB . config('system.workspace') . PATH_SEP . 'pmt-propel'; + G::rm_dir($pmtPropelFolder); + } } diff --git a/workflow/engine/controllers/pmTablesProxy.php b/workflow/engine/controllers/pmTablesProxy.php index d751effff..3d59b1cc3 100644 --- a/workflow/engine/controllers/pmTablesProxy.php +++ b/workflow/engine/controllers/pmTablesProxy.php @@ -207,6 +207,9 @@ class pmTablesProxy extends HttpProxyController public function save ($httpData, $alterTable = true) { try { + // Remove temporary Propel folder used by Report Tables and PM Tables (Bug PMC-388) + PmTable::removePmtPropelFolder(); + $reportTable = new \ProcessMaker\BusinessModel\ReportTable(); return $reportTable->saveStructureOfTable((array)($httpData), $alterTable); @@ -816,6 +819,9 @@ class pmTablesProxy extends HttpProxyController fclose($f); + // Remove temporary Propel folder used by Report Tables and PM Tables (Bug PMC-388) + PmTable::removePmtPropelFolder(); + //First Validate the file $reportTable = new \ProcessMaker\BusinessModel\ReportTable(); From 7884c3a92f3b5e82aa9ca6cfd73422a1d92158eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Cesar=20Laura=20Avenda=C3=B1o?= Date: Fri, 8 Nov 2019 16:11:01 -0400 Subject: [PATCH 18/19] PMC-1351 --- .../engine/classes/PmDynaformTest.php | 77 +++++++++++++++++++ workflow/engine/classes/PmDynaform.php | 2 +- 2 files changed, 78 insertions(+), 1 deletion(-) diff --git a/tests/unit/workflow/engine/classes/PmDynaformTest.php b/tests/unit/workflow/engine/classes/PmDynaformTest.php index c3e3ea954..fa4693ae0 100644 --- a/tests/unit/workflow/engine/classes/PmDynaformTest.php +++ b/tests/unit/workflow/engine/classes/PmDynaformTest.php @@ -885,4 +885,81 @@ class PmDynaformTest extends TestCase $labelsPo = $pmDynaform->getLabelsPo($faker->sentence(1)); $this->assertNull($labelsPo); } + + /** + * Review if the SQL that uses the SELECT statement is parsed correctly + * + * @covers PmDynaform::sqlParse() + * @test + */ + public function it_should_get_sql_parsed_select_statement() + { + // Note.- The following queries are used by running tests but none of them are valid + $sqlOriginal1 = 'SELECT TOP 10 USERS.USR_UID, USERS.USR_ID, USERS.USR_USERNAME AS USERNAME, MAX(RBAC_USERS_ROLES.ROL_UID), + MIN(RBAC_USERS_ROLES.ROL_UID) AS THEMIN, (SELECT USR_FIRSTNAME FROM USERS), (SELECT USR_LASTNAME AS XXX) AS YYY, <>, 1000 + FROM USERS AS OFFSET INNER JOIN RBAC_USERS ON USERS.USR_UID = RBAC_USERS.USR_UID INNER JOIN RBAC_USERS_ROLES ON + USERS.USR_UID = RBAC_USERS_ROLES.USR_UID WHERE USERS.USR_UID <> "" AND 1 AND OFFSET 1 GROUP BY USERS.USR_UID HAVING + USERS.USR_UID <> "" ORDER BY USERS.USR_ID DESC LIMIT 1 OFFSET 10 FOR UPDATE'; + + $sqlOriginal2 = 'SELECT TOP 10 USERS.USR_UID, USERS.USR_ID, USERS.USR_USERNAME AS USERNAME, MAX(RBAC_USERS_ROLES.ROL_UID), + MIN(RBAC_USERS_ROLES.ROL_UID) AS THEMIN, (SELECT USR_FIRSTNAME FROM USERS), (SELECT USR_LASTNAME AS XXX) AS YYY, <>, 1000 + FROM USERS INNER JOIN RBAC_USERS ON USERS.USR_UID = RBAC_USERS.USR_UID INNER JOIN RBAC_USERS_ROLES ON + USERS.USR_UID = RBAC_USERS_ROLES.USR_UID WHERE USERS.USR_UID <> "" AND 1 GROUP BY USERS.USR_UID HAVING + USERS.USR_UID <> "" ORDER BY USERS.USR_ID DESC LIMIT 1, 10 FOR UPDATE'; + + $sqlOriginal3 = 'DUMMY'; + + // Instance the class PmDynaform + $pmDynaform = new PmDynaform([]); + + // Test bug PMC-1299 + $sqlParsed1 = $pmDynaform->sqlParse($sqlOriginal1); + $this->assertFalse(strpos($sqlParsed1, 'INNER INNER')); + + // For now is only used for complete the coverture + $sqlParsed2 = $pmDynaform->sqlParse($sqlOriginal2, 'dummy_function_for_this_unit_test'); + // To Do: Currently, there is a coverture of 100%, but is necessary to add more tests to verify + // if the SQL string is parsed correctly in more scenarios + + // Test another string, shoul be return the same value + $sqlParsed3 = $pmDynaform->sqlParse($sqlOriginal3); + $this->assertEquals($sqlOriginal3, $sqlParsed3); + } + + /** + * Review if the SQL that uses the CALL statement is parsed correctly + * + * @covers PmDynaform::sqlParse() + * @test + */ + public function it_should_get_sql_parsed_call_statement() + { + $sqlOriginal = 'CALL dummy_sp_for_this_unit_test()'; + + $pmDynaform = new PmDynaform([]); + $sqlParsed = $pmDynaform->sqlParse($sqlOriginal); + + $this->assertEquals(strlen($sqlOriginal), strlen($sqlParsed)); + } + + /** + * Review if the SQL that uses the EXECUTE statement is parsed correctly + * + * @covers PmDynaform::sqlParse() + * @test + */ + public function it_should_get_sql_parsed_execute_statement() + { + $sqlOriginal = 'EXECUTE dummy_sp_for_this_unit_test()'; + + $pmDynaform = new PmDynaform([]); + $sqlParsed = $pmDynaform->sqlParse($sqlOriginal); + + $this->assertEquals(strlen($sqlOriginal), strlen($sqlParsed)); + } +} + +// Dummy function used for the coverture +function dummy_function_for_this_unit_test() +{ } diff --git a/workflow/engine/classes/PmDynaform.php b/workflow/engine/classes/PmDynaform.php index 434897c29..488701120 100644 --- a/workflow/engine/classes/PmDynaform.php +++ b/workflow/engine/classes/PmDynaform.php @@ -985,7 +985,7 @@ class PmDynaform } break; case "subquery": - if (strpos($sAlias, $sBaseExpr, 0) != 0) { + if (strpos($sAlias, $sBaseExpr, 0) !== 0) { $select .= $sAlias; } else { $select .= $sBaseExpr . " AS " . $sAlias; From a69672e812ce2ea4d21505eee0b2f9d71ff445a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Cesar=20Laura=20Avenda=C3=B1o?= Date: Tue, 12 Nov 2019 22:02:41 +0000 Subject: [PATCH 19/19] PMC-1365 --- .../workflow/engine/classes/PmTableTest.php | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/unit/workflow/engine/classes/PmTableTest.php diff --git a/tests/unit/workflow/engine/classes/PmTableTest.php b/tests/unit/workflow/engine/classes/PmTableTest.php new file mode 100644 index 000000000..7de49c917 --- /dev/null +++ b/tests/unit/workflow/engine/classes/PmTableTest.php @@ -0,0 +1,28 @@ +assertFalse(is_dir($pmtPropelFolderPath)); + } +}