CarlosJuncher03 opened a new issue, #7012:
URL: https://github.com/apache/hop/issues/7012

   ### What would you like to happen?
   
   Description:
   Currently, when the same logic is needed in multiple pipelines or workflows, 
it often has to be duplicated in JavaScript scripts, Java classes, or other 
embedded code snippets inside components. This creates repetition, increases 
maintenance cost, and makes standardization harder.
   
   The proposal is to create a new metadata type to store and manage reusable 
functions, routines, or code snippets, allowing them to be centrally referenced 
by different pipelines and workflows.
   
   Objective:
   Avoid code duplication and improve maintenance, reuse, and governance of 
shared logic.
   
   Expected behavior:
   
   allow defining reusable functions or routines as metadata;
   allow this metadata to be referenced from multiple pipelines and workflows;
   support different implementation types, such as JavaScript, script, and Java 
classes;
   enable centralized maintenance, so that changes in the metadata are 
reflected in all flows that use it;
   reduce the need to copy and paste code across different transforms.
   
   Use cases:
   
   business rules reused across multiple flows;
   helper functions for field processing;
   standardized validations;
   value conversion logic;
   common logic used in scripts or custom classes.
   
   Benefits:
   
   elimination of duplicated code;
   centralized maintenance;
   greater consistency across pipelines;
   improved technical governance;
   easier evolution and correction of shared rules.
   
   Possible future extensions:
   
   function versioning;
   dependency management;
   standardized input and output parameters;
   embedded metadata documentation;
   testing and validation for reusable functions.
   
   Note:
   The goal is not only to store code, but to let Hop treat this logic as a 
reusable and manageable resource, decoupling implementation from the pipeline 
or workflow definition.
   
   ### Issue Priority
   
   Priority: 3
   
   ### Issue Component
   
   Component: Metadata


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to