Greetings,
Any attempt to install MT-4.33 fails with the following error:
Got an error: mutiple trigger registration in one add_trigger() call is deprecated.
Initial investigation indicates the following MT modules are likely candidates:
lib/MT/Summary.pm
lib/MT/Tag.pm
lib/MT/Scorable.pm
lib/MT/Object.pm
lib/MT/Entry.pm
lib/MT/Template.pm
lib/MT/Summary/Triggers.pm
As a result, MT can not be installed.
Thank you for all your time and consideration in this matter.
--Chris
Reported on Movable Type 4.3
Further investigation reveals that MT is not compatible with
modern Perl, or OS versions. Reason being; MT relies on unreliable
routines that have since been discovered, and removed. In this case, the
module Trigger.pm. Modern systems use versions ~0.13. But MT relies on 0.10.
The call that results in failure in Trigger.pm (0.13) is:
my $triggers = __fetch_triggers($proto);
my %params = @_;
my @values = values %params;
if (@_ > 2 && (grep { ref && ref eq 'CODE' } @values) == @values) {
Carp::croak "mutiple trigger registration in one add_trigger() call is deprecated.";
}
As a result, until MT dev's upgrade their system to support modern
Perl, and Operating Systems. MT installations will fail.
Thank you for all your time and consideration in this matter.
--Chris
For those interested in Class::Trigger.
You can perform the following:
perldoc Class::Trigger
or view the documentation online via:
Class::Trigger
--Chris
That would have to be a 4.33-specific bug since I've run MT 5 beta releases on Perl 5.11...
Greetings Mike T, and thank you for your response.
Sorry, I should have noted the MT version (4.33). I was so involved
with trying to find the problem, in hopes of creating a solution. I'm
afraid I overlooked that significant detail. :(
I don't suppose anyone involved in MT development has any intention of
changing the add_trigger() routine(s)?
Or is it enough to replace the 4.33 files:
lib/MT/Summary.pm
lib/MT/Tag.pm
lib/MT/Scorable.pm
lib/MT/Object.pm
lib/MT/Entry.pm
lib/MT/Template.pm
lib/MT/Summary/Triggers.pm
with the 5.x versions?
Thanks again for taking the time to respond.
--Chris
OK replacing any of the 4.33 files listed above with the 5.x counterparts
solves nothing. However, it seems to appear that lib/MT/Entry.pm might
be the culprit. However, no leads yet.
Thank you for all your time and consideration in this matter.
--Chris
WOOHOO!
I was right. lib/MT/Entry.pm _was_ the culprit!
For those who choose to use their system (modern) modules;
you'll find the solution on line #314 of lib/MT/Entry.pm
comment lines #314 - #317
then add just below them:
Barring any other version issues with your system modules, you should
now have a working MT-4.33 installer.
Best wishes.
--Chris