Uploaded image for project: 'Pentaho Data Integration - Kettle'
  1. Pentaho Data Integration - Kettle
  2. PDI-13671

As an ETL-Developer, I want to have variables for referencing my job/transformation that work in all repositories and file system

    XMLWordPrintable

    Details

    • Epic Name:
      PDI - Job/Transformation Variables
    • Use Case:
      Hide

      There is a lot of work involved from moving a solution from a file based to a repository and vice versa by changing the x.Repository to/from x.Filename variables. This needs to be avoided.
      Moving towards the BA/DI-Server integration this helps in referencing (details in PDI-13339)
      Avoid confusion that there is a difference in referencing the artifacts within the repository vs. files.
      Avoid issues by moving a file system to a repository (and vice versa) by keeping the relative references intact by an import or export.

      Show
      There is a lot of work involved from moving a solution from a file based to a repository and vice versa by changing the x.Repository to/from x.Filename variables. This needs to be avoided. Moving towards the BA/DI-Server integration this helps in referencing (details in PDI-13339 ) Avoid confusion that there is a difference in referencing the artifacts within the repository vs. files. Avoid issues by moving a file system to a repository (and vice versa) by keeping the relative references intact by an import or export.

      Description

      Conditions of Satisfaction

      • I can reference the actual job directory with a variable
      • I can reference the actual job name with a variable
      • I can reference the actual transformation directory with a variable
      • I can reference the actual transformation name with a variable
      • The variables work the same way within a repository or file system (using ktr/kjb files)
      • The variables do not get replaced by any export or import functionality, so that they keep intact by a deployment.

      Notes

      Actually we have different variables for the directory/name for transformations vs. jobs and file based vs. repository:
      ${Internal.Transformation.Filename.Directory}
      ${Internal.Transformation.Filename.Name}
      ${Internal.Transformation.Repository.Directory}
      ${Internal.Transformation.Name}
      ${Internal.Job.Filename.Directory}
      ${Internal.Job.Filename.Name}
      ${Internal.Job.Repository.Directory}
      ${Internal.Job.Name}

      --> I propose to simplify this by something like:
      ${Internal.This.Directory}
      ${Internal.This.Name}

      Whereas the directory gets replaced by the directory for the filesystem or repository depending if it is running in what context (filesystem or repository).
      I don't think we need to differentiate between jobs and transformations. When we get the variables filled from calling jobs/transformations then we should differentiate like this:

      ${Internal.ThisJob.Directory}
      ${Internal.ThisJob.Name}
      ${Internal.ThisTransformation.Directory}
      ${Internal.ThisTransformation.Name}

      Finally, it needs architect's decision.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              jbleuel Jens Bleuel
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: