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 2007/07/30 23:27:15 UTC

svn commit: r561131 - in /roller/trunk/apps/weblogger: src/java/org/apache/roller/weblogger/config/ src/java/org/apache/roller/weblogger/pojos/ src/java/org/apache/roller/weblogger/ui/struts2/editor/ src/java/org/apache/roller/weblogger/util/ web/WEB-I...

Author: snoopdave
Date: Mon Jul 30 14:27:14 2007
New Revision: 561131

URL: http://svn.apache.org/viewvc?view=rev&rev=561131
Log:
Fixing http://opensource.atlassian.com/projects/roller/browse/ROL-1504
Multiple problems with entry enclosure/MediaCast: entry attributes were not being persisted, MediaCast was not being saved/remove in EntryEdit.java, typo in resource name, etc.  

Fixing http://opensource.atlassian.com/projects/roller/browse/ROL-1487
Added permalink back to entry page, but made it optional (defaulting to enabled)

Modified:
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
    roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
    roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties Mon Jul 30 14:27:14 2007
@@ -652,6 +652,9 @@
 # Characters to be allowed in user names (change at your own risk)
 username.allowedChars=A-Za-z0-9
 
+# weblog entry editor
+weblogentry.editor.showFullPermalink=true
+
 # editor theme to be used (corresponds to directory name under /theme)
 editor.theme=tan
 

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java Mon Jul 30 14:27:14 2007
@@ -429,9 +429,11 @@
             att.setValue(value);
         }
     }
+    
     public void onRemoveEntryAttribute(WeblogEntryAttribute att) throws WebloggerException {
         attMap.remove(att.getName());
     }
