Rt 2.1.41 - incompatible change

I warned that it might be coming, but it did actually happen.
RT 2.1.41 includes a number of incompatible cleanups to the ACL system.
The new ACL system is more flexible and extensible. (The reasons for
this should become apparent over the next couple months.)

If you’ve got an RT 2.1.40 or older 2.1 instance, just upgrading is
going to bite you really hard. I mean REALLY hard.

In sort, role groups are no longer FooRole, but now RT::Foo-Role.

Rights are no longer granted to ObjectType Queue/Ticket/System, but now
RT::Queue, RT::Ticket, RT::System. System rights are no longer granted to
ObjectId 0, but now to ObjectId 1.

A number of ACL-related APIs have been cleaned up, refactored or
simplified. Things that haven’t yet been yanked are being prepped for
removal. If you see an CurrentUserHas… method, don’t use it. It’s
going away. the extra API added a less-than useful layer of indirection
that just made understanding the code paths more convoluted.

-j

»|« http://www.bestpractical.com/rt – Trouble Ticketing. Free.

I warned that it might be coming, but it did actually happen.
RT 2.1.41 includes a number of incompatible cleanups to the ACL system.
The new ACL system is more flexible and extensible. (The reasons for
this should become apparent over the next couple months.)

If you’ve got an RT 2.1.40 or older 2.1 instance, just upgrading is
going to bite you really hard. I mean REALLY hard.

It took a few lines of SQL code to finish the transition here:

UPDATE ACL SET ObjectId = 1 WHERE ObjectId = 0;
UPDATE ACL SET Domain = ‘RT::Queue’ WHERE Domain = ‘Queue’;
UPDATE ACL SET Domain = ‘RT::System’ WHERE Domain = ‘System’;
UPDATE Groups SET Domain = ‘RT::Queue-Role’ WHERE Domain = ‘QueueRole’;
UPDATE Groups SET Domain = ‘RT::System-Role’ WHERE Domain = ‘SystemRole’;
UPDATE Groups SET Domain = ‘RT::Ticket-Role’ WHERE Domain = ‘TicketRole’;

Thanks,
/Autrijus/