Single Mode Test Suite

A few people have report they are having problems with adopting single mode

Mostly, it’s seems to involve one host sometimes loading cfcs from another?

It’s important in single mode to keep a few things in mind

  • any host/app specific mappings need to be done via Application.cfc
  • the CFML Application namespace is shared across different hosts, i.e. myapp on host1 is the same application as myapp on host2
  • basically the same rules as with ACF (Adobe Coldfusion)

I have created a Github actions test suite

So far I can’t reproduce any problems, if you are experiencing problems with this, please fork the repo and see if you can reproduce the issue you are encountering

3 Likes

Hi @Zackster , if possible I’d like to maybe start a discussion on why Single mode is the only mode offered in Lucee 7? Because for us, with many websites and webapps on the same server, not Dockerized, this will be a hindrance to adopt this version of Lucee, forcing us to stay on Lucee 6, in Multi Mode. Lucee 7 would mean massive rework of the code, lots of testing, for something that now, and always before, just works. Maybe not in this thread, but somewhere else?

that ship has sailed, the decision is final. we won’t be going back to multi mode, Lucee 6.2 is a LTS release so multi mode will be around for a while

Are there bugs we need to solve? maybe… will we address them, of course

OK, that’s too bad, then we will have to see what that means for our future commitment and use of Lucee. Refactoring that many codebases to make them unique in all fashions, using the same framework and code setup for all webapps, will be a daunting task. Is there no one else that faces what we face in this situation? Are we forced to move to Dockerization then, with 30 Lucee instances instead of one? Could you help me understand how to move forward?

slow down, a bug does not mean the end of the world

OK, slowing down :wink:

I guess a whole day like yesterday where everything just melts down in front of your eyes, and you’re actually looking 4ward 2 a long vacation, but cannot leave if the melt down is not fixed, heightened my stress level. For now Multi Mode saved the day.

In a relaxing yoga-pose now and trying 2 B mellow.

1 Like

What exactly are the problems? I have multiple webapps on a server and no problems, so maybe you share some details, your problems and we can support you?

2 Likes

You can still host many web apps in single mode. But they will share the same global server config instead of each having their own separate “web admin” (which I always found unnecessarily complex).

The only change this forced us to make was to rename some scheduled tasks, which were set up for each app in its web admin and had a name like “Daily Maintenance”. Because scheduled tasks are now configured globally, they need to have unique names, e.g. “App1 Daily Maintenance”.

1 Like

Our errors had nothing to do with scheduled tasks or settings set in Web Admins. On the new server we had Multi Mode on for 6.0.1.83, as that was the default, and everything was organized centrally in the Server Admin. Nothing in the different Web Admins. So I assumed when I copied the CFConfig.json from there to the fresh install of 6.2.1.122 that the Single Mode would work similar to the Server Admin in Multi Mode. That did not happen unfortunately. Whilest I hadn’t even looked at the known issues, application-scoped variables started to bleed over in the error-messages between webapps, webapps not working at all because subsystems or pages were not found (FW/1 webapps), and only one webapp would work at a time on the server if they were setup in the same fashion).

See full story here: Session scope not pertained - #17 by Zackster - this issue seemed simple, but exploded with collateral damage, sorry about that…

Hmmm, when thinking about it… how many websites are you talking about? Just because of maintainability, wouldn’t it be better to move all the web admins settings to Application.cfc with the help of the Web admins Application Export function? It should be possible to do it in an dynamic fashion?

Better, Hmm. Giving server control to devs. Hmm.

Yeah that’ll roll with sec-ops. For sure, keep all the settings in the code repo.

Defeats the whole point of the admin if you put everything in application.cfc - security big hole IMHO, CI ‘should’ also complain about settings/creds in repo also - a roadmap to hack your whole setup. #yay

Moving settings from the administrator to Application.cfc is not necessarily a significant security risk in itself, as it mainly applies to sensitive settings stored in the admin interface. One option is to move those variables to environment variables (or wherever you consider them to be securely stored). This decision must, of course, be made carefully. If you have a security or DevOps team (assuming one exists), it’s not a decision you should make on your own as a dev.

1 Like

Time to ban developers deploying code!

2 Likes

Will experiment further in the coming months on Single Mode vs Multi Mode. For now it seems our this.name per application is unique, so I still do not understand how the application-scoped variables bled over from one FW/1 webapp to another (using the latest stable versions of FW/1 and Lucee 6 btw).

A post was split to a new topic: Single mode mapping problems