I have maintained a personal blog on EE 1 since 2008. EE 1 works fine for me, but the control panel page is now getting minor magpie errors due to host upgrades, I believe. These problems will continue, I think, so I’m considering upgrading.
1) Is it even possible to upgrade directly from 1.6.9 to 3?
2) On the free core versus $300 comparison list, I don’t see anything that I use in the exclusive paid version column except the ip to nation feature. Is it possible to integrate the v. 1 files that I have to v. 3? Probably not, but I wanted to ask.
3) As I have been absent throughout v. 2, I don’t know what template routes are (they’re not in the free core package). I use embedded templates and path variables. Are these now considered under the template route umbrella? I don’t want to upgrade if my site will no longer work, of course.
I appreciate your answers and advice. Thank you.
An EE1 > EE3 upgrade is possible but you’d probably need to upgrade to EE2 first, then EE2 > EE3. The best way of doing this is to copy your whole site to a development area, then go through the upgrade steps. That way if you do get any issues part way through your live site isn’t affected. Once you’ve successfully upgraded to EE3 copy the development site to your live site.
The main sticking points with upgrading are 3rd party addons as they sometimes alter database tables. Normally I upgrade addons first before upgrading EE but as you’re doing such a large upgrade I may be tempted to do them last, so my plan of action would be:
Do EE1 > EE2 upgrade Upload 3rd party addons (EE2 versions) and run Module updates where necessary Check site is working on EE2 with no errors
Do EE2 > EE3 upgrade Upload 3rd party addons (EE3 versions) and run Module updates where necessary Check site is working on EE3 with no errors
Of course the other method would be to install a fresh EE3, set up your channels, fields, categories etc then use something like Datagrab to import content from the old site.
For using the free Core version, Ellislab will confirm that with you but a personal blog site still falls within the licence I believe.
Template routes? Think of these as custom URL’s that you can use instead of the standard /template_group/template/entry_url method. For a blog there’s very little point in using them so your current method of embed templates and path variables will still work as normal.
Rob’s plan of attack is sound. You will need to upgrade from 1 to 2, then from 2 to 3.
Regarding using Core I’ll point to the license and the “Permitted Use” section:
Core License: Users of the Core License may use the Software **only** on a website engaging in personal, non-commercial activities. Non-profit companies may NOT use the Core License.
As to integrating v1 files with a v3 install that cannot be done. There are some significant architectural changes between those two versions and they are not cross-compatible. Unfortunately I don’t have a workaround off the top of my head for getting functionality like IP to Nation apart from a standard license.
Thank you for the information. I have spent the last several hours trying to update my site – with no luck. I cannot find a version 2 to download – so I tried to upgrade from my current 1.6.9 to the new version 3 core. It did not work. When I used my previous config, the control panel page would not even load. When I didn’t use it, then the upgrade wizard stated that it detected a a previous version and instructed me to upgrade.
Then, I installed the version 3 anew on a different database and then tried to import my old database, and that didn’t work.
So, is there a core version of version 2 that I can download as a transitional upgrade step?
Thank you!
Thank you so much for the help and the package! I was able to update to 3, and I’ve been trying to iron out the kinks.
Update 2: Version 2 is now up and running!!! I haven’t yet checked all the functionality, but my foreign characters work fine. It took me several days to figure it out, but now I know – and it can be done (and I had everything from Hebrew to Amharic to Russian)!
With my version 1.6.9 database, I updated everything – every single table and the database collation overall – to utf8. I then exported my weblog_titles, weblog_data, and comments tables, and I ran each of them through PERL to replace latin coding with utf8 (see linked page below). I then imported them back. I then ran the sql commands in phpmyadmin:
ALTER TABLE table_name CONVERT TO CHARACTER SET latin1;
ALTER TABLE table_name CONVERT TO CHARACTER SET binary;
ALTER TABLE table_name CHARACTER SET utf8 COLLATE utf8_unicode_ci;
for each of the three tables (weblog_data, weblog_titles, comments). After all of that, I updated to version 2, and the characters are fine! Perhaps, some of that work was unnecessary, but that is what it took for me.
For any future struggler, please backup your databases after each step! It will save you much work in the end.
(Very useful info!)
{Update 1: I had so many problems that I just decided to start over (foreign character problems, not being able to edit entries, not being able to comment, etc.). Before I even attempt to go to version 3 again, I’m currently trying to figure out a way to convert the data in my blog titles and posts to utf8. When I switch from version 1 to 2, most of my foreign characters become question marks. I have tried to switch them in phpmysql (going from latin to binary to utf8 – I’m just learning from online advice), and I think that it worked with the titles but not the post fields (field id 2).
Does anyone know of a command or process that could salvage these posts? I have almost 1,400 posts, and I cannot go through them all again and re-do them in version 3/utf8.
Also, does the collation of the database matter? Currently, it’s latin_swedish or something like that. If I’m able to run a script or something to alter the characters in those few tables, should I change the whole database’s collation or not?
Thanks for any ideas that people have!}
Update: After much research, I discovered the solution – all that you have to do is go to the Super Admin member group in the Member Manager. Check the include boxes. That’s it!
— Original —
OK, everything worked in 2, and then I upgraded to 3.1.2. Now, I cannot edit past blog entries (this happened during my first attempt at 3, as well). I get the following message:
Exception Caught SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘) ) ORDER BY `Member_members`.`screen_name`, `Member_members`.`username` LIMI’ at line 6: SELECT Member_members.member_id as Member__member_id, Member_members.username as Member__username, Member_members.screen_name as Member__screen_name, Member_member_data.member_id as Member__member_id, Member_member_data.member_id as Member__member_id FROM (`exp_members` as Member_members, `exp_member_data` as Member_member_data) WHERE Member_member_data.member_id = Member_members.member_id AND ( `Member_members`.`in_authorlist` = ‘y’ OR `Member_members`.`group_id` IN () ) ORDER BY `Member_members`.`screen_name`, `Member_members`.`username` LIMIT 18446744073709551615 /home/public/system/ee/legacy/database/drivers/mysqli/mysqli_connection.php:117 Stack Trace: show
I apologize for my ignorance, but I don’t really understand what the error screen instructs me to do. I opened up phpmyadmin to look at exp_members. Should I rename the table exp_members to Member_members? My current exp_members table has the following columns:
member_id group_id username screen_name password unique_id crypt_key authcode email url location occupation interests bday_d bday_m bday_y aol_im yahoo_im msn_im icq bio signature avatar_filename avatar_width avatar_height photo_filename photo_width photo_height sig_img_filename sig_img_width sig_img_height ignore_list private_messages accept_messages last_view_bulletins last_bulletin_date ip_address join_date last_visit last_activity total_entries total_comments total_forum_topics total_forum_posts last_entry_date last_comment_date last_forum_post_date last_email_date in_authorlist accept_admin_email accept_user_email notify_by_default notify_of_pm display_avatars display_signatures parse_smileys smart_notifications language timezone time_format include_seconds date_format profile_theme forum_theme tracker template_size notepad notepad_size quick_links quick_tabs show_sidebar pmember_id salt bookmarklets rte_enabled rte_toolset_id cp_homepage cp_homepage_channel cp_homepage_custom
Mr. Barber, I have resolved all of the issues except for the comment problem, mentioned in another post. I think that the system is trying to run comments through the spam filtering module, but the core package doesn’t include that module. So, I’m getting the fatal error mentioned in that post. I asked folks in that thread if there was a way to disable the spam module in the config files, since its settings are not in the CP for the core installation. That would do it, I think.
I deleted “‘Spam’ => function($ee) { return new Spam(); }, ” mentioned in “Fatal error: Class ‘EllisLab\Addons\Spam\Service\Spam’ not found in /system/ee/EllisLab/ExpressionEngine/app.setup.php on line 133,” but that did not help. I then restored the original language.
Thanks for the follow-up.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.