upgrading from 1.5 filestore problem

I'm upgrading my fitness community http://www.fitnesswelt.com/community/ from 1.5 to 1.8

It's a plenty of work, and now I have problems with the filestore. The ElggDiskFilestore has a method to deliver the filename on drive:

$this->getFilenameOnFilestore($file);

and I see, the filestore structure in 1.5 was very different from new version (I don't know when this was changed).

The is an 1.5 url:

...fw-uploads/f/w/_/t/o/fw_torwe/groups/45191large.jpg

and this is the same for 1.8:

...fw-uploads/2009/09/14/289/groups/45191large.jpg

There is a method makeFileMatrix, which uses the owner guid instead of the owners user name to build the subdirectories in the filestore.

Is there any conversion tool for the old filestore to the new directory structure? I could write my own, but that will take me some time. I think, elgg had to do this in one of the prior release changes, and it could be helpful to perform that change before upgrading to 1.8

Has anyone an idea?

 

  • Is there any conversion tool for the old filestore to the new directory structure?

    This should happen automatically when you run the Elgg upgrade script.

  • Unfortunatly it did not. Do you mean the upgrade script from latest 1.8 ?

  • OK, I will rollback and try to upgrade again, this time I use my LINUX instead of my windows dev copy.

  • The data directory structure based on user creation date (2009/09/14/...) was actually introduced in Elgg 1.7. Are you sure that the upgrade process finishes successfully?

    Have you tried upgrading first to 1.7 and then to 1.8? (AFAIK the upgrade process should however work regardless of the original version.)

  • The change in the data directory structure was introduced with Elgg 1.7. When updating a site from a pre-1.7 version the data directory should get re-structured automatically when running upgrade.php. If this fails when upgrading a site directly to the latest Elgg 1.8 version there might be a bug somewhere - which would be worth to be reported on github.

    I remember someone asked if it would be possible to upgrade a site from Elgg 1.0 to 1.8 a few months back. I don't remember anymore if he had a problem with upgrading, too. I don't think he ever reported back if it worked or not. But it was suggested to do the upgrade in steps if it fails to work in one go. So, upgrading 1.5 -> 1.6 -> 1.7 -> 1.8 might work better. If this works it would still be nice to tell the core-devs about the failed direct upgrade.

  • Thank you all, I restarted the upgrade from 1.5 to 1.8 on a LINUX machine.

    As I noticed, on my first try on a windows machine, the directories where created, but the files where missing.

    My try on a LINUX machine worked.

    But both times a had an error (don't remember the ID, googeling for this error did not bring up any results). If I reload the upgrade.php, the message appeared, that there is already an upgrade in progress.

    I deleted the new created lock table and was able with a reload to perform the upgrade.

    But I still had and have many issues. For example I have issues with Entity properties like title with the UTF 8 charcters - (german) - I wonder why some data like description are displayed well and other like title and tags are not.

    I had an issue withe the group icon, it's to long here to describe I think.

    I had another issue with elgg not using the correct database - I don't know exactly where the problem was coming from. In fact I'm using another mysql resource additional to the elgg ressource, and elgg contacted (sometimes) that instead of the database, given in the settings.php. I realised this because I had an sql error of missing field admin in the elgg_userser_entitiy table (true, not existing in 1.5) This issue is not a big problem for me, because i will rename the database back to old database name, when I'm going live with this. But that's crazy.

    What I also have to do is to create a forward mapping for old URL's like /mod/blog/everyone.php to /blog/all

    and some more stuff....