matomo-org / matomo-org/plugin-GoogleAnalyticsImporter

Add supported job recovery/edit controls for interrupted imports

Open
#616 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
PHP
Stars
29
Forks
16
Avg merge
15h 12m
Merged PRs (30d)
14

Description

When a GA4 import/re-import job enters an inconsistent state, administrators currently have no supported UI way to recover it. In the reported case, the importer status contained do_not_import_latest_dates_first=true, which later caused the resume/re-import flow to reach Date::factory(NULL) and fail with:

Date format must be: YYYY-MM-DD ... : NULL

The customer was only able to proceed by directly editing matomo_option and changing do_not_import_latest_dates_first from true to false.

**Problem**
The importer stores critical runtime state in matomo_option, but recovery from a broken/cancelled/interrupted state requires database access and knowledge of internal fields. This is not suitable for normal administrators and creates support load.

**Requested improvement**
Add a recovery / advanced controls section in the Google Analytics Importer UI that allows a super user to:

inspect the current importer state for a job
reset importer status safely without manual DB edits
clear/cancel stale or empty jobs that remain visible in the UI
optionally edit selected recovery-related fields, such as:
do_not_import_latest_dates_first
future_resume_date
main_import_progress
last_date_imported
restart or resume a re-import from a validated date range

**Expected outcome**
Users can recover from interrupted imports and resume re-importing historical periods without touching the database.

**Why this matters**
This blocked a customer project under delivery pressure and forced unsupported DB changes as the only practical workaround.

Contributor guide

No contributing guide indexed for this repository

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 tracing the Google Analytics Importer UI and the importer state stored in matomo_option. Map how interrupted, cancelled, empty, resume, and re-import jobs are represented before defining the supported administrator controls. Done means super users can inspect and safely recover a job, validate date ranges, and resume imports without direct database edits.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.