Replies: 2 comments 3 replies
-
Hi Joakim, Having been through that process I would say it depends on the architecture and state of the current code base. What I've seen a lot of is structures / architecture of legacy applications (not meant derogatory!) that would be considered anti-patterns today, even though they would be consideres best practise for the time when it was created, and even now given the kind of beast mod_perl is. Those are the things that I've seen makes it so that most of these kinds of projects cannot simply be copy-pasta'ed. That said; these processes need to be super risky. There are lots of mitigating steps one can take. Some of the ones we focus heavily on are:
To answer your specific questions:
I would also like to add that another benefit you will see is a massive reduction in complexity, both inter-application and in deployment, plus the added benefit of a higher iteration speed in doing further development on the application. Ping me if you'd like to discuss this further. |
Beta Was this translation helpful? Give feedback.
-
Hi! In addition to the previous answer, I would suggest to also have a look at Mojolicious::Plugin::CGI as a reasonable first step to wrap a CGI-based application in Mojolicious. This is relatively simple and gives you the early opportunity to use Test::Mojo directly. After migrating your Tests to Test::Mojo I agree with the Endpoint-to-endpoint approach. In my experience, Mojolicious is ideal for this type of migration. |
Beta Was this translation helpful? Give feedback.
-
Hi
Background
With the changes to apache2/apreq that has been done the last couple of years our environment starts to crackle! 😬
We use CGI::Apache2::Wrapper instead of CGI since the memory footprint for CGI is so big, and recently when upgrading to Ubuntu 24.04 some functionality (upload) stopped working when using CGI::Apache2::Wrapper.
One more important thing is that we use a in-house modified version of CGI::Ajax for handling requests to the application.
I've been actively developing this web application in perl since 1999. It's a traditional LAMP stack using mod_perl and mostly our own javascript where needed, and Template Toolkit for templating. The code base is about 250 000 lines of code spread over 200 pm files, 100 perl scripts and 200 templates. Most of the installations (about 40 in production) uses Docker to run the apache process and then relies on a central MariaDB server and nginx as proxy.
Mojolicious
So, I've started thinking about the next step, where we need to go, and stumbled upon Mojolicious!
Questions ... that I can think of, but I'm welcome to have feedback on things I haven't maybe thought of!
Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions