####################################################################
#                      WebGUI Upgrade Gotchas                      #
####################################################################

This file contains a list of any changes you should be aware of when
upgrading from one version to the next, or even between multiple
versions. Be sure to heed the warnings contained herein as they will
save you many hours of grief.


6.0.0
--------------------------------------------------------------------
 * As part of the upgrade process our scripts will attempt to
	migrate your styles, page, FAQ, Item, Link List, and
	SQL Report templates. However, the migration scripts are not
	perfect due to the wide-variety of templates out there, so
	you may need to update some portions of your templates
	manually.

 * The Authentication Module API has been completely rewritten.
	Please see docs/migration.txt for details.


5.5.0
--------------------------------------------------------------------
 * If you have any custom Message Board templates they will be
	destroyed as they no longer apply to the new discussion
	system. If you want to save them, please copy them to a
	safe location prior to the upgrade.

 * If you were doing any custom coding against the userDefined
	fields in the old discussion system, please be aware that
	these fields no longer exist in the new discussion system
	due to the complexities of the new system.

 * If you have any SQL Reports or custom macros that pull data from 
	discussions then you'll need to rebuild them because the 
	discussion data structures have changed significantly.

 * Due to a previous bug in WebGUI some databases will have duplicate
	usernames. WebGUI 5.5.0 has a mechanism to make this
	impossible, but in order for it to work we must first get rid
	of all the duplicates. Therefore some usernames will be
	renamed with an integer like at the end. So if you have two
	users called "joe" then one of them will be renamed to "joe1".


5.4.1
--------------------------------------------------------------------
 * The programmer macros have been disabled by default in the sample
	config file.

 * The SQL macro no longer allows write actions.


5.4.0
--------------------------------------------------------------------
 * Page caching has been moved to individual pages rather than a
	global setting. As a result all pages have been defaulted
	back to the original setting.


5.3.2
--------------------------------------------------------------------
 * On some systems the ^\; macro is not specified properly in the
	config file. It should be \\ even though the macro is only
	\. We will probably replace this macro's identifer with a 
	text identifier in the future to avoid this problem.


5.3.1
--------------------------------------------------------------------
 * If you downloaded and installed 5.3.0 from scratch (not an 
	upgrade) then you've likely noticed it didn't work. The
	create script for new installs was faulty due to a build
	process problem. You'll need to drop the database and start
	the install from scratch with 5.3.1.

	NOTE: Users upgrading from another version to 5.3.0 or 5.3.1
	should have no problems and can disregard this message.


5.3.0
--------------------------------------------------------------------
 * If you are not using sbin/upgrade.pl then you'll need to do all
	of the processing handled by docs/upgrades/upgrade_5.2.5-5.3.0.pl
	manually.

 * You must add a new variable to your WebGUI config called "sitename"
	and make it equal to your site hostname like this:
 
	sitename = www.mycompany.com

 * You'll need to add two new Perl modules on some platforms. They are
	Compress::Zlib and Archive::Tar.

	perl -MCPAN -e shell
	install Archive::Tar
	install Compress::Zlib
	exit


