You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2006/04/18 20:09:01 UTC

svn commit: r394994 [1/2] - in /incubator/roller/branches/roller-newbackend: ./ contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/ contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/ contrib/plugins/src/org/rolle...

Author: agilliland
Date: Tue Apr 18 11:08:54 2006
New Revision: 394994

URL: http://svn.apache.org/viewcvs?rev=394994&view=rev
Log:
merging in changes to trunk between revisions 391344 and 394832.
this should be all changes to the trunk since the branch was created.


Added:
    incubator/roller/branches/roller-newbackend/metadata/database/220-to-230-migration.vm
      - copied unchanged from r394832, incubator/roller/trunk/metadata/database/220-to-230-migration.vm
    incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/tags/ShowEntryContentTag.java
      - copied unchanged from r394832, incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ShowEntryContentTag.java
    incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/tags/ShowEntrySummaryTag.java
      - copied unchanged from r394832, incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ShowEntrySummaryTag.java
    incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/tags/ShowEntryTextTag.java
      - copied unchanged from r394832, incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ShowEntryTextTag.java
    incubator/roller/branches/roller-newbackend/web/editor/images/arrow_down.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/arrow_down.png
    incubator/roller/branches/roller-newbackend/web/editor/images/arrow_up.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/arrow_up.png
    incubator/roller/branches/roller-newbackend/web/editor/images/bullet_arrow_down.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/bullet_arrow_down.png
    incubator/roller/branches/roller-newbackend/web/editor/images/bullet_arrow_up.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/bullet_arrow_up.png
    incubator/roller/branches/roller-newbackend/web/editor/images/color_swatch.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/color_swatch.png
    incubator/roller/branches/roller-newbackend/web/editor/images/image_add.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/image_add.png
    incubator/roller/branches/roller-newbackend/web/editor/images/link_add.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/link_add.png
    incubator/roller/branches/roller-newbackend/web/editor/images/paintcan.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/paintcan.png
    incubator/roller/branches/roller-newbackend/web/editor/images/table_add.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/table_add.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_align_center.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_align_center.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_align_justify.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_align_justify.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_align_left.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_align_left.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_align_right.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_align_right.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_bold.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_bold.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_horizontalrule.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_horizontalrule.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_indent.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_indent.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_indent_remove.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_indent_remove.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_italic.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_italic.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_list_bullets.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_list_bullets.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_list_numbers.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_list_numbers.png
    incubator/roller/branches/roller-newbackend/web/editor/images/text_underline.png
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/images/text_underline.png
    incubator/roller/branches/roller-newbackend/web/editor/richtext-orig.js
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/richtext-orig.js
    incubator/roller/branches/roller-newbackend/web/editor/rte-orig.css
      - copied unchanged from r394832, incubator/roller/trunk/web/editor/rte-orig.css
Removed:
    incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/tags/ApplyPluginsTag.java
    incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/rss091.vm
    incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/rss092.vm
    incubator/roller/branches/roller-newbackend/web/editor/images/bgcolor.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/bold.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/centre.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/copy.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/cut.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/email.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/hr.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/hyperlink.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/image.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/indent.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/insert_table.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/italic.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/justifyfull.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/left_just.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/list.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/numbered_list.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/outdent.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/paste.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/redo.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/right_just.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/smiley.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/spellcheck.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/textcolor.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/underline.gif
    incubator/roller/branches/roller-newbackend/web/editor/images/undo.gif
Modified:
    incubator/roller/branches/roller-newbackend/.project
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/BookmarkPlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/convertbreaks/ConvertLineBreaksPlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/email/ObfuscateEmailPlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/WikiPlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/WikiPlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/ReadMorePlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/search/SearchPluginBase.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/SmileysPlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/TextilePlugin.java
    incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/topictag/TopicTagPlugin.java
    incubator/roller/branches/roller-newbackend/metadata/database/control.vm
    incubator/roller/branches/roller-newbackend/metadata/database/createdb.vm
    incubator/roller/branches/roller-newbackend/src/org/roller/business/PagePluginManagerImpl.java
    incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePlugin.java
    incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePluginManager.java
    incubator/roller/branches/roller-newbackend/src/org/roller/pojos/PlanetEntryData.java
    incubator/roller/branches/roller-newbackend/src/org/roller/pojos/WeblogEntryData.java
    incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/ContextLoader.java
    incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/PageHelper.java
    incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java
    incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/ApplicationResources.properties
    incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/atom.vm
    incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/rss.vm
    incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/rollerRuntimeConfigDefs.xml
    incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/weblog.vm
    incubator/roller/branches/roller-newbackend/web/editor/changelog.txt
    incubator/roller/branches/roller-newbackend/web/editor/richtext.js
    incubator/roller/branches/roller-newbackend/web/editor/rte.css
    incubator/roller/branches/roller-newbackend/web/main.jsp
    incubator/roller/branches/roller-newbackend/web/theme/roller.css
    incubator/roller/branches/roller-newbackend/web/theme/searchResults.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/WeblogEdit.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/WeblogEntryManagement.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/editor-dhtml.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/editor-ekit.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/editor-midas.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/editor-rte.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/editor-text-js.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/editor-text.jsp
    incubator/roller/branches/roller-newbackend/web/weblog/editor-wiki-js.jsp

Modified: incubator/roller/branches/roller-newbackend/.project
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/.project?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/.project (original)
+++ incubator/roller/branches/roller-newbackend/.project Tue Apr 18 11:08:54 2006
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>roller_2.0</name>
+	<name>roller_trunk</name>
 	<comment></comment>
 	<projects>
 	</projects>

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java Tue Apr 18 11:08:54 2006
@@ -101,12 +101,12 @@
     /**
 	 * @see org.roller.presentation.velocity.PagePlugin#render(org.roller.pojos.WeblogEntryData, boolean)
 	 */
-	public String render(WeblogEntryData entry, boolean skipFlag)
+	public String render(WeblogEntryData entry, String str)
 	{
-        String text = entry.getText();
+        String text = str;
         
 		if (mLogger.isDebugEnabled()) {
-			mLogger.debug("render( entry = "+entry.getId()+", skipFlag = "+skipFlag+" )");
+			mLogger.debug("render(entry = "+entry.getId()+")");
 		}
 
         /*
@@ -138,14 +138,6 @@
                 + "</acronym>";
             count++;
         }
-		
-		// check skipper
-        /* I don't think this Plugin should skip. -Lance
-		if (skipFlag)
-		{
-			return text;
-		}
-        */
         
         // if there are none, no work to do
         if (acronymPatterns == null || acronymPatterns.length == 0) {
@@ -234,4 +226,6 @@
 
     public String getName() { return name; }
     public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
+
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/BookmarkPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/BookmarkPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/BookmarkPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/BookmarkPlugin.java Tue Apr 18 11:08:54 2006
@@ -64,9 +64,9 @@
         return text;
     }
 
-    public String render(WeblogEntryData entry, boolean skipFlag)
+    public String render(WeblogEntryData entry, String str)
     {
-        String text = entry.getText();        
+        String text = str;        
         try
         {
             BookmarkManager bMgr = RollerFactory.getRoller().getBookmarkManager();
@@ -176,4 +176,6 @@
 
     public String getName() { return name; }
     public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
+
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/convertbreaks/ConvertLineBreaksPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/convertbreaks/ConvertLineBreaksPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/convertbreaks/ConvertLineBreaksPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/convertbreaks/ConvertLineBreaksPlugin.java Tue Apr 18 11:08:54 2006
@@ -64,7 +64,7 @@
      * Transform the given plain text into html text by inserting p and br
      * tags around paragraphs and after line breaks.
      */
-    public String render(WeblogEntryData entry, boolean skip) {
+    public String render(WeblogEntryData entry, String str) {
         
         mLogger.debug("Rendering weblog entry: "+entry.getTitle());
         
@@ -124,4 +124,6 @@
         
         return buf.toString();
     }
+
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/email/ObfuscateEmailPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/email/ObfuscateEmailPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/email/ObfuscateEmailPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/email/ObfuscateEmailPlugin.java Tue Apr 18 11:08:54 2006
@@ -54,12 +54,13 @@
         return RegexUtil.encodeEmail(str);
 	}
     
-    public String render(WeblogEntryData entry, boolean skipFlag)
+    public String render(WeblogEntryData entry, String str)
     {
-        return render(entry.getText());
+        return render(str);
     }
 
     public String getName() { return name; }
     public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
 
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/WikiPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/WikiPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/WikiPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/WikiPlugin.java Tue Apr 18 11:08:54 2006
@@ -1 +1 @@
-package org.roller.presentation.velocity.plugins.jspwiki;

import com.ecyrd.jspwiki.FileUtil;
import com.ecyrd.jspwiki.TranslatorReader;
import com.ecyrd.jspwiki.WikiContext;
import com.ecyrd.jspwiki.WikiEngine;
import com.ecyrd.jspwiki.WikiPage;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.velocity.context.Context;
import org.roller.pojos.WeblogEntryData;
import org.roller.model.PagePlugin;

import java.io.StringReader;
import java.util.Properties;
import java.util.StringTokenizer;
import javax.servlet.ServletContext;

import org.roller.pojos.WebsiteData;

/**
 * Wiki plugin using the JSPWiki WikiEngine. If you want Wiki links to point
 * to your JSPWiki, then edit the jspwiki.properties fiel in Roller's WEB-INF
 * directory and set the jspwiki.baseURL appropriately. For example, if your
 * Wiki is on your localhost in the Servlet Context named 'wiki' then you'd
 * s
 et jspwiki.baseURL like so:<br />
 * <br />
 *  jspwiki.baseURL=http://local:8080/wiki/<br />
 *
 * @author David M Johnson
 */
public class WikiPlugin implements PagePlugin {
    protected String name = "JSPWiki Syntax";
    public String description = "Allows use of JSPWiki formatting to easily " +
            "generate HTML. See the " +
            "<a href='http://www.jspwiki.org/Wiki.jsp?page=TextFormattingRules' target='jspwiki'>JSPWiki</a> site.";
    
    private static Log mLogger =
            LogFactory.getFactory().getInstance(WikiPlugin.class);
    
    static WikiEngine mWikiEngine = null;
    static WikiContext mWikiContext = null;
    static WikiPage mWikiPage = new WikiPage("dummyPage");
    
    public WikiPlugin() {
        mLogger.debug("JSPWiki WikiPlugin instantiated.");
    }
    
    public String toString() { return name; }
    
    /**
     * Initialize the JSPWiki Engine if not done so already.
     * Put the Plugin into the VelocityContex (is this
  still necessary?-Lance).
     */
    public void init(
            WebsiteData website,
            Object context,
            String contextURL,
            Context ctx) {
        try {
            if (WikiPlugin.mWikiEngine == null) {
                if (context != null) {
                    // get wiki engine when running inside webapp
                    ServletContext servletContext = (ServletContext)context; 
                    WikiPlugin.mWikiEngine = WikiEngine.getInstance(servletContext, null);
                } else {
                    // get wiki engine when running from command-line
                    Properties wikiprops = new Properties();
                    wikiprops.load(getClass().getResourceAsStream("/jspwiki.properties"));
                    WikiPlugin.mWikiEngine = new WikiEngine(wikiprops);
                }
            }
            if (WikiPlugin.mWikiContext == null && WikiPlugin.mWikiEngine != null) {
                WikiPlugin.mWikiContext 
 = new WikiContext(
                        WikiPlugin.mWikiEngine, WikiPlugin.mWikiPage );
            }
            if (WikiPlugin.mWikiContext != null && WikiPlugin.mWikiEngine != null) {
                ctx.put("wikiPlugin",this);
            }
        } catch (Exception e) {
            mLogger.error("ERROR initializing WikiPlugin",e);
        }
    }
    
    /**
     * Convert an input string that contains text that uses JSPWiki
     * syntax to an output string in HTML format.
     * @param src Input string that uses JSPWiki syntax
     * @return Output string in HTML format.
     */
    public String render( String src ) {
        String ret = null;
        try {
            StringReader reader = new StringReader(src);
            TranslatorReader tr = new TranslatorReader( mWikiContext, reader );
            ret = FileUtil.readContents( tr );
        } catch (Exception e) {
            mLogger.error("ERROR rendering Wiki text",e);
        }
        return ret;
    }
 
    
    public String render( WeblogEntryData entry, boolean skipFlag) {
        return render(entry.getText());
    }
    /** Return URL to the Wiki page for a weblog entry, CamelCase style */
    public String makeCamelCaseWikiLink( WeblogEntryData wd, String prefix ) {
        StringBuffer sb = new StringBuffer();
        StringTokenizer toker = new StringTokenizer(wd.getAnchor(),"_");
        while ( toker.hasMoreTokens() ) {
            String token = toker.nextToken();
            sb.append( token.substring(0,1).toUpperCase() );
            sb.append( token.substring(1) );
        }
        return mWikiEngine.getBaseURL()+"Wiki.jsp?page="+prefix+sb.toString();
    }
    
    /** Return URL to the Wiki page for a weblog entry, spacey style */
    public String makeSpacedWikiLink( WeblogEntryData wd, String prefix ) {
        StringBuffer sb = new StringBuffer();
        StringTokenizer toker = new StringTokenizer(wd.getAnchor(),"_");
        while ( toker.hasMoreToken
 s() ) {
            sb.append( toker.nextToken() );
            if ( toker.hasMoreTokens() ) sb.append("%20");
        }
        return mWikiEngine.getBaseURL()+"Wiki.jsp?page="+prefix+sb.toString();
    }
    
    public String getName() { return name; }
    public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
}
\ No newline at end of file
+package org.roller.presentation.velocity.plugins.jspwiki;

import com.ecyrd.jspwiki.FileUtil;
import com.ecyrd.jspwiki.TranslatorReader;
import com.ecyrd.jspwiki.WikiContext;
import com.ecyrd.jspwiki.WikiEngine;
import com.ecyrd.jspwiki.WikiPage;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.velocity.context.Context;
import org.roller.pojos.WeblogEntryData;
import org.roller.model.PagePlugin;

import java.io.StringReader;
import java.util.Properties;
import java.util.StringTokenizer;
import javax.servlet.ServletContext;

import org.roller.pojos.WebsiteData;

/**
 * Wiki plugin using the JSPWiki WikiEngine. If you want Wiki links to point
 * to your JSPWiki, then edit the jspwiki.properties fiel in Roller's WEB-INF
 * directory and set the jspwiki.baseURL appropriately. For example, if your
 * Wiki is on your localhost in the Servlet Context named 'wiki' then you'd
 * s
 et jspwiki.baseURL like so:<br />
 * <br />
 *  jspwiki.baseURL=http://local:8080/wiki/<br />
 *
 * @author David M Johnson
 */
public class WikiPlugin implements PagePlugin {
    protected String name = "JSPWiki Syntax";
    public String description = "Allows use of JSPWiki formatting to easily " +
            "generate HTML. See the " +
            "<a href='http://www.jspwiki.org/Wiki.jsp?page=TextFormattingRules' target='jspwiki'>JSPWiki</a> site.";
    
    private static Log mLogger =
            LogFactory.getFactory().getInstance(WikiPlugin.class);
    
    static WikiEngine mWikiEngine = null;
    static WikiContext mWikiContext = null;
    static WikiPage mWikiPage = new WikiPage("dummyPage");
    
    public WikiPlugin() {
        mLogger.debug("JSPWiki WikiPlugin instantiated.");
    }
    
    public String toString() { return name; }
    
    /**
     * Initialize the JSPWiki Engine if not done so already.
     * Put the Plugin into the VelocityContex (is this
  still necessary?-Lance).
     */
    public void init(
            WebsiteData website,
            Object context,
            String contextURL,
            Context ctx) {
        try {
            if (WikiPlugin.mWikiEngine == null) {
                if (context != null) {
                    // get wiki engine when running inside webapp
                    ServletContext servletContext = (ServletContext)context; 
                    WikiPlugin.mWikiEngine = WikiEngine.getInstance(servletContext, null);
                } else {
                    // get wiki engine when running from command-line
                    Properties wikiprops = new Properties();
                    wikiprops.load(getClass().getResourceAsStream("/jspwiki.properties"));
                    WikiPlugin.mWikiEngine = new WikiEngine(wikiprops);
                }
            }
            if (WikiPlugin.mWikiContext == null && WikiPlugin.mWikiEngine != null) {
                WikiPlugin.mWikiContext 
 = new WikiContext(
                        WikiPlugin.mWikiEngine, WikiPlugin.mWikiPage );
            }
            if (WikiPlugin.mWikiContext != null && WikiPlugin.mWikiEngine != null) {
                ctx.put("wikiPlugin",this);
            }
        } catch (Exception e) {
            mLogger.error("ERROR initializing WikiPlugin",e);
        }
    }
    
    /**
     * Convert an input string that contains text that uses JSPWiki
     * syntax to an output string in HTML format.
     * @param src Input string that uses JSPWiki syntax
     * @return Output string in HTML format.
     */
    public String render( String src ) {
        String ret = null;
        try {
            StringReader reader = new StringReader(src);
            TranslatorReader tr = new TranslatorReader( mWikiContext, reader );
            ret = FileUtil.readContents( tr );
        } catch (Exception e) {
            mLogger.error("ERROR rendering Wiki text",e);
        }
        return ret;
    }
 
    
    public String render( WeblogEntryData entry, String str) {
        return render(str);
    }
    /** Return URL to the Wiki page for a weblog entry, CamelCase style */
    public String makeCamelCaseWikiLink( WeblogEntryData wd, String prefix ) {
        StringBuffer sb = new StringBuffer();
        StringTokenizer toker = new StringTokenizer(wd.getAnchor(),"_");
        while ( toker.hasMoreTokens() ) {
            String token = toker.nextToken();
            sb.append( token.substring(0,1).toUpperCase() );
            sb.append( token.substring(1) );
        }
        return mWikiEngine.getBaseURL()+"Wiki.jsp?page="+prefix+sb.toString();
    }
    
    /** Return URL to the Wiki page for a weblog entry, spacey style */
    public String makeSpacedWikiLink( WeblogEntryData wd, String prefix ) {
        StringBuffer sb = new StringBuffer();
        StringTokenizer toker = new StringTokenizer(wd.getAnchor(),"_");
        while ( toker.hasMoreTokens() ) {
          
   sb.append( toker.nextToken() );
            if ( toker.hasMoreTokens() ) sb.append("%20");
        }
        return mWikiEngine.getBaseURL()+"Wiki.jsp?page="+prefix+sb.toString();
    }
    
    public String getName() { return name; }
    public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }

    public boolean getSkipOnSingleEntry() {return false;}
}
\ No newline at end of file

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/WikiPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/WikiPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/WikiPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/WikiPlugin.java Tue Apr 18 11:08:54 2006
@@ -55,11 +55,13 @@
         return EngineManager.getInstance().render(src, context);
     }
     
-    public String render( WeblogEntryData entry, boolean skipFlag)
+    public String render( WeblogEntryData entry, String str)
     {
-        return render( entry.getText() );
+        return render(str);
     }
 
     public String getName() { return name; }
     public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
+
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/ReadMorePlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/ReadMorePlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/ReadMorePlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/ReadMorePlugin.java Tue Apr 18 11:08:54 2006
@@ -74,11 +74,8 @@
 		return str;
 	}
     