+    
     //-------------------------------------------------------------------------
     
     /**

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml Mon Jul 30 14:27:14 2007
@@ -143,7 +143,7 @@
             </many-to-one>
             <one-to-many name="entryAttributes" mapped-by="entry" target-entity="org.apache.roller.weblogger.pojos.WeblogEntryAttribute" fetch="LAZY">
                 <cascade>
-                    <cascade-remove/>
+                    <cascade-persist/>
                 </cascade>
             </one-to-many>
             <one-to-many name="tags" mapped-by="weblogEntry" target-entity="org.apache.roller.weblogger.pojos.WeblogEntryTag" fetch="LAZY">

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java Mon Jul 30 14:27:14 2007
@@ -35,6 +35,9 @@
 import org.apache.roller.weblogger.pojos.WeblogEntry;
 import org.apache.roller.weblogger.util.cache.CacheManager;
 import org.apache.roller.weblogger.util.MailUtil;
+import org.apache.roller.weblogger.util.MediacastException;
+import org.apache.roller.weblogger.util.MediacastResource;
+import org.apache.roller.weblogger.util.MediacastUtil;
 import org.apache.roller.weblogger.util.RollerMessages;
 import org.apache.roller.weblogger.util.RollerMessages.RollerMessage;
 import org.apache.roller.weblogger.util.Trackback;
@@ -150,13 +153,31 @@
                 entry.setPinnedToMain(getBean().getPinnedToMain());
             }
             
-//            // Fetch MediaCast content type and length
-//            log.debug("Checking MediaCast attributes");
-//            if (!checkMediaCast(entry)) {
-//                log.debug("Invalid MediaCast attributes");
-//            } else {
-//                log.debug("Validated MediaCast attributes");
-//            }
+            if(!StringUtils.isEmpty(getBean().getEnclosureURL())) {
+                try {
+                    // Fetch MediaCast resource
+                    log.debug("Checking MediaCast attributes");
+                    MediacastResource mediacast = MediacastUtil.lookupResource(getBean().getEnclosureURL());
+
+                    // set mediacast attributes
+                    entry.putEntryAttribute("att_mediacast_url", mediacast.getUrl());
+                    entry.putEntryAttribute("att_mediacast_type", mediacast.getContentType());
+                    entry.putEntryAttribute("att_mediacast_length", ""+mediacast.getLength());
+
+                } catch (MediacastException ex) {
+                    addMessage(getText(ex.getErrorKey()));
+                }
+            } else {
+                try {
+                    // if MediaCast string is empty, clean out MediaCast attributes
+                    weblogMgr.removeWeblogEntryAttribute("att_mediacast_url", entry);
+                    weblogMgr.removeWeblogEntryAttribute("att_mediacast_type", entry);
+                    weblogMgr.removeWeblogEntryAttribute("att_mediacast_length", entry);
+                    
+                } catch (WebloggerException e) {
+                    addMessage(getText("weblogEdit.mediaCastErrorRemoving"));
+                }
+            }
             
             if(log.isDebugEnabled()) {
                 log.debug("entry bean is ...\n"+getBean().toString());

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java Mon Jul 30 14:27:14 2007
@@ -84,20 +84,7 @@
         } catch (Exception e) {
             log.error("ERROR while checking MediaCast URL: " + url + ": " + e.getMessage());
             throw new MediacastException(CHECK_FAILED, "weblogEdit.mediaCastFailedFetchingInfo", e);
-        }
-        
-//        if (!valid) {
-//            log.debug("Removing MediaCast attributes");
-//            WeblogManager weblogManager = WebloggerFactory.getRoller().getWeblogManager();
-//            try {
-//                weblogManager.removeWeblogEntryAttribute("att_mediacast_url", entry);
-//                weblogManager.removeWeblogEntryAttribute("att_mediacast_type", entry);
-//                weblogManager.removeWeblogEntryAttribute("att_mediacast_length", entry);
-//            } catch (Exception e) {
-//                log.error("ERROR removing invalid MediaCast attributes");
-//            }
-//        }
-        
+        }      
         return resource;
     }
     

Modified: roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties Mon Jul 30 14:27:14 2007
@@ -1752,12 +1752,13 @@
 
 weblogEdit.enclosureURL=Enclosure URL
 weblogEdit.enclosureType=Type
-weblogEdit.encosureLegnth=Length
+weblogEdit.enclosureLength=Length
 weblogEdit.encosureInvalid=Enclosure URL is invalid
 weblogEdit.mediaCastFailedFetchingInfo=Unable to reach the enclosure. Check the hostname in the URL.
 weblogEdit.mediaCastUrlMalformed=The enclosure URL was malformed.
 weblogEdit.mediaCastResponseError=The enclosure server returned an error. Do you have the right URL?
 weblogEdit.mediaCastLacksContentTypeOrLength=Unable to use enclosure URL. Server provided no content type or no length.
+weblogEdit.mediaCastErrorRemoving=Error removing MediaCast from weblog entry
 weblogEdit.error.incompleteEntry=Entry must have a title
 
 # errors from validation

Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp Mon Jul 30 14:27:14 2007
@@ -59,8 +59,12 @@
                         <s:text name="weblogEdit.published" />
                         (<s:text name="weblogEdit.updateTime" />
                         <s:date name="entry.updateTime" format="dd/MM/yyyy hh:mm a" />)
-                        &nbsp;&nbsp;&nbsp;&nbsp;<img src="<s:url value="/images/launch-link.png"/>" />
-                        <a href='<s:property value="entry.permalink" />'><s:text name="weblogEdit.permaLink" /></a>
+                        
+                        <s:if test='!getBooleanProp("weblogentry.editor.showFullPermalink")'>
+                            &nbsp;&nbsp;&nbsp;&nbsp;<img src='<s:url value="/images/launch-link.png"/>' />
+                            <a href='<s:property value="entry.permalink" />'><s:text name="weblogEdit.permaLink" /></a>
+                        </s:if>
+                        
                     </span>
                 </s:if>
                 <s:elseif test="bean.draft">
@@ -81,6 +85,23 @@
             </td>
         </tr>
     
+        <s:if test='getBooleanProp("weblogentry.editor.showFullPermalink")'>
+            <tr>
+                <td class="permalinkLabel">
+                    <label for="permalink"><s:text name="weblogEdit.permaLink" /></label>
+                </td>
+                <td>
+                    <s:if test="bean.published">
+                        <a href='<s:property value="entry.permalink" />'><s:property value="entry.permalink" /></a>
+                        <img src='<s:url value="/images/launch-link.png"/>' />
+                    </s:if>
+                    <s:else>
+                        <s:property value="entry.permalink" />
+                    </s:else>
+                </td>
+            </tr>
+        </s:if>
+        
         <tr>
             <td class="entryEditFormLabel">
                 <label for="categoryId"><s:text name="weblogEdit.category" /></label>
@@ -205,8 +226,8 @@
         
         <s:text name="weblogEdit.enclosureURL" />: <s:textfield name="bean.enclosureURL" size="40" maxlength="255" />
         <s:if test="bean.enclosureURL != null">
-            <s:text name="weblogEdit.enclosureType" />: <s:property value="entry.attributes['att_mediacast_type']" />
-            <s:text name="weblogEdit.enclosureLength" />: <s:property value="entry.attributes['att_mediacast_length']" />
+            <s:text name="weblogEdit.enclosureType" />: <s:property value='entry.findEntryAttribute("att_mediacast_type")' />
+            <s:text name="weblogEdit.enclosureLength" />: <s:property value='entry.findEntryAttribute("att_mediacast_length")' />
         </s:if>
     </div>
     



Re: svn commit: r561131 - in /roller/trunk/apps/weblogger: src/java/org/apache/roller/weblogger/config/ src/java/org/apache/roller/weblogger/pojos/ src/java/org/apache/roller/weblogger/ui/struts2/editor/ src/java/org/apache/roller/weblogger/util/ web/WEB-I...

Posted by Allen Gilliland <al...@sun.com>.
Dave,

I hate to spend more time on this because I know we both just want 
things to be finished, but I think we can do better for the fix for 
ROL-1487 (permalink on entry edit page).

I know you made it optional, which is nice since I am not a fan of 
having that link there, but I think that's a little bit silly.  I'm sure 
we can figure out a better way to deal with this than making it a 
configuration choice, which really is not something that I think users 
really care to have control over.

My 2 issues with having that link on the page is ...

1. The usability issue of having a link to something that doesn't exist 
since draft entries are unpublished and thus not available.

2. The usability issue of taking up a whole extra line on an already 
crowded page for something that I feel most users don't see as valuable.

You feel that the link is more useful than I do, which is fine, but 
hopefully you agree that from a usability point of view it is taking up 
valuable real estate on the page and we should be trying to keep the 
entry posting UI as simple and sleek as possible.

So here's a couple thoughts ...

1. Create a section under Advanced Settings to display the "Entry URL" 
and then in the future you can also add a textfield for editing the 
entry anchor, which you mentioned you had wanted to do.  This leaves the 
standard UI clean & easy for users and still provides a way for advanced 
users to make use of the permalink url if they need to.

2. Alternatively, what if we removed the part on the status line that 
contains the updated time "(Last updated xxxxx x-x x-x)" and put the 
link there instead?  This way we keep the UI more concise and still 
provide the link.

My preference would be for #1.

-- Allen


snoopdave@apache.org wrote:
> Author: snoopdave
> Date: Mon Jul 30 14:27:14 2007
> New Revision: 561131
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=561131
> Log:
> Fixing http://opensource.atlassian.com/projects/roller/browse/ROL-1504
> Multiple problems with entry enclosure/MediaCast: entry attributes were not being persisted, MediaCast was not being saved/remove in EntryEdit.java, typo in resource name, etc.  
> 
> Fixing http://opensource.atlassian.com/projects/roller/browse/ROL-1487
> Added permalink back to entry page, but made it optional (defaulting to enabled)
> 
> Modified:
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
>     roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
>     roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties?view=diff&rev=561131&r1=561130&r2=561131
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties Mon Jul 30 14:27:14 2007
> @@ -652,6 +652,9 @@
>  # Characters to be allowed in user names (change at your own risk)
>  username.allowedChars=A-Za-z0-9
>  
> +# weblog entry editor
> +weblogentry.editor.showFullPermalink=true
> +
>  # editor theme to be used (corresponds to directory name under /theme)
>  editor.theme=tan
>  
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java?view=diff&rev=561131&r1=561130&r2=561131
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java Mon Jul 30 14:27:14 2007
> @@ -429,9 +429,11 @@
>              att.setValue(value);
>          }
>      }
> +    
>      public void onRemoveEntryAttribute(WeblogEntryAttribute att) throws WebloggerException {
>          attMap.remove(att.getName());
>      }
> +    
>      //-------------------------------------------------------------------------
>      
>      /**
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml?view=diff&rev=561131&r1=561130&r2=561131
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml Mon Jul 30 14:27:14 2007
> @@ -143,7 +143,7 @@
>              </many-to-one>
>              <one-to-many name="entryAttributes" mapped-by="entry" target-entity="org.apache.roller.weblogger.pojos.WeblogEntryAttribute" fetch="LAZY">
>                  <cascade>
> -                    <cascade-remove/>
> +                    <cascade-persist/>
>                  </cascade>
>              </one-to-many>
>              <one-to-many name="tags" mapped-by="weblogEntry" target-entity="org.apache.roller.weblogger.pojos.WeblogEntryTag" fetch="LAZY">
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java?view=diff&rev=561131&r1=561130&r2=561131
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java Mon Jul 30 14:27:14 2007
> @@ -35,6 +35,9 @@
>  import org.apache.roller.weblogger.pojos.WeblogEntry;
>  import org.apache.roller.weblogger.util.cache.CacheManager;
>  import org.apache.roller.weblogger.util.MailUtil;
> +import org.apache.roller.weblogger.util.MediacastException;
> +import org.apache.roller.weblogger.util.MediacastResource;
> +import org.apache.roller.weblogger.util.MediacastUtil;
>  import org.apache.roller.weblogger.util.RollerMessages;
>  import org.apache.roller.weblogger.util.RollerMessages.RollerMessage;
>  import org.apache.roller.weblogger.util.Trackback;
> @@ -150,13 +153,31 @@
>                  entry.setPinnedToMain(getBean().getPinnedToMain());
>              }
>              
> -//            // Fetch MediaCast content type and length
> -//            log.debug("Checking MediaCast attributes");
> -//            if (!checkMediaCast(entry)) {
> -//                log.debug("Invalid MediaCast attributes");
> -//            } else {
> -//                log.debug("Validated MediaCast attributes");
> -//            }
> +            if(!StringUtils.isEmpty(getBean().getEnclosureURL())) {
> +                try {
> +                    // Fetch MediaCast resource
> +                    log.debug("Checking MediaCast attributes");
> +                    MediacastResource mediacast = MediacastUtil.lookupResource(getBean().getEnclosureURL());
> +
> +                    // set mediacast attributes
> +                    entry.putEntryAttribute("att_mediacast_url", mediacast.getUrl());
> +                    entry.putEntryAttribute("att_mediacast_type", mediacast.getContentType());
> +                    entry.putEntryAttribute("att_mediacast_length", ""+mediacast.getLength());
> +
> +                } catch (MediacastException ex) {
> +                    addMessage(getText(ex.getErrorKey()));
> +                }
> +            } else {
> +                try {
> +                    // if MediaCast string is empty, clean out MediaCast attributes
> +                    weblogMgr.removeWeblogEntryAttribute("att_mediacast_url", entry);
> +                    weblogMgr.removeWeblogEntryAttribute("att_mediacast_type", entry);
> +                    weblogMgr.removeWeblogEntryAttribute("att_mediacast_length", entry);
> +                    
> +                } catch (WebloggerException e) {
> +                    addMessage(getText("weblogEdit.mediaCastErrorRemoving"));
> +                }
> +            }
>              
>              if(log.isDebugEnabled()) {
>                  log.debug("entry bean is ...\n"+getBean().toString());
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java?view=diff&rev=561131&r1=561130&r2=561131
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java Mon Jul 30 14:27:14 2007
> @@ -84,20 +84,7 @@
>          } catch (Exception e) {
>              log.error("ERROR while checking MediaCast URL: " + url + ": " + e.getMessage());
>              throw new MediacastException(CHECK_FAILED, "weblogEdit.mediaCastFailedFetchingInfo", e);
> -        }
> -        
> -//        if (!valid) {
> -//            log.debug("Removing MediaCast attributes");
> -//            WeblogManager weblogManager = WebloggerFactory.getRoller().getWeblogManager();
> -//            try {
> -//                weblogManager.removeWeblogEntryAttribute("att_mediacast_url", entry);
> -//                weblogManager.removeWeblogEntryAttribute("att_mediacast_type", entry);
> -//                weblogManager.removeWeblogEntryAttribute("att_mediacast_length", entry);
> -//            } catch (Exception e) {
> -//                log.error("ERROR removing invalid MediaCast attributes");
> -//            }
> -//        }
> -        
> +        }      
>          return resource;
>      }
>      
> 
> Modified: roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties?view=diff&rev=561131&r1=561130&r2=561131
> ==============================================================================
> --- roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties (original)
> +++ roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties Mon Jul 30 14:27:14 2007
> @@ -1752,12 +1752,13 @@
>  
>  weblogEdit.enclosureURL=Enclosure URL
>  weblogEdit.enclosureType=Type
> -weblogEdit.encosureLegnth=Length
> +weblogEdit.enclosureLength=Length
>  weblogEdit.encosureInvalid=Enclosure URL is invalid
>  weblogEdit.mediaCastFailedFetchingInfo=Unable to reach the enclosure. Check the hostname in the URL.
>  weblogEdit.mediaCastUrlMalformed=The enclosure URL was malformed.
>  weblogEdit.mediaCastResponseError=The enclosure server returned an error. Do you have the right URL?
>  weblogEdit.mediaCastLacksContentTypeOrLength=Unable to use enclosure URL. Server provided no content type or no length.
> +weblogEdit.mediaCastErrorRemoving=Error removing MediaCast from weblog entry
>  weblogEdit.error.incompleteEntry=Entry must have a title
>  
>  # errors from validation
> 
> Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp?view=diff&rev=561131&r1=561130&r2=561131
> ==============================================================================
> --- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp (original)
> +++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp Mon Jul 30 14:27:14 2007
> @@ -59,8 +59,12 @@
>                          <s:text name="weblogEdit.published" />
>                          (<s:text name="weblogEdit.updateTime" />
>                          <s:date name="entry.updateTime" format="dd/MM/yyyy hh:mm a" />)
> -                        &nbsp;&nbsp;&nbsp;&nbsp;<img src="<s:url value="/images/launch-link.png"/>" />
> -                        <a href='<s:property value="entry.permalink" />'><s:text name="weblogEdit.permaLink" /></a>
> +                        
> +                        <s:if test='!getBooleanProp("weblogentry.editor.showFullPermalink")'>
> +                            &nbsp;&nbsp;&nbsp;&nbsp;<img src='<s:url value="/images/launch-link.png"/>' />
> +                            <a href='<s:property value="entry.permalink" />'><s:text name="weblogEdit.permaLink" /></a>
> +                        </s:if>
> +                        
>                      </span>
>                  </s:if>
>                  <s:elseif test="bean.draft">
> @@ -81,6 +85,23 @@
>              </td>
>          </tr>
>      
> +        <s:if test='getBooleanProp("weblogentry.editor.showFullPermalink")'>
> +            <tr>
> +                <td class="permalinkLabel">
> +                    <label for="permalink"><s:text name="weblogEdit.permaLink" /></label>
> +                </td>
> +                <td>
> +                    <s:if test="bean.published">
> +                        <a href='<s:property value="entry.permalink" />'><s:property value="entry.permalink" /></a>
> +                        <img src='<s:url value="/images/launch-link.png"/>' />
> +                    </s:if>
> +                    <s:else>
> +                        <s:property value="entry.permalink" />
> +                    </s:else>
> +                </td>
> +            </tr>
> +        </s:if>
> +        
>          <tr>
>              <td class="entryEditFormLabel">
>                  <label for="categoryId"><s:text name="weblogEdit.category" /></label>
> @@ -205,8 +226,8 @@
>          
>          <s:text name="weblogEdit.enclosureURL" />: <s:textfield name="bean.enclosureURL" size="40" maxlength="255" />
>          <s:if test="bean.enclosureURL != null">
> -            <s:text name="weblogEdit.enclosureType" />: <s:property value="entry.attributes['att_mediacast_type']" />
> -            <s:text name="weblogEdit.enclosureLength" />: <s:property value="entry.attributes['att_mediacast_length']" />
> +            <s:text name="weblogEdit.enclosureType" />: <s:property value='entry.findEntryAttribute("att_mediacast_type")' />
> +            <s:text name="weblogEdit.enclosureLength" />: <s:property value='entry.findEntryAttribute("att_mediacast_length")' />
>          </s:if>
>      </div>
>      
> 
>