Skip to content

added documentation thumbnail#2602

Draft
walldenfilippa wants to merge 2 commits intoAltinn:masterfrom
walldenfilippa:thumbnail-docs
Draft

added documentation thumbnail#2602
walldenfilippa wants to merge 2 commits intoAltinn:masterfrom
walldenfilippa:thumbnail-docs

Conversation

@walldenfilippa
Copy link
Contributor

@walldenfilippa walldenfilippa commented Dec 27, 2025

Altinn/app-lib-dotnet#1598
Altinn/app-frontend-react#3898
Altinn/app-localtest#183
https://github.com/Altinn/altinn-storage/tree/filippa2

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive image preview and thumbnail guide for the FileUpload component (English and Norwegian), covering prerequisites, UI anatomy, versioned content blocks, and step‑by‑step implementation instructions with illustrative examples.
    • Included visual previews and an embedded design prototype to better illustrate the preview workflow and UI behavior.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 27, 2025

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'auto_resolve_threads'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
📝 Walkthrough

Walkthrough

Adds an Image Preview (thumbnail) workflow to FileUpload docs (English and Norwegian Bokmål): introduces thumbnail dataType, DataWriteProcessor pattern, thumbnail binary-element creation and GUID linking, plus UI anatomy and code examples for rendering/storing thumbnails. (Documentation-only changes.)

Changes

Cohort / File(s) Summary
FileUpload docs — English & Norwegian Bokmål
content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md, content/altinn-studio/v8/reference/ux/components/FileUpload/_index.nb.md
Replaced Examples section with Image Preview / Forhåndsvisning av bilder. Added prerequisites, UI anatomy (embedded Figma iframe in NB), versioned content blocks, thumbnail dataType JSON schema, IDataWriteProcessor (DataWriteProcessor-like) C# example for generating/storing thumbnails, AddBinaryDataElement guidance, and GUID-based thumbnailLink/attachmentLink association instructions.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    actor User
    participant Frontend as Web App (FileUpload)
    participant Server as App Backend (DataWriteProcessor)
    participant Storage as Binary Storage / Data API
    participant Metadata as Application Metadata

    Note over Frontend,Storage: Upload original image
    User ->> Frontend: Select & upload image
    Frontend ->> Storage: Store original binary (create data element)
    Storage -->> Frontend: Return attachment GUID

    Frontend ->> Server: Notify / trigger DataWriteProcessor (with attachment GUID)
    Server ->> Storage: Fetch original binary by GUID
    Server ->> Server: Generate thumbnail (resize/encode)
    Server ->> Storage: Create thumbnail binary element (AddBinaryDataElement)
    Storage -->> Server: Return thumbnail GUID

    Server ->> Metadata: Persist link metadata (thumbnailLink ↔ attachmentLink)
    Server -->> Frontend: Respond with thumbnail GUID / URLs
    Frontend ->> Frontend: Render preview using thumbnail URL
    Note right of Frontend: UI shows linked original + preview
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

📸 A tiny thumb saved every upload,
Schema and GUID set the road,
Backend crafts the little view,
Docs in two tongues show how to do,
Now FileUpload beams — preview mode! ✨

Please check documentation in English (en-US), Norwegian Bokmål (nb-NO), and Norwegian Nynorsk (nn-NO).

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'added documentation thumbnail' is directly related to the changeset, which adds comprehensive documentation for image thumbnail preview functionality in the FileUpload component across multiple language versions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9440c93 and d729339.

⛔ Files ignored due to path filters (2)
  • content/altinn-studio/v8/reference/ux/components/FileUpload/image-3.png is excluded by !**/*.png
  • content/altinn-studio/v8/reference/ux/components/FileUpload/image.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md
  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.nb.md
🧰 Additional context used
📓 Path-based instructions (2)
**/*.nb.md

⚙️ CodeRabbit configuration file