-    public String render(WeblogEntryData entry, boolean skipFlag)
-    {
-        if (skipFlag) 
-            return entry.getText();
-        
+    public String render(WeblogEntryData entry, String str)
+    {        
         // in case it didn't initialize
         String pageLink = "Weblog";
         try
@@ -96,7 +93,7 @@
         //String result = Utilities.truncateNicely(entry.getText(), 240, 260, "... ");
         
         // if the result is shorter, we need to add "Read More" link
-        if (result.length() < entry.getText().length())
+        if (result.length() < str.length())
         {            
             String link = "<div class=\"readMore\"><a href=\"" + 
                 baseURL + entry.getPermaLink() + "\">Read More</a></div>";
@@ -109,4 +106,7 @@
 
     public String getName() { return name; }
     public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
+
+
+    public boolean getSkipOnSingleEntry() {return true;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/search/SearchPluginBase.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/search/SearchPluginBase.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/search/SearchPluginBase.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/search/SearchPluginBase.java Tue Apr 18 11:08:54 2006
@@ -52,12 +52,12 @@
      * Apply plugin to content of specified WeblogEntry.
      *
      * @param entry           WeblogEntry to which plugin should be applied.
-     * @param skipFlag        ignored for this plugin.
+     * @param singleEntry     Ignored.
      * @return Results of applying plugin to entry.
      * @see org.roller.model.PagePlugin#render(org.roller.pojos.WeblogEntryData, boolean)
      */
-    public String render(WeblogEntryData entry, boolean skipFlag) {
-        return render(entry.getText());
+    public String render(WeblogEntryData entry, String str) {
+        return render(str);
     }
 
     /**
@@ -170,4 +170,6 @@
             throw new RuntimeException(uex);
         }
     }
+
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/SmileysPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/SmileysPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/SmileysPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/SmileysPlugin.java Tue Apr 18 11:08:54 2006
@@ -174,11 +174,13 @@
     /* 
      * @see org.roller.presentation.velocity.PagePlugin#render(org.roller.pojos.WeblogEntryData, boolean)
      */
-    public String render(WeblogEntryData entry, boolean skipFlag)
+    public String render(WeblogEntryData entry, String str)
     {
-        return render(entry.getText());
+        return render(str);
     }
 
     public String getName() { return name; }
     public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
+
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/TextilePlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/TextilePlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/TextilePlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/TextilePlugin.java Tue Apr 18 11:08:54 2006
@@ -54,11 +54,13 @@
         return mTextile.process(src);
     }
     
-    public String render( WeblogEntryData entry, boolean skipFlag )
+    public String render( WeblogEntryData entry, String str )
     {
-        return render( entry.getText() );
+        return render( str );
     }
 
     public String getName() { return name; }
     public String getDescription() { return StringEscapeUtils.escapeJavaScript(description); }
+
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/topictag/TopicTagPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/topictag/TopicTagPlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/topictag/TopicTagPlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/contrib/plugins/src/org/roller/presentation/velocity/plugins/topictag/TopicTagPlugin.java Tue Apr 18 11:08:54 2006
@@ -189,12 +189,12 @@
      * Apply the plugin to the given entry.  Returns the entry text with topic tags expanded.
      *
      * @param entry           WeblogEntry to which plugin should be applied.
-     * @param skipFlagIgnored the "skip flag" is ignored for this plugin
+     * @param singleEntry     Ignored.
      * @return Results of applying plugin to entry.
      */
-    public String render(WeblogEntryData entry, boolean skipFlagIgnored)
+    public String render(WeblogEntryData entry, String str)
     {
-        String entryText = entry.getText();
+        String entryText = str;
         StringBuffer result = new StringBuffer(entryText.length());
         MessageFormat fmt = getLinkFormat();
 
@@ -464,5 +464,5 @@
         this.userBookmarks = userBookmarks;
     }
 
-
+    public boolean getSkipOnSingleEntry() {return false;}
 }

Modified: incubator/roller/branches/roller-newbackend/metadata/database/control.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/metadata/database/control.vm?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/metadata/database/control.vm (original)
+++ incubator/roller/branches/roller-newbackend/metadata/database/control.vm Tue Apr 18 11:08:54 2006
@@ -5,7 +5,7 @@
 Follow the installation guide for instructions on setting up your database.
 
 #** Define templates to be generated **#
-#set( $templates = ["createdb", "200-to-210-migration", "210-to-220-migration"]) 
+#set( $templates = ["createdb", "200-to-210-migration", "210-to-220-migration", "220-to-230-migration"]) 
 
 #** Define special macro needed for alter table with not-null restriction **#
 #macro(addColumnNotNull $table $column $type $default)

Modified: incubator/roller/branches/roller-newbackend/metadata/database/createdb.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/metadata/database/createdb.vm?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/metadata/database/createdb.vm (original)
+++ incubator/roller/branches/roller-newbackend/metadata/database/createdb.vm Tue Apr 18 11:08:54 2006
@@ -186,7 +186,10 @@
     rightToLeft     $BOOLEAN_SQL_TYPE_FALSE not null,
     pinnedtomain    $BOOLEAN_SQL_TYPE_FALSE not null,
     locale          varchar(20),
-    status          varchar(20) not null
+    status          varchar(20) not null,
+    content         $TEXT_SQL_TYPE default null, 
+    content_type    varchar(48) default null, 
+    content_src     varchar(512) default null
 );
 create index we_websiteid_idx on weblogentry( websiteid );
 create index we_categoryid_idx on weblogentry( categoryid );

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/business/PagePluginManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/business/PagePluginManagerImpl.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/business/PagePluginManagerImpl.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/business/PagePluginManagerImpl.java Tue Apr 18 11:08:54 2006
@@ -98,8 +98,9 @@
         return ret;
     }
     
-    public WeblogEntryData applyPagePlugins(
-            WeblogEntryData entry, Map pagePlugins, boolean skipFlag) { 
+    public String applyPagePlugins(
+        WeblogEntryData entry, Map pagePlugins, String str, boolean singleEntry) { 
+        String ret = str;
         WeblogEntryData copy = new WeblogEntryData(entry);        
         List entryPlugins = copy.getPluginsList();
         if (entryPlugins != null && !entryPlugins.isEmpty()) {    
@@ -108,13 +109,15 @@
                 String key = (String)iter.next();
                 PagePlugin pagePlugin = (PagePlugin)pagePlugins.get(key);
                 if (pagePlugin != null) {
-                    copy.setText((pagePlugin).render(copy, skipFlag));
+                    if (!(singleEntry && pagePlugin.getSkipOnSingleEntry())) {
+                        ret = pagePlugin.render(entry, ret);
+                    }
                 } else {
                     mLogger.error("ERROR: plugin not found: " + key);
                 }
             }
         }
-        return copy;
+        return ret;
     }
     
     private static boolean isPagePlugin(Class pluginClass) {

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePlugin.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePlugin.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePlugin.java Tue Apr 18 11:08:54 2006
@@ -9,18 +9,8 @@
 import org.roller.pojos.WebsiteData;
 
 /**
- * Interface for Roller weblog entry plugins.
- * Plugin objects operate on the text field of a weblog entry object. 
- * Plugins save state and may not be thread-safe.
- * Consequently, new plugin objects are created for each request.
- * This interface has no dependency on Servlet classes, but page plugins may.
- *
- * Existing implementations:
- * autogenerate links from Bookmarks (BookmarkPlugin),
- * obfuscate email addresses (EmailObfuscator), truncate an Entry at 250
- * characters and add a Read More... link (ReadMorePlugin), and transform
- * 'simple markup' according to several schemes (JSPWiki, Radeox, Textile).
- * See the "contrib" directory for these implementations.
+ * Interface for Roller weblog entry page plugins, which can transform
+ * entry summary or text fields.
  *
  * @author David M Johnson
  */
@@ -42,29 +32,18 @@
             Context ctx) throws RollerException;
     
     /**
-     * Apply plugin to content of specified WeblogEntry.  The WeblogEntryData
-     * is actually a copy of the real thing, so that changes made via
-     * entry.setText() are not persisted.  Notice this; no changes made
-     * to the entry will be persisted.
-     * Some Plugins are only suited to rendering during Page display
-     * (not when generating RSS or Trackback content or in the
-     * Entry Preview) - ReadMorePlugin is an example of such a case.
-     * If the skipFlag is set to 'true' it merely returns the
-     * unadorned contents of entry.getText().
-     *
-     * @param entry WeblogEntry to which plugin should be applied.
-     * @param skipFlag Should processing be skipped.
-     * @return Results of applying plugin to entry.
-     */
-    public String render(WeblogEntryData entry, boolean skipFlag);
-    
-    /**
-     * Apply plugin to content of specified String.  Some plugins
-     * may require interaction with an Entry to do its job (such
-     * as the BookmarkPlugin) and will simply return the String
-     * that was passed in.
-     *
+     * Apply plugin to summary or text string associated with entry.
+     * @param entry       Entry being rendered.
+     * @param str         String to which plugin should be applied.
+     * @param singleEntry Indicates rendering on single entry page.
+     * @return            Results of applying plugin to entry.
+     */
+    public String render(WeblogEntryData entry, String str);
+    
+    /**
+     * Apply plugin to summary or text specified in string.
      * @param str String to which plugin should be applied.
+     * @param singleEntry Indicates rendering on single entry page.
      * @return Results of applying plugin to string.
      */
     public String render(String str);
@@ -89,4 +68,7 @@
      * @return A brief description of the Plugin.
      */
     public String getDescription();
+    
+    /** Returns true if this plugin should be skipped on single entry pages. */
+    public boolean getSkipOnSingleEntry();
 }

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePluginManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePluginManager.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePluginManager.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/model/PagePluginManager.java Tue Apr 18 11:08:54 2006
@@ -1 +1 @@
-/* Created on Nov. 26, 2005 */

