Knowledgebase articles
- Welcome to the Knowledge Base
- Introduction
- Our Approach to Accessibility
- Getting Started
- Preferences
- Activities
- Cases
- Introduction to Cases
- Displaying & Adding Cases
- Managing Cases
- Using the Case Portal
- Email
- Importing Data
- Leads
- Marketing
- Introduction to Marketing
- Event Management
- Compliance Records
- Force24
- Spotler Integration
- What is Spotler?
- Navigating your Spotler homepage
- Introduction to GatorMail
- GatorMail Configuration
- Sending Emails in GatorMail
- Advanced Features
- Setting up the Plugin
- Viewing Web Insights Data on your Form Layouts
- Domain Names and Online Activities
- Reporting incorrect Leads created through Web Insights
- Reporting on Web Insights data
- Using UTM Values
- Why aren’t Online Activities being created in the database?
- Why is GatorLeads recording online activities in a foreign language?
- GatorSurvey
- GatorPopup
- Integrations
- SFTP/FTP Processes
- Mapping
- DocuSign Functionality
- DocuSign – Worked Examples
- DocuSign – Reporting
- Adobe Sign Integration
- Zapier
- Introduction to Zapier
- Available Triggers and Actions
- Linking your Workbooks Account to Zapier
- Posted Invoices to Xero Invoices
- Xero payments to Workbooks Tasks
- New Case to Google Drive folder
- New Case to Basecamp Project
- New Workbooks Case to JIRA Ticket
- Jira Issue to new Case
- 123FormBuilder Form Entry to Case
- Eventbrite Attendee to Sales Lead and Task
- Facebook Ad Leads to Sales Leads
- Wufoo Form Entry to Sales Lead
- Posted Credit Note to Task
- Survey Monkey responses to Tasks
- Multistep Zaps
- Email Integrations
- Microsoft Office
- Auditing
- Comments
- People & Organisations
- Introduction to People & Organisations
- Using Postcode Lookup
- Data Enrichment
- Reporting
- Using Reports
- Advanced Reporting
- Transaction Documents
- Displaying & Adding Transaction Documents
- Copying Transaction Documents
- Transaction Documents Fields Help
- Transaction Documents Line Items Help
- Printing & Sending Transaction Documents
- Managing Transaction Document Currencies
- Managing Transaction Document Statuses
- Setting a Blank Default Currency on Transaction Documents
- Credit Notes
- Customer Orders
- Invoices
- Quotations
- Supplier Orders
- Sagelink
- Configuration
- Contact Support
- Releases & Roadmap
How Workbooks Runs Scripts
Scripts are run “at arms length” in a separate environment known as a “Jail”. This page runs through what this means in more detail.
How Workbooks Runs Scripts
A Workbooks Script can be very flexible and hence for security reasons Scripts are run “at arms length” in a separate environment known as a “Jail” and they access the main Workbooks service just as any other Workbooks API program does.
Tip
Do not assume your Script will always run to completion.
In addition to enforcing basic security limitations, the Jail environment allows the Workbooks Script access to a reasonable amount of memory and processor time. The Script is killed if it exceeds the runtime you request when creating the Process, or it exceeds memory and processor usage limits.
PHP Libraries
Within the Jail, the Script is interpreted as PHP code and has access to a number of useful PHP libraries. These include
Web Services: xmlrpc curl
Email: imap
Databases:
- SQLite: sqlite sqlite3
- Microsoft SQL: mssql
- MySQL: mysql mysqli pdo_mysql
- ODBC: odbc pdo_odbc pdo_mysql pdo_pgsql pdo_sqlite
- PostgreSQL: pgsql pso_pgsql
The current PHP version is 8.4; Workbooks will update this from time to time.