5.4.0.2 is now available

Permalink
Just wanted to let everyone know that the first public maintenance release for concrete5 5.4.0 is now available.

http://www.concrete5.org/download/...

This update doesn't change any DB tables – it does fix a number of annoying bugs that were present in 5.4, however. You can read what it fixes and changes here:

http://www.concrete5.org/documentation/background/version_history/5...

If you host with us we'll be making the update available through our new centralized update process within the next few days.

Thanks!

andrew
 
hursey013 replied on at Permalink Reply
hursey013
I know 5.4 is suppose to have a more streamlined update process - does that come into play here or would I apply this update the same way I applied the 5.3.3.1 to 5.4.0 update?
andrew replied on at Permalink Reply
andrew
Good question!

If you're updating from pre 5.4.0, you'll need to update the same way you normally do.

If you're updating from 5.4 onward, however, and running your own site, you should be update through the dashboard.

1. Sign in to your site
2. Visit the dashboard
3. Click on System > Update
4. if you see a notification that 5.4.0.2 is available, you can click to download (Note: this requires that the updates/ directory in your root is writable by the web server.)
5. When the update is downloaded, you may apply when you wish. The database will only be refreshed and the update will only be applied when you actually click "apply" - NOT when you download.

NOTE: If you don't see the 5.4.0.2 download link, or the updates page in the dashboard doesn't list it as available, then you'll have to wait - our update checker only runs once every couple of days (so as not to bog down the dashboard loading process.)

An exception to this is if you're hosting with us. Since we use centralized concrete installs, the "download the update from concrete5.org and update" is disabled, and you'll have to wait until we unpack 5.4.0.2 on our server and put it in the updates directory, which should make it available for you to update to.

This update process is pretty new, but I've tested it on a couple of sites and it seemed to work without a hitch. Please let me know if you encounter any trouble, but hopefully this should usher a new era of much easier site updates.
elyon replied on at Permalink Reply
elyon
Awesome!

I love the new auto-update feature! Some of the fixes you listed also seem perfect for some of the sites I've developed. One in particular had some sitemap problems after lots of page duplicating and aliasing, so it sounds like this should take care of it.

Now I'm curious ... I know that in the past when I was manually updating a site, if an upgrade failed I could copy the old version of Concrete back over the /concrete directory and it would come back. What happens if an update fails using the auto-upgrade feature? Are you still in the old version?

Not that this is usually a problem. I have one Windows server in particular with all the error messages turned off that's given me a bunch of trouble. I got 5.3.3 installed by putting on my host then copying it over, and it failed to upgrade to 5.4, so I just copied it back to my host again. Just curious.

Thanks for your help and improvements! Once again, I love the auto-update feature ... very slick, and SO much faster than downloading the new ZIP then using FTP to upload it.
Mnkras replied on at Permalink Reply
Mnkras
update worked fine for me! 5.4.0.1 to 5.4.0.2
mdzoidberg replied on at Permalink Reply
mdzoidberg
Once you download and run the update thru the Dashboard update link a new define is written to your config/site.php file, the define is DIRNAME_APP_UPDATED so if anything fails just uncomment this new define on your config/site.php and you will be back to use the previous version. The define just tells the system what C5 core files folder to use. (note: I updated from 5.4)

I must says, this way of updating ROCKS! C5 keeps getting better and better. Thanks Guys.
ThemeGuru replied on at Permalink Reply
ThemeGuru
Just updated.

Wicked upgrade system.

Keep up the great work c5 team!

Cheers,

Thomas
chrisgrande replied on at Permalink Reply
chrisgrande
It seems sitemap order and reverse site map order no longer work in autonav, they are just ignored. Also one page of my site vanished from the autonav, for some reason it set itself to needing approval.
cssninja replied on at Permalink Reply
cssninja
The update went smoothly and it's fast and great way to update.
But...
I have the same problem with the navigation.
The order in sitemap is correct, but in auto-nav is completly different. When I change page position in sitemap - in auto-nav nothing happens.
It seems to me that is a bug.
You can see screenshots in attachments.
cssninja replied on at Permalink Reply 2 Attachments
cssninja
You can see screenshots in attachments.
chunksmurray replied on at Permalink Reply
chunksmurray
I am also having this issue with the sitemap and auto-nav.

Deleting a re-adding the auto-nav block doesn't make any difference.

Interestingly this is not happening on a site I manually updated, only on one where I used the auto update function.
cssninja replied on at Permalink Reply
cssninja
As for me, I just did an update and auto-nav lost order.
chunksmurray replied on at Permalink Reply
chunksmurray
Playing around with this further, I found that if you add the autonav controller.php from 5.4.0 to /blocks/autonav, then the auto-nav obeys both the sitemap and reverse sitemap order.

So I guess the changes to the autonav controller.php in this latest update are doing something funky?
chrisgrande replied on at Permalink Reply
chrisgrande
Here are the changes between the twohttp://cl.ly/STh 5.4 on the left, 5.4.0.2 on the right. I'm going to see if I can figure it out, but I'm no PHP guru.
chrisgrande replied on at Permalink Reply
chrisgrande
Appears they are getting the page list now with the PageList() class instead of the query they were using before. However it doesn't appear to return the pages in the correct order.
So after line 446:
$pl = new PageList();

I added:
$pl->sortByDisplayOrder();

Which sorts the list ascending.

This doesn't fix the "reverse site map order" option. I looked at the code for the sorting and as it's commented: // Joshua's Huge Sorting Crap it's a tad on the heavy side. It also appears to ignore sorting anything when you use the site map options, in the code it says:
// for display order? this stuff is already sorted...

I'm not even sure the reason for all the sorting code since the page_list.php controller appears to contain all the needed sorting functions.
cyandesigns replied on at Permalink Reply
It is totally ignoring the sitemap order and is ordering them by the date/time they were created...

However - changing the date/time in the page properties doesn't seem to effect the page order. They are stuck where they are.

If "Remove from Nav" is selected though, that will hide it.
andrew replied on at Permalink Reply
andrew
A couple notes.

1. Thanks everyone who's taken this update for a spin and for the nice responses about the new update system.

2. The update system does indeed download the update and then, when you choose, adds a pointer to the new update to your config/site.php. This directory is then your new "core" directory. That means that you can remove the pointer and be back at your original core. A word of advice, though: this WON'T undo any database changes the update process made. So still make sure to have backups.

3. Yes, there is a bug in our autonav block. We changed it to use the PageList class rather late in our development cycle and we didn't notice the problem. Additionally, people remarking about the bloated strangeness of the code are right: there was once a purpose for the in-PHP sorting that was taking place, but I have really no idea what it was ;-)

I'm streamlining this class and fixing this bug. Here is a new autonav controller.php file. Additionally, this has uncovered a bug in the PageList class in the sortByDisplayOrderDescending bug. That will be fixed as well (although most people don't use this option.)

Please let me know if this updated controller fixes your issues (and whether it introduces new ones.)
andrew replied on at Permalink Reply 1 Attachment
andrew
Here is the file!
cyandesigns replied on at Permalink Reply
This seems to work perfectly.

Thanks Andrew!
chrisgrande replied on at Permalink Reply
chrisgrande
Seems to fix the main issue, I'll kick it around to see if I can find anything else. Nice bit of housekeeping in there, great work. Thanks.
andrew replied on at Permalink Reply
andrew
Heh. 5.4.0.3 will be appearing shortly to formally address these issues. Barring some sort of catastrophe, it is the last update for the day ;)
JimboJetset replied on at Permalink Reply
JimboJetset
Update Says I have update available, click to download...

After downloading I get the message "An update is available. Click below to update to 5.4.0.3"

I click the update button and once complete I get "Upgrade to 5.4.0.2 complete!" !!!!

I go back to the Update tab in Settings and I see "An update is available. Click below to update to 5.4.0.3"

I click the update button and once complete I get "Upgrade to 5.4.0.2 complete!" !!!!

..... you get the idea.... I get pushed round this loop ad-infinitum...

No too worried... there's no obvious adverse effects... just thought you'd like to know.
mdzoidberg replied on at Permalink Reply
mdzoidberg
Same here, it seems like the upgrade does not remove the previous define DIRNAME_APP_UPDATED from config/site.php, instead a second define also named DIRNAME_APP_UPDATED is created so you end up with 2 defines DIRNAME_APP_UPDATED on your config/site.php file but the first define created by the previous upgrade obviously takes precedence.

I just manually removed the previous define from config/site.php and now shows as upgraded, fyi.
chrisgrande replied on at Permalink Reply
chrisgrande
Hmm.. mine worked but I had manually applied 5.4.0.2. I'm not sure I like how it downloads an entire copy of concrete into the updates directory, I figured it would just be the concrete folder itself.
Metaglyphics replied on at Permalink Reply
Is there a list anywhere of what files get updated? When I install the update, it breaks my site navigation, converting it back into a bullet list, eschewing all the css formatting.

Thanks
Remo replied on at Permalink Reply
Remo
it seems like the version number hasn't been updated in the code.. As far as I can see it, the update should be successful, but it wants to upgrade again because of the old number..
andrew replied on at Permalink Reply
andrew
To everyone having issues with upgrading once and then upgrading again - there is an issue with upgrading initial concrete5 5.4.0 sites, in that the initial upgrade from concrete5 5.4.0 to 5.4.0.2 created a PHP definition that has an extra space in it. It looked like this:

