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
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 index.pl 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.
index.pl
--core
_site
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.
Execs
Extras
base.tmpl
index.tmpl
404.tmpl
data/
templates/
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 index.pl file, in particular it's two lines:
use lib '../core_dir'; .... my $conf = $config->load( '../core_dir/config.txt' );
--plugins
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.
App::ZofCMS::Plugin::
App::ZofCMS::Plugin::OtherPlugin
Note: the command presented above will recreate the "core" files and index.pl file. To avoid that, i.e. just add the plugins, use the <--nocore> option
--overwrite_existing_plugins
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.
--cpan
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.
--nocore
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.
DBI
QueryToTemplate
--pages
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.
data
templates
--show_plugins
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).
dir_defaults
Fork this module on GitHub: https://github.com/zoffixznet/App-ZofCMS
To report bugs or request features, please use https://github.com/zoffixznet/App-ZofCMS/issues
If you can't access GitHub, you can email your request to bug-App-ZofCMS at rt.cpan.org
bug-App-ZofCMS at rt.cpan.org
Zoffix Znet <zoffix at cpan.org> (http://zoffix.com/, http://haslayout.net/)
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.
LICENSE
To install App::ZofCMS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::ZofCMS
CPAN shell
perl -MCPAN -e shell install App::ZofCMS
For more information on module installation, please visit the detailed CPAN module installation guide.