Check for Norwegian Bokmål (nb-NO) grammar and spelling with extra care. Pay special attention to specialized terminology and Norwegian-specific words.

Files:

  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.nb.md
content/**/*

⚙️ CodeRabbit configuration file

Check for links, markdown formatting, headings, grammar, and spelling in multiple languages (en-US, nb-NO, nn-NO).

Files:

  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.nb.md
  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md
🧠 Learnings (3)
📓 Common learnings
Learnt from: olemartinorg
Repo: Altinn/altinn-studio-docs PR: 2134
File: content/altinn-studio/reference/ux/components/Cards/_index.en.md:20-23
Timestamp: 2025-04-24T12:27:04.998Z
Learning: For the Altinn Studio Docs repository, component links in documentation (like ../image, ../audio, ../video) do not need to use PascalCase (../Image, ../Audio, ../Video) even if they differ from the actual directory case, as the platform likely handles case-insensitivity in path resolution.
📚 Learning: 2025-10-27T07:48:11.643Z
Learnt from: lvbachmann
Repo: Altinn/altinn-studio-docs PR: 2477
File: content/authorization/migration/servicemigrationplan/_index.nb.md:4-4
Timestamp: 2025-10-27T07:48:11.643Z
Learning: In content/authorization/migration/servicemigrationplan/_index.nb.md (Norwegian Bokmål), the use of "Altinn II" in the description and "Altinn 2" in the document body is intentional and reflects actual naming conventions. This terminology difference should not be flagged as an inconsistency.

Applied to files:

  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.nb.md
📚 Learning: 2025-04-24T12:27:04.998Z
Learnt from: olemartinorg
Repo: Altinn/altinn-studio-docs PR: 2134
File: content/altinn-studio/reference/ux/components/Cards/_index.en.md:20-23
Timestamp: 2025-04-24T12:27:04.998Z
Learning: For the Altinn Studio Docs repository, component links in documentation (like ../image, ../audio, ../video) do not need to use PascalCase (../Image, ../Audio, ../Video) even if they differ from the actual directory case, as the platform likely handles case-insensitivity in path resolution.

Applied to files:

  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.nb.md
🪛 LanguageTool
content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md

[grammar] ~239-~239: Ensure spelling is correct
Context: ...taMutatorwith: - ThedataTypeId dedikated for thumbnails. - The mime-type (c...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🔇 Additional comments (7)
content/altinn-studio/v8/reference/ux/components/FileUpload/_index.nb.md (3)

256-285: C# code example is well-structured and illustrative.

The DataWriteProcessor implementation correctly demonstrates:

  • Interface implementation pattern for IDataWriteProcessor
  • Async/await usage with Task return type
  • Binary data iteration through BinaryDataChanges
  • Image type filtering via MIME type check
  • Thumbnail generation with RenderThumbnail call
  • New data element creation with AddBinaryDataElement parameters
  • GUID-based metadata linking pattern with thumbnailLink and attachmentLink

The stubbed RenderThumbnail method is appropriate for documentation purposes, and the comment directing developers to use NuGet packages is helpful guidance.


193-252: Norwegian terminology and structure are consistent and clear.

The new "Forhåndsvisning av bilder" section uses accurate Norwegian terminology throughout:

  • "fileopplastingskomponenten" (file upload component)
  • "miniatyrbildet" (thumbnail)
  • "opplastede vedlegg" (uploaded attachments)
  • "dataelement" (data element)
  • "dedikert dataType" (dedicated dataType)

The four-step implementation guide is logically sequenced, and the requirements notice appropriately cautions about NuGet package licensing and security. The JSON schema example in step 1 and the metadata linking approach in step 4 are clearly explained.


203-203: Image files exist and paths resolve correctly—no action needed.

Both image.png and image-3.png are present in the FileUpload component directory. The relative paths in the markdown (lines 203 and 210) resolve correctly without requiring a full directory prefix. The Norwegian content in this section is grammatically correct and uses proper terminology (e.g., "miniatyrbildet", "vedlegg", "dataelement").

Likely an incorrect or invalid review comment.

content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md (4)

186-189: Section structure looks good.

The new "Image Preview" heading clearly signals the purpose, and the section comment removal is appropriate.


1-283: Ensure Norwegian documentation versions are synchronized with English updates.

The FileUpload documentation in English includes comprehensive guidance on implementing image preview functionality with the thumbnail workflow. Confirm that the Norwegian Bokmål (_index.nb.md) and Norwegian Nynorsk (_index.nn.md) versions of this documentation have been updated to match the English version, maintaining consistency across all supported language versions.


200-200: The image files image.png and image-3.png are correctly placed in the component directory and properly referenced with relative paths. This is the appropriate approach for assets in documentation. Both English and Norwegian Bokmål versions have adequate alt text for accessibility.

Likely an incorrect or invalid review comment.


253-282: Document the .NET version requirement for the primary constructor syntax, and add the missing Norwegian Nynorsk translation.

The code example uses primary constructor syntax (public class DataWriteProcessor() : IDataWriteProcessor), which requires C# 12 (.NET 8+). This version requirement should be documented in the FileUpload component reference if it's specific to this implementation. Additionally, the Norwegian Nynorsk translation (_index.nn.md) is missing from this component documentation.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md (1)

192-195: Consider standardizing prerequisite label.

The label "Pre requirements:" is understandable but non-standard. "Prerequisites:" is the more conventional term in technical documentation and would improve consistency with similar sections.

🔎 Proposed refinement
-<b>Pre requirements:</b><br>
+<b>Prerequisites:</b><br>
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d729339 and d5fb0fa.

📒 Files selected for processing (1)
  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md
🧰 Additional context used
📓 Path-based instructions (1)
content/**/*

⚙️ CodeRabbit configuration file

Check for links, markdown formatting, headings, grammar, and spelling in multiple languages (en-US, nb-NO, nn-NO).

Files:

  • content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: olemartinorg
Repo: Altinn/altinn-studio-docs PR: 2134
File: content/altinn-studio/reference/ux/components/Cards/_index.en.md:20-23
Timestamp: 2025-04-24T12:27:04.998Z
Learning: For the Altinn Studio Docs repository, component links in documentation (like ../image, ../audio, ../video) do not need to use PascalCase (../Image, ../Audio, ../Video) even if they differ from the actual directory case, as the platform likely handles case-insensitivity in path resolution.
🔇 Additional comments (3)
content/altinn-studio/v8/reference/ux/components/FileUpload/_index.en.md (3)

212-250: Clear, well-organized implementation steps.

The four-step workflow is logically sequenced, with appropriate level of detail for developers to follow. The JSON schema example is valid, and the explanation of GUID-based linking ensures frontend/backend synchronization is well understood. Past spelling issue at line 239 has been resolved correctly.


253-282: Code example is clear and educationally sound.

The DataWriteProcessor implementation correctly mirrors the four-step workflow described above. Conditional filtering for image content-type and ChangeType.Created is appropriate, and the GUID-based metadata linking (lines 270–273) directly implements step 4. The RenderThumbnail stub with comment appropriately signals that implementation depends on the chosen NuGet package.

Please verify that the IDataWriteProcessor interface signature and IInstanceDataMutator API match the version of app-lib-dotnet referenced in the related PR #1598. If the API has changed (parameter names, return types, or method names), please update the example accordingly.


186-282: High-quality documentation addition; past issue resolved.

The Image Preview section is well-structured with clear prerequisites, anatomy/preview tabs, and a thorough implementation workflow. The C# code example is readable and instructive. Grammar, spelling, and markdown formatting are consistent throughout. The past issue flagging "dedikated" → "dedicated" has been correctly resolved at line 239.

@walldenfilippa walldenfilippa marked this pull request as draft December 27, 2025 14:22
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