plainblack.com
Username Password
search
Bookmark and Share
Subscribe

System Changes Affecting Migration

5.1 Set Date Format Changes

In 6.0 the "set date" format used by WebGUI::Form::date() and other methods
was changed from "MM/DD/YYYY" to "YYYY-MM-DD" and optionally "YYYY-MM-DD
HH:MM:SS". If you are using WebGUI::FormProcessor to handle processing of your
dates then you will notice no side effects from the format change. If you are
not, then you should convert your plugin to use WebGUI::FormProcessor.

In addition to the format change above, we also made one related API change.
WebGUI::Form::DateTime() and WebGUI::HTMLForm->dateTime() no longer have
"dateExtras" and "timeExtras", but rather just "extras" properties. This is
because there is only one field to represent both the date and the time,
unlike before.

5.2 Database Links

The database links API was changed in 6.0. The getHash function was removed and
replaced with a getList function that returns a hash reference.

5.3 Paginator

In 6.0 almost all of the paginator methods were modified in an incompatible
way, including the constructor. We removed depricated parameters from the methods,
which will cause pagination not to function in items that have not been updated.

5.4 Dynamic Plug-in Loading

In 6.1 plug-ins (Wobjects, Macros, and Auth) are all dynamically loaded. They
used to be statically loaded at session open time. If you are writing
something that uses a macro, wobject, or auth module outside of the usual
mechanisms that call those plug-ins, then you'll need to write a piece of code
to load the plug-in at use time.

5.5 Privilege API Change

In 6.1 we moved isInGroup from WebGUI::Privilege to WebGUI::Grouping, where it
belongs. We also moved canViewPage and canEditPage to WebGUI::Page and renamed them
to canView and canEdit. And finally, we moved canEditWobject and
canViewWobject to WebGUI::Wobject and renamed them canView and canEdit and
converted them from regular functions into methods.

5.6 Template API Change

In 6.1 we completely rewrote the underlying template framework to add template
caching. Any plug-ins that use WebGUI::Template, must be updated to reflect
the new API. Template caching is currently disabled, however.

5.7 Internationalization and Help Change

In 6.1 we moved the internationalization out of the database and into compiled
perl modules. This helps tremendously in performance. It also allows for
text-based tags to be used instead of integers for international ids. If
you've written any plug-ins that use the internationalization system, you'll
need to migrate them to the new system. We've created a tool that will
auto-generate the new help and internationalization files from an existing 6.0
database. You can get it from the "tools" module in CVS or in the user
contributions area on plainblack.com. The utility is called:
gen61i18nfrom60data.pl

We also made the International API object oriented. The old procedural version
is still intact as well. See WebGUI::International for API changes.

As a developer you can convert your translations (including English) and your
help files using a script we provide. You can find the script here:

http://www.plainblack.com/translations/translations

5.8 WebGUI::Session Changes

In 6.8 we removed $session{os}{slash}.  This is due to requiring Windows 2000 or higher (As of October, 2008, WebGUI no longer supports Windows. Plain Black recommends using the VMWare Appliance for Windows installs).

In 6.1 we changed the session API to remove functions that didn't really
belong in WebGUI::Session. The main changes of interest are that you no longer
do HTTP redirects and set cookies via session. Take a look at WebGUI::HTTP for
details.

5.9 Global Unique IDs

In 6.2 we added global unique Ids to WebGUI. This means that a lot of the integer-
based incrementer IDs will now be replaced with 22 character text IDs. You should
update your code and database tables to take advantage of this. Some of the more
important ID's that have been changed are User Ids, Group Ids, and Wobject Ids.
See WebGUI::Id for more information.

5.10 POD

In 6.2 we've switched to a new Plain Old Documentation (POD) format. See Ruling
WebGUI for details.

5.11 Internationalization and URLs

In 6.3 we moved URL compliance to the language file. We did this because the
non-latin characterset languages were having trouble with WebGUI generated
URLs. So now they can write in their own handlers to deal with WebGUI
generated URLs. If your language uses a latin character set, you can just copy
the makeUrlCompliant subroutine from lib/WebGUI/i18n/English.pm into your
language file.