package org.roller.model;

import java.util.Map;
import java.io.Serializable;
import org.apache.velocity.context.Context;
import org.roller.pojos.WeblogEntryData;
import org.roller.pojos.WebsiteData;

/**
 * Manages Roller page plugins
 */
public interface PagePluginManager extends Serializable {
    
    /** 
     * Returns true if plugins are present 
     */
    public boolean hasPagePlugins();
    
    /**
     * Create and init plugins for processing entries in a specified website. 
     * @param website        Website being processed 
     * @param servletContext ServetContext or null if running outside webapp
     * @param contextURL     Absolute URL of webapp    
     * @param ctx            Velocity context 
     */
    public Map createAndInitPagePlugins(
            WebsiteData website,
            Object servletContext,
            String contextPath,
            Context ctx);
    
    /**
     * Accepts weblog entry, creates copy,
  applies plugins to copy and
     * returns the results.
     * @param entry   Original weblog entry
     * @param plugins Map of plugins to apply
     * @return        Copy of weblog entry with plugins applied
     */
    public WeblogEntryData applyPagePlugins(
            WeblogEntryData entry, Map plugins, boolean skipFlag);
    
    /** 
     * Release all resources associated with Roller session. 
     */
    public void release();      
}
\ No newline at end of file
+/* Created on Nov. 26, 2005 */

