Skip to content

docs(building-sites/extras): fact-check pass, en/ru sync - #678

Open
Ibochkarev wants to merge 2 commits into
modxorg:3.xfrom
Ibochkarev:docs/extras
Open

Ibochkarev wants to merge 2 commits into
modxorg:3.xfrom
Ibochkarev:docs/extras

Conversation

@Ibochkarev

@Ibochkarev Ibochkarev commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Fact-check pass of the section building-sites/extras against the code of the MODX 3.x branch (a7096dbe1).

The section was written for MODX 2: half of the interface it names does not exist any more. 39 discrepancies were found — 7 PHANTOM, 11 STALE, 3 ORPHAN, 15 UNDOCUMENTED, 3 UNVERIFIABLE. All of them are closed.

Fixed

  • "Add New Package" does not exist. In 3.x the Download Extras button is a split button whose menu holds Select a Provider, Search Locally for Packages and Upload a package.
  • "Scan Local" is Search Locally for Packages.
  • "Revert" is not a button of a package. To go back to a previous version, pick the mode Restore in the window of the uninstall (preexisting_mode = 2), or delete the version in the card of the package.
  • "Add New Provider" is the button Create.
  • The right-click menu of a package is gone — the context menu of the grid is disabled (disableContextMenuAction: true). The actions are the buttons of the row: Install, Uninstall, Reinstall, Update, Check For Updates, Remove, View Details.
  • "Next" in the window of the provider is Save and go to Package Browser.
  • A provider is not a JSON file. It is an XML-REST service: the answers are parsed with simplexml_load_string, the request carries Accept: application/xml, and the provider is checked on save with GET <service_url>/verify.
  • The URL of the official provider is https://rest.modx.com/extras/, and it ships with MODX 3.x — not with 2.0.0.
  • Only cURL is checked in the manager, not the PHP sockets; the requests to the providers go through the PSR-18 client.
  • Remove does more than deleting the archive: it uninstalls the package, then deletes the record, the unpacked directory core/packages/<signature>/ and the archive. Uninstall rolls the elements back and leaves the archive, the directory and the record in place.
  • Packages are downloaded one at a time in 3.x.
  • The licence is shown on a tab of the pre-install panel and confirmed with Continue, not with an Agree control.

Added

The full reference: the actions of a row and when they show, the card of a package with its uploaded versions, the dependencies and the setting abort_install_on_unsatisfied_dependency, the upload of an archive, Purge Old Packages, the permissions (workspaces, packages, providers, file_upload), the events OnPackageInstall / OnPackageUninstall / OnPackageRemove, the settings and the table of the processors.

Screenshots

Five screenshots of the MODX 2 panel are gone from the repository — they showed the grid of the providers, the wizard of the provider, the wizard of the download, the setup options and the uninstall. The frames that replace them are named in .temp/docs-review/media-todo.md; they need a test stand of MODX 3. The four screenshots of the Package Management page that are of MODX 3 stay, and two of them are now in the text.

Defects of the core

Reported in modxcms/revolution:

  • #17098 — modTransportManager::getProviders() filters on a column disabled that the table transport_providers does not have (the flag is active), so the query fails with Unknown column 'disabled'.
  • #17099 — modTransportManager::scanForUpdates() and scanForPackages() call scanForUpdates() and scanForPackages() on the provider, and modTransportProvider has no such methods.
  • #17100 — the option default_provider is read by the page of Package Management, but it is not registered as a system setting, so it cannot be set in the manager.

Locales

The Russian pages follow the English ones: the same headings, the same tables with the same number of rows, the same wording. The link to the section of the dependencies carried the anchor #зависимости, which the site cannot resolve — it transliterates the Cyrillic — so it is #zavisimosti now.

Checks

  • markdownlint-cli@0.18 (the version used by CI): 0 issues
  • Every link and every anchor of the six pages resolves, checked with the slugifier of the site
  • No markers FACT?, EXAMPLE? or MEDIA are left in the files

OpenCode and others added 2 commits October 21, 2026 10:48
… the RU locale

Three markers of the editorial pass are resolved against the code:

- the actions of a row. **Uninstall** rolls the elements of an installed
  package back, **Reinstall** runs the installation again over it — both
  call the same handlers, but they do different things. **Update** shows
  when the setting `auto_check_pkg_updates` is on and the provider has a
  newer version; **Check For Updates** shows when the package came from a
  provider and the setting is off, so MODX does not know of a newer
  version yet (`Processors/Workspace/Packages/GetList.php`, the method
  `checkForUpdates()`);
- `OnPackageInstall` carries the `package` and the `action`: `install`
  for the first installation, `upgrade` when a newer version is
  installed over an older one (`Processors/Workspace/Packages/Install.php`).

The setting `abort_install_on_unsatisfied_dependency` is added to the
table of the settings.

The Russian pages follow the English ones: the same headings, the same
tables and the same wording. The link to the section of the dependencies
carried the anchor `#зависимости`, which the site cannot resolve — it
transliterates the Cyrillic — so it is `#zavisimosti` now.
@Ibochkarev
Ibochkarev requested a review from Mark-H October 21, 2026 04:55
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