dotCMS / dotCMS/core

Integrate custom starter download functionality from script into core codebase

Open
#31,138 0 comments 0 reactions 1 assignee View on GitHub

@dcolina is already working on this.

Since Jan 15, 2025.

OKR : Evergreen Team : Platform
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Parent Issue

No parent issue identified.

User Story

As a developer, I want the functionality implemented in the script 40-custom-starter-zip.sh (downloading the custom starter) to be moved into the core codebase. This includes both the download process and the handling of the ZIP file, ensuring that the functionality is integrated into core rather than existing as a separate script.

Problem Statement

The script /srv/40-custom-starter-zip.sh currently implements the following functionality:

  1. If $CUSTOM_STARTER_URL is set, it uses curl to download the custom starter from the URL to /data/shared/custom_starter.zip.
  2. Sets the DOT_STARTER_DATA_LOAD variable to the ZIP file's path.
  3. Logs the message "Using default starter" to the console if no custom starter is provided.

While functional, this process exists outside the core codebase and should be embedded into the core to streamline handling and caching of the custom starter.

Acceptance Criteria
  1. Migrate the functionality of 40-custom-starter-zip.sh into the core codebase.
  2. Ensure that:
    • $CUSTOM_STARTER_URL is properly handled within core.
    • The custom starter ZIP file is downloaded and cached correctly.
    • The DOT_STARTER_DATA_LOAD variable is set appropriately.
    • Proper logging is implemented when no custom starter is provided.
  3. Validate that the new implementation matches the behavior of the existing script.
Proposed Objective

Core Features

Proposed Priority

Priority 2 - Important

dotCMS Version

Applicable to the current implementation.

External Links... Slack Conversations, Support Tickets, Figma Designs, etc.

No external links provided.

Assumptions & Initiation Needs
  1. The existing functionality in 40-custom-starter-zip.sh is the definitive reference for expected behavior.
  2. The new implementation in core should maintain the same logic and outcomes as the script.
Quality Assurance Notes & Workarounds
  • Test scenarios where $CUSTOM_STARTER_URL is set, not set, or invalid to ensure robust handling.
  • Validate logging outputs for both custom and default starter cases.
  • Verify that the ZIP file is correctly downloaded and processed in all relevant workflows.
Sub-Tasks & Estimates
  • Migrate the 40-custom-starter-zip.sh functionality into the core codebase.
  • Implement handling and caching of the custom starter ZIP within core.
  • Test the new implementation to ensure it matches the script's functionality.
  • Update documentation and remove references to 40-custom-starter-zip.sh where applicable.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.