package org.roller.model;

import java.util.Map;
import java.io.Serializable;
import org.apache.velocity.context.Context;
import org.roller.pojos.WeblogEntryData;
import org.roller.pojos.WebsiteData;

/**
 * Manages Roller page plugins
 */
public interface PagePluginManager extends Serializable {
    
    /** 
     * Returns true if plugins are present 
     */
    public boolean hasPagePlugins();
    
    /**
     * Create and init plugins for processing entries in a specified website. 
     * @param website        Website being processed 
     * @param servletContext ServetContext or null if running outside webapp
     * @param contextURL     Absolute URL of webapp    
     * @param ctx            Velocity context 
     */
    public Map createAndInitPagePlugins(
            WebsiteData website,
            Object servletContext,
            String contextPath,
            Context ctx);
    
    /**
     * Accepts weblog entry, creates copy,
  applies plugins to copy and
     * returns the results.
     * @param entry       Original weblog entry
     * @param plugins     Map of plugins to apply
     * @param str         String to which to apply plugins
     * @param singleEntry Rendering for single entry page?
     * @return        Copy of weblog entry with plugins applied
     */
    public String applyPagePlugins(
       WeblogEntryData entry, Map pagePlugins, String str, boolean singleEntry);
    
    /** 
     * Release all resources associated with Roller session. 
     */
    public void release();      
}
\ No newline at end of file

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/pojos/PlanetEntryData.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/pojos/PlanetEntryData.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/pojos/PlanetEntryData.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/pojos/PlanetEntryData.java Tue Apr 18 11:08:54 2006
@@ -25,7 +25,7 @@
 import org.roller.util.rome.ContentModule;
 
 import org.roller.util.Utilities;
-
+import org.apache.commons.lang.StringUtils;
 import com.sun.syndication.feed.module.DCModule;
 import com.sun.syndication.feed.synd.SyndCategory;
 import com.sun.syndication.feed.synd.SyndContent;
@@ -166,20 +166,26 @@
     {
         Roller roller = RollerFactory.getRoller();
         PagePluginManager ppmgr = roller.getPagePluginManager();
-        WeblogEntryData processedEntry = 
-            ppmgr.applyPagePlugins(rollerEntry, pagePlugins, true);
+       
+        String content = "";
+        if (!StringUtils.isEmpty(rollerEntry.getText())) {
+            content = rollerEntry.getText();
+        } else {
+            content = rollerEntry.getSummary();
+        }
+        content = ppmgr.applyPagePlugins(rollerEntry, pagePlugins, content, true);
         
-        setAuthor(    processedEntry.getCreator().getFullName());
-        setTitle(     processedEntry.getTitle());
-        setPermalink( processedEntry.getLink());
-        setPublished( processedEntry.getPubTime());         
-        setContent(   processedEntry.getText());
+        setAuthor(    rollerEntry.getCreator().getFullName());
+        setTitle(     rollerEntry.getTitle());
+        setPermalink( rollerEntry.getLink());
+        setPublished( rollerEntry.getPubTime());         
+        setContent(   content);
         
         setPermalink(RollerRuntimeConfig.getProperty("site.absoluteurl") 
-                    + processedEntry.getPermaLink());
+            + rollerEntry.getPermaLink());
         
         List cats = new ArrayList();
-        cats.add(processedEntry.getCategory().getPath());
+        cats.add(rollerEntry.getCategory().getPath());
         setCategories(cats);   
     }
     

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/pojos/WeblogEntryData.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/pojos/WeblogEntryData.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/pojos/WeblogEntryData.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/pojos/WeblogEntryData.java Tue Apr 18 11:08:54 2006
@@ -54,7 +54,10 @@
     private String    id            = null;
     private String    title         = null;
     private String    link          = null;
+    private String    summary       = null;
     private String    text          = null;
+    private String    contentType   = null;
+    private String    contentSrc    = null;
     private String    anchor        = null;
     private Timestamp pubTime       = null;
     private Timestamp updateTime    = null;
@@ -231,6 +234,25 @@
     }
 
     /** 
+     * Get summary for weblog entry (maps to RSS description and Atom summary).
+     * @roller.wrapPojoMethod type="simple"
+     * @ejb:persistent-field 
+     * @hibernate.property column="summary" non-null="false" unique="false"
+     */
+    public String getSummary() {
+        return summary;
+    }
+
+    /** 
+     * Set summary for weblog entry (maps to RSS description and Atom summary).
+     * @ejb:persistent-field 
+     */
+    public void setSummary(String summary) {
+        this.summary = summary;
+    }
+
+    /** 
+     * Get content text for weblog entry (maps to RSS content:encoded and Atom content).
      * @roller.wrapPojoMethod type="simple"
      * @ejb:persistent-field 
      * @hibernate.property column="text" non-null="true" unique="false"
@@ -240,13 +262,52 @@
         return this.text;
     }
 
-    /** @ejb:persistent-field */
+    /** 
+     * Set content text for weblog entry (maps to RSS content:encoded and Atom content).
+     * @ejb:persistent-field 
+     */
     public void setText(java.lang.String text)
     {
         this.text = text;
     }
