[wellwell-devel] [SCM] Interchange wellwell catalog branch, master, updated. acdc2b4c2b5f90d52b26534cf43a89255a35bd6e
Stefan Hornburg
racke at rt.icdevgroup.org
Wed Jun 2 10:18:06 UTC 2010
via acdc2b4c2b5f90d52b26534cf43a89255a35bd6e (commit)
from 50c5df0e3f67ec9f9ab9a2fe5c63138bd9ab4d18 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit acdc2b4c2b5f90d52b26534cf43a89255a35bd6e
Author: Stefan Hornburg (Racke) <racke at linuxia.de>
Date: Wed Jun 2 12:17:25 2010 +0200
New setting front_page. Display link to new page form on missing Wiki pages.
-----------------------------------------------------------------------
Summary of changes and diff:
lib/Vend/Wiki.pm | 38 +++++++++++++++++++++++++++-----------
plugins/wiki/README | 29 +++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 11 deletions(-)
create mode 100644 plugins/wiki/README
diff --git a/lib/Vend/Wiki.pm b/lib/Vend/Wiki.pm
index 50ab760..22af6ec 100644
--- a/lib/Vend/Wiki.pm
+++ b/lib/Vend/Wiki.pm
@@ -54,6 +54,9 @@ my %wiki_menu = (edit_page => {label => 'Edit this page',
action => 'recent_changes',
permission => 'wiki_recent_changes'});
+# default settings
+my %wiki_settings = (front_page => 'Index');
+
our %wiki;
sub new {
@@ -143,6 +146,11 @@ sub wiki {
$wiki{$name} = new Vend::Wiki(%{$Vend::Cfg->{Wiki}->{$name}});
$wiki{$name}->{name} = $name;
+
+ for (keys %wiki_settings) {
+ next if exists $wiki{$name}->{$_};
+ $wiki{$name}->{$_} = $wiki_settings{$_};
+ }
}
$wiki{$name}->{page} = $page;
@@ -324,14 +332,20 @@ sub retrieve_page {
sub display_page {
my ($self, $name, $version, $format) = @_;
- my (%node);
+ my (%node, $page);
- if ($name =~ /\S/ && $self->{object}->node_exists($name)) {
+ if ($name =~ /\S/) {
+ $page = $name;
+ }
+ else {
+ $page = $self->{front_page};
+ }
+
+ if ($self->{object}->node_exists($page)) {
if ($version) {
- %node = $self->{object}->retrieve_node({name => $name, version => $version});
- }
- else {
- %node = $self->{object}->retrieve_node($name);
+ %node = $self->{object}->retrieve_node({name => $page, version => $version});
+ } else {
+ %node = $self->{object}->retrieve_node($page);
}
if ($format ne 'raw') {
@@ -350,10 +364,11 @@ sub display_page {
return %node;
}
- else {
- # boilerplate message for missing pages
- return ::errmsg(q{This page does not exist yet. You can create a new empty page.});
- }
+
+ # boilerplate message for missing pages with link to create new page
+ my $url = Vend::Tags->area({href => "$self->{name}/$page", form => 'action=create'});
+ return ::errmsg(q{This page does not exist yet. You can %screate%s a new empty page.},
+ qq{<a href="$url">}, q{</a>});
}
# list Wiki pages
@@ -557,7 +572,8 @@ package Vend::Config;
my %wiki_config_params = (dbname => 1,
dbuser => 1,
dbpass => 1,
- dbhost => 1);
+ dbhost => 1,
+ front_page => 1);
sub parse_wiki {
my ($item, $settings) = @_;
diff --git a/plugins/wiki/README b/plugins/wiki/README
new file mode 100644
index 0000000..26ac60e
--- /dev/null
+++ b/plugins/wiki/README
@@ -0,0 +1,29 @@
+Configuration
+=============
+
+Database backend
+----------------
+
+Wiki wiki backend mysql
+Wiki wiki dbname wiki
+Wiki wiki dbuser __SQLUSER__
+Wiki wiki dbpass __SQLPASS__
+
+Front page
+----------
+
+The default front page is "Index". This can be changed
+through the front_page setting:
+
+Wiki wiki front_page Home
+
+Metadata
+========
+
+Some metadata keys with are reserved for internal usage:
+
+formatter: Formatter used for this node.
+uid: Author's uid (or 0).
+
+
+
hooks/post-receive
--
Interchange wellwell catalog
More information about the wellwell-devel
mailing list