5.12 UTF-8 Required

As of 6.3 we're now requiring that all WebGUI sites use the UTF-8 character
set. The language packs distributed from the WebGUI Worldwide members will now
be converted to UTF-8, and you can get instructions on their sites as to how
to convert your content, if necessary.

5.13 Form Changes

The following form changes were made in 6.8:

All forms types now use inheritance to build List type forms.  This is
what the class hierarchy looks like:

List
    CheckList
    RadioList
    HiddenList
    SelectList
        Group
        LdapLink
    SelectBox
        ComboBox
        ContentType
        DatabaseLink
        FilterContent
        Template
        TimeZone
        WhatNext

The new SelectBox class be actly like a SelectList but only supports single
select instead of multiple select and defaults to being 1 character high.  By
default, all SelectLists are not 5 characters high.  The size setting can
be used to override the defaults in all List type forms.

All List type forms now also have a sortByValue property which defaults
to 0 (off).  This made automatic testing of the Forms easy.

getName is now in the Form::Control base class.  It retreives whatever
is stored in the formName field of the definition field structure.

The following form changes were made in 6.3:

The interval subroutine in WebGUI::Form and WebGUI::HTMLForm had an API
change. See the documentation for WebGUI::Form and WebGUI::HTMLForm for
details.

The select method in WebGUI::HTMLForm that has been depricated forever has
been removed.

Most of the subroutines in WebGUI::HTMLForm and WebGUI::Form now have a
parameter called "defaultValue" which will be used in the event that "value"
is not specified.

You can now dynamically add tabs to WebGUI::TabForms.

5.14 Persistent API Removed

The never understood and not really used Persistent API has been removed. If
you want to store something in a tree, it probably belongs in the asset tree
anyway.

5.15 Node/Attachment System Replaced

In 6.3 the file system storage mechanism of lib/WebGUI/Node.pm and
lib/WebGUI/Attachment.pm have been replaced in favor of lib/WebGUI/Storage.pm.
If you had anything using the old system we highly recommend migrating it into
the new system as it is much more flexible. Alternatively you can copy the old
system back into place (it should still work, but no guarantees).

5.16 Template System Replaced

In 6.3 the template system has been replaced in favor of the new template
asset. Please see WebGUI::Asset::Template for details.

5.17 WebGUI::ErrorHandler API Changed

In 6.6 we brought log4perl to bear on our debuging and logging needs. This had
a slight impact on the WebGUI::ErrorHandler API. Although there are many
changes, the only thing anyone should notice is that fatalError() was renamed
to fatal().

5.18 Form API Changed

In 6.7 we made the form controls pluggable so that new ones can be added
without changing the core code at all. This change is mostly transparent
unless you're still using the ancient deprecated WebGUI::HTMLForm syntax that
allows you to pass in form control properties as arrays like this:

my $f = WebGUI::HTMLForm->new;
$f->text("nameGoesHere","value goes here","label goes here");

Instead you should be using something like this:

$f->text(
   name=>"nameGoesHere",
   value=>"Value Goes Here",
   label=>"Label goes here"
  );

Note you can pass in the parameters as either a hash reference or a hash and
the param names can be tagged or not. Here are examples:

$f->text(-name=>"nameGoesHere");
$f->text({-name=>"nameGoesHere"});
$f->text(name=>"nameGoesHere");
$f->text({name=>"nameGoesHere"});

Also every form control now has an auto-generated ID attribute to aid in the
swift development of AJAX features. You can override the autogenerated one by
passing in an id parameter like this:

$f->text(name=>"this",id==>"myownpersonalid");

Also, calls to WebGUI::Form::submit must be changed to WebGUI::Form::Submit.
Also, WebGUI::Form::Submit by itself doesn't work. WebGUI::Form::Submit()
must be used.

See WebGUI::HTMLForm and WebGUI::Form::Control for additional information.

5.19 SQL Files For Upgrades Deprecated

Starting with WebGUI 6.7.0 .sql files will no longer be used in core upgrades
of WebGUI sites. We also suggest not using them for upgrades of custom code.
The reason is that the database is becoming very complex, and it's easier to
introduce errors to the database when modifying it directly rather than using
the APIs.

