Conversation
- Remove unused apt and CPAN dependencies - Consolidate apt packages - Move some dependencies from cpanm to apt
…:Tiny` module and the question of why the core `CRMS` module is responsible for things like UUIDs (and Dates, Pluralization, Number Formatting...). One of the reasons CRMS is so bloated is: it is the only object the Template Toolkit templates have access to. As a result, all manner of utility routines and glue have accreted there. The plan will be to incrementally migrate utilities into `lib/CRMS` and get them fully tested, and ultimately provide a `utility` singleton to all the various page templates the same way we provide a `CRMS` object. TT templates can call procedural routines, but not in a very nice way. There's no such thing as "just" loading a module and calling `new`, or calling a procedural `sub`. This commit is to be a placeholder showing how to do some of the next refactoring steps without affecting the behavior of the current system.
moseshll
commented
Feb 4, 2026
kron-spar
approved these changes
Feb 5, 2026
aelkiss
approved these changes
Feb 6, 2026
Member
aelkiss
left a comment
There was a problem hiding this comment.
This all looks fine to me as a precursor to moving more things into CRMS::Utility. We can consider more when more moves into it and when the templates start using it (that is, might there be opportunities for template-specific presenter-type classes that bring in some of this functionality?)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part one:
Use Debian 13 image
Part two:
The jumping-off point for this "pre-refactor" is the abandoned
UUID::Tinymodule and the question of why the coreCRMSmodule is responsible for things like UUIDs (and Dates, Pluralization, Number Formatting...).One of the reasons CRMS is so bloated is: it is one of the only objects the Template Toolkit templates have access to. As a result, all manner of utility routines and glue have accreted there. It's an uber controller/presenter/helper class in one gargantuan package.
The plan will be to incrementally migrate utilities into
lib/CRMSand get them fully tested, and ultimately provide autilitysingleton to all the various page templates the same way we provide aCRMSobject. TT templates can call procedural routines, but not in a very nice way. There's no such thing as "just" loading a module and callingnew, or a proceduralsub.This commit is to be a placeholder showing how to do some of the next refactoring steps without affecting the behavior of the current system. I'm providing a
uuidmethod from the new classes so we can give the old one the heave-ho and get rid ofUUID::Tinyin the near future.