Joomla Plugin



Search Results

The Probo.CI Joomla plugin provides an easy way to set Joomla site configuration options in your application build and quickly integrate a Joomla website’s repository. To use the Probo.CI Joomla plugin you must declare plugin: Joomla in a step in your .probo.yaml file. The Joomla plugin’s parameters automate the steps specific to Joomla such as importing a database, writing the configuration.php connection details, and clearing caches.

The Probo.CI Joomla plugin inherits all Probo PHP/LAMP configuration options. This allows additional Probo.CI build steps in your .probo.yaml file to layer LAMP configuration options and commands on top of the Joomla site specific configuration.

How configuration.php Is Handled

Joomla stores its settings as a JConfig class in a configuration.php file at the web root. The plugin handles this file in one of two ways:

  • If your repository already ships a configuration.php, the plugin preserves it and patches only the database connection properties Probo controls — $dbtype, $host, $user, $password, and $db. Everything else, including your $secret and $dbprefix, is left untouched so the site keeps matching the database you import and any existing sessions.
  • If no configuration.php is present, the plugin generates a fresh, minimal one using the Probo-provisioned database credentials and a randomly generated $secret.

See the Probo.CI Joomla Examples and Demonstrations section below for a full YAML config example. We can also help you get started building your .probo.yaml file.

Directory Configuration

  • subDirectory {string}

    The path to your docroot if it is a subdirectory of your git repository. Defaults to docroot.

    Example
    1
    2
    3
    4
    steps:
      - name: Set Subdirectory
        plugin: Joomla
        subDirectory: docroot

Database Configuration

  • database {string}

    The file name of the database to import if specified. Note that this database must be added to the assets array separately.

    Example
    1
    2
    3
    4
    5
    6
    assets:
      - joomla.sql.gz
    steps:
      - name: Import database
        plugin: Joomla
        database: joomla.sql.gz
  • databaseName {string}

    The name of the database. Defaults to joomla.

    Example
    1
    2
    3
    4
    steps:
      - name: Set database name
        plugin: Joomla
        databaseName: joomla
  • databaseGzipped {boolean}

    Whether the database was sent gzipped and whether it should therefore be gunzipped before importing.

    Example
    1
    2
    3
    4
    steps:
      - name: Unzip database
        plugin: Joomla
        databaseGzipped: true
  • databaseBzipped {boolean}

    Whether the database was sent bzipped and whether it should therefore be bunzipped before importing.

    Example
    1
    2
    3
    4
    steps:
      - name: Unzip database
        plugin: Joomla
        databaseBzipped: true
  • databasePrefix {string}

    The table name prefix Joomla uses, written to $dbprefix in configuration.php. Defaults to jos_. This value is only written when a fresh configuration.php is generated; an existing file’s prefix is left untouched so it keeps matching your imported database.

    Example
    1
    2
    3
    4
    steps:
      - name: Set database prefix
        plugin: Joomla
        databasePrefix: jos_
  • dbType {string}

    The Joomla database driver, written to $dbtype in configuration.php. Defaults to mysql. Use mysqli or pgsql if your site requires a different driver.

    Example
    1
    2
    3
    4
    steps:
      - name: Set database driver
        plugin: Joomla
        dbType: mysqli

Additional Options

  • clearCaches {boolean}

    Whether to clear all caches using php cli/joomla.php cache:clean after the build is finished. Defaults to false.

    Example
    1
    2
    3
    4
    steps:
      - name: Clear caches
        plugin: Joomla
        clearCaches: true

Joomla Example

Using the Joomla plugin

This example takes a database from a Joomla site and integrates it into your Probo build. The web root lives in a docroot subdirectory. Because a Joomla repository typically ships a configuration.php, the plugin preserves it and patches only the database connection so it points at the Probo-provisioned database. It mirrors the Probo Joomla example repository.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
type: lamp
php: 8.4
database: mariadb:11.4

# The sample database can be obtained at:
# https://probosupportfiles.blob.core.windows.net/utils/joomla.sql.gz
assets:
  - joomla.sql.gz

steps:
  - name: Setup Joomla
    plugin: Joomla
    database: joomla.sql.gz
    databaseGzipped: true
    clearCaches: false
    subDirectory: docroot
    databasePrefix: prefix_
    dbType: mysql

  - name: Set Joomla Cache File Permissions
    plugin: Script
    script:
      - chmod -R 777 /var/www/html/administrator

For more ways to configure Probo.CI for your Joomla application, checkout our Probo Examples & Demonstration page. There you can see practical real-world examples.


Get Started with Probo.CI

Want to Try Probo today?
Get Started Fast!.

When you sign up for a Probo.CI registration code, you will get a two week trial of the plan of your choosing. For more information on how to get started, click here .

LEARN MORE ABOUT PROBO.CI'S PRICING