View on
Zoffix Znet > App-ZofCMS-1.001006 > zofcms_helper


Annotate this POD


View/Report Bugs
Source   Latest Release: App-ZofCMS-1.001007


zofcms_helper - helper script for ZofCMS web-framework/templating system


mkdir site_dir; cd site_dir; zofcms_helper --site example --plugins QueryToTemplate,DBI,SomeOtherPlugin;


zofcms_helper is a helper script supplied with App::ZofCMS. It is used to create "startup" structure for your site as well as adding plugin files, which isn't necessary if you installed them on your server via CPAN.



    zofcms_helper --site example

The --site argument specifies the directory to use for your web accessible directory of ZofCMS, this is where you'll have your file (the helper script will create it). If you don't specify the --core argument (see below) it will automatically created from the --site argument by appending _site to whatever you specify. If you don't provide --site argument, the default is zcms.


    zofcms_helper --site example --core example_core

The --core argument specifies the name of directory for the "data" directory of ZofCMS, in other words, this is web-inaccessible directory in which you will have your config file, "data_storage" and "templates" directory (see App::ZofCMS::Config for description) as well as any of ZofCMS plugins. The helper script creates config file, all of those directories as well as directory Execs (see App::ZofCMS::Template) and Extras (see App::ZofCMS::Extras). The helper script also creates basic base.tmpl, index.tmpl and 404.tmpl in data/ directory inside the directory specified by --core as well as basic index.tmpl inside templates/ directory. If --core parameter is not specified it will be created by appending _site to whatever you've gave to --site argument.

Note: currently there is no support [in the helper script] to have --core point to a directory on a different level than --site. If you desperatelly need this please let me know and I will add that support. For now, you can simply edit the created file, in particular it's two lines:

    use lib '../core_dir';


    my $conf = $config->load( '../core_dir/config.txt' );


    zofcms_helper --site zcms --plugins DBI,QueryToTemplate,OtherPlugin

This options takes a comma (,) separated list of plugin names to copy over into your "core" directory. This is useful if your server does not support module installation from CPAN; i.e. the helper script copies the modules installed on your system into "core" directory from where ZofCMS can load them, thus when you are done with your site you can simply upload --site and --core directories to your server and everything should work just fine.

NOTE: do not include the App::ZofCMS::Plugin:: part of the name of the modules, the above command installs App::ZofCMS::Plugin::DBI, App::ZofCMS::Plugin::QueryToTemplate and App::ZofCMS::Plugin::OtherPlugin modules into the "core" directory.

Note: the command presented above will recreate the "core" files and file. To avoid that, i.e. just add the plugins, use the <--nocore> option


    zofcms_helper --site zcms --plugins DBI,QueryToTemplate,OtherPlugin --overwrite_existing_plugins

The --plugins option above will NOT overwrite any existing files by default. To force overwriting, use the --overwrite_existing_plugins option.


    zofcms_helper --site zcms --cpan Data::Tranformer,Foo::Bar::Baz

This option has the same purpose as the --plugins except this one copies your installed CPAN modules to $core_dir/CPAN/

For example, Data::Transformer module is required by App::ZofCMS::Tagged plugin, using the --cpan command you can copy it over into ZofCMS "core directory" and upload your application to the server that does not have Data::Transformer installed. Note: this option is not that smart, it's not going to copy anything but the actual .pm file for the module you've specified.


    zofcms_helper --nocore --site zcms --plugins DBI,QueryToTemplate

The --nocore option tells the helper script not to create any "core" directories or files, the command above will only install DBI and QueryToTemplate plugins into the "core" directory.


    zofcms_helper --nocore --site zcms --pages foo,foo/bar,foo/bar/baz

The --pages argument tells zofcms_helper to create "page templates". The value to --pages argument is a comma separated list of pages you wish to create. With this argument the script will try to be smart and create an empty file in data directory as well as a ZofCMS Template file in templates directory. Just run the script with the example above and check out your data and templates dirs to see the result.


    zofcms_helper --nocore --site zcms --show_plugins

Takes no arguments, when present, zofcms_helper will show a list of all the plugins used by the site (note that plugins listed in Main Config File under dir_defaults key are currently not shown by this function).


Fork this module on GitHub:


To report bugs or request features, please use

If you can't access GitHub, you can email your request to bug-App-ZofCMS at


Zoffix Znet <zoffix at> (,


You can use and distribute this module under the same terms as Perl itself. See the LICENSE file included in this distribution for complete details.

syntax highlighting: