by (470 points)
Hi Everyone,

I'm afraid I'm really struggling to get on with upgrading a trial SEOToaster install to the latest version (SEOToaster 2.0.5 + Store 2.0.0 to SEOToaster V2.1.0 CMS + V2.1.0 Ecommerce) and could do with some help - where are the upgrade instructions please?

My client has a DB populated with a few hundred products, and also a template, so I need to migrate the data and template to the new version.

The aim is to then make the latest version live on their site shortly, so hopefully I'm just missing something simple here?

Any help would be very gratefully recieved!
Thanks :)

1 Answer

by (180 points)
Hi strebblo!
Here is the instruction of how to manually move old version of the SEOToaster to a new one and keep existing data.

You must have a basic knowledge of *nix server administration and mySQL server administration.

Do the following steps.

Step 1.
Create backup of the hole folder  where your SEOToaster installed (don't forget to include some hidden files like .htaccess).
Create backup all of your data in the database.

Step 2. Create a new folder near the folder with your old SEOToaster.
Step 3. Create a new database on your mySQL server.
Step 4. Do the fresh installation of a new version of the SEOToaster in newly created folder.  
Step 5. After you get a SEOToaster welcome screen you have to delete the following folders.
/media, /plugins, /previews, /themes

Step 6. Copy same folders (/media, /plugins, /previews, /themes) from your old SEOToaster to your fresh installed SEOToaster folder.

Step 7. Delete all tables in newsly installed SEOTaoster database and restore tables and data from previously created backup sql file.

Step 8. Run the following sql scripts.

Core alters:

ALTER TABLE  `template` CHANGE  `content`  `content` LONGTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;
  
ALTER TABLE  `page` ADD  `preview_image` TEXT NULL DEFAULT NULL COMMENT  'Page Preview Image';
 
INSERT INTO `page_option` (`id`, `title`, `context`, `active`) VALUES ('option_search', 'Search landing page', 'Seotoaster pages', 1);
 
ALTER TABLE `form` ADD COLUMN `captcha` ENUM('0','1') DEFAULT '0' NULL;
 
CREATE TABLE IF NOT EXISTS `form_page_conversion` (
  `page_id` int(10) unsigned NOT NULL,
  `form_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `conversion_code` TEXT COLLATE utf8_unicode_ci NULL,
  PRIMARY KEY (`page_id`,`form_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
ALTER TABLE `form` DROP COLUMN `tracking_code`;
 
ALTER TABLE `user` ADD `gplus_profile` tinytext COLLATE 'utf8_unicode_ci' NULL;
 
INSERT INTO `template_type` (`id`, `title`) VALUES ('typemobile',   'Mobile page');
 
ALTER TABLE  `optimized` ADD INDEX (  `nav_name` );
ALTER TABLE  `optimized` ADD INDEX (  `url`(30) );

INSERT INTO `config` (`name`, `value`) VALUES ('version', '2.1.0');
 
INSERT INTO `template_type` (`id`, `title`) VALUES ('typemenu', 'Menu');
 
CREATE TABLE IF NOT EXISTS `user_attributes` (
  `user_id` int(10) unsigned NOT NULL,
  `attribute` tinytext COLLATE utf8_unicode_ci NOT NULL,
  `value` text COLLATE utf8_unicode_ci,
  PRIMARY KEY (`user_id`,`attribute`(20)),
  CONSTRAINT `user_attributes_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
ALTER TABLE `optimized` ADD `seo_intro` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL AFTER `teaser_text` ,
ADD `seo_intro_target` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL AFTER `seo_intro`;
 
UPDATE `config` SET `value`='2.1.3' WHERE `name`='version';
SELECT value FROM `config` WHERE name = 'version';

Shopping plugin alters:

INSERT INTO `email_triggers` (`enabled`, `trigger_name`, `observer`) VALUES
('1', 'store_newuseraccount', 'Tools_StoreMailWatchdog');
 
CREATE TABLE IF NOT EXISTS `shopping_product_freebies_settings` (
  `prod_id` int(10) unsigned NOT NULL,
  `price_value` decimal(10,4) DEFAULT 0,
  `quantity` int(4) unsigned DEFAULT 0,
  PRIMARY KEY (`prod_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
CREATE TABLE IF NOT EXISTS `shopping_product_has_freebies` (
  `product_id` int(10) unsigned NOT NULL,
  `freebies_id` int(10) unsigned NOT NULL,
  `freebies_quantity` int(4) unsigned NOT NULL,
  PRIMARY KEY (`product_id`,`freebies_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
ALTER TABLE `shopping_cart_session_content` ADD COLUMN `freebies` ENUM('0','1') DEFAULT '0' NULL;
 
INSERT INTO `shopping_config` (`name`, `value`) VALUES ('noZeroPrice', 1);

INSERT INTO `shopping_config` (`name`, `value`) VALUES ('version', '2.1.0');
 
ALTER TABLE `shopping_cart_session` ADD COLUMN `discount_tax_rate` enum('0','1', '2', '3') COLLATE utf8_unicode_ci DEFAULT '0' AFTER `gateway`;
ALTER TABLE `shopping_cart_session` ADD COLUMN `shipping_tax` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'Shipping Tax' AFTER `sub_total`;
ALTER TABLE `shopping_cart_session` ADD COLUMN `discount_tax` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'Discount Tax' AFTER `shipping_tax`;
ALTER TABLE `shopping_cart_session` ADD COLUMN `sub_total_tax` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'Sub total Tax' AFTER `discount_tax`;
ALTER TABLE `shopping_quote` ADD COLUMN `creator_id` int(10) unsigned DEFAULT '0' AFTER `edited_by`;
  
UPDATE `shopping_config` SET `value`='2.1.2' WHERE `name`='version';
SELECT value FROM `shopping_config` WHERE `name` = 'version';

Step 9.
Clean cache of the site.
In the root of the newly created site open console and run command
rm -f cache/zend---*

Reload your site in browser and check all functions if everything OK you can delete old folder.

Start from new version 2.2.0 the SEOToaster will have special updater plugin to simplify site update.
Keep us informed.
by (470 points)
I can't seem to get this to work - does the newly launched version have the updater?

I've had a bit of an enforced break from this but I'm still not getting anywhere after this time..

Thanks
by (470 points)
and I should also raise the point that I'm not running this on a server, but rather a shared hosting package.
by (450 points)
Hi there, any news? Have you tried again? I am running SeoToaster on a VPS and I will try this hopefully soon. I'll update the answer with any results.
by (450 points)
Tryed this for an upgrade to the newest version  - 2.2.0 - and works fine. Look for the tutorial at http://www.seotoaster.com/questions-and-answers/962/seotoaster-upgrade-from-2-0-2-1-to-2-2?show=974#a974
by (470 points)
To be honest I didn't get any further and gave up.

I'd like to know if the latest version has a built in update function though? Maybe a new thread is a good idea...
...