####################################################################
#                      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.3.0
--------------------------------------------------------------------
 * If you're using languages other than English, you'll need to get
	new versions of those language files before upgrading. The
	language file format has a new requirement.


6.2.8
--------------------------------------------------------------------
 * Due to a bug in the theme system, if you created any themes in any
	6.2.x version prior to 6.2.8 they will need to be deleted and
	recreated. Otherwise they will export a corrupt theme file.


6.2.2
--------------------------------------------------------------------
 * If you used 6.1.1 for a while, and feel like there's something
	wrong with your navigation or page tree, then there just
	might be. We corrected a rather large problem in the Page
	system that could have caused page tree corruption. To test
	and fix this problem, get the page tree tools from the user
	contribs area of plainblack.com. Be sure to back up your
	databases before using this tool.


6.2.0
--------------------------------------------------------------------
 * WebGUI now requires Time::HiRes to operate. Be sure to have it 
	installed prior to upgrading or the the upgrade will fail.

 * Parts of the WebGUI API have changed once again, so be sure that
	any third-party plug-ins you have installed have been updated
	to work with 6.2 before upgrading.

 * A new configuration option has been introduced: 
	exportPath = /path/to/export/dir
	If exportPath is defined in the WebGUI config file, a new 
	"Export" icon will appear in the page toolbar.


6.1.0
--------------------------------------------------------------------
 * See docs/migration.txt for changes in plug-in coding.

 * You no longer need Data::Serializer.

 * See docs/migration.txt for changes in the template system.

 * See docs/migration.txt for changes in the Internationalization
	and help systems.

 * If you're using any third-party plug-ins, you'll need to get
	updated versions to work with 6.1.

 * If you're using a language other than English on your current site,
 	you'll need to obtain a language pack from either the user
	contributions or one of the WebGUI Worldwide sites.

 * Each user's language has been reset to the default language for
	the site as specified in the profile settings.

 * We removed a bunch of the cryptic-hack code that was allowing
	backward compatibility all the way back to some 2.x, 3.x, and
	4.x stuff. To be sure that your site will still work, copy
	the gateway script (index.pl) over your old one. Also make
	sure you have extrasPath and extrasURL defined in your config
	file.

 * The ThumbnailLinker macro has been removed. You can now use the
	Thumbnail macro because it is templated.


6.0.2
--------------------------------------------------------------------
 * You need to add all of your site aliases to the sitename variable
        in your WebGUI config file.


6.0.1
--------------------------------------------------------------------
 * Apache 2.0 is now the recommended web server for WebGUI. As such
	sbin/preload.perl has been defaulted for use with mod_perl
	2.0. If you are still using Apache 1.3, don't worry, WebGUI
	will still work great for you. You just need to edit
	sbin/preload.perl to match your environment.


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.

 * The Paginator API has been significantly changed.
	Please see docs/migration.txt for details.

 * WebGUI now requires the following Perl modules to be installed:
	Data::Serializer
	SOAP::Lite
	Cache::Cache (no longer optional)

   WARNING: Be sure you install these modules BEFORE you attempt to
	upgrade or the upgrade will fail and you'll have a mess to
	clean up!

 * If you've created any custom Events Calendar templates, they will
	no longer work due to the new template structure for events
	calendars. Your old templates will remain intact, however,
	so that you can migrate them manually to the new template
	variables.

 * The Synopsis macro no longer exists. If you were using it to
	retrieve the current page's synopsis, then please use the
	^Page("synopsis"); macro. If you were using it to build a
	synopsis style navigation please use the new ^Navigation();
	macro.

 * The old navigation system has been entirely replaced. If you've
	built or are using any navigation components that did not
	come with WebGUI then you'll need to remove them and use
	the new configurable navigation system. See migration.txt
	for additional details.

 * The old realtime search subsystem has been replaced with the new
	indexed search wobject. As such, we've removed the ^?; macro.
	If you were using the ^?; macro then you'll need to set up
	a search wobject to replace it.
 
 * Themes that were created with 5.x versions of WebGUI will fail to
	import into WebGUI 6.0. Sometime after the release of 6.0
	(gamma) there will be a theme converter available on
	plainblack.com to convert your old 5.x themes into 6.0
	themes. If you've already imported a 5.x theme you have
	nothing to worry about. All of the theme components will
	automatically be converted to 6.0.

 * If you have any SQL Reports going against any USS, they will need
	to be updated as the USS tables have changed.

 * During the upgrade process you may see some database errors during
	the migration of SQL Reports. Don't be alarmed. Your upgrade
	has not failed. Instead, some of the queries in the SQL Reports
	may have failed and will cause the SQL Report templates to not
	be automatically generated.


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.




If you're looking for upgrades or gotchas for versions earlier than 4.0 you'll
need to get an 5.x distribution of WebGUI or look in the CVS repository.

