Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WordPress support (future goal) #38

Open
nikosdion opened this issue Jun 4, 2023 · 0 comments
Open

WordPress support (future goal) #38

nikosdion opened this issue Jun 4, 2023 · 0 comments
Labels
Planned Will work on it

Comments

@nikosdion
Copy link
Member

nikosdion commented Jun 4, 2023

This is added here as a note on what we can do in the future.

Connector

We can definitely create a connector WordPress plugin using WordPress' JSON API.

Authentication is performed with Basic Authentication. You can use either the user's password, or (since WordPress 5.6) an Application Password. Wirdly enough, application passwords can be used with or without the spaces. That is to say, both Wuij 6UI8 DGHf 8sfl X5sd cU8Y and Wuij6UI8DGHf8sflX5sdcU8Y are acceptable.

The documentation of the existing API is a bit sketchy in places.

We can [create our own endpoints and routes](see https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/).

Challenges

Wording has to be chosen carefully to no longer imply it's Joomla! only.

In places where we need to list the CMS version we should check the cmsType configuration parameter (e.g. $site->getConfig()->get('cmsType', 'joomla')) which will be automatically set to wordpress when the site is detected to be of that type. We should display the appropriate CMS name and/or icon. This may lead to language string deprecation.

The current director and update tasks for Joomla! core and extensions must filter sites by CMS type so that they only apply to Joomla! sites.

All controller tasks for refreshing information, updating Joomla!, updating extensions, interacting with Admin Tools, and interacting with Akeeba Backup must check for the CMS type. We need to write their symmetric versions for WordPress.

All controller tasks and view templates offering integration with template overrides must be limited to Joomla! sites.

@nikosdion nikosdion added the contemplating Thinking about it label Nov 6, 2023
@nikosdion nikosdion added Planned Will work on it and removed contemplating Thinking about it labels Dec 20, 2023
nikosdion added a commit that referenced this issue Apr 24, 2024
Tag items in Sites management page

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 24, 2024
Connection test split between Joomla! and WPkbdge

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 24, 2024
Update to-do

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::buildQuery can filter on cmsType

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::check: check cmsType, assign `joomla` if
nothing else is chosen.

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::getAdminUrl update for WordPress

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::fixCoreUpdateSite can't run if not Joomla

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::getExtensionsUpdateTask: should return
PluginsUpdate for WordPress

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::getPluginsUpdateTask: alias to
getExtensionsUpdateTask

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::getJoomlaUpdateTask: should return
WordPressUpdate for WordPress

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::getWordPressUpdateTask: alias to
getJoomlaUpdateTask

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
Site model, update Joomla-specific task query methods

  * [x] \Akeeba\Panopticon\Model\Site::isExtensionsUpdateTaskStuck: should use PluginsUpdate for WordPress
  * [x] \Akeeba\Panopticon\Model\Site::isPluginsUpdateTaskStuck: alias to isExtensionsUpdateTaskStuck
  * [x] \Akeeba\Panopticon\Model\Site::isJoomlaUpdateTaskStuck: should use WordPressUpdate for WordPress
  * [x] \Akeeba\Panopticon\Model\Site::isWordPressUpdateTaskStuck: alias to isJoomlaUpdateTaskStuck
  * [x] \Akeeba\Panopticon\Model\Site::isExtensionsUpdateTaskScheduled: should use PluginsUpdate for WordPress
  * [x] \Akeeba\Panopticon\Model\Site::isPluginsUpdateTaskScheduled: alias to isExtensionsUpdateTaskScheduled
  * [x] \Akeeba\Panopticon\Model\Site::isJoomlaUpdateTaskScheduled: should use WordPressUpdate for WordPress
  * [x] \Akeeba\Panopticon\Model\Site::isWordPressUpdateTaskScheduled: alias to isJoomlaUpdateTaskScheduled
  * [x] \Akeeba\Panopticon\Model\Site::isJoomlaUpdateTaskRunning: should use WordPressUpdate for WordPress
  * [x] \Akeeba\Panopticon\Model\Site::isWordPressUpdateTaskRunning: alias to isJoomlaUpdateTaskRunning
  * [x] \Akeeba\Panopticon\Model\Site::isExtensionsUpdateTaskRunning: should use PluginsUpdate for WordPress
  * [x] \Akeeba\Panopticon\Model\Site::isPluginsUpdateTaskRunning: alias to isExtensionsUpdateTaskRunning

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Model\Site::saveDownloadKey only works for Joomla

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Controller\Sites, some methods only apply to Joomla:

* fixJoomlaCoreUpdateSite
* scheduleJoomlaUpdate
* unscheduleJoomlaUpdate
* scheduleExtensionUpdate
* dlkey
* savedlkey

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
\Akeeba\Panopticon\Controller\Sites

Change queue and task type for common methods.

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
Tasks JoomlaUpdate, ExtensionsUpdate only work with Joomla!

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 26, 2024
Tasks JoomlaUpdateDirector, ExtensionUpdatesDirector must only fetch
Joomla! sites

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 29, 2024
RefreshSiteInfo task handles WP sites separately.

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Apr 30, 2024
RefreshInstalledExtensions task handles WP sites separately.

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue May 10, 2024
Improve plugin and theme info recording.

Fix filtering by CMS version to include CMS type as well.

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue May 10, 2024
Start working on Main/site_wordpress

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue May 11, 2024
UI: Main/site_wordpress
Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue May 13, 2024
Fix typos on Main/site_wordpress

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue May 13, 2024
UI Sites/item_wpupdate

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue May 21, 2024
Working on Sites/item_wpplugins

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 11, 2024
Fix WordPressUpdate task

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 11, 2024
SiteUpdateWordPress CLI

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 11, 2024
Adjust System Configuration to show WP plugins and themes

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
Implement EnqueueWordPressUpdateTrait

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
Project management

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
Add WordPressUpdateDirector to
\Akeeba\Panopticon\Model\Setup::DEFAULT_TASKS

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
 WordPressUpdateDirector task

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
TaskWordPressUpdateDirector CLI command

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
Email templates for WordPress update

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
Sites controller methods:
* scheduleWordPressUpdate
* unscheduleWordPressUpdate

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 12, 2024
CLI SiteOverridesList: decline for WP sites

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
Fix extensions display for plugins without a folder.

This kind of plugin is discouraged, but common among site integrators
who want to make quick site customisations, fast.

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
Auto-fix (some) self-inflicted API URL problems

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
PluginsUpdate task

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
CLI: SiteUpdatePlugins
Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
EnqueuePluginUpdateTrait

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
PluginUpdatesDirector task

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
CLI: task:pluginupdates:director
Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
nikosdion added a commit that referenced this issue Jun 14, 2024
Sites controller: schedulePluginUpdate

Signed-off-by: Nicholas K. Dionysopoulos <nicholas@akeeba.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Planned Will work on it
Projects
None yet
Development

No branches or pull requests

1 participant