Dolphin 7 Beta Upgrade Script

mydatery posted 3rd of November 2009 in Community Voice. 21 comments.

So we have had people around here asking, begging, stealing, thwarting and offering to sell their sister's children to get an upgrade script from Boonex to go from Beta to Beta.  After all, it's being said how much of a pain it is to install the D7 Beta, get it up, get people to use it and then tear it down and do it again.  So, I figure to set aside my position as the Ultimate Resident A-Hole that everyone LOVES so much and to instead put my money where my mouth is when I tell people that it's just not happening. 

 

So, we took the script and spent several hours looking at all of it.  Okay, not all of it because we aren't done with it.  But I figure it's time to give you guys a peak into what needs to be done to upgrade between Beta's and so on.  Now keep in mind, in order for us to get this far we have had to sit and look at each and every stinking file in D7 B7 & B8, open them up and compare them.  Granted, we're using Notepad++ to do this comparison, but it's far from being a simple procedure, there is a massive amount of files buried multiple directories deep.  So far we have made it to modules/boones/groups... Here is what we have so far as a recommended upgrade path. 

 

 

*****NOTE:  THIS IS NOT A FULL UPGRADE PATH YET AND IT SHOULD NOT BE DEPENDED UPON AS 1.  IF YOU RUN THIS YOU WILL GET ERRORS AS WE HAVE NOT FINISHED THE WORK ON IT AND IT IS RATHER SIMPLY AN EXAMPLE OF THE AMOUNT OF WORK THAT WOULD NEED TO BE DONE TO BRING D7 B7 INTO D7 B8 REALM.    HERE IT IS SO FAR!!:

 

 

******************************************

You would have to first run the following SQL via phpMyAdmin to bring your DB into line:

 

INSERT INTO `sys_options` VALUES('sys_html_fields', 'a:1:{s:6:"system";a:18:{i:0;s:20:"POST.DescriptionMe.0";i:1;s:23:"REQUEST.DescriptionMe.0";i:2;s:20:

"POST.DescriptionMe.1";i:3;s:23:"REQUEST.DescriptionMe.1";i:4;s:12:

"POST.message";i:5;s:15:"REQUEST.message";i:6;s:9:"POST.body";i:7;s:12:

"REQUEST.body";i:8;s:9:"POST.Text";i:9;s:12:"REQUEST.Text";i:10;s:12:

"POST.Content";i:11;s:15:"REQUEST.Content";i:12;s:17:

"POST.content_text";i:13;s:20:"REQUEST.content_text";i:14;s:12:

"POST.content";i:15;s:15:"REQUEST.content";i:16;s:12:

"POST.CmtText";i:17;s:15:"REQUEST.CmtText";}}', 0, 'HTML fields', 'text', '', '', 0, '');

 

--The above is all 1 query, I had to enter hard returns at each line to get it to fit on here.  It's a long one.

 


ALTER TABLE `sys_options` VALUES('sys_ps_enabled_group_6', '', 9, 'Enable

 \'Faves\' group', 'checkbox', '', '', 11, '');

ALTER TABLE `sys_options` VALUES('sys_ps_enabled_group_7', '', 9, 'Enable

 \'Contacts\' group', 'checkbox', '', '', 13, '');

