PROD
IO
disabled
###deprecated_Prüfe Projekt nach "RSS-Offline" Assets
Helmut4 PROD · helmut4_backup_l-helmut1.adin.mdr.de_2026-10-02 17_42_55_ohneLicence
Struktur und Aufrufe dieses Streams prüfen Im HView öffnen AbhängigkeitenHervorgehobener Node:
2e96cc4c-355a-48e9-9b9d-c9c874e8852bDie UUID wird in den Rohdaten markiert. Die Node-Klasse findest du in der Deprecated-Arbeitsliste oder direkt im JSON-Ausschnitt.
Aktivierung
DeaktiviertJobstatus im Dashboard
Custom_IO ohne eigenes JobobjektGrafische Streamansicht
33 Nodes
Variablen und Fundstellen
Keine direkten Variablenverwendungen erkannt.
Stream-Rohdaten
{
"id": "69e8d4770a5acf262e60713c",
"name": "###deprecated_Prüfe Projekt nach \"RSS-Offline\" Assets",
"createDate": "2026-04-22T14:00:23.366Z",
"modificationDate": "2026-09-27T11:44:19.834Z",
"streamEvent": "CUSTOM_IO",
"streamHost": "CLIENT",
"disabled": true,
"startNodeUUID": "606d5bfb-a533-421a-b309-d86b952b0340",
"groups": [
"619b6fe995dc0e00015cb575"
],
"order": 20,
"tags": [
"IO"
],
"design": "{\"operators\":{\"0\":{\"top\":170,\"left\":1450,\"properties\":{\"description\":\"Will execute ExtendScript in Premiere (panel required)\",\"title\":\"Job Execute ExtendScript In Premiere Action V2\",\"nodeUUID\":\"faa17f4f-b856-45bf-911b-e2815f3af416\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobPremiereExecuteExtendScriptActionV2\",\"className\":\"actionNode\",\"parameter\":{\"ExtendScript\":{\"type\":\"LONG_STRING\",\"variableName\":\"extendScript\",\"value\":\"try{(function(){function jsonStringify(obj) { if (obj === null) return \\\"null\\\"; if (typeof obj === \\\"string\\\") return '\\\"' + obj.replace(/\\\\\\\\/g, '\\\\\\\\\\\\\\\\').replace(/\\\"/g, '\\\\\\\\\\\"') + '\\\"'; if (typeof obj === \\\"number\\\" || typeof obj === \\\"boolean\\\") return obj.toString(); if (obj instanceof Array) { var items = []; for (var i = 0; i < obj.length; i++) { items.push(jsonStringify(obj[i])); } return \\\"[\\\" + items.join(\\\",\\\") + \\\"]\\\"; } if (typeof obj === \\\"object\\\") { var props = []; for (var key in obj) { if (obj.hasOwnProperty(key)) { props.push(jsonStringify(key) + \\\":\\\" + jsonStringify(obj[key])); } } return \\\"{\\\" + props.join(\\\",\\\") + \\\"}\\\"; } return 'null'; }function collectAllMediaItems(folder, list) { for (var i = 0; i < folder.children.numItems; i++) { var item = folder.children[i]; if (item.type === ProjectItemType.BIN) { collectAllMediaItems(item, list); } else { if (item.getMediaPath && item.getMediaPath() !== \\\"\\\") { list.push(item); } } }}function checkAssetValidation(mediassets, allowedPaths) { var invalidAssets = []; function isPathAllowed(path) { for (var i = 0; i < allowedPaths.length; i++) { if (path.toLowerCase().indexOf(allowedPaths[i].toLowerCase()) !== -1) { return true; } } return false; } for (var i = 0; i < mediassets.length; i++) { if (!isPathAllowed(mediassets[i].getMediaPath())) { invalidAssets.push(mediassets[i]); } } return invalidAssets;}function getFilenameFromPath(fullPath) { var file = new File(fullPath); return file.name;}function copyFile(srcPath, destPath, overwrite, assetname) { var src = new File(srcPath); var dest = new File(destPath); var casset = { name: assetname, src: src.fsName, dest: dest.fsName, fcopy: false, finfo: '-' }; if (!src.exists) { casset.finfo = \\\"Quelldatei existiert nicht\\\"; return casset; } if (dest.exists && !overwrite) { casset.finfo= \\\"Zieldatei existiert bereits\\\"; return casset; } if (dest.exists && overwrite) { dest.remove(); } var result = src.copy(dest.fsName); if (result) { casset.fcopy = true; casset.finfo = \\\"Datei wurde kopiert\\\"; return casset; } else { casset.finfo = \\\"Fehler beim Kopieren\\\"; return casset; }}function copyAllBadAssets(assets){ var sep = (typeof Folder !== \\\"undefined\\\" && Folder.separator) ? Folder.separator : '/'; var projectFolder = new Folder(app.project.path).parent.parent; var destPath = projectFolder.fullName; destPath += sep + \\\"Medienimporte\\\"; var destFolder = new Folder(destPath); if (!destFolder.exists) destFolder.create(); var linkPath = projectFolder.fullName + sep + \\\"Asset_Link_Jobs\\\"; var linkFolder = new Folder(linkPath); if (!linkFolder.exists) linkFolder.create(); var srcFile = ''; var destFile = ''; var tasksList = []; var missingList = []; for (var j = 0; j < assets.length; j++) { srcFile = assets[j].getMediaPath(); destFile = destFolder.fsName + sep + getFilenameFromPath(assets[j].getMediaPath()); var copyresult = copyFile(srcFile, destFile, true, assets[j].name ); if (copyresult.fcopy) { var linkFile = new File(linkFolder.fsName + sep + copyresult.name + \\\".txt\\\");linkFile.encoding=\\\"UTF-8\\\";if (linkFile.open(\\\"w\\\")) { linkFile.write(jsonStringify(copyresult)); linkFile.close(); } else { alert(\\\"Konnte Asset_Link Job nicht schreiben: \\\" + linkFile.fsName); } tasksList.push(copyresult); } else { missingList.push(copyresult); } } return {tasksList: tasksList, missingList: missingList };}function logCassetListToProjectFolder(cassets, extraname, showOutput){ if (!app.project.path) { alert(\\\"Projekt wurde noch nicht gespeichert.\\\"); return; } var projectFolder = new Folder(app.project.path).parent; var now = new Date(); function pad(n) { return (n < 10 ? \\\"0\\\" : \\\"\\\") + n; } var timestamp = now.getFullYear() + \\\"-\\\" + pad(now.getMonth() + 1) + \\\"-\\\" + pad(now.getDate()) + \\\"_\\\" + pad(now.getHours()) + \\\"-\\\" + pad(now.getMinutes()) + \\\"-\\\" + pad(now.getSeconds()); var logfile = new File(projectFolder.fullName + \\\"/asset_log_\\\" + extraname + timestamp + \\\".txt\\\"); if (logfile.open(\\\"w\\\")) { logfile.writeln(\\\"Asset-Log \\\" + now.toLocaleString()); logfile.writeln(\\\"=========================================================\\\\n\\\"); for (var i = 0; i < cassets.length; i++) { var a = cassets[i]; logfile.writeln(\\\" Asset: \\\" + a.name); logfile.writeln(\\\" Quelle: \\\" + a.src); logfile.writeln(\\\" Ziel: \\\" + a.dest); if (a.fcopy) { logfile.writeln(\\\" Status Kopieren: Erfolgreich kopiert\\\"); } else { logfile.writeln(\\\" Status Kopieren: Fehler beim Kopieren\\\"); } logfile.writeln(\\\" Info: \\\" + a.finfo); logfile.writeln(\\\"\\\"); } logfile.close(); if (showOutput) { logfile.execute(); } } else { alert(\\\"Konnte Log-Datei nicht schreiben.\\\"); }}var projectItems = [];var jdata = {\\\"count\\\": 0};function doWorkflow(){collectAllMediaItems(app.project.rootItem, projectItems);if (projectItems.length > 0){ var allowedPaths = [\\\"T:\\\\\\\\Produktion\\\\\\\\RSS\\\", \\\"T:/Produktion/RSS\\\", \\\"/Produktion/RSS/LoRes/\\\", \\\"killphil/Premiere/Material/\\\",\\\"\\\\\\\\\\\\\\\\l-fslores1.adin.mdr.de\\\\\\\\rss\\\",\\\"\\\\\\\\\\\\\\\\l-fslores.adin.mdr.de\\\\\\\\RSS\\\\\\\\\\\"]; var badAssets = checkAssetValidation(projectItems, allowedPaths); var badlist = ''; for (var j = 0; j < badAssets.length; j++) { badlist = badlist + badAssets[j].name + \\\", \\\"; } if (badAssets.length > 0) { var confirmResult = confirm(\\\"Folgende Assets sind nicht auf dem RSS-Server zentral abgelegt:\\\"+'\\\\n\\\\n'+badlist+\\\"Soll ich eine Korrektur starten?\\\", true, \\\"Ungltige Asset-Pfade\\\"); if (confirmResult) { var result = copyAllBadAssets(badAssets); logCassetListToProjectFolder(result.tasksList,\\\"\\\", false); var alldata = {jdata: result.tasksList, count: result.tasksList.length}; jdata = jsonStringify(alldata); if (result.tasksList.length != badAssets.length) { alert(\\\"Nicht alle ungltigen Assets konnten korrigiert werden. Bitte prfen Sie die Log-Datei.\\\"); logCassetListToProjectFolder(result.missingList, \\\"missing_\\\", true); } } } else { alert(\\\"Alle Asset-Pfade sind gueltig und liegen zentral verfuegbar.\\\"); return jdata;} }return jdata;}doWorkflow();return true;})()}catch(e){alert(\\\"FEHLER: \\\"+e.toString());}\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"1\":{\"top\":665,\"left\":4350,\"properties\":{\"description\":\"Will split a stream into a synchronous and an asynchronous way. Required if a stream's execution time might exceed 60 seconds. A stream fails after 60 seconds. The asynchronous path is executed synchronously in itself and may take longer than 60 seconds\",\"title\":\"Split Stream Action\",\"nodeUUID\":\"f78d6074-ecdf-4614-8d42-45bd13181305\",\"uncontained\":false,\"class\":\"nodes.actions.general.SplitStreamActionImpl\",\"className\":\"actionNode\",\"parameter\":{},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"3\":{\"top\":20,\"left\":925,\"properties\":{\"description\":\"Will trigger indexing the project file in Cosmo - V3 requires Helmut Client 4.2.0.28 or above\",\"title\":\"Cosmo Project File Index Action V3\",\"nodeUUID\":\"d818d967-1e1b-41e0-9155-f26c9e01f334\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.cosmo.CosmoProjectFileIndexActionImplV3\",\"className\":\"actionNode\",\"parameter\":{\"Project ID\":{\"type\":\"STRING\",\"description\":\"Must contain the project ID\",\"variableName\":\"projectId\",\"values\":[\"{project.id}\"],\"value\":\"{project.id}\"},\"Advanced indexing\":{\"type\":\"BOOLEAN\",\"description\":\"Will index the project in advanced mode\",\"variableName\":\"advancedIndexing\",\"values\":[\"false\"],\"value\":false},\"Trigger INDEXED_ASSET\":{\"type\":\"BOOLEAN\",\"description\":\"Will trigger INDEXED_ASSET for new (unknown) assets\",\"variableName\":\"triggerIndexedAssetStream\",\"values\":[\"false\"],\"value\":false},\"Trigger UNINDEXED_ASSET\":{\"type\":\"BOOLEAN\",\"description\":\"Will trigger UNINDEXED_ASSET for removed assets\",\"variableName\":\"triggerUnindexedAssetStream\",\"value\":false}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"4\":{\"top\":1050,\"left\":8230,\"properties\":{\"description\":\"Will move an asset within Cosmo (for all projects)\",\"title\":\"Cosmo Change Asset Action V3\",\"nodeUUID\":\"e8c77bc8-58fa-4ffd-8cdd-aae5125c5b5a\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.cosmo.CosmoChangeAssetActionImplV3\",\"className\":\"actionNode\",\"parameter\":{\"Old path\":{\"type\":\"STRING\",\"description\":\"Old path of the asset (incl. extension)\",\"variableName\":\"oldAssetPath\",\"placeholder\":\"{job.destination} or /Volumes/helmut/folder/asset1.mxf\",\"values\":[\"{job.source}\"],\"value\":\"{node.result.a191ab19-0f77-4546-849a-aceaae68995a}\"},\"New path\":{\"type\":\"STRING\",\"description\":\"New path of the asset (incl. extension)\",\"variableName\":\"newAssetPath\",\"placeholder\":\"{job.destination} or /Volumes/helmut/folder/asset1.mxf\",\"values\":[\"{job.destination}\"],\"value\":\"{node.result.fc3f620f-800f-49c4-878a-068413b26fad}\"},\"Autosync\":{\"type\":\"BOOLEAN\",\"variableName\":\"autosync\",\"values\":[\"false\"],\"value\":true},\"Skip metadata sync\":{\"type\":\"BOOLEAN\",\"description\":\"If enabled, metadata sync will be skipped in panel\",\"variableName\":\"skipMetadata\",\"values\":[\"false\"],\"value\":false},\"Skip markers sync\":{\"type\":\"BOOLEAN\",\"description\":\"If enabled, markers sync will be skipped in panel\",\"variableName\":\"skipMarkers\",\"values\":[\"false\"],\"value\":false}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"5\":{\"top\":315,\"left\":4785,\"properties\":{\"description\":\"Will sleep for an amount of milliseconds\",\"title\":\"Sleep Action\",\"nodeUUID\":\"6ced8767-1537-400c-b60e-5b54ecc78f9e\",\"uncontained\":false,\"class\":\"nodes.actions.general.SleepActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Milliseconds\":{\"type\":\"INTEGER\",\"description\":\"Amount of milliseconds that the node waits for\",\"variableName\":\"ms\",\"placeholder\":\"1000\",\"values\":[\"100\"],\"value\":\"123\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"6\":{\"top\":935,\"left\":8725,\"properties\":{\"description\":\"Use it to make a failed node be successful to ensure a whole stream is successful\",\"title\":\"Success Action\",\"nodeUUID\":\"a143da0f-df27-463c-89ce-0566acce5882\",\"uncontained\":false,\"class\":\"nodes.actions.general.SuccessActionImpl\",\"className\":\"actionNode\",\"parameter\":{},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"7\":{\"top\":1150,\"left\":8715,\"properties\":{\"description\":\"Will open an alert dialog in Premiere\",\"title\":\"Premiere Alert Dialog Action V2\",\"nodeUUID\":\"ab8d76af-5607-4c11-ac8c-fffbaf265fb0\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.premiere.PremiereAlertActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Message\":{\"type\":\"LONG_STRING\",\"variableName\":\"message\",\"value\":\"Fehler bei \\\"{job.source}\\\" - Asset nicht zu verändern\"},\"Successful on timeout\":{\"type\":\"BOOLEAN\",\"variableName\":\"successfulOnTimeout\",\"values\":[\"false\"],\"value\":false},\"Timeout (in seconds)\":{\"type\":\"INTEGER\",\"variableName\":\"timeout\",\"values\":[\"30\"],\"value\":\"10\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"10\":{\"top\":840,\"left\":3045,\"properties\":{\"description\":\"Will check if one or more folders exist\",\"title\":\"Folder Exists Condition\",\"nodeUUID\":\"db10bb82-a446-4d9d-b338-0335c045b8d5\",\"uncontained\":false,\"class\":\"nodes.conditions.folder.FolderMultipleExistsConditionImpl\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"DOES_EXIST\",\"DOES_NOT_EXIST\"],\"value\":\"DOES_EXIST\"},\"Folderpath\":{\"type\":\"ARRAY_STRING\",\"description\":\"Path to the folder to be checked\",\"variableName\":\"folderPaths\",\"placeholder\":\"H:\\\\check_that_folder\",\"value\":[\"{stream.variable.assetLinkJobsPath}\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"11\":{\"top\":1045,\"left\":5550,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"e3f8c087-cc37-47fa-8ae6-9f60e2b76e5f\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"datapath\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{path.map.to.win.{job.source}}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"12\":{\"top\":1148,\"left\":1568,\"properties\":{\"description\":\"Extract values from JSON payloads\",\"title\":\"Json Extract Action V2\",\"nodeUUID\":\"a3a39396-19d1-4136-8016-3d297649e16b\",\"uncontained\":false,\"class\":\"nodes.actions.general.JsonExtractActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Payload\":{\"type\":\"LONG_STRING\",\"description\":\"The JSON payload (object)\",\"variableName\":\"payload\",\"placeholder\":\"{\\\"info\\\":{\\\"users\\\":[{\\\"name\\\":\\\"Peter Griffin\\\"}]}}\",\"value\":\"{stream.variable.esPayload}\"},\"Key path\":{\"type\":\"STRING\",\"description\":\"The path (key) to extract\",\"variableName\":\"path\",\"placeholder\":\"info.users[0].name\",\"value\":\"count\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"13\":{\"top\":1438,\"left\":1568,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"f21f34a9-4d80-4470-bd06-72122fa72836\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"IS_GREATER_THAN\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ONE\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{node.result.a3a39396-19d1-4136-8016-3d297649e16b}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"0\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"14\":{\"top\":1240,\"left\":3895,\"properties\":{\"description\":\"Will open an alert dialog in Premiere\",\"title\":\"Premiere Alert Dialog Action V2\",\"nodeUUID\":\"adf5abc6-204d-4a4d-aa3a-f0cf2b97b712\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.premiere.PremiereAlertActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Message\":{\"type\":\"LONG_STRING\",\"variableName\":\"message\",\"value\":\"Keine Aufgaben gefunden - keine Verarbeitung notwendig.\"},\"Successful on timeout\":{\"type\":\"BOOLEAN\",\"variableName\":\"successfulOnTimeout\",\"values\":[\"false\"],\"value\":false},\"Timeout (in seconds)\":{\"type\":\"INTEGER\",\"variableName\":\"timeout\",\"values\":[\"30\"],\"value\":\"30\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"15\":{\"top\":840,\"left\":3435,\"properties\":{\"description\":\"Will check if one or more folders are empty\",\"title\":\"Folder Empty Condition\",\"nodeUUID\":\"c1936342-f77c-4bef-b4a7-879a787fd5fc\",\"uncontained\":false,\"class\":\"nodes.conditions.folder.FolderMultipleEmptyConditionImpl\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS_EMPTY\",\"IS_NOT_EMPTY\"],\"value\":\"IS_NOT_EMPTY\"},\"Folderpath\":{\"type\":\"ARRAY_STRING\",\"description\":\"Path to the folder to be checked\",\"variableName\":\"folderPaths\",\"placeholder\":\"H:\\\\check_that_folder\",\"value\":[\"{stream.variable.assetLinkJobsPath}\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"16\":{\"top\":735,\"left\":4890,\"properties\":{\"description\":\"Will iterate over file paths of files found either recursively or on top level inside a given folder.\",\"title\":\"Get Files From Folder Action\",\"nodeUUID\":\"56a513cf-2ea5-477d-8ad0-083fd2c01585\",\"uncontained\":false,\"class\":\"nodes.actions.general.FolderGetFilesAction\",\"className\":\"actionNode\",\"parameter\":{\"Folder path\":{\"type\":\"STRING\",\"description\":\"Path, incl. folder name, that should be read out\",\"variableName\":\"folderPath\",\"placeholder\":\"/Volumes/helmut/Folder_Name\",\"value\":\"{stream.variable.assetLinkJobsPath}\"},\"Scan recursively\":{\"type\":\"BOOLEAN\",\"description\":\"If enabled, the scan will go beyond the root level and include all subdirectories.\",\"variableName\":\"usesRecursion\",\"values\":[\"false\"],\"value\":false}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"17\":{\"top\":280,\"left\":6255,\"properties\":{\"description\":\"Will open an alert dialog in Premiere\",\"title\":\"Premiere Alert Dialog Action V2\",\"nodeUUID\":\"2e96cc4c-355a-48e9-9b9d-c9c874e8852b\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.premiere.PremiereAlertActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Message\":{\"type\":\"LONG_STRING\",\"variableName\":\"message\",\"value\":\"Alle fehlerhaften Assets wurden neu kopiert und im Hintergrund neu verknüpft. Bitte prüfen Sie Ihr Projekt.\"},\"Successful on timeout\":{\"type\":\"BOOLEAN\",\"variableName\":\"successfulOnTimeout\",\"values\":[\"false\"],\"value\":false},\"Timeout (in seconds)\":{\"type\":\"INTEGER\",\"variableName\":\"timeout\",\"values\":[\"30\"],\"value\":\"30\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"18\":{\"top\":275,\"left\":6660,\"properties\":{\"description\":\"Use it to make a failed node be successful to ensure a whole stream is successful\",\"title\":\"Success Action\",\"nodeUUID\":\"33ed5a7b-79ec-4051-808b-f4b2c2d69fe1\",\"uncontained\":false,\"class\":\"nodes.actions.general.SuccessActionImpl\",\"className\":\"actionNode\",\"parameter\":{},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"19\":{\"top\":1045,\"left\":6315,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"ec0526fd-30cf-4302-a670-54c8d93aabad\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"jpayload\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{file.content.{stream.variable.datapath}}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"20\":{\"top\":1045,\"left\":7065,\"properties\":{\"description\":\"Extract values from JSON payloads\",\"title\":\"Json Extract Action V2\",\"nodeUUID\":\"a191ab19-0f77-4546-849a-aceaae68995a\",\"uncontained\":false,\"class\":\"nodes.actions.general.JsonExtractActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Payload\":{\"type\":\"LONG_STRING\",\"description\":\"The JSON payload (object)\",\"variableName\":\"payload\",\"placeholder\":\"{\\\"info\\\":{\\\"users\\\":[{\\\"name\\\":\\\"Peter Griffin\\\"}]}}\",\"value\":\"{stream.variable.jpayload}\"},\"Key path\":{\"type\":\"STRING\",\"description\":\"The path (key) to extract\",\"variableName\":\"path\",\"placeholder\":\"info.users[0].name\",\"value\":\"src\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"21\":{\"top\":1045,\"left\":7440,\"properties\":{\"description\":\"Extract values from JSON payloads\",\"title\":\"Json Extract Action V2\",\"nodeUUID\":\"fc3f620f-800f-49c4-878a-068413b26fad\",\"uncontained\":false,\"class\":\"nodes.actions.general.JsonExtractActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Payload\":{\"type\":\"LONG_STRING\",\"description\":\"The JSON payload (object)\",\"variableName\":\"payload\",\"placeholder\":\"{\\\"info\\\":{\\\"users\\\":[{\\\"name\\\":\\\"Peter Griffin\\\"}]}}\",\"value\":\"{stream.variable.jpayload}\"},\"Key path\":{\"type\":\"STRING\",\"description\":\"The path (key) to extract\",\"variableName\":\"path\",\"placeholder\":\"info.users[0].name\",\"value\":\"dest\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"22\":{\"top\":1045,\"left\":6690,\"properties\":{\"description\":\"Extract values from JSON payloads\",\"title\":\"Json Extract Action V2\",\"nodeUUID\":\"c86cfbb7-da59-4aa2-8fd8-925f05eab55a\",\"uncontained\":false,\"class\":\"nodes.actions.general.JsonExtractActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Payload\":{\"type\":\"LONG_STRING\",\"description\":\"The JSON payload (object)\",\"variableName\":\"payload\",\"placeholder\":\"{\\\"info\\\":{\\\"users\\\":[{\\\"name\\\":\\\"Peter Griffin\\\"}]}}\",\"value\":\"{stream.variable.jpayload}\"},\"Key path\":{\"type\":\"STRING\",\"description\":\"The path (key) to extract\",\"variableName\":\"path\",\"placeholder\":\"info.users[0].name\",\"value\":\"fcopy\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"23\":{\"top\":1045,\"left\":7830,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"e3372a75-4d06-442b-b85b-f3da3e56e4c6\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"IS\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ALL\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{node.result.c86cfbb7-da59-4aa2-8fd8-925f05eab55a}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"true\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"25\":{\"top\":280,\"left\":5855,\"properties\":{\"description\":\"Will sleep for an amount of milliseconds\",\"title\":\"Sleep Action\",\"nodeUUID\":\"bed71839-1e81-4cae-ba32-2afd57ec584d\",\"uncontained\":false,\"class\":\"nodes.actions.general.SleepActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Milliseconds\":{\"type\":\"INTEGER\",\"description\":\"Amount of milliseconds that the node waits for\",\"variableName\":\"ms\",\"placeholder\":\"1000\",\"values\":[\"100\"],\"value\":\"4000\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"26\":{\"top\":1045,\"left\":5920,\"properties\":{\"description\":\"Will check if one or more files exist\",\"title\":\"File Exists Condition\",\"nodeUUID\":\"20352757-6cd3-483c-a04e-cd612fcd2382\",\"uncontained\":false,\"class\":\"nodes.conditions.file.FileMultipleExistsConditionImpl\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"DOES_EXIST\",\"DOES_NOT_EXIST\"],\"value\":\"DOES_EXIST\"},\"Filepath\":{\"type\":\"ARRAY_STRING\",\"description\":\"Complete file path including extension\",\"variableName\":\"filePaths\",\"placeholder\":\"H:\\\\Folder_name\\\\does_this_file_exist.mxf\",\"value\":[\"{stream.variable.datapath}\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"27\":{\"top\":1815,\"left\":8230,\"properties\":{\"description\":\"Will delete one or more files\",\"title\":\"File Delete Action\",\"nodeUUID\":\"025332fc-a229-4cec-9127-ed9f1fbf29e0\",\"uncontained\":false,\"class\":\"nodes.actions.delete.FileMultipleDeleteActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"File path\":{\"type\":\"ARRAY_STRING\",\"description\":\"Complete path to the file to be deleted (incl. extension)\",\"variableName\":\"filePaths\",\"placeholder\":\"H:\\\\Source_Folder_Name\\\\text.txt\",\"value\":[\"{stream.variable.datapath}\"]}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Job Löschen sonst Endlos-Schleife\"}},\"28\":{\"top\":20,\"left\":445,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"606d5bfb-a533-421a-b309-d86b952b0340\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"morePath\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"[]\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Möglichkeit weitere Prüf-Pfade an das ExtendSkript weiterzugeben (WhiteList = Pfade wo Assets liegen können ohne als Fehlerhaft erkannt zu werden). T:\\\\Produktion\\\\RSS ist schon als Std Pfad definiert. \"}},\"29\":{\"top\":890,\"left\":125,\"properties\":{\"description\":\"Will execute ExtendScript in Premiere (panel required)\",\"title\":\"Job Execute ExtendScript In Premiere Action V2\",\"nodeUUID\":\"bfe2447d-6d62-4552-92e3-3f4e8c2e86b2\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobPremiereExecuteExtendScriptActionV2\",\"className\":\"actionNode\",\"parameter\":{\"ExtendScript\":{\"type\":\"LONG_STRING\",\"variableName\":\"extendScript\",\"value\":\"try{(function(){function jsonStringify(obj) { if (obj === null) return \\\"null\\\"; if (typeof obj === \\\"string\\\") return '\\\"' + obj.replace(/\\\\\\\\/g, '\\\\\\\\\\\\\\\\').replace(/\\\"/g, '\\\\\\\\\\\"') + '\\\"'; if (typeof obj === \\\"number\\\" || typeof obj === \\\"boolean\\\") return obj.toString(); if (obj instanceof Array) { var items = []; for (var i = 0; i < obj.length; i++) { items.push(jsonStringify(obj[i])); } return \\\"[\\\" + items.join(\\\",\\\") + \\\"]\\\"; } if (typeof obj === \\\"object\\\") { var props = []; for (var key in obj) { if (obj.hasOwnProperty(key)) { props.push(jsonStringify(key) + \\\":\\\" + jsonStringify(obj[key])); } } return \\\"{\\\" + props.join(\\\",\\\") + \\\"}\\\"; } return 'null'; }function collectAllMediaItems(folder, list) { for (var i = 0; i < folder.children.numItems; i++) { var item = folder.children[i]; if (item.type === ProjectItemType.BIN) { collectAllMediaItems(item, list); } else { if (item.getMediaPath && item.getMediaPath() !== \\\"\\\") { list.push(item); } } }}function checkAssetValidation(mediassets, allowedPaths) { var invalidAssets = []; function isPathAllowed(path) { for (var i = 0; i < allowedPaths.length; i++) { if (path.toLowerCase().indexOf(allowedPaths[i].toLowerCase()) !== -1) { return true; } } return false; } for (var i = 0; i < mediassets.length; i++) { if (!isPathAllowed(mediassets[i].getMediaPath())) { invalidAssets.push(mediassets[i]); } } return invalidAssets;}function getFilenameFromPath(fullPath) { var file = new File(fullPath); return file.name;}function copyFile(srcPath, destPath, overwrite, assetname) { var src = new File(srcPath); var dest = new File(destPath); var casset = { name: assetname, src: src.fsName, dest: dest.fsName, fcopy: false, finfo: '-' }; if (!src.exists) { casset.finfo = \\\"Quelldatei existiert nicht\\\"; return casset; } if (dest.exists && !overwrite) { casset.finfo= \\\"Zieldatei existiert bereits\\\"; return casset; } if (dest.exists && overwrite) { dest.remove(); } var result = src.copy(dest.fsName); if (result) { casset.fcopy = true; casset.finfo = \\\"Datei wurde kopiert\\\"; return casset; } else { casset.finfo = \\\"Fehler beim Kopieren\\\"; return casset; }}function copyAllBadAssets(assets){ var sep = (typeof Folder !== \\\"undefined\\\" && Folder.separator) ? Folder.separator : '/'; var projectFolder = new Folder(app.project.path).parent.parent; var destPath = projectFolder.fullName; destPath += sep + \\\"Medienimporte\\\"; var destFolder = new Folder(destPath); if (!destFolder.exists) destFolder.create(); var linkPath = projectFolder.fullName + sep + \\\"Asset_Link_Jobs\\\"; var linkFolder = new Folder(linkPath); if (!linkFolder.exists) linkFolder.create(); var srcFile = ''; var destFile = ''; var tasksList = []; var missingList = []; for (var j = 0; j < assets.length; j++) { srcFile = assets[j].getMediaPath(); destFile = destFolder.fsName + sep + getFilenameFromPath(assets[j].getMediaPath()); var copyresult = copyFile(srcFile, destFile, true, assets[j].name ); if (copyresult.fcopy) { var linkFile = new File(linkFolder.fsName + sep + copyresult.name + \\\".txt\\\");linkFile.encoding=\\\"UTF-8\\\";if (linkFile.open(\\\"w\\\")) { linkFile.write(jsonStringify(copyresult)); linkFile.close(); } else { alert(\\\"Konnte Asset_Link Job nicht schreiben: \\\" + linkFile.fsName); } tasksList.push(copyresult); } else { missingList.push(copyresult); } } return {tasksList: tasksList, missingList: missingList };}function logCassetListToProjectFolder(cassets, extraname, showOutput){ if (!app.project.path) { alert(\\\"Projekt wurde noch nicht gespeichert.\\\"); return; } var projectFolder = new Folder(app.project.path).parent; var now = new Date(); function pad(n) { return (n < 10 ? \\\"0\\\" : \\\"\\\") + n; } var timestamp = now.getFullYear() + \\\"-\\\" + pad(now.getMonth() + 1) + \\\"-\\\" + pad(now.getDate()) + \\\"_\\\" + pad(now.getHours()) + \\\"-\\\" + pad(now.getMinutes()) + \\\"-\\\" + pad(now.getSeconds()); var logfile = new File(projectFolder.fullName + \\\"/asset_log_\\\" + extraname + timestamp + \\\".txt\\\"); if (logfile.open(\\\"w\\\")) { logfile.writeln(\\\"Asset-Log \\\" + now.toLocaleString()); logfile.writeln(\\\"=========================================================\\\\n\\\"); for (var i = 0; i < cassets.length; i++) { var a = cassets[i]; logfile.writeln(\\\" Asset: \\\" + a.name); logfile.writeln(\\\" Quelle: \\\" + a.src); logfile.writeln(\\\" Ziel: \\\" + a.dest); if (a.fcopy) { logfile.writeln(\\\" Status Kopieren: Erfolgreich kopiert\\\"); } else { logfile.writeln(\\\" Status Kopieren: Fehler beim Kopieren\\\"); } logfile.writeln(\\\" Info: \\\" + a.finfo); logfile.writeln(\\\"\\\"); } logfile.close(); if (showOutput) { logfile.execute(); } } else { alert(\\\"Konnte Log-Datei nicht schreiben.\\\"); }}var projectItems = [];var jdata = {\\\"count\\\": 0};function doWorkflow(){collectAllMediaItems(app.project.rootItem, projectItems);if (projectItems.length > 0){ var allowedPaths = [\\\"T:\\\\\\\\Produktion\\\\\\\\RSS\\\", \\\"T:/Produktion/RSS\\\", \\\"/Produktion/RSS/LoRes/\\\", \\\"killphil/Premiere/Material/\\\",\\\"\\\\\\\\\\\\\\\\l-fslores1.adin.mdr.de\\\\\\\\rss\\\",\\\"\\\\\\\\\\\\\\\\l-fslores.adin.mdr.de\\\\\\\\RSS\\\\\\\\\\\"]; var badAssets = checkAssetValidation(projectItems, allowedPaths); var badlist = ''; for (var j = 0; j < badAssets.length; j++) { badlist = badlist + badAssets[j].name + \\\", \\\"; } if (badAssets.length > 0) { var confirmResult = confirm(\\\"Folgende Assets sind nicht auf dem RSS-Server zentral abgelegt:\\\"+'\\\\n\\\\n'+badlist+\\\"Soll ich eine Korrektur starten?\\\", true, \\\"Ungltige Asset-Pfade\\\"); if (confirmResult) { var result = copyAllBadAssets(badAssets); logCassetListToProjectFolder(result.tasksList,\\\"\\\", false); var alldata = {jdata: result.tasksList, count: result.tasksList.length}; jdata = jsonStringify(alldata); if (result.tasksList.length != badAssets.length) { alert(\\\"Nicht alle ungltigen Assets konnten korrigiert werden. Bitte prfen Sie die Log-Datei.\\\"); logCassetListToProjectFolder(result.missingList, \\\"missing_\\\", true); } } } else { alert(\\\"Alle Asset-Pfade sind gueltig und liegen zentral verfuegbar.\\\"); } }return jdata;}doWorkflow();jdata;})()}catch(e){alert(\\\"FEHLER: \\\"+e.toString());}\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Alte Version V4\"}},\"30\":{\"top\":430,\"left\":1450,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"2ea7c554-d0ce-4340-b005-ffaa8fb13f72\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"esPayload\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{stream.last_result}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"31\":{\"top\":455,\"left\":1970,\"properties\":{\"description\":\"Will open an alert dialog in Premiere\",\"title\":\"Premiere Alert Dialog Action V2\",\"nodeUUID\":\"e5392628-18e6-431a-8e35-f0f3ecfc9093\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.premiere.PremiereAlertActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Message\":{\"type\":\"LONG_STRING\",\"variableName\":\"message\",\"value\":\"Fehler in der Skriptverarbeitung - Bitte RSS-Support kontaktieren Tel. 8159.\"},\"Successful on timeout\":{\"type\":\"BOOLEAN\",\"variableName\":\"successfulOnTimeout\",\"values\":[\"false\"],\"value\":false},\"Timeout (in seconds)\":{\"type\":\"INTEGER\",\"variableName\":\"timeout\",\"values\":[\"30\"],\"value\":\"30\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"33\":{\"top\":285,\"left\":445,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"cce046db-b8f2-4f2d-957e-2ee7bf279362\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"assetLinkJobsPath\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{path.parent.{project.parent}}\\\\Asset_Link_Jobs\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Pfad wo das Skript die .JSON Jobs ablegt - Achtung Pfad ist hart im Skript vercodet\"}},\"34\":{\"top\":1720,\"left\":7570,\"properties\":{\"description\":\"Use it to make a failed node be successful to ensure a whole stream is successful\",\"title\":\"Success Action\",\"nodeUUID\":\"64abcbf5-3f03-41c4-964c-4b10b921b672\",\"uncontained\":false,\"class\":\"nodes.actions.general.SuccessActionImpl\",\"className\":\"actionNode\",\"parameter\":{},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"35\":{\"top\":1720,\"left\":7185,\"properties\":{\"description\":\"Will open an alert dialog in Premiere\",\"title\":\"Premiere Alert Dialog Action V2\",\"nodeUUID\":\"970876e5-5d3c-4a9b-bcf9-01b87e1680dc\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.premiere.PremiereAlertActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Message\":{\"type\":\"LONG_STRING\",\"variableName\":\"message\",\"value\":\"Achtung Fehler bei \\\"{job.source}\\\" - Keine Verarbeitung. Eventuell Support verständigen.\"},\"Successful on timeout\":{\"type\":\"BOOLEAN\",\"variableName\":\"successfulOnTimeout\",\"values\":[\"false\"],\"value\":false},\"Timeout (in seconds)\":{\"type\":\"INTEGER\",\"variableName\":\"timeout\",\"values\":[\"30\"],\"value\":\"10\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"36\":{\"top\":1475,\"left\":8230,\"properties\":{\"description\":\"Will move a file (using a conflict rule if destination exist)\",\"title\":\"File Move Action\",\"nodeUUID\":\"dcf343b4-5779-4659-8b5e-4340c753d789\",\"uncontained\":false,\"class\":\"nodes.actions.move.FileMoveWithOptionsActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"File path\":{\"type\":\"STRING\",\"description\":\"Complete path to the file to be moved (incl. extension)\",\"variableName\":\"filePath\",\"placeholder\":\"H:\\\\Source_Folder_Name\\\\text.txt\",\"value\":\"{stream.variable.datapath}\"},\"New file path\":{\"type\":\"STRING\",\"description\":\"New path of the moved file (incl. extension)\",\"variableName\":\"newFilePath\",\"placeholder\":\"H:\\\\Destination_Folder_Name\\\\text.txt\",\"value\":\"{path.parent.{project.parent}}\\\\Asset_Link_Jobs_Done\\\\{path.basename.{stream.variable.datapath}}\"},\"If new file exists\":{\"type\":\"ENUM\",\"description\":\"Defines conflict rule in case file already exists\",\"variableName\":\"conflictRule\",\"values\":[\"FAIL\",\"SKIP\",\"DELETE_EXISTING\",\"RENAME_EXISTING\",\"INCREMENT_NAME\"],\"value\":\"DELETE_EXISTING\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"37\":{\"top\":705,\"left\":1445,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"1896af7d-5525-4780-a3c3-1b024a1a4999\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"IS\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ONE\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.esPayload}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"true\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"startNode\":{\"left\":20,\"properties\":{\"class\":\"streamEvent\",\"className\":\"eventNode\",\"inputs\":{},\"outputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"parameter\":{\"Event\":{\"type\":\"ENUM\",\"value\":\"CUSTOM_IO\",\"values\":[\"ADDED_ASSET\",\"ARCHIVE\",\"AUTOIMPORT\",\"BACKUP\",\"CONNECTED\",\"CONSOLIDATE\",\"COPY\",\"CREATE_CATEGORY\",\"CREATE_GROUP\",\"CREATE_PROJECT\",\"CREATE_USER\",\"CUSTOM_CO\",\"CUSTOM_FX\",\"CUSTOM_IO\",\"CUSTOM_USER\",\"DELETE\",\"DELETE_CATEGORY\",\"DELETE_GROUP\",\"DELETE_PROJECT\",\"DELETE_TEMPLATE\",\"DELETE_USER\",\"DISCONNECTED\",\"DUPLICATE_PROJECT\",\"EDIT_PROJECT\",\"EXPORT\",\"IMPORT\",\"IMPORT_PROJECT\",\"INDEXED_ASSET\",\"INDEXED_PROJECT\",\"MOVE\",\"OPEN_PROJECT\",\"PANEL_IMPORT\",\"POST_CREATE_PROJECT\",\"PRESTREAM\",\"RESTORE\",\"RESTORE_SAVE\",\"UNASSIGNED\",\"UNINDEXED_ASSET\",\"UNLOCK_PROJECT\",\"UPLOAD_TEMPLATE\",\"WATCHFOLDER\",\"WEB_EXPORT\",\"WEB_IMPORT\",\"WEB_UPLOAD\"],\"variableName\":\"streamEvent\"},\"Host\":{\"type\":\"ENUM\",\"value\":\"CLIENT\",\"values\":[\"SERVER\",\"CLIENT\"],\"variableName\":\"streamHost\"}},\"title\":\"Event trigger: Prüfe Sequenz nach \\\"RSS-Offline\\\" Assets\",\"uncontained\":false,\"nodeUUID\":\"cea202df-b1e0-4d61-8098-1d69d9bd205b\"},\"top\":20}},\"links\":{\"0\":{\"fromOperator\":\"37\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"10\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"1\":{\"fromOperator\":\"15\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"1\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"2\":{\"fromOperator\":\"37\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":\"10\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"3\":{\"fromOperator\":27,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"6\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"4\":{\"fromOperator\":\"startNode\",\"fromConnector\":\"trigger\",\"fromSubConnector\":0,\"toOperator\":28,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"6\":{\"fromOperator\":4,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":7,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"8\":{\"fromOperator\":12,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":13,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"9\":{\"fromOperator\":13,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":10,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"12\":{\"fromOperator\":13,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":14,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"13\":{\"fromOperator\":\"26\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":19,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"14\":{\"fromOperator\":1,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":5,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"15\":{\"fromOperator\":15,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":14,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"16\":{\"fromOperator\":19,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":22,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"17\":{\"fromOperator\":0,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":31,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"18\":{\"fromOperator\":17,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":18,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"19\":{\"fromOperator\":17,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":18,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"20\":{\"fromOperator\":22,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":20,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"21\":{\"fromOperator\":1,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":16,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"22\":{\"fromOperator\":20,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":21,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"23\":{\"fromOperator\":16,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":11,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"24\":{\"fromOperator\":0,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":30,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"25\":{\"fromOperator\":\"16\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"25\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"26\":{\"fromOperator\":23,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":4,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"28\":{\"fromOperator\":10,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":15,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"29\":{\"fromOperator\":10,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":14,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"30\":{\"fromOperator\":12,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":31,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"31\":{\"fromOperator\":30,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":31,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"33\":{\"fromOperator\":\"3\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"0\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"35\":{\"fromOperator\":25,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":17,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"36\":{\"fromOperator\":11,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":26,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"37\":{\"fromOperator\":21,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":23,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"38\":{\"fromOperator\":23,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":6,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"39\":{\"fromOperator\":7,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":6,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"40\":{\"fromOperator\":28,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":33,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"41\":{\"fromOperator\":33,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"3\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"44\":{\"fromOperator\":19,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":35,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"45\":{\"fromOperator\":22,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":35,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"46\":{\"fromOperator\":35,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":34,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"47\":{\"fromOperator\":35,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":34,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"48\":{\"fromOperator\":20,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":35,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"49\":{\"fromOperator\":21,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":35,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"53\":{\"fromOperator\":4,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":36,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"54\":{\"fromOperator\":36,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":6,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"55\":{\"fromOperator\":30,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":37,\"toConnector\":\"trigger\",\"toSubConnector\":0}},\"operatorTypes\":{},\"grid\":{\"height\":9000,\"width\":16000}}",
"deprecated": false,
"nodeList": [
{
"class": "nodes.actions.helmut.job.JobPremiereExecuteExtendScriptActionV2",
"deprecated": false,
"properties": {
"extendScript": "try{(function(){function jsonStringify(obj) { if (obj === null) return \"null\"; if (typeof obj === \"string\") return '\"' + obj.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"') + '\"'; if (typeof obj === \"number\" || typeof obj === \"boolean\") return obj.toString(); if (obj instanceof Array) { var items = []; for (var i = 0; i < obj.length; i++) { items.push(jsonStringify(obj[i])); } return \"[\" + items.join(\",\") + \"]\"; } if (typeof obj === \"object\") { var props = []; for (var key in obj) { if (obj.hasOwnProperty(key)) { props.push(jsonStringify(key) + \":\" + jsonStringify(obj[key])); } } return \"{\" + props.join(\",\") + \"}\"; } return 'null'; }function collectAllMediaItems(folder, list) { for (var i = 0; i < folder.children.numItems; i++) { var item = folder.children[i]; if (item.type === ProjectItemType.BIN) { collectAllMediaItems(item, list); } else { if (item.getMediaPath && item.getMediaPath() !== \"\") { list.push(item); } } }}function checkAssetValidation(mediassets, allowedPaths) { var invalidAssets = []; function isPathAllowed(path) { for (var i = 0; i < allowedPaths.length; i++) { if (path.toLowerCase().indexOf(allowedPaths[i].toLowerCase()) !== -1) { return true; } } return false; } for (var i = 0; i < mediassets.length; i++) { if (!isPathAllowed(mediassets[i].getMediaPath())) { invalidAssets.push(mediassets[i]); } } return invalidAssets;}function getFilenameFromPath(fullPath) { var file = new File(fullPath); return file.name;}function copyFile(srcPath, destPath, overwrite, assetname) { var src = new File(srcPath); var dest = new File(destPath); var casset = { name: assetname, src: src.fsName, dest: dest.fsName, fcopy: false, finfo: '-' }; if (!src.exists) { casset.finfo = \"Quelldatei existiert nicht\"; return casset; } if (dest.exists && !overwrite) { casset.finfo= \"Zieldatei existiert bereits\"; return casset; } if (dest.exists && overwrite) { dest.remove(); } var result = src.copy(dest.fsName); if (result) { casset.fcopy = true; casset.finfo = \"Datei wurde kopiert\"; return casset; } else { casset.finfo = \"Fehler beim Kopieren\"; return casset; }}function copyAllBadAssets(assets){ var sep = (typeof Folder !== \"undefined\" && Folder.separator) ? Folder.separator : '/'; var projectFolder = new Folder(app.project.path).parent.parent; var destPath = projectFolder.fullName; destPath += sep + \"Medienimporte\"; var destFolder = new Folder(destPath); if (!destFolder.exists) destFolder.create(); var linkPath = projectFolder.fullName + sep + \"Asset_Link_Jobs\"; var linkFolder = new Folder(linkPath); if (!linkFolder.exists) linkFolder.create(); var srcFile = ''; var destFile = ''; var tasksList = []; var missingList = []; for (var j = 0; j < assets.length; j++) { srcFile = assets[j].getMediaPath(); destFile = destFolder.fsName + sep + getFilenameFromPath(assets[j].getMediaPath()); var copyresult = copyFile(srcFile, destFile, true, assets[j].name ); if (copyresult.fcopy) { var linkFile = new File(linkFolder.fsName + sep + copyresult.name + \".txt\");linkFile.encoding=\"UTF-8\";if (linkFile.open(\"w\")) { linkFile.write(jsonStringify(copyresult)); linkFile.close(); } else { alert(\"Konnte Asset_Link Job nicht schreiben: \" + linkFile.fsName); } tasksList.push(copyresult); } else { missingList.push(copyresult); } } return {tasksList: tasksList, missingList: missingList };}function logCassetListToProjectFolder(cassets, extraname, showOutput){ if (!app.project.path) { alert(\"Projekt wurde noch nicht gespeichert.\"); return; } var projectFolder = new Folder(app.project.path).parent; var now = new Date(); function pad(n) { return (n < 10 ? \"0\" : \"\") + n; } var timestamp = now.getFullYear() + \"-\" + pad(now.getMonth() + 1) + \"-\" + pad(now.getDate()) + \"_\" + pad(now.getHours()) + \"-\" + pad(now.getMinutes()) + \"-\" + pad(now.getSeconds()); var logfile = new File(projectFolder.fullName + \"/asset_log_\" + extraname + timestamp + \".txt\"); if (logfile.open(\"w\")) { logfile.writeln(\"Asset-Log \" + now.toLocaleString()); logfile.writeln(\"=========================================================\\n\"); for (var i = 0; i < cassets.length; i++) { var a = cassets[i]; logfile.writeln(\" Asset: \" + a.name); logfile.writeln(\" Quelle: \" + a.src); logfile.writeln(\" Ziel: \" + a.dest); if (a.fcopy) { logfile.writeln(\" Status Kopieren: Erfolgreich kopiert\"); } else { logfile.writeln(\" Status Kopieren: Fehler beim Kopieren\"); } logfile.writeln(\" Info: \" + a.finfo); logfile.writeln(\"\"); } logfile.close(); if (showOutput) { logfile.execute(); } } else { alert(\"Konnte Log-Datei nicht schreiben.\"); }}var projectItems = [];var jdata = {\"count\": 0};function doWorkflow(){collectAllMediaItems(app.project.rootItem, projectItems);if (projectItems.length > 0){ var allowedPaths = [\"T:\\\\Produktion\\\\RSS\", \"T:/Produktion/RSS\", \"/Produktion/RSS/LoRes/\", \"killphil/Premiere/Material/\",\"\\\\\\\\l-fslores1.adin.mdr.de\\\\rss\",\"\\\\\\\\l-fslores.adin.mdr.de\\\\RSS\\\\\"]; var badAssets = checkAssetValidation(projectItems, allowedPaths); var badlist = ''; for (var j = 0; j < badAssets.length; j++) { badlist = badlist + badAssets[j].name + \", \"; } if (badAssets.length > 0) { var confirmResult = confirm(\"Folgende Assets sind nicht auf dem RSS-Server zentral abgelegt:\"+'\\n\\n'+badlist+\"Soll ich eine Korrektur starten?\", true, \"Ungltige Asset-Pfade\"); if (confirmResult) { var result = copyAllBadAssets(badAssets); logCassetListToProjectFolder(result.tasksList,\"\", false); var alldata = {jdata: result.tasksList, count: result.tasksList.length}; jdata = jsonStringify(alldata); if (result.tasksList.length != badAssets.length) { alert(\"Nicht alle ungltigen Assets konnten korrigiert werden. Bitte prfen Sie die Log-Datei.\"); logCassetListToProjectFolder(result.missingList, \"missing_\", true); } } } else { alert(\"Alle Asset-Pfade sind gueltig und liegen zentral verfuegbar.\"); return jdata;} }return jdata;}doWorkflow();return true;})()}catch(e){alert(\"FEHLER: \"+e.toString());}",
"nodeUUID": "faa17f4f-b856-45bf-911b-e2815f3af416",
"failedNodeUUID": "e5392628-18e6-431a-8e35-f0f3ecfc9093",
"successNodeUUID": "2ea7c554-d0ce-4340-b005-ffaa8fb13f72"
}
},
{
"class": "nodes.actions.general.SplitStreamActionImpl",
"deprecated": false,
"properties": {
"nodeUUID": "f78d6074-ecdf-4614-8d42-45bd13181305",
"failedNodeUUID": "56a513cf-2ea5-477d-8ad0-083fd2c01585",
"successNodeUUID": "6ced8767-1537-400c-b60e-5b54ecc78f9e"
}
},
{
"class": "nodes.actions.helmut.cosmo.CosmoProjectFileIndexActionImplV3",
"deprecated": false,
"properties": {
"projectId": "{project.id}",
"advancedIndexing": false,
"triggerIndexedAssetStream": false,
"triggerUnindexedAssetStream": false,
"nodeUUID": "d818d967-1e1b-41e0-9155-f26c9e01f334",
"successNodeUUID": "faa17f4f-b856-45bf-911b-e2815f3af416"
}
},
{
"class": "nodes.actions.helmut.cosmo.CosmoChangeAssetActionImplV3",
"deprecated": false,
"properties": {
"oldAssetPath": "{node.result.a191ab19-0f77-4546-849a-aceaae68995a}",
"newAssetPath": "{node.result.fc3f620f-800f-49c4-878a-068413b26fad}",
"autosync": true,
"skipMetadata": false,
"skipMarkers": false,
"nodeUUID": "e8c77bc8-58fa-4ffd-8cdd-aae5125c5b5a",
"failedNodeUUID": "ab8d76af-5607-4c11-ac8c-fffbaf265fb0",
"successNodeUUID": "dcf343b4-5779-4659-8b5e-4340c753d789"
}
},
{
"class": "nodes.actions.general.SleepActionImpl",
"deprecated": false,
"properties": {
"ms": 123,
"nodeUUID": "6ced8767-1537-400c-b60e-5b54ecc78f9e"
}
},
{
"class": "nodes.actions.general.SuccessActionImpl",
"deprecated": false,
"properties": {
"nodeUUID": "a143da0f-df27-463c-89ce-0566acce5882"
}
},
{
"class": "nodes.actions.helmut.premiere.PremiereAlertActionV2",
"deprecated": false,
"properties": {
"message": "Fehler bei \"{job.source}\" - Asset nicht zu verändern",
"successfulOnTimeout": false,
"timeout": 10,
"nodeUUID": "ab8d76af-5607-4c11-ac8c-fffbaf265fb0",
"successNodeUUID": "a143da0f-df27-463c-89ce-0566acce5882"
}
},
{
"class": "nodes.conditions.folder.FolderMultipleExistsConditionImpl",
"deprecated": false,
"properties": {
"conditionType": "DOES_EXIST",
"folderPaths": [
"{stream.variable.assetLinkJobsPath}"
],
"nodeUUID": "db10bb82-a446-4d9d-b338-0335c045b8d5",
"failedNodeUUID": "adf5abc6-204d-4a4d-aa3a-f0cf2b97b712",
"successNodeUUID": "c1936342-f77c-4bef-b4a7-879a787fd5fc"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "datapath",
"variableValue": "{path.map.to.win.{job.source}}",
"nodeUUID": "e3f8c087-cc37-47fa-8ae6-9f60e2b76e5f",
"successNodeUUID": "20352757-6cd3-483c-a04e-cd612fcd2382"
}
},
{
"class": "nodes.actions.general.JsonExtractActionV2",
"deprecated": false,
"properties": {
"payload": "{stream.variable.esPayload}",
"path": "count",
"nodeUUID": "a3a39396-19d1-4136-8016-3d297649e16b",
"failedNodeUUID": "e5392628-18e6-431a-8e35-f0f3ecfc9093",
"successNodeUUID": "f21f34a9-4d80-4470-bd06-72122fa72836"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "IS_GREATER_THAN",
"allOne": "ONE",
"against": "{node.result.a3a39396-19d1-4136-8016-3d297649e16b}",
"source": [
"0"
],
"nodeUUID": "f21f34a9-4d80-4470-bd06-72122fa72836",
"failedNodeUUID": "adf5abc6-204d-4a4d-aa3a-f0cf2b97b712",
"successNodeUUID": "db10bb82-a446-4d9d-b338-0335c045b8d5"
}
},
{
"class": "nodes.actions.helmut.premiere.PremiereAlertActionV2",
"deprecated": false,
"properties": {
"message": "Keine Aufgaben gefunden - keine Verarbeitung notwendig.",
"successfulOnTimeout": false,
"timeout": 30,
"nodeUUID": "adf5abc6-204d-4a4d-aa3a-f0cf2b97b712"
}
},
{
"class": "nodes.conditions.folder.FolderMultipleEmptyConditionImpl",
"deprecated": false,
"properties": {
"conditionType": "IS_NOT_EMPTY",
"folderPaths": [
"{stream.variable.assetLinkJobsPath}"
],
"nodeUUID": "c1936342-f77c-4bef-b4a7-879a787fd5fc",
"failedNodeUUID": "adf5abc6-204d-4a4d-aa3a-f0cf2b97b712",
"successNodeUUID": "f78d6074-ecdf-4614-8d42-45bd13181305"
}
},
{
"class": "nodes.actions.general.FolderGetFilesAction",
"deprecated": false,
"properties": {
"folderPath": "{stream.variable.assetLinkJobsPath}",
"usesRecursion": false,
"nodeUUID": "56a513cf-2ea5-477d-8ad0-083fd2c01585",
"failedNodeUUID": "e3f8c087-cc37-47fa-8ae6-9f60e2b76e5f",
"successNodeUUID": "bed71839-1e81-4cae-ba32-2afd57ec584d"
}
},
{
"class": "nodes.actions.helmut.premiere.PremiereAlertActionV2",
"deprecated": false,
"properties": {
"message": "Alle fehlerhaften Assets wurden neu kopiert und im Hintergrund neu verknüpft. Bitte prüfen Sie Ihr Projekt.",
"successfulOnTimeout": false,
"timeout": 30,
"nodeUUID": "2e96cc4c-355a-48e9-9b9d-c9c874e8852b",
"failedNodeUUID": "33ed5a7b-79ec-4051-808b-f4b2c2d69fe1",
"successNodeUUID": "33ed5a7b-79ec-4051-808b-f4b2c2d69fe1"
}
},
{
"class": "nodes.actions.general.SuccessActionImpl",
"deprecated": false,
"properties": {
"nodeUUID": "33ed5a7b-79ec-4051-808b-f4b2c2d69fe1"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "jpayload",
"variableValue": "{file.content.{stream.variable.datapath}}",
"nodeUUID": "ec0526fd-30cf-4302-a670-54c8d93aabad",
"failedNodeUUID": "970876e5-5d3c-4a9b-bcf9-01b87e1680dc",
"successNodeUUID": "c86cfbb7-da59-4aa2-8fd8-925f05eab55a"
}
},
{
"class": "nodes.actions.general.JsonExtractActionV2",
"deprecated": false,
"properties": {
"payload": "{stream.variable.jpayload}",
"path": "src",
"nodeUUID": "a191ab19-0f77-4546-849a-aceaae68995a",
"failedNodeUUID": "970876e5-5d3c-4a9b-bcf9-01b87e1680dc",
"successNodeUUID": "fc3f620f-800f-49c4-878a-068413b26fad"
}
},
{
"class": "nodes.actions.general.JsonExtractActionV2",
"deprecated": false,
"properties": {
"payload": "{stream.variable.jpayload}",
"path": "dest",
"nodeUUID": "fc3f620f-800f-49c4-878a-068413b26fad",
"failedNodeUUID": "970876e5-5d3c-4a9b-bcf9-01b87e1680dc",
"successNodeUUID": "e3372a75-4d06-442b-b85b-f3da3e56e4c6"
}
},
{
"class": "nodes.actions.general.JsonExtractActionV2",
"deprecated": false,
"properties": {
"payload": "{stream.variable.jpayload}",
"path": "fcopy",
"nodeUUID": "c86cfbb7-da59-4aa2-8fd8-925f05eab55a",
"failedNodeUUID": "970876e5-5d3c-4a9b-bcf9-01b87e1680dc",
"successNodeUUID": "a191ab19-0f77-4546-849a-aceaae68995a"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "IS",
"allOne": "ALL",
"against": "{node.result.c86cfbb7-da59-4aa2-8fd8-925f05eab55a}",
"source": [
"true"
],
"nodeUUID": "e3372a75-4d06-442b-b85b-f3da3e56e4c6",
"failedNodeUUID": "a143da0f-df27-463c-89ce-0566acce5882",
"successNodeUUID": "e8c77bc8-58fa-4ffd-8cdd-aae5125c5b5a"
}
},
{
"class": "nodes.actions.general.SleepActionImpl",
"deprecated": false,
"properties": {
"ms": 4000,
"nodeUUID": "bed71839-1e81-4cae-ba32-2afd57ec584d",
"successNodeUUID": "2e96cc4c-355a-48e9-9b9d-c9c874e8852b"
}
},
{
"class": "nodes.conditions.file.FileMultipleExistsConditionImpl",
"deprecated": false,
"properties": {
"conditionType": "DOES_EXIST",
"filePaths": [
"{stream.variable.datapath}"
],
"nodeUUID": "20352757-6cd3-483c-a04e-cd612fcd2382",
"successNodeUUID": "ec0526fd-30cf-4302-a670-54c8d93aabad"
}
},
{
"class": "nodes.actions.delete.FileMultipleDeleteActionImpl",
"deprecated": false,
"properties": {
"filePaths": [
"{stream.variable.datapath}"
],
"nodeUUID": "025332fc-a229-4cec-9127-ed9f1fbf29e0",
"successNodeUUID": "a143da0f-df27-463c-89ce-0566acce5882"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "morePath",
"variableValue": "[]",
"nodeUUID": "606d5bfb-a533-421a-b309-d86b952b0340",
"successNodeUUID": "cce046db-b8f2-4f2d-957e-2ee7bf279362"
}
},
{
"class": "nodes.actions.helmut.job.JobPremiereExecuteExtendScriptActionV2",
"deprecated": false,
"properties": {
"extendScript": "try{(function(){function jsonStringify(obj) { if (obj === null) return \"null\"; if (typeof obj === \"string\") return '\"' + obj.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"') + '\"'; if (typeof obj === \"number\" || typeof obj === \"boolean\") return obj.toString(); if (obj instanceof Array) { var items = []; for (var i = 0; i < obj.length; i++) { items.push(jsonStringify(obj[i])); } return \"[\" + items.join(\",\") + \"]\"; } if (typeof obj === \"object\") { var props = []; for (var key in obj) { if (obj.hasOwnProperty(key)) { props.push(jsonStringify(key) + \":\" + jsonStringify(obj[key])); } } return \"{\" + props.join(\",\") + \"}\"; } return 'null'; }function collectAllMediaItems(folder, list) { for (var i = 0; i < folder.children.numItems; i++) { var item = folder.children[i]; if (item.type === ProjectItemType.BIN) { collectAllMediaItems(item, list); } else { if (item.getMediaPath && item.getMediaPath() !== \"\") { list.push(item); } } }}function checkAssetValidation(mediassets, allowedPaths) { var invalidAssets = []; function isPathAllowed(path) { for (var i = 0; i < allowedPaths.length; i++) { if (path.toLowerCase().indexOf(allowedPaths[i].toLowerCase()) !== -1) { return true; } } return false; } for (var i = 0; i < mediassets.length; i++) { if (!isPathAllowed(mediassets[i].getMediaPath())) { invalidAssets.push(mediassets[i]); } } return invalidAssets;}function getFilenameFromPath(fullPath) { var file = new File(fullPath); return file.name;}function copyFile(srcPath, destPath, overwrite, assetname) { var src = new File(srcPath); var dest = new File(destPath); var casset = { name: assetname, src: src.fsName, dest: dest.fsName, fcopy: false, finfo: '-' }; if (!src.exists) { casset.finfo = \"Quelldatei existiert nicht\"; return casset; } if (dest.exists && !overwrite) { casset.finfo= \"Zieldatei existiert bereits\"; return casset; } if (dest.exists && overwrite) { dest.remove(); } var result = src.copy(dest.fsName); if (result) { casset.fcopy = true; casset.finfo = \"Datei wurde kopiert\"; return casset; } else { casset.finfo = \"Fehler beim Kopieren\"; return casset; }}function copyAllBadAssets(assets){ var sep = (typeof Folder !== \"undefined\" && Folder.separator) ? Folder.separator : '/'; var projectFolder = new Folder(app.project.path).parent.parent; var destPath = projectFolder.fullName; destPath += sep + \"Medienimporte\"; var destFolder = new Folder(destPath); if (!destFolder.exists) destFolder.create(); var linkPath = projectFolder.fullName + sep + \"Asset_Link_Jobs\"; var linkFolder = new Folder(linkPath); if (!linkFolder.exists) linkFolder.create(); var srcFile = ''; var destFile = ''; var tasksList = []; var missingList = []; for (var j = 0; j < assets.length; j++) { srcFile = assets[j].getMediaPath(); destFile = destFolder.fsName + sep + getFilenameFromPath(assets[j].getMediaPath()); var copyresult = copyFile(srcFile, destFile, true, assets[j].name ); if (copyresult.fcopy) { var linkFile = new File(linkFolder.fsName + sep + copyresult.name + \".txt\");linkFile.encoding=\"UTF-8\";if (linkFile.open(\"w\")) { linkFile.write(jsonStringify(copyresult)); linkFile.close(); } else { alert(\"Konnte Asset_Link Job nicht schreiben: \" + linkFile.fsName); } tasksList.push(copyresult); } else { missingList.push(copyresult); } } return {tasksList: tasksList, missingList: missingList };}function logCassetListToProjectFolder(cassets, extraname, showOutput){ if (!app.project.path) { alert(\"Projekt wurde noch nicht gespeichert.\"); return; } var projectFolder = new Folder(app.project.path).parent; var now = new Date(); function pad(n) { return (n < 10 ? \"0\" : \"\") + n; } var timestamp = now.getFullYear() + \"-\" + pad(now.getMonth() + 1) + \"-\" + pad(now.getDate()) + \"_\" + pad(now.getHours()) + \"-\" + pad(now.getMinutes()) + \"-\" + pad(now.getSeconds()); var logfile = new File(projectFolder.fullName + \"/asset_log_\" + extraname + timestamp + \".txt\"); if (logfile.open(\"w\")) { logfile.writeln(\"Asset-Log \" + now.toLocaleString()); logfile.writeln(\"=========================================================\\n\"); for (var i = 0; i < cassets.length; i++) { var a = cassets[i]; logfile.writeln(\" Asset: \" + a.name); logfile.writeln(\" Quelle: \" + a.src); logfile.writeln(\" Ziel: \" + a.dest); if (a.fcopy) { logfile.writeln(\" Status Kopieren: Erfolgreich kopiert\"); } else { logfile.writeln(\" Status Kopieren: Fehler beim Kopieren\"); } logfile.writeln(\" Info: \" + a.finfo); logfile.writeln(\"\"); } logfile.close(); if (showOutput) { logfile.execute(); } } else { alert(\"Konnte Log-Datei nicht schreiben.\"); }}var projectItems = [];var jdata = {\"count\": 0};function doWorkflow(){collectAllMediaItems(app.project.rootItem, projectItems);if (projectItems.length > 0){ var allowedPaths = [\"T:\\\\Produktion\\\\RSS\", \"T:/Produktion/RSS\", \"/Produktion/RSS/LoRes/\", \"killphil/Premiere/Material/\",\"\\\\\\\\l-fslores1.adin.mdr.de\\\\rss\",\"\\\\\\\\l-fslores.adin.mdr.de\\\\RSS\\\\\"]; var badAssets = checkAssetValidation(projectItems, allowedPaths); var badlist = ''; for (var j = 0; j < badAssets.length; j++) { badlist = badlist + badAssets[j].name + \", \"; } if (badAssets.length > 0) { var confirmResult = confirm(\"Folgende Assets sind nicht auf dem RSS-Server zentral abgelegt:\"+'\\n\\n'+badlist+\"Soll ich eine Korrektur starten?\", true, \"Ungltige Asset-Pfade\"); if (confirmResult) { var result = copyAllBadAssets(badAssets); logCassetListToProjectFolder(result.tasksList,\"\", false); var alldata = {jdata: result.tasksList, count: result.tasksList.length}; jdata = jsonStringify(alldata); if (result.tasksList.length != badAssets.length) { alert(\"Nicht alle ungltigen Assets konnten korrigiert werden. Bitte prfen Sie die Log-Datei.\"); logCassetListToProjectFolder(result.missingList, \"missing_\", true); } } } else { alert(\"Alle Asset-Pfade sind gueltig und liegen zentral verfuegbar.\"); } }return jdata;}doWorkflow();jdata;})()}catch(e){alert(\"FEHLER: \"+e.toString());}",
"nodeUUID": "bfe2447d-6d62-4552-92e3-3f4e8c2e86b2"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "esPayload",
"variableValue": "{stream.last_result}",
"nodeUUID": "2ea7c554-d0ce-4340-b005-ffaa8fb13f72",
"failedNodeUUID": "e5392628-18e6-431a-8e35-f0f3ecfc9093",
"successNodeUUID": "1896af7d-5525-4780-a3c3-1b024a1a4999"
}
},
{
"class": "nodes.actions.helmut.premiere.PremiereAlertActionV2",
"deprecated": false,
"properties": {
"message": "Fehler in der Skriptverarbeitung - Bitte RSS-Support kontaktieren Tel. 8159.",
"successfulOnTimeout": false,
"timeout": 30,
"nodeUUID": "e5392628-18e6-431a-8e35-f0f3ecfc9093"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "assetLinkJobsPath",
"variableValue": "{path.parent.{project.parent}}\\Asset_Link_Jobs",
"nodeUUID": "cce046db-b8f2-4f2d-957e-2ee7bf279362",
"successNodeUUID": "d818d967-1e1b-41e0-9155-f26c9e01f334"
}
},
{
"class": "nodes.actions.general.SuccessActionImpl",
"deprecated": false,
"properties": {
"nodeUUID": "64abcbf5-3f03-41c4-964c-4b10b921b672"
}
},
{
"class": "nodes.actions.helmut.premiere.PremiereAlertActionV2",
"deprecated": false,
"properties": {
"message": "Achtung Fehler bei \"{job.source}\" - Keine Verarbeitung. Eventuell Support verständigen.",
"successfulOnTimeout": false,
"timeout": 10,
"nodeUUID": "970876e5-5d3c-4a9b-bcf9-01b87e1680dc",
"failedNodeUUID": "64abcbf5-3f03-41c4-964c-4b10b921b672",
"successNodeUUID": "64abcbf5-3f03-41c4-964c-4b10b921b672"
}
},
{
"class": "nodes.actions.move.FileMoveWithOptionsActionImpl",
"deprecated": false,
"properties": {
"filePath": "{stream.variable.datapath}",
"newFilePath": "{path.parent.{project.parent}}\\Asset_Link_Jobs_Done\\{path.basename.{stream.variable.datapath}}",
"conflictRule": "DELETE_EXISTING",
"nodeUUID": "dcf343b4-5779-4659-8b5e-4340c753d789",
"successNodeUUID": "a143da0f-df27-463c-89ce-0566acce5882"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "IS",
"allOne": "ONE",
"against": "{stream.variable.esPayload}",
"source": [
"true"
],
"nodeUUID": "1896af7d-5525-4780-a3c3-1b024a1a4999",
"failedNodeUUID": "db10bb82-a446-4d9d-b338-0335c045b8d5",
"successNodeUUID": "db10bb82-a446-4d9d-b338-0335c045b8d5"
}
}
]
}Findings im Stream
Warnungoffen
69e8d4770a5acf262e60713c
Custom-Stream „###deprecated_Prüfe Projekt nach "RSS-Offline" Assets“: Gruppenfreigabe und Aktivierungsstatus prüfen.
- Mindestens eine Gruppen-ID ist im importierten Gruppenkatalog nicht auflösbar.
Zugeordnete Gruppen:
- Nicht im Gruppenkatalog gefunden · ID: 619b6fe995dc0e00015cb575
Gruppenfreigabe und Aktivierung in Helmut kontrollieren. Leere Listen beweisen keine Unsichtbarkeit; unbekannte IDs können auch aus unterschiedlichen Exportständen stammen.
offen
025332fc-a229-4cec-9127-ed9f1fbf29e0
Warnung
UNREACHABLE_NODE
Node ist vom Start aus über keine gespeicherte Laufzeitverbindung erreichbar.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
bfe2447d-6d62-4552-92e3-3f4e8c2e86b2
Warnung
UNREACHABLE_NODE
Node ist vom Start aus über keine gespeicherte Laufzeitverbindung erreichbar.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
f21f34a9-4d80-4470-bd06-72122fa72836
Warnung
UNREACHABLE_NODE
Node ist vom Start aus über keine gespeicherte Laufzeitverbindung erreichbar.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
970876e5-5d3c-4a9b-bcf9-01b87e1680dc
Warnung
SUCCESS_FAILURE_SAME_TARGET
Erfolgs- und Fehlerausgang zeigen auf dieselbe Node. Ein Fehler läuft damit über dasselbe Ziel weiter wie ein Erfolg; prüfen, ob das beabsichtigt ist.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
2e96cc4c-355a-48e9-9b9d-c9c874e8852b
Warnung
SUCCESS_FAILURE_SAME_TARGET
Erfolgs- und Fehlerausgang zeigen auf dieselbe Node. Ein Fehler läuft damit über dasselbe Ziel weiter wie ein Erfolg; prüfen, ob das beabsichtigt ist.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
a3a39396-19d1-4136-8016-3d297649e16b
Warnung
UNREACHABLE_NODE
Node ist vom Start aus über keine gespeicherte Laufzeitverbindung erreichbar.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
dcf343b4-5779-4659-8b5e-4340c753d789
Warnung
MISSING_FAILURE_PATH
Kritische Aktion besitzt keinen expliziten Fehlerpfad. Ein bewusstes Stream-Ende oder andere Fehlerbehandlung kann beabsichtigt sein.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
1896af7d-5525-4780-a3c3-1b024a1a4999
Warnung
SUCCESS_FAILURE_SAME_TARGET
Erfolgs- und Fehlerausgang zeigen auf dieselbe Node. Ein Fehler läuft damit über dasselbe Ziel weiter wie ein Erfolg; prüfen, ob das beabsichtigt ist.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
Stream-Details
- Extern-ID
- 69e8d4770a5acf262e60713c
- Event
- CUSTOM_IO
- Nodes
- 33
- Deprecated-Warnung
- Nein
- Variablen
- 0