5.2.0
--------------------------------------------------------------------
 * You'll need to add a section to the style sheet of each one of
	your styles so that the new tabs system in WebGUI looks
	the way it should. For most people the following should do
	quite nicely:

	.tab {
  		border: 1px solid black;
   		background-color: #eeeeee;
	}
	.tabBody {
	   	border: 1px solid black;
   		border-top: 1px solid black;
   		border-left: 1px solid black;
   		background-color: #dddddd; 
	}
	div.tabs {
    		line-height: 15px;
    		font-size: 14px;
	}
	.tabHover {
   		background-color: #cccccc;
	}
	.tabActive { 
   		background-color: #dddddd; 
	}

	See the WebGUI help system about "Styles, Using" for more
	information and examples.

 * If you have downloaded and installed the HttpProxy wobject from
	the contributions then you will need to delete it prior to
	upgrading or the database upgrade will fail. To remove it
	from the database just run the following commands from your
	MySQL prompt:

	drop table HttpProxy;
	delete from Wobject where namespace='HttpProxy';

 * If you're using any custom macros you'll need to get them updated
	before using this release as the macro system has changed
	significantly. Macros written for versions prior to 5.2.0
	are not compatible with this version or after.

 * All discussions and user submission systems now have a property
	for filtering content. This filter has been set to remove
	javascript and macros, but you may wish to set these to one
	of the other options.

 * The discussions on USS and Articles have been turned off. They'll
	need to be manually turned back on.

 * The wobject API has changed significantly. It is backward
	compatible for the time being, but if you're building custom
	wobjects, you should migrate them to the new API. Doing so
	will likely reduce a lot of the code in your wobject as an
	added benefit.

 * If you do not use the automatic upgrade utility, you'll also need
	to take note of the following gotchas:

 	 * The setting "cachePages" has been removed from the config 
		file. It has been moved to the content settings page 
		inside the UI.

	 * The setting "cacheInternational" has been removed from the 
		config file. The international messages are now 
		automatically cached if caching is available.

	 * After upgrading please remove the SyndicatedContent.pm 
		file from sbin/Hourly as it is no longer required, 
		and will cause problems if it is not removed.

	 * imageCollateralImport.pl has been replaced by 
		collateralImport.pl. Please delete 
		imageCollateralImport.pl.

	 * The config file syntax has changed. Update your config
		file to match etc/WebGUI.conf.original.


5.1.0
--------------------------------------------------------------------
 * If you were using the DeleteExpiredGroupings hourly plug-in prior
	to this version, please note that its configuration has 
	changed. It is now configurable per group through the WebGUI 
	user interface.  You may remove any config file variables 
	you were previously using to configure it.

 * The privilege overrides have been removed from the settings. They
	are now redundant with the advent of groups of groups.
 	Therefore if you were making use of this functionality,
	you'll need to start using groups of groups instead.


5.0.0
--------------------------------------------------------------------
 * Some users reported a problem with the collateral system where
	they lost images after the upgrade to 5.0.0. This was most
	likely due to the gotcha mentioned in 4.9.2, but if you have
	any doubts, you can move all your images to the root folder
	of the collateral manager with this SQL query.

	update collateral set collateralFolderId=0;


4.9.4
--------------------------------------------------------------------
 * The "extras" property in the config file has been renamed to
	"extrasURL". You also need to add an "extrasPath" to your
	config file that points to the server path of your extras
	folder.


4.9.3
--------------------------------------------------------------------
 * The import utilities imImport.pl and dmImport.pl have been
	renamed to imageCollateralImport.pl and fileManagerImport.pl
	respectively. Please delete imImport.pl and dmImport.pl from
	your sbin folder.

 * The upgrade files for versions below 3.0.0 and previousVersion.sql
	have been removed from the distribution in order to make the
	distribution smaller. If you need these files you can still
	find them in the CVS repository at
	http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pbwebgui/WebGUI/docs/ 


4.9.2
--------------------------------------------------------------------
 * If you upgraded to any of the previous betas before the release
	of 4.9.2 then you will need to execute the following SQL
	command on each of your databases. If you went straight from
	a previous stable release (4.6.9 or before) to 4.9.2 (or
	after), then please disregard this message.

	update collateralFolder set parentId=parentId+999 where 
	collateralFolderId>0 and collateralFolderId<1000;


4.9.0
--------------------------------------------------------------------
 * If you created any templates using the previous two beta versions
	(4.7.0 or 4.8.0) then you'll need to tweak your templates as
	the template language has changed slightly for greater
	flexibility.

 * All Link Lists have been reset to the default template.

 * All Site Maps have been reset to the default template.


4.8.0
--------------------------------------------------------------------
 * If you are an administrator, but your userId is not 3 you will
	notice that all the forms in WebGUI are shortened
	considerably. This is due to the new UI Levels. If you wish
	see all the form elements then use the user manager to edit
	your user profile and set your UI Level to 9.


