Add-on Modules
#Overview
Add-on modules add new features to LawDesk without changing its code, for example the free
Conflict Check. Manage them at Super Admin → Modules (/super/modules).
| On the Modules page |
What it shows |
| Installed |
Every module, its version and status: Active, Off, Needs attention or Unsigned (developer mode). Below the description: what it adds (tables, pages, outside services, scheduled tasks). |
| Available add-ons |
Official add-ons you haven't installed yet. Free ones install in one click; paid ones ask for their purchase code. |
| How modules work |
A short in-page guide (click to expand). |
Every change asks for your password. In demo mode nothing can be installed, changed or removed.
#Installing an add-on
- Open Super Admin → Modules.
- Under Available add-ons, click Install next to the add-on.
- For a paid add-on, paste its purchase code. Enter your password and confirm.
- A progress bar shows each step (download, signature check, files, database). Keep the page open; it takes a few
seconds.
The add-on is switched on as soon as it's installed. Its pages appear in the Add-ons group of the sidebar for the
firms that may use it (see Selling add-ons to firms), and in the Super Admin sidebar if
it has a page there.
New versions of installed add-ons show an Update to x.y.z button on their row. Use More → Check for updates
to check right away (LawDesk also checks once a day).
#Uploading a module
Upload module installs a module from a file instead of the store:
| File |
Result |
A signed package (….licentra-module.zip) |
Installed exactly like a store install: same signature check, and paid add-ons still need their purchase code. |
A plain module .zip (your own, unsigned) |
Accepted only in developer mode (LICENTRA_MODULES_DEV=true). It goes into modules-dev/ and is marked Unsigned. |
Any other file is refused with an explanation.
Developer mode loads code that hasn't been checked. Use it on a development copy, never on your live site.
#Selling add-ons to firms
Most add-ons can be included per plan, so you can offer them on your higher plans:
- Super Admin → Plans & Pricing → Edit plan → Modules included: switch on the add-ons this plan includes.
- For one firm, Super Admin → Firms → Edit → Extra modules grants an add-on its plan doesn't include.
Firms without the add-on don't see its sidebar link, its pages answer "403", and its public pages for that firm are
closed. Add-ons whose author made them free for everyone (such as Conflict Check) are available to every firm. Inside
a firm, add-on pages also follow staff permissions: Conflict Check, for example, needs the Clients permission.
#Managing modules
| Action |
What happens |
| Switch off |
The module stops loading. Its pages and sidebar links disappear; its data is kept. |
| Switch on |
Loads it again. Also brings back a module that was switched off after errors (fix the cause first). |
| Retry database update |
Shown when an install's database step failed ("Needs attention"). Runs the module's migrations again. |
| Update to x.y.z |
Installs the newer version. Older versions can never replace a newer one. |
| Uninstall (trash icon) |
Removes the module's files. Its data is kept, so installing it again picks up where you left off. To delete the data too, type the module's name in the dialog. |
Every action is recorded in storage/logs/licentra-modules.log (who, what, when).
From the command line:
php artisan module:list
php artisan module:install lawdesk-conflicts
php artisan module:enable lawdesk-conflicts
php artisan module:disable lawdesk-conflicts
php artisan module:uninstall lawdesk-conflicts # --delete-data to drop its tables
#How LawDesk stays safe
-
Only signed modules install. Store downloads and uploaded packages are checked against the author's digital
signature; a module folder copied onto the server is never loaded (outside developer mode).
-
A broken module only breaks itself. LawDesk switches a module off, and shows why on the Modules page, when it:
- throws an error while starting,
- causes 3 crashes within 10 minutes,
- causes 3 errors on LawDesk's own pages, or
- causes 10 errors within 10 minutes on its own pages or background tasks.
If one of its pages fails in the browser, only that page shows an error; the sidebar and every other page keep
working.
-
Your data always saves. When a module reacts to a new matter or client and fails, the matter or client is still
saved.
-
Modules can't replace LawDesk's pages. Each module lives under its own address (e.g. /lawdesk-conflicts/...)
and its sidebar links must stay there.
-
Firms stay separate. Module data is stored per firm, like everything else in LawDesk.
-
Updates and installs never overlap. A LawDesk update never touches modules or their data, and a module that
doesn't support the new LawDesk version is switched off instead of breaking the site.
#Emergency: safe mode
If the site misbehaves after installing a module and you can't reach the Super Admin area, add this to .env:
LICENTRA_MODULES_SAFE=true
then run php artisan config:clear. No modules load until you remove the line again. Or switch them all off:
php artisan module:disable --all
#Troubleshooting
| Message |
What to do |
| Couldn't reach the add-on store |
Your server can't reach licentra.pacificsoftwares.com over HTTPS. Installed modules keep working. |
| The module failed its signature check |
The file was changed or isn't from the author. Download it again. |
| Needs LawDesk x.y |
Update LawDesk first, then install the module. |
| Another update or module install is running |
Wait for it to finish, then try again. |
| A module shows Not running |
Its reason is shown under its name (license, incompatible version or errors). |
| A firm can't see an add-on |
Check the firm's plan (Modules included) or Extra modules, and the staff member's permissions. |
| The module license was refunded or cancelled |
The add-on stops after 7 days; its data is kept. |
Want to build your own? See Module Development.