diff --git a/README.md b/README.md index a99f94863..ca6449eaf 100644 --- a/README.md +++ b/README.md @@ -114,11 +114,14 @@ apachectl start WebGUI includes Docker support for easy containerized deployment: -```bash # Build Docker image +```bash docker build -t webgui:latest . +``` # Run with docker-compose (see distribution/docker-compose.yml) +```bash +cd distribution docker-compose up -d ``` diff --git a/distribution/webgui/entrypoint b/distribution/webgui/entrypoint index 7493bd7b6..73307ffee 100644 --- a/distribution/webgui/entrypoint +++ b/distribution/webgui/entrypoint @@ -18,12 +18,12 @@ for configfile in `perl -Ilib sbin/wgd for-each`;do code_version=`perl -Ilib -e 'use WebGUI; print $WebGUI::VERSION;'` echo "code version $code_version" - echo "database version $db_version for $configfile" + echo "database version $db_version for $configfile with configfile $configfile" if [ "$db_version" != "$code_version" ];then echo "Upgrading Webgui from $db_version to $code_version..." #first we alter the userSession table to make sure that the userId has a default value This is required for the upgrade process to work correctly. - `mysql -e 'alter table userSession MODIFY COLUMN userId char(22) NOT NULL DEFAULT "0";' $connection_info ` && break + `mysql -e 'alter table userSession MODIFY COLUMN userId char(22) NOT NULL DEFAULT "0";' $connection_info ` perl -Ilib sbin/wgd reset --upgrade --verbose --config-file=$configfile --webgui-root=/data/WebGUI/ diff --git a/docs/upgrades/upgrade_7.10.32-7.10.33.pl b/docs/upgrades/upgrade_7.10.32-7.10.33.pl new file mode 100644 index 000000000..9e2afd619 --- /dev/null +++ b/docs/upgrades/upgrade_7.10.32-7.10.33.pl @@ -0,0 +1,126 @@ +#!/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.10.33'; +my $quiet; # this line required + + +my $session = start(); # this line required + +# upgrade functions go here + +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; +#} + + +# -------------- DO NOT EDIT BELOW THIS LINE -------------------------------- + +#---------------------------------------------------------------------------- +# Add a package to the import node +sub addPackage { + my $session = shift; + my $file = shift; + + print "\tUpgrading package $file\n" unless $quiet; + # 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 { + 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 + ); + if ($toVersion eq "0.0.0") { + die "toVersion=$toVersion, aborting upgrade\n"; + } + 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); + 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.10.32-7.10.33.sql b/docs/upgrades/upgrade_7.10.32-7.10.33.sql new file mode 100644 index 000000000..68c52ae49 --- /dev/null +++ b/docs/upgrades/upgrade_7.10.32-7.10.33.sql @@ -0,0 +1,486 @@ +ALTER TABLE `AdSku` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `AdSku` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `AdSku` ALTER COLUMN `purchaseTemplate` SET DEFAULT ''; +ALTER TABLE `AdSku` ALTER COLUMN `manageTemplate` SET DEFAULT ''; +ALTER TABLE `AdSku` ALTER COLUMN `adSpace` SET DEFAULT ''; +ALTER TABLE `Article` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Article` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `AssetReport` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `AssetReport` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Calendar` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Carousel` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Carousel` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Collaboration` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Collaboration` ALTER COLUMN `collaborationTemplateId` SET DEFAULT ''; +ALTER TABLE `Collaboration` ALTER COLUMN `threadTemplateId` SET DEFAULT ''; +ALTER TABLE `Collaboration` ALTER COLUMN `postFormTemplateId` SET DEFAULT ''; +ALTER TABLE `Collaboration` ALTER COLUMN `searchTemplateId` SET DEFAULT ''; +ALTER TABLE `Collaboration` ALTER COLUMN `notificationTemplateId` SET DEFAULT ''; +ALTER TABLE `Collaboration` ALTER COLUMN `groupToEditPost` SET DEFAULT ''; +ALTER TABLE `Collaboration` ALTER COLUMN `unsubscribeTemplateId` SET DEFAULT ''; +ALTER TABLE `Dashboard` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `DataForm` ALTER COLUMN `emailTemplateId` SET DEFAULT ''; +ALTER TABLE `DataForm` ALTER COLUMN `acknowlegementTemplateId` SET DEFAULT ''; +ALTER TABLE `DataForm` ALTER COLUMN `listTemplateId` SET DEFAULT ''; +ALTER TABLE `DataForm` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `DataForm` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `DataForm_entry` ALTER COLUMN `DataForm_entryId` SET DEFAULT ''; +ALTER TABLE `DataForm_entry` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `DataForm_entry` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `DataTable` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `DataTable` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `EMSBadge` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `EMSBadge` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `EMSBadge` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `EMSBadgeGroup` ALTER COLUMN `badgeGroupId` SET DEFAULT ''; +ALTER TABLE `EMSBadgeGroup` ALTER COLUMN `emsAssetId` SET DEFAULT ''; +ALTER TABLE `EMSEventMetaField` ALTER COLUMN `fieldId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrant` ALTER COLUMN `badgeId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrant` ALTER COLUMN `badgeNumber` SET DEFAULT 0; +ALTER TABLE `EMSRegistrant` ALTER COLUMN `badgeAssetId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrant` ALTER COLUMN `emsAssetId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrant` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `EMSRegistrantRibbon` ALTER COLUMN `badgeId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrantRibbon` ALTER COLUMN `ribbonAssetId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrantTicket` ALTER COLUMN `badgeId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrantTicket` ALTER COLUMN `ticketAssetId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrantToken` ALTER COLUMN `badgeId` SET DEFAULT ''; +ALTER TABLE `EMSRegistrantToken` ALTER COLUMN `tokenAssetId` SET DEFAULT ''; +ALTER TABLE `EMSRibbon` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `EMSRibbon` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `EMSSubmission` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `EMSSubmission` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `EMSSubmission` ALTER COLUMN `submissionId` SET DEFAULT 0; +ALTER TABLE `EMSSubmissionForm` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `EMSSubmissionForm` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `EMSTicket` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `EMSTicket` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `EMSToken` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `EMSToken` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Event` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Event` ALTER COLUMN `storageId` SET DEFAULT ''; +ALTER TABLE `EventManagementSystem` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `EventManagementSystem` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `EventManagementSystem` ALTER COLUMN `registrationStaffGroupId` SET DEFAULT ''; +ALTER TABLE `Event_recur` ALTER COLUMN `recurId` SET DEFAULT ''; +ALTER TABLE `Event_relatedlink` ALTER COLUMN `eventlinkId` SET DEFAULT ''; +ALTER TABLE `Event_relatedlink` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Event_relatedlink` ALTER COLUMN `groupIdView` SET DEFAULT ''; +ALTER TABLE `FileAsset` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `FileAsset` ALTER COLUMN `storageId` SET DEFAULT ''; +ALTER TABLE `FileAsset` ALTER COLUMN `filename` SET DEFAULT ''; +ALTER TABLE `FileAsset` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `FlatDiscount` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Folder` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Folder` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Gallery` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Gallery` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `GalleryAlbum` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `GalleryAlbum` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `GalleryFile` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `GalleryFile` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `GalleryFile_comment` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `GalleryFile_comment` ALTER COLUMN `commentId` SET DEFAULT ''; +ALTER TABLE `HttpProxy` ALTER COLUMN `cookieJarStorageId` SET DEFAULT ''; +ALTER TABLE `HttpProxy` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `HttpProxy` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `ImageAsset` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `InOutBoard` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_delegates` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_delegates` ALTER COLUMN `delegateUserId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_delegates` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_status` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_status` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_status` ALTER COLUMN `dateStamp` SET DEFAULT 0; +ALTER TABLE `InOutBoard_statusLog` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_statusLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `InOutBoard_statusLog` ALTER COLUMN `dateStamp` SET DEFAULT 0; +ALTER TABLE `Layout` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Layout` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Map` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Map` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `MapPoint` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `MapPoint` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Matrix` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Matrix` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Matrix` ALTER COLUMN `submissionApprovalWorkflowId` SET DEFAULT ''; +ALTER TABLE `MatrixListing` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `MatrixListing` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `MatrixListing_attribute` ALTER COLUMN `matrixId` SET DEFAULT ''; +ALTER TABLE `MatrixListing_attribute` ALTER COLUMN `matrixListingId` SET DEFAULT ''; +ALTER TABLE `MatrixListing_attribute` ALTER COLUMN `attributeId` SET DEFAULT ''; +ALTER TABLE `MatrixListing_rating` ALTER COLUMN `listingId` SET DEFAULT ''; +ALTER TABLE `MatrixListing_rating` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `MatrixListing_ratingSummary` ALTER COLUMN `listingId` SET DEFAULT ''; +ALTER TABLE `MatrixListing_ratingSummary` ALTER COLUMN `category` SET DEFAULT ''; +ALTER TABLE `MatrixListing_ratingSummary` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Matrix_attribute` ALTER COLUMN `attributeId` SET DEFAULT ''; +ALTER TABLE `Matrix_attribute` ALTER COLUMN `category` SET DEFAULT ''; +ALTER TABLE `Matrix_attribute` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `MessageBoard` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `MessageBoard` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `MultiSearch` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Navigation` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Navigation` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Newsletter` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Newsletter` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Newsletter_subscriptions` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Newsletter_subscriptions` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `PA_lastLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `PA_lastLog` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `PA_lastLog` ALTER COLUMN `sessionId` SET DEFAULT ''; +ALTER TABLE `PA_lastLog` ALTER COLUMN `url` SET DEFAULT ''; +ALTER TABLE `PM_project` ALTER COLUMN `projectId` SET DEFAULT ''; +ALTER TABLE `PM_project` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `PM_project` ALTER COLUMN `creationDate` SET DEFAULT 0; +ALTER TABLE `PM_project` ALTER COLUMN `createdBy` SET DEFAULT ''; +ALTER TABLE `PM_project` ALTER COLUMN `lastUpdatedBy` SET DEFAULT ''; +ALTER TABLE `PM_project` ALTER COLUMN `lastUpdateDate` SET DEFAULT 0; +ALTER TABLE `PM_task` ALTER COLUMN `taskId` SET DEFAULT ''; +ALTER TABLE `PM_task` ALTER COLUMN `projectId` SET DEFAULT ''; +ALTER TABLE `PM_task` ALTER COLUMN `taskName` SET DEFAULT ''; +ALTER TABLE `PM_task` ALTER COLUMN `creationDate` SET DEFAULT 0; +ALTER TABLE `PM_task` ALTER COLUMN `createdBy` SET DEFAULT ''; +ALTER TABLE `PM_task` ALTER COLUMN `lastUpdatedBy` SET DEFAULT ''; +ALTER TABLE `PM_task` ALTER COLUMN `lastUpdateDate` SET DEFAULT 0; +ALTER TABLE `PM_taskResource` ALTER COLUMN `taskResourceId` SET DEFAULT ''; +ALTER TABLE `PM_taskResource` ALTER COLUMN `taskId` SET DEFAULT ''; +ALTER TABLE `PM_taskResource` ALTER COLUMN `sequenceNumber` SET DEFAULT 0; +ALTER TABLE `PM_taskResource` ALTER COLUMN `resourceKind` SET DEFAULT 'user'; +ALTER TABLE `PM_taskResource` ALTER COLUMN `resourceId` SET DEFAULT ''; +ALTER TABLE `PM_wobject` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `PM_wobject` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Photo` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Photo` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Photo_rating` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Poll` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Poll` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Poll_answer` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `Poll_answer` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Post` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Post` ALTER COLUMN `threadId` SET DEFAULT ''; +ALTER TABLE `Post` ALTER COLUMN `storageId` SET DEFAULT ''; +ALTER TABLE `Post_rating` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Post_rating` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `Post_rating` ALTER COLUMN `ipAddress` SET DEFAULT ''; +ALTER TABLE `Product` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Product` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `RichEdit` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `SQLReport` ALTER COLUMN `databaseLinkId1` SET DEFAULT ''; +ALTER TABLE `SQLReport` ALTER COLUMN `databaseLinkId2` SET DEFAULT ''; +ALTER TABLE `SQLReport` ALTER COLUMN `databaseLinkId3` SET DEFAULT ''; +ALTER TABLE `SQLReport` ALTER COLUMN `databaseLinkId4` SET DEFAULT ''; +ALTER TABLE `SQLReport` ALTER COLUMN `databaseLinkId5` SET DEFAULT ''; +ALTER TABLE `SQLReport` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `SQLReport` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Shelf` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Shortcut` ALTER COLUMN `overrideTemplateId` SET DEFAULT ''; +ALTER TABLE `Shortcut` ALTER COLUMN `shortcutCriteria` SET DEFAULT ''; +ALTER TABLE `Shortcut` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Shortcut` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Shortcut` ALTER COLUMN `shortcutToAssetId` SET DEFAULT ''; +ALTER TABLE `Shortcut_overrides` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Shortcut_overrides` ALTER COLUMN `fieldName` SET DEFAULT ''; +ALTER TABLE `StockData` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Story` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Story` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `StoryArchive` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `StoryArchive` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `StoryTopic` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `StoryTopic` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Subscription` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Subscription` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Subscription` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Subscription` ALTER COLUMN `redeemSubscriptionCodeTemplateId` SET DEFAULT ''; +ALTER TABLE `Subscription_code` ALTER COLUMN `code` SET DEFAULT ''; +ALTER TABLE `Subscription_code` ALTER COLUMN `batchId` SET DEFAULT ''; +ALTER TABLE `Subscription_codeBatch` ALTER COLUMN `batchId` SET DEFAULT ''; +ALTER TABLE `Subscription_codeBatch` ALTER COLUMN `subscriptionId` SET DEFAULT ''; +ALTER TABLE `Subscription_codeBatch` ALTER COLUMN `expirationDate` SET DEFAULT 0; +ALTER TABLE `Subscription_codeBatch` ALTER COLUMN `dateCreated` SET DEFAULT 0; +ALTER TABLE `Survey` ALTER COLUMN `overviewTemplateId` SET DEFAULT ''; +ALTER TABLE `Survey` ALTER COLUMN `gradebookTemplateId` SET DEFAULT ''; +ALTER TABLE `Survey` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Survey` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `Survey` ALTER COLUMN `timeLimit` SET DEFAULT 0; +ALTER TABLE `Survey_questionTypes` ALTER COLUMN `questionType` SET DEFAULT ''; +ALTER TABLE `Survey_questionTypes` ALTER COLUMN `answers` SET DEFAULT ''; +ALTER TABLE `Survey_response` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Survey_response` ALTER COLUMN `Survey_responseId` SET DEFAULT ''; +ALTER TABLE `Survey_tempReport` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Survey_tempReport` ALTER COLUMN `Survey_responseId` SET DEFAULT ''; +ALTER TABLE `Survey_tempReport` ALTER COLUMN `order` SET DEFAULT 0; +ALTER TABLE `Survey_tempReport` ALTER COLUMN `sectionNumber` SET DEFAULT 0; +ALTER TABLE `Survey_tempReport` ALTER COLUMN `questionNumber` SET DEFAULT 0; +ALTER TABLE `Survey_tempReport` ALTER COLUMN `entryDate` SET DEFAULT 0; +ALTER TABLE `Survey_test` ALTER COLUMN `testId` SET DEFAULT ''; +ALTER TABLE `Survey_test` ALTER COLUMN `test` SET DEFAULT ''; +ALTER TABLE `SyndicatedContent` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `SyndicatedContent` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `SyndicatedContent` ALTER COLUMN `hasTerms` SET DEFAULT ''; +ALTER TABLE `TT_projectList` ALTER COLUMN `projectId` SET DEFAULT ''; +ALTER TABLE `TT_projectList` ALTER COLUMN `projectName` SET DEFAULT ''; +ALTER TABLE `TT_projectList` ALTER COLUMN `creationDate` SET DEFAULT 0; +ALTER TABLE `TT_projectList` ALTER COLUMN `createdBy` SET DEFAULT ''; +ALTER TABLE `TT_projectList` ALTER COLUMN `lastUpdatedBy` SET DEFAULT ''; +ALTER TABLE `TT_projectList` ALTER COLUMN `lastUpdateDate` SET DEFAULT 0; +ALTER TABLE `TT_projectResourceList` ALTER COLUMN `projectId` SET DEFAULT ''; +ALTER TABLE `TT_projectResourceList` ALTER COLUMN `resourceId` SET DEFAULT ''; +ALTER TABLE `TT_projectTasks` ALTER COLUMN `taskId` SET DEFAULT ''; +ALTER TABLE `TT_projectTasks` ALTER COLUMN `projectId` SET DEFAULT ''; +ALTER TABLE `TT_projectTasks` ALTER COLUMN `taskName` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `reportId` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `startDate` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `endDate` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `resourceId` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `creationDate` SET DEFAULT 0; +ALTER TABLE `TT_report` ALTER COLUMN `createdBy` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `lastUpdatedBy` SET DEFAULT ''; +ALTER TABLE `TT_report` ALTER COLUMN `lastUpdateDate` SET DEFAULT 0; +ALTER TABLE `TT_timeEntry` ALTER COLUMN `entryId` SET DEFAULT ''; +ALTER TABLE `TT_timeEntry` ALTER COLUMN `projectId` SET DEFAULT ''; +ALTER TABLE `TT_timeEntry` ALTER COLUMN `taskId` SET DEFAULT ''; +ALTER TABLE `TT_timeEntry` ALTER COLUMN `taskDate` SET DEFAULT ''; +ALTER TABLE `TT_timeEntry` ALTER COLUMN `reportId` SET DEFAULT ''; +ALTER TABLE `TT_wobject` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `TT_wobject` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Thingy` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Thingy` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `Thingy` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `ThingyRecord` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `ThingyRecord` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `ThingyRecord_record` ALTER COLUMN `recordId` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `thingId` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `fieldId` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `sequenceNumber` SET DEFAULT 0; +ALTER TABLE `Thingy_fields` ALTER COLUMN `dateCreated` SET DEFAULT 0; +ALTER TABLE `Thingy_fields` ALTER COLUMN `createdBy` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `dateUpdated` SET DEFAULT 0; +ALTER TABLE `Thingy_fields` ALTER COLUMN `updatedBy` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `label` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `fieldType` SET DEFAULT ''; +ALTER TABLE `Thingy_fields` ALTER COLUMN `status` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `thingId` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `label` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `editScreenTitle` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `groupIdAdd` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `groupIdEdit` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `saveButtonLabel` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `afterSave` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `editTemplateId` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `groupIdView` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `viewTemplateId` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `defaultView` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `searchScreenTitle` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `groupIdSearch` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `groupIdImport` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `groupIdExport` SET DEFAULT ''; +ALTER TABLE `Thingy_things` ALTER COLUMN `searchTemplateId` SET DEFAULT ''; +ALTER TABLE `Thread` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `Thread` ALTER COLUMN `lastPostId` SET DEFAULT ''; +ALTER TABLE `Thread` ALTER COLUMN `subscriptionGroupId` SET DEFAULT ''; +ALTER TABLE `Thread_read` ALTER COLUMN `threadId` SET DEFAULT ''; +ALTER TABLE `Thread_read` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `UserList` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `WeatherData` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `WikiMaster` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `WikiMaster` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `WikiMasterKeywords` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `WikiMasterKeywords` ALTER COLUMN `keyword` SET DEFAULT ''; +ALTER TABLE `WikiPage` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `WikiPage` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `WikiPage` ALTER COLUMN `actionTaken` SET DEFAULT ''; +ALTER TABLE `WikiPage` ALTER COLUMN `actionTakenBy` SET DEFAULT ''; +ALTER TABLE `Workflow` ALTER COLUMN `workflowId` SET DEFAULT ''; +ALTER TABLE `WorkflowActivity` ALTER COLUMN `activityId` SET DEFAULT ''; +ALTER TABLE `WorkflowActivity` ALTER COLUMN `workflowId` SET DEFAULT ''; +ALTER TABLE `WorkflowActivityData` ALTER COLUMN `activityId` SET DEFAULT ''; +ALTER TABLE `WorkflowActivityData` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `WorkflowInstance` ALTER COLUMN `instanceId` SET DEFAULT ''; +ALTER TABLE `WorkflowInstance` ALTER COLUMN `workflowId` SET DEFAULT ''; +ALTER TABLE `WorkflowInstance` ALTER COLUMN `currentActivityId` SET DEFAULT ''; +ALTER TABLE `WorkflowInstanceScratch` ALTER COLUMN `instanceId` SET DEFAULT ''; +ALTER TABLE `WorkflowInstanceScratch` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `WorkflowSchedule` ALTER COLUMN `taskId` SET DEFAULT ''; +ALTER TABLE `WorkflowSchedule` ALTER COLUMN `workflowId` SET DEFAULT ''; +ALTER TABLE `ZipArchiveAsset` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `ZipArchiveAsset` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `ZipArchiveAsset` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `adSkuPurchase` ALTER COLUMN `adSkuPurchaseId` SET DEFAULT ''; +ALTER TABLE `adSpace` ALTER COLUMN `adSpaceId` SET DEFAULT ''; +ALTER TABLE `adSpace` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `adSpace` ALTER COLUMN `title` SET DEFAULT ''; +ALTER TABLE `address` ALTER COLUMN `addressId` SET DEFAULT ''; +ALTER TABLE `address` ALTER COLUMN `addressBookId` SET DEFAULT ''; +ALTER TABLE `addressBook` ALTER COLUMN `addressBookId` SET DEFAULT ''; +ALTER TABLE `advertisement` ALTER COLUMN `adId` SET DEFAULT ''; +ALTER TABLE `advertisement` ALTER COLUMN `adSpaceId` SET DEFAULT ''; +ALTER TABLE `advertisement` ALTER COLUMN `ownerUserId` SET DEFAULT ''; +ALTER TABLE `advertisement` ALTER COLUMN `title` SET DEFAULT ''; +ALTER TABLE `analyticRule` ALTER COLUMN `ruleId` SET DEFAULT ''; +ALTER TABLE `asset` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `asset` ALTER COLUMN `parentId` SET DEFAULT ''; +ALTER TABLE `asset` ALTER COLUMN `lineage` SET DEFAULT ''; +ALTER TABLE `asset` ALTER COLUMN `state` SET DEFAULT ''; +ALTER TABLE `asset` ALTER COLUMN `className` SET DEFAULT ''; +ALTER TABLE `assetAspectComments` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `assetAspectComments` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `assetAspectRssFeed` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `assetAspectRssFeed` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `assetAspect_Subscribable` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `assetAspect_Subscribable` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `assetData` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `assetData` ALTER COLUMN `revisedBy` SET DEFAULT ''; +ALTER TABLE `assetData` ALTER COLUMN `tagId` SET DEFAULT ''; +ALTER TABLE `assetData` ALTER COLUMN `url` SET DEFAULT ''; +ALTER TABLE `assetData` ALTER COLUMN `ownerUserId` SET DEFAULT ''; +ALTER TABLE `assetData` ALTER COLUMN `groupIdView` SET DEFAULT ''; +ALTER TABLE `assetData` ALTER COLUMN `groupIdEdit` SET DEFAULT ''; +ALTER TABLE `assetHistory` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `assetHistory` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `assetHistory` ALTER COLUMN `actionTaken` SET DEFAULT ''; +ALTER TABLE `assetIndex` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `assetKeyword` ALTER COLUMN `keyword` SET DEFAULT ''; +ALTER TABLE `assetKeyword` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `assetVersionTag` ALTER COLUMN `tagId` SET DEFAULT ''; +ALTER TABLE `assetVersionTag` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `assetVersionTag` ALTER COLUMN `createdBy` SET DEFAULT ''; +ALTER TABLE `assetVersionTag` ALTER COLUMN `committedBy` SET DEFAULT ''; +ALTER TABLE `assetVersionTag` ALTER COLUMN `lockedBy` SET DEFAULT ''; +ALTER TABLE `assetVersionTag` ALTER COLUMN `groupToUse` SET DEFAULT ''; +ALTER TABLE `assetVersionTag` ALTER COLUMN `workflowId` SET DEFAULT ''; +ALTER TABLE `authentication` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `authentication` ALTER COLUMN `authMethod` SET DEFAULT ''; +ALTER TABLE `authentication` ALTER COLUMN `fieldName` SET DEFAULT ''; +ALTER TABLE `bucketLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `cache` ALTER COLUMN `namespace` SET DEFAULT ''; +ALTER TABLE `cache` ALTER COLUMN `cachekey` SET DEFAULT ''; +ALTER TABLE `cache` ALTER COLUMN `expires` SET DEFAULT 0; +ALTER TABLE `cache` ALTER COLUMN `size` SET DEFAULT 0; +ALTER TABLE `cart` ALTER COLUMN `cartId` SET DEFAULT ''; +ALTER TABLE `cart` ALTER COLUMN `sessionId` SET DEFAULT ''; +ALTER TABLE `cartItem` ALTER COLUMN `itemId` SET DEFAULT ''; +ALTER TABLE `cartItem` ALTER COLUMN `cartId` SET DEFAULT ''; +ALTER TABLE `cartItem` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `cartItem` ALTER COLUMN `dateAdded` SET DEFAULT '0000-00-00 00:00:00'; +ALTER TABLE `databaseLink` ALTER COLUMN `databaseLinkId` SET DEFAULT ''; +ALTER TABLE `databaseLink` ALTER COLUMN `additionalParameters` SET DEFAULT ''; +ALTER TABLE `deltaLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `deltaLog` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `deltaLog` ALTER COLUMN `url` SET DEFAULT ''; +ALTER TABLE `donation` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `donation` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `donation` ALTER COLUMN `templateId` SET DEFAULT ''; +ALTER TABLE `filePumpBundle` ALTER COLUMN `bundleId` SET DEFAULT ''; +ALTER TABLE `filePumpBundle` ALTER COLUMN `jsFiles` SET DEFAULT ''; +ALTER TABLE `filePumpBundle` ALTER COLUMN `cssFiles` SET DEFAULT ''; +ALTER TABLE `filePumpBundle` ALTER COLUMN `otherFiles` SET DEFAULT ''; +ALTER TABLE `friendInvitations` ALTER COLUMN `inviteId` SET DEFAULT ''; +ALTER TABLE `friendInvitations` ALTER COLUMN `inviterId` SET DEFAULT ''; +ALTER TABLE `friendInvitations` ALTER COLUMN `friendId` SET DEFAULT ''; +ALTER TABLE `friendInvitations` ALTER COLUMN `dateSent` SET DEFAULT '0000-00-00 00:00:00'; +ALTER TABLE `friendInvitations` ALTER COLUMN `comments` SET DEFAULT ''; +ALTER TABLE `friendInvitations` ALTER COLUMN `messageId` SET DEFAULT ''; +ALTER TABLE `groupGroupings` ALTER COLUMN `groupId` SET DEFAULT ''; +ALTER TABLE `groupGroupings` ALTER COLUMN `inGroup` SET DEFAULT ''; +ALTER TABLE `groupings` ALTER COLUMN `groupId` SET DEFAULT ''; +ALTER TABLE `groupings` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `groups` ALTER COLUMN `groupId` SET DEFAULT ''; +ALTER TABLE `groups` ALTER COLUMN `databaseLinkId` SET DEFAULT ''; +ALTER TABLE `imageColor` ALTER COLUMN `colorId` SET DEFAULT ''; +ALTER TABLE `imageFont` ALTER COLUMN `fontId` SET DEFAULT ''; +ALTER TABLE `imagePalette` ALTER COLUMN `paletteId` SET DEFAULT ''; +ALTER TABLE `imagePaletteColors` ALTER COLUMN `paletteId` SET DEFAULT ''; +ALTER TABLE `imagePaletteColors` ALTER COLUMN `colorId` SET DEFAULT ''; +ALTER TABLE `imagePaletteColors` ALTER COLUMN `paletteOrder` SET DEFAULT 0; +ALTER TABLE `inbox` ALTER COLUMN `messageId` SET DEFAULT ''; +ALTER TABLE `inbox` ALTER COLUMN `dateStamp` SET DEFAULT 0; +ALTER TABLE `inbox_messageState` ALTER COLUMN `messageId` SET DEFAULT ''; +ALTER TABLE `inbox_messageState` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `incrementer` ALTER COLUMN `incrementerId` SET DEFAULT ''; +ALTER TABLE `karmaLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `ldapLinkId` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `ldapLinkName` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `ldapUrl` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `connectDn` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `identifier` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `ldapAccountTemplate` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `ldapCreateAccountTemplate` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `ldapLoginTemplate` SET DEFAULT ''; +ALTER TABLE `ldapLink` ALTER COLUMN `ldapDeactivateAccountTemplate` SET DEFAULT ''; +ALTER TABLE `mailQueue` ALTER COLUMN `messageId` SET DEFAULT ''; +ALTER TABLE `metaData_properties` ALTER COLUMN `fieldId` SET DEFAULT ''; +ALTER TABLE `metaData_properties` ALTER COLUMN `fieldName` SET DEFAULT ''; +ALTER TABLE `metaData_properties` ALTER COLUMN `description` SET DEFAULT ''; +ALTER TABLE `metaData_values` ALTER COLUMN `fieldId` SET DEFAULT ''; +ALTER TABLE `metaData_values` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `passiveAnalyticsStatus` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `passiveLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `passiveLog` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `passiveLog` ALTER COLUMN `sessionId` SET DEFAULT ''; +ALTER TABLE `passiveLog` ALTER COLUMN `url` SET DEFAULT ''; +ALTER TABLE `passiveProfileAOI` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `passiveProfileAOI` ALTER COLUMN `fieldId` SET DEFAULT ''; +ALTER TABLE `passiveProfileAOI` ALTER COLUMN `value` SET DEFAULT ''; +ALTER TABLE `passiveProfileLog` ALTER COLUMN `passiveProfileLogId` SET DEFAULT ''; +ALTER TABLE `passiveProfileLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `passiveProfileLog` ALTER COLUMN `sessionId` SET DEFAULT ''; +ALTER TABLE `passiveProfileLog` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `paymentGateway` ALTER COLUMN `paymentGatewayId` SET DEFAULT ''; +ALTER TABLE `redirect` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `replacements` ALTER COLUMN `replacementId` SET DEFAULT ''; +ALTER TABLE `search` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `settings` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `shipper` ALTER COLUMN `shipperId` SET DEFAULT ''; +ALTER TABLE `shopCredit` ALTER COLUMN `creditId` SET DEFAULT ''; +ALTER TABLE `shopCredit` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `sku` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `sku` ALTER COLUMN `revisionDate` SET DEFAULT 0; +ALTER TABLE `sku` ALTER COLUMN `sku` SET DEFAULT ''; +ALTER TABLE `sku` ALTER COLUMN `shipsSeparately` SET DEFAULT 0; +ALTER TABLE `snippet` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `taxDriver` ALTER COLUMN `className` SET DEFAULT ''; +ALTER TABLE `tax_eu_vatNumbers` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `tax_eu_vatNumbers` ALTER COLUMN `countryCode` SET DEFAULT ''; +ALTER TABLE `tax_eu_vatNumbers` ALTER COLUMN `vatNumber` SET DEFAULT ''; +ALTER TABLE `tax_generic_rates` ALTER COLUMN `taxId` SET DEFAULT ''; +ALTER TABLE `tax_generic_rates` ALTER COLUMN `country` SET DEFAULT ''; +ALTER TABLE `template` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `transaction` ALTER COLUMN `transactionId` SET DEFAULT ''; +ALTER TABLE `transaction` ALTER COLUMN `orderNumber` SET DEFAULT 0; +ALTER TABLE `transaction` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `transaction` ALTER COLUMN `username` SET DEFAULT ''; +ALTER TABLE `transactionItem` ALTER COLUMN `itemId` SET DEFAULT ''; +ALTER TABLE `transactionItem` ALTER COLUMN `transactionId` SET DEFAULT ''; +ALTER TABLE `userInvitations` ALTER COLUMN `inviteId` SET DEFAULT ''; +ALTER TABLE `userInvitations` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `userInvitations` ALTER COLUMN `email` SET DEFAULT ''; +ALTER TABLE `userLoginLog` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `userProfileCategory` ALTER COLUMN `profileCategoryId` SET DEFAULT ''; +ALTER TABLE `userProfileData` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `userProfileField` ALTER COLUMN `fieldName` SET DEFAULT ''; +ALTER TABLE `userProfileField` ALTER COLUMN `profileCategoryId` SET DEFAULT ''; +ALTER TABLE `userSession` ALTER COLUMN `sessionId` SET DEFAULT ''; +ALTER TABLE `userSession` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `userSessionScratch` ALTER COLUMN `sessionId` SET DEFAULT ''; +ALTER TABLE `userSessionScratch` ALTER COLUMN `name` SET DEFAULT ''; +ALTER TABLE `users` ALTER COLUMN `userId` SET DEFAULT ''; +ALTER TABLE `users` ALTER COLUMN `referringAffiliate` SET DEFAULT ''; +ALTER TABLE `users` ALTER COLUMN `friendsGroup` SET DEFAULT ''; +ALTER TABLE `vendor` ALTER COLUMN `vendorId` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog` ALTER COLUMN `payoutId` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog` ALTER COLUMN `isSuccessful` SET DEFAULT 0; +ALTER TABLE `vendorPayoutLog` ALTER COLUMN `paypalTimestamp` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog` ALTER COLUMN `amount` SET DEFAULT 0; +ALTER TABLE `vendorPayoutLog` ALTER COLUMN `currency` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog` ALTER COLUMN `correlationId` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog` ALTER COLUMN `paymentInformation` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog_items` ALTER COLUMN `payoutId` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog_items` ALTER COLUMN `transactionItemId` SET DEFAULT ''; +ALTER TABLE `vendorPayoutLog_items` ALTER COLUMN `amount` SET DEFAULT 0; +ALTER TABLE `wobject` ALTER COLUMN `assetId` SET DEFAULT ''; +ALTER TABLE `wobject` ALTER COLUMN `styleTemplateId` SET DEFAULT ''; +ALTER TABLE `wobject` ALTER COLUMN `printableStyleTemplateId` SET DEFAULT ''; diff --git a/etc/www.example.com.conf b/etc/www.example.com.conf new file mode 100644 index 000000000..bd83e4276 --- /dev/null +++ b/etc/www.example.com.conf @@ -0,0 +1,1132 @@ +# config-file-type: JSON 1 + +{ + +# Add a comma separated list of the names this site can use. +# The first site in the list will be used as the default +# sitename for generating offline URLs and other functions. + +"sitename" : [ + "www.example.com", + "example.com", + "localhost" + ], + +# Set to 1 if you want to use WebGUI's SSL functions, including encrypting user logins. + +"sslEnabled" : 0, + +# Rename the WebGUI Session cookie if you like. + +"cookieName" : "wgSession", + +# Explicitly set the domain that the WebGUI session cookie +# should be assigned to. Defaults to the domain that the user +# is browsing the site under. + +# "cookieDomain" : ".example.com", + +# Explicitly set the time to live for the WebGUI session cookie +# Defaults to +10Y. cookieTTL must follow the described format: +# Format should match /^\+?(\d+)([YMDhms]?)$/ +# $2 qualifies the number in $1 as representing "Y"ears, +# "M"onths, "D"ays, "h"ours, "m"inutes, or "s"econds (if the qualifier is omitted, +# the number is interpreted as representing seconds). +# +1h = 1 hour +# +2D = 2 Days +# +3M = 3 Months +# +10Y = 10 Years (default) + +# This may also be set to the word "session" to have cookies live +# for the current browser session only. + +# "cookieTTL" : "+10Y", + +# The location where the WebGUI server will be handling +# requests. This is normally just '/' or the root of the +# server, but on some installations it might be /webgui or +# /site1, /site2, etc. If this is set to anything other than +# '/' then a matching block should +# contain the WebGUI handler instead in the Apache +# VirtualHost configuration. + +"gateway" : "/", + +# The relative or fully qualified URL to the extras folder +# that comes with WebGUI. + +"extrasURL" : "/extras", + +# The filesystem path to get to the extras folder that ships +# with WebGUI. + +"extrasPath" : "/data/WebGUI/www/extras", + +# The relative for fully qualified URL to the uploads folder +# for this site where all attachments will be stored. + +"uploadsURL" : "/uploads", + +# The filesystem path to get to the uploads folder where all +# attachments for this site will be stored. This needs to be +# writable by your web server. + +"uploadsPath" : "/data/WebGUI/www/uploads", + +# Set this value to 1 if you want rich editors to use the +# WebGUI asset URLs for images rather than their real URLs +# in the uploads folder. The advantage of this is that users +# see short clean WebGUI controlled URLs. However, this is +# slower than the default. + +"richEditorsUseAssetUrls" : 1, + +# Used to generate user facing URLs. +# If you are not running your web server on the standard +# port (80) then use this setting to specify that. If you +# are running WebGUI behind a proxy, then webServerPort should +# be set to which ever port the proxy is listening to. + +#"webServerPort" : 80, + +# What kind of cache do you wish to use? Available types are +# WebGUI::Cache::FileCache and WebGUI::Cache::Database. +# We highly recommend the database cache if you are running +# sites with more than a few hundred pages, or if you're +# running in a multi-server environment. The file cache is better +# for very small sites. + +"cacheType" : "WebGUI::Cache::FileCache", + +# Tell WebGUI where to store cached files. Defaults to the +# /tmp or c:\temp folder depending upon your operating system. + +# "fileCacheRoot" : "/path/to/cache", + +# Set this to 1 to disable WebGUI's caching subsystems. This is +# mainly useful for developers. + +"disableCache" : 0, + +# The database connection string. It usually takes the form of +# DBI::;host: + +"dsn" : "DBI:mysql:www_example_com;host=db", + +# The username to authenticate to the above database. + +"dbuser" : "webgui", + +# The password to authenticate to the above database. + +"dbpass" : "123qwe", + +# You can configure up to three read-only database slaves to +# increase WebGUI's read performance. + +# "dbslave1" : { +# "dsn" : "DBI:mysql:www_example_com;host=dbslave1.example.com", +# "user" : "webgui", +# "pass" : "password" +# }, + +# "dbslave2" : { +# "dsn" : "DBI:mysql:www_example_com;host=dbslave2.example.com", +# "user" : "webgui", +# "pass" : "password" +# }, + +# "dbslave3" : { +# "dsn" : "DBI:mysql:www_example_com;host=dbslave3.example.com", +# "user" : "webgui", +# "pass" : "password" +# }, + +# You can configure a backup master database as a failover in case +# your primary database goes down. WebGUI will use this database until +# the original becomes available. However, this does nothing to change +# the settings of your database. If it was set up as a slave until the +# master went down, then some script will have to be written to convert +# it from a slave to a master. + +# "failoverdb" : { +# "dsn" : "DBI:mysql:www_example_com;host=failover.example.com;port=3306", +# "user" : "webgui", +# "password" : "password" +# }, + +# If you have a multi-master set up, you must define increment_step and increment_offset +# to prevent merge conflicts between the different masters. increment_step should be set +# to the number of masters, and offset should be unique to each master, starting at 0. +# +# So, a 2-master cluster would define: +# Master 1: +# increment_step: 2 +# increment_offset: 0 +# Master 2: +# increment_step: 2 +# increment_offset: 1 +# +# "db" : { +# "increment_step" : 1, +# "increment_offset" : 0 +# }, + + +# Set this value if you wish to override all outbound emails to a specific +# user for testing purposes. + +# "emailOverride" : "joe@example.com", + +# Set this value if you wish to bypass sending email to the mailserver alltogether. +# This will instead pipe email messages to the log, removing them from the queue normally + +# "emailToLog" : "1", + +# By adding CIDR based subnets to the following array you can limit the +# subnets by which users can turn admin mode on. + +"adminModeSubnets" : [ ], + +# List the authentication plug-ins you wish to be available on +# this site. + +"authMethods" : [ "LDAP", "WebGUI", "Twitter" ], + +# List the merchant gateways you have installed and wish to be +# available on this site. + +"paymentDrivers" : [ + "WebGUI::Shop::PayDriver::Cash", + "WebGUI::Shop::PayDriver::ITransact", + "WebGUI::Shop::PayDriver::PayPal::PayPalStd", + "WebGUI::Shop::PayDriver::PayPal::ExpressCheckout", + "WebGUI::Shop::PayDriver::CreditCard::AuthorizeNet", + "WebGUI::Shop::PayDriver::Ogone" + ], + +# List the shipping drivers you have installed and wish to be +# available for configuration on the site. + +"shippingDrivers" : [ + "WebGUI::Shop::ShipDriver::FlatRate", + "WebGUI::Shop::ShipDriver::USPS", + "WebGUI::Shop::ShipDriver::USPSInternational", + "WebGUI::Shop::ShipDriver::UPS" + ], + +# Specify the list of template parsers available in the system. + +"templateParsers" : [ + "WebGUI::Asset::Template::HTMLTemplate" + ], + +# Enable the Survey Expression Engine, which allows goto expressions in +# the config. + +"enableSurveyExpressionEngine" : 0, + +# Specify the default template parser. + +"defaultTemplateParser" : "WebGUI::Asset::Template::HTMLTemplate", + +# Specify external helper apps that will enable WebGUI's search +# engine to index content in various uploaded file formats. The +# helpers must take the path to the file as an argument and +# return either text or html content. + +"searchIndexerPlugins" : { + "txt" : "/bin/cat", + "readme" : "/bin/cat", + "html" : "/bin/cat", + "htm" : "/bin/cat" + }, + + +# define what appears in the admin console and who can view it + +"adminConsole" : { + "loginHistory" : { + "icon" : "loginHistory.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=viewLoginHistory);", + "title" : "^International(426,WebGUI);", + "groupSetting" : "groupIdAdminLoginHistory" + }, + "clipboard" : { + "icon" : "clipboard.gif", + "group" : "12", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",func=manageClipboard);", + "title" : "^International(948,WebGUI);" + }, + "statistics" : { + "icon" : "statistics.gif", + "uiLevel" : 1, + "url" : "^PageUrl(\"\",op=viewStatistics);", + "title" : "^International(437,WebGUI);", + "groupSetting" : "groupIdAdminStatistics" + }, + "users" : { + "icon" : "users.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=listUsers);", + "title" : "^International(149,WebGUI);", + "groupSetting" : "groupIdAdminUser" + }, + "activeSessions" : { + "icon" : "activeSessions.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=viewActiveSessions);", + "title" : "^International(425,WebGUI);", + "groupSetting" : "groupIdAdminActiveSessions" + }, + "inbox" : { + "icon" : "inbox.gif", + "group" : "2", + "uiLevel" : 1, + "url" : "^PageUrl(\"\",op=viewInbox);", + "title" : "^International(159,WebGUI);" + }, + "versions" : { + "icon" : "versionTags.gif", + "uiLevel" : 7, + "url" : "^PageUrl(\"\",op=manageVersions);", + "title" : "^International(version tags,VersionTag);", + "groupSetting" : "groupIdAdminVersionTag" + }, + "help" : { + "icon" : "help.gif", + "uiLevel" : 1, + "url" : "^PageUrl(\"\",op=viewHelpIndex);", + "title" : "^International(help,WebGUI);", + "groupSetting" : "groupIdAdminHelp" + }, + "groups" : { + "icon" : "groups.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=listGroups);", + "title" : "^International(89,WebGUI);", + "groupSetting" : "groupIdAdminGroup" + }, + "userProfiling" : { + "icon" : "userProfiling.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=editProfileSettings);", + "title" : "^International(user profiling,WebGUIProfile);", + "groupSetting" : "groupIdAdminProfileSettings" + }, + "ldapconnections" : { + "icon" : "ldap.gif", + "uiLevel" : 9, + "url" : "^PageUrl(\"\",op=listLDAPLinks);", + "title" : "^International(ldapconnections,AuthLDAP);", + "groupSetting" : "groupIdAdminLDAPLink" + }, + "contentProfiling" : { + "icon" : "contentProfiling.gif", + "group" : "4", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",func=manageMetaData);", + "title" : "^International(content profiling,Asset);" + }, + "databases" : { + "icon" : "databases.gif", + "uiLevel" : 9, + "url" : "^PageUrl(\"\",op=listDatabaseLinks);", + "title" : "^International(databases,WebGUI);", + "groupSetting" : "groupIdAdminDatabaseLink" + }, + "adSpace" : { + "icon" : "advertising.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=manageAdSpaces);", + "title" : "^International(topicName,AdSpace);", + "groupSetting" : "groupIdAdminAdSpace" + }, + "settings" : { + "icon" : "settings.gif", + "group" : "3", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=editSettings);", + "title" : "^International(settings,WebGUI);" + }, + "workflow" : { + "icon" : "workflow.gif", + "uiLevel" : 7, + "url" : "^PageUrl(\"\",op=manageWorkflows);", + "title" : "^International(topicName,Workflow);", + "groupSetting" : "groupIdAdminWorkflow" + }, + "assets" : { + "icon" : "assets.gif", + "group" : "12", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=assetManager);", + "title" : "^International(assets,Asset);" + }, + "assetHistory" : { + "icon" : "assetHistory.gif", + "groupSetting" : "groupIdAdminHistory", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=assetHistory);", + "title" : "^International(assetHistory,Asset);" + }, + "graphics" : { + "icon" : "graphics.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=listGraphicsOptions);", + "title" : "^International(manage graphics,Graphics);", + "groupSetting" : "groupIdAdminGraphics" + }, + "passiveAnalytics" : { + "icon" : "passiveAnalytics.png", + "uiLevel" : 1, + "url" : "^PageUrl(\"\",op=passiveAnalytics;func=editRuleflow);", + "title" : "^International(Passive Analytics,PassiveAnalytics);", + "groupSetting" : "3" + }, + "shop" : { + "icon" : "shop.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",shop=admin);", + "title" : "^International(shop,Shop);", + "groupSetting" : "groupIdAdminCommerce" + }, + "trash" : { + "icon" : "trash.gif", + "group" : "12", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",func=manageTrash);", + "title" : "^International(trash,WebGUI);" + }, + "cron" : { + "icon" : "cron.gif", + "uiLevel" : 9, + "url" : "^PageUrl(\"\",op=manageCron);", + "title" : "^International(topicName,Workflow_Cron);", + "groupSetting" : "groupIdAdminCron" + }, + "spectre" : { + "icon" : "spectre.gif", + "uiLevel" : 9, + "url" : "^PageUrl(\"\",op=spectreStatus);", + "title" : "^International(spectre,Spectre);", + "groupSetting" : "groupIdAdminSpectre" + }, + "adminConsoleOff" : { + "icon" : "adminConsoleOff.gif", + "uiLevel" : 1, + "group" : "12", + "url" : "^PageUrl(\"\",op=switchOffAdmin);", + "title" : "^International(12,WebGUI);" + }, + "addons" : { + "icon" : "addons.png", + "uiLevel" : 1, + "group" : "12", + "url" : "http://www.webgui.org/addons", + "title" : "^International(Addons title,WebGUI);" + }, + "contentFilters" : { + "icon" : "contentFilters.gif", + "uiLevel" : 3, + "url" : "^PageUrl(\"\",op=listReplacements);", + "title" : "^International(content filters,WebGUI);", + "groupSetting" : "groupIdAdminReplacements" + }, + "cache" : { + "icon" : "cache.gif", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=manageCache);", + "title" : "^International(manage cache,WebGUI);", + "groupSetting" : "groupIdAdminCache" + }, + "filePump" : { + "icon" : "filePump.png", + "uiLevel" : 5, + "url" : "^PageUrl(\"\",op=filePump);", + "title" : "^International(File Pump,FilePump);", + "groupSetting" : "groupIdAdminFilePump" + } +}, + +# Enter the maximum number of assets that should be allowed to +# be created on this site. Keep in mind that a base install of +# WebGUI has around 300 assets. Enter zero (0) if you want to +# allow an unlimited number. + +"maximumAssets" : 0, + +# Specify the list of categories to display in the "New Content" +# menu. The category names should match those used in the "assets" +# hash later in this config. Each category can have three properties: +# +# title - The human readable name of the category. +# uiLevel - The minimum UI level the user must have to see the category. +# group - A group id the user must be in to see the category. + +"assetCategories" : { + "basic" : { + "uiLevel" : 1, + "title" : "^International(basic,Macro_AdminBar);" + }, + "shop" : { + "uiLevel" : 5, + "title" : "^International(shop,Shop);" + }, + "utilities" : { + "uiLevel" : 9, + "title" : "^International(utilities,Macro_AdminBar);" + }, + "community" : { + "uiLevel" : 5, + "title" : "^International(community,Macro_AdminBar);" + }, + "intranet" : { + "uiLevel" : 5, + "title" : "^International(intranet,Macro_AdminBar);" + } +}, + +# Specify the list of assets you want to appear in your +# "New Content" menu categories. See "assetCategories" for details +# about categories. Each listing has a key of class name, and then +# has several properties, which are: +# +# category - The category the asset should appear in. Can also be an array of categories. +# isContainer - Whether or not the assets main purpose to display the data from other assets. +# addGroup - The group the user must be in to add this asset. +# uiLevel - The minimum UI level the user must have to add the asset. +# fields - Edit the properties of the asset. +# tabs - Edit the tabs on which the fields are displayed when editing the asset. +# +# The "fields" property above may override any property of any field in this +# asset class. Examples are label, tab, uiLevel. You must know what you're +# doing with this, because you could break an asset if you set something wrong +# with these properties. Here's an example of wha the fields poperty might look like: +# +# "fields" : { +# "title" : { +# "label" : "Name", +# "tab" : "basic" +# }, +# "synopsis" : { +# "label" : "Abstract", +# "uiLevel" : 3 +# } +# } +# +# The "tabs" property allows you to to create new, hide, and update existing tabs in +# the asset. Each tab has two properties: +# +# uiLevel - The minimum UI level the user must have to view the tab. +# label - The human readable label for the tab. +# +# Here's an example of what a tabls section might look like: +# +# "tabs" : { +# "basic" : { +# "label" : "Basic", +# "uiLevel" : 1 +# }, +# "meta" : { +# "uiLevel" : 99999 +# }, +# "security" : { +# "label" : "Protection" +# } +# } + +"assets" : { + "WebGUI::Asset::Wobject::Shelf" : { + "category" : "shop" + }, + "WebGUI::Asset::Wobject::Layout" : { + "isContainer" : 1, + "category" : "basic" + }, + "WebGUI::Asset::Wobject::Gallery" : { + "category" : "community" + }, + "WebGUI::Asset::Wobject::DataTable" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::DataForm" : { + "category" : "basic" + }, + "WebGUI::Asset::Sku::Ad" : { + "category" : "shop" + }, + "WebGUI::Asset::Sku::Donation" : { + "category" : "shop" + }, + "WebGUI::Asset::Sku::ThingyRecord" : { + "category" : "shop" + }, + "WebGUI::Asset::Wobject::UserList" : { + "category" : "intranet" + }, + "WebGUI::Asset::Wobject::EventManagementSystem" : { + "category" : "shop" + }, + "WebGUI::Asset::Sku::Subscription" : { + "category" : "shop" + }, + "WebGUI::Asset::Wobject::WikiMaster" : { + "isContainer" : 1, + "category" : "community" + }, + "WebGUI::Asset::Wobject::StoryArchive" : { + "isContainer" : 1, + "category" : "community" + }, + "WebGUI::Asset::Wobject::StoryTopic" : { + "category" : "community" + }, + "WebGUI::Asset::Wobject::Carousel" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::StockData" : { + "category" : "intranet" + }, + "WebGUI::Asset::FilePile" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::Collaboration" : { + "category" : "community" + }, + "WebGUI::Asset::Wobject::Survey" : { + "category" : "community" + }, + "WebGUI::Asset::File::ZipArchive" : { + "category" : "utilities" + }, + "WebGUI::Asset::RichEdit" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::SyndicatedContent" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::HttpProxy" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::MultiSearch" : { + "category" : "intranet" + }, + "WebGUI::Asset::File::Image" : { + "category" : "utilities" + }, + "WebGUI::Asset::Sku::Product" : { + "category" : "shop" + }, + "WebGUI::Asset::Wobject::WeatherData" : { + "category" : "intranet" + }, + "WebGUI::Asset::Redirect" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::Article" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::AssetReport" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::Search" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::MessageBoard" : { + "isContainer" : 1, + "category" : "community" + }, + "WebGUI::Asset::Wobject::SQLReport" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::TimeTracking" : { + "category" : "intranet" + }, + "WebGUI::Asset::Wobject::Calendar" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::Poll" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::ProjectManager" : { + "category" : "intranet" + }, + "WebGUI::Asset::Wobject::Folder" : { + "isContainer" : 1, + "category" : "basic" + }, + "WebGUI::Asset::Wobject::Navigation" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::Matrix" : { + "category" : "community" + }, + "WebGUI::Asset::Sku::FlatDiscount" : { + "category" : "shop" + }, + "WebGUI::Asset::Wobject::Thingy" : { + "category" : "intranet" + }, + "WebGUI::Asset::File" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::Collaboration::Newsletter" : { + "category" : "community" + }, + "WebGUI::Asset::Snippet" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::InOutBoard" : { + "category" : "intranet" + }, + "WebGUI::Asset::Wobject::Dashboard" : { + "isContainer" : 1, + "category" : "intranet" + }, + "WebGUI::Asset::Wobject::DataForm" : { + "category" : "basic" + }, + "WebGUI::Asset::Template" : { + "category" : "utilities" + }, + "WebGUI::Asset::Wobject::Map" : { + "category" : "basic" + }, + "WebGUI::Asset::Wobject::AssetReport" : { + "category" : "utilities" + }, +}, + +# +# Specify the list of account pluggins available on your site. +# Account pluggins are returned on the site in the order they are list in the config file +# Each pluggin has serveral properties +# +# identifier - This string will act as the identifying agent for this account pluggin. It is passed along +# the url and cannot contain spaces. +# title - The title of the module which is displayed on the website. +# className - The class which drives this module + +# +# IMPORTANT NOTE - PLEASE READ: +# +# DO NOT DELETE THE WebGUI::Account::User pluggin from this list. This module +# is Deprecated on release and is mandatory for every site. You may move it's position +# but if you remove it you will break WebGUI's Authentication System. This module will +# be replaced in WebGUI 8 once the APIs can be broken and the Account portion of Auth +# can be moved into the Account system +# +# A profile module is required as well. You may replace the default profile +# module with a custom version, but many systems in WebGUI rely on being +# able to display a user's profile. +# + +"account" : [ + { + "identifier" : "profile", + "title" : "^International(title,Account_Profile);", + "className" : "WebGUI::Account::Profile" + }, + { + "identifier" : "inbox", + "title" : "^International(title,Account_Inbox);", + "className" : "WebGUI::Account::Inbox" + }, + { + "identifier" : "friends", + "title" : "^International(title,Account_Friends);", + "className" : "WebGUI::Account::Friends" + }, + { + "identifier" : "contributions", + "className" : "WebGUI::Account::Contributions", + "title" : "^International(title,Account_Contributions);" + }, + { + "identifier" : "shop", + "title" : "^International(title,Account_Shop);", + "className" : "WebGUI::Account::Shop" + }, + { + "identifier" : "user", + "title" : "^International(title,Account_User);", + "className" : "WebGUI::Account::User" + }, + { + "identifier" : "friendManager", + "title" : "^International(title,Account_FriendManager);", + "className" : "WebGUI::Account::FriendManager" + }, +], + +# Specify which of the modules in the above list is used +# to display the user's profile. This is a mandatory configuration + +"profileModuleIdentifier" : "profile", + +# Optionally add a "Save and Commit" button to assets so that you +# don't have to hit "Commit My Changes" seperately. + +"enableSaveAndCommit" : 0, + +# Optionally override the default UI Level of any asset. This +# determines whether the current user has the appropriate UI Level +# to add assets of that type. + +# Configure the UI Levels of the asset toolbar links. + +"assetToolbarUiLevel" : { + "copy" : 1, + "cut" : 1, + "delete" : 1, + "edit" : 1, + "view" : 1, + "demote" : 3, + "promote" : 3, + "lock" : 5, + "manage" : 5, + "revisions" : 5, + "shortcut" : 5, + "changeUrl" : 9, + "editBranch" : 9, + "export" : 9 + }, + +# If exportPath is defined, an "Export" toolbar icon will appear +# which allows you to export assets to static HTML. This folder +# needs to be writable by your web server. + +# "exportPath" : "/path/to/export", + +# Enable streaming Image and File assets thru mod_perl process instead of +# simple redirect. WARNING has impact on performance. + +"enableStreamingUploads" : "0", + +# Specify the list of macros you wish to be processed on each page. + +"macros" : { + "@" : "At_username", + "#" : "Hash_userId", + "/" : "Slash_gatewayUrl", + "a" : "a_account", + "AdminBar" : "AdminBar", + "AdminText" : "AdminText", + "AdminToggle" : "AdminToggle", + "AdSpace" : "AdSpace", + "AOIHits" : "AOIHits", + "AOIRank" : "AOIRank", + "AssetProperty" : "AssetProperty", + "AssetProxy" : "AssetProxy", + "BackToSite" : "BackToSite", + "CanEditText" : "CanEditText", + "CartItemCount" : "CartItemCount", + "ConvertUTCToTZ" : "ConvertUTCToTZ", + "c" : "c_companyName", + "D" : "D_date", + "DeactivateAccount": "DeactivateAccount", + "EditableToggle" : "EditableToggle", + "e" : "e_companyEmail", + "Extras" : "Extras", + "FetchMimeType" : "FetchMimeType", + "FilePump" : "FilePump", + "FileUrl" : "FileUrl", + "FormField" : "FormField", + "GroupAdd" : "GroupAdd", + "GroupDelete" : "GroupDelete", + "GroupText" : "GroupText", + "H" : "H_homeLink", + "If" : "If", + "International" : "International", + "LastModified" : "LastModified", + "LastModifiedBy" : "LastModifiedBy", + "L" : "L_loginBox", + "LoginToggle" : "LoginToggle", + "MiniCart" : "MiniCart", + "Page" : "Page", + "PageTitle" : "PageTitle", + "PageUrl" : "PageUrl", + "PickLanguage" : "PickLanguage", + "RandomAssetProxy" : "RandomAssetProxy", + "RandomThread" : "RandomThread", + "RenderThingData" : "RenderThingData", + "RootTitle" : "RootTitle", + "r" : "r_printable", + "Spacer" : "Spacer", + "SpectreCheck" : "SpectreCheck", + "TwitterLogin" : "TwitterLogin", + "Thumbnail" : "Thumbnail", + "User" : "User", + "UsersOnline" : "UsersOnline", + "u" : "u_companyUrl", + "ViewCart" : "ViewCart", + "StorageUrl" : "StorageUrl" + }, + +#Specify any LDAP aliases for synchronizing user profiles to LDAP +"ldapAlias" : { + "firstName" : "givenName", + "lastName" : "sn", + "email" : "mail", + "companyName" : "o" + }, + +# Define the subnets that WebGUI should expect Spectre communication +# to come from. All other subnets will be ignored. The subnet +# should be listed in CIDR notation. + +"spectreSubnets" : [ "127.0.0.1/32" ], + +# Define the IP Address that should be used by WebGUI to connect +# to Spectre. Depending upon your cluster configuration, this may +# or may not be the same as the information in spectreSubnets. + +"spectreIp" : "127.0.0.1", + +# Define the port number WebGUI should use to connect to Spectre + +"spectrePort" : 32133, + +# Define the workflow activities that are available in the editing +# process and what object types they support. + +"workflowActivities" : { + "None" : [ + "WebGUI::Workflow::Activity::ArchiveOldStories", + "WebGUI::Workflow::Activity::ArchiveOldThreads", + "WebGUI::Workflow::Activity::CalendarUpdateFeeds", + "WebGUI::Workflow::Activity::CleanCookieJars", + "WebGUI::Workflow::Activity::CleanDatabaseCache", + "WebGUI::Workflow::Activity::CleanFileCache", + "WebGUI::Workflow::Activity::CleanLoginHistory", + "WebGUI::Workflow::Activity::CleanTempStorage", + "WebGUI::Workflow::Activity::CreateCronJob", + "WebGUI::Workflow::Activity::DecayKarma", + "WebGUI::Workflow::Activity::DeleteExpiredSessions", + "WebGUI::Workflow::Activity::ExpireEmsCartItems", + "WebGUI::Workflow::Activity::ExpireGroupings", + "WebGUI::Workflow::Activity::ExpireSubscriptionCodes", + "WebGUI::Workflow::Activity::GetSyndicatedContent", + "WebGUI::Workflow::Activity::NotifyAdminsWithOpenVersionTags", + "WebGUI::Workflow::Activity::PurgeOldAssetRevisions", + "WebGUI::Workflow::Activity::PurgeOldTrash", + "WebGUI::Workflow::Activity::RemoveOldCarts", + "WebGUI::Workflow::Activity::SendQueuedMailMessages", + "WebGUI::Workflow::Activity::SummarizePassiveProfileLog", + "WebGUI::Workflow::Activity::SyncProfilesToLdap", + "WebGUI::Workflow::Activity::TrashClipboard", + "WebGUI::Workflow::Activity::TrashExpiredEvents", + "WebGUI::Workflow::Activity::SummarizePassiveAnalytics", + "WebGUI::Workflow::Activity::BucketPassiveAnalytics", + "WebGUI::Workflow::Activity::ExpirePurchasedThingyRecords" + ], + "WebGUI::Asset::Wobject::Thingy" : [ + "WebGUI::Workflow::Activity::NotifyAboutThing" + ], + "WebGUI::Asset" : [ + "WebGUI::Workflow::Activity::UpdateAssetSubscribers" + ], + "WebGUI::User" : [ + "WebGUI::Workflow::Activity::CreateCronJob", + "WebGUI::Workflow::Activity::NotifyAboutUser", + "WebGUI::Workflow::Activity::ActivateUser", + "WebGUI::Workflow::Activity::DeactivateUser", + "WebGUI::Workflow::Activity::WaitForUserConfirmation", + "WebGUI::Workflow::Activity::DeleteUser" + ], + "WebGUI::VersionTag" : [ + "WebGUI::Workflow::Activity::CommitVersionTag", + "WebGUI::Workflow::Activity::CreateCronJob", + "WebGUI::Workflow::Activity::ExportVersionTagToHtml", + "WebGUI::Workflow::Activity::NotifyAboutVersionTag", + "WebGUI::Workflow::Activity::RequestApprovalForVersionTag", + "WebGUI::Workflow::Activity::RequestApprovalForVersionTag::ByCommitterGroup", + "WebGUI::Workflow::Activity::RequestApprovalForVersionTag::ByLineage", + "WebGUI::Workflow::Activity::RollbackVersionTag", + "WebGUI::Workflow::Activity::TrashVersionTag", + "WebGUI::Workflow::Activity::UnlockVersionTag", + "WebGUI::Workflow::Activity::WaitUntil" + ] + }, + +# Enter the graphing plugins that you want to enable for your site. + +"graphingPlugins" : [ + "WebGUI::Image::Graph::Pie", + "WebGUI::Image::Graph::XYGraph::Bar", + "WebGUI::Image::Graph::XYGraph::Line" + ], + +# Here you can define the dictionaries that are available through the tinyMCE spellchecker. You should set +# id to the name the dictionary is known by ASpell (eg. en or en_US or nl), use the name parameter to set +# the name the dictionary is displayed with in tinyMCE. To set the default dictionary please set the 'default' +# parameter. + +#"availableDictionaries" : [ +# { +# "id" : "en_US", +# "name" : "English", +# "default" : "1" +# }, +# { +# "id" : "nl", +# "name" : "Dutch" +# } +#], + +# Optional script to run upon successful login. The script can contain macros +# ex: /data/WebGUI/sbin/doLogin.pl --configFile=dev.localhost.localdomain.conf --loginPage=^PageUrl(); + +"runOnLogin" : "", + +# Optional script to run upon successful logout. The script can contain macros +# Example: /data/WebGUI/sbin/doLogout.pl --configFile=dev.localhost.localdomain.conf --logoutPage=^PageUrl(); + +"runOnLogout" : "", + +# URL handlers are used to associate functionality with a URL via a regular expression. + +"urlHandlers" : [ + { "^/extras" : "WebGUI::URL::PassThru" }, +# { "^/icons" : "WebGUI::URL::PassThru" }, +# { "^/documentation/pdf" : "WebGUI::URL::PassThru" }, +# { "^/my-custom-application$" : "WebGUI::URL::PassThru" }, +# { "^/server-status$" : "WebGUI::URL::PassThru" }, +# { "^/perl-status$" : "WebGUI::URL::PassThru" }, + { "^/uploads/dictionaries" : "WebGUI::URL::Unauthorized" }, + { "^/uploads" : "WebGUI::URL::Uploads" }, + { "^/\\*give-credit-where-credit-is-due\\*$" : "WebGUI::URL::Credits" }, + { "^/abcdefghijklmnopqrstuvwxyz$" : "WebGUI::URL::Snoop" }, + { ".*" : "WebGUI::URL::Content" } + ], + +# Content handlers are used to produce content from the content URL handler. +# Note, these handlers are processed in the order listed. Do not change +# unless you know what you're doing. + +"contentHandlers" : [ + "WebGUI::Content::Prefetch", + "WebGUI::Content::Maintenance", + "WebGUI::Content::Referral", + "WebGUI::Content::AssetManager", + "WebGUI::Content::AssetDiscovery", + "WebGUI::Content::PassiveAnalytics", + "WebGUI::Content::SetLanguage", + "WebGUI::Content::AjaxI18N", + "WebGUI::Content::Account", + "WebGUI::Content::AssetHistory", + "WebGUI::Content::FilePump", + "WebGUI::Content::Wizard", + "WebGUI::Content::Operation", + "WebGUI::Content::Setup", + "WebGUI::Content::Shop", + "WebGUI::Content::SiteIndex", + "WebGUI::Content::Asset", + "WebGUI::Content::NotFound" + ], + + +# extensions that the export system should pass through as-is instead of using +# index.html +"exportBinaryExtensions" : [ + "html", + "htm", + "txt", + "pdf", + "jpg", + "css", + "gif", + "png", + "doc", + "xls", + "xml", + "rss", + "bmp", + "mp3", + "js", + "fla", + "flv", + "swf", + "pl", + "php", + "php3", + "php4", + "php5", + "ppt", + "docx", + "zip", + "tar", + "rar", + "gz", + "bz2" +], + +# Drivers for the pluggable tax system +"taxDrivers" : [ + "WebGUI::Shop::TaxDriver::Generic", + "WebGUI::Shop::TaxDriver::EU" +], + +# Content Delivery Network - for use with WebGUI::Storage +# required for CDN: enabled, url, queuePath, syncProgram, deleteProgram +# optional for CDN: sslAlt, sslUrl, extrasCdn, extrasSsl, extrasExclude +#"cdn" : { "enabled" : 0, +# "url" : "http://content.example.com", +# "sslAlt" : 0, +# "sslUrl" : "https://ssl.example.com", +# "queuePath" : "/data/cdnqueue", +# "syncProgram" : "/usr/bin/rsync -av --chmod=u+rwx -- '%s' user@content.example.com:/path", +# "deleteProgram" : "/usr/bin/ssh user@content.example.com 'rm -Rf -- %s'", +# "extrasCdn" : "http://content.example.com/extras", +# "extrasSsl" : "https://content.example.com/extras", +# "extrasExclude": ["tinymce", "^blah$"] +# }, + +#A list of UserAgents of recognized mobile platforms. If useMobileStyle is set in the +#Admin settings, then the mobile style will be used for these browsers. + "mobileUserAgents" : [ + "AvantGo", + "DoCoMo", + "Vodafone", + "EudoraWeb", + "Minimo", + "UP\\.Browser", + "PLink", + "Plucker", + "NetFront", + "^WM5 PIE$", + "Xiino", + "iPhone", + "Opera Mobi", + "BlackBerry", + "Opera Mini", + "HP iPAQ", + "IEMobile", + "Profile/MIDP", + "Smartphone", + "Symbian ?OS", + "J2ME/MIDP", + "PalmSource", + "PalmOS", + "Windows CE", + "Opera Mini" + ], + +# For the siteIndex content plugin. Whether or not the auto-generated siteIndex should +# show hidden pages + "siteIndex" : { + "showHiddenPages" : 0 + }, + +# An array of SPAM words. Used in the Post and WikiPage to block spam by sending the asset directly +# to the trash. + "spamStopWords" : [ + ], + +# A flag to enable a very simple SSO mechanism using sessionIds. + "enableSimpleSSO" : 0 + +}