+    
+    /** 
+     * Get content type (text, html, xhtml or a MIME content type)
+     * @roller.wrapPojoMethod type="simple"
+     * @ejb:persistent-field 
+     * @hibernate.property column="content_type" non-null="false" unique="false"
+     */
+    public String getContentType() {
+        return contentType;
+    }
+
+    /** 
+     * Set content type (text, html, xhtml or a MIME content type)
+     * @ejb:persistent-field 
+     */
+    public void setContentType(String contentType) {
+        this.contentType = contentType;
+    }
 
     /** 
+     * Get URL for out-of-line content.
+     * @roller.wrapPojoMethod type="simple"
+     * @ejb:persistent-field 
+     * @hibernate.property column="content_src" non-null="false" unique="false"
+     */
+    public String getContentSrc() {
+        return contentSrc;
+    }
+
+    /** 
+     * Set URL for out-of-line content.
+     * @ejb:persistent-field 
+     */
+    public void setContentSrc(String contentSrc) {
+        this.contentSrc = contentSrc;
+    }
+        
+    /** 
      * @roller.wrapPojoMethod type="simple"
      * @ejb:persistent-field 
      * @hibernate.property column="anchor" non-null="true" unique="false"
@@ -1131,5 +1192,5 @@
         
         return false;
     }
-    
+
 }

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/ContextLoader.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/ContextLoader.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/ContextLoader.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/ContextLoader.java Tue Apr 18 11:08:54 2006
@@ -355,7 +355,7 @@
         
         HttpServletRequest request = rreq.getRequest();
         String url = null;
-        if (website != null) {
+        if (website != null  && !"zzz_none_zzz".equals(website.getHandle())) {
             url = Utilities.escapeHTML(
                       rollerCtx.getAbsoluteContextUrl(request) 
                           + "/page/" + website.getHandle());

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/PageHelper.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/PageHelper.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/PageHelper.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/presentation/velocity/PageHelper.java Tue Apr 18 11:08:54 2006
@@ -55,7 +55,6 @@
     private HttpServletResponse  mResponse = null;     
     private RollerRequest        mRollerReq = null;  
     private Map                  mPagePlugins = null;  // Plugins keyed by name   
-    private boolean              mSkipFlag = false;
     private WebsiteData          mWebsite = null;
     
     //------------------------------------------------------------------------
@@ -94,20 +93,7 @@
                 RollerContext.getRollerContext().getAbsoluteContextUrl(),
                 mVelocityContext);
     }
-   
-    //------------------------------------------------------------------------
-    /**
-     * This is a quasi-hack: there are places we don't want to render the
-     * ReadMore Plugin in particular (I cannot think of other plugins
-     * which warrant this treatment).  The "skip flag" will be made
-     * available to the Plugin if it wants to check to see if it should
-     * be skipped.
-     */
-    public void setSkipFlag(boolean skip) 
-    {
-        mSkipFlag = skip;
-    }
-    
+       
     //------------------------------------------------------------------------
     
     /**
@@ -434,29 +420,27 @@
      * Pass the String through any PagePlugins that have been
      * assigned to the PageHelper, as selected by the Entry.
      * 
-     * @param str
-     * @return
+     * @param entry Entry being rendered.
+     * @param str   String to which plugins are to be applied.
+     * @return      Result of applying plugins to str.
      */
-    public String renderPlugins(WeblogEntryDataWrapper entry)
+    public String renderPlugins(WeblogEntryDataWrapper entry, String str)
     {
-        mLogger.debug("Rendering page plugins on WeblogEntryData");
-        
-        // we have to make a copy to temporarily store the
-        // changes wrought by Plugins (otherwise they might
-        // end up persisted!).
-        WeblogEntryData copy = new WeblogEntryData(entry.getPojo());
-        
+        String ret = str;
+        mLogger.debug("Applying page plugins to string");
+                
         if (mPagePlugins != null)
         {
-            List entryPlugins = copy.getPluginsList();
+            List entryPlugins = entry.getPluginsList();
             // if no Entry plugins, don't bother looping.
             if (entryPlugins != null && !entryPlugins.isEmpty())
             {    
                 // need to do this to tell ReadMore not to do its job
                 // if we are in the "view one Entry" page.
+                boolean singleEntry = false;
                 if (mRollerReq == null || mRollerReq.getWeblogEntry() != null)
                 {
-                    mSkipFlag = true;
+                    singleEntry = true;
                 }
                 
                 // now loop over mPagePlugins, matching
@@ -469,13 +453,15 @@
                     if (entryPlugins.contains(key))
                     {
                         PagePlugin pagePlugin = (PagePlugin)mPagePlugins.get(key);
-                        copy.setText((pagePlugin).render(copy, mSkipFlag));
+                        if (!(singleEntry && pagePlugin.getSkipOnSingleEntry())) { 
+                            ret = pagePlugin.render(entry.getPojo(), ret);
+                        }
                     }
                 }
             }
         }
         
