Support

Akeeba Backup for Joomla!

#38752 Multisites and external data

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
4.2.9
PHP version
8.1.16
Akeeba Backup version
9.5.1

Latest post by nicholas on Monday, 20 March 2023 08:44 CDT

jmgroud
English

Hello

I come to you today following the migration of my sites to Joomla 4. I have questions about AkeebaBackup on the following 2 main points:

Multisites
There are several extensions to pass Joomla in multisites.

Method 1
Some extensions offer a "main" site and "slave" sites.
These extensions use:
- Different domain names and redirects of some folders with symbolic links
- The same database but the tables of a site are differentiated by their name (example: main_extentions, slave1_extensions, slave2_extensions, etc...).

Method 2
No multi-site extensions, database without differentiating sites by table names but by a field would be added to each record (users, articles, etc...).
Creation of standard additional fields in Joomla. A CCK must then be used to select the correct data by this field to avoid mixing data from different sites.

I am not asking you here to tell me what your preference would be on these programs, but what would be the "AkeebaBackup" and "Kickstart" features with symbolic links, table prefixes, and data selection by an additional field, so:

For both methods...
- Question 1: Save all sites at once,
- Question 2: Save only 1 or more sites but not all,
- Question 3: Restore all sites in one go
- Question 4: Restore only 1 or more sites, either from a backup with only the desired sites or from a global backup of all sites.

External databases or additional tables

2 types of external data storage:
- Databases different from the one used by Joomla
- Tables added in the same database.
Is it possible to add other databases or tables in the same data base to the backups and use "KickStart" to retrieve them?

----------------------------------------------------------------------------------------

Français

Bonjour

Je viens vers vous aujourd'hui suite à la migration de mes sites vers Joomla 4. J'ai des questions concernant AkeebaBackup sur les 2 points principaux suivants :

Multisites
Il existes plusieurs extensions pour passer Joomla en multisites.

Méthode 1
Certaines extensions proposent un site "principal" et des sites "esclaves".
Ces extensions utilisent :
- Des noms de domaines différents et des redirections de certains dossiers avec des liens symboliques
- La même base de données mais les tables d'un site sont différenciées par leur nom (exemple : main_extentions, slave1_extensions, slave2_extensions, etc...).

Méthode 2
Pas d'extensions multisites, base de données sans différencier les sites par le nom des tables mais par un champ serait ajouté à chaque enregistrement (utilisateurs, articles, etc...).
Création de champs additionnels standard à Joomla. Il faut ensuite utiliser un CCK pour sélectionner les bonnes données par ce champs pour ne pas mélanger les données des sites différents.

Je ne vous demande pas ici de m'indiquer quelle serait votre préférence sur ces logiciels, mais quelles seraient les fonctionnalités "AkeebaBackup" et "Kickstart" avec les liens symboliques, les préfixes des tables, et la sélection des données par un champ additionnel, donc :

Pour les 2 méthodes...
- Question 1 : Sauvegarder tous les sites en 1 seule fois,
- Question 2 : Sauvegarder uniquement 1 ou plusieurs sites mais pas la totalité,
- Question 3 : Restaurer tous les sites en 1 seule fois
- Question 4 : Restaurer uniquement 1 ou plusieurs sites, soit à partir d'une sauvegarde ne comportant que les sites voulus ou à partir d'une sauvegarde globale de tous les sites.

Bases externes ou tables supplémentaires

2 types de stockage des données externes :
- Bases de données différentes de celle utilisée par Joomla
- Tables ajoutées dans la même base.
Est-il possible d'ajouter d'autres bases ou d'autres tables dans la même base dans les sauvegardes et d'utiliser "KickStart" pour les récupérer ?

Le peu que je sais est occulté par le trop que je ne sais pas...

nicholas
Akeeba Staff
Manager

A regular backup would back up all of the multisites, including their database tables.

Due to the way these extensions work you CAN NOT back up or restore just a single site. It's all or nothing. At best, you'd restore the entire multisite installation and try to remove all multisites except the one you want to keep. This may not be possible. Ask the developer of your multisite extension.

Restoring this kind of multisite configuration on a different domain, subdomain, directory, or server is unlikely that it will work. These extensions hardcode their dependence on specific domains, subdomains, or paths. You need to ask its developer on what you should do when you want to restore your site on a different domain, subdomain, directory, or server.