5.20 Use ; instead of & in URLs

In our effort to achieve full XHTML strict compliance we have switched
WebGUI's internals to expect a ; instead of a & as the URL query parameter
delimiter in 6.7.2. You must update your WebGUI plugins to reflect this new
URL style.

5.21 WebGUI::Search Removed

The old WebGUI::Search package has been removed in 6.7.2. It hasn't been used
by any WebGUI core package since 6.3 and wasn't really used much prior to that.
If you were using it, just copy it's subs into your app.

5.22 DateTime API Changed Slightly

In 6.8.0, as a result of migrating the DateTime API away from Date::Manip and
to DateTime we've eliminated the need for several utility functions, and
therefore removed them. This shouldn't affect almost anybody, but we're
mentioning it just in case you're using WebGUI::DateTime in an odd mannner.
They are: epochToDate, dateToEpoch, epochToArray, arrayToEpoch.

5.22 CGI No Longer

As of 6.8.0 we are no longer using CGI to handle our web interactions. Instead
we are using a native mod perl handler. If you used $session{cgi} object
you'll now need to convert your applications to use the methods provided by
Apache2::Request which is referenced through $session{modperl} and $session{req}.

5.23 Session System Replaced

As of 6.99 we've removed the old global session system and replaced it with a
newer, safer, more modern, object oriented session system. Because session is
the glue that holds WebGUI together, it has basically affected every API in
the system. Here's a (hopefully complete) list of what's been changed and how
it affects you.

%session no longer exists, so you can no longer do things like
$session{user}{userId}. Instead, you'll know have a $session object that will
be accessible in whatever plug-in environment you're working on. So to
retrieve the current user's userId you'd call $session->user->userId because
session loads the current user's user object, and then you can call the userId
method on that object. If you're working in an asset environment, you may
instead be calling something like $self->session->user->userId.

Please see the WebGUI::Session API for details on what objects are available
through WebGUI::Session. The following unix command line tricks should fix 70%
of the things you need to change in your custom assets. You will need to
modify them slightly for other types of plugins (run these in order, and
replace fileNameGoesHere with the file you wish to run the command on):

Fix $session{config}

perl -pi.bak -e 's!\$session{config}{webguiRoot}!\$self->session->config->getWebguiRoot!g' fileNameGoesHere
perl -pi.bak -e 's!\$session{config}{configFile}!\$self->session->config->getFilename!g' fileNameGoesHere
perl -pi.bak -e 's!\$session{config}{(.*)}!\$self->session->config->get("$1")!g' fileNameGoesHere

Fix $session{setting}

perl -pi.bak -e 's!\$session{setting}{(.*)}!\$self->session->setting->get("$1")!g' fileNameGoesHere

Fix $session{user}

perl -pi.bak -e 's!\$session{user}{(username|userId)}!\$self->session->user->$1!g' fileNameGoesHere
perl -pi.bak -e 's!\$session{user}{(.*)}!\$self->session->user->profileField("$1")!g' fileNameGoesHere

Fix $session{env}

perl -pi.bak -e 's!\$session{env}{(.*)}!\$self->session->env->get("$1")!g' fileNameGoesHere

Fix $session{os}

perl -pi.bak -e 's!\$session{os}{(.*)}!\$self->session->os->get("$1")!g' fileNameGoesHere

Fix $session{var}

perl -pi.bak -e 's!\$session{var}{(.*)}!\$self->session->var->get("$1")!g' fileNameGoesHere

Fix $session{req}

perl -pi.bak -e 's!\$session{req}!\$self->session->request!g' fileNameGoesHere

Fix $session{asset}

perl -pi.bak -e 's!\$session{asset}!\$self->session->asset!g' fileNameGoesHere

Fix $session{scratch}

perl -pi.bak -e 's!WebGUI\:\:Session\:\:deleteAllScratch!\$self->session->scratch->deleteAll!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Session\:\:deleteScratch!\$self->session->scratch->delete!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Session\:\:setScratch!\$self->session->scratch->set!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Session\:\:getScratch!\$self->session->scratch->get!g' fileNameGoesHere
perl -pi.bak -e 's!\$session{scratch}{(.*)}!\$self->session->scratch->get("$1")!g' fileNameGoesHere