-        return copy.getText();
+        return ret;
     }
     
     /**

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java Tue Apr 18 11:08:54 2006
@@ -590,11 +590,12 @@
                 return mapping.findForward("access-denied");
             }
         } catch (Exception e) {
-            throw new ServletException(e);
+            throw new ServletException(e); 
         }
         
         // need to reset all values to empty (including 'id')
         actionForm = new WeblogEntryFormEx();
+        actionForm.reset(mapping, request);
         request.setAttribute(mapping.getName(), actionForm);
         return create(mapping, actionForm, request, response);
     }
@@ -729,14 +730,19 @@
                         RollerContext.getRollerContext().getAbsoluteContextUrl(),
                         new VelocityContext());
                 
-                WeblogEntryData applied =
-                        ppmgr.applyPagePlugins(entry, plugins, true);
-                String title = applied.getTitle();
-                String excerpt = applied.getText();
-                excerpt = StringUtils.left( Utilities.removeHTML(excerpt),255 );
+                String content = "";
+                if (!StringUtils.isEmpty(entry.getText())) {
+                    content = entry.getText();
+                } else {
+                    content = entry.getSummary();
+                }
+                content = ppmgr.applyPagePlugins(entry, plugins, content, true);
+
+                String title = entry.getTitle();
+                String excerpt = StringUtils.left( Utilities.removeHTML(content),255 );
                 
-                String url = rctx.createEntryPermalink(applied, request, true);
-                String blog_name = applied.getWebsite().getName();
+                String url = rctx.createEntryPermalink(entry, request, true);
+                String blog_name = entry.getWebsite().getName();
                 
                 if (form.getTrackbackUrl() != null) {
                     // by default let all trackbacks to be sent

Modified: incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/ApplicationResources.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/ApplicationResources.properties?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/ApplicationResources.properties (original)
+++ incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/ApplicationResources.properties Tue Apr 18 11:08:54 2006
@@ -1272,6 +1272,9 @@
 
 weblogEntry.notFound=Cannot find requested weblog entry
 
+weblogEdit.summary=Summary (optional)
+weblogEdit.content=Content
+
 weblogEdit.actionCol=Actions
 weblogEdit.autoformat=Autoformat
 weblogEdit.calendarTitle=Weblog Entry Archive
@@ -1447,6 +1450,10 @@
 weblogEntryQuery.nowShowing=Displaying {0} weblog entries
 weblogEntryQuery.prev=Previous page
 weblogEntryQuery.next=Next page
+
+weblogEdit.previewSummary=Prevew: Summary
+weblogEdit.previewContent=Preview: Content
+weblogEdit.spellCheckContent=Spellcheck: Content
 
 # ------------------------------------------------------------------ Weblog Main
 

Modified: incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/atom.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/atom.vm?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/atom.vm (original)
+++ incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/atom.vm Tue Apr 18 11:08:54 2006
@@ -19,23 +19,19 @@
             href="$absBaseURL/atom$postfix" />
     #end
     <updated>$utilities.formatIso8601Date($updateTime)</updated>
-    <generator uri="http://www.rollerweblogger.org" version="#showVersion() ($rollerBuildTime:$rollerBuildUser)">
-       Roller Weblogger
-    </generator>
-    #if( $userName != "zzz_none_zzz" )<author>
-      <name>$fullName</name>
-      <uri>$websiteURL</uri>
-    </author>#end
+    <generator uri="http://rollerweblogger.org" version="#showVersion() ($rollerBuildTime:$rollerBuildUser)">Roller Weblogger</generator>
     #set( $entries = $pageModel.getRecentWeblogEntriesArray($entryCount, 'nil') )
     #foreach( $entry in $entries )
     <entry>
-        <title type="html">$utilities.textToHTML($entry.title,true)</title>
         <id>$absBaseURL$entry.permaLink</id>
+        <title type="html">$utilities.textToHTML($entry.title,true)</title>
+        <author><name>$entry.creator.fullName</name></author>
         <link rel="alternate" type="text/html" href="$absBaseURL$entry.permaLink"/>
         <published>$utilities.formatIso8601Date($entry.pubTime)</published>
-        <updated>$utilities.formatIso8601Date($entry.updateTime)</updated>
-        #if( $userName == "zzz_none_zzz" )<author><name>$entry.creator.fullName</name></author>#end
-        <content type="html">#showEntryDescription($entry)</content>
+        <updated>$utilities.formatIso8601Date($entry.updateTime)</updated> 
+        <category term="$utilities.textToHTML($entry.category.path, true)" label="$utilities.textToHTML($entry.category.name, true)" />
+        #if( $entry.summary )<summary type="html">#showEntrySummary($entry)</summary>#end
+        #if( $entry.text )<content type="html">#showEntryContent($entry)</content>#end
         #set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") )
         #set( $mc_type = $entry.findEntryAttribute("att_mediacast_type") )
         #set( $mc_length = $entry.findEntryAttribute("att_mediacast_length") )

Modified: incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/rss.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/rss.vm?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/rss.vm (original)
+++ incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/flavors/rss.vm Tue Apr 18 11:08:54 2006
@@ -1,5 +1,7 @@
 $pageHelper.setContentType("application/rss+xml;charset=utf-8")<?xml version="1.0" encoding="utf-8"?>
-<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<rss version="2.0" 
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:content="http://purl.org/rss/1.0/modules/content/" >
 <channel>
   <title>$utilities.textToHTML($utilities.removeHTML($website.name))</title>
   <link>$websiteURL</link>
@@ -11,25 +13,26 @@
   #set( $entries = $pageModel.getRecentWeblogEntriesArray($entryCount, 'nil') )
   #foreach( $entry in $entries )
   <item>
+    <guid isPermaLink="true">$absBaseURL$entry.permaLink</guid>
     <title>$utilities.textToHTML($utilities.removeHTML($entry.title))</title>
+    <dc:creator>$utilities.textToHTML($entry.creator.fullName,true)</dc:creator>
+    <link>$absBaseURL$entry.permaLink</link>
     #if( $entry.link && !$entry.link.trim().equals("") )
     <source url="$utilities.textToHTML($entry.link)">$utilities.textToHTML($entry.link)</source>
     #end
-    <description>#showEntryDescription($entry)</description>
-    <category>$utilities.textToHTML($entry.category.name,true)</category>
-    <link>$absBaseURL$entry.permaLink</link>
-    <guid isPermaLink="true">$absBaseURL$entry.permaLink</guid>
-    #if( $website.allowComments )
-    <comments>$absBaseURL$utilities.textToHTML($entry.commentsLink)</comments>
-    #end
     <pubDate>$utilities.formatRfc822Date($entry.pubTime)</pubDate>
-    <dc:creator>$utilities.textToHTML($entry.creator.fullName,true)</dc:creator>
+    <category>$utilities.textToHTML($entry.category.name,true)</category>
+    #if( $entry.summary )<description>#showEntrySummary($entry)</description>#end    
+    #if( $entry.text )<content:encoded>#showEntryContent($entry)</content:encoded>#end
     #set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") )
     #set( $mc_type = $entry.findEntryAttribute("att_mediacast_type") )
     #set( $mc_length = $entry.findEntryAttribute("att_mediacast_length") )
     #if( $mc_url && $mc_length && $mc_type )
        <enclosure url="$mc_url" type="$mc_type" length="$mc_length" />
        #set($mc_url = false) #set($mc_type = false) #set($mc_length = false)
+    #end
+    #if( $website.allowComments )
+    <comments>$absBaseURL$utilities.textToHTML($entry.commentsLink)</comments>
     #end
   </item>
   #end

Modified: incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/rollerRuntimeConfigDefs.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/rollerRuntimeConfigDefs.xml?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/rollerRuntimeConfigDefs.xml (original)
+++ incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/rollerRuntimeConfigDefs.xml Tue Apr 18 11:08:54 2006
@@ -74,7 +74,7 @@
       </property-def>
       <property-def  name="users.editor.pages"  key="configForm.editorPages">
          <type>text</type>
-         <default-value>editor-ekit.jsp,editor-text.jsp,editor-dhtml.jsp,editor-text-js.jsp,editor-wiki-js.jsp,editor-rte.jsp</default-value>
+         <default-value>editor-text.jsp,editor-rte.jsp</default-value>
          <rows>3</rows>
          <cols>40</cols>
       </property-def>

Modified: incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/weblog.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/weblog.vm?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/weblog.vm (original)
+++ incubator/roller/branches/roller-newbackend/web/WEB-INF/classes/weblog.vm Tue Apr 18 11:08:54 2006
@@ -216,63 +216,83 @@
 
 
 #**
- * Use this macro in your day template if you want to override
- * entry rendering in both your HTML and RSS weblog output by defining
- * a page template named _entry.
- *
- * <p>It is no longer necessary to use a page template named _entry
- * if you want to override entry rendering in both your
- * HTML and RSS weblog output (for support of PagePlugins).
- * However, backwards compatibility for such use is still included,
- * or if you have some other need to override entry rendering.
- * The _entry page is now loaded by ContextLoader as $entryPage.</p>
+ * Use this to show entry summary or text as appropriate on your blog pages.
+ * On single-entry pages, text is prefered. Everywhere else, summary is 
+ * preferred. Also, applies all plugins configured by entry.
  *#
 #macro( showEntryText $entry )
-   #if(  $entryPage )
+   #if( $entryPage )
       #parse($entryPage.id)
    #else
-      #if ( $entry.plugins )
-         #set( $entryText = $pageHelper.renderPlugins( $entry ) )
+      #if( $pageModel.weblogEntry) 
+          ## on single-entry pages, we prefer text
+          #if( $utilities.isNotEmpty($entry.text) )
+              #set( $sourceText = $entry.text )
+          #else 
+              #set( $sourceText = $entry.summary )
+          #end
       #else
-         #set( $entryText = $entry.text )
+          ## on multi-entry pages, we prefer summary
+          #if( $utilities.isNotEmpty($entry.summary) )
+              #set( $sourceText = $entry.summary )
+              #if( $utilities.isNotEmpty($entry.text) )
+                 #set( $readMore = "<a class='readmore' href='$baseURL$entry.permaLink'> ...</a>" )
+                 #set( $sourceText = "$sourceText$readMore")
+              #end
+          #else 
+              #set( $sourceText = $entry.text )
+          #end
       #end
-      #if( $entryLength == -1 )
-        $utilities.textToCDATA($entryText)
+      #if( $entry.plugins )
+         #set( $displayText = $pageHelper.renderPlugins($entry, $sourceText) )
       #else
-        #set( $entryText = $utilities.textToCDATA($utilities.removeHTML($entryText)) )
-        $stringUtils.left( $entryText, $entryLength )... [$entryText.length() characters]
+         #set( $displayText = $entry.text )
       #end
+      $utilities.textToCDATA($displayText)
    #end
 #end
 
 
 #**
- * Use this macro in your day template if you want to override
- * entry rendering in both your HTML and RSS weblog output by defining
- * a page template named _desc.
- *
- * <p>It is no longer necessary to use a page template named _desc
- * if you want to override entry rendering in both your
- * HTML and RSS weblog output (for support of PagePlugins).
- * However, backwards compatibility for such use is still included,
- * or if you have some other need to override entry rendering.
- * The _desc page is now loaded by ContextLoader as $descPage.</p>
+ * Roller uses this macro to display entry.summary in RSS and Atom feeds.
+ *#
+#macro( showEntrySummary $entry )
+   #if($descPage)
+      #parse($descPage.id)
+   #else
+      #if( $entry.plugins)
+         #set( $displayText = $pageHelper.renderPlugins( $entry, $entry.summary))
+      #else
+         #set( $displayText = $entry.summary )
+      #end
+      #if( $displayText == -1 )
+        $utilities.textToXML($displayText)
+      #else
+        #set( $displayText = $stringUtils.left( $displayText, $entryLength ) )
+        #set( $displayText = $utilities.textToXML($utilities.removeHTML($displayText)) )
+        $displayText... [$entry.text.length() characters]
+      #end
+   #end
+#end
+
+#**
+ * Roller uses this macro to display entry.text in RSS and Atom feeds.
  *#
-#macro( showEntryDescription $entry )
-   #if(  $descPage )
+#macro( showEntryContent $entry )
+   #if($descPage)
       #parse($descPage.id)
    #else
-      #if ( $entry.plugins )
-         #set( $entryText = $pageHelper.renderPlugins( $entry ) )
+      #if( $entry.plugins)
+         #set( $displayText = $pageHelper.renderPlugins( $entry, $entry.text))
       #else
-         #set( $entryText = $entry.text )
+         #set( $displayText = $entry.text )
       #end
       #if( $entryLength == -1 )
-        $utilities.textToXML($entryText)
+        $utilities.textToXML($displayText)
       #else
-        #set( $entryText = $stringUtils.left( $entryText, $entryLength ) )
-        #set( $entryText = $utilities.textToXML($utilities.removeHTML($entryText)) )
-        $entryText... [$entry.text.length() characters]
+        #set( $displayText = $stringUtils.left( $displayText, $entryLength ) )
+        #set( $displayText = $utilities.textToXML($utilities.removeHTML($displayText)) )
+        $displayText... [$entry.text.length() characters]
       #end
    #end
 #end

Modified: incubator/roller/branches/roller-newbackend/web/editor/changelog.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/web/editor/changelog.txt?rev=394994&r1=394993&r2=394994&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/web/editor/changelog.txt (original)
+++ incubator/roller/branches/roller-newbackend/web/editor/changelog.txt Tue Apr 18 11:08:54 2006
@@ -1,8 +1,28 @@
 Cross-Browser Rich Text Editor change log
 
+3/4/2005 - Updated insert link function to automatically place highlighted text in link text field
+3/2/2005 - Replaced insert image icon
+3/2/2005 - To satisfy a handful of people who have a problem with my "no license" policy I have added "// This code is public domain. Redistribution and use of this code, with or without modification, is permitted." to top of richtext.js.
+3/1/2005 - Fixed display of buttons when submitting in view source mode
+3/1/2005 - Fixed toggleHTMLSrc() function to update view source textbox with XHTML-converted code
+3/1/2005 - Removed XHTML demo and included genXHTML option in initRTE function is standard demo
+3/1/2005 - Changed back default behaviour of IE (again) to insert <p> tags when hitting return.  Previous fix broke list items and indenting functionality in IE.
+2/24/2005 - Added XHTML output demo (demo_xhtml.htm)
+2/24/2005 - Fixed view source checkbox for RTEs not displaying buttons
+2/24/2005 - Added label tag to view source checkbox
+2/24/2005 - Updated insert link function to display more advanced dialog window
+2/24/2005 - popup dialogs (insert table and insert link) now are centered in the user's screen
+2/24/2005 - Updated demo.php and demo.asp to allow actual submission of the forms, to demonstrate getting the submitted value of the RTE
+2/24/2005 - Fixed corrupt demo.php file
+2/24/2005 - Changed behaviour in IE so that when return is pressed, a <br> is inserted instead of a new paragraph (now functions same as Gecko browsers)
+2/10/2005 - Fixed IE crash when back button is clicked (changed doctype in blank.htm)
+2/10/2005 - Added table insert functionality (thanks dannyuk1982!)
+2/10/2005 - Cleaned up code considerably
+2/10/2005 - Updated default rte widths (IE and Gecko are now the same width by default)
+2/10/2005 - Tried to turn off useCSS in Gecko by default (to keep generated html consistent with IE), but enabling this disables the ability to use the 'hilitecolor' command in Firefox for some reason
 11/12/2004 - Fixed palette position when rte is embedded within multiple divs.
 11/12/2004 - Fixed button events for non-IE browsers (now uses CSS)
-11/9/2004 - Fixed bug when using SSL saying page has unsecured items.
+11/9/2004 - Fixed bug when using SSL saying page has unsecured items (re-added blank.htm).
 11/9/2004 - Changed back default behaviour of IE to insert <p> tags when hitting return.  Previous fix broke list items and indenting functionality in IE
 11/2/2004 - Changed default behaviour of IE to insert <br> tags instead of <p> tags upon hitting return - thanks TotalJSNoob and archv1le!
 7/14/2004 - Changed rte.css to maintain td styles under parent objects