Take me over?
NAME
Posy::Plugin::EditInfo - Posy plugin to edit supplementary entry information.
VERSION
This describes version 0.03 of Posy::Plugin::EditInfo.
SYNOPSIS
@plugins = qw(Posy::Core
...
Posy::Plugin::Info
Posy::Plugin::EditInfo
...);
@actions = qw(init_params
...
process_edit_info_form
...);
@entry_actions = qw(init_params
...
set_edit_info_form
...);
DESCRIPTION
This plugin enables the user to create and edit .info files of the type used by Posy::Plugin::Info. This relies on external .htaccess setup for password protection, so if you can't set such a thing up, do not use this module unless you want anyone to be able to create .info files.
This plugin provides $entry_edit_info_form flavour variable, and 'set_edit_info_form' and 'process_edit_info_form' actions.
Password Protection
For details of how to set up password protection for a directory, check your webserver documentation. Here is some advice, however.
If you password-protect your whole site, then nobody could even view the site without having a user-password. This is probably not what you want. The easiest method of protecting editing is to make a copy of your posy.cgi script (say, posy_edit.cgi) and make separate directory to put it in (say, "cgi-bin/posy_edit_info/"), put the posy_edit.cgi script into it, and password-protect that directory.
Then edit posy_edit.cgi
to add the Posy::Plugin::EditInfo configuration requirements (and remove extra plugins that you don't actually need for this).
Configuration
This expects configuration settings in the $self->{config} hash, which, in the default Posy setup, can be defined in the main "config" file in the config directory.
- edit_info_url
-
The url of the edit-info CGI script. (default: $self->{url})
- edit_info_spec
-
Define the info-fields and their properties.
edit_info_spec: order: - Author - Title - Series - SeriesOrder - Rating - Summary default: type: string size: 40 rows: 4 cols: 60 options: Summary: rows: 5 cols: 70
The 'order' part of the spec is the order the fields are to be presented in the form. The 'options' part of the spec gives optional options for each field, while the 'default' part of the spec gives the default kind of form layout for fields are if they don't appear in the 'options' part, and the default type to use if the field isn't given a type in the info_type_spec.
The type of a field depends on the info_type_spec definition used by Posy::Plugin::Info. Types are 'string', 'text', 'number', 'title', and 'limited'
Possible options depend on the type of field:
- string/number/title
-
Displayed as a "text" input field. The 'size' gives the size of the field.
- text
-
Displayed as a "textarea" input field. The "rows" and "cols" are the rows and columns.
- limited
-
Displayed as a "select" input field, using its associated 'values' to be the list of options for that select.
OBJECT METHODS
Documentation for developers and those wishing to write plugins.
init
Do some initialization; make sure that default config values are set.
Flow Action Methods
Methods implementing actions. All such methods expect a reference to a flow-state hash, and generally will update either that hash or the object itself, or both in the course of their running.
process_edit_info_form
$self->process_edit_info_form($flow_state);
Processes the EntryInfo-related parameters and saves the data to the correct .info file.
Entry Action Methods
Methods implementing per-entry actions.
set_edit_info_form
$self->set_edit_info_form($flow_state, $current_entry, $entry_state);
Creates the EditInfo form and puts it into the $entry_edit_info_form flavour variable.
INSTALLATION
Installation needs will vary depending on the particular setup a person has.
Administrator, Automatic
If you are the administrator of the system, then the dead simple method of installing the modules is to use the CPAN or CPANPLUS system.
cpanp -i Posy::Plugin::EditInfo
This will install this plugin in the usual places where modules get installed when one is using CPAN(PLUS).
Administrator, By Hand
If you are the administrator of the system, but don't wish to use the CPAN(PLUS) method, then this is for you. Take the *.tar.gz file and untar it in a suitable directory.
To install this module, run the following commands:
perl Build.PL
./Build
./Build test
./Build install
Or, if you're on a platform (like DOS or Windows) that doesn't like the "./" notation, you can do this:
perl Build.PL
perl Build
perl Build test
perl Build install
User With Shell Access
If you are a user on a system, and don't have root/administrator access, you need to install Posy somewhere other than the default place (since you don't have access to it). However, if you have shell access to the system, then you can install it in your home directory.
Say your home directory is "/home/fred", and you want to install the modules into a subdirectory called "perl".
Download the *.tar.gz file and untar it in a suitable directory.
perl Build.PL --install_base /home/fred/perl
./Build
./Build test
./Build install
This will install the files underneath /home/fred/perl.
You will then need to make sure that you alter the PERL5LIB variable to find the modules.
Therefore you will need to change the PERL5LIB variable to add /home/fred/perl/lib
PERL5LIB=/home/fred/perl/lib:${PERL5LIB}
REQUIRES
Posy
Posy::Core
Posy::Plugin::Info
Test::More
SEE ALSO
perl(1). Posy
BUGS
Please report any bugs or feature requests to the author.
AUTHOR
Kathryn Andersen (RUBYKAT)
perlkat AT katspace dot com
http://www.katspace.com
COPYRIGHT AND LICENCE
Copyright (c) 2005 by Kathryn Andersen
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.