fix: wrap sync task fields in <fields name="params"> + fieldset task_params

Joomla's scheduler requires task form fields inside
<fields name="params"><fieldset name="task_params"> to persist params.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan Miller
2026-05-31 14:01:15 -05:00
parent 280c52fa05
commit c635a5ac98
@@ -1,69 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="sync_params" label="PLG_TASK_MOKOWAASSYNC_FIELDSET_TARGET">
<field name="target_url" type="text"
label="PLG_TASK_MOKOWAASSYNC_TARGET_URL_LABEL"
description="PLG_TASK_MOKOWAASSYNC_TARGET_URL_DESC"
hint="https://demo.example.com" />
<field name="api_token" type="text"
label="PLG_TASK_MOKOWAASSYNC_API_TOKEN_LABEL"
description="PLG_TASK_MOKOWAASSYNC_API_TOKEN_DESC"
hint="Joomla API token for the target site" />
<field name="api_user" type="text"
label="PLG_TASK_MOKOWAASSYNC_API_USER_LABEL"
description="PLG_TASK_MOKOWAASSYNC_API_USER_DESC"
default=""
hint="Optional — API user on the target site" />
<field name="sync_articles" type="radio" default="1"
label="PLG_TASK_MOKOWAASSYNC_SYNC_ARTICLES_LABEL"
description="PLG_TASK_MOKOWAASSYNC_SYNC_ARTICLES_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_categories" type="radio" default="1"
label="PLG_TASK_MOKOWAASSYNC_SYNC_CATEGORIES_LABEL"
description="PLG_TASK_MOKOWAASSYNC_SYNC_CATEGORIES_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_menus" type="radio" default="1"
label="PLG_TASK_MOKOWAASSYNC_SYNC_MENUS_LABEL"
description="PLG_TASK_MOKOWAASSYNC_SYNC_MENUS_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_modules" type="radio" default="0"
label="PLG_TASK_MOKOWAASSYNC_SYNC_MODULES_LABEL"
description="PLG_TASK_MOKOWAASSYNC_SYNC_MODULES_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_images" type="radio" default="1"
label="PLG_TASK_MOKOWAASSYNC_SYNC_IMAGES_LABEL"
description="PLG_TASK_MOKOWAASSYNC_SYNC_IMAGES_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_files" type="radio" default="0"
label="PLG_TASK_MOKOWAASSYNC_SYNC_FILES_LABEL"
description="PLG_TASK_MOKOWAASSYNC_SYNC_FILES_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_media" type="radio" default="0"
label="PLG_TASK_MOKOWAASSYNC_SYNC_MEDIA_LABEL"
description="PLG_TASK_MOKOWAASSYNC_SYNC_MEDIA_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
</fieldset>
<fields name="params">
<fieldset name="task_params" label="Sync Target">
<field name="target_url" type="text"
label="Target Site URL"
description="Base URL of the remote Joomla site to sync to."
hint="https://demo.example.com" />
<field name="api_token" type="text"
label="API Token"
description="Joomla API token (Bearer token) for the target site."
hint="Joomla API token for the target site" />
<field name="api_user" type="text"
label="API User"
description="Optional username on the target site."
default=""
hint="Optional" />
<field name="sync_articles" type="radio" default="1"
label="Sync Articles"
description="Delete all articles on target, then push copies from this site."
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_categories" type="radio" default="1"
label="Sync Categories"
description="Push content categories to the target site."
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_menus" type="radio" default="1"
label="Sync Menus"
description="Delete all menu items on target, then push copies from this site."
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_modules" type="radio" default="0"
label="Sync Modules"
description="Push site modules to the target."
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_images" type="radio" default="1"
label="Sync Images (/images/)"
description="Sync the /images/ directory to the target site."
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_files" type="radio" default="0"
label="Sync Files (/files/)"
description="Sync the /files/ directory to the target site."
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="sync_media" type="radio" default="0"
label="Sync Media (/media/)"
description="Sync the /media/ directory to the target site."
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
</fieldset>
</fields>
</form>