Where are Lifecycles stored in RT5


Short history:

I created custom lifecycles in RT_SiteConfig.pm long time ago (before upgrading to RT5).

Now I’m getting a crash when validating one of my lifecycles via the admin web interface and I’m not able to move specific tickets between with two queues with error message “mapping not found”. But all mappings are there. Double-checked

Now in order to track down the error - I wanted to re-implement the lifecycles from scratch.

If I remove the lifecycle config from RT_SiteConfig.pm it is still configured via Admin Web. Sure I deleted mason objects and restarted webserver. How can this be? Even after restarting the whole server.

I can edit and save lifecyles via web, but I don’t see where those modifications are stored.

If I put back lifecycle config to RT_SiteConfig.pm and do a change there it is not reflected in the admin web. So what?

What happened? Where are Lifecycles stored in RT5? I cannot find anything in the database. And I can’t see changes from webinterface reflected in my filesystem.
Nor do I see where I can fix my issues as it’s not clear to me where to do the changes.
I already thought I was working on another server or the wrong instance, but his is not the case. There is only one instance, only one config section, only one db, …

What is the new / right way to configure custom lifecycles? The latest RT doc still points to adding them to RT_SIteConfig.pm. The Admin interface lifecycles section is not mentioned with a word.
Update: Documentation is ongoing: GitHub
It reads:

As an RT admin you can go to Admin->Lifecycles to edit and create lifecycles via the
web interface.

The web interface allows for easy visualization and editing of lifecycles.

But where is it stored what about the local RT_SiteConfig.pm?

I’m really going crazy about this or do I wear tomatoes on my eyes? :star_struck:
Any help appreciated.


When you use the web UI it overrides any on file configs that are the same value, you can look in the new Configurations table to see the current value I believe

1 Like

Cool. Thank you. There it is. I knew I had tomatos on my eyes. :slight_smile:

But, if I add a new Lifecycle to RT_SiteConfig.pm, I can see it in the webadmin interface immediatly, and it does not get written to the configurations table if I don’t edit it via web admin.
At least I just added a lifecycle for testing and removed it again - and it also disappeared from the web admin.

So it seems like it gets written to the configurations table only if you do any changes via web admin and/or assign it to a queue.

And additionally when it was written to the configurations table the corresponding entry in the RT_SiteConfig.pm becomes obsolete. This is a bit confusing in my mind.

It would be nice if this was clearly documented. Perhaps in one of the next releases.

It’s mentioned here briefly:

Any configuration options set there take precedence over values set in etc/RT_SiteConfig.pm . If you provide a custom setting in both places, RT will issue a warning in the log as a reminder to consider removing the setting from etc/RT_SiteConfig.pm to avoid confusion.

Ah, OK. My fault as I did only search for Lifecycles not Config in general. :pensive:

But the mentioned warning in the log does not take place. At least for the lifecycles. This would likely have pointed me to the right direction. LogLevel is set to debug.
And I just tested it to be sure: Added existing Lifecycle to local Config, edited Web Config. No warning. Not on start-up, not on config change.