Upgrading Elgg 2.x Manually

Couple of questions regarding manual updates:

  1. Do I need to replace the root mod folder?
  2. Can I delete the core plugins in root mod folder and leave only the non-core plugins?
  • How did you install Elgg? Particularly do you have an engine/ directory at the root of your site?

  • (2) definitely do not do that.

    (1) will depend. In composer installs of 2.x, the root mod contains symlinks to each core plugin (in vendor/), but I bet the zip releases have regular plugin directories in mod/.

  • Elgg 2.x has two mod folders, one in the root directory and one in root/vendor/elgg/elgg/mod. Why does it have two mod folders?

    Wouldn't it be easier to do manual updates if the root mod folder only contains custom (non-core) plugins? Nobody would modify core plugins if it was setup this way.

  • I've considered this a transition state that will probably ultimately end up being as you described.  That's how Drupal is set up for example, with core modules segregated from custom/community modules.  It definitely makes upgrading easier.

  • Upgrading from Elgg 1 to 2? Then I would definitely delete the old plugin folders of the core plugins in the mod folder before the new version of Elgg is copied to the server. Only then you can be sure that no files no longer included in Elgg 2 remain. I do this always (even when updating only to a new bugfix release of Elgg). For the 3rd party plugins you need to make sure that the plugins are compatible with Elgg 2 before updating. If the plugin release is compatible, you can leave it untouched. Otherwise, you need to replace the plugin with a new release, too.

    As it has been said already, when installing Elgg 2 with composer the root mod folder will contain symlinks to the mod folder in vendor/elgg/elgg/mod. These links need to be present for the plugins to work. Likewise when installing Elgg 2 with the zip file the full core plugins in the root mod folder need to be kept.

  • @Matt yeah I assumed that was the case when I upgraded to 2.0 but I was wrong. Maybe this could be put in the milestone?

    @iionly I am now in 2.x, I was gonna upgrade to 2.1.1 but I needed some questions answered before doing so.