Path

ez projects / ymcebootstrap


YMC Bootstrap

UNIX name Owner Status Version Compatible with
ymcebootstrap Thomas Schieke stable 1.0 4.3
ymcBootstrap for eZ Publish adds functionality aimed at developers:

- ymcUpgradeSystem: Provides an alternative concept to patch and upgrade a plain eZ Publish, including database modifications. All changes are saved into a patch package which can be deployed to other installations.
- ymcAudit: Improves the built-in log mechanism by diverting log messages to the database.
- ymcLog: Does the same as ymcAudit, but for system log messages rather than content changes.
- ymcScriptTracer: Logs any request made to the installation, which allows for detailed ex-post analysis of problems caused by PHP code.

ymcBootstrap for eZ Publish

Overview

ymcBootstrap for eZ Publish adds functionality aimed at developers:

  • ymcUpgradeSystem: Provides an alternative concept to patch and upgrade a plain eZ Publish, including database modifications. All changes are saved into a patch package which can be deployed to other installations.
  • ymcAudit: Improves the built-in log mechanism by diverting log messages to the database.
  • ymcLog: Does the same as ymcAudit, but for system log messages rather than content changes.
  • ymcScriptTracer: Logs any request made to the installation, which allows for detailed ex-post analysis of problems caused by PHP code.

ymcUpgradeSystem

How to use:
1. Patch eZ Publish
a) Modify your eZ Publish kernel according to your needs.
b) In the shell, determine the current timestamp:
#date +%s
c) Change the following constants and settings to the current timestamp:

  • ymcBase::PATCH_TIMESTAMP
  • PatchTimestamp? in section [Volano] in file /ezp/settings/site.ini (This section is added during installation.)

d) Go to eZ Publish's root directory and run
sh extension/ymcbootstrap/bin/generate_new_patch_set.sh
... which will create a list of all modifications as patch files in folder /extension/ymcBase/patches.
e) Distribute the contents of /extension/ymcBase via your version control system to other servers.
2. Database modifications
a) Increment the constant ymcBase::RELEASE by 1
b) Create a new private static method that executes your database changes. Example:
ymcVolanoUpdater::upgradeDatabase_ThreeSixNINETEEN_to_ThreeSixTWENTY()
c) Add your functions and the conditions to be matched to
ymcVolanoUpdater::upgradeVolanoDatabase()
Note: This module is subject to further development.
3. Deploy improved eZ Publish versions
a) Upgrade servers using your version control
b) On each server, go into eZ Publish's root directory and run sh extension/ymcbootstrap/bin/upgrade.sh
Note: Your system will be unaccessible unless you execute upgrade.sh!

ymcAudit

Improves the built-in audit log mechanism by diverting audit logs into the database, rather than writing them to the file system. This allows for retrospectively inspecting user behavior and content change in the backend (without shell access).
Note: ymcClusterExtension (not published yet) will add some corresponding views to the admin interface.

ymcLog

Improves the built-in audit log mechanism by diverting audit logs into the database, rather than writing them to the file system. This allows for inspecting the system's actions in the backend without shell access.
Note: ymcClusterExtension (not yet published) will add some corresponding views to the admin interface.

ymcScriptTracer

Features some additional logging capabilities:

  • any request to the system is logged, separately for CLI or Apache access
  • easily identify identify long running calls
  • persistently logs fatal errors, execptions, unfinished request and their corresponding system messages
  • provides the data for further statics on error rates, call durations etc.
  • Note: ymcClusterExtension (not yet published) will add some corresponding views to the admin interface.

ymcBaseFunctions

Supports global availability of often needed PHP functions. To use this, add such functions to /extension/ymcbootstrap/classes/ymcbase_functions.php. Upon distribution of this file to the relevant servers, the needed functions will be globally available, thus rendering includes obsolete.
Example: Try out ymc_pr, a wrapper for print_r, which makes debug outputs more comfortable.

Screenshot

No news yet.

This project has no reviews yet. Be the first one to review it!

No forum messages yet.