processmaker icon indicating copy to clipboard operation
processmaker copied to clipboard

FOUR-24651: Enable and disable custom packages / enterprise packages per tenant

Open rodriquelca opened this issue 7 months ago • 1 comments

Issue & Reproduction Steps

Solution

  • add a new command
  • Ensures the boot() method only executes tenant-specific logic if the tenant has the required feature enabled.
  • Maintains best practices for Laravel service providers and package bootstrapping.
  • create command php artisan tenants:artisan "processmaker:license-update ./enterprise.json" --tenant=77

How to Test

  • have two tenants
  • run php artisan tenants:artisan "processmaker:license-update ./enterprise.json" --tenant=<first tenant ID>
  • run php artisan tenants:artisan "processmaker:license-update ./enterprise2.json" --tenant=<second tenant ID>
  • review the tenant and mas contain the packages licensed

Related Tickets & Packages

  • https://processmaker.atlassian.net/browse/FOUR-24651

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.

rodriquelca avatar Jun 17 '25 16:06 rodriquelca

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube