dotCMS / dotCMS/core

Import/Export: ✨ Quick CSV Validation for dotCMS Import Endpoint

Open
#30,880 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Team : Scout Type : New Functionality
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Problem Statement

Developers and administrators face issues when uploading CSV files that do not meet certain structural and formatting standards, which can lead to errors in the system. Quick validations are required to ensure that these files are appropriate for processing without needing to parse each line, thus ensuring efficiency and integrity.

Objectives
  • Implement quick, surface-level validations for CSV files on import to ensure they meet predefined standards.
  • Validate CSV files against a defined set of criteria including format, size, and encoding without fully parsing the file.
User Statement

As a developer using dotCMS, I want quick preliminary checks performed on my uploaded CSV files to ensure they meet necessary standards before being processed, so I can avoid integration and formatting issues.

External Links

[No external links available.]

Assumptions & Initiation Needs
  • Assumes that there is a framework in place for accessing and reading file metadata and contents quickly.
  • Requires setting up parameters for file size limits and valid encoding formats that are configurable.
  • Quality Assurance Notes & Workarounds
  • QA should prepare various test cases covering different file sizes, formats, with and without the proper extensions, and files with various forms of corruption to ensure robustness.
Technical Details

No specific details about dotCMS versions or technologies other than general handling of CSV files and character encodings.

```[tasklist]

Acceptance Criteria
  • The system rejects files that do not have a '.csv' extension.
  • The system checks that the file is in a standard CSV format.
  • The system checks that the files have expected headers (and columns)
  • The system ensures that the file can be opened and is not corrupt.
  • Make sure the file has an encoding compatible with the system, such as UTF-8.
  • Make sure the file uses the correct delimiter, usually a comma.
    \`

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the dotCMS CSV import endpoint and the existing path for accessing uploaded file metadata and contents. Clarify the configurable size and encoding rules, expected headers and delimiter, and how validation failures should be reported; done means the acceptance criteria are covered by tests for valid, malformed, oversized, incorrectly encoded, and incorrectly structured CSV files.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.