From 35492ca11fd516485063aa98f64fddffd7f4cd93 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 8 Mar 2010 16:36:28 -0800 Subject: [PATCH] Remove old WebGUI 7.7 files --- .../packages-7.7.33-7.8.13/merged.wgpkg | Bin 102720 -> 0 bytes docs/upgrades/upgrade_7.7.20-7.8.0.pl | 250 --------- docs/upgrades/upgrade_7.7.33-7.8.13.pl | 502 ------------------ 3 files changed, 752 deletions(-) delete mode 100644 docs/upgrades/packages-7.7.33-7.8.13/merged.wgpkg delete mode 100644 docs/upgrades/upgrade_7.7.20-7.8.0.pl delete mode 100644 docs/upgrades/upgrade_7.7.33-7.8.13.pl diff --git a/docs/upgrades/packages-7.7.33-7.8.13/merged.wgpkg b/docs/upgrades/packages-7.7.33-7.8.13/merged.wgpkg deleted file mode 100644 index be3ed3230e715d837e853ecd5c445f9f049be8dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102720 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⪙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 WT>1YR-e^tYY4moKH3{UY3H}8mp#X0H diff --git a/docs/upgrades/upgrade_7.7.20-7.8.0.pl b/docs/upgrades/upgrade_7.7.20-7.8.0.pl deleted file mode 100644 index 680235d48..000000000 --- a/docs/upgrades/upgrade_7.7.20-7.8.0.pl +++ /dev/null @@ -1,250 +0,0 @@ -#!/usr/bin/env perl - -#------------------------------------------------------------------- -# WebGUI is Copyright 2001-2009 Plain Black Corporation. -#------------------------------------------------------------------- -# Please read the legal notices (docs/legal.txt) and the license -# (docs/license.txt) that came with this distribution before using -# this software. -#------------------------------------------------------------------- -# http://www.plainblack.com info@plainblack.com -#------------------------------------------------------------------- - -our ($webguiRoot); - -BEGIN { - $webguiRoot = "../.."; - unshift (@INC, $webguiRoot."/lib"); -} - -use strict; -use Getopt::Long; -use WebGUI::Session; -use WebGUI::Storage; -use WebGUI::Asset; - - -my $toVersion = '7.8.0'; -my $quiet; # this line required - - -my $session = start(); # this line required - -# upgrade functions go here -reorganizeAdSpaceProperties($session); -addSubscribableAspect( $session ); -addFeaturedPageWiki( $session ); -fixEmptyCalendarIcalFeeds( $session ); - -finish($session); # this line required - - -#---------------------------------------------------------------------------- -# Describe what our function does -#sub exampleFunction { -# my $session = shift; -# print "\tWe're doing some stuff here that you should know about... " unless $quiet; -# # and here's our code -# print "DONE!\n" unless $quiet; -#} -sub upgradeToYUI28 { - my $session = shift; - print "\tUpgrading to YUI 2.8... " unless $quiet; - - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'element-beta-min.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'element-beta-min.js', 'element-min.js')" - ); - - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'element-beta-min.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'element-beta-min.js', 'element-min.js')" - ); - - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'carousel-beta-min.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'carousel-beta-min.js', 'carousel-min.js')" - ); - - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'carousel-beta-min.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'carousel-beta-min.js', 'carousel-min.js')" - ); - - print "Done.\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Add the column for featured wiki pages -sub fixEmptyCalendarIcalFeeds { - my $session = shift; - print "\tSetting icalFeeds in the Calendar to the proper default... " unless $quiet; - - $session->db->write( - "UPDATE Calendar set icalFeeds='[]' where icalFeeds IS NULL", - ); - - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Add the column for featured wiki pages -sub addFeaturedPageWiki { - my $session = shift; - print "\tAdding featured pages to the Wiki " unless $quiet; - - $session->db->write( - "ALTER TABLE WikiPage ADD COLUMN isFeatured INT(1)", - ); - - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Add tables for the subscribable aspect -sub addSubscribableAspect { - my $session = shift; - print "\tAdding Subscribable aspect..." unless $quiet; - - $session->db->write( <<'ESQL' ); -CREATE TABLE assetAspect_Subscribable ( - assetId CHAR(22) BINARY NOT NULL, - revisionDate BIGINT NOT NULL, - subscriptionGroupId CHAR(22) BINARY, - subscriptionTemplateId CHAR(22) BINARY, - skipNotification INT, - PRIMARY KEY ( assetId, revisionDate ) -) -ESQL - - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Describe what our function does -sub reorganizeAdSpaceProperties { - my $session = shift; - print "\tReorganize AdSpace and Ad Sales properties... " unless $quiet; - $session->db->write(q|ALTER TABLE adSpace DROP COLUMN costPerClick|); - $session->db->write(q|ALTER TABLE adSpace DROP COLUMN costPerImpression|); - $session->db->write(q|ALTER TABLE adSpace DROP COLUMN groupToPurchase|); - # and here's our code - print "DONE!\n" unless $quiet; -} - -# -------------- DO NOT EDIT BELOW THIS LINE -------------------------------- - -#---------------------------------------------------------------------------- -# Add a package to the import node -sub addPackage { - my $session = shift; - my $file = shift; - - # Make a storage location for the package - my $storage = WebGUI::Storage->createTemp( $session ); - $storage->addFileFromFilesystem( $file ); - - # Import the package into the import node - my $package = eval { WebGUI::Asset->getImportNode($session)->importPackage( $storage, { overwriteLatest => 1 } ); }; - - if ($package eq 'corrupt') { - die "Corrupt package found in $file. Stopping upgrade.\n"; - } - if ($@ || !defined $package) { - die "Error during package import on $file: $@\nStopping upgrade\n."; - } - - # Turn off the package flag, and set the default flag for templates added - my $assetIds = $package->getLineage( ['self','descendants'] ); - for my $assetId ( @{ $assetIds } ) { - my $asset = WebGUI::Asset->newByDynamicClass( $session, $assetId ); - if ( !$asset ) { - print "Couldn't instantiate asset with ID '$assetId'. Please check package '$file' for corruption.\n"; - next; - } - my $properties = { isPackage => 0 }; - if ($asset->isa('WebGUI::Asset::Template')) { - $properties->{isDefault} = 1; - } - $asset->update( $properties ); - } - - return; -} - -#------------------------------------------------- -sub start { - my $configFile; - $|=1; #disable output buffering - GetOptions( - 'configFile=s'=>\$configFile, - 'quiet'=>\$quiet - ); - my $session = WebGUI::Session->open($webguiRoot,$configFile); - $session->user({userId=>3}); - my $versionTag = WebGUI::VersionTag->getWorking($session); - $versionTag->set({name=>"Upgrade to ".$toVersion}); - return $session; -} - -#------------------------------------------------- -sub finish { - my $session = shift; - updateTemplates($session); - upgradeToYUI28( $session ); - my $versionTag = WebGUI::VersionTag->getWorking($session); - $versionTag->commit; - $session->db->write("insert into webguiVersion values (".$session->db->quote($toVersion).",'upgrade',".time().")"); - $session->close(); -} - -#------------------------------------------------- -sub updateTemplates { - my $session = shift; - return undef unless (-d "packages-".$toVersion); - print "\tUpdating packages.\n" unless ($quiet); - opendir(DIR,"packages-".$toVersion); - my @files = readdir(DIR); - closedir(DIR); - my $newFolder = undef; - foreach my $file (@files) { - next unless ($file =~ /\.wgpkg$/); - # Fix the filename to include a path - $file = "packages-" . $toVersion . "/" . $file; - addPackage( $session, $file ); - } -} - -#vim:ft=perl diff --git a/docs/upgrades/upgrade_7.7.33-7.8.13.pl b/docs/upgrades/upgrade_7.7.33-7.8.13.pl deleted file mode 100644 index 42a6ab915..000000000 --- a/docs/upgrades/upgrade_7.7.33-7.8.13.pl +++ /dev/null @@ -1,502 +0,0 @@ -#!/usr/bin/env perl - -#------------------------------------------------------------------- -# WebGUI is Copyright 2001-2009 Plain Black Corporation. -#------------------------------------------------------------------- -# Please read the legal notices (docs/legal.txt) and the license -# (docs/license.txt) that came with this distribution before using -# this software. -#------------------------------------------------------------------- -# http://www.plainblack.com info@plainblack.com -#------------------------------------------------------------------- - -our ($webguiRoot); - -BEGIN { - $webguiRoot = "../.."; - unshift (@INC, $webguiRoot."/lib"); -} - -use strict; -use Getopt::Long; -use WebGUI::Session; -use WebGUI::Storage; -use WebGUI::Asset; -use WebGUI::Utility; - - -my $toVersion = "7.8.13"; # make this match what version you're going to -my $quiet; # this line required - - -my $session = start(); # this line required - -# upgrade functions go here -reorganizeAdSpaceProperties($session); -addSubscribableAspect( $session ); -addFeaturedPageWiki( $session ); -fixWikis( $session ); -addVendorPayouts($session); -addEMSEnhancements($session); -installUPSDriver($session); -addClipboardAdminSetting($session); -addTrashAdminSetting($session); -addPickLanguageMacro($session); -installSetLanguage($session); -dropSkipNotification($session); -removeOldWebGUICSS($session); -addEMSSubmissionTables($session); -configEMSActivities($session); -addUSPSInternationalShippingDriver( $session ); -deleteFieldFromEMSSubmission($session); - -finish($session); # this line required - -sub upgradeToYUI28 { - my $session = shift; - print "\tUpgrading to YUI 2.8... " unless $quiet; - - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'element-beta-min.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'element-beta-min.js', 'element-min.js')" - ); - - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'element-beta-min.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'element-beta.js', 'element-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'element-beta-min.js', 'element-min.js')" - ); - - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE template SET template = REPLACE(template, 'carousel-beta-min.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE template SET templatePacked = REPLACE(templatePacked, 'carousel-beta-min.js', 'carousel-min.js')" - ); - - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTags = REPLACE(extraHeadTags, 'carousel-beta-min.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'carousel-beta.js', 'carousel-min.js')" - ); - $session->db->write( - "UPDATE assetData SET extraHeadTagsPacked = REPLACE(extraHeadTagsPacked, 'carousel-beta-min.js', 'carousel-min.js')" - ); - - print "Done.\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Describe what our function does -sub reorganizeAdSpaceProperties { - my $session = shift; - print "\tReorganize AdSpace and Ad Sales properties... " unless $quiet; - $session->db->write(q|ALTER TABLE adSpace DROP COLUMN costPerClick|); - $session->db->write(q|ALTER TABLE adSpace DROP COLUMN costPerImpression|); - $session->db->write(q|ALTER TABLE adSpace DROP COLUMN groupToPurchase|); - # and here's our code - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Add tables for the subscribable aspect -sub addSubscribableAspect { - my $session = shift; - print "\tAdding Subscribable aspect..." unless $quiet; - - $session->db->write( <<'ESQL' ); -CREATE TABLE assetAspect_Subscribable ( - assetId CHAR(22) BINARY NOT NULL, - revisionDate BIGINT NOT NULL, - subscriptionGroupId CHAR(22) BINARY, - subscriptionTemplateId CHAR(22) BINARY, - skipNotification INT, - PRIMARY KEY ( assetId, revisionDate ) -) -ESQL - - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Add the column for featured wiki pages -sub addFeaturedPageWiki { - my $session = shift; - print "\tAdding featured pages to the Wiki " unless $quiet; - - $session->db->write( - "ALTER TABLE WikiPage ADD COLUMN isFeatured INT(1)", - ); - - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Describe what our function does -sub fixWikis { - my $session = shift; - print "\tFixing Wikis... " unless $quiet; - $session->db->write('INSERT IGNORE INTO assetAspect_Subscribable (assetId, revisionDate) SELECT assetId, revisionDate FROM WikiMaster'); - $session->db->write('INSERT IGNORE INTO assetAspect_Subscribable (assetId, revisionDate) SELECT assetId, revisionDate FROM WikiPage'); - print "Done.\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -sub addVendorPayouts { - my $session = shift; - print "\tAdding vendor payouts... " unless $quiet; - my $db = $session->db; - $db->write(" create table if not exists vendorPayoutLog ( - payoutId char(22) binary not null primary key, - isSuccessful tinyint(1) not null, - errorCode char(10), - errorMessage char(255), - paypalTimestamp char(20) not null, - amount decimal(7,2) not null, - currency char(3) not null, - correlationId char(13) not null, - paymentInformation char(255) not null - )"); - $db->write(" create table if not exists vendorPayoutLog_items ( - payoutId char(22) binary not null, - transactionItemId char(22) binary not null, - amount decimal(7,2) not null, - primary key( payoutId, transactionItemId ) - )"); - - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -sub addEMSEnhancements { - my $session = shift; - print "\tAdding EMS Enhancements, if needed... " unless $quiet; - my $sth = $session->db->read('describe EventManagementSystem printRemainingTicketsTemplateId'); - if (! defined $sth->hashRef) { - $session->db->write("alter table EventManagementSystem add column printRemainingTicketsTemplateId char(22) not null default 'hreA_bgxiTX-EzWCSZCZJw' after printTicketTemplateId"); - } - print "Done.\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -sub installUPSDriver { - my $session = shift; - print "\tAdding UPS Shipping Driver... " unless $quiet; - $session->config->addToArray('shippingDrivers', 'WebGUI::Shop::ShipDriver::UPS'); - - print "Done.\n" unless $quiet; -} - - -#---------------------------------------------------------------------------- -sub addClipboardAdminSetting { - my $session = shift; - print "\tAdding clipboard admin setting... " unless $quiet; - $session->setting->add('groupIdAdminClipboard', 3); - print "Done.\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -sub addTrashAdminSetting { - my $session = shift; - print "\tAdding trash admin setting... " unless $quiet; - $session->setting->add('groupIdAdminTrash', 3); - print "Done.\n" unless $quiet; -} - -#------------------------------------------------------------------------ -sub addPickLanguageMacro { - my $session = shift; - print "\tAdding Pick Language macro... " unless $quiet; - $session->config->set('macros/PickLanguage', 'PickLanguage'); - print "Done.\n" unless $quiet; -} - -#------------------------------------------------------------------------ -sub installSetLanguage { - my $session = shift; - print "\tAdding SetLanguage content handler... " unless $quiet; - ##Content Handler - my $contentHandlers = $session->config->get('contentHandlers'); - if (!isIn('WebGUI::Content::SetLanguage', @{ $contentHandlers }) ) { - my @newHandlers = (); - foreach my $handler (@{ $contentHandlers }) { - push @newHandlers, $handler; - push @newHandlers, 'WebGUI::Content::SetLanguage' if - $handler eq 'WebGUI::Content::PassiveAnalytics'; - } - $session->config->set('contentHandlers', \@newHandlers); - } - print "Done.\n" unless $quiet; -} - -#------------------------------------------------------------------------ -sub dropSkipNotification { - my $session = shift; - print "\tRemoving duplicate skipNotification field from the Subscribable aspect... " unless $quiet; - $session->db->write('alter table assetAspect_Subscribable drop column skipNotification'); - print "Done.\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Describe what our function does -sub removeOldWebGUICSS { - my $session = shift; - print "\tRemoving the old webgui.css file... " unless $quiet; - my $snippet = WebGUI::Asset->newByDynamicClass($session, 'PcRRPhh-0KfvLLNIPdxJTw'); - if ($snippet) { - $snippet->purge; - } - # and here's our code - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Describe what our function does -sub configEMSActivities { - my $session = shift; - print "\tConfigure EMS Activities... " unless $quiet; - my $config = $session->config; - $config->addToArray('workflowActivities/None', 'WebGUI::Workflow::Activity::CleanupEMSSubmissions'); - $config->addToArray('workflowActivities/None', 'WebGUI::Workflow::Activity::ProcessEMSApprovals'); - my $workflow = WebGUI::Workflow->new($session, 'pbworkflow000000000001'); # Daily - BREAK: { foreach my $activity (@{ $workflow->getActivities }) { - last BREAK if $activity->getName() eq 'WebGUI::Workflow::Activity::CleanupEMSSubmissions'; - } - my $activity = $workflow->addActivity('WebGUI::Workflow::Activity::CleanupEMSSubmissions'); - $activity->set('title', 'Purge Denied EMS Submissions'); - $activity->set('description', 'Purges EMS Submissions that were denied and are aged according to parameters.'); - } # end of BREAK block - $workflow = WebGUI::Workflow->new($session, 'pbworkflow000000000004'); # Hourly - BREAK: { foreach my $activity (@{ $workflow->getActivities }) { - last BREAK if $activity->getName() eq 'WebGUI::Workflow::Activity::ProcessEMSApprovals'; - } - my $activity = $workflow->addActivity('WebGUI::Workflow::Activity::ProcessEMSApprovals'); - $activity->set('title', 'Process Approves EMS Submissions'); - $activity->set('description', 'Create EMS Ticket Assets for approved submissions.'); - } # end of BREAK block - print "DONE!\n" unless $quiet; -} - -sub addUSPSInternationalShippingDriver { - my $session = shift; - print "\tAdd the USPS International shipping driver... " unless $quiet; - # and here's our code - $session->config->addToArray('shippingDrivers', 'WebGUI::Shop::ShipDriver::USPSInternational'); - print "DONE!\n" unless $quiet; -} - -#---------------------------------------------------------------------------- -# Drop send mail on change collumn from ems submission table -sub deleteFieldFromEMSSubmission { - my $session = shift; - print "\tDrop collumn from EMS Submission Table... " unless $quiet; - my $db = $session->db; - - $db->write(<db; - - $db->write(<write(<write(<write(<write(<write(<write(<write(<write(<createTemp( $session ); - $storage->addFileFromFilesystem( $file ); - - # Import the package into the import node - my $package = eval { - my $node = WebGUI::Asset->getImportNode($session); - $node->importPackage( $storage, { - overwriteLatest => 1, - clearPackageFlag => 1, - setDefaultTemplate => 1, - } ); - }; - - if ($package eq 'corrupt') { - die "Corrupt package found in $file. Stopping upgrade.\n"; - } - if ($@ || !defined $package) { - die "Error during package import on $file: $@\nStopping upgrade\n."; - } - - return; -} - -#------------------------------------------------- -sub start { - my $configFile; - $|=1; #disable output buffering - GetOptions( - 'configFile=s'=>\$configFile, - 'quiet'=>\$quiet - ); - my $session = WebGUI::Session->open($webguiRoot,$configFile); - $session->user({userId=>3}); - my $versionTag = WebGUI::VersionTag->getWorking($session); - $versionTag->set({name=>"Upgrade to ".$toVersion}); - return $session; -} - -#------------------------------------------------- -sub finish { - my $session = shift; - updateTemplates($session); - upgradeToYUI28( $session ); - my $versionTag = WebGUI::VersionTag->getWorking($session); - $versionTag->commit; - $session->db->write("insert into webguiVersion values (".$session->db->quote($toVersion).",'upgrade',".time().")"); - $session->close(); -} - -#------------------------------------------------- -sub updateTemplates { - my $session = shift; - return undef unless (-d "packages-".$toVersion); - print "\tUpdating packages.\n" unless ($quiet); - opendir(DIR,"packages-".$toVersion); - my @files = readdir(DIR); - closedir(DIR); - my $newFolder = undef; - foreach my $file (@files) { - next unless ($file =~ /\.wgpkg$/); - # Fix the filename to include a path - $file = "packages-" . $toVersion . "/" . $file; - addPackage( $session, $file ); - } -} - -#vim:ft=perl