5.23.1 WebGUI::SQL API Refactored

The SQL API has been made more object oriented in 6.99, so it now handles database
connections for you. You can get the default database connection via
$session->db or a random slave via $session->dbSlave or you can create your
own by my $db = WebGUI::SQL->connect($session, $dsn, $user, $pass);

The following command line tricks should fix most of your database queries
(provided your querying the WebGUI database):

perl -pi.bak -e 's!WebGUI\:\:SQL\-\>!\$self->session->db->!g' fileNameGoesHere
perl -pi.bak -e 's!quoteAndJoin\(!\$self->session->db->quoteAndJoin(!g' fileNameGoesHere
perl -pi.bak -e 's!quote\(!\$self->session->db->quote(!g' fileNameGoesHere

5.23.2 WebGUI::FormProcessor API Refactored

Instead of accessing $session{form} or WebGUI::FormProcessor getting form data
is done through the new session system via $session->form->process("param","Text");

perl -pi.bak -e 's!\$session{form}{(.*)}!\$self->session->form->process("$1")!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:FormProcessor\:\:!\$self->session->form->!g' fileNameGoesHere

5.23.3 WebGUI::ErrorHandler API Refactored

As of 6.99  WebGUI::ErrorHandler is now accessed through session.

perl -pi.bak -e 's!WebGUI\:\:ErrorHandler\:\:!\$self->session->errorHandler->!g' fileNameGoesHere

5.23.4 WebGUI::Style API Refactored

As of 6.99 the WebGUI::Style API has been convereted to OO and is accessed
through session. The following command line tricks will help you convert your
assets.

perl -pi.bak -e 's!\$session{page}{useEmptyStyle} = (\d+);!\$self->session->style->useEmptyStyle("$1")!g' fileNameGoesHere
perl -pi.bak -e 's!\$session{page}{makePrintable} = (\d+);!\$self->session->style->makePrintable("$1")!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Style\:\:!\$self->session->style->!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Operation\:\:Shared\:\:userStyle\(!\$self->session->style->userStyle(!g' fileNameGoesHere

5.23.5 WebGUI::Macro API Refactored

You now need to pass in a reference to $session to the process function.

perl -pi.bak -e 's!WebGUI\:\:Macro\:\:process\((.*)\)!WebGUI::Macro::process(\$self->session,$1)!g' fileNameGoesHere

5.23.6 WebGUI::URL API Refactored

As of 6.99 WebGUI::URL is now accessed through session like $session->url

perl -pi.bak -e 's!WebGUI\:\:URL\:\:!\$self->session->url->!g' fileNameGoesHere

5.23.7 WebGUI::Cache API Refactored

As of 6.99 WebGUI::Cache requires you to pass in a reference to $session into
the constructor.

perl -pi.bak -e 's!WebGUI\:\:Cache\-\>new\(!WebGUI::Cache->new(\$self->session,!g' fileNameGoesHere

5.23.8 WebGUI::AdminConsole Refactored

As of 6.99 WebGUI::AdminConsole requires you to pass a reference to $session
into the constructor.

perl -pi.bak -e 's!WebGUI\:\:AdminConsole\-\>new\(!WebGUI::AdminConsole->new(\$self->session,!g' fileNameGoesHere

5.23.9 WebGUI::DatabaseLink API Refactored

As of 6.99 WebGUI::DatabaseLink requires  you to pass in a reference to
$session into the constructor. Also, the API has been heavily refactored to be
more complete. Please see it's API docs for more info.

perl -pi.bak -e 's!WebGUI\:\:DatabaseLink\-\>new\(!WebGUI::DatabaseLink->new(\$self->session,!g' fileNameGoesHere

5.23.10 WebGUI::Privilege API Refactored

WebGUI::Privilege is now accessed through session like $session->privilege as
of 6.99.

perl -pi.bak -e 's!WebGUI\:\:Privilege\:\:!\$self->session->privilege->!g' fileNameGoesHere

5.23.11 WebGUI::DateTime API Refactored

