# πŸ›  Method / Algorithm Importer The **Method / Algorithm Importer** allows users to define and configure new computational methods, or edit existing ones. It is accessible via the **Analytics Engine** and is intended for method developers. ![Method Importer Overview](/_static/imgs/analytics_engine_importer.png) By default, the editor opens with an empty form, ready for a new method definition. Alternatively, an existing method can be selected from the **Methods List** for modification. --- ## πŸ—‚οΈ Methods List The left panel displays all available methods. To edit one: - Click the **Edit** icon next to the method ![Edit](/_static/imgs/method_button_edit.png) - Or drag and drop the method into the editor form πŸ‘‰ See: πŸ“š [Methods list](01_methods_list) --- ## 🧩 Method Editor This is the central form for defining a method’s structure and behavior. It is composed of: --- ### πŸ“„ Basic Information - **Title**: Name of the method - **Version**: Semantic versioning (e.g., `1.0.0`) - **Description**: Short summary of the method's purpose - **Keywords**: Tags for categorization (e.g., `python`, `nlp`) - **Categories**: Method domain - **Compatible infrastructures**: Where the method can be executed --- ### πŸ§ͺ Input Fields Inputs define the parameters that will be presented to the user during execution. Supported input types include: - **ccpimage**: Defines the runtime Docker image - **File**: Upload a file during execution - **Workspace File**: Select a file from the workspace - **URL**: Provide a public URL - **String / Number / Boolean**: Free parameters - **Geographic input**: Map-based selection - **Secret**: For sensitive credentials - **Enumerated values**: Predefined list (single or multiple choice) ![Add New Input](/_static/imgs/edit_new_input.png) ![Add Button](/_static/imgs/edit_button_plus.png) Each input has: - Input name and label - Description - Required/optional flag (`min count`) - Format (e.g., `file`, `number`, `date`, `code`) - Default value - Mime type (e.g., `text/plain`) --- ### 🧾 Enumerated Inputs If **enumerated** type is selected, the editor allows to define a list of values and choose between: - `single_choice`: radio buttons or dropdown - `multi_choice`: checkboxes ![Enumerated input example](/_static/imgs/edit_input_enumerated.png) --- ### πŸ“¦ Outputs The **Outputs** section lets users declare which result files will be generated. ![Outputs Section](/_static/imgs/edit_output.png) By default, the list is empty. You can add: - βœ… `stdout` (green icon): standard output - ❌ `stderr` (red icon): error log - πŸ“ Custom outputs (blue icon): result files Outputs can be removed using the trash icon. --- ### βš™οΈ Deploy and Execute Scripts This section defines two Bash scripts used at runtime: - **Deploy**: executed before the main method. Typically used to: - Clone the repository - Install dependencies - Prepare data - **Execute**: runs the main logic using input parameters Placeholders like `{{input_file}}` are automatically replaced with the user-provided values. ![Script Section](/_static/imgs/edit_script.png) --- ## πŸ’Ύ Method Management While editing the method, the following actions are available: ![](/_static/imgs/method_buttons_manage.png) - πŸ’Ύ **Save**: persist the method definition - 🧹 **Clean**: reset the form - πŸ—‘οΈ **Delete**: remove the method Saved methods will reappear in the **Methods List**. --- ## πŸ”— Related Pages - βˆ‘ [Analytics Engine overview](./00_analytics_engine) - πŸ“š [Methods list](./01_methods_list) - πŸš€ [Execution form](./03_method_execution) - πŸ‘¨β€πŸ’» [Building methods (Quickstart)](/01_quickstart/05_building_simple_method) - πŸ›  [Developers Guide](/04_methods_development/00_index)