Implement multiple inheritance in Help, allowing variables, fields and related
topics to be inherited from multiple entries. Operation/Help now also gives the help hash a default ISA array, to make downstream processing by tests and documentation compilers easier. Convert existing Help entries that already used ISA to have an array ref instead of a singular hash ref. Also update the Help skeleton to show the new syntax.
This commit is contained in:
parent
d7450926be
commit
b4597e50e5
14 changed files with 105 additions and 39 deletions
|
|
@ -105,6 +105,11 @@ our $HELP = {
|
|||
'asset template' => {
|
||||
title => 'asset template title',
|
||||
body => 'asset template body',
|
||||
variables => [
|
||||
{
|
||||
name => 'controls',
|
||||
},
|
||||
],
|
||||
fields => [
|
||||
],
|
||||
related => [
|
||||
|
|
|
|||
|
|
@ -47,10 +47,16 @@ our $HELP = {
|
|||
'article template' => {
|
||||
title => '72',
|
||||
body => '73',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template"
|
||||
},
|
||||
],
|
||||
fields => [
|
||||
],
|
||||
variables => [
|
||||
|
|
|
|||
|
|
@ -43,10 +43,16 @@ our $HELP = {
|
|||
'file template' => {
|
||||
title => 'file template title',
|
||||
body => 'file template body',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template"
|
||||
},
|
||||
],
|
||||
variables => [
|
||||
{
|
||||
'name' => 'fileSize'
|
||||
|
|
|
|||
|
|
@ -5,10 +5,12 @@ our $HELP = {
|
|||
'folder add/edit' => {
|
||||
title => 'folder add/edit title',
|
||||
body => 'folder add/edit body',
|
||||
isa => {
|
||||
namespace => "Asset_Wobject",
|
||||
tag => "wobject add/edit"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Wobject",
|
||||
tag => "wobject add/edit",
|
||||
},
|
||||
],
|
||||
fields => [
|
||||
{
|
||||
title => 'visitor cache timeout',
|
||||
|
|
@ -33,10 +35,16 @@ our $HELP = {
|
|||
'folder template' => {
|
||||
title => 'folder template title',
|
||||
body => 'folder template body',
|
||||
isa => {
|
||||
namespace => "Asset_Wobject",
|
||||
tag => "wobject template"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Wobject",
|
||||
tag => "wobject template"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template",
|
||||
},
|
||||
],
|
||||
fields => [ ],
|
||||
variables => [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -50,10 +50,16 @@ our $HELP = {
|
|||
'image template' => {
|
||||
title => 'image template title',
|
||||
body => 'image template body',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template"
|
||||
},
|
||||
],
|
||||
fields => [
|
||||
],
|
||||
variables => [
|
||||
|
|
|
|||
|
|
@ -37,10 +37,16 @@ our $HELP = {
|
|||
'layout template' => {
|
||||
title => 'layout template title',
|
||||
body => 'layout template body',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template"
|
||||
},
|
||||
],
|
||||
variables => [
|
||||
{
|
||||
'name' => 'showAdmin'
|
||||
|
|
|
|||
|
|
@ -32,10 +32,16 @@ our $HELP = {
|
|||
'multisearch template' => {
|
||||
title => 'multisearch template title',
|
||||
body => 'multisearch template body',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template"
|
||||
},
|
||||
],
|
||||
variables => [
|
||||
{
|
||||
'name' => 'search',
|
||||
|
|
|
|||
|
|
@ -60,10 +60,16 @@ our $HELP = {
|
|||
'shortcut template' => {
|
||||
title => 'shortcut template title',
|
||||
body => 'shortcut template body',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template"
|
||||
},
|
||||
],
|
||||
variables => [
|
||||
{
|
||||
'name' => 'shortcut.content'
|
||||
|
|
|
|||
|
|
@ -30,10 +30,12 @@ our $HELP = {
|
|||
'wobject add/edit' => {
|
||||
title => '677',
|
||||
body => '632',
|
||||
isa => {
|
||||
isa => [
|
||||
{
|
||||
tag => 'asset fields',
|
||||
namespace => 'Asset'
|
||||
},
|
||||
],
|
||||
fields => [
|
||||
{
|
||||
title => '174',
|
||||
|
|
|
|||
|
|
@ -42,10 +42,16 @@ our $HELP = {
|
|||
'zip archive template' => {
|
||||
title => 'zip archive template title',
|
||||
body => 'zip archive template body',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
{
|
||||
namespace => "Asset",
|
||||
tag => "asset template"
|
||||
},
|
||||
],
|
||||
fields => [
|
||||
],
|
||||
variables => [
|
||||
|
|
|
|||
|
|
@ -5,10 +5,12 @@ our $HELP = {
|
|||
'login box' => {
|
||||
title => 'login box title',
|
||||
body => 'login box body',
|
||||
isa => {
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
isa => [
|
||||
{
|
||||
namespace => "Asset_Template",
|
||||
tag => "template variables"
|
||||
},
|
||||
],
|
||||
variables => [
|
||||
{
|
||||
'name' => 'user.isVisitor'
|
||||
|
|
|
|||
|
|
@ -9,11 +9,13 @@ our $HELP = { ##hashref of hashes
|
|||
|
||||
title => 'help article title', #The title and body are looked up in the
|
||||
body => 'help article title', #i18n file of the same name
|
||||
# use the following to inherit stuff from another help entry
|
||||
isa => {
|
||||
# use the following to inherit stuff other help entries
|
||||
isa => [
|
||||
{
|
||||
tag => 'some other help tag',
|
||||
namespace => 'some other help file',
|
||||
},
|
||||
];
|
||||
fields => [ #This array is used to list hover help for form fields.
|
||||
{
|
||||
title => 'form label 1',
|
||||
|
|
@ -31,6 +33,7 @@ our $HELP = { ##hashref of hashes
|
|||
{
|
||||
name => "template.variable.name",
|
||||
description => "international tag in this namespace describing this var"
|
||||
required => "is this variable required for the template to work correctly?"
|
||||
},
|
||||
],
|
||||
related => [ ##This lists other help articles that are related to this one
|
||||
|
|
|
|||
|
|
@ -54,8 +54,12 @@ sub _load {
|
|||
my $help = dclone($hash);
|
||||
foreach my $tag (keys %{ $help }) {
|
||||
$help->{$tag}{related} = [ _related($session, $help->{$tag}{related}) ];
|
||||
if ($help->{$tag}{isa}{namespace}) {
|
||||
my $isa = $hash->{$tag}{isa};
|
||||
##Add an ISA link unless it already exists.
|
||||
##This simplifies handling later.
|
||||
unless (exists $help->{$tag}{isa} and ref $help->{$tag}{isa} eq 'ARRAY') {
|
||||
$help->{$tag}{isa} = [];
|
||||
}
|
||||
foreach my $isa ( @{ $help->{$tag}{isa} } ) {
|
||||
my $other = _load($session, $isa->{namespace});
|
||||
my $otherHelp = $other->{ $isa->{tag} };
|
||||
my $add = $otherHelp->{fields};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue