How should I read from a tag in perspective?

I have a view with an input param called path.

For that view I need to display the path with a property that is inside the path.

Let me give an example:
If path is [default]folder1/folder2/folder3
The property that I need is [default]folder1/folder2/folder3/id.
Then I get the value from path and the value from id and display it together.
Like this: [default]folder1/folder2/folder3/D-IA-001 (for example)

I could think of 3 ways of doing this. I'm looking what is the best way or the intended way.

  1. Indirect binding
    I create a custom property with the indirect tag. Like this: {view.params.path}/id. This would return the value of id.
    Then in another custom propery I create an expression binding. Like this: {view.params.path} + "/" + {view.custom.id}

  2. system.tag.readBlocking()
    I create a custom property with a binding to {view.params.path}. Then I create a transform script with a code that look like this:

id = system.tag.readBlocking(value)
if id.quality.isGood():
    return value + "/" + id.value
return "ERROR"
  1. tag() expression
    I create a custom property with an expression structure.
    Inside I create 2 values {view.params.path} and the other one tag({view.params.path} + "/id")
    Then I simply combine the 2.
    However, I belive that the use of tag() is not recommended.

I'm asking this because we have a flex repeater that generates about 20-30 views that need this data. We are having loading problems and we are trying to understand why.

Any help or tip is appreciated.

Thx!

Use #1 if you need the displayed value to be "live". Place the indirect binding inside the repeating view.

Use #2 if you want the displayed value to be a snapshot from when the view opens.

Never use #3 in user interfaces.