WebGUI::DateTime is now accessed through $session.

perl -pi.bak -e 's![^\:]monthStartEnd\(!\$self->session->datetime->monthStartEnd(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]setToEpoch\(!\$self->session->datetime->setToEpoch(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]humanToEpoch\(!\$self->session->datetime->humanToEpoch(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]epochToSet\(!\$self->session->datetime->epochToSet(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]epochToHuman\(!\$self->session->datetime->epochToHuman(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]addToDate\(!\$self->session->datetime->addToDate(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]addToTime\(!\$self->session->datetime->addToTime(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]localtime\(!\$self->session->datetime->localtime(!g' fileNameGoesHere
perl -pi.bak -e 's![^\:]time\(!\$self->session->datetime->time(!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:DateTime\:\:!\$self->session->datetime->!g' fileNameGoesHere

5.23.12 WebGUI::Form API Refactored

In 6.99 the WebGUI::Form API was refactored to accept $session as the first
parameter to each method.

perl -pi.bak -e 's!WebGUI\:\:Form\:\:(\w+)\((.*)\)!WebGUI::Form::$1(\$self->session,$2)!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Form\:\:(\w+)\($!WebGUI::Form::$1(\$self->session,!g' fileNameGoesHere

5.23.13 WebGUI::Group and WebGUI::Grouping API Refactored

WebGUI::Grouping has been merged into WebGUI::Group and WebGUI::User.
WebGUI::Group has also been refactored to use the new session system.

perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:isInGroup!\$self->session->user->isInGroup!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:getGroupsForUser!\$self->session->user->getGroups!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:addGroupsToGroups!\$group->addGroups!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:addUsersToGroups!\$group->addUsers!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:deleteGroupsFromGroups!\$group->deleteGroups!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:deleteUsersFromGroups!\$group->deleteUsers!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:getGroupsForGroup!\$group->getGroupsFor!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:getGroupsInGroup!\$group->getGroupsIn!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:getUsersInGroup!\$group->getUsers!g' fileNameGoesHere
perl -pi.bak -e 's!\-\>groupId!->getId!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:userGroupAdmin!\$group->userIsAdmin!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Grouping\:\:userGroupExpireDate!\$group->userGroupExpireDate!g' fileNameGoesHere

5.23.14 WebGUI::HTML API Refactored

You now need to pass in a reference to $session to the makeAbsolute and
processReplacements functions.

perl -pi.bak -e 's!WebGUI\:\:HTML\:\:makeAbsolute\(!WebGUI::HTML::makeAbsolute(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:HTML\:\:processReplacements\(!WebGUI::HTML::processReplacements(\$self->session,!g' fileNameGoesHere

5.23.15 WebGUI::HTMLForm API Refactored

You now need to pass in a reference to session to the constructor.

perl -pi.bak -e 's!WebGUI\:\:HTMLForm\-\>new\(!WebGUI::HTMLForm->new(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:HTMLForm\-\>new\;!WebGUI::HTMLForm->new(\$self->session);!g' fileNameGoesHere

5.23.15 WebGUI::Icon API Refactored

WebGUI::Icon is now accessible through $session->icon.

perl -pi.bak -e 's!WebGUI\:\:Icon\:\:(\w+)Icon\(!\$self->session->icon->$1(!g' fileNameGoesHere
perl -pi.bak -e 's!(help|become|cut|copy|delete|edit|manage|moveBottom|moveDown|moveLeft|moveRight|moveTop|moveUp|locked|drag|shortcut|paste|view|export)Icon\(!\$self->session->icon->$1(!g' fileNameGoesHere

5.23.16 WebGUI::Id API Refactored

WebGUI::Id is now accessible through $session->id

perl -pi.bak -e 's!WebGUI\:\:Id\:\:generate!\$self->session->id->generate!g' fileNameGoesHere

5.23.17 WebGUI::LDAPLink API Refactored

WebGUI::LDAPLink has been modified to use the new session api.

perl -pi.bak -e 's!WebGUI\:\:LDAPLink\-\>new\(!WebGUI::LDAPLink->new(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:LDAPLink\:\:getList\(!WebGUI::LDAPLink->getList(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:LDAPLink\:\:get\((.*)\)!WebGUI::LDAPLink->new(\$self->session,$1)->get!g' fileNameGoesHere