I very strongly advise against using multisite solutions. They are never the right solution to whichever problem you are trying to solve. People have moved to WordPress because of its alleged excellent support for multisites only to find that multisites were never the solution to a problem and once you've gone multisite you're screwed for life. When I say those things people don't believe me, they think I just don't care (despite having spent well over a month of development time dissecting and trying to support multisites on both Joomla and WordPress), stubbornly go ahead implementing and multisites, and a few months or years later see that I was right. I can't stop anyone from running off a cliff. I can only tell people that this way there's a cliff and running off it will kill you.

- Databases different from the one used by Joomla

Supported since February 2010 — actually, this was the very first feature added to the Professional version to differentiate it from the free-of-charge Core version! Please read the documentation of this feature: https://www.akeeba.com/documentation/akeeba-backup-joomla/include-data-to-archive.html#multiple-db-definitions

- Tables added in the same database.

As per the documentation (https://www.akeeba.com/documentation/akeeba-backup-joomla/database-tables-exclusion.html), you only need to tell Akeeba Backup which tables NOT to back up.

To make it absolutely clear: Akeeba Backup will back up, by default, all tables in the database — unless you explicitly tell it to do something different.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

jmgroud
English

Hello Nicolas

Thank you very much for your explanation.
I suspected that a complementary extension to Joomla to manage multisites was quite "dangerous" but I wasn’t sure, it was rather an intuition...
I have been developing sites for years with Joomla and I have been waiting for multi-site management integrated into its core for a very long time but nothing...
No technical decision for this! What a shame!

WordPress?
Abandon Joomla to learn to develop with "WordPress" scares me a little... I have to give up much of my knowledge to start with a new tool.
It’s tempting but is "WordPress" easy enough to learn and then develop quickly? Master templates, articles, menus, users and access rights, as well as other additional "modules" such as blogs, forum, document management, etc... ?
Difficult decision!

Français

Bonjour Nicolas

Merci beaucoup pour vos explications.
Je me doutais qu'une extension complémentaire à Joomla pour gérer le multisites était assez "dangereux" mais je n'en n'étais pas certain, c'était plutôt une intuition...
Je développe des sites depuis des années avec Joomla et j'attends une gestion multisites intégrée à son noyau depuis très longtemps mais rien...
Aucune décision technique pour cela ! Quel dommage !

WordPress ?
Abandonner Joomla pour apprendre à développer avec "WordPress" me fait un peu peur... Je dois abandonner une grande partie de mes connaissances pour débuter avec un nouvel outil.
C'est tentant mais "WordPress" est-il suffisamment facile à apprendre pour développer ensuite rapidement ? Maîtriser les templates, articles, menus, utilisateurs et droits d'accès, ainsi que d'autres "modules" additionnels comme les blogs, forum, gestion documentaire, etc... ?
Décision difficile !

Le peu que je sais est occulté par le trop que je ne sais pas...

nicholas
Akeeba Staff
Manager

Multi-sites are not dangerous, they have pitfalls. The major pitfall is that they lock you into a specific site configuration which is really hard to undo if you decide subsides are best managed differently.

Real world use case (personal experience from several years ago): an NGO (Non-Governmental Organisation) had their main site, and a "special" site for an EU-funded project. The special site was meant to contain the updates on the project and have a searchable directory. I can't go into specifics for obvious reasons. That was back in the early Joomla 1.5 times. We implemented it as a multi-site. The EU funding for that project was over within a couple of years. We needed to upgrade the main site to Joomla 1.7. The multi-site solution we were using was not yet available for that Joomla version. I ended up building the "special" site from the ground up because we needed to have it on-line for another few years. Then I had to carefully undo the multi-site setup on the main site before I could "upgrade" it — back in the day this meant transferring content to a new Joomla 1.7 site. It was far more tedious than if I had two separate sites to begin with.

I have been developing sites for years with Joomla and I have been waiting for multi-site management integrated into its core for a very long time but nothing...

This is not true. There have been recurring discussions going as far back as 2009; possibly earlier.

The vast majority of people who were talking about multi-sites were thinking about one of the following:

  • Multiple languages, one language per site. This is why Joomla got the multi-language feature in Joomla 1.6 (released late 2010) and polished it by Joomla 3.0 (released late-2012).
  • Sub-sites, e.g. for different regions or for landing pages. This has always been possible in Joomla using different menus, and assigning modules and templates per menu item.

The minority of people who wanted two completely separate sites sharing the same installation had never thought about security or what happens if you need to disengage sites.

Meanwhile, we've seen these problems in WordPress. If you have a multi-site it only takes one extension used in one of the sub-sites to have a security vulnerability to hack the entire multi-site installation.

Disengaging sites is outright impossible in WordPress because they have figured out that doing that is not something you can reasonably define and implement programmatically. So they never implemented it. Plain and simple. In fact, once you convert an installation to a multi-site installation you can never go back to a single-site installation — it even changes the database structure. So, yeah...

WordPress users, after a fairly short honeymoon phase, have largely turned their back on multisite installations, using them only to implement multi-language (which Joomla has supported in a far more elegant manner for well over a decade). Those who are new to WordPress and use the feature enthusiastically always hit the brick wall of needing to disengage sites, discovering that this actually means they need to reimplement from scratch that site, just transferring content (woe to them if there's more than core WordPress content).

Do we really want this in Joomla? I would say no, we do not. Multi-sites is a feature that looks good on paper and sucks hairy balls in practice. In my experience, if the answer is "multi-sites" then the question was formed in a wrong and misleading way.

Abandon Joomla to learn to develop with "WordPress" scares me a little... I have to give up much of my knowledge to start with a new tool.

I wouldn't do that either. I have found that trying to build a WordPress site equivalent to a non-trivial Joomla site takes a heck of a lot more development time, or costs 5x to 10x more, or both. Reimplementing our site on WordPress would take 6 months of development, $3000 for software, and between $1000 and $2000 every year for software fees alone. We would not be able to have cross-product discounts, Download IDs, built-in software updates, and most of the ticket system features we rely on every day. It's far cheaper for us to use Joomla, even taking into account the amount of time we are spending maintaining our custom extensions. Insane, isn't it?!

The one selling point WordPress used to have (site builders, like Elementor) is not really a selling point! These things are absurdly expensive Software as a Service you need to pay every month, for each and every site you use it on. The equivalent software in Joomla is a heck of a lot cheaper and you only pay for it yearly, regardless of how many sites you have.

It’s tempting but is "WordPress" easy enough to learn and then develop quickly? Master templates, articles, menus, users and access rights, as well as other additional "modules" such as blogs, forum, document management, etc... ?

No, it's not easy unless you use it as a glorified modern version of Dreamweaver. That is to say, it only makes sense if you're going to be visually designing pages either within the limits of what the core Block Editor can do, or knowing that you need to spend a ton of money, month in and month out, for Elementor.

Forget about access rights; you need a third party plugin for that. If you want fine grained access you will have to write your own plugins in PHP to handle that.

There are no template overrides like you have in Joomla. Customising the output is far more involved and typically requires writing PHP code, JavaScript code, CSS, or a combination of the above.

There is no such thing as a "module" in Wordpress. The closest thing is "widgets" but they are always visible, globally. There is no per-menu-item assignment like you have in Joomla. This is why they end up using the block editor and site builders like Elementor, to manually and tediously implement what Joomla had allowed with modules ever since it was called Mambo back in 2003 — twenty years ago... If you want to write custom blocks you need to learn how to use React.js as well.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

jmgroud
English

Thank you very much for your answer
It is clear, precise, and you took a long time to answer me.
I hope that all of your comments will also serve other people...

français

Merci beaucoup pour votre réponse
Elle est claire, précise, et vous avez pris beaucoup de temps pour me répondre.
J'espère que toutes vos remarques serviront également à d'autres personnes...

Le peu que je sais est occulté par le trop que je ne sais pas...

nicholas
Akeeba Staff
Manager

BTW, I just read on Facebook that the German community is woking on multi-sites for Joomla. I don't see that being included in 5.0 considering we are 7 months from its release (therefore a month before beta freeze) but maybe in a later version. I don't know what it will look like or whether it will have the same problems as WordPress. I guess we'll see.

Have a great day!

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!