New Updater Breaks Plugins

I’ve been using phpList for over a decade now, and I was excited to see the auto update option finally added. However, when I tried to update using it I found that it worked, but broke all my plugins. This left me basically doing the stuff I used to always have to do whenever I upgraded, mostly using FTP or the command line to copy over my plugin directory from a backup copy (and logo I might add–am I the only person who wants to have a custom logo for my ad clients?).

So, I guess what I’m asking here is:

  1. Are there plans to make the updater not break plugins, so it will be a truly full update, without having to do all the higher level stuff to actually upgrade?
  2. Is it possible to add an upload custom logo in the dash board or other area?

Once these two things are done I would say that you have a fully functional auto updater.

1 Like

Hi @keeenone,
At this point, the way to think of upgrades is that it ‘substitutes’ the ‘lists’ directory with the new code.

One way to keep your plugins and images, etc., is to create a directory outside of your phpList installation, and tell phpList about the location.

Here are some settings you can put in your config.php file to tell the system about your directories for plugins and images, etc.

# If you want to upload images in the editor, you need to specify the location
# of the directory where the images go. This needs to be writable by the webserver,
# and it needs to be in your public document (website) area
# the directory is relative to the webserver root directory
#   eg if your webserver root is /home/user/public_html
#   then the images directory is /home/user/public_html/uploadimages
# This is a potential security risk, so read README.security for more information
define('UPLOADIMAGES_DIR',"uploadimages");

## for the above, you can also use subdirectories, for example
#define("UPLOADIMAGES_DIR","images/newsletter/uploaded");

# you can create your own pages to slot into phpList and do certain things
# that are more specific to your situation (plugins)
# if you do this, you can specify the directory where your plugins are. It is
# useful to keep this outside the phpList system, so they are retained after
# upgrading
# there are some example plugins in the "plugins" directory inside the
# admin directory
# this directory needs to be absolute, or relative to the admin directory

#define("PLUGIN_ROOTDIR","/home/me/phplistplugins");

# uncomment this one to see the examples in the system (and then comment the
# one above)
define("PLUGIN_ROOTDIR","../../plugins");

# the attachment repository is the place where the files are stored (if you use
# ALLOW_ATTACHMENTS)
# this needs to be writable to your webserver user
# it also needs to be a full path, not a relative one
# for secutiry reasons it is best if this directory is not public (ie below
# your website document root)
$attachment_repository = '/tmp';

I do believe that you can upload a custom logo (on the “config”, “Settings” page)

1 Like

Your reply is very helpful for my situation, so thank you for it. I am able to now use a combination of FTP and command line to go in an manually copy my plugins to a backup directory, then set the path in my config, and do the same for the image directory.

Now for the, however! I’ve been doing this for well over 20 years, so it’s a snap for me. Why not write your auto updater to detect any 3rd party plugins, then create a back up directory of them and just do this for them? You can even ask the question “Do you want to back up the 3rd party plugins so they will work after you upgrade?” I recommend the default value be yes!

So I am happy and grateful to have a solutions, but my reply here is aimed directly ad your developers–please read!

1 Like