ALTER TABLE `sys_page_compose` VALUES(146, 'search', '998px', 'Search

 Form', '_Search profiles', 2, 0, 'SearchForm', '', 0, 34, 'non,memb', 0);


INSERT INTO `sys_profile_fields` VALUES (68, 'allow_view_to', 'system', 'select',

 '', NULL, NULL, '', 'LKey', '', 0, '', 0, 1, 0, 0, NULL, 17, 8, 0, NULL, 0, NULL, 0, NULL,

 0, NULL, 0, NULL, 0, NULL, '', 0, NULL, 0, NULL, 0, NULL, 0, 0);


ALTER TABLE `Profiles` (
  `ID` int(10) unsigned NOT NULL auto_increment,
  `NickName` varchar(255) NOT NULL default '',
  `Email` varchar(255) NOT NULL default '',
  `Password` varchar(40) NOT NULL default '',
  `Salt` varchar(10) NOT NULL default '',
  `Status` enum('Unconfirmed','Approval','Active','Rejected','Suspended') NOT

 NULL default 'Unconfirmed',
  `Role` tinyint(4) unsigned NOT NULL default '1',
  `Couple` int(10) unsigned NOT NULL default '0',
  `Sex` varchar(255) NOT NULL default '',
  `LookingFor` set('male','female') NOT NULL default '',
  `Headline` varchar(255) NOT NULL,
  `DescriptionMe` text NOT NULL,
  `Country` varchar(255) NOT NULL default '',
  `City` varchar(255) NOT NULL,
  `DateOfBirth` date NOT NULL,
  `Featured` tinyint(1) NOT NULL default '0',
  `DateReg` datetime NOT NULL default '0000-00-00 00:00:00',
  `DateLastEdit` datetime NOT NULL default '0000-00-00 00:00:00',
  `DateLastLogin` datetime NOT NULL default '0000-00-00 00:00:00',
  `DateLastNav` datetime NOT NULL default '0000-00-00 00:00:00',
  `aff_num` int(10) unsigned NOT NULL default '0',
  `Tags` varchar(255) NOT NULL default '',
  `zip` varchar(255) NOT NULL,
  `EmailNotify` tinyint(1) NOT NULL default '1',
  `LangID` int(11) NOT NULL,
  `UpdateMatch` tinyint(1) NOT NULL default '1',
  `Views` int(11) NOT NULL,
  `Rate` float NOT NULL,
  `RateCount` int(11) NOT NULL,
  `CommentsCount` int(11) NOT NULL,
  `PrivacyDefaultGroup` int(11) NOT NULL default '3',
  `allow_view_to` int(11) NOT NULL default '3',
  `UserStatus` varchar(64) NOT NULL default 'online',
  `UserStatusMessage` varchar(255) NOT NULL default '',
  `UserStatusMessageWhen` int(10) NOT NULL,
  `Avatar` int(10) unsigned NOT NULL,
  `Height` varchar(255) NOT NULL,
  `Weight` varchar(255) NOT NULL,
  `Income` varchar(255) NOT NULL,
  `Occupation` varchar(255) NOT NULL,
  `Religion` varchar(255) NOT NULL,
  `Education` varchar(255) NOT NULL,
  `RelationshipStatus` enum('Single','In a Relationship','Engaged','Married','It''s

 Complicated','In an Open Relationship') default NULL,
  `Hobbies` text NOT NULL,
  `Interests` text NOT NULL,
  `Ethnicity` varchar(255) NOT NULL,
  `FavoriteSites` text NOT NULL,
  `FavoriteMusic` text NOT NULL,
  `FavoriteFilms` text NOT NULL,
  `FavoriteBooks` text NOT NULL,
  `FirstName` varchar(255) NOT NULL,
  `LastName` varchar(255) NOT NULL,
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `NickName` (`NickName`),
  KEY `Country` (`Country`),
  KEY `DateOfBirth` (`DateOfBirth`),
  KEY `DateReg` (`DateReg`),
  KEY `DateLastNav` (`DateLastNav`),
  FULLTEXT KEY `NickName_2` (`NickName`,`City`,`Headline`,`DescriptionMe`,`Tags`)


) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

ALTER TABLE `[db_prefix]transfers` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `module` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
   `status` enum('not_started','started','finished','error') COLLATE utf8_unicode_ci

 NOT NULL,
   `status_text` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


 ******************************************
 
Replace in your Dolphin Root Directory the following files:

browse.php
calendar.php
categories.php
contact.php
forgot.php
index.php
join.php
list_pop.php
mail.php
member.php
member_privacy.php
profile.php
result.php
rss_factory.php
search.php
searchKeyword.php
tags.php
viewPage.php

admin/db.php
admin/index.php
admin/templates/base/pbuilder_cpanel.html

flash/index.php
flash/XML.php

flash/modules/board/inc/actions.inc.php

flash/modules/chat/inc/actions.inc.php

flash/modules/desktop/inc/actions.inc.php
flash/modules/desktop/inc/customFunctions.inc.php

flash/modules/global/app/admin.swf

flash/modules/global/inc/actions.inc.php
flash/modules/global/inc/constants.inc.php
flash/modules/global/inc/content.inc.php
flash/modules/global/inc/functions.inc.php
flash/modules/global/inc/header.inc.php

flash/modules/im/inc/actions.inc.php

flash/modules/mp3/files/get_file.php
flash/modules/mp3/files/image.php
flash/modules/mp3/files/index.php
flash/modules/mp3/inc/actions.inc.php
flash/modules/mp3/inc/classes/BxDolCronMp3.php

flash/modules/photo/inc/actions.inc.php

flash/modules/video/files/get_download.php
flash/modules/video/files/get_file.php
flash/modules/video/files/get_mobile.php
flash/modules/video/files/index.php

flash/modules/video/inc/actions.inc.php
flash/modules/video/inc/functions.inc.php

flash/modules/video/inc/classes/BxDolCronVideo.php

flash/modules/video_comments/files/get_download.php
flash/modules/video_comments/files/get_file.php
flash/modules/video_comments/files/get_mobile.php
flash/modules/video_comments/files/index.php

flash/modules/video_comments/inc/actions.inc.php

inc/admin.inc.php
inc/admin_design.inc.php
inc/banners.inc.php
inc/design.inc.php
inc/match.inc.php
inc/params.inc.php
inc/profiles.inc.php
inc/security.inc.php
inc/utils.inc.php

inc/classes/BxDolAdminIpBlockList.php
inc/classes/BxDolAdminSettings.php
inc/classes/BxDolAdminTools.php
inc/classes/BxDolAlbums.php
inc/classes/BxDolAlertsResponceMatch.php
inc/classes/BxDolBrowse.php
inc/classes/BxDolCmts.php
inc/classes/BxDolCmtsQuery.php
inc/classes/BxDb.php
inc/classes/BxDolDefUploader.php
inc/classes/BxDolfilesDb.php
inc/classes/BxDolFilesModule.php
inc/classes/BxDolTemplate.php
inc/classes/BxDolfilesUploader.php
inc/classes/BxDolForm.php
inc/classes/BxDolInstaller.php
inc/classes/BxDolMailBox.php
inc/classes/BxDolPageViewAdmin.php
inc/classes/BxDolPrivacyQuery.php
inc/classes/BxDolPrivacySearch.php
inc/classes/BxDolProfileFields.php
inc/classes/BxDolProfileQuery.php
inc/classes/BxDolProfilesController.php
inc/classes/BxDolSearch.php
inc/classes/BxDolSubscriptionQuery.php
inc/classes/BxDolTags.php
inc/classes/BxDolTemplate.php
inc/classes/BxDolTemplate/Admin.php
inc/classes/BxDolTwigModule.php
inc/classes/BxDolTwigModuleDb.php
inc/classes/BxDolTwigTemplate.php

inc/js/function.js

inc/js/classes/BxDolCmts.js

modules/index.php

modules/boonex/ads/classifieds.php
modules/boonex/ads/classifieds_tags.php
modules/boonex/ads/post_mod_ads.php

modules/boonex/ads/classes/BxAdsModule.php

modules/boonex/articles/admin.php
modules/boonex/articles/archive.php
modules/boonex/articles/category.php
modules/boonex/articles/tag.php
modules/boonex/articles/view.php

modules/boonex/avatars/classes/BxAvaModule.php

modules/boonex/blogs/blogs.php

modules/boonex/blogs/classes/BxBlogsModule.php
modules/boonex/blogs/classes/BxBlogsSearchUnit.php

modules/boonex/blogs/templates/base/css/blogs.css

modules/boonex/custom_rss/classes/BxCRSSModule.php

modules/boonex/google_search/templates/base/search.html

 

Delete the following files:

modules/boonex/ads/index.php


***Please uninstall the following modules via your admin panel:

Data Migration, Events, Feedback, Files, Forums, Groups

 

After you uninstall the above modules please upload & replace the following files:


modules/boonex/events/upload the entire folder and all sub-folders
modules/boonex/feedback/upload the entire folder and all sub-folders
modules/boonex/files/upload the entire folder and all sub-folders
modules/boonex/forum/upload the entire folder and all sub-folders
modules/boonex/groups/upload the entire folder and all sub-folders
modules/boonex/data_migration/upload the entire folder and all sub-folders

Re-install the Data Migration, Events, Feedback, Files, Forums and Groups Modules via your Admin Panel

 

 **************************

 

I really hope that people are starting to see the massive amount of work that goes into just creating an upgrade script.  This has been worked on for 3 days now and there is just no way we can sit down and do it all in a few hours effectively.  We quickly dumped the idea of just editing the effected files as that would be an even more monstrous task than to just note for you which ones to replace.  Even if 2 files have the same exact byte count we have had to go through them to ensure even something as simple as a : changed to a ; is found. 

 

We'll keep working on this, mainly because we like to finish what we start, but we will never promise you that any upgrade script we produce will work seamlessly, there are to many variables such as types of servers out there for us to possibly anticipate and deal with them all.

 

Anyone who wants to pick up where we have left off on this so far, feel free to do so and we'll even be happy to colloborate with you on it to see how well this can be done, if at all.

 

 

 

 

 

 
Comments
·Oldest
·Top
Please login to post a comment.
Zarcon
Nice Job Mydatery !! I will have to say that I have been extremely impressed with your comments and assistance you have been providing others. It must be killing you by now to be this nice.. hahaha, you know I'm just kidding.
houstonlively
Damn! I thought I was the Ultimate Resident A-Hole
Zarcon
I guess it's time you go beat someone HL, and take back over the crown.
CALTRADE
So do you plan on making this work, or did you just spend all that time to make a point? You are saying this will upgrade from D7B7 to D7B8 rev 1, is that correct? If so, I will give it a whirl. I've got a site with about 10 members I would like to save.
@Caltrade: You are kidding, right?

I'm sure he'll release an upgrade-script to upgrade his upgrade-script so you don't have to re-do all those queries and file replacements....

Dude, I really think we ought to organize a party for when you upgrade to RC1....

PS I really miss not having some emoticons here.
houstonlively
WHOA! 10 members! Is this that serious site you've been talking about, and your reason for needing B2B upgrades? I hadn't realized the gravity of your situation.
CALTRADE
Houston - you can't possibly by this STUPID can you? No you bithering idiot, that is not my site it is a BETA! Can you even READ! Look little boy, we know you are a retired hoppyist with nothing better to do but to piss all over anything people write here, but why don't you "grow a pair" as you love to say, and post the link to your live site.
Zarcon
Hey Rob, this is not a complete upgrade script : "So far we have made it to modules/boones/groups... Here is what we have so far as a recommended upgrade path."

I would do that just yet. Unless I read this wrong, this is only for the "Groups" module.
mydatery
Chris, this has made it so far to:

modules/boonex/groups/

What that means is we started with the main dolphin root directory (including all the files) then went into root/admin/all the folders & files

and so on... So far we've made it to the root/modules/boonex/groups

We're taking it literally from the top in alphabetical order and coming down the list (of course the root files we're the first) if you look at how it's done so far you will see the order it's going in. Basically, we're see more treating it in a manner that once you complete a folder you will not have to go back to it and you will always be moving down the list, never up the folder list. I hope that makes sense.

Rob: Yes, we are planning on finishing this and then testing. Before you attempt this on your actual site we suggest that you install D7B7 into a sub-directory fully and then attempt the upgrade I have, after that you will need to do the upgrade that Victor put upfor D7B8 also to get to the final stable position. This is our goal.

Keep in mind, we have already 111 files that need to be replaced plus 6 full directories uninstalled, overwritten and re-installed and we're only about 1/2 way through this thing.

Basically, any upgrade will NOT be a simple upgrade, but please don't try this yet, we're not done with it, it's simply an example of what we are doing and how far we've come but we still have a ways to go. Maybe by the end of the week this will be finished up.

Once it's done, I'll put the full upgrade up in a new blog so you'll know it's done and either working or it all blew up. LOL
Zarcon
Thanks for the clarification on this. My apologies. Bets of luck to you on this. Once you are through with that, I have some mods you can start working on.. LOL

So when will this be finished..I NEED A DATE DAMNIT !! Sorry, had to do it.
CodeSatori
If we're talking about an unmodified beta upgrade, wouldn't it be easier to just dump the database table structures from the two versions for member and content-related tables, compare those and note down queries for synchronizing the two, and just wholesale replace everything else?

Please be aware though, if you use a third-party upgrade script/procedure for upgrading a beta, or from beta to RC, all your future bug reports will be under suspicion. Those who do this should keep a separate clean see more latest beta install to check if their bugs can be duplicated there, if they intend to report them in.

Also, if the custom upgrade attempt is only partially successful (which may not be immediately evident), chances are your site may go to hell when it's time for the next upgrade and you're using a Boonex-provided upgrade script.

I don't mean to be a party pooper, but these are issues people need to take into account. Kudos for the effort, mydatery.
CALTRADE
@Mydatery - thank you for this attempt - some people here apparently think this is a joke but I appreciate the effort. Maybe Boonex can take some of your work and make a supported script.

@Zarcon - thank you for the information and being helpful even though we have respectfully disagreed on recent posts.

@CodeSatory - I like your approach better - I think that is how wordpress works - a script that just updates the database, and then you overwrite all the files. I've tried this with even see more simple things like the profile fields table though and still managed to screw things up. After verifying that there were no database changes, I restored the profile fields table, and suddenly the join form stopped working - I have no idea why.
Zarcon
Not a problem Rob, I don't expect us to see eye to eye on everything :)

Chris
cbassthefish
It is easy enough to find out what has changed between two different versions of a beta. It took me a couple of minutes, using araxis merge, to compare two D7B7 and D7B8 folders and find about 219 differences (if my memory serves me correctly, I have a copy of the report some where). It is also really not difficult to manually upgrade your site between versions (as long as you are careful), it will just take a bit of time. Replace the files that need replacing, make a note of the differences in the see more SQL files and either add, update, modify, delete what ever is appropriate, in the database, using whatever client tool you use to access your MySQL. Most will use phpMyAdmin which comes with their cpanel.
That all said, I cannot be bothered to spend my time manually upgrading between versions, I will just keep my sites on the current beta verison and upgrade directly to some stable RC. I have spent enough time p*ssing into the wind.
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.
PET:0.06252908706665