You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2006/11/02 20:40:58 UTC
svn commit: r470488 [1/2] - in /incubator/roller/branches/roller_3.1: ./
custom/ docs/installguide/ docs/templateguide/
docs/templateguide/generated/html/ docs/userguide/
docs/userguide/generated/ docs/userguide/generated/html/
src/org/apache/roller/bu...
Author: snoopdave
Date: Thu Nov 2 11:40:54 2006
New Revision: 470488
URL: http://svn.apache.org/viewvc?view=rev&rev=470488
Log:
Merging changes from trunk
Added:
incubator/roller/branches/roller_3.1/custom/custom-build-web.xmlf
- copied unchanged from r470479, incubator/roller/trunk/custom/custom-build-web.xmlf
incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide_html_34c19140.gif
- copied unchanged from r470479, incubator/roller/trunk/docs/templateguide/generated/html/roller-template-guide_html_34c19140.gif
incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide_html_6e28811.gif
- copied unchanged from r470479, incubator/roller/trunk/docs/templateguide/generated/html/roller-template-guide_html_6e28811.gif
incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide_html_m3f93234f.gif
- copied unchanged from r470479, incubator/roller/trunk/docs/templateguide/generated/html/roller-template-guide_html_m3f93234f.gif
incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide_html_mf8a9362.gif
- copied unchanged from r470479, incubator/roller/trunk/docs/templateguide/generated/html/roller-template-guide_html_mf8a9362.gif
incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide_html_1e2ce2fd.png
- copied unchanged from r470479, incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_1e2ce2fd.png
incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide_html_40faf25f.png
- copied unchanged from r470479, incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_40faf25f.png
incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide_html_4b9f1dcd.png
- copied unchanged from r470479, incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_4b9f1dcd.png
incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide_html_m4d5bf62f.png
- copied unchanged from r470479, incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m4d5bf62f.png
incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide_html_m5e9ef88f.png
- copied unchanged from r470479, incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m5e9ef88f.png
Modified:
incubator/roller/branches/roller_3.1/README.txt
incubator/roller/branches/roller_3.1/build.xml
incubator/roller/branches/roller_3.1/docs/installguide/roller-install-guide.odt
incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide.html
incubator/roller/branches/roller_3.1/docs/templateguide/roller-template-guide.odt
incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide.html
incubator/roller/branches/roller_3.1/docs/userguide/generated/roller-user-guide.pdf
incubator/roller/branches/roller_3.1/docs/userguide/roller-user-guide.odt
incubator/roller/branches/roller_3.1/src/org/apache/roller/business/FileManagerImpl.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/business/ThemeManagerImpl.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/business/WeblogManager.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryData.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagAggregateData.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagData.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PageServlet.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/util/WeblogFeedRequest.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/util/WeblogPageRequest.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/util/URLUtilities.java
incubator/roller/branches/roller_3.1/src/org/apache/roller/webservices/json/TagStatsServlet.java
incubator/roller/branches/roller_3.1/tests/org/apache/roller/business/PlanetManagerTest.java
incubator/roller/branches/roller_3.1/tests/org/apache/roller/business/WeblogEntryTest.java
incubator/roller/branches/roller_3.1/web/WEB-INF/jsps/authoring/CommentManagementSidebar.jsp
incubator/roller/branches/roller_3.1/web/WEB-INF/jsps/authoring/WeblogEdit.jsp
Modified: incubator/roller/branches/roller_3.1/README.txt
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/README.txt?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/README.txt (original)
+++ incubator/roller/branches/roller_3.1/README.txt Thu Nov 2 11:40:54 2006
@@ -8,11 +8,28 @@
reflection of the completeness or stability of the code, it does indicate
that the project has yet to be fully endorsed by the ASF.
- To install Roller, follow the instructions in the Installation Guide:
- http://rollerweblogger.org/wiki/Wiki.jsp?page=InstallationGuide
+ To install Roller, follow the instructions in the Installation Guide,
+ which is available in three formats:
+
+ HTML - docs/intallguide/generated/roller-install-guide.html
+ PDF - docs/intallguide/generated/roller-install-guide.pdf
+ OpenOffice - docs/intallguide/roller-install-guide.odt
+
+
+ To use Roller, follow the instructions in the Users Guide, which is also
+ available in a variety of formats.
+
+ HTML - docs/userguide/generated/roller-user-guide.html
+ PDF - docs/userguide/generated/roller-user-guide.pdf
+ OpenOffice - docs/userguide/roller-user-guide.odt
+
+ There is also a Template Author Guide, which explains how to customize
+ Roller blog page templates, available in multiple formats.
+
+ HTML - docs/template/generated/roller-template-guide.html
+ PDF - docs/template/generated/roller-template-guide.pdf
+ OpenOffice - docs/template/roller-template-guide.odt
- To use Roller, follow the instructions in the Users Guide:
- http://rollerweblogger.org/wiki/Wiki.jsp?page=UserGuide
See also
Modified: incubator/roller/branches/roller_3.1/build.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/build.xml?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/build.xml (original)
+++ incubator/roller/branches/roller_3.1/build.xml Thu Nov 2 11:40:54 2006
@@ -21,7 +21,8 @@
<!ENTITY custom-ant SYSTEM "custom/custom-ant.xmlf">
<!ENTITY custom-jars SYSTEM "custom/custom-jars.xmlf">
<!ENTITY custom-gen-business SYSTEM "custom/custom-gen-business.xmlf">
- <!ENTITY custom-build-business SYSTEM "custom/custom-build-business.xmlf">
+ <!ENTITY custom-build-business SYSTEM "custom/custom-build-business.xmlf">
+ <!ENTITY custom-build-web SYSTEM "custom/custom-build-web.xmlf">
<!ENTITY custom-gen-web SYSTEM "custom/custom-gen-web.xmlf">
<!ENTITY custom-src-web SYSTEM "custom/custom-src-web.xmlf">
<!ENTITY custom-web SYSTEM "custom/custom-web.xmlf">
@@ -380,7 +381,9 @@
<include name="**/*.tpl"/>
<include name="**/*.vm"/>
</fileset>
- </copy>
+ </copy>
+
+ &custom-build-web;
<!-- Jar up web classes -->
<jar jarfile="${build.lib}/roller-web.jar">
Modified: incubator/roller/branches/roller_3.1/docs/installguide/roller-install-guide.odt
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/docs/installguide/roller-install-guide.odt?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
Binary files - no diff available.
Modified: incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide.html
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide.html?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide.html (original)
+++ incubator/roller/branches/roller_3.1/docs/templateguide/generated/html/roller-template-guide.html Thu Nov 2 11:40:54 2006
@@ -7,7 +7,7 @@
<META NAME="AUTHOR" CONTENT="Dave Johnson">
<META NAME="CREATED" CONTENT="20051209;11500200">
<META NAME="CHANGEDBY" CONTENT="Dave Johnson">
- <META NAME="CHANGED" CONTENT="20061023;14412000">
+ <META NAME="CHANGED" CONTENT="20061101;9091800">
<META NAME="SDFOOTNOTE" CONTENT=";;;;P">
<META NAME="SDENDNOTE" CONTENT="ARABIC">
<STYLE>
@@ -62,12 +62,12 @@
<P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in; background: transparent">
<BR>
</P>
- <P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in; background: transparent"><A NAME="DDE_LINK"></A>
+ <P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in; background: transparent">
<FONT SIZE=7 STYLE="font-size: 32pt"><B>Apache Roller</B></FONT></P>
<P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in; background: transparent">
<FONT SIZE=5 STYLE="font-size: 20pt"><B>(incubating) </B></FONT>
</P>
- <P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in; background: transparent">
+ <P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in; background: transparent"><A NAME="DDE_LINK"></A>
<FONT SIZE=7 STYLE="font-size: 32pt"><B>Version 3.1</B></FONT></P>
<P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in; background: transparent; font-weight: medium">
<BR>
@@ -265,6 +265,9 @@
</SPAN><FONT SIZE=2 STYLE="font-size: 11pt">7.5 - Search macros 24</FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in; background: transparent; font-weight: medium">
</SPAN><FONT SIZE=2 STYLE="font-size: 11pt">7.6 - Misc. macros 25</FONT></P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in; background: transparent; font-weight: medium">
+ </SPAN><FONT SIZE=2 STYLE="font-size: 11pt">7.7 - Displaying a Tag
+ Cloud 25</FONT></P>
<P STYLE="margin-bottom: 0in; background: transparent"><FONT SIZE=4 STYLE="font-size: 16pt"><B>8
- Additional models 26</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in; background: transparent; font-weight: medium">
@@ -1210,7 +1213,7 @@
get from those. See Section 6 for a complete reference to the data
objects and their properties.</P>
<P CLASS="western"><SPAN ID="Frame1" DIR="LTR" STYLE="float: left; width: 7.06in; height: 3.96in; border: none; padding: 0in; background: #ffffff">
- <P CLASS="frame-contents-western"><IMG SRC="roller-template-guide_html_1e560987.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m202e3c46.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m5695ffaf.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_59438386.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m637f673c.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m2b0639f5.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_745e10ce.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_2d61cb4e.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m610b5f75.gif" ALIGN=LEFT><IMG SRC="roller-
template-guide_html_m452b7d95.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m3add420.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_6d3d7e5b.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_4b83d79d.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_7b24c4cc.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_a408ed3.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m7027fa92.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m8246857.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m4f869ae1.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_dac7346.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_731c768.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m4b8ab955.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_6d79f29e.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_3e97bead.gif" ALIGN=LEFT><BR><BR>
+ <P CLASS="frame-contents-western"><IMG SRC="roller-template-guide_html_1e560987.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_34c19140.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m5695ffaf.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf8a9362.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m3f93234f.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m2b0639f5.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_745e10ce.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_mf2d7980.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_6e28811.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m610b5f75.gif" ALIGN=LEFT><IMG SRC="roller-te
mplate-guide_html_m452b7d95.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m3add420.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_6d3d7e5b.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_4b83d79d.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_7b24c4cc.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_a408ed3.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m7027fa92.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m8246857.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m4f869ae1.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_dac7346.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_731c768.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_m4b8ab955.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_6d79f29e.gif" ALIGN=LEFT><IMG SRC="roller-template-guide_html_3e97bead.gif" ALIGN=LEFT><BR><BR>
</P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
@@ -3003,20 +3006,7 @@
</TH>
<TD WIDTH=333>
<P CLASS="western"><FONT SIZE=2 STYLE="font-size: 10pt">Number
- of referrer hits counted today</FONT></P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=190>
- <P CLASS="western" STYLE="font-weight: medium"><FONT SIZE=2 STYLE="font-size: 10pt">$weblog.todaysReferrers</FONT></P>
- </TD>
- <TH WIDTH=172>
- <P CLASS="western" ALIGN=LEFT STYLE="font-weight: medium"><FONT SIZE=2 STYLE="font-size: 10pt">List
- of Referrers</FONT></P>
- </TH>
- <TD WIDTH=333>
- <P CLASS="western"><FONT SIZE=2 STYLE="font-size: 10pt">Today's
- referrers to this weblog</FONT></P>
+ of hits counted today</FONT></P>
</TD>
</TR>
<TR VALIGN=TOP>
@@ -3400,6 +3390,18 @@
</TR>
<TR VALIGN=TOP>
<TD WIDTH=193>
+ <P CLASS="western" STYLE="font-weight: medium"><FONT SIZE=2>$entry.tagsAsString</FONT></P>
+ </TD>
+ <TH WIDTH=167>
+ <P CLASS="western" ALIGN=LEFT STYLE="font-weight: medium"><FONT SIZE=2 STYLE="font-size: 10pt">String</FONT></P>
+ </TH>
+ <TD WIDTH=333>
+ <P CLASS="western"><FONT SIZE=2 STYLE="font-size: 10pt">Tags
+ listed as a string</FONT></P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=193>
<P CLASS="western" STYLE="font-weight: medium"><FONT SIZE=2>$entry.text</FONT></P>
</TD>
<TH WIDTH=167>
@@ -3686,17 +3688,62 @@
<LI><P CLASS="western"><B>#showTrackbackAutodiscovery($entry)</B><BR>Show
trackback autodiscovery code for a specified weblog entry,
suitable for use within a day template.</P>
- <LI><P CLASS="western"><B>#showTagCloud($tags)</B><BR>Displays a
- tag cloud based on a list of TagStat objects obtained from a
- Weblog or Site model object. Title of each tag will be the tag
- count and CSS class will indicate intensity of tag.</P>
</UL>
- <P CLASS="western"><BR><BR>
- </P>
<P CLASS="western">And that's it for the Roller macros. Now let's
move on to some additional models for use in site-wide weblogs.</P>
+ <H2 CLASS="western">7.7 - Displaying a Tag Cloud</H2>
+ <P CLASS="western">We don't yet include a Tag Cloud macro in Roller
+ because it's so easy to create one yourself. Here's what you do to
+ display a tag cloud for your weblog. First, if you have not already
+ done so, customize your theme. Next, you've got to get the tags you
+ want to display from your weblog object. For example, to display
+ your most 100 most often used tags for all time you'd do this:</P>
+ <P STYLE="margin-bottom: 0in; background: transparent">
+ <FONT FACE="Courier New"><FONT SIZE=2>#set($mytags =
+ $model.weblog.getPopularTags(-1, 30))</FONT></FONT></P>
<P CLASS="western"><BR><BR>
</P>
+ <P CLASS="western">Or if you want to only consider tags used in the
+ last 90 days you'd do this:</P>
+ <P STYLE="margin-bottom: 0in; background: transparent">
+ <FONT FACE="Courier New"><FONT SIZE=2>#set($mytags =
+ $model.weblog.getPopularTags(90, 30))</FONT></FONT></P>
+ <P CLASS="western"><BR><BR>
+ </P>
+ <P CLASS="western">Once you've got your tags, you can display them
+ with a <FONT FACE="Courier New, monospace">foreach</FONT> loop. For
+ example, here's a loop that displays each tag as a link to your
+ weblog that displays only entries in that tag. It also gives each
+ tag a CSS class that indicates the intensity of the tag, which
+ indicates on a scale of zero to five how often-used the tag is.</P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2>#foreach
+ ($tag in $mytags)</FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2><a
+ class="tag s${tag.intensity}" href="$url.tag($tag.name)"
+ title="$tag.count"></FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent">
+ <FONT FACE="Courier New"><FONT SIZE=2>$tag.name</FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2></a></FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2>#end</FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"><BR>
+ </P>
+ <P CLASS="western">Include that <FONT FACE="Courier New, monospace">#set</FONT>
+ statement and loop in your weblog template and you'll see a tag
+ cloud, but it all the tags will be displayed in the same size and
+ font. If you'd like to vary the size of the tags based on how often
+ they are used, then you'll need to add some CSS. Edit your CSS
+ template and add this to size often used tags larger than those
+ less often used:</P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2>.s1
+ {font-size:60%;}</FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2>.s2
+ {font-size:80%;}</FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2>.s3
+ {font-size:100%;}</FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2>.s4
+ {font-size:120%;}</FONT></FONT></P>
+ <P STYLE="margin-bottom: 0in; background: transparent"> <FONT FACE="Courier New"><FONT SIZE=2>.s5
+ {font-size:140%;}</FONT></FONT></P>
<H1 CLASS="western" STYLE="page-break-before: always">8 - Additional
models</H1>
<P CLASS="western">There are some additional models that can be
Modified: incubator/roller/branches/roller_3.1/docs/templateguide/roller-template-guide.odt
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/docs/templateguide/roller-template-guide.odt?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
Binary files - no diff available.
Modified: incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide.html
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide.html?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide.html (original)
+++ incubator/roller/branches/roller_3.1/docs/userguide/generated/html/roller-user-guide.html Thu Nov 2 11:40:54 2006
@@ -7,7 +7,7 @@
<META NAME="AUTHOR" CONTENT="Dave Johnson">
<META NAME="CREATED" CONTENT="20051209;11500200">
<META NAME="CHANGEDBY" CONTENT="Dave Johnson">
- <META NAME="CHANGED" CONTENT="20060918;15073100">
+ <META NAME="CHANGED" CONTENT="20061101;16201200">
<META NAME="SDFOOTNOTE" CONTENT=";;;;P">
<META NAME="SDENDNOTE" CONTENT="ARABIC">
<STYLE>
@@ -51,8 +51,11 @@
</P>
<P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=7 STYLE="font-size: 32pt"><B>Apache
Roller</B></FONT></P>
- <P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=5 STYLE="font-size: 20pt"><B>Version
- 3.0 (incubating)</B></FONT></P>
+ <P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in">
+ <FONT SIZE=5 STYLE="font-size: 20pt"><B>(incubating) </B></FONT>
+ </P>
+ <P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=7 STYLE="font-size: 32pt"><B>Version
+ 3.1</B></FONT></P>
<P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
</P>
<P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
@@ -155,112 +158,122 @@
- Creating and editing your weblog 9</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>3.1 -
Creating and editing a weblog entries 10</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.1.1 - Weblog
+ editor fields 11</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.1.2 - Weblog
+ editor buttons 11</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.1.3 - Weblog
+ editor plugin settings 12</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.1.4 - Weblog
+ editor advanced settings 12</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>3.2 -
- Finding and editing weblog entries 12</P>
+ Finding and editing weblog entries 13</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.2.1 - Finding
- old entries with the Create & Edit:New Entry page 12</P>
+ old entries with the Create & Edit:New Entry page 13</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.2.2 - Finding
- old entries with the Create & Edit:Entries page 13</P>
+ old entries with the Create & Edit:Entries page 14</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.2.3 - Finding
- old entries using the pages of your weblog 13</P>
+ old entries using the pages of your weblog 14</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.2.4 - Finding
old entries with Roller's built-in search engine 14</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>3.3 -
- Weblog categories 14</P>
+ Weblog categories 15</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.3.1 - The
- Weblog Category Chooser 14</P>
+ Weblog Category Chooser 15</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.3.2 - RSS
- Feed for Each Category 14</P>
+ Feed for Each Category 15</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.3.3 - Adding,
- Renaming, and Removing Weblog Categories 14</P>
+ Renaming, and Removing Weblog Categories 15</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>3.4 -
- Using a blog client with Roller 15</P>
+ Using a blog client with Roller 16</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>3.5 -
- Podcasting with Roller 16</P>
+ Podcasting with Roller 17</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">3.5.1 - How to
- create a podcast feed with Roller 16</P>
+ create a podcast feed with Roller 17</P>
<P STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B>4
- - Working with comments and trackbacks 17</B></FONT></P>
+ - Working with comments and trackbacks 18</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>4.1 -
- Comment notification via email 17</P>
+ Comment notification via email 18</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>4.2 -
- Comment management and moderation 17</P>
+ Comment management and moderation 18</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>4.3 -
- Preventing weblog spam 18</P>
+ Preventing weblog spam 19</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">4.3.1 - Three
- levels of blacklisting 19</P>
+ levels of blacklisting 20</P>
<P STYLE="margin-left: 0.39in; margin-bottom: 0in">4.3.2 - How to
- add words and expressions to the blacklist 19</P>
+ add words and expressions to the blacklist 20</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>4.4 -
- Sending trackbacks 19</P>
+ Sending trackbacks 21</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>4.5 -
- Referrer rankings 20</P>
+ Referrer rankings 21</P>
<P STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B>5
- - Managing your weblog settings 21</B></FONT></P>
+ - Managing your weblog settings 22</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>5.1 -
- Weblog settings 22</P>
+ Weblog settings 23</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>5.2 -
- Weblog themes 25</P>
+ Weblog themes 26</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>5.3 -
- Uploading Files 25</P>
+ Uploading Files 27</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">5.3.1 - How do
+ I upload and include an image in a weblog entry? 28</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>5.4 -
- Setting up a group blog 27</P>
+ Setting up a group blog 29</P>
<P STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B>6
- - Managing your weblog's blogroll 29</B></FONT></P>
+ - Managing your weblog's blogroll 31</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>6.1 -
- Adding new links to your blogroll 29</P>
+ Adding new links to your blogroll 31</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>6.2 -
- Adding new links to your blogroll 30</P>
+ Adding new links to your blogroll 32</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>6.3 -
- Adding new bookmark folders 31</P>
+ Adding new bookmark folders 33</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>6.4 -
- Bookmark import and export via OPML 32</P>
+ Bookmark import and export via OPML 34</P>
<P STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B>7
- - Using weblog pings 33</B></FONT></P>
+ - Using weblog pings 35</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>7.1 -
- Registering with an Aggregator 33</P>
+ Registering with an Aggregator 35</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>7.2 -
- Ping Targets, Common and Custom 33</P>
+ Ping Targets, Common and Custom 35</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>7.3 -
- Setting up Automated Pings 33</P>
+ Setting up Automated Pings 35</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>7.4 -
- Sending a Manual Ping 34</P>
+ Sending a Manual Ping 36</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>7.5 -
- Creating and Editing Custom Ping Targets 35</P>
+ Creating and Editing Custom Ping Targets 37</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>7.6 -
- More on Registering with an Aggregator 37</P>
+ More on Registering with an Aggregator 39</P>
<P STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B>8
- - Roller administration 38</B></FONT></P>
+ - Roller administration 40</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>8.1 -
- Managing users 38</P>
+ Managing users 40</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>8.2 -
- Configuring Roller 40</P>
+ Configuring Roller 42</P>
<P STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B>9
- - Weblog update ping administration 43</B></FONT></P>
+ - Weblog update ping administration 45</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>9.1 -
- Creating and editing common ping targets 43</P>
+ Creating and editing common ping targets 45</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>9.2 - How
- Roller Processes Weblog Update Pings 43</P>
+ Roller Processes Weblog Update Pings 45</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>9.3 -
- Configuration Properties Controlling Ping Processing 44</P>
+ Configuration Properties Controlling Ping Processing 46</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>9.4 -
- Suspending all ping processing 44</P>
+ Suspending all ping processing 46</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>9.5 -
- Controlling and disabling ping usage 44</P>
+ Controlling and disabling ping usage 46</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>9.6 -
- Initialization of common ping targets 45</P>
+ Initialization of common ping targets 47</P>
<P STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B>10
- - Planet Roller administration 46</B></FONT></P>
+ - Planet Roller administration 48</B></FONT></P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>10.1 -
- Setting up the Planet aggregator 46</P>
+ Setting up the Planet aggregator 48</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>10.2 -
- Configuring Planet Roller 47</P>
+ Configuring Planet Roller 49</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>10.3 -
- Adding external weblogs to Planet Roller 48</P>
+ Adding external weblogs to Planet Roller 50</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>10.4 -
- Adding custom groups to Planet Roller 49</P>
+ Adding custom groups to Planet Roller 51</P>
<P STYLE="margin-left: 0.2in; margin-bottom: 0in"></SPAN>10.5 -
- Using Planet Roller data in your weblog pages 50</P>
+ Using Planet Roller data in your weblog pages 52</P>
</DIV>
<P CLASS="western"><BR><BR>
</P>
@@ -283,53 +296,51 @@
<P STYLE="margin-bottom: 0in">Illustration 6: Main menu 9</P>
<P STYLE="margin-bottom: 0in">Illustration 7: Weblog editor 10</P>
<P STYLE="margin-bottom: 0in">Illustration 8: Edit entries page 13</P>
- <P STYLE="margin-bottom: 0in">Illustration 9: Podcast URL field 16</P>
+ <P STYLE="margin-bottom: 0in">Illustration 9: Podcast URL field 17</P>
<P STYLE="margin-bottom: 0in">Illustration 10Comment (and
- trackback) management page 18</P>
+ trackback) management page 19</P>
<P STYLE="margin-bottom: 0in">Illustration 11: Send trackback
- control 20</P>
+ control 21</P>
<P STYLE="margin-bottom: 0in">Illustration 12: Result of sending
- trackback 20</P>
+ trackback 21</P>
<P STYLE="margin-bottom: 0in">Illustration 13: Weblog preferences
- menu 21</P>
+ menu 22</P>
<P STYLE="margin-bottom: 0in">Illustration 14: Weblog settings
- page part 1 22</P>
+ page part 1 23</P>
<P STYLE="margin-bottom: 0in">Illustration 15: Weblog settings
- page part 2 24</P>
+ page part 2 25</P>
<P STYLE="margin-bottom: 0in">Illustration 16: Theme selection
- page 25</P>
+ page 26</P>
<P STYLE="margin-bottom: 0in">Illustration 17: Weblog permissions
- page 27</P>
+ page 28</P>
<P STYLE="margin-bottom: 0in">Illustration 18: Bookmarks
- management page 29</P>
+ management page 30</P>
<P STYLE="margin-bottom: 0in">Illustration 19: Add and edit
- bookmark form 30</P>
- <P STYLE="margin-bottom: 0in">Illustration 20: Add folder form 31</P>
+ bookmark form 31</P>
+ <P STYLE="margin-bottom: 0in">Illustration 20: Add folder form 32</P>
<P STYLE="margin-bottom: 0in">Illustration 21: Automatic ping
- configuration page 34</P>
+ configuration page 35</P>
<P STYLE="margin-bottom: 0in">Illustration 22: Custom ping targets
- page 36</P>
+ page 37</P>
<P STYLE="margin-bottom: 0in">Illustration 23: Edit ping target
- form 36</P>
- <P STYLE="margin-bottom: 0in">Illustration 24: User admin page 38</P>
- <P STYLE="margin-bottom: 0in">Illustration 25: User admin form 39</P>
+ form 37</P>
+ <P STYLE="margin-bottom: 0in">Illustration 24: User admin page 39</P>
+ <P STYLE="margin-bottom: 0in">Illustration 25: User admin form 40</P>
<P STYLE="margin-bottom: 0in">Illustration 26: Config page: site
- settings 40</P>
- <P STYLE="margin-bottom: 0in">Illustration 27: Config page: user
- settings 40</P>
- <P STYLE="margin-bottom: 0in">Illustration 28: Config: comments 41</P>
+ settings 41</P>
+ <P STYLE="margin-bottom: 0in">Illustration 27: Config: comments 42</P>
+ <P STYLE="margin-bottom: 0in">Illustration 28: Newsfeed
+ settings 43</P>
<P STYLE="margin-bottom: 0in">Illustration 29: Config page: file
- upload settings 41</P>
- <P STYLE="margin-bottom: 0in">Illustration 30: Config page:
- newsfeed settings 42</P>
- <P STYLE="margin-bottom: 0in">Illustration 31: Common weblog ping
- targets 43</P>
- <P STYLE="margin-bottom: 0in">Illustration 32: Planet config
- page 47</P>
- <P STYLE="margin-bottom: 0in">Illustration 33: Planet
- subscriptions page 48</P>
- <P STYLE="margin-bottom: 0in">Illustration 34: Planet custom
- groups page 49</P>
+ upload settings 43</P>
+ <P STYLE="margin-bottom: 0in">Illustration 30: Common weblog ping
+ targets 44</P>
+ <P STYLE="margin-bottom: 0in">Illustration 31: Planet config
+ page 48</P>
+ <P STYLE="margin-bottom: 0in">Illustration 32: Planet
+ subscriptions page 49</P>
+ <P STYLE="margin-bottom: 0in">Illustration 33: Planet custom
+ groups page 50</P>
</DIV>
<P CLASS="western" STYLE="margin-bottom: 0in"><BR>
</P>
@@ -609,150 +620,147 @@
</P>
<H2 CLASS="western" STYLE="page-break-before: always">3.1 - Creating
and editing a weblog entries</H2>
- <P CLASS="western">To create a new weblog entry, go to your
- weblog's <B>New Entry</B> page, enter a title in the Title field,
- enter the your post in the Content text area, choose a category
- from the Category combo, and hit the <B>Post to Weblog</B> button.
- As soon as you do that, your weblog entry is posted to your weblog
- for the world to see. Here is the relevant part of the New Entry
- page.
- </P>
+ <P CLASS="western">Use the <B>Create & Edit -> New Entry</B>
+ page (also known as the Weblog editor page) to create, edit and
+ publish weblog entries. Using the page, shown below in illustration
+ 7, you can set entry title, category, content and summary. You can
+ also set some advanced settings by expanding the <I>Plugins To
+ Apply</I> and <I>Advanced Settings</I> controls at the bottom of
+ the page. Let's review those fields, buttons and settings.</P>
<P CLASS="western">
</P>
<P CLASS="western"><SPAN ID="Frame7" DIR="LTR" STYLE="float: left; width: 6.71in; height: 7.54in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><FONT SIZE=2><I>Illustration 7:
Weblog editor</I></FONT></P>
- <P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_27fdfebe.png" NAME="graphics8" ALIGN=LEFT WIDTH=613 HEIGHT=686 BORDER=0><BR CLEAR=LEFT><BR><BR>
+ <P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_40faf25f.png" NAME="graphics8" ALIGN=LEFT WIDTH=584 HEIGHT=754 BORDER=0><BR CLEAR=LEFT><BR><BR>
</P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
- <P CLASS="western">The above screenshow shows the RTE weblog entry
- editor (editor-rte.jsp), a rich text editor that creates the HTML
- for you. If you prefer to edit the HTML yourself, you can switch to
- the plain text editor (editor-text.jsp). Use the
- Preferences:Settings page to pick the weblog editor page you'd like
- to use.</P>
- <P CLASS="western">Let's cover the fields on the page:
- </P>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Title</B>: this is the
- title for your post, it is required.</FONT></P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Category</B>: You must pick
- a category for your entry. You can change the list of categories
- available in your weblog by using the <B>Create &
- Edit:Categories</B> page. </FONT>
- </P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Pub Time</B>: You don't
- need to set this unless you want to post at a specific time in the
- past or in the future. The best thing to do is to leave it blank.
- Roller will set it for you when you click the Post to Weblog
- button to publish your new weblog entry.</FONT></P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Status</B>: This field
- displays the status of your weblog entry. The possible values are
- Not saved, Draft and Published. </FONT>
- </P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Summary (optional)</B>: For
- long posts, you might want to enter a sentence or two as summary
- in addition to the content. If you do, your short summary will
- appear on the front page of your weblog and the content will
- appear on the single-entry view. Your summary will also be
- included in your newsfeed in an <FONT FACE="Courier New"><atom:summary></FONT>
- element.</FONT></P>
- <LI><P CLASS="western"><FONT SIZE=2><B>Content</B>: This is where
- you put the body of your weblog entry.</FONT></P>
- </UL>
- <P CLASS="western">Below the weblog entry fields are the Other
- Settings
- </P>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Comment Settings</B>: Click
- on the little plus-sign plus (+) to expand the Comment Settings
- control, where you can enable/disable comments on your blog entry.
- </FONT>
- </P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Plugins to Apply</B>: This
- control allows you to pick which plugins are to be applied to this
- entry. For example, if you want ;-) smilies in your text to be
- replaced with smiley-face images, choose the emoticons plugin. You
- can set which plugins are to be applied by default on your
- weblog's <B>Preferences:Settings</B> page. Note that your Roller
- site administator controls the list of available plugins. Here's
- the current list of plugins included in Roller: </FONT>
- </P>
- <UL>
- <LI><P CLASS="western" STYLE="margin-right: 0.02in; margin-bottom: 0in; line-height: 100%">
- <FONT SIZE=2>Convert Line Breaks</FONT></P>
- <LI><P CLASS="western" STYLE="margin-right: 0.02in; margin-bottom: 0in; line-height: 100%">
- <FONT SIZE=2>Topic Tags</FONT></P>
- <LI><P CLASS="western" STYLE="margin-right: 0.02in; margin-bottom: 0in; line-height: 100%">
- <FONT SIZE=2>Textile Formatter</FONT></P>
- <LI><P CLASS="western" STYLE="margin-right: 0.02in; margin-bottom: 0in; line-height: 100%">
- <FONT SIZE=2>Acronyms</FONT></P>
- <LI><P CLASS="western" STYLE="margin-right: 0.02in; margin-bottom: 0in; line-height: 100%">
- <FONT SIZE=2>Bookmark Linker</FONT></P>
- <LI><P CLASS="western" STYLE="margin-right: 0.02in; margin-bottom: 0in; line-height: 100%">
- <FONT SIZE=2>Email Scrambler</FONT></P>
- <LI><P CLASS="western" STYLE="margin-right: 0.02in; margin-bottom: 0in; line-height: 100%">
- <FONT SIZE=2>Emoticons</FONT></P>
- </UL>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Misc settings</B>: Here you
- can control misc. settings like text right-to-left and, if you're
- an administaror, you can "pin" an entry to the top of
- the front-page of the site. </FONT>
- </P>
+ <H3 CLASS="western">3.1.1 - Weblog editor fields</H3>
+ <P CLASS="western">Let's discuss each of the fields on the New
+ Entry page, so you know how to use them.</P>
+ <UL>
+ <LI><P CLASS="western"><B>Title</B> – Each weblog entry must
+ have a title. Be careful when you pick your title, it will be used
+ in the link to your weblog entry. For best results, <I>do</I> use
+ titles that are short and to-the-point. <I>Don't </I>include any
+ HTML in your titles, just plain text – if you want your
+ titles to be bold, then customize your templates instead of
+ embedding HTML in your titles.</P>
+ <LI><P CLASS="western"><B>Status</B> – This read-only field
+ tells you about the current state of the weblog entry that you are
+ editing. There are three possible status settings:</P>
+ </UL>
+ <UL>
+ <LI><P CLASS="western"><I>Not Saved</I> – the entry has
+ never neen saved</P>
+ <LI><P CLASS="western"><I>Draft</I> – the entry is saved as
+ a draft and is not yet visible to your weblog's readers</P>
+ <LI><P CLASS="western"><I>Published</I> – the entry has been
+ published and is visible to your weblog's readers</P>
+ <LI><P CLASS="western"><B>Permalink</B> – this read-only
+ field is the permalink link to your weblog entry. It is set the
+ first time that you save an entry, based on the title at the time
+ you save – and it cannot be changed later.</P>
+ <LI><P CLASS="western"><B>Category</B> – You can pick one
+ category for your weblog entry. Categories are for folks who want
+ to organized the entries in their weblog into a small-set of fixed
+ and possible hierarchical categories, defined by the weblog admin
+ (that's probably you). You can add and remove categories via the
+ <B>Create & Edit -> Categories</B> page.</P>
+ <LI><P CLASS="western"><B>Tags</B> – (optional) Enter a list
+ of one or more tags that describe your weblog entry, separated by
+ spaces. As you type, Roller may suggest tags that you've used
+ before.</P>
+ <LI><P CLASS="western"><B>Content</B> – This is the main
+ body of your weblog entry, in HTML format. We try to make that
+ easy by providing two ways to edit the content. Via the
+ <B>Preferences -> Settings</B> page, you can pick either of
+ these:</P>
+ <LI><P CLASS="western"><B>Rich Text Editor (Xinha) </B>– a
+ rich-text editor that's designed to make editing HTML as easy as
+ using MS Word or Open Office.</P>
+ <LI><P CLASS="western"><B>Text Editor </B>– a plain-text
+ editor that you can use to edit the raw HTML markup of your weblog
+ entries. Don't use this unless you know HTML.</P>
+ <LI><P CLASS="western"><B>Summary</B> – (optional) If you
+ wish, you can enter a short summary of your weblog post. If you do
+ so, then the short summary will be displayed on the main page of
+ your weblog and your readers will have to click a Read More link
+ to get to the full-content. Some bloggers like to do this when
+ they have very long post and they don't want that long post to
+ dominate the main page of their weblog.</P>
+ </UL>
+ <H3 CLASS="western">3.1.2 - Weblog editor buttons</H3>
+ <P CLASS="western">Here's a guide to the buttons that appear on the
+ Weblog editor page.</P>
+ <UL>
+ <LI><P CLASS="western"><B>Post to weblog</B> – Using this
+ button will publish your weblog entry and make it visible to the
+ world. Make sure you're happy with your post before you publish
+ because once something is published on the web, and grabbed by the
+ blog aggregators and search engines, <I>there's really no way to
+ un-publish</I> it.
+ </P>
+ <LI><P CLASS="western"><B>Submit for review </B>– if you're
+ just a limited blogger, you won't see the Post to weblog button
+ because you cannot post to the web. Instead, you'll see a Submit
+ for review button which you can use to send your entry to the
+ author/admin of the blog that you are working in. If they like the
+ post, they can publish it – or they can return it to you for
+ further edits.</P>
+ <LI><P CLASS="western"><B>Save as draft </B>– this will save
+ your weblog post for later editing, but will <I>not</I> publish it
+ to the web. When you're working on a new weblog entry, use Save as
+ draft often so you won't lose your post in the event of internet
+ connection loss or session time-out.</P>
+ <LI><P CLASS="western"><B>Delete entry </B>– use this to
+ delete the current weblog entry, you'll be asked to confirm.</P>
+ <LI><P CLASS="western"><B>Full preview</B> – You won't see
+ this button until you've saved your entry as a draft. It allows
+ you to view, in a separate window, a preview of your entry,
+ displayed using the layout and style of your blog.
+ </P>
+ </UL>
+ <H3 CLASS="western">3.1.3 - Weblog editor plugin settings</H3>
+ <P CLASS="western">If you expand the <I>Plugins to Apply</I>
+ control, you'll see a set of check-boxes, one for each Weblog Entry
+ Plugin that is available. Check the ones that you'd like to apply
+ to your current weblog entry. If you have a favorite plugin, one
+ that you want to use on every entry, then you can set it as a
+ default on your weblog's <B>Preferences -> Settings</B> page.</P>
+ <H3 CLASS="western">3.1.4 - <IMG SRC="roller-user-guide_html_m4d5bf62f.png" NAME="graphics23" ALIGN=LEFT WIDTH=576 HEIGHT=105 BORDER=0><BR CLEAR=LEFT>Weblog
+ editor advanced settings</H3>
+ <P CLASS="western">If you expand the <I>Advanced Settings</I>
+ control, you'll see what's below.</P>
+ <P CLASS="western"><IMG SRC="roller-user-guide_html_m5e9ef88f.png" NAME="graphics25" ALIGN=LEFT WIDTH=576 HEIGHT=177 BORDER=0><BR CLEAR=LEFT>All
+ of these are optional settings.</P>
+ <UL>
+ <LI><P CLASS="western"><B>Pub Time</B> – if you'd like to
+ set the publication time of your weblog entry to a specific time,
+ possibly one in the future, you can do so here.
+ </P>
+ <LI><P CLASS="western"><B>Allow comments for </B>– this
+ setting allows you to turn comments on/off for your weblog entry
+ and to limit the number of days that comments are allowed.</P>
+ <LI><P CLASS="western"><B>Text reads left-to-right </B>–
+ this settings allows you to set the reads left-to-right flag for a
+ weblog entry. Currently, none of the stock Roller templates
+ respect this setting.</P>
+ <LI><P CLASS="western"><B>Pinned to main</B><SPAN STYLE="font-weight: medium">
+ – only Global Administrators will see this setting. It's a
+ way to indicate that a post is a <I>special announcement </I>that
+ should be pinned to the top of the front-page of a weblog site.
+ The front-page theme respects this setting).</SPAN></P>
+ <LI><P CLASS="western" STYLE="font-weight: medium"><B>Enclosure
+ URL</B>: if you'd like to include a audio, video or image file as
+ a <I>Podcast</I> in your weblog's RSS feed, then enter the URL of
+ that file here.</P>
</UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>MediaCast settings</B>:
- This control allows you to specify the URL of a file to be
- included in your blog entry as an RSS enclosure, also known as a
- <I>podcast</I>. See the next section for more information on
- podcasting with Roller. </FONT>
- </P>
- </UL>
- <P CLASS="western">Below that is a row of buttons.
+ <P CLASS="western"><BR><BR>
</P>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Post To Weblog</B>: Don't
- click this button until ABSOLUTELY SURE you're ready to publish
- your weblog entry for the entire world to see. </FONT>
- </P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Submit for Review</B>: If
- you only have limited blogger rights in the weblog, you won' t see
- the Post to Weblog button because limited bloggers are not allowed
- to publish directly. Instead, you'll see a Submit for Review
- button. Click this button when you are ready for the authors of
- the blog you are working in to review your work and either publish
- or save it as a draft and ask you to revise it. </FONT>
- </P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Save as Draft</B>: Click
- this button to save your post as a draft entry for editing later. </FONT>
- </P>
- </UL>
- <UL>
- <LI><P CLASS="western"><FONT SIZE=2><B>Preview</B>: Click this
- button to see what your post will look like when displayed in a
- browser. Not that preview is not exactly like what you'll see
- because you weblog may have different font and style settings than
- the edit weblog page, but it will be pretty close. </FONT>
- </P>
- </UL>
- <H2 CLASS="western">3.2 - Finding and editing weblog entries</H2>
+ <H2 CLASS="western" STYLE="page-break-before: always">3.2 - Finding
+ and editing weblog entries</H2>
<P CLASS="western">All of your blog entries are saved in a
database. Once your blog entries scroll off the front page or off
the recent entries list of the <B>Create & Edit:New Entry</B>
@@ -1514,35 +1522,77 @@
<B>Preferences:Theme</B> page will destroy the custom changes
you've made.
</P>
- <H2 CLASS="western">5.3 - Uploading Files</H2>
- <P CLASS="western">Roller includes a file-upload feature that
- allows you to upload images and other files for use in your weblog.
- </P>
- <P CLASS="western">Here are the steps to upload an image to Roller
- and to use it in a blog entry:
+ <P CLASS="western" STYLE="margin-bottom: 0in"><BR>
+ </P>
+ <H2 CLASS="western" STYLE="page-break-before: always">5.3 - Uploading
+ Files</H2>
+ <P CLASS="western">If you'd like to upload images or other files
+ for use in your weblog, go to your weblog's <B>Create & Edit ->
+ File Uploads</B> page. From there you can upload files and manage
+ the files that you have already uploaded. Illustration 17 shows the
+ file-upload page.</P>
+ <P CLASS="western"><BR><BR>
+ </P>
+ <P CLASS="western"><SPAN ID="Frame18" DIR="LTR" STYLE="float: left; width: 7.5in; height: 4.97in; border: none; padding: 0in; background: #ffffff">
+ <P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_4b9f1dcd.png" NAME="graphics26" ALIGN=LEFT WIDTH=95% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
+ 17: File-Upload page</I></FONT></P>
+ </SPAN><BR CLEAR=LEFT><BR><BR>
</P>
+ <P CLASS="western">Using this interface you can:</P>
<UL>
- <LI><P CLASS="western" STYLE="margin-bottom: 0in"><B>Upload the
- file</B>: Use the <B>Ceate & Edit:File Uploads</B> page to
- upload your image file. Once it is loaded, locate it in the list
- of file uploads, right-click on it and copy the link.
- </P>
- <LI><P CLASS="western" STYLE="margin-bottom: 0in"><B>Create a
- weblog entry</B>: Use the <B>Create & Edit:New Entry</B> page
- to add or edit a weblog entry.
- </P>
- <LI><P CLASS="western"><B>Include the image</B>: Place an HTML
- <img> tag where you want the image in your blog entry.
- </P>
+ <LI><P CLASS="western"><B>Upload up to five files at a time</B>.
+ To upload a file click a Browse button, select the file you wish
+ to upload on the file-system and click the Upload button to upload
+ it to Roller.</P>
+ <LI><P CLASS="western"><B>Create sub-directories </B>(one level
+ deep) to organize your uploaded files. Just enter the desired name
+ of the new directory in the New Directory field and click the
+ Create button.</P>
+ <LI><P CLASS="western"><B>Delete uploaded files and directories</B><SPAN STYLE="font-weight: medium">.
+ To delete a file or directory, just check the Delete check-box
+ them click the Delete Selected button at the bottom of the page.</SPAN></P>
</UL>
- <P CLASS="western">If you don't know HTML, you might need help with
- that last step. Here is what an <img> tag looks like.
+ <P CLASS="western" STYLE="font-weight: medium"><BR><BR>
+ </P>
+ <P CLASS="western" STYLE="font-weight: medium">Now let's discuss
+ how to upload an image for your weblog.</P>
+ <P CLASS="western" STYLE="margin-bottom: 0in"><BR>
</P>
- <PRE STYLE="margin-bottom: 0.2in"><img src="http://jroller.com/resources/mrroller/leo.gif" alt="one happy baby" /></PRE><P CLASS="western">
- You need to include the <TT>src</TT> attribute and it's also good
- form to include an <TT>alt</TT> attribute that describes the image
- (for those who cannot see the image).
+ <H3 CLASS="western" STYLE="page-break-before: always">5.3.1 - How
+ do I upload and include an image in a weblog entry?</H3>
+ <P CLASS="western">If you want to upload an image to Roller and
+ then include that image in a blog post, here's what you do.</P>
+ <P CLASS="western"><B>Step 1: Upload the image.</B> From the <B>Create
+ & Edit -> File Upload </B>page of your weblog, click one of
+ the Browse buttons. You'll get a File-Open dialog-box. Use that to
+ find and select the image that you'd like to upload. Click the
+ upload button to upload it. Once the upload is complete, you'll see
+ a success message like this:</P>
+ <P CLASS="western"><IMG SRC="roller-user-guide_html_1e2ce2fd.png" NAME="graphics27" ALIGN=LEFT WIDTH=446 HEIGHT=49 BORDER=0><BR CLEAR=LEFT><BR><BR>
+ </P>
+ <P CLASS="western"><B>Step 2: Copy the URL of the uploaded image.
+ </B>Use your mouse to select the URL of the uploaded image. Use
+ your browser's Edit-Copy menu CONTROL-C to copy the URL to the
+ clipboard.</P>
+ <P CLASS="western"><B>Step 3: Create or edit a weblog entry.</B>
+ Create a new weblog entry or open an existing weblog entry in which
+ you'd like to include the image.</P>
+ <P CLASS="western"><B>Step 4: Include the image in the weblog
+ entry.</B> Enter the text of your weblog entry and then position
+ the cursor where you'd like to include the image. There are two
+ ways to include the image.</P>
+ <P CLASS="western" STYLE="margin-left: 0.49in">If you're using the
+ Rich Text Editor, then click the image button and paste in the
+ image URL that you saved in step 3. The editor will create the HTML
+ needed to display your image.</P>
+ <P CLASS="western" STYLE="margin-left: 0.49in">If you're using the
+ Text Editor, then you'll have enter the HTML yourself. For example,
+ to display the image indicated by the green success message above
+ we'd use the following HTML:</P>
+ <PRE STYLE="margin-left: 0.49in; margin-bottom: 0.2in"><img src="http://rollerweblogger.org/roller/resource/weblogeditor.png" <BR> alt="Image of the weblog editor" /></PRE><P CLASS="western">
+ <BR><BR>
</P>
+ <H3 CLASS="western"></H3>
<H2 CLASS="western" STYLE="page-break-before: always">5.4 - Setting
up a group blog</H2>
<P CLASS="western">To create a group blog, create a new weblog or
@@ -1556,7 +1606,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame16" DIR="LTR" STYLE="float: left; width: 6.67in; height: 4.19in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_796ebdaa.png" NAME="graphics21" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 17: Weblog permissions page</I></FONT></P>
+ 18: Weblog permissions page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western">You can use the <B>Invite new member</B> link to
@@ -1657,7 +1707,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame20" DIR="LTR" STYLE="float: left; width: 5.73in; height: 5.07in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m1965909a.png" NAME="graphics33" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 18: Bookmarks management page</I></FONT></P>
+ 19: Bookmarks management page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0in">Here are some notes
@@ -1689,7 +1739,7 @@
<UL>
<LI><P CLASS="western" STYLE="margin-bottom: 0in"><SPAN ID="Frame23" DIR="LTR" STYLE="float: left; width: 79%; height: 255%; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m5f34e5af.png" NAME="graphics35" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 19: Add and edit bookmark form</I></FONT></P>
+ 20: Add and edit bookmark form</I></FONT></P>
</SPAN><BR CLEAR=LEFT>Name: Text to be displayed on the link
</P>
</UL>
@@ -1715,7 +1765,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame21" DIR="LTR" STYLE="float: left; width: 5.48in; height: 2.78in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_f21d9b9.png" NAME="graphics34" ALIGN=LEFT WIDTH=99% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 20: Add folder form</I></FONT></P>
+ 21: Add folder form</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0in"><B>Displaying new
@@ -1850,7 +1900,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame24" DIR="LTR" STYLE="float: left; width: 6.45in; height: 5.49in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m31cb7c1f.png" NAME="graphics40" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 21: Automatic ping configuration page</I></FONT></P>
+ 22: Automatic ping configuration page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western"><BR><BR>
@@ -1950,7 +2000,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame25" DIR="LTR" STYLE="float: left; width: 6.44in; height: 3.25in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_5393469f.png" NAME="graphics45" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 22: Custom ping targets page</I></FONT></P>
+ 23: Custom ping targets page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western"><BR><BR>
@@ -1962,7 +2012,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame26" DIR="LTR" STYLE="float: left; width: 5.17in; height: 1.89in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m600d3053.png" NAME="graphics46" ALIGN=LEFT WIDTH=88% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 23: Edit ping target form</I></FONT></P>
+ 24: Edit ping target form</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western">Once you have created a custom ping target, you
@@ -2038,7 +2088,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame22" DIR="LTR" STYLE="float: left; width: 6.48in; height: 4.17in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m4b577c06.png" NAME="graphics12" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 24: User admin page</I></FONT></P>
+ 25: User admin page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western">To find a user, just enter the user's username
@@ -2063,7 +2113,7 @@
</P>
<P CLASS="western" STYLE="margin-bottom: 0in"><SPAN ID="Frame9" DIR="LTR" STYLE="float: left; width: 6.56in; height: 5.51in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m54dbe4ad.png" NAME="graphics18" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 25: User admin form</I></FONT></P>
+ 26: User admin form</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0in">You can also
@@ -2097,7 +2147,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame29" DIR="LTR" STYLE="float: left; width: 6.87in; height: 3.21in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_e709bea.png" NAME="graphics20" ALIGN=LEFT WIDTH=660 HEIGHT=282 BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 26: Config page: site settings</I></FONT></P>
+ 27: Config page: site settings</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<UL>
@@ -2137,7 +2187,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame37" DIR="LTR" STYLE="float: left; width: 6.33in; height: 2.4in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_6aedbe24.png" NAME="graphics39" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 27: Config: comments</I></FONT></P>
+ 28: Config: comments</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<UL>
@@ -2186,7 +2236,7 @@
</P>
<P CLASS="western" STYLE="page-break-before: always"><SPAN ID="Frame17" DIR="LTR" STYLE="float: left; width: 6.72in; height: 1.5in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_6e65aee4.png" NAME="graphics22" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 28: Newsfeed settings</I></FONT></P>
+ 29: Newsfeed settings</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0.08in"><BR><BR>
@@ -2207,7 +2257,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame31" DIR="LTR" STYLE="float: left; width: 6.38in; height: 1.94in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m5eead6e8.png" NAME="graphics24" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 29: Config page: file upload settings</I></FONT></P>
+ 30: Config page: file upload settings</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0in"><BR>
@@ -2250,7 +2300,7 @@
</P>
<P CLASS="western"><SPAN ID="Frame33" DIR="LTR" STYLE="float: left; width: 6.39in; height: 3.53in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_mf310db2.png" NAME="graphics28" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 30: Common weblog ping targets</I></FONT></P>
+ 31: Common weblog ping targets</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western">You can create and edit common ping in the
@@ -2467,7 +2517,7 @@
<P CLASS="western"> <FONT FACE="Courier New"><FONT SIZE=2>#
Comma separated list of task classnames to be executed hourly</FONT></FONT></P>
<P CLASS="western">
- <FONT FACE="Courier New"><FONT SIZE=2>tasks.hourly=org.apache.roller.ui.core.tasks.RefreshEntriesTask</FONT></FONT></P>
+ <FONT FACE="Courier New"><FONT SIZE=2>tasks.hourly=org.apache.roller.planet.tasks.RefreshEntriesTask</FONT></FONT></P>
<P CLASS="western">However, some folks have found that the
RefreshEntriesTask can works best when run outside of Roller. If
you want to do that instead, you can use cron on UNIX or Windows
@@ -2489,7 +2539,7 @@
Daily Planet task: syncs weblog list with Roller, refreshes
Technorati stats</FONT></FONT></P>
<P CLASS="western">
- <FONT FACE="Courier New"><FONT SIZE=2>tasks.daily=org.apache.roller.ui.core.tasks.SyncWebsitesTask</FONT></FONT></P>
+ <FONT FACE="Courier New"><FONT SIZE=2>tasks.daily=org.apache.roller.planet.tasks.SyncWebsitesTask</FONT></FONT></P>
<P CLASS="western">As with the refresh-entries tasks, some have
found that sync-websites runs best outside of Roller. You can run
it from cron or Windows Task Scheduler too. And again, UNIX users
@@ -2503,7 +2553,7 @@
Admin->Configuration</B> page, shown below.</P>
<P CLASS="western"><SPAN ID="Frame34" DIR="LTR" STYLE="float: left; width: 6.48in; height: 3.71in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_62ac32cd.png" NAME="graphics36" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 31: Planet config page</I></FONT></P>
+ 32: Planet config page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western"><A NAME="section-AdministrationGuide_120-ToConfigurePlanetRollerYouMust"></A>
@@ -2569,7 +2619,7 @@
Admin->Subscriptions</B> page, shown below.</P>
<P CLASS="western"><SPAN ID="Frame35" DIR="LTR" STYLE="float: left; width: 5.65in; height: 4.39in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_4879cc9c.png" NAME="graphics38" ALIGN=LEFT WIDTH=97% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 32: Planet subscriptions page</I></FONT></P>
+ 33: Planet subscriptions page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR><BR>
</P>
<P CLASS="western" STYLE="margin-bottom: 0in"><B>Adding an
@@ -2613,7 +2663,7 @@
<P CLASS="western" STYLE="margin-bottom: 0in; font-weight: medium">
<SPAN ID="Frame38" DIR="LTR" STYLE="float: left; width: 6.39in; height: 4.27in; border: none; padding: 0in; background: #ffffff">
<P STYLE="margin-top: 0.08in"><IMG SRC="roller-user-guide_html_m5327a1d1.png" NAME="graphics41" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><FONT SIZE=2><I>Illustration
- 33: Planet custom groups page</I></FONT></P>
+ 34: Planet custom groups page</I></FONT></P>
</SPAN><BR CLEAR=LEFT><BR>
</P>
<P CLASS="western"><B>To create a custom group</B></P>
Modified: incubator/roller/branches/roller_3.1/docs/userguide/generated/roller-user-guide.pdf
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/docs/userguide/generated/roller-user-guide.pdf?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
Binary files - no diff available.
Modified: incubator/roller/branches/roller_3.1/docs/userguide/roller-user-guide.odt
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/docs/userguide/roller-user-guide.odt?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
Binary files - no diff available.
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/business/FileManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/business/FileManagerImpl.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/business/FileManagerImpl.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/business/FileManagerImpl.java Thu Nov 2 11:40:54 2006
@@ -150,15 +150,20 @@
InputStream is)
throws FileNotFoundException, FilePathException, FileIOException {
+ String savePath = path;
+ if(path.startsWith("/")) {
+ savePath = path.substring(1);
+ }
+
// make sure we are allowed to save this file
RollerMessages msgs = new RollerMessages();
- if (!canSave(weblog, path, contentType, size, msgs)) {
+ if (!canSave(weblog, savePath, contentType, size, msgs)) {
throw new FileIOException(msgs.toString());
}
// make sure uploads area exists for this weblog
File dirPath = this.getRealFile(weblog, null);
- File saveFile = new File(dirPath.getAbsolutePath() + File.separator + path);
+ File saveFile = new File(dirPath.getAbsolutePath() + File.separator + savePath);
byte[] buffer = new byte[8192];
int bytesRead = 0;
@@ -192,13 +197,18 @@
// get path to weblog's uploads area
File weblogDir = this.getRealFile(weblog, null);
- if(path != null && path.indexOf('/') != -1) {
+ String savePath = path;
+ if(path.startsWith("/")) {
+ savePath = path.substring(1);
+ }
+
+ if(savePath != null && savePath.indexOf('/') != -1) {
throw new FilePathException("Invalid path ["+path+"], "+
"trying to use nested directories.");
}
// now construct path to new directory
- File dir = new File(weblogDir.getAbsolutePath() + File.separator + path);
+ File dir = new File(weblogDir.getAbsolutePath() + File.separator + savePath);
// check if it already exists
if(dir.exists() && dir.isDirectory() && dir.canRead()) {
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/business/ThemeManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/business/ThemeManagerImpl.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/business/ThemeManagerImpl.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/business/ThemeManagerImpl.java Thu Nov 2 11:40:54 2006
@@ -228,6 +228,11 @@
String path = resourceFile.getAbsolutePath().substring(
this.themeDir.length()+theme.getName().length()+1);
+ // make sure path isn't prefixed with a /
+ if(path.startsWith("/")) {
+ path = path.substring(1);
+ }
+
log.debug("Importing resource "+resourceFile.getAbsolutePath()+" to "+path);
try {
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/business/WeblogManager.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/business/WeblogManager.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/business/WeblogManager.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/business/WeblogManager.java Thu Nov 2 11:40:54 2006
@@ -427,6 +427,22 @@
throws RollerException;
/**
+ * Does the specified tag combination exist? Optionally confined to a specific weblog.
+ *
+ * This tests if the intersection of the tags listed will yield any results
+ * and returns a true/false value if so. This means that if the tags list
+ * is "foo", "bar" and only the tag "foo" has been used then this method
+ * should return false.
+ *
+ * @param tags The List of tags to check for.
+ * @param weblog The weblog to confine the check to.
+ * @return True if tags exist, false otherwise.
+ * @throws RollerException If there is any problem doing the operation.
+ */
+ public boolean getTagComboExists(List tags, WebsiteData weblog)
+ throws RollerException;
+
+ /**
* This method maintains the tag aggregate table up-to-date with total counts. More
* specifically every time this method is called it will act upon exactly two rows
* in the database (tag,website,count), one with website matching the argument passed
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java Thu Nov 2 11:40:54 2006
@@ -46,7 +46,6 @@
import org.apache.roller.pojos.StatCount;
import org.apache.roller.pojos.TagStat;
import org.apache.roller.pojos.TagStatComparator;
-import org.apache.roller.pojos.TaskLockData;
import org.apache.roller.pojos.UserData;
import org.apache.roller.pojos.WeblogCategoryAssoc;
import org.apache.roller.pojos.WeblogCategoryData;
@@ -1308,10 +1307,10 @@
queryString.append("select name, sum(total) ");
queryString.append("from WeblogEntryTagAggregateData where ");
if (website != null) {
- queryString.append("website.id = ? ");
+ queryString.append("weblog.id = ? ");
params.add(website.getId());
} else {
- queryString.append("website = NULL ");
+ queryString.append("weblog = NULL ");
}
if (startDate != null) {
queryString.append("and lastUsed >= ? ");
@@ -1389,9 +1388,9 @@
queryString.append("select name, sum(total) ");
queryString.append("from WeblogEntryTagAggregateData where ");
if (website != null)
- queryString.append("website.id = '" + website.getId() + "' ");
+ queryString.append("weblog.id = '" + website.getId() + "' ");
else
- queryString.append("website = NULL ");
+ queryString.append("weblog = NULL ");
if (startsWith != null && startsWith.length() > 0)
queryString.append("and name like '" + startsWith + "%' ");
@@ -1417,6 +1416,51 @@
}
+
+ /**
+ * Remember, this checks that the exact tag intersection specified by the
+ * list of tags exists either site-wide or for a given weblog. So if the
+ * list of tags is "foo", "bar" and we only find "foo" then that's a
+ * miss and we return false.
+ */
+ public boolean getTagComboExists(List tags, WebsiteData weblog)
+ throws RollerException {
+
+ boolean comboExists = false;
+
+ if(tags == null) {
+ return false;
+ }
+
+ try {
+ Session session = ((HibernatePersistenceStrategy) strategy)
+ .getSession();
+
+ StringBuffer queryString = new StringBuffer();
+ queryString.append("select distinct name ");
+ queryString.append("from WeblogEntryTagAggregateData ");
+ queryString.append("where name in ( :tags ) ");
+
+ // are we checking a specific weblog, or site-wide?
+ if (weblog != null)
+ queryString.append("and weblog.id = '" + weblog.getId() + "' ");
+ else
+ queryString.append("and weblog is null ");
+
+ Query query = session.createQuery(queryString.toString());
+ query.setParameterList("tags", tags);
+
+ List results = query.list();
+ comboExists = (results != null && results.size() == tags.size());
+
+ } catch (HibernateException ex) {
+ throw new RollerException(ex);
+ }
+
+ return comboExists;
+ }
+
+
public void updateTagCount(String name, WebsiteData website, int amount) throws RollerException {
Session session = ((HibernatePersistenceStrategy) strategy)
@@ -1432,7 +1476,7 @@
Junction conjunction = Expression.conjunction();
conjunction.add(Expression.eq("name", name));
- conjunction.add(Expression.eq("website", website));
+ conjunction.add(Expression.eq("weblog", website));
// The reason why add order lastUsed desc is to make sure we keep picking the most recent
// one in the case where we have multiple rows (clustered environment)
@@ -1446,7 +1490,7 @@
conjunction = Expression.conjunction();
conjunction.add(Restrictions.eq("name", name));
- conjunction.add(Restrictions.isNull("website"));
+ conjunction.add(Restrictions.isNull("weblog"));
criteria = session.createCriteria(WeblogEntryTagAggregateData.class)
.add(conjunction).addOrder(Order.desc("lastUsed")).setMaxResults(1);
@@ -1461,7 +1505,7 @@
weblogTagData.setLastUsed(lastUsed);
session.save(weblogTagData);
} else if(weblogTagData != null) {
- session.createQuery("update WeblogEntryTagAggregateData set total = total + ?, lastUsed = current_timestamp() where name = ? and website = ?")
+ session.createQuery("update WeblogEntryTagAggregateData set total = total + ?, lastUsed = current_timestamp() where name = ? and weblog = ?")
.setInteger(0, amount)
.setString(1, weblogTagData.getName())
.setParameter(2, website)
@@ -1474,7 +1518,7 @@
siteTagData.setLastUsed(lastUsed);
session.save(siteTagData);
} else if(siteTagData != null) {
- session.createQuery("update WeblogEntryTagAggregateData set total = total + ?, lastUsed = current_timestamp() where name = ? and website is null")
+ session.createQuery("update WeblogEntryTagAggregateData set total = total + ?, lastUsed = current_timestamp() where name = ? and weblog is null")
.setInteger(0, amount)
.setString(1, siteTagData.getName())
.executeUpdate();
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryData.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryData.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryData.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryData.java Thu Nov 2 11:40:54 2006
@@ -646,7 +646,7 @@
WeblogEntryTagData tag = new WeblogEntryTagData();
tag.setName(name);
tag.setUser(getCreator());
- tag.setWebsite(getWebsite());
+ tag.setWeblog(getWebsite());
tag.setWeblogEntry(this);
tag.setTime(getUpdateTime());
tagSet.add(tag);
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagAggregateData.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagAggregateData.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagAggregateData.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagAggregateData.java Thu Nov 2 11:40:54 2006
@@ -84,12 +84,12 @@
* @ejb:persistent-field
* @hibernate.many-to-one column="websiteid" cascade="none" not-null="false"
*/
- public WebsiteData getWebsite() {
+ public WebsiteData getWeblog() {
return this.website;
}
/** @ejb:persistent-field */
- public void setWebsite(WebsiteData website) {
+ public void setWeblog(WebsiteData website) {
this.website = website;
}
@@ -159,7 +159,7 @@
boolean lEquals = true;
lEquals = PojoUtil.equals(lEquals, this.id, lTest.getId());
- lEquals = PojoUtil.equals(lEquals, this.website, lTest.getWebsite());
+ lEquals = PojoUtil.equals(lEquals, this.website, lTest.getWeblog());
lEquals = PojoUtil.equals(lEquals, this.name, lTest.getName());
lEquals = this.total == lTest.getTotal();
return lEquals;
@@ -185,7 +185,7 @@
{
WeblogEntryTagAggregateData data = (WeblogEntryTagAggregateData) otherData;
this.id = data.getId();
- this.website = data.getWebsite();
+ this.website = data.getWeblog();
this.name = data.getName();
this.total = data.getTotal();
this.lastUsed = data.getLastUsed();
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagData.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagData.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagData.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/pojos/WeblogEntryTagData.java Thu Nov 2 11:40:54 2006
@@ -92,12 +92,12 @@
* @roller.wrapPojoMethod type="pojo"
* @hibernate.many-to-one column="websiteid" cascade="none" not-null="true"
*/
- public org.apache.roller.pojos.WebsiteData getWebsite()
+ public org.apache.roller.pojos.WebsiteData getWeblog()
{
return this.website;
}
- public void setWebsite(org.apache.roller.pojos.WebsiteData website)
+ public void setWeblog(org.apache.roller.pojos.WebsiteData website)
{
this.website = website;
}
@@ -183,7 +183,7 @@
boolean lEquals = true;
lEquals = PojoUtil.equals(lEquals, this.id, lTest.getId());
- lEquals = PojoUtil.equals(lEquals, this.website, lTest.getWebsite());
+ lEquals = PojoUtil.equals(lEquals, this.website, lTest.getWeblog());
lEquals = PojoUtil.equals(lEquals, this.weblogEntry, lTest.getWeblogEntry());
lEquals = PojoUtil.equals(lEquals, this.user, lTest.getUser());
lEquals = PojoUtil.equals(lEquals, this.name, lTest.getName());
@@ -214,7 +214,7 @@
{
WeblogEntryTagData data = (WeblogEntryTagData) otherData;
this.id = data.getId();
- this.website = data.getWebsite();
+ this.website = data.getWeblog();
this.weblogEntry = data.getWeblogEntry();
this.user = data.getUser();
this.name = data.getName();
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java Thu Nov 2 11:40:54 2006
@@ -29,6 +29,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.RollerException;
+import org.apache.roller.business.RollerFactory;
+import org.apache.roller.business.WeblogManager;
import org.apache.roller.config.RollerConfig;
import org.apache.roller.config.RollerRuntimeConfig;
import org.apache.roller.pojos.StaticTemplate;
@@ -168,6 +170,41 @@
}
+ // validation. make sure that request input makes sense.
+ boolean invalid = false;
+ if(feedRequest.getLocale() != null) {
+
+ // locale view only allowed if weblog has enabled it
+ if(!feedRequest.getWeblog().isEnableMultiLang()) {
+ invalid = true;
+ }
+
+ }
+ if(feedRequest.getWeblogCategoryName() != null) {
+
+ // category specified. category must exist.
+ if(feedRequest.getWeblogCategory() == null) {
+ invalid = true;
+ }
+
+ } else if(feedRequest.getTags() != null && feedRequest.getTags().size() > 0) {
+
+ try {
+ // tags specified. make sure they exist.
+ WeblogManager wmgr = RollerFactory.getRoller().getWeblogManager();
+ invalid = !wmgr.getTagComboExists(feedRequest.getTags(), (isSiteWide) ? null : weblog);
+ } catch (RollerException ex) {
+ invalid = true;
+ }
+ }
+
+ if(invalid) {
+ if(!response.isCommitted()) response.reset();
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+
+
// looks like we need to render content
HashMap model = new HashMap();
String pageId = null;
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PageServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PageServlet.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PageServlet.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PageServlet.java Thu Nov 2 11:40:54 2006
@@ -39,6 +39,7 @@
import org.apache.roller.config.RollerConfig;
import org.apache.roller.config.RollerRuntimeConfig;
import org.apache.roller.business.RollerFactory;
+import org.apache.roller.business.WeblogManager;
import org.apache.roller.pojos.Template;
import org.apache.roller.pojos.WeblogEntryData;
import org.apache.roller.pojos.WeblogTemplate;
@@ -263,7 +264,8 @@
log.debug("page found, dealing with it");
- // validation
+
+ // validation. make sure that request input makes sense.
boolean invalid = false;
if(pageRequest.getWeblogPageName() != null && page.isHidden()) {
invalid = true;
@@ -298,8 +300,18 @@
if(pageRequest.getWeblogCategory() == null) {
invalid = true;
}
+
+ } else if(pageRequest.getTags() != null && pageRequest.getTags().size() > 0) {
+
+ try {
+ // tags specified. make sure they exist.
+ WeblogManager wmgr = RollerFactory.getRoller().getWeblogManager();
+ invalid = !wmgr.getTagComboExists(pageRequest.getTags(), (isSiteWide) ? null : weblog);
+ } catch (RollerException ex) {
+ invalid = true;
+ }
}
-
+
if(invalid) {
if(!response.isCommitted()) response.reset();
Modified: incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java?view=diff&rev=470488&r1=470487&r2=470488
==============================================================================
--- incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java (original)
+++ incubator/roller/branches/roller_3.1/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java Thu Nov 2 11:40:54 2006
@@ -135,7 +135,7 @@
// set the content type
String pageLink = previewRequest.getWeblogPageName();
- String mimeType = RollerContext.getServletContext().getMimeType(pageLink);
+ String mimeType = pageLink != null ? RollerContext.getServletContext().getMimeType(pageLink) : null;
String contentType = "text/html; charset=utf-8";
if(mimeType != null) {
// we found a match ... set the content type