4.7.0
--------------------------------------------------------------------
 * WebGUI::HTMLForm->radioList has been changed to correct an API
	error. However, if your applications use this method, this
	change will break your application. If you do not use any
	third-party or custom plug-ins, you can disregard this
	warning.

 * DownloadManager.pm in lib/WebGUI/Wobject has been renamed to
 	FileManager.pm. Please delete DownloadManager.pm from your
	installation after upgrading.

 * UserSubmission.pm in lib/WebGUI/Wobject has been renamed to
        USS.pm. Please delete UserSubmission.pm from your 
	installation after upgrading.

 * Many of WebGUI's default data structures have been altered. If
	you are using SQL Reports that access WebGUI's data
	structures directly, please be sure to alter them after
	the upgrade.

 * The Product template system has been merged into the system-wide
	template system. If you have created any custom product
	templates they templates will be lost during the upgrade
	process. Be sure to copy them to a save place before 
	upgrading.

 * All FAQ's have been reset to use the default template.

 * You may need to upgrade your CGI bundle because we are now using
	some of the newer functionality in the CGI::Util package.

4.6.3
--------------------------------------------------------------------
 * It has been reported that some people had a duplicate key error
	when upgrading from 4.5.0 to 4.6.0. This version has removed
	the possibility of that problem. The error actually didn't
	cause anything more than cosmetic problems. You have the
	choice of restoring to a backup version and reapplying the
	patches, or just moving forward. Either way will produce
	the same result.

4.6.0
--------------------------------------------------------------------
 * The runHourly scheduler has been updated to allow for more
	types of automation. This update has caused an
	incompatibility in old scheduler plug-ins. If you have not
	installed any third-party scheduler plug-ins, then you have
	nothing to worry about. However, if you do have some
	scheduler plug-ins that didn't come with WebGUI, then please
	contact the person or company that made it to get an
	upgrade.

4.3.0
--------------------------------------------------------------------
 * The settings "extras", "uploadsURL", and "uploadsPath" have all 
	been moved to the config file to make installations easier. 
	This means that you must add those lines to your old 
	configuration files before you upgrade. See 
	etc/WebGUI.conf.original for details. 

 * For wobject and macro developers this also means that any third-
	party wobjects that use those settings, must be modified to 
	use the new variable name. The following is the change in 
	relationship:

	$session{setting}{lib} = $session{config}{extras}
	$session{setting}{attachmentDirectoryWeb} = $session{config}{uploadsURL}
	$session{setting}{attachmentDirectoryLocal} = $session{config}{uploadsPath}

4.2.0
--------------------------------------------------------------------
 * All Discussion properties have been reset to enable the new
	discussion moderation features. If you are using discussions
	on your site, you'll need to set these properties back to
	whatever you were using. Note that none of the actual
	discussion data has been changed or lost.

4.1.0
--------------------------------------------------------------------
 * Between 3.6.5 and now, much of the WebGUI filesystem has changed
	dramatically. If you've been copying new WebGUI installs
	over the top of old WebGUI installs, you may want to
	consider starting with a clean slate. To do that just move
	your WebGUI folder to WebGUI.old and put the latest
	WebGUI distribution in its place. Then copy any necessary
	files (like conf files) from WebGUI.old to your new WebGUI
	folder.

3.10.0 && 3.10.1
--------------------------------------------------------------------
 * Be very very careful when applying the patch files for these
	releases. On most fileystems they come alpha-numerically
	before all of the other 3.x.x patches. Don't be fooled by
	this. They must be applied AFTER the 
	upgrade_3.9.0-3.10.0.sql patch. This is the order in which
	the patches MUST be applied:

	upgrade_3.9.0-3.10.0.sql
	upgrade_3.10.0-3.10.1.sql
	upgrade_3.10.1-4.0.0.sql

3.9.0
--------------------------------------------------------------------
 * The offline executables (runHourly.pl, testEnvironment.pl,
	and preload.perl) have been moved to the sbin folder.

