%META:TOPICINFO{author="TWikiContributor" date="1148545407" format="1.1" version="1.1"}%
%META:TOPICPARENT{}%
---+!! BlogUp: a twiki based weblog setup

*Note*: The BlogUp application is part of the BlogPlugin.

%STOPALIASAREA%
%TOC%
%STARTALIASAREA%


<!--
%ALIAS{name="TWikiApplication" value="%TWIKIWEB%.AnApplicationWithWikiForm"}%
%ALIAS{name="TopicFunction" value="#TopicFunctions"}%
%ALIAS{name="TopicFunctions" value="#TopicFunctions"}%
%ALIAS{name="TWikiWorkbench" value="#Implementation"}%
%ALIAS{name="TopicTypes" value="#TopicTypes"}%
%ALIAS{name="TopicType" value="#TopicTypes"}%
%ALIAS{name="TopicTemplates" value="#TopicTemplates"}%
%ALIAS{name="TopicTemplate" value="#TopicTemplates"}%
%ALIAS{name="TWikiForms" value="#TWikiForms"}%
%ALIAS{name="TWikiForm" value="#TWikiForms"}%
-->

<!--
   * Set TODO = %RED%TODO%ENDCOLOR%
-->

---++ Introduction
BlogUp is a TWikiApplication addon package that turns TWiki into a weblog
tool. In combination with the NatSkin it offers the look &amp; feel of
well known blogging tools like <nop>MovableType or <nop>WordPress but embedded
into a full-fledged wiki.

The main features are:
   * single- or multi-author blogging
   * one-click easy publishing and correction of postings and comments
   * extensible tagging system
   * tagged news aggregation
   * semi-automatic computation of "related" postings
   * threaded comment system
   * full content syndication
   * flexible archiving and retrieval
   * tag statistics
   * completely form-based TWikiApplication using the TWikiWorkbench approach

---++ Screenshots
<noautolink>
%IMAGEGALLERY%
</noautolink>

---++ Getting started
To create a blog use the BlogFactory. Note, however, that only members of 
the %MAINWEB%.TWikiAdminGroup are allowed to create a new blog. After entering
the mandatory information you will get a new web that is a copy of the _BlogPlugin
template web.

---++ User Manual
%TODO%
The BlogUp TWikiApplication is made up of tree levels that are of use depending on the role
of the visitor. 
   1 application level: that's the view a normal visitor gets on the site
   2 blog author level: grant access to tools needed to post a blog entry or add
     new SubjectCategories
   3 administrative level: grant access to TopicFunctions that render the site

Roles are assigned using %MAINWEB%.TWikiGroups, i.e. the %MAINWEB%.BlogAuthorGroup and
the %MAINWEB%.BlogAdminGroup. Each blog is contained in one web; one blog can be a multi-author
or single-author blog. A multi-author blog will display authorship per posting, not so a single-author
blog. 

---+++ Exploring the blog
%TODO%

---+++ Publishing a new blog entry
%TODO%

---+++ Adding a new SubjectCategory
%TODO%

---+++ Aggregating news
%TODO%

---+++ Commenting
%TODO%


---++ Implementation
The BlogUp is implemented using the TWikiWorkbench approach consisting (at least) of a set of 
TopicTypes, TopicFunctions, TWikiForms and TopicTemplates that are used to implement the application.

---+++ TopicTypes
Each topic is typed using TWikiForms, that is TWikiForms define TopicTypes. 
A TopicType form has a token and a free-form TopicDescription that describes the purpose of an
instance of that type.

In general a TopicType is made up of three parts:
   1 the TopicType topic named XXX
   1 the TWikiForm topic named XXXForm
   1 the TopicTemplate topic named XXXTemplate
 
The XXX TopicType topic lists an overview of all topics of the given type and a form to create a new one. 

%DBCALL{"%TOPIC%" section="RenderTopicList" NAME="TopicType"}%

---+++ TopicFunctions
TopicFunctions are the
basic building blocks that are used to render the application. TopicFunctions are divided into
sections that are extracted using parametrized INCLUDEs. (Note, that the BlogPlugin does _not_
use INCLUDE or SEARCH but DBCALL and DBQUERY provided by the DBCachePlugin.)
Thereby TopicFunctions are "called" as functions in a library are called to be executed. Every
TopicFunction is named <nop>RenderXXX where XXX describes the output generated by it.
A TopicFunction is also documenting itself and its parameters.

%DBCALL{"%TOPIC%" section="RenderTopicList" NAME="TopicFunction"}%

---+++ TWikiForms
%TODO%

%DBCALL{"%TOPIC%" section="RenderTopicList" NAME="TWikiForm"}%

---+++ TopicTemplates
%TODO%

%DBCALL{"%TOPIC%" section="RenderTopicList" NAME="TopicTemplate"}%

---++ Customization
%TODO%



See also: BlogPlugin, [[_BlogPlugin.WebHome][BlogUp template web]]

