WIP: Restructure DataMapper documentation with updated screenshots in…#228
Conversation
📝 WalkthroughWalkthroughThis PR reorganizes and expands DataMapper documentation by creating five dedicated feature-focused pages (getting started, schemas, mappings, conditional logic, XPath editor) and refactoring the main DataMapper page into a landing page with navigation links. Two outdated VTT subtitle files are removed, and one VTT file's timestamps are adjusted. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PVinaches
left a comment
There was a problem hiding this comment.
It's a good progress! Thanks!
…kstart style - Reorganized monolithic documentation into 5 numbered sections - Converted all shortcodes from figure to image-sh for consistency - Improved writing style to match Designer documentation - Added Welcome and Getting Started sections - Unified XML and JSON schema attachment process - Enhanced XPath Editor section with comprehensive function reference - Integrated resource management (delete/detach) into relevant sections - Removed section 06 (integrated into other sections) - Added inline icons for UI elements (trash, detach, layer icons) - Cleaned up 20+ unused images and old files - All internal links verified and updated Sections: 01. Getting Started - Interface overview, parameters 02. Attaching Schemas - XML/JSON schema attachment 03. Creating Mappings - Drag-and-drop, XPath expressions 04. Conditional Mappings - if, choose-when-otherwise, for-each 05. XPath Editor - Expression editor with function reference"
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@content/docs/datamapper/01-getting-started/_index.md`:
- Around line 75-80: The blockquote starting with the [!TIP] and the subsequent
[!NOTE] contains an extra blank line (the blank line after the image shortcode)
which violates markdownlint MD028; remove that empty line so the blockquote
lines remain contiguous (i.e., keep the [!TIP], the image shortcode {{< image-sh
... >}} and the following [!NOTE] directly adjacent with no blank line between
them) to satisfy the no-blanks-blockquote rule.
In `@content/docs/datamapper/05-xpath-editor/_index.md`:
- Around line 65-68: Update the documentation where conditional constructs are
listed: replace the misleading entry `choose()` with `choose-when-otherwise`
and/or add a clarifying note that this is an XSLT-style instruction pattern
(multi-branch conditional) rather than a native XPath function; ensure the
nearby `if()` entry remains as-is and mention that `choose-when-otherwise` is a
conditional mapping construct used alongside `if()` for multi-branch logic.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 7aa4ec74-dfcd-4e28-a185-e343c6ca156d
⛔ Files ignored due to path filters (96)
content/docs/datamapper/01-getting-started/catalog-datamapper-tile.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-add-parameter-confirm.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-add-parameter.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-blank.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-configure-button.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-delete-param-confirm.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-delete-param-trash.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-hide-parameters.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-source-target.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/datamapper-zoom.pngis excluded by!**/*.pngcontent/docs/datamapper/01-getting-started/kaoto-datamapper-step.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-attach-multiple.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-attach-schema-attach.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-attach-schema-file-btn.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-attach-schema.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-collection-field.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-detach-button.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-json-array-field.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-json-fields.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-json-mappings-all.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-schema-attached.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-select-root-element.pngis excluded by!**/*.pngcontent/docs/datamapper/02-attaching-schemas/datamapper-select-schema.pngis excluded by!**/*.pngcontent/docs/datamapper/03-creating-mappings/datamapper-add-selector.pngis excluded by!**/*.pngcontent/docs/datamapper/03-creating-mappings/datamapper-delete-mapping-btn.pngis excluded by!**/*.pngcontent/docs/datamapper/03-creating-mappings/datamapper-delete-mapping-confirm.pngis excluded by!**/*.pngcontent/docs/datamapper/03-creating-mappings/datamapper-delete-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/03-creating-mappings/datamapper-drag-name.mp4is excluded by!**/*.mp4content/docs/datamapper/03-creating-mappings/datamapper-type-xpath.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-choose-add-when.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-choose-choose.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-choose-otherwise-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-for-each-condition.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-for-each-for-each.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-for-each-mappings.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-if-condition.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-if-if.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-if-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-layer.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-map-2nd-for-each-children.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/datamapper-wrap-with-for-each.pngis excluded by!**/*.pngcontent/docs/datamapper/04-conditional-mappings/dm_multiplemappings.mp4is excluded by!**/*.mp4content/docs/datamapper/05-xpath-editor/datamapper-xpath-close.pngis excluded by!**/*.pngcontent/docs/datamapper/05-xpath-editor/datamapper-xpath-dnd-fields.pngis excluded by!**/*.pngcontent/docs/datamapper/05-xpath-editor/datamapper-xpath-done.pngis excluded by!**/*.pngcontent/docs/datamapper/05-xpath-editor/datamapper-xpath-editor.pngis excluded by!**/*.pngcontent/docs/datamapper/05-xpath-editor/datamapper-xpath-functions-dnd.pngis excluded by!**/*.pngcontent/docs/datamapper/05-xpath-editor/datamapper-xpath-functions.pngis excluded by!**/*.pngcontent/docs/datamapper/05-xpath-editor/datamapper-xpath-pencil.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-add-conditional-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-add-more-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-add-parameter-confirm.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-add-parameter.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-add-selector.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-attach-schema-attach.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-attach-schema.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-blank.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-choose-add-when.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-choose-choose.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-choose-otherwise-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-choose-when-added.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-choose-when-condition.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-choose-when-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-delete-param-trash.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-detach-confirm.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-done.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-drag-name.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-drop-name.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-for-each-condition.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-for-each-for-each.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-for-each-mappings.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-if-3dots.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-if-condition.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-if-if.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-if-mapping.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-json-array-field.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-json-attach-schema-attach.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-json-field-label-accountid.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-json-field-label-object.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-json-mappings-all.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-json-schema-attached.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-json-select-schema.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-map-2nd-for-each-children.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-map-2nd-for-each.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-schema-attached.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-select-root-element.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-source-target.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-type-xpath.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-wrap-with-for-each.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-xpath-dnd-fields.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-xpath-done.pngis excluded by!**/*.pngcontent/docs/datamapper/datamapper-xpath-pencil.pngis excluded by!**/*.pngcontent/docs/datamapper/dm_chooserootelement.mp4is excluded by!**/*.mp4content/docs/datamapper/dm_json.mp4is excluded by!**/*.mp4content/docs/datamapper/dm_multiplemappings.mp4is excluded by!**/*.mp4content/docs/datamapper/kaoto-datamapper-step.pngis excluded by!**/*.png
📒 Files selected for processing (9)
content/docs/datamapper/01-getting-started/_index.mdcontent/docs/datamapper/02-attaching-schemas/_index.mdcontent/docs/datamapper/03-creating-mappings/_index.mdcontent/docs/datamapper/04-conditional-mappings/_index.mdcontent/docs/datamapper/04-conditional-mappings/dm_multiplemappings.vttcontent/docs/datamapper/05-xpath-editor/_index.mdcontent/docs/datamapper/_index.mdcontent/docs/datamapper/dm_chooserootelement.vttcontent/docs/datamapper/dm_json.vtt
💤 Files with no reviewable changes (2)
- content/docs/datamapper/dm_json.vtt
- content/docs/datamapper/dm_chooserootelement.vtt
| **Conditional Functions:** | ||
| - `if()` - Inline conditional logic | ||
| - `choose()` - Multi-branch conditionals | ||
|
|
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
In XPath 3.1 / XSLT 3.0, is there a standard choose() function? What is the canonical syntax for conditional expressions?
💡 Result:
Web search failed: Server error: no LLM provider could handle the message
🏁 Script executed:
# First, locate and examine the file
find . -name "_index.md" -path "*datamapper*" -path "*xpath-editor*" | head -5Repository: KaotoIO/kaoto.io
Length of output: 111
🏁 Script executed:
# Search for any references to "choose" in the codebase to understand its usage
rg "choose" --type md --type ts --type js --type yaml -i -C 3 | head -100Repository: KaotoIO/kaoto.io
Length of output: 9005
🏁 Script executed:
# Search for function definitions or function lists in the DataMapper documentation/code
rg "Conditional" --type md -A 5 -B 2 | grep -A 5 -B 2 "choose\|if()"Repository: KaotoIO/kaoto.io
Length of output: 2863
🏁 Script executed:
# View the actual file content around the flagged lines (65-68)
sed -n '50,80p' content/docs/datamapper/05-xpath-editor/_index.mdRepository: KaotoIO/kaoto.io
Length of output: 1127
🏁 Script executed:
# Search for any DataMapper-specific function definitions that might define choose()
rg "choose" content/docs/datamapper/ -B 2 -A 2Repository: KaotoIO/kaoto.io
Length of output: 5698
🏁 Script executed:
# Look for implementation files that might define these functions
find . -type f \( -name "*.ts" -o -name "*.js" -o -name "*.tsx" -o -name "*.jsx" \) | xargs grep -l "choose" | grep -i xpath | head -10Repository: KaotoIO/kaoto.io
Length of output: 42
choose() should be clarified as choose-when-otherwise (XSLT instruction, not a function).
Line 67 lists choose() as a conditional function, but standard XPath has no choose() function. The DataMapper documentation elsewhere correctly refers to this construct as choose-when-otherwise, which is an XSLT instruction pattern used for multi-branch conditionals. The XPath editor section should align with this terminology to avoid misleading users about function syntax. Replace choose() with choose-when-otherwise or clarify that this refers to the conditional mapping construct, not a direct XPath function call.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@content/docs/datamapper/05-xpath-editor/_index.md` around lines 65 - 68,
Update the documentation where conditional constructs are listed: replace the
misleading entry `choose()` with `choose-when-otherwise` and/or add a clarifying
note that this is an XSLT-style instruction pattern (multi-branch conditional)
rather than a native XPath function; ensure the nearby `if()` entry remains
as-is and mention that `choose-when-otherwise` is a conditional mapping
construct used alongside `if()` for multi-branch logic.
Restructures DataMapper documentation following current documentation style.
Summary by CodeRabbit