{{ transformations:ProjectMetadataAction.png}} ====== PROJECT METADATA ====== Category: Import / File\\ \\ =====Description===== Generate lists of various EasyMorph (.morph) project metadata: * Connectors used in a project's actions * Parameters * Modules * Groups * Tables * Actions (with connector names, and parameter names, when applicable) * To-do list \\ =====Use cases===== The //Project metadata// action can be convenient in various cases, for instance: * Find projects that use a particular connector * Validate one or more projects without executing them (e.g. before publishing to Server) * Check if a project has disabled actions * Obtain a list of modules and use it for iterations (in all calling actions the module name can be specified using a parameter) * Generate a to-do list for users as a dataset. \\ =====Action settings===== ^ Setting ^ Description ^ |Load file*|Fully-qualified file name of the EasyMorph .morph project file (includes relative or absolute path).| |Mode |Defines the metadata category that EasyMorph will generate a list of for the file selected.\\ Options: //List of connectors//, //List of parameters//, //List of modules//, //List of groups//, //List of tables//, //List of actions//and //To-do list//.| * Setting can be specified using a [[:parameters|parameter]].\\ \\ ====Modes==== ^Mode^List fields^ |Project metadata|Edited by, Last edited (UTC), Application version, Start module, and Project validation. See "Remarks" section below.| |Connectors|Connector name, Parameter name, Connector name type, Connector location, Connector type, Connector\\ annotation, and Connector validation.| |Parameters|Module name, Parameter name, Parameter type, Parameter value, Parameter annotation, and Parameter\\ validation.| |Modules|Module name and Module annotation.\\ Optionally, dependency information can be included: //Calls//, //Connectors//, //Files/folders//, //Programs//. See below.| |Groups|Module name, Group name, and Group annotation.\\ Optionally, dependency information can be included: //Groups//, //Calls//, //Connectors//, //Files/folders//, //Programs//.\\ See below.| |Tables|Module name, Group name, Table name, Table annotation, Default result table.\\ Optionally, dependency information can be included: //Tables//, //Calls//, //Connectors//, //Files/folders//, //Programs//.\\ See below.| |Actions|Module name, Group name, Table name, Action position, Action name, Action description, Action annotation,\\ Action state, Connector name, Parameter name (for connector), Connector name type, Action parameters,\\ and Action validation.| |To-do list|Module name, Description, Assigned to, and Due Date.| \\ ====Include dependencies options==== ^Dependency^Appends these fields to the dataset...^ |Calls|Call target, Call target name type, and Call target name.| |Connectors|Dependency type, Connector name type, and Connector name.| |Files/folders|Dependency type, File path, and Folder path.| |Programs|Dependency type and Program path.| |Groups|Dependency type and Other group name.| |Tables|Dependency type and Other table name.| \\ =====Validation===== Some modes produce validation columns. See the table below for an explanation of validation in each mode. ^Setting^Validation explanation^ |Project metadata| Project file is considered valid when it was saved in EasyMorph and hasn't been modified by a 3rd party application after that. The project validation only works for projects saved in v4.7.1 or later. See also the Remarks section below. | |Connectors| A connector is valid when it can be found in the current repository. | |Parameters| A parameter is valid when it passes validation rules defined in parameter settings, can be successfully evaluated (calculated parameters only), and its value is in the list of acceptable values. | |Actions| An action is valid when its properties are properly configured. | \\ =====Remarks===== Project (.morph) files created in EasyMorph versions 4.7.1 or later contain a cryptographic signature that certifies that the project was saved in EasyMorph and it wasn't modified by a 3rd party application. If the project is found to be modified in some way, the //Project validation// column created in the "Project metadata" mode will result in the error "The project has been tampered with". If project validation is successful, it also means that the most recent project editor and the last edited time are certified to be correct. This action can import multiple files. See [[import:fileimportmodes|Importing Multiple Files]] for more information.\\ \\ =====Community examples===== * [[https://community.easymorph.com/t//2653/1|Extracting all projects published in the Community and their actions]] ([[https://community.easymorph.com/uploads/short-url/mrnJQUJJL8Do1T8ioicyzE1VgmK.morph|Project]]; Module: //Download & parse//; Group: //Group 1//;\\ Table: //Project metadata//; Action position: //2//) \\ =====Shortcuts===== Fast ways to create the action: * Press the "Add data" menu button. Pick "Import file" or "Import multiple files". \\ =====See also===== * [[transformations:metadata|Table metadata]] * [[transformations:todo|To-do]]