<!--
%STARTSECTION{"RenderTopicList"}%
<div class="tableModDiv">
<noautolink>
| *Name* | *Description* | 
%~~ DBQUERY{"TopicType=~'\b%NAME%\b'" 
~~~   web="_BlogPlugin"
~~~   order="Name or name"
~~~   format="| [[$web.$topic][$expand(Name or name)]] 
~~~           | $expand(TopicDescription or Headline) |"
~~~ }%
</noautolink>
</div>
%ENDSECTION{"RenderTopicList"}%
-->

<style type="text/css">
  .tableModDiv .twikiTable td { vertical-align:top; }
</style>

---++ Application Info

|  Author: | TWiki:Main/MichaelDaum |
|  Copyright &copy;: | 2006, Michael Daum |
|  License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) |
|  Version: | v0.47 |
|  Dependencies: | BlogPlugin |
|  Change History: | (see also the change history of the BlogPlugin) |
|  24 Jan 2006: | Initial version |
|  Demo: | http://jojowiki.dyndns.org |
|  Home: | TWiki:Plugins/%TOPIC% |
|  Feedback: | TWiki:Plugins/BlogPlugin |
|  Appraisal: | TWiki:Plugins/BlogPluginAppraisal |

-- TWiki:Main/MichaelDaum - 08 Feb 2006


%META:FILEATTACHMENT{name="BlogPluginSnap1.jpg" attachment="BlogPluginSnap1.jpg" attr="h" comment="FrontPage (Wordpress style)" date="1138825802" path="BlogPluginSnap1.jpg" size="123999" stream="BlogPluginSnap1.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap2.jpg" attachment="BlogPluginSnap2.jpg" attr="h" comment="FrontPage (MovableType style)" date="1138825888" path="BlogPluginSnap2.jpg" size="155286" stream="BlogPluginSnap2.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap3.jpg" attachment="BlogPluginSnap3.jpg" attr="h" comment="BlogSideBar on FrontPage showing the Archive, Categories and Blogroll" date="1138825903" path="BlogPluginSnap3.jpg" size="27394" stream="BlogPluginSnap3.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap4.jpg" attachment="BlogPluginSnap4.jpg" attr="h" comment="BlogEntry, sidebar links to related entries" date="1138825919" path="BlogPluginSnap4.jpg" size="81968" stream="BlogPluginSnap4.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap5.jpg" attachment="BlogPluginSnap5.jpg" attr="h" comment="NewsReader based on HeadlinesPlugin" date="1138825934" path="BlogPluginSnap5.jpg" size="96546" stream="BlogPluginSnap5.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap6.jpg" attachment="BlogPluginSnap6.jpg" attr="h" comment="BlogAuthors tools in sidebar" date="1138825949" path="BlogPluginSnap6.jpg" size="21132" stream="BlogPluginSnap6.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap7.jpg" attachment="BlogPluginSnap7.jpg" attr="h" comment="Implementation level showing list of TopicFunctions" date="1138825963" path="BlogPluginSnap7.jpg" size="102693" stream="BlogPluginSnap7.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap8.jpg" attachment="BlogPluginSnap8.jpg" attr="h" comment="Implementation level showing list of TopicTypes" date="1138825983" path="BlogPluginSnap8.jpg" size="111152" stream="BlogPluginSnap8.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap9.jpg" attachment="BlogPluginSnap9.jpg" attr="h" comment="Monthly BlogArchive and statistics" date="1138825996" path="BlogPluginSnap9.jpg" size="46207" stream="BlogPluginSnap9.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap10.jpg" attachment="BlogPluginSnap10.jpg" attr="h" comment="Administrative level showing list of SubjectCategories" date="1138826011" path="BlogPluginSnap10.jpg" size="75369" stream="BlogPluginSnap10.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap11.jpg" attachment="BlogPluginSnap11.jpg" attr="h" comment="Implementation level showing one TopicFunction" date="1138826025" path="BlogPluginSnap11.jpg" size="95257" stream="BlogPluginSnap11.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap12.jpg" attachment="BlogPluginSnap12.jpg" attr="h" comment="Customized WebSearch showing headlines and teasers" date="1138826039" path="BlogPluginSnap12.jpg" size="69360" stream="BlogPluginSnap12.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap13.jpg" attachment="BlogPluginSnap13.jpg" attr="h" comment="Editing a BlogEntry" date="1139946650" path="BlogPluginSnap13.jpg" size="111446" stream="BlogPluginSnap13.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap14.jpg" attachment="BlogPluginSnap14.jpg" attr="h" comment="Editing a BlogLink" date="1139946686" path="BlogPluginSnap14.jpg" size="53731" stream="BlogPluginSnap14.jpg" user="TWikiContributor" version="1.1"}%
%META:FILEATTACHMENT{name="BlogPluginSnap15.jpg" attachment="BlogPluginSnap15.jpg" attr="h" comment="Editing a posting" date="1141923830" path="BlogPluginSnap15.jpg" size="69566" stream="BlogPluginSnap15.jpg" user="TWikiContributor" version="1.1"}%
