Skip to content

Commit

Permalink
Item13527: added support for multi-ling wiki apps
Browse files Browse the repository at this point in the history
- display inheritance graph of TopicTypes using DirectedGraphPlugin
- added editors and TopicTypes for all wiki app components
  • Loading branch information
MichaelDaum committed Jul 17, 2015
1 parent e128d12 commit 7fdddff
Show file tree
Hide file tree
Showing 126 changed files with 1,305 additions and 729 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -1,5 +1,6 @@
*.gz
*.swp
igp_*
pub/System/WikiWorkbenchContrib/jquery.topictitle.js
WikiWorkbenchContrib.md5
WikiWorkbenchContrib.sha1
Expand Down
25 changes: 17 additions & 8 deletions data/Applications/ApplicationLicense.txt
@@ -1,4 +1,4 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1418752972" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicType"}%
%DBCALL{"RenderTopicInstaller" TYPE="TopicType" PARENT="TopicType"}%

Expand All @@ -7,23 +7,32 @@
Every WikiApplication comes with an ApplicationLicense. A topic of this type must have a =notice= section
that will be displayed on components that make use of this license. The notice section contains a short summary
of the ApplicationLicense.

See also [[%TOPIC%ViewTemplate]], [[%TOPIC%EditTemplate]]
%ENDSECTION{"documentation"}%

---++ Topics of type '%TOPIC%'
%STARTINCLUDE%<!-- -->
%DBCALL{"Applications.RenderSimpleTopicCreator"
VALUE="...License"
TYPE="%TOPIC%"
FORM="Applications.ApplicationTopic"
}%

%DBCALL{"Applications.RenderTopicsOfType"}%
<!-- -->%STOPINCLUDE%

---++ <nop>%TOPIC% form
| *Name:*| *Type:* | *Size:* | *Values:* | *Description:* | *Attributes:* | *Default: * |
| TopicType | label | 1 | ApplicationLicense, ApplicationTopic, WikiTopic | topic type | | |
| <nop>TopicTitle | text | 75 | | | | |
| Summary | text | 75 | | short description or tagline | c | |
| WikiApplication| wikiapp | 1 | | application this topic belongs to | | |

