You can buy this project and download/modify it how often you want.
<#if (sourceAttributes)?has_content> <#list sourceAttributes as sourceAttribute> Source: ${sourceAttribute.name?html} #list> #if> Target: ${targetAttribute.name?html} <#list feedbackRows as feedbackRow> <#-- Dataexplorer can't be initialized with query at the moment, for forward compatibility already construct URL --> <#if (sourceAttributes)?has_content> <#list sourceAttributes as sourceAttribute> <#if sourceAttribute.dataType == "XREF" || sourceAttribute.dataType == "CATEGORICAL"> <#if feedbackRow.sourceEntity.get(sourceAttribute.name)??> <#assign refEntity = feedbackRow.sourceEntity.get(sourceAttribute.name)> <#assign refEntityType = sourceAttribute.refEntity> <#list refEntityType.attributes as refAttribute> <#assign refAttributeName = refAttribute.name> <#if (refEntity[refAttributeName])??> <#assign value = refEntity[refAttributeName]> <#if value?is_boolean>${value?c}<#else>${value}#if><#if refAttribute?has_next> = #if> #if> #list> #if> <#elseif sourceAttribute.dataType == "mref"> <#if feedbackRow.sourceEntity.get(sourceAttribute.name)??> <#assign refEntity = feedbackRow.sourceEntity.get(sourceAttribute.name)> <#assign refEntityType = sourceAttribute.refEntity> <#list refEntity as entity> ${entity.getIdValue()} #list> #if> <#elseif sourceAttribute.dataType == "DATE"> <#if feedbackRow.sourceEntity.get(sourceAttribute.name)??> ${feedbackRow.sourceEntity.get(sourceAttribute.name).format('MMM d, yyyy')} #if> <#elseif sourceAttribute.dataType == "DATE_TIME"> <#if feedbackRow.sourceEntity.get(sourceAttribute.name)??> ${feedbackRow.sourceEntity.get(sourceAttribute.name).format('MMM d, yyyy HH:mm:SS a')} #if> <#else> <#if feedbackRow.sourceEntity.get(sourceAttribute.name)??> <#assign value = feedbackRow.sourceEntity.get(sourceAttribute.name)> <#if value?is_sequence> <#list value as row> ${row.labelValue?html}<#if row?has_next>, #if> #list> <#elseif value?is_boolean> ${value?c} <#else> ${value?html} #if> <#else> #if> #if> #list> #if> <#if feedbackRow.success> <#if feedbackRow.value??> <#if targetAttribute.dataType == 'DATE'> ${feedbackRow.value.format('MMM d, yyyy')} <#elseif targetAttribute.dataType == 'DATE_TIME'> ${feedbackRow.value.format('MMM d, yyyy HH:mm:SS a')} <#elseif feedbackRow.value?is_hash> ${feedbackRow.value.getLabelValue()?html} <#elseif feedbackRow.value?is_sequence> <#list feedbackRow.value as row> <#if row?has_content>${row.idValue?html}<#if row?has_next>, #if>#if> #list> <#elseif feedbackRow.value?is_boolean> ${feedbackRow.value?c} <#else> ${feedbackRow.value?html} #if> <#else> null #if> <#else> Invalid script #if> #list>