5.23.18 WebGUI::Paginator API Refactored

WebGUI::Paginator API was changed to use the new session API.

perl -pi.bak -e 's!WebGUI\:\:Paginator\-\>new\(!WebGUI::Paginator->new(\$self->session,!g' fileNameGoesHere

5.23.19 WebGUI::Product API Refactored

WebGUI::Product now accepts session in the constructor.

perl -pi.bak -e 's!WebGUI\:\:Product\-\>new\(!WebGUI::Product->new(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Product\-\>getByOptionId\(!WebGUI::Product->getByOptionId(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Product\-\>getByParameterId\(!WebGUI::Product->getByParameterId(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Product\-\>getByVariantId\(!WebGUI::Product->getByVariantId(\$self->session,!g' fileNameGoesHere

5.23.20 WebGUI::ProfileCategory and WebGUI::ProfileField Refactored

These API's now accept session in their constructors.

perl -pi.bak -e 's!WebGUI\:\:ProfileCategory\-\>new\(!WebGUI::ProfileCategory->new(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:ProfileCategory\-\>create\(!WebGUI::ProfileCategory->create(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:ProfileField\-\>new\(!WebGUI::ProfileField->new(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:ProfileField\-\>create\(!WebGUI::ProfileField->create(\$self->session,!g' fileNameGoesHere

5.23.21 WebGUI::Storage API Refactored

The WebGUI::Storage API has been refactored to accept $session in it's
constructors.

perl -pi.bak -e 's!WebGUI\:\:Storage\-\>get\(!WebGUI::Storage->get(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Storage\-\>create\(!WebGUI::Storage->create(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Storage\:\:Image\-\>get\(!WebGUI::Storage::Image->get(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Storage\:\:Image\-\>create\(!WebGUI::Storage::Image->create(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Storage\-\>createTemp\(!WebGUI::Storage->createTemp(\$self->session,!g' fileNameGoesHere
perl -pi.bak -e 's!WebGUI\:\:Storage\:\:Image\-\>createTemp\(!WebGUI::Storage::Image->createTemp(\$self->session,!g' fileNameGoesHere

5.23.22 WebGUI::Subscription API Refactored

perl -pi.bak -e 's!WebGUI\:\:Subscription\-\>new\(!WebGUI::Subscription->new(\$self->session,!g' fileNameGoesHere

5.23.23 WebGUI::TabForm API Refactored

perl -pi.bak -e 's!WebGUI\:\:TabForm\-\>new\(!WebGUI::TabForm->new(\$self->session,!g' fileNameGoesHere

5.23.24 WebGUI::International API Refactored

The WebGUI::Paginator API was changed to use the session API, and was
changed to be solely object oriented, where before it would work in
either subroutine or OO modes.  The latter change precludes writing
a script to make the changes.

The changes are summarized here.  For complete details, please read the POD
documentation in lib/WebGUI/International.pm

WebGUI::International::get('key','namespace');
    my $i18n = WebGUI::International->new($session, 'namespace');
    $i18n->get('key');

WebGUI::International::getLanguage('English', 'property');
    my $i18n = WebGUI::International->new($session);
    $i18n->getLanguage('key');

WebGUI::International::getLanguages();
    my $i18n = WebGUI::International->new($session);
    $i18n->getLanguages();

5.24 WebGUI::Mail Replaced

The aging WebGUI::Mail package has been replaced with WebGUI::Mail::Send,
which has an object oriented API, and is capable of sending attachments, HTML
messages, and to multiple recipients, unlike WebGUI::Mail. Please see the API
for details.

5.25 WebGUI::MessageLog Replaced

IN 6.99 the venerable WebGUI::MessageLog has been retired and replaced with
WebGUI::Inbox, which has an object oriented API, is more resource efficient,
is more flexible, is more reliable, and is compliant with the new mail system.

Keywords:

Search | Most Popular | Recent Changes | Wiki Home
© 2023 Plain Black Corporation | All Rights Reserved