%META:FORM{name="Applications.TopicType"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicType"}%
%META:FIELD{name="TopicTitle" attributes="" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Inheritance" attributes="" title="Inheritance" value="ApplicationTopic"}%
%META:FIELD{name="Summary" attributes="c" title="Summary" value="License for WikiApplications"}%
%META:FIELD{name="WikiApplication" attributes="" title="WikiApplication" value="WikiWorkbench"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicType, DataForm, DocuTopic, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Inheritance" title="Inheritance" value="ApplicationTopic, WikiTopic"}%
%META:FIELD{name="Summary" title="Summary" value="License for WikiApplications"}%
%META:FIELD{name="Icon" title="Icon" value="fa-copyright"}%
%META:FIELD{name="Editor" title="Editor" value="Applications.ApplicationLicenseEditTemplate"}%
%META:FIELD{name="Template" title="Template" value=""}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
19 changes: 19 additions & 0 deletions data/Applications/ApplicationLicenseEditTemplate.txt
@@ -0,0 +1,19 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicView"}%
%{<verbatim class="tml">}%
%TMPL:INCLUDE{"Applications.ApplicationTopicEdit"}%
%{</verbatim>}%

%{<verbatim class="tml">}%
%TMPL:DEF{"topictype"}%application license%TMPL:END%
%{</verbatim>}%

%{<verbatim class="tml">}%
%TMPL:DEF{"formdefinition"}%Applications.ApplicationLicense%TMPL:END%
%{</verbatim>}%

%META:FORM{name="TopicView"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value="ApplicationLicenseEditTemplate "}%
%META:FIELD{name="Summary" title="Summary" value="Editor for ApplicationLicenses"}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
11 changes: 11 additions & 0 deletions data/Applications/ApplicationLicenseViewTemplate.txt
@@ -0,0 +1,11 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicView"}%
%{<verbatim class="tml">}%
%TMPL:INCLUDE{"Applications.ApplicationTopicView"}%
%{</verbatim>}%

%META:FORM{name="TopicView"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" title="Summary" value="a TopicView for ApplicationLicenses"}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
42 changes: 26 additions & 16 deletions data/Applications/ApplicationTopic.txt
@@ -1,34 +1,44 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1418752972" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicType"}%
%DBCALL{"RenderTopicInstaller" TYPE="TopicType" PARENT="TopicType"}%
---++ Documentation
%STARTSECTION{"documentation"}%
An ApplicationTopic is a topic that belongs to a WikiApplication. TopicTypes, TopicFunctions, TopicViews etc are all ApplicationTopics as they belong to some WikiApplication. Based on this information
An ApplicationTopic is a topic that belongs to a WikiApplication. [[TopicTypes]], [[TopicFunctions]], [[TopicViews]] etc are all <nop>ApplicationTopics as they belong to some WikiApplication. Based on this information
all parts of an application are gathered to create documentation and use it for packaging purposes.

%DBQUERY{
"Inheritance=~'\b%TOPIC%\b'"
header="TopicTypes that are derived from %TOPIC%:$n"
format=" * [[$web.$topic]]"
hidenull="on"
}%

See also [[%TOPIC%ViewTemplate]], [[%TOPIC%EditTemplate]]
%ENDSECTION{"documentation"}%

---++ Topics of type '%TOPIC%'
%STARTINCLUDE%<!-- -->
%DBCALL{"Applications.RenderSimpleTopicCreator"
FORM="Applications.ApplicationTopic"
TYPE="ApplicationTopic"
}%
%DBCALL{"Applications.RenderSimpleTopicCreator"}%

%DBCALL{"Applications.RenderTopicsOfType"}%
%DBCALL{"Applications.RenderTopicsOfType"
FIELDS="TopicTitle,TopicType,WikiApplication,Changed"
}%
%STOPINCLUDE%

---++ <nop>%TOPIC% form
| *Name:*| *Type:* | *Size:* | *Values:* | *Description:* | *Attributes:* | *Default: * |
| TopicType | checkbox | 3 |%DBCALL{"Applications.GetTopicTypes" remote="off"}%| Document type | | |
| <nop>TopicTitle | text | 75 | | title | | |
| Summary | text | 75 | | Short description of the role of this topic | c | |
| WikiApplication| wikiapp | 1 | | Application this topic belongs to | | |
| TopicType | label | 1 | ApplicationTopic, WikiTopic | topic type | | |
| <nop>TopicTitle | text | 75 | | | | |
| Summary | text | 75 | | short description or tagline | c | |
| WikiApplication| wikiapp | 1 | | application this topic belongs to | | |


%META:FORM{name="Applications.TopicType"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicType, DataForm, DocuTopic"}%
%META:FIELD{name="TopicTitle" attributes="" title="<nop>TopicTitle" value="ApplicationTopic"}%
%META:FIELD{name="Inheritance" attributes="" title="Inheritance" value="WikiTopic"}%
%META:FIELD{name="Summary" attributes="" title="Summary" value="A topic that is part of an application"}%
%META:FIELD{name="WikiApplication" attributes="" title="WikiApplication" value="WikiWorkbench"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicType, DataForm, DocuTopic, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Inheritance" title="Inheritance" value="WikiTopic"}%
%META:FIELD{name="Summary" title="Summary" value="A topic that is part of an application"}%
%META:FIELD{name="Icon" title="Icon" value="fa-fire"}%
%META:FIELD{name="Editor" title="Editor" value="Applications.ApplicationTopicEditTemplate"}%
%META:FIELD{name="Template" title="Template" value=""}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
26 changes: 20 additions & 6 deletions data/Applications/ApplicationTopicEditTemplate.txt
@@ -1,4 +1,4 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1418752972" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicView"}%
%{<verbatim class="tml">}%
%TMPL:INCLUDE{"Applications.WikiTopicEdit"}%
Expand All @@ -8,8 +8,22 @@
%TMPL:DEF{"topictype"}%application topic%TMPL:END%
%{</verbatim>}%

%META:FORM{name="Applications.ApplicationTopic"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView"}%
%META:FIELD{name="TopicTitle" attributes="" title="<nop>TopicTitle" value="ApplicationTopicEditTemplate"}%
%META:FIELD{name="Summary" attributes="c" title="Summary" value="Editor for ApplicationTopics"}%
%META:FIELD{name="WikiApplication" attributes="" title="WikiApplication" value="WikiWorkbench"}%
%{<verbatim class="tml">}%
%TMPL:DEF{"formdefinition"}%Applications.ApplicationTopic%TMPL:END%
%{</verbatim>}%

%{<verbatim class="tml">}%
%TMPL:DEF{"formfields"}%%TMPL:PREV%<!-- -->
%TAB{"%MAKETEXT{"Details"}%"}%
%RENDERFOREDIT{
exclude="\b(TopicType|TopicTitle|Summary)\b"
}%
%ENDTAB%%TMPL:END%
%{</verbatim>}%


%META:FORM{name="TopicView"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" title="Summary" value="Editor for ApplicationTopics"}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
12 changes: 6 additions & 6 deletions data/Applications/ApplicationTopicViewTemplate.txt
@@ -1,12 +1,12 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1418752972" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicView"}%
%{<verbatim class="tml">}%
%TMPL:INCLUDE{"Applications.WikiTopicView"}%
%TMPL:DEF{"form"}%%META{"form"}%%TMPL:END%
%{</verbatim>}%

%META:FORM{name="Applications.ApplicationTopic"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView"}%
%META:FIELD{name="TopicTitle" attributes="" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" attributes="" title="Summary" value="TopicView for ApplicationTopics"}%
%META:FIELD{name="WikiApplication" attributes="" title="WikiApplication" value="WikiWorkbench"}%
%META:FORM{name="TopicView"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" title="Summary" value="TopicView for ApplicationTopics"}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
24 changes: 12 additions & 12 deletions data/Applications/AtomViewTemplate.txt
@@ -1,4 +1,4 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1418752972" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicView"}%
%{<verbatim class="tml">}%
%TMPL:P{"atomhead"}%%TMPL:P{"atombody"}%%TMPL:P{"atomfooter"}%
Expand All @@ -23,8 +23,7 @@
%{</verbatim>}%

%{<verbatim class="tml">}%
%TMPL:DEF{"atombody"}%<noautolink>
%DBQUERY{"%FILTER%"
%TMPL:DEF{"atombody"}%%DBQUERY{"%FILTER%"
exclude="WebTopicEditTemplate"
sort="created"
reverse="on"
Expand All @@ -42,25 +41,26 @@
$percntCATINFO{\"$web.$topic\"
format=\"<category label=\\"$title\\" term=\\"$dollartopic\\" />\"
separator=\"$n \"
}$percnt<!-- -->
}$percnt
$percntTAGINFO{\"$web.$topic\"
format=\"<category term=\\"$dollarname\\" />\"
separator=\"$n \"
}$percnt<!-- -->
}$percnt
<content type=\"html\"><![CDATA[$percntDBCALL{\"$web.$topic\"}$percnt$percntTAGINFO{
\"$web.$topic\"
header=\"<p>%MAKETEXT{"Tags"}%: \"
format=\"$dollarname\"
footer=\"</p>\"
footer=\"</p>
\"
}$percnt
]]></content>
</entry>"
}%
</noautolink>%TMPL:END%
%TMPL:END%
%{</verbatim>}%

%META:FORM{name="Applications.ApplicationTopic"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView"}%
%META:FIELD{name="TopicTitle" attributes="" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" attributes="c" title="Summary" value="View for the atom feeds"}%
%META:FIELD{name="WikiApplication" attributes="" title="WikiApplication" value="WikiWorkbench"}%
%META:FORM{name="TopicView"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" title="Summary" value="View for the atom feeds"}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
20 changes: 11 additions & 9 deletions data/Applications/CompleteDocumentation.txt
@@ -1,4 +1,4 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1418752972" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="WikiApplication"}%
%TOC{depth="4" title="Table of Contents"}%

Expand All @@ -7,6 +7,8 @@ The !WikiWorkbench is a standardized way to write and deploy WikiApplications. I
At its core it establishes a certain terminology (such as TopicTypes and TopicFunctions) that are common in non-web applications. A !WikiWorkbench implements a standard set of means to ease the administration of even large-scale WikiApplication. WikiApplications, i.e. its TopicFunctions ease the extraction of application documentation. Merging a set of applications obeying this framework into the same web grants a higher level of compatibility and re-usability.

---++ Documentation
---+++ Type Hierarchy
%DBCALL{"Applications.RenderInheritanceGraph"}%
%DBCALL{"RenderApplicationDocumentation" TYPE="TopicType" NAME="WikiWorkbench"}%
%DBCALL{"RenderApplicationDocumentation" TYPE="DataForm" NAME="WikiWorkbench"}%
%DBCALL{"RenderApplicationDocumentation" TYPE="TopicTemplate" NAME="WikiWorkbench"}%
Expand All @@ -20,11 +22,11 @@ The !WikiWorkbench is a standardized way to write and deploy WikiApplications. I
%DBCALL{"RenderApplicationManifest" NAME="WikiWorkbench"}%

%META:FORM{name="Applications.WikiApplication"}%
%META:FIELD{name="TopicType" title="TopicType" value="WikiApplication"}%
%META:FIELD{name="TopicTitle" attributes="" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" attributes="c" title="Summary" value="WikiApplication to develop WikiApplications"}%
%META:FIELD{name="Version" attributes="" title="Version" value="0.9"}%
%META:FIELD{name="Author" attributes="" title="Author" value="Michael Daum"}%
%META:FIELD{name="Copyright" attributes="" title="Copyright" value="&copy; 2006-2014 Michael Daum http://michaeldaumconsulting.com"}%
%META:FIELD{name="License" attributes="" title="License" value="Applications.GnuGeneralPublicLicense"}%
%META:FIELD{name="Dependencies" attributes="" title="Dependencies" value=""}%
%META:FIELD{name="TopicType" title="TopicType" value="WikiApplication, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Summary" title="Summary" value="WikiApplication to develop WikiApplications"}%
%META:FIELD{name="Version" title="Version" value="0.9"}%
%META:FIELD{name="Author" title="Author" value="Michael Daum"}%
%META:FIELD{name="Copyright" title="Copyright" value="&copy; 2006-2015 Michael Daum http://michaeldaumconsulting.com"}%
%META:FIELD{name="License" title="License" value="GnuGeneralPublicLicense"}%
%META:FIELD{name="Dependencies" title="Dependencies" value=""}%
19 changes: 19 additions & 0 deletions data/Applications/DataEditTemplate.txt
@@ -0,0 +1,19 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="DataForm"}%
%{<verbatim class="tml">}%
%TMPL:INCLUDE{"Applications.ApplicationTopicEdit"}%
%{</verbatim>}%

%{<verbatim class="tml">}%
%TMPL:DEF{"topictype"}%data form%TMPL:END%
%{</verbatim>}%

%{<verbatim class="tml">}%
%TMPL:DEF{"formdefinition"}%Applications.DataForm%TMPL:END%
%{</verbatim>}%

%META:FORM{name="TopicView"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicView, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value="DataEditTemplate "}%
%META:FIELD{name="Summary" title="Summary" value="Editor for DataForms"}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%
25 changes: 16 additions & 9 deletions data/Applications/DataForm.txt
@@ -1,27 +1,34 @@
%META:TOPICINFO{author="ProjectContributor" comment="" date="1418752972" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" comment="" date="1435666503" format="1.1" version="1"}%
%META:TOPICPARENT{name="TopicType"}%
---++ Documentation
%STARTSECTION{"documentation"}%
DataForms add structured information to wiki topics.

See also: %TOPIC%Template, WebPreferences, DataFormAttributes, %SYSTEMWEB%.DataForms
See also: [[%TOPIC%Template]], [[%TOPIC%ViewTemplate]], [[%TOPIC%EditTemplate]], [[%SYSTEMWEB%.DataForms]]
%ENDSECTION{"documentation"}%

---++ Topics of type '%TOPIC%'
%STARTINCLUDE%<!-- -->
%DBCALL{"Applications.RenderSimpleTopicCreator"
TEMPLATE="Applications.DataFormTemplate"
FORM="Applications.ApplicationTopic"
TYPE="DataForm"
}%

%DBCALL{"Applications.RenderTopicsOfType"}%
%STOPINCLUDE%

---++ <nop>%TOPIC% form
| *Name:*| *Type:* | *Size:* | *Values:* | *Description:* | *Attributes:* | *Default: * |
| TopicType | label | 1 | DataForm, ApplicationTopic, WikiTopic | topic type | | |
| <nop>TopicTitle | text | 75 | | | | |
| Summary | text | 75 | | short description or tagline | c | |
| WikiApplication| wikiapp | 1 | | application this topic belongs to | | |

%META:FORM{name="Applications.TopicType"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicType, DocuTopic"}%
%META:FIELD{name="TopicTitle" attributes="" title="<nop>TopicTitle" value="DataForm"}%
%META:FIELD{name="Inheritance" attributes="" title="Inheritance" value="ApplicationTopic"}%
%META:FIELD{name="Summary" attributes="c" title="Summary" value="DataForm definitions"}%
%META:FIELD{name="WikiApplication" attributes="" title="WikiApplication" value="WikiWorkbench"}%
%META:FIELD{name="TopicType" title="TopicType" value="TopicType, DataForm, DocuTopic, ApplicationTopic, WikiTopic"}%
%META:FIELD{name="TopicTitle" title="<nop>TopicTitle" value=""}%
%META:FIELD{name="Inheritance" title="Inheritance" value="ApplicationTopic, WikiTopic"}%
%META:FIELD{name="Summary" title="Summary" value="DataForm definitions"}%
%META:FIELD{name="Icon" title="Icon" value="fa-database"}%
%META:FIELD{name="Editor" title="Editor" value="Applications.DataEditTemplate"}%
%META:FIELD{name="Template" title="Template" value="Applications.DataFormTemplate"}%
%META:FIELD{name="WikiApplication" title="WikiApplication" value="WikiWorkbench"}%

0 comments on commit 7fdddff

Please sign in to comment.