From c6106634fef552522c40be3aa09693fa5c2b0be5 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Fri, 4 Jan 2008 20:53:06 +0000 Subject: [PATCH] Removed old .tmpl files from upgrades. All upgrade collateral must now be in .wgpkg packages --- docs/changelog/7.x.x.txt | 2 + docs/upgrades/_upgrade.skeleton | 121 ++----- .../packages-7.5.0/7.5.0_new_templates.wgpkg | Bin 0 -> 1691 bytes .../default-tt-template-user.wgpkg | Bin 0 -> 3937 bytes .../root_import_gallery-templates.wgpkg | Bin .../templates-7.5.0/managefriends.tmpl | 61 ---- .../time-tracking-user-view.tmpl | 311 ------------------ docs/upgrades/upgrade_7.4.18-7.5.0.pl | 84 +---- lib/WebGUI/AssetPackage.pm | 24 +- 9 files changed, 55 insertions(+), 548 deletions(-) create mode 100644 docs/upgrades/packages-7.5.0/7.5.0_new_templates.wgpkg create mode 100644 docs/upgrades/packages-7.5.0/default-tt-template-user.wgpkg rename docs/upgrades/{templates-7.5.0 => packages-7.5.0}/root_import_gallery-templates.wgpkg (100%) delete mode 100755 docs/upgrades/templates-7.5.0/managefriends.tmpl delete mode 100644 docs/upgrades/templates-7.5.0/time-tracking-user-view.tmpl diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index bb9026bfb..cd1599b2d 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -16,6 +16,8 @@ - Added a new plugin handler system that is both faster and more secure. - Added switch for assets to determine whether they are exportable. - Added migration utility for Gallery + - Removed old .tmpl files from upgrades. ALL templates in upgrades must now + be in Packages! 7.4.20 - fix: Assets with no committed versions may be left as orphans when parent is purged diff --git a/docs/upgrades/_upgrade.skeleton b/docs/upgrades/_upgrade.skeleton index 7821157a7..0d47257e5 100644 --- a/docs/upgrades/_upgrade.skeleton +++ b/docs/upgrades/_upgrade.skeleton @@ -1,5 +1,5 @@ #------------------------------------------------------------------- -# WebGUI is Copyright 2001-2006 Plain Black Corporation. +# WebGUI is Copyright 2001-2008 Plain Black Corporation. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using @@ -48,118 +48,51 @@ sub addPackage { $storage->addFileFromFilesystem( $file ); # Import the package into the import node - WebGUI::Asset->getImportNode($session)->importPackage( $storage ); + my $package = WebGUI::Asset->getImportNode($session)->importPackage( $storage ); # Make the package not a package anymore -} - -#---------------------------------------------------------------------------- -# Add a template from a file -sub addTemplate { - my $session = shift; - my $file = shift; - my $newFolder = shift; - - open(FILE,"<",$file); - my $first = 1; - my $create = 0; - my $head = 0; - my %properties = (className=>"WebGUI::Asset::Template"); - while (my $line = ) { - if ($first) { - $line =~ m/^\#(.*)$/; - $properties{id} = $1; - $first = 0; - } - elsif ($line =~ m/^\#create$/) { - $create = 1; - } - elsif ($line =~ m/^\#(.*):(.*)$/) { - $properties{$1} = $2; - } - elsif ($line =~ m/^~~~$/) { - $head = 1; - } - elsif ($head) { - $properties{headBlock} .= $line; - } - else { - $properties{template} .= $line; - } - } - close(FILE); - if ($create) { - $$newFolder = createNewTemplatesFolder(WebGUI::Asset->getImportNode($session)) - unless (defined $$newFolder); - my $template = $$newFolder->addChild(\%properties, $properties{id}); - } - else { - my $template = WebGUI::Asset->new($session,$properties{id}, "WebGUI::Asset::Template"); - if (defined $template) { - my $newRevision = $template->addRevision(\%properties); - } - } + $package->update({ isPackage => 0 }); } #------------------------------------------------- sub start { - my $configFile; - $|=1; #disable output buffering - GetOptions( - 'configFile=s'=>\$configFile, - 'quiet'=>\$quiet - ); - my $session = WebGUI::Session->open("../..",$configFile); - $session->user({userId=>3}); - my $versionTag = WebGUI::VersionTag->getWorking($session); - $versionTag->set({name=>"Upgrade to ".$toVersion}); - $session->db->write("insert into webguiVersion values (".$session->db->quote($toVersion).",'upgrade',".$session->datetime->time().")"); - updateTemplates($session); - return $session; + my $configFile; + $|=1; #disable output buffering + GetOptions( + 'configFile=s'=>\$configFile, + 'quiet'=>\$quiet + ); + my $session = WebGUI::Session->open("../..",$configFile); + $session->user({userId=>3}); + my $versionTag = WebGUI::VersionTag->getWorking($session); + $versionTag->set({name=>"Upgrade to ".$toVersion}); + $session->db->write("insert into webguiVersion values (".$session->db->quote($toVersion).",'upgrade',".$session->datetime->time().")"); + updateTemplates($session); + return $session; } #------------------------------------------------- sub finish { - my $session = shift; - my $versionTag = WebGUI::VersionTag->getWorking($session); - $versionTag->commit; - $session->close(); + my $session = shift; + my $versionTag = WebGUI::VersionTag->getWorking($session); + $versionTag->commit; + $session->close(); } #------------------------------------------------- sub updateTemplates { my $session = shift; - return undef unless (-d "templates-".$toVersion); - print "\tUpdating templates.\n" unless ($quiet); - opendir(DIR,"templates-".$toVersion); + 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 =~ /\.(tmpl|wgpkg)$/); - my $type = $1; - $file = "templates-" . $toVersion . "/" . $file; - if ($type eq "tmpl") { - addTemplate( $session, $file, \$newFolder ); - } - elsif ($type eq "wgpkg") { - addPackage( $session, $file ); - } + next unless ($file =~ /\.wgpkg$/); + # Fix the filename to include a path + $file = "packages-" . $toVersion . "/" . $file; + addPackage( $session, $file ); } } -#------------------------------------------------- -sub createNewTemplatesFolder { - my $importNode = shift; - my $newFolder = $importNode->addChild({ - className=>"WebGUI::Asset::Wobject::Folder", - title => $toVersion." New Templates", - menuTitle => $toVersion." New Templates", - url=> $toVersion."_new_templates", - groupIdView=>"12" - }); - return $newFolder; -} - - - diff --git a/docs/upgrades/packages-7.5.0/7.5.0_new_templates.wgpkg b/docs/upgrades/packages-7.5.0/7.5.0_new_templates.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..b60553dcf43d649aecb7ec00af6888d2ce9d4f0b GIT binary patch literal 1691 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 literal 0 HcmV?d00001 diff --git a/docs/upgrades/templates-7.5.0/root_import_gallery-templates.wgpkg b/docs/upgrades/packages-7.5.0/root_import_gallery-templates.wgpkg similarity index 100% rename from docs/upgrades/templates-7.5.0/root_import_gallery-templates.wgpkg rename to docs/upgrades/packages-7.5.0/root_import_gallery-templates.wgpkg diff --git a/docs/upgrades/templates-7.5.0/managefriends.tmpl b/docs/upgrades/templates-7.5.0/managefriends.tmpl deleted file mode 100755 index 6fc580a43..000000000 --- a/docs/upgrades/templates-7.5.0/managefriends.tmpl +++ /dev/null @@ -1,61 +0,0 @@ -#managefriends_________ -#url: managefriendstemplate -#title: Manage Friends (default) -#menuTitle: Manage Friends -#namespace:friends/manage -#create -

