Modules

The Officially supported BoxLang modules

Core Modules

Here is the collection of modules built and supported by the BoxLang team.

bx-compat

Category: cfml

This module allows your BoxLang engine to run as an Adobe CFML engine or a Lucee CFML engine. Please note that we will not offer every single feature of the Adobe engines in this single module. It can be spread out through a collection of modules.

install bx-compat

bx-password-encrypt

Category: security

This module provides password encryption and hashing functionality to Boxlang.

  • ArgonHash: Returns a secure input hash of the given string using the Argon2 hashing algorithm. ( Alias: GenerateArgon2Hash )

  • ArgonVerify: Performs a Argon2 verification on the given string against the hashed value. ( Alias: Argon2CheckHash )

  • BCryptHash: Returns a secure input hash of the given string using the BCrypt hashing algorithm.( Alias: GenerateBCryptHash )

  • BCryptVerify: Performs a BCrypt verification on the given string against the hashed value. ( Alias: BCryptCheckHash )

  • SCryptHash: Returns a secure input hash of the given string using the SCrypt hashing algorithm.( Alias: GenerateSCryptHash )

  • SCryptVerify: Performs a SCrypt verification on the given string against the hashed value. ( Alias: SCryptCheckHash )

  • GeneratePBKDFKey: Generates a PDFK key from the given password and salt.

install bx-password-encrypt

bx-esapi

Category: Security

Leverages ESAPI and AntiSamy to provide your BoxLang applications with security and cleaning concerns.

install bx-esapi

bx-image

Category: Image Processing

The image module gives you tons of components and bifs that will give you a robust and extensive image manipulation library.

install bx-image

bx-jython

Category: Scripting

This module allows you to script in Python within BoxLang. It can also execute python scripts and modules.

install bx-jython

bx-mail

Category: Communication

The mail module for BoxLang gives you a robust component and a collection of bifs that you can use to send mail and interact with mail services.

install bx-mail

bx-oshi

Category: Hardware

You can use this module to get information about the operating system and hardware of your machine. This is a great way to get sensor or embedded system information like batteries, Raspberry Pi, etc.

install bx-oshi

bx-pdf (Coming Soon)

Category: Document Services

The pdf module will give you the capabilities to create and stream PDF documents from your BoxLang server code. We also offer the enhanced version in our BoxLang +,++ subscriptions.

coming soon

bx-unsafe-evaluate

Security: Compiler

This module will allow you to install an evaluate() function that can execute BoxLang and CFML expressions. Please note that this approach to coding is discouraged and unsafe.

install bx-unsafe-evaluate

bx-wddx

Security: Conversion

The WDDX module provides the bridge between the WDDX exchange format and BoxLang. It involves reading and parsing XML, converting data types, handling errors, and ensuring performance and compatibility. The module enables the integration of legacy systems with new applications.

install bx-wddx

JDBC Modules

In addition, we offer a number of JDBC modules which package the appropriate JDBC driver for your database vendor of choice. You can find all of the modules in FORGEBOX as well as our GitHub organization: https://github.com/ortus-boxlang/bx-{modulename}

install bx-derby

install bx-hypersql

install bx-mysql

install bx-mariadb

install bx-mssql

install bx-oracle

install bx-postgresql

Module Installation

The fastest way to install modules is with CommandBox and the install command. If you used the quick installer, you can use the install-bx-module binary to download the core modules to your OS or MiniServer home.

# Install the latest version
install-bx-module bx-compat

# Install a specific version
install-bx-module bx-compat 1.0.0

If not, you must download the zip package manually and place it into the home folder.

Operating System Home

Unzip the module .zip file into the location .boxlang/modules/ located inside your user home directory (by default):

.boxlang/modules/bx-derby/ModuleConfig.bx ...

You can customize the boxlang module directory by changing the runtime.modulesDirectory setting in your config/boxlang.json file:

boxlang.json
{
  "runtime" : {


    // A collection of BoxLang module directories, they must be absolute paths
    "modulesDirectory": [
      "${boxlang-home}/modules"
    ],


  }
}

See Runtime Configuration for more info on using the boxlang.json configuration file.

Last updated

Logo

Copyright & Register Trademark by Ortus Solutions, Corp & Ortus Software, LLC