https://github.com/modxcms/vapor
Create a MODX Cloud compatible snapshot from a MODX site
https://github.com/modxcms/vapor
Last synced: about 1 year ago
JSON representation
Create a MODX Cloud compatible snapshot from a MODX site
- Host: GitHub
- URL: https://github.com/modxcms/vapor
- Owner: modxcms
- Created: 2012-07-11T21:34:58.000Z (almost 14 years ago)
- Default Branch: develop
- Last Pushed: 2020-01-22T18:28:52.000Z (over 6 years ago)
- Last Synced: 2025-04-28T12:23:49.709Z (about 1 year ago)
- Language: PHP
- Size: 29.3 KB
- Stars: 7
- Watchers: 9
- Forks: 6
- Open Issues: 8
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
Awesome Lists containing this project
README
# MODX Vapor
This is MODX Vapor, a PHP script for Extracting a complete snapshot of a MODX site, including it's file and database artifacts for use in importing the site into MODX Cloud.
## Environment Requirements
- PHP 5.2+
- PHP Zip extension
- All requirements for MODX 2.1+
## Installation
- Install the project as an immediate subdirectory of the `MODX_BASE_PATH` for the MODX site you want to extract as a vapor package. This subdirectory is referred to as the VAPOR_DIR for the remainder of this document.
## Usage
MODX Vapor can be run from the CLI or from a web browser. It is recommended that it be run from CLI if possible however, to avoid potential issues with web server and/or PHP-related timeouts. This is especially true for larger MODX sites. In either case, the snapshot will be created in your `MODX_CORE_PATH . 'packages/'` directory with the snapshot name indicated in the output from the script.
### Running via CLI
To create a MODX Cloud-compatible snapshot of your MODX site via CLI, change directory to your `MODX_BASE_PATH` and run `VAPOR_DIR . 'vapor.php'`, e.g.
php vapor/vapor.php
_NOTE: The `vapor/` subdirectory is the `VAPOR_DIR`_
### Running via Browser
To create a MODX Cloud-compatible snapshot of your MODX site via your browser, navigate to `MODX_SITE_URL . VAPOR_DIR . 'vapor.php'` in your browser and wait for the process to complete, e.g.
http://localhost/revo/vapor/vapor.php
### Custom Options
There are a few options available for customizing the execution of Vapor. You can define these options by creating a `VAPOR_DIR . 'config.php'` file with the following contents:
```php
array(),
'excludeExtraTables' => array(),
'excludeExtraTablePrefix' => array(),
);
```
- __excludeFiles__ — An array of file/directory names (do not include the trailing / on directory names) to exclude from the `MODX_BASE_PATH`. Normally Vapor would package up any non-core files located within your `MODX_BASE_PATH`. Define specific items you want to skip here.
- __excludeExtraTables__ — An array of non-core tables to exclude from your database. Normally Vapor will package any non-core tables in the database.
- __excludeExtraTablePrefix__ — An array of non-core tables to not prepend with your MODX `table_prefix`. Normally, Vapor will keep track of which non-core tables need to have a table_prefix prepended when Injected into the target MODX site, but if the source MODX site does not define a `table_prefix`, Vapor has to assume all of them will need the target's `table_prefix`. Define specific tables that should not get the target's `table_prefix` upon Injection here if your source database does not use a `table_prefix`. _This is not necessary if the source does define a `table_prefix`._
## Troubleshooting
### Review the Vapor log
Each time you run vapor it will log information about it's execution into a file with the same timestamp as the zip file that gets created (i.e. the server time when vapor is run). This file will be in the format `vapor-{timestamp}.log` and located in your logs directory at `{core_path}cache/logs/` (or `{core_path}cache/{MODX_CONFIG_KEY}/logs` if using a custom MODX_CONFIG_KEY value).
## Copyright
MODX Vapor is Copyright 2012-2013 by MODX, LLC.