3.8.0
--------------------------------------------------------------------
 * Widgets are being replaced with Wobjects. Any custom widgets
	you're using need to be replaced with new Wobjects or
	they will cease to function. Please contact the developer
	of the widget immediately to have them upgrade it to
	a Wobject.
 * The "Registered Users" group no longer has the privilege of 
	doing whatever "Visitors" can do. Instead we have created
	a new group called "Everyone", which means registered users
	and visitors alike can do whatever is assigned to the
	"Everyone" group. 

3.6.0
--------------------------------------------------------------------
 * You need to get a new Perl module called HTML::Parser before you 
	upgrade. You probably already have this module installed,
	but we had to warn those of you who don't. 
 * If your first install was WebGUI 3.5.2 then you are missing a
	necessary table. 3.5.2 was released without this code in
        create.sql. Execute the following code on your database:

	CREATE TABLE webguiVersion (
  		webguiVersion varchar(10) default NULL,
  		versionType varchar(30) default NULL,
  		dateApplied int(11) default NULL
	);
	insert into webguiVersion values 
	('3.5.2','intitial install',unix_timestamp());

	NOTE: If you upgraded to 3.5.2 from any version, you are
	not at risk. Do not apply the above update.

3.3.0
--------------------------------------------------------------------
 * You need to get a new Perl module before you upgrade. It is
	Image::Magick. On some systems you may also need to download
	and compile the C compliment to it from www.imagemagick.org.

3.2.1
--------------------------------------------------------------------
 * We released a faulty upgrade script with 3.2.0. If you happened 
	to be one of the unlucky people who upgraded to 3.2.0, apply 
	3.2.1 immediately. If you didn't upgrade to 3.2.0 then all 
	your upgrades will appear normal. If you installed 3.2.0 
	from scratch then DO NOT EVER apply the 3.2.1 upgrade!

3.2.0
--------------------------------------------------------------------
 * You need to get two new Perl modules before you upgrade. Those
 	are Date::Calc and HTML::CalendarMonthSimple.


3.0.2
--------------------------------------------------------------------
 * 3.0.2 was accidentally released with an internal version number
	of 3.0.1. If you're having problems figuring out what
	version you actually have, look at the definition of your
	widget table. If you see a field with the name
	"widgetType", then you're on 3.0.1. If you have a field
	named "namespace", then you're on 3.0.2.

3.0.1
--------------------------------------------------------------------
 * The macro syntax of old has officially been removed. If you're
	still using the old macro syntax, you must change them to
	the new syntax to avoid problems.

	Example: ^r => ^r; 
	Example: ^m3^/m => ^m(3);

3.0.0
--------------------------------------------------------------------
 * All 3rd-party widgets, macros, and templates that were not
	designed specifically for 3.x.x versions will no longer
	function properly.

2.7.0
--------------------------------------------------------------------
 * If your 3rd-party widgets, macros, templates, and utilities have
	not been broken by any other 2.x.x release, they will most
	certainly be broken by this one. The good news is that if
	you build any of those things on 2.7.0 or after, they
	should continue to work for the foreseeable future.

2.6.0
--------------------------------------------------------------------
 * If you've already downloaded the Item widget from the contributed
	section on the Plain Black site, it will be replaced with
	the now built in Item widget. You may notice an error
	regarding this when upgrading the database. You can ignore
	it.

2.5.0
--------------------------------------------------------------------
 * Any third-party Widgets you have installed are likely not to work
	any longer unless they have been updated to work with
	the new templating features in WebGUI.

2.4.0
--------------------------------------------------------------------
 * You must convert your old macros to the new format by version
	3.0.0 or they will become unusable.
 * The "extras" and "uploads" directories have been moved into the
	"www" directory so that aliases do not need to be created
	in your web server.

2.3.2
--------------------------------------------------------------------
 * Upgrade scripts are no longer available from the Plain Black
	web site. They are now included in every distribution under
	"docs/upgrades".

2.1.0
--------------------------------------------------------------------
 * The Widget and Macro architecture will be changing severely
	between now and 3.0.0. If you're using or creating any
	third-party widgets they will cease to function over the
	course of this development. Before upgrading, be certain
	that the Macro or Widget complies with all new 
	specifications.

