Advanced Vivaldi Features & Developer Tools
Learn how to leverage URL routing, custom SQL runtime logic, user notification APIs, batch onboarding, and database auditing.
Launching Forms by URL
You can link directly to specific forms in external portals or automated workflows using the formkey parameter:
Locate your form's unique GUID in the Form Properties panel under Forms > Manage Forms > Form Designer, or inspect the form metadata icon at runtime.
Included Developer Libraries
Vivaldi bundles industry-standard front-end libraries on the master page for custom extension:
- jQuery & Bootstrap: Modern responsive grid layout and DOM manipulation framework.
- Font Awesome: Scalable vector icons.
- Toastr: Non-blocking popup notifications.
- DataTables: Interactive, high-performance table management.
- Chosen: Live search-as-you-type dropdown menus.
Dynamic URL Parameters
Pass URL parameters into tabular forms to control row volume and filtering:
- rowlimit
- Limits the maximum number of rows returned at runtime in tabular views.
- altkey
- Specifies the database column name used to filter rows dynamically (URL-encode column names containing spaces).
- altkeyvalue
- Used in tandem with
altkeyto supply the filter value at runtime.
Custom Form SQL & Dynamic Context
When designing a form, you can override default queries with custom MySQL statements or views. Vivaldi supports the [username] keyword to enforce row-level security dynamically:
At runtime, [username] is replaced with the active session user's identifier, ensuring users only access their authorized records.
User Notifications & Alerts
Broadcast alerts to the notification bell in the top-right menu bar using any of these approaches:
- Direct Database Insert: Insert a record directly into
ogs_notifications(minimum required fields:fk_useridandsubject). - JavaScript API:
createnotification(fk_userid, messagebody, notificationtype, messagefrom, messagesubject);
- PHP Helper:
fCreateNotification($fk_userid, $messagebody, $notificationtype, $messagefrom, $messagesubject);
Batch User Creation (UMC)
Quickly onboard accounts in bulk from an existing database table or view using the built-in batch script:
- 1 Open
ogs/umc.phpand update the$_GET['authtoken']check with a secure, custom token string. - 2 Execute the script via your browser with the required configuration parameters:
- authtoken
- The authorization token configured in
ogs/umc.php. - sourcetable
- Target table/view containing source user records.
- col_email
- Column containing email addresses.
- col_username
- Column containing unique usernames (can match email).
- col_customid
- (Optional) Column containing custom tenant/stripe ID.
- roleassignment
- The numeric role ID from
ogs_role(roleid) to assign. - nonotifications
- (Optional) Set to
1to suppress email alerts to newly created users.
tmp_username, and users are prompted to create a new password on their first login.
Audit History Wizard
The Audit History Wizard creates an audit table (yourtablename_audit) and automatically configures MySQL triggers to track all INSERT, UPDATE, and DELETE events.
Access the setup interface directly:
Note: Upgrading from Vivaldi 3.3 or lower requires granting a Custom Form Permission for your administrator account with form name auditsetup.
Custom HTML Header & Footer
Add custom tracking scripts, CSS stylesheets, or server-side PHP logic across every page by editing customer_htmlhead.php and customer_htmlfooter.php. These files are non-destructive and preserved across Vivaldi version upgrades.
Custom Translations & Localization
To localize the user interface or add new languages, edit js/translation_customer.js using this structure:
Adding a New Language
- 1 Insert the language into
ogs_languageusing the ISO 639-1 code and display name. - 2 Define your localized strings in
translation_customer.js.