^International("my friends","Friends");

- - - - - - - - - - - - - - -
^International("name","Friends");^International("status","Friends");
- -

^International("send friend email instructions","Friends");

- - - - - - - - - -
- - -
-
    - -
  • -
    -
-
-~~~ - - diff --git a/docs/upgrades/templates-7.5.0/time-tracking-user-view.tmpl b/docs/upgrades/templates-7.5.0/time-tracking-user-view.tmpl deleted file mode 100644 index 2b0f7423e..000000000 --- a/docs/upgrades/templates-7.5.0/time-tracking-user-view.tmpl +++ /dev/null @@ -1,311 +0,0 @@ -#TimeTrackingTMPL000001 - -

-
- - -

-
- - -
- -
-
- - - -

- - - - -~~~ - - diff --git a/docs/upgrades/upgrade_7.4.18-7.5.0.pl b/docs/upgrades/upgrade_7.4.18-7.5.0.pl index 31d7c3d7f..5f6e9d865 100644 --- a/docs/upgrades/upgrade_7.4.18-7.5.0.pl +++ b/docs/upgrades/upgrade_7.4.18-7.5.0.pl @@ -1,5 +1,5 @@ #------------------------------------------------------------------- -# WebGUI is Copyright 2001-2006 Plain Black Corporation. +# WebGUI is Copyright 2001-2008 Plain Black Corporation. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using @@ -288,57 +288,10 @@ sub addPackage { $storage->addFileFromFilesystem( $file ); # Import the package into the import node - WebGUI::Asset->getImportNode($session)->importPackage( $storage ); + my $package = WebGUI::Asset->getImportNode($session)->importPackage( $storage ); # Make the package not a package anymore -} - -#---------------------------------------------------------------------------- -# Add a template from a file -sub addTemplate { - my $session = shift; - my $file = shift; - my $newFolder = shift; - - open(FILE,"<",$file); - my $first = 1; - my $create = 0; - my $head = 0; - my %properties = (className=>"WebGUI::Asset::Template"); - while (my $line = ) { - if ($first) { - $line =~ m/^\#(.*)$/; - $properties{id} = $1; - $first = 0; - } - elsif ($line =~ m/^\#create$/) { - $create = 1; - } - elsif ($line =~ m/^\#(.*):(.*)$/) { - $properties{$1} = $2; - } - elsif ($line =~ m/^~~~$/) { - $head = 1; - } - elsif ($head) { - $properties{headBlock} .= $line; - } - else { - $properties{template} .= $line; - } - } - close(FILE); - if ($create) { - $$newFolder = createNewTemplatesFolder(WebGUI::Asset->getImportNode($session)) - unless (defined $$newFolder); - my $template = $$newFolder->addChild(\%properties, $properties{id}); - } - else { - my $template = WebGUI::Asset->new($session,$properties{id}, "WebGUI::Asset::Template"); - if (defined $template) { - my $newRevision = $template->addRevision(\%properties); - } - } + $package->update({ isPackage => 0 }); } #------------------------------------------------- @@ -368,35 +321,16 @@ sub finish { #------------------------------------------------- sub updateTemplates { my $session = shift; - return undef unless (-d "templates-".$toVersion); - print "\tUpdating templates.\n" unless ($quiet); - opendir(DIR,"templates-".$toVersion); + 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 =~ /\.(tmpl|wgpkg)$/); - my $type = $1; - $file = "templates-" . $toVersion . "/" . $file; - if ($type eq "tmpl") { - addTemplate( $session, $file, \$newFolder ); - } - elsif ($type eq "wgpkg") { - addPackage( $session, $file ); - } + next unless ($file =~ /\.wgpkg$/); + $file = "packages-" . $toVersion . "/" . $file; + addPackage( $session, $file ); } } -#------------------------------------------------- -sub createNewTemplatesFolder { - my $importNode = shift; - my $newFolder = $importNode->addChild({ - className=>"WebGUI::Asset::Wobject::Folder", - title => $toVersion." New Templates", - menuTitle => $toVersion." New Templates", - url=> $toVersion."_new_templates", - groupIdView=>"12" - }); - return $newFolder; -} - diff --git a/lib/WebGUI/AssetPackage.pm b/lib/WebGUI/AssetPackage.pm index aec12f86b..aa954df7a 100644 --- a/lib/WebGUI/AssetPackage.pm +++ b/lib/WebGUI/AssetPackage.pm @@ -198,11 +198,12 @@ A reference to a WebGUI::Storage object that contains a webgui package file. =cut sub importPackage { - my $self = shift; - my $storage = shift; - my $decompressed = $storage->untar($storage->getFiles->[0]); - my %assets = (); - my $error = $self->session->errorHandler; + my $self = shift; + my $storage = shift; + my $decompressed = $storage->untar($storage->getFiles->[0]); + my %assets = (); # All the assets we've imported + my $package = undef; # The asset package + my $error = $self->session->errorHandler; $error->info("Importing package."); foreach my $file (sort(@{$decompressed->getFiles})) { next unless ($decompressed->getFileExtension($file) eq "json"); @@ -224,15 +225,24 @@ sub importPackage { my $newAsset = $asset->importAssetData($data); $newAsset->importAssetCollateralData($data); $assets{$newAsset->getId} = $newAsset; + + # First imported asset must be the "package" + unless ($package) { + $package = $newAsset; + } } + + # Handle autocommit workflows if ($self->session->setting->get("autoRequestCommit")) { if ($self->session->setting->get("skipCommitComments")) { WebGUI::VersionTag->getWorking($self->session)->requestCommit; - } else { + } + else { $self->session->http->setRedirect($self->getUrl("op=commitVersionTag;tagId=".WebGUI::VersionTag->getWorking($self->session)->getId)); } } - return; + + return $package; } #-------------------------------------------------------------------