Solvo Solvo 2.0

Licensing and editions

Licence

Solvo is licensed per domain. Keys are sold on MoJamoza Systems (systems.mojamoza.com) for the solvo product and start with MJB-. The check works exactly like Creator Collective's and Family OS's.

config/license-server.php ships with the package and is replaced on every update:

return [
    'server'  => 'https://systems.mojamoza.com/license-api',
    'secret'  => '…',      // set by MoJamoza before packaging
    'product' => 'solvo',  // Solvo's slug on systems.mojamoza.com
];

1.x SYNC_ENDPOINT / SYNC_SECRET in .env are ignored (a 1.x SYNC_KEY is still picked up). For testing only, LICENSE_SERVER_OVERRIDE + LICENSE_SECRET_OVERRIDE in .env replace the server and secret.

Editions

The sale and demo packages contain the same code. config/edition.php says which one a copy is:

<?php return ['edition' => 'standard'];   // or 'demo'

DEMO_MODE=true in .env also switches a copy into the demo edition (as in 1.x).

What the demo edition changes

Running the public demo

  1. Install the demo package like any other copy (installer, sample data not needed — the reset adds it).
  2. Add the nightly reset cron job (it's listed under System & licence on the demo):

0 0 * * * /usr/local/bin/php /home/USER/solvo/scripts/demo_reset.php >/dev/null 2>&1

  1. Run it once by hand to load everything now: php scripts/demo_reset.php.

The reset drops every table in the configured database, rebuilds the schema, loads the two demo schools (Riverside Academy and Greenfield Primary) with students, fees, results, timetables, library, transport, payroll, websites, live chat conversations and a populated message log, creates the demo Super Admin (superadmin@solvo.demo) and copies the demo logos into storage. It refuses to run on a standard edition unless given --force, because it wipes the database.