Skip to content

Feat/repeatable template exporter - #1913

Open
peterjanssens wants to merge 1 commit into
collectiveaccess:dev/2.0from
libis:feat/repeatable_template_exporter
Open

Feat/repeatable template exporter#1913
peterjanssens wants to merge 1 commit into
collectiveaccess:dev/2.0from
libis:feat/repeatable_template_exporter

Conversation

@peterjanssens

Copy link
Copy Markdown
Contributor

When using a template in the exporter that logic workflow path terminates with returning the processed template value, not passing the option to repeat_element_for_multiple_values.
It would be nice to have the repeat_element_for_multiple_values though, and this change would allow that on a chosen delimiter (hiking on the $values array).
Having the delimiter as part of the settings does not require parsing the delimiter from the template and allows for more creative exploding (for instance with nested units).

Direct templating can be more performant than switching "context" for relations, but templating loses the option of repetition. That was the use-case that triggered this evaluation.

There appear two paths for the use of "template" in the processExporterItem function, for this POC I only touched the pathway with source (not clear why that would be different, having source or not - source itself is not used on templating).

I'm not sure if and/or what needs to be done to have other @attributes added to these elements from other mapping rows, as with the original repeatable values; since this follows the $values I think it should be the same..

For instance:
image

Results:
image

languages is the original repeatable from the multivalue source, languageo "fails" repeating through template (just returning the delimited values), languages and languagez became repeatable with minimal and (very specialistic) template renders.

The change should be safe, not using the repeat_element_for_multiple_values and delimiter settings will behave as currently (as in the example languageo not having the delimiter)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant