Fixes for licensing by nolanpro · Pull Request #5688 · ProcessMaker/processmaker
Issue & Reproduction Steps
Packages that were disabled via licenses are being re-enabled after install
Solution
If the bootstrap/config/packges.php gets re-built before our custom LicensedPackageManifest is registered, the all packages will be enabled regardless of the license. This happens on several cache commands, such as clear-compiled, or if the package.php file is removed, which is what optimize:clear does.
- Do not run
clear-compiledwhen settings change.clear-compiledwill remove other cached files (like packages.php, which is responsible for the license restrictions). Theconfig:cachethat runs after is sufficient. - Run package:discover automatically after running
processmaker:license-removeso all packages are available again when the license is removed. - Fix home page not found when dynamic UI package is not enabled
- In https://github.com/ProcessMaker/pm4-k8s-distribution/pull/27
- Remove all
optimize:clearcalls - Call
optimizeonly once and only after packages are installed and before the license is installed. Otherwise, optimize will disabled the licenses by overwriting packages.php
- Remove all
How to Test
Describe how to test that this solution works.
Related Tickets & Packages
Requires
- https://github.com/ProcessMaker/pm4-k8s-distribution/pull/27
- https://github.com/ProcessMaker/package-dynamic-ui/pull/120
Code Review Checklist
- I have pulled this code locally and tested it on my instance, along with any associated packages.
- This code adheres to ProcessMaker Coding Guidelines.
- This code includes a unit test or an E2E test that tests its functionality, or is covered by an existing test.
- This solution fixes the bug reported in the original ticket.
- This solution does not alter the expected output of a component in a way that would break existing Processes.
- This solution does not implement any breaking changes that would invalidate documentation or cause existing Processes to fail.
- This solution has been tested with enterprise packages that rely on its functionality and does not introduce bugs in those packages.
- This code does not duplicate functionality that already exists in the framework or in ProcessMaker.
- This ticket conforms to the PRD associated with this part of ProcessMaker.