<?php define()...etc...?>

(there are two spaces after <?php above)

The 5.4.0.3 upgrade routine doesn't look for this space, therefore doesn't replace the initial define() statement, and adds it at the end. The second define() isn't honored then, since you can only define() something once.

The fix for this is pretty easy – just remove the second define(), change the first define() to only include one space at <?php, and re-run the update. Obviously, our regular expression which finds the initial DIRNAME_APP_UPDATED constant and removes it needs to be more robust. We're working on that.
chrisgrande replied on at Permalink Reply
chrisgrande
Could the updater also delete all the extra files/folders that come down with the update, since they aren't needed?
chunksmurray replied on at Permalink Reply
chunksmurray
5.4.0.3 working great, thanks for the quick fix Andrew.
olay replied on at Permalink Reply
olay
Anyone else having problems with breadcrumb menus in auto-nav since update? (i've updated to 5.4.0.3)

No matter what combination of options i try in the auto-nav i cannot achieve a Parent>child>child menu...

And a site i had just installed with working breadcrumbs has now lost those and is only displaying one tier.

The breadcrumb now only appears to be able to show one tier in the page hierarchy depending on what level you select in the options, and regardless of how many levels you tell it to display...

(FYI I had issues with the sitemap order being displayed in .0.2 but that was fixed in .0.3)
petebp replied on at Permalink Reply
I have exactly your problem!!!
The auto-nav block doesn't display anymore the pages organized like before.

And I also noticed that the search "beneath another page" in fact works for whole site. I'm not able anymore to define the areas where search.
htheunissen replied on at Permalink Reply
htheunissen
I've the same problem with a normal menu-tree with sub-menu navigation (Sitemap).
cssninja replied on at Permalink Reply
cssninja
Yes, with breadcrumbs is something wrong.
I have new 5.4.0.3 installation, and when I add auto-nav with breadrumbs template, I see only page with first level.

My site map:
Home
|- About
|--- Subpage

Breadcrumbs on site Subpage:
Link to Home

Breadcrumbs on site About:
Link to Home

Breadcrumbs on site Home:
Home - without link


I think it's another bug in update.
Andrew, please help us ;)
andrew replied on at Permalink Reply
andrew
yes, this is a known issue. To fix this in the meantime, you can download the original concrete 5.4.0 from our downloads page, and replace 5.4.0.3's concrete/blocks/autonav/controller.php with the original 5.4.0 autonav controller.
clownzilla replied on at Permalink Reply
Does this fix only work for the breadcrumbs? I've tried it with the autonav "relevant sub-pages" option and am still experiencing issues. After controller.php I even tried replacing the entire autonav folder with no luck.

Any temporary fix for this while it's sorted out?


*UPDATE* Nevermind, your temp fix worked perfectly. Didn't realize 5.4.0.3 was running off the updates folder, just needed to copy the older controller.php into there. Thanks!
cssninja replied on at Permalink Reply
cssninja
Thansk Andrew,
fix works correctly, I knew that you can help :)
petebp replied on at Permalink Reply
not worked for me... :( I'll wait for the next update...
andrew replied on at Permalink Reply
andrew
Make sure you're modifying the right folder. When you upgrade concrete5 in place the updated concrete5 folder is actually being stuck in the updates/ folder in your root, rather than the concrete/ directory.
petebp replied on at Permalink Reply
Thank you very much... Now it worked!

But actually I don't understand how concrete5 works... When I click update from the dashboard, it automatically updates by downloading the new files in the updates folder...
So now if I want to updated manually I have to put always the 6MB concrete update in that folder without overwriting the existing files of the original folder structure?
If there will be new updates should I delete previsious update folders?

(P.S. Is the "search in selected areas" a known issue?)
andrew replied on at Permalink Reply
andrew
There are two ways to update.

1. Download the update manually, unzip it, move its concrete/ folder over the original concrete/ folder, and visithttp://yoursite.com/index.php/tools/required/upgrade/,... and click through.

2. Update through the dashboard, which downloads the zip for you, unpacks it to updates/, and adds a pointer to your configuration file which makes your system use the new core (found in updates/) and then runs the upgrade URL for you.

It's really just an additional option. If you're not comfortable running the auto update or keeping multiple cores around, you can download the update and proceed with manual upgrade as in #1 - it should still work and still work forever. This is just an additional option. We did it this way because we wanted an easy-ish way to revert a core if something goes wrong (although there's currently no way to revert database changes easily.)
moth replied on at Permalink Reply
moth
* question solved as per Andrews post