C5 and eAccelerator approving multiple versions at once?
Permalink
Hi, and sorry for the long post, but...
I'm not sure whether this is a bug in C5 or eAccelerator, a config mishap or an error in the database, but I noticed that if I turn on eAccelerator bizarre things happen with versioning.
I added all the pages I needed, imported a flat-file db of news articles via a script I wrote (the docs on the forum are quite nice), and edited what I needed resulting in sometimes tens of versions for a single page.
Then, I noticed that my flat-file news archive had "smart" quotes in it, breaking all links. I had to make a word-processor file first, so that I could easily search/replace formatting into a normalized set of tags, and apparently Word thinks that exported ASCII files should contain weird quoting and other interesting but unusable crap.
Therefore I did a mass search and replace via a SQL update...replace() query on bt_localcontents, as well as some other direct db edits, as I didn't really want to go through the entire site via the C5 UI. It's great - but it would have taken ages.
Anyway, all was finally working well, displayed as I wanted to and everything was just fine, so I decided to try speeding it up a bit via C5's internal support for eAccelerator, after first writing some support for the missing Cache:: methods, emptying/cleaning/clearing (yes, they have three different buttons) the eAccelerator cache, emptying the C5 cache both before and after the caching change and removing all files in /files/cache{,_objects}/ in C5 and the eAccelerator temp directory.
It seemed to be working fine so I was quite satisfied - until I noticed that suddenly a page_list block had stopped working. I knew I had fixed that particular issue, which was due to page_list not searching subpages to a page if directed to look under a specific page (feature or bug?), so I looked around some more.
It turned out that many pages had two versions approved at once, sometimes the two newest revisions, sometimes the newest plus a random other version. Apparently C5 thought that this being the case, the oldest revision should be the one used. Reverting back to the file-based cache made versioning work as expected again.
Now, as the server is slow-ish, I'd like to re-enable the internal support for eAcc again - but obviously I don't want to go through every single page to check which version(s) are approved.
Thus, my questions are: Is this a bug in C5, eAccelerator, both of these running on Windows, a config error or a db corruption? Has it got something to do with my sv_SE locale (and the related four-issue patch that I had to use, see patch forum)? How do I investigate this?
I'm not sure whether this is a bug in C5 or eAccelerator, a config mishap or an error in the database, but I noticed that if I turn on eAccelerator bizarre things happen with versioning.
I added all the pages I needed, imported a flat-file db of news articles via a script I wrote (the docs on the forum are quite nice), and edited what I needed resulting in sometimes tens of versions for a single page.
Then, I noticed that my flat-file news archive had "smart" quotes in it, breaking all links. I had to make a word-processor file first, so that I could easily search/replace formatting into a normalized set of tags, and apparently Word thinks that exported ASCII files should contain weird quoting and other interesting but unusable crap.
Therefore I did a mass search and replace via a SQL update...replace() query on bt_localcontents, as well as some other direct db edits, as I didn't really want to go through the entire site via the C5 UI. It's great - but it would have taken ages.
Anyway, all was finally working well, displayed as I wanted to and everything was just fine, so I decided to try speeding it up a bit via C5's internal support for eAccelerator, after first writing some support for the missing Cache:: methods, emptying/cleaning/clearing (yes, they have three different buttons) the eAccelerator cache, emptying the C5 cache both before and after the caching change and removing all files in /files/cache{,_objects}/ in C5 and the eAccelerator temp directory.
It seemed to be working fine so I was quite satisfied - until I noticed that suddenly a page_list block had stopped working. I knew I had fixed that particular issue, which was due to page_list not searching subpages to a page if directed to look under a specific page (feature or bug?), so I looked around some more.
It turned out that many pages had two versions approved at once, sometimes the two newest revisions, sometimes the newest plus a random other version. Apparently C5 thought that this being the case, the oldest revision should be the one used. Reverting back to the file-based cache made versioning work as expected again.
Now, as the server is slow-ish, I'd like to re-enable the internal support for eAcc again - but obviously I don't want to go through every single page to check which version(s) are approved.
Thus, my questions are: Is this a bug in C5, eAccelerator, both of these running on Windows, a config error or a db corruption? Has it got something to do with my sv_SE locale (and the related four-issue patch that I had to use, see patch forum)? How do I investigate this?
well i know it can work because we use it on this site and the ones we host.
I'll have andrew look at what you're doing next week - we're way under water on a launch right now.
-frz
I'll have andrew look at what you're doing next week - we're way under water on a launch right now.
-frz
Yes, I'm sure it can work - I did search the forums and I seem to be the only one to have this rather bizarre problem :)
But thanks for asking Andrew - take your time, I'll wait.
But thanks for asking Andrew - take your time, I'll wait.
Using dev + doing an install from scratch with caching set to eAcc doesn't work, either, though. Actually, when using dev, no content shows up at all - and what's more, the name of the site as well as the home page in the server root is displayed whereas the clean dev install is supposed to use its own (empty) db and its own directory tree, leading me to suspect that this is something that's broken outside of C5. Oh well.
Now, if I just could figure out where it has broken. :)