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 2014/06/08 22:23:36 UTC

svn commit: r1601254 [3/4] - in /roller/branches/rome2: ./ app/ app/src/main/java/org/apache/roller/util/ app/src/main/java/org/apache/roller/weblogger/business/ app/src/main/java/org/apache/roller/weblogger/business/jpa/ app/src/main/java/org/apache/r...

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIActionPrepareInterceptor.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIActionPrepareInterceptor.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIActionPrepareInterceptor.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIActionPrepareInterceptor.java Sun Jun  8 20:23:32 2014
@@ -32,44 +32,48 @@ import com.opensymphony.xwork2.intercept
  */
 public class UIActionPrepareInterceptor extends MethodFilterInterceptor {
 
-	private static final long serialVersionUID = 7770184756145702592L;
-	private static Log log = LogFactory
-			.getLog(UIActionPrepareInterceptor.class);
-
-	public String doIntercept(ActionInvocation invocation) throws Exception {
-
-		log.debug("Entering UIActionPrepareInterceptor");
-
-		final Object action = invocation.getAction();
-		//final ActionContext context = invocation.getInvocationContext();
-
-		// is this one of our own UIAction classes?
-		if (action instanceof UIActionPreparable) {
-
-			log.debug("action is UIActionPreparable, calling myPrepare() method");
-
-			// The EntryAdd->EntryEdit chain is the one place where we need
-			// to pass a parameter along the chain, thus this somewhat ugly hack
-			if (invocation.getStack().getRoot().size() > 1) {
-				Object action0 = invocation.getStack().getRoot().get(0);
-				Object action1 = invocation.getStack().getRoot().get(1);
-				if (action0 instanceof EntryEdit && action1 instanceof EntryAdd) {
-					EntryEdit editAction = (EntryEdit) action0;
-					EntryAdd addAction = (EntryAdd) action1;
-					editAction.getBean().setId(addAction.getBean().getId());
-				} else if (action0 instanceof EntryAdd
-						&& action1 instanceof EntryAddWithMediaFile) {
-					EntryAdd addAction = (EntryAdd) action0;
-					EntryAddWithMediaFile mediaAction = (EntryAddWithMediaFile) action1;
-					addAction.setBean(mediaAction.getBean());
-				}
-			}
-
-			UIActionPreparable theAction = (UIActionPreparable) action;
-			theAction.myPrepare();
-		}
+    private static final long serialVersionUID = 7770184756145702592L;
+    private static Log log = LogFactory
+            .getLog(UIActionPrepareInterceptor.class);
+
+    public String doIntercept(ActionInvocation invocation) throws Exception {
+
+        if (log.isDebugEnabled()) {
+            log.debug("Entering UIActionPrepareInterceptor");
+        }
+
+        final Object action = invocation.getAction();
+        // final ActionContext context = invocation.getInvocationContext();
+
+        // is this one of our own UIAction classes?
+        if (action instanceof UIActionPreparable) {
+
+            if (log.isDebugEnabled()) {
+                log.debug("action is UIActionPreparable, calling myPrepare() method");
+            }
+
+            // The EntryAdd->EntryEdit chain is the one place where we need
+            // to pass a parameter along the chain, thus this somewhat ugly hack
+            if (invocation.getStack().getRoot().size() > 1) {
+                Object action0 = invocation.getStack().getRoot().get(0);
+                Object action1 = invocation.getStack().getRoot().get(1);
+                if (action0 instanceof EntryEdit && action1 instanceof EntryAdd) {
+                    EntryEdit editAction = (EntryEdit) action0;
+                    EntryAdd addAction = (EntryAdd) action1;
+                    editAction.getBean().setId(addAction.getBean().getId());
+                } else if (action0 instanceof EntryAdd
+                        && action1 instanceof EntryAddWithMediaFile) {
+                    EntryAdd addAction = (EntryAdd) action0;
+                    EntryAddWithMediaFile mediaAction = (EntryAddWithMediaFile) action1;
+                    addAction.setBean(mediaAction.getBean());
+                }
+            }
+
+            UIActionPreparable theAction = (UIActionPreparable) action;
+            theAction.myPrepare();
+        }
 
-		return invocation.invoke();
-	}
+        return invocation.invoke();
+    }
 
 }

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UISecurityInterceptor.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UISecurityInterceptor.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UISecurityInterceptor.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UISecurityInterceptor.java Sun Jun  8 20:23:32 2014
@@ -18,8 +18,6 @@
 
 package org.apache.roller.weblogger.ui.struts2.util;
 
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.business.UserManager;
@@ -29,78 +27,99 @@ import org.apache.roller.weblogger.pojos
 import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
 
 /**
  * A struts2 interceptor for configuring specifics of the weblogger ui.
  */
-public class UISecurityInterceptor extends AbstractInterceptor {
-    
+public class UISecurityInterceptor extends MethodFilterInterceptor {
+
+    private static final long serialVersionUID = -7787813271277874462L;
     private static Log log = LogFactory.getLog(UISecurityInterceptor.class);
-    
-    
-    public String intercept(ActionInvocation invocation) throws Exception {
-        
-        log.debug("Entering UISecurityInterceptor");
-        
+
+    public String doIntercept(ActionInvocation invocation) throws Exception {
+
+        if (log.isDebugEnabled()) {
+            log.debug("Entering UISecurityInterceptor");
+        }
+
         final Object action = invocation.getAction();
-        
+
         // is this one of our own UIAction classes?
-        if (action instanceof UISecurityEnforced &&
-                action instanceof UIAction) {
-            
-            log.debug("action is UISecurityEnforced ... enforcing security rules");
-            
+        if (action instanceof UISecurityEnforced && action instanceof UIAction) {
+
+            if (log.isDebugEnabled()) {
+                log.debug("action is UISecurityEnforced ... enforcing security rules");
+            }
+
             final UISecurityEnforced theAction = (UISecurityEnforced) action;
-            
+
             // are we requiring an authenticated user?
             if (theAction.isUserRequired()) {
-                
-                UserManager umgr = WebloggerFactory.getWeblogger().getUserManager();
-                
-                User authenticatedUser = ((UIAction)theAction).getAuthenticatedUser();
-                if(authenticatedUser == null) {
-                    log.debug("DENIED: required user not found");
+
+                UserManager umgr = WebloggerFactory.getWeblogger()
+                        .getUserManager();
+
+                User authenticatedUser = ((UIAction) theAction)
+                        .getAuthenticatedUser();
+                if (authenticatedUser == null) {
+                    if (log.isDebugEnabled()) {
+                        log.debug("DENIED: required user not found");
+                    }
                     return "access-denied";
                 }
-                
+
                 // are we also enforcing global permissions?
-                if (theAction.requiredGlobalPermissionActions() != null 
-                        && !theAction.requiredGlobalPermissionActions().isEmpty()) {
-                    GlobalPermission perm = new GlobalPermission(theAction.requiredGlobalPermissionActions());
+                if (theAction.requiredGlobalPermissionActions() != null
+                        && !theAction.requiredGlobalPermissionActions()
+                                .isEmpty()) {
+                    GlobalPermission perm = new GlobalPermission(
+                            theAction.requiredGlobalPermissionActions());
                     if (!umgr.checkPermission(perm, authenticatedUser)) {
-                        log.debug("DENIED: user does not have permission = " + perm.toString());
+                        if (log.isDebugEnabled()) {
+                            log.debug("DENIED: user does not have permission = "
+                                    + perm.toString());
+                        }
                         return "access-denied";
                     }
                 }
-                
+
                 // are we requiring a valid action weblog?
                 if (theAction.isWeblogRequired()) {
-                    
-                    Weblog actionWeblog = ((UIAction)theAction).getActionWeblog();
-                    if(actionWeblog == null) {
-                        log.debug("DENIED: required action weblog not found");
+
+                    Weblog actionWeblog = ((UIAction) theAction)
+                            .getActionWeblog();
+                    if (actionWeblog == null) {
+                        if (log.isDebugEnabled()) {
+                            log.debug("DENIED: required action weblog not found");
+                        }
                         return "access-denied";
                     }
-                    
+
                     // are we also enforcing a specific weblog permission?
-                    if (theAction.requiredWeblogPermissionActions() != null 
-                            && !theAction.requiredWeblogPermissionActions().isEmpty()) {                        
+                    if (theAction.requiredWeblogPermissionActions() != null
+                            && !theAction.requiredWeblogPermissionActions()
+                                    .isEmpty()) {
                         WeblogPermission required = new WeblogPermission(
-                                actionWeblog,  
+                                actionWeblog,
                                 theAction.requiredWeblogPermissionActions());
-                        
+
                         if (!umgr.checkPermission(required, authenticatedUser)) {
-                            log.debug("DENIED: user does not have required weblog permissions = "+required);
+                            if (log.isDebugEnabled()) {
+                                log.debug("DENIED: user does not have required weblog permissions = "
+                                        + required);
+                            }
                             return "access-denied";
                         }
                     }
                 }
-                
+
             }
-            
+
         }
-        
+
         return invocation.invoke();
     }
-    
+
 }

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/I18nMessages.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/I18nMessages.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/I18nMessages.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/I18nMessages.java Sun Jun  8 20:23:32 2014
@@ -107,7 +107,7 @@ public final class I18nMessages {
     /**
      * The locale representing this message utils.
      */
-    public final Locale getLocale() {
+    public Locale getLocale() {
         return this.locale;
     }
     
@@ -115,7 +115,7 @@ public final class I18nMessages {
     /**
      * Get a message from the bundle.
      */
-    public final String getString(String key) {
+    public String getString(String key) {
         
         try {
             return bundle.getString(key);
@@ -131,7 +131,7 @@ public final class I18nMessages {
      * Get a message from the bundle and substitute the given args into
      * the message contents.
      */
-    public final String getString(String key, List args) {
+    public String getString(String key, List args) {
         
         try {
             String msg = bundle.getString(key);
@@ -148,7 +148,7 @@ public final class I18nMessages {
      * Get a message from the bundle and substitute the given args into
      * the message contents.
      */
-    public final String getString(String key, Object[] args) {
+    public String getString(String key, Object[] args) {
         
         try {
             String msg = bundle.getString(key);

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheHandler.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheHandler.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheHandler.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheHandler.java Sun Jun  8 20:23:32 2014
@@ -21,7 +21,6 @@ package org.apache.roller.weblogger.util
 import org.apache.roller.weblogger.pojos.WeblogBookmark;
 import org.apache.roller.weblogger.pojos.WeblogEntryComment;
 import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder;
-import org.apache.roller.weblogger.pojos.WeblogReferrer;
 import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.pojos.WeblogCategory;
 import org.apache.roller.weblogger.pojos.WeblogEntry;
@@ -50,8 +49,6 @@ public interface CacheHandler {
 
     void invalidate(WeblogEntryComment comment);
 
-    void invalidate(WeblogReferrer referer);
-
     void invalidate(User user);
 
     void invalidate(WeblogCategory category);

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java Sun Jun  8 20:23:32 2014
@@ -28,7 +28,6 @@ import org.apache.roller.weblogger.confi
 import org.apache.roller.weblogger.pojos.WeblogBookmark;
 import org.apache.roller.weblogger.pojos.WeblogEntryComment;
 import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder;
-import org.apache.roller.weblogger.pojos.WeblogReferrer;
 import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.pojos.WeblogCategory;
 import org.apache.roller.weblogger.pojos.WeblogEntry;
@@ -254,19 +253,6 @@ public final class CacheManager {
     }
     
     
-    public static void invalidate(WeblogReferrer referer) {
-        
-        log.debug("invalidating referer = "+referer.getId());
-        
-        // NOTE: Invalidating an entire website for each referer is not
-        //       good for our caching.  This may need reevaluation later.
-        //lastExpiredCache.put(referer.getWebsite().getHandle(), new Date());
-        for (CacheHandler handler : cacheHandlers) {
-            handler.invalidate(referer);
-        }
-    }
-    
-    
     public static void invalidate(User user) {
         
         log.debug("invalidating user = "+user.getUserName());

Propchange: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/
------------------------------------------------------------------------------
  Merged /roller/trunk/app/src/main/java/org/apache/roller/weblogger/webservices:r1588767-1601252

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/MediaCollection.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/MediaCollection.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/MediaCollection.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/MediaCollection.java Sun Jun  8 20:23:32 2014
@@ -123,7 +123,7 @@ public class MediaCollection {
                     }
 
                     MediaFileDirectory mdir =
-                        fileMgr.getMediaFileDirectoryByPath(website, justPath);
+                        fileMgr.getMediaFileDirectoryByName(website, justPath);
 
                     if (mdir.hasMediaFile(fileName)) {
                         throw new AtomException("Duplicate file name");
@@ -279,13 +279,13 @@ public class MediaCollection {
             feed.setAlternateLinks(Collections.singletonList(link));
 
             MediaFileManager fmgr = roller.getMediaFileManager();
-            MediaFileDirectory dir = null;
+            MediaFileDirectory dir;
             if (StringUtils.isNotEmpty(path)) {
-                log.debug("Fetching resource collection from weblog " + handle + " at path: " + path);
-                dir = fmgr.getMediaFileDirectoryByPath(website, path);
+                log.debug("Fetching resource collection from weblog " + handle + " in folder: " + path);
+                dir = fmgr.getMediaFileDirectoryByName(website, path);
             } else {
                 log.debug("Fetching root resource collection from weblog " + handle);
-                dir = fmgr.getMediaFileRootDirectory(website);
+                dir = fmgr.getDefaultMediaFileDirectory(website);
             }
             Set<MediaFile> files = dir.getMediaFiles();
 
@@ -570,7 +570,7 @@ public class MediaCollection {
             throw new IllegalArgumentException("contentType cannot be null");
         }
         
-        String fileName = null;
+        String fileName;
         
         // Determine the extension based on the contentType. This is a hack.
         // The info we need to map from contentType to file extension is in 

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java Sun Jun  8 20:23:32 2014
@@ -116,8 +116,8 @@ public class RollerAtomService extends A
                     List<MediaFileDirectory> dirs = mgr.getMediaFileDirectories(weblog);
                     for (MediaFileDirectory dir : dirs) {
                         Collection uploadSubCol = new Collection(
-                            "Media Files: " + dir.getPath(), "text",
-                            atomURL + "/" + weblog.getHandle() + "/resources/" + dir.getPath());
+                            "Media Files: " + dir.getName(), "text",
+                            atomURL + "/" + weblog.getHandle() + "/resources/" + dir.getName());
                         uploadSubCol.setAccepts(uploadAccepts);
                         workspace.addCollection(uploadSubCol);
                     }
@@ -133,17 +133,19 @@ public class RollerAtomService extends A
      * Build accept range by taking things that appear to be content-type rules 
      * from site's file-upload allowed extensions.
      */
-    private List getAcceptedContentTypeRange() throws WebloggerException {
-        List accepts = new ArrayList();
+    private List<String> getAcceptedContentTypeRange() throws WebloggerException {
+        List<String> accepts = new ArrayList<String>();
         Weblogger roller = WebloggerFactory.getWeblogger();
         Map config = roller.getPropertiesManager().getProperties();        
         String allows = ((RuntimeConfigProperty)config.get("uploads.types.allowed")).getValue();
         String[] rules = StringUtils.split(StringUtils.deleteWhitespace(allows), ",");
-        for (int i = 0; i < rules.length; i++) {
-            if (rules[i].indexOf('/') == -1) {
-                continue;
+        if (rules != null) {
+            for (String rule : rules) {
+                if (rule.indexOf('/') == -1) {
+                    continue;
+                }
+                accepts.add(rule);
             }
-            accepts.add(rules[i]);
         }
         return accepts;             
     }      

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java Sun Jun  8 20:23:32 2014
@@ -378,7 +378,7 @@ public class MetaWeblogAPIHandler extend
             
             Weblogger roller = WebloggerFactory.getWeblogger();
             MediaFileManager fmgr = roller.getMediaFileManager();
-            MediaFileDirectory root = fmgr.getMediaFileRootDirectory(website);
+            MediaFileDirectory root = fmgr.getDefaultMediaFileDirectory(website);
  
             // Try to save file
             MediaFile mf = new MediaFile();

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources.properties Sun Jun  8 20:23:32 2014
@@ -59,6 +59,7 @@ Bookmark.error.priorityNotInt=Priority m
 Bookmark.error.imageBad=The image URL you entered is not valid
 Bookmark.error.feedUrlBad=The feed URL you entered is not valid
 bookmarkForm.error.duplicateName=Bookmark with that name already exists in folder
+bookmarkForm.error.saving=Error saving new bookmark
 
 
 # ----------------------------------------------------------- BookmarksForm.jsp
@@ -96,7 +97,7 @@ bookmarksForm.priority=Priority
 bookmarksForm.edit=Edit
 bookmarksForm.edit.tip=Click to modify this bookmark
 bookmarksForm.folder.edit.tip=Click to edit folder
-bookmarksForm.move=Move Selected To\:
+bookmarksForm.move=Move selected to:
 bookmarksForm.move.confirm=Move selected bookmarks?
 bookmarksForm.name=Name
 bookmarksForm.path=Folder
@@ -159,6 +160,7 @@ categoryForm.created=Category created
 categoryForm.changesSaved=Changes saved
 
 categoryForm.error.duplicateName=The category name ''{0}'' is already in use, you will need to choose another
+categoryForm.error.saving=Error saving new category
 
 # errors from validation
 Category.error.nameNull=Name is a required field
@@ -420,6 +422,10 @@ configForm.themeSettings=Theme Settings
 configForm.newUserThemes=Themes Directory
 configForm.allowCustomTheme=Allow Custom Themes?
 
+configForm.webAnalytics=Web Analytics
+configForm.defaultAnalyticsTrackingCode=Default tracking code
+configForm.allowAnalyticsCodeOverride=Allow individual blogs to override?
+
 configForm.save=Save
 configForm.rebuildIndex=Rebuild Search Index (All Users)
 
@@ -467,6 +473,8 @@ createWebsite.button.cancel=Cancel
 
 createWebsite.created=New weblog [{0}] has been successfully created.
 
+createWebsite.oneBlogLimit=Sorry, only one weblog per user is allowed.
+
 # errors from validation
 CreateWeblog.error.handleNull=Handle is a required field
 CreateWeblog.error.handleSize=Handle cannot be more than 255 characters
@@ -642,6 +650,9 @@ folderForm.save=Save
 folderForm.cancel=Cancel
 folderForm.description=Description
 
+folderForm.add.success=Folder added
+folderForm.update.success=Folder updated
+
 folderForm.save.exception=ERROR saving folder, perhaps name is not unique? \
 The error message is: {0}
 
@@ -759,6 +770,8 @@ inviteMember.notificationContent=You hav
 Click the following link and login as user [{2}] to accept or decline this \
 invitation <{3}>.
 
+inviteMember.disabled=invitations disabled
+
 # ------------------------------------------------------------------- Installer
 
 installer.bannerTitleLeft=Apache Roller Weblogger
@@ -968,6 +981,7 @@ maintenance.prompt.flush=Flush the page 
 maintenance.button.flush=Flush Cache
 maintenance.message.indexed=Successfully scheduled search index rebuild for your \
 Roller weblog
+maintenance.message.indexed.failure=Error rebuilding search index - check system logs
 maintenance.message.flushed=Successfully flushed the page cache of your \
 Roller weblog
 
@@ -980,9 +994,8 @@ mediaFileImageChooser.title=Choose an im
 mediaFileImageChooser.subtitle=Choose an image
 mediaFileImageChooser.rootPageTip=Click to choose an image or click on a \
 directory to enter it.
-mediaFileImageChooser.dirPageTip=Click to choose an image or click on a \
-directory to enter it. Use breadcrumb links above to return to a previous \
-directory.
+mediaFileImageChooser.dirPageTip=Click to choose an image or use the Switch to Folder \
+drop-down to move to another directory.
 
 
 # -- Media File Add
@@ -995,7 +1008,7 @@ mediaFileAdd.name=Name
 mediaFileAdd.description=Description
 mediaFileAdd.tags=Tags (space separated)
 mediaFileAdd.copyright=Copyright statement
-mediaFileAdd.directory=Directory
+mediaFileAdd.directory=Folder
 mediaFileAdd.includeGallery=Include in Gallery?
 mediaFileAdd.upload=Upload
 mediaFileAdd.multipleNames=(Multiple names)
@@ -1045,7 +1058,7 @@ mediaFileEdit.name=Name
 mediaFileEdit.description=Description
 mediaFileEdit.tags=Tags (space separated)
 mediaFileEdit.copyright=Copyright statement
-mediaFileEdit.directory=Directory
+mediaFileEdit.directory=Folder
 mediaFileEdit.save=Save
 mediaFileEdit.cancel=Cancel
 mediaFileEdit.fileInfo=File info
@@ -1067,23 +1080,26 @@ mediaFileEdit.includesEnclosure=This web
 # -- Media File View
 
 mediaFileView.title=Media Files
-mediaFileView.subtitle=Media Files in weblog {0}
+mediaFileView.subtitle=Media Files in weblog <span>{0}</span>
 mediaFileView.rootPageTip=\
 This page shows the media files that you have uploaded as well as files \
-copied in when you chose to customize a theme. You can use directories \
+copied in when you chose to customize a theme. You can use folders \
 to organize your files, and you do not have to worry about "breaking \
 URLs" when you move or rename files.
 mediaFileView.dirPageTip=\
-This is a media-file directory. You can return to the main directory \
-by clicking the ''root'' link above.
+This is a media file folder. You can return to the default folder \
+by using the Switch to Folder drop-down below.
+
+mediaFileView.viewFolder=Switch to Folder
 
 mediaFileView.tabular=Tabular
 mediaFileView.hierarchical=Hierarchical
 mediaFileView.sortby=Sort by:
 
 mediaFileView.deleteSelected=Delete selected
-mediaFileView.moveSelected=Move selected
-
+mediaFileView.moveSelected=Move selected to:
+mediaFileView.toggleSelected=Select all/none
+mediaFileView.deleteFolder=Delete folder
 mediaFileView.delete=Delete
 mediaFileView.createPost=Create Post
 mediaFileView.includeInGallery=Include in Gallery
@@ -1101,7 +1117,7 @@ mediaFileView.others=Others
 mediaFileView.kb=KB
 mediaFileView.mb=MB
 mediaFileView.bytes=Bytes
-mediaFileView.name=Name
+mediaFileView.name=Folder
 mediaFileView.date=Date
 mediaFileView.type=Type
 mediaFileView.size=Size
@@ -1109,7 +1125,7 @@ mediaFileView.tags=Tags
 mediaFileView.addMediaFile=Add Media File
 mediaFileView.actions=Actions
 
-mediaFileView.addDirectory=Add New Directory
+mediaFileView.addDirectory=Add New Folder
 mediaFileView.directoryName=Name:
 mediaFileView.create=Create
 mediaFileView.search=Search Media Files
@@ -1123,9 +1139,9 @@ mediaFileView.filesOfSize=Files of <b>si
 mediaFileView.filesOfType=Files of type <b>{0}</b>
 mediaFileView.filesTagged=Files with tags <b>{0}</b>
 
-mediaFileView.noFiles=No files in this directory.
+mediaFileView.noFiles=No files in this folder.
 
-mediaFileView.path=Path:
+mediaFileView.folderName=Folder:
 mediaFileView.reset=Reset
 
 
@@ -1138,12 +1154,14 @@ mediaFileSidebar.search=Search Uploaded 
 
 
 mediaFile.search.title=Search media files
-mediaFile.delete.confirm=Delete selected media files and/or directories?
+mediaFile.delete.confirm=Delete selected media files?
 mediaFile.move.confirm=Move selected media files?
 mediaFile.directoryCreate.success=New directory successfully created.
 mediaFile.includeInGallery.success=Media file(s) successfully included in gallery.
 mediaFile.includeInGallery.error=Error including media file {0} in gallery.
 mediaFile.delete.success=Media file(s) successfully deleted.
+mediaFile.deleteFolder.success=Media folder successfully deleted.
+mediaFile.deleteFolder.confirm=Delete entire folder including all its media files?
 mediaFile.delete.error=Error deleting media file {0}.
 mediaFile.delete.errors=Error deleting media files.
 mediaFile.move.success=Media file(s) successfully moved.
@@ -1432,6 +1450,7 @@ pingTarget.auto=Automatic
 pingTarget.manual=Manual
 pingTarget.sendPingNow=Send Ping Now
 pingTarget.saved=Ping target saved.
+pingTarget.saved.error=Error adding ping target.
 
 pingTarget.nameNotUnique=The name of this target conflicts with another one in \
 the same set of targets.
@@ -1579,6 +1598,7 @@ planetGroups.button.delete=Delete
 
 planetGroups.success.deleted=Group successfully deleted
 planetGroups.success.saved=Saved group
+planetGroups.error.saved=Error saving planet group - duplicate?
 
 planetGroups.error.title=Title is required
 planetGroups.error.handle=Handle is required
@@ -1586,27 +1606,6 @@ planetGroups.error.duringSave=Duplicate 
 planetGroups.error.nameReserved=Can''t use handle ''all''
 planetGroups.error.deleting=Error deleting object
 
-# ----------------------------------------------------------------- referers.jsp
-
-referers.todaysReferers=Referrers
-referers.subtitle=Referrer rankings for weblog <span>{0}</span>
-referers.tip=This page tells you where your weblog''s hits are coming from \
-today. Hits with indeterminate referrers, such as those from newsfeed readers \
-and bookmarks are counted as ''direct'' hits. If you are getting referrer spam, \
-use the Preferences:Settings Spam Prevention feature to set ignore words \
-(referrers that contain ignore words will be rejected).
-
-referers.url=Referring URL
-referers.hits=Day Hits
-referers.deleteSelected=Delete Selected
-
-referers.hitCounters=Hits Counted Today
-referers.reset=Reset Hit Count
-
-referers.deletedReferers=Deleted specified referrers
-referers.noReferersSpecified=You did not specify any referrers to delete
-
-
 # ------------------------------------------------------------------ Statistics
 
 statCount.weblogCommentCountType=Weblog comment count
@@ -1636,11 +1635,13 @@ your system administrator to see about e
 stylesheetEdit.create.success=Custom stylesheet created successfully.
 stylesheetEdit.save.success=Stylesheet updated successfully.
 stylesheetEdit.revert.success=Stylesheet reverted successfully.
+stylesheetEdit.revert.failure=Error reverting template - check Roller logs
 stylesheetEdit.default.success=Stylesheet deleted successfully.  Your theme is now using the Shared Theme default.
 stylesheetEdit.default.noStylesheetOverride=Note: clicking the stylesheet tab will \
 recreate your custom override stylesheet again from the theme default.
 
 stylesheetEdit.error.customTheme=Cannot revert stylesheet on custom themes.
+stylesheetEdit.error.cannotFind=Unable to locate stylesheet template
 stylesheetEdit.confirmDelete=Are you sure you want to delete your stylesheet?
 stylesheetEdit.confirmRevert=Are you sure you want to revert your stylesheet to the theme default?
 
@@ -1658,7 +1659,6 @@ tabbedmenu.weblog.categories=Categories
 tabbedmenu.weblog.commentManagement=Comments
 tabbedmenu.bookmarks.allFolders=Blogroll
 tabbedmenu.bookmarks.import=Import
-tabbedmenu.weblog.referers=Referrers
 tabbedmenu.website.files=File Uploads
 
 tabbedmenu.design=Design
@@ -1755,7 +1755,8 @@ Please select the theme you would like t
 
 themeEditor.save=Update Theme
 
-themeEditor.settheme=Successfully set theme to - {0}
+themeEditor.setTheme.success=Successfully set theme to - {0}
+themeEditor.customTheme.disallowed=Sorry, custom themes are not allowed
 
 # ---------------------------------------------------------------------- Uploads
 
@@ -2112,6 +2113,8 @@ weblogEdit.mediaCastResponseError=The en
 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
+weblogEdit.error.saving=Error saving new entry
+
 
 # errors from validation
 Entry.error.titleNull=Title is a required field
@@ -2256,7 +2259,6 @@ weblogMain.search=Search
 weblogMain.navigation=Navigation
 weblogMain.links=Links
 weblogMain.language=Language
-weblogMain.referers=Referrers
 weblogMain.archives=Archives
 weblogMain.poweredBy=Powered By
 
@@ -2264,8 +2266,8 @@ weblogMain.poweredBy=Powered By
 
 websiteSettings.title=Weblog Settings
 websiteSettings.subtitle=Manage settings for weblog <span>{0}</span>
-websiteSettings.tip=Change weblog title, description, comment and referrer \
-spam prevention settings.
+websiteSettings.tip=Change weblog title, description, comment and spam prevention settings.
+
 
 # --- General settings
 
@@ -2321,6 +2323,7 @@ websiteSettings.bloggerApiCategory=Categ
 websiteSettings.formatting=Formatting
 websiteSettings.autoformat=Autoformat new entries?
 
+
 # --- Spam prevention
 
 websiteSettings.spamPrevention=Spam Prevention
@@ -2331,6 +2334,10 @@ websiteSettings.error.processingBlacklis
 websiteSettings.error.sameTemplate=CHANGES REJECTED: cannot set default page \
 template and day template to same template
 
+# --- web analytics
+
+websiteSettings.analyticsTrackingCode=Tracking code
+
 # --- Buttons
 
 websiteSettings.savedChanges=Saved changes to weblog settings
@@ -2369,6 +2376,7 @@ websiteSettings.label2=(applied in the l
 WeblogConfig.error.nameNull=Name is a required field
 WeblogConfig.error.nameSize=Name cannot be more than 255 characters
 WeblogConfig.error.descriptionSize=Description cannot be more than 255 characters
+WeblogConfig.error.analyticsCodeSize=Analytics tracking key(s) cannot be more than 1200 characters
 
 
 # ------------------------------------------------------------- Welcome new user
@@ -2465,6 +2473,9 @@ yourWebsites.todaysHits=Today''s hits:
 
 # ---------------------------------------------------------------- Activating User Account with E-mail
 
+createUser.add.success=User {0} created.  If desired, create another new user below or \
+select Cancel to return to User Administration
+
 error.add.user.mailSendException=ERROR sending email, is your address valid?
 error.add.user.mailSetupException=ERROR in email configuration, contact Roller administrator
 error.add.user.activationCodeInUse=\

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_de.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_de.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_de.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_de.properties Sun Jun  8 20:23:32 2014
@@ -915,16 +915,6 @@ planetSubscriptions.subtitle.edit=Bearbe
 planetSubscriptions.title=Abonnements
 planetSubscriptions.titleGroup=Abonnements [{0}]
 planetSubscriptions.unconfigured=Planet Roller wurde noch nicht konfiguriert
-referers.deleteSelected=Gew\u00E4hlte Eintr\u00E4ge l\u00F6schen
-referers.deletedReferers=Referenzierte URLs wurden gel\u00F6scht
-referers.hitCounters=Hit Z\u00E4hler
-referers.hits=Tages Hits
-referers.noReferersSpecified=Sie haben keine referenzierenden URLs zum L\u00F6schen angegeben
-referers.reset=Hit Z\u00E4hler zur\u00FCcksetzen
-referers.subtitle=Referrer Rangliste des Weblogs <span>{0}</span>
-referers.tip=Diese Seite verr\u00E4t Ihnen, woher die heutigen Weblog-Aufrufe kommen. Aufrufe von unbestimmten Referrern, wie Newsreadern und Lesezeichen, werden als direkte Hits gez\u00E4hlt. Falls Sie Referrer Spam erhalten, nutzen Sie bitte in den Einstellungen die Liste der zu ignorierenden URLs.
-referers.todaysReferers=Heutige Referrer Rangliste
-referers.url=Referenz URL
 search.title=Suchergebnisse
 searchForm.alert=Bitte tragen sie einen Suchbegriff ein um fortzufahren.
 searchForm.button=Suche
@@ -974,7 +964,6 @@ tabbedmenu.weblog.flushCache=Cache erneu
 tabbedmenu.weblog.import=Import
 tabbedmenu.weblog.newEntry=Neuer Eintrag
 tabbedmenu.weblog.pingSetup=Pings
-tabbedmenu.weblog.referers=Referenz URLs
 tabbedmenu.website=Webseite
 tabbedmenu.website.files=Dateien
 tabbedmenu.website.inviteMember=Mitglied einladen
@@ -1325,7 +1314,6 @@ weblogMain.language=Sprache
 weblogMain.links=Links
 weblogMain.navigation=Navigation
 weblogMain.poweredBy=Powered by
-weblogMain.referers=Referenzierte URLs
 weblogMain.search=Suche
 websiteRemove.subtitle=Weblogl\u00F6schung ist <b>NICHT UMKEHRBAR</b>
 websiteRemove.title=Weblogl\u00F6schung best\u00E4tigen

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_es.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_es.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_es.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_es.properties Sun Jun  8 20:23:32 2014
@@ -98,7 +98,6 @@ comments.disabled = Los comentarios han 
 comments.mathAuthenticatorQuestion = Por favor, responda a esta simple pregunta matem\u00E1tica
 error.commentAuthFailed = \u00A1Fall\u00F3 la autenticaci\u00F3n del comentario\!
 comments.preview.title = Comentario
-comments.preview = VISTA PREVIA
 comments.preview.edit = Editar su comentario
 comments.postedBy = Enviado por
 comments.at = a las
@@ -638,16 +637,6 @@ planetGroups.error.handle = El nombre es
 planetGroups.error.duringSave = \u00BFGrupo duplicado? - {0}
 planetGroups.error.nameReserved = No se puede utilizar el nombre 'all' o 'external'
 planetGroups.error.deleting = Error borrando objeto
-referers.todaysReferers = Remitentes
-referers.subtitle = Rankings de remitentes para el weblog <span>{0}</span>
-referers.tip = Esta p\u00E1gina le dice de d\u00F3nde vienen las visitas de hoy a su weblog. Las visitas con remitentes indeterminados, como las de los lectores de noticias y marcadores son computadas como visitas "directas". Si est\u00E1 teniendo spam, use la Configuraci\u00F3n de la prevenci\u00F3n de spam para ignorar palabras (los remitentes que contengan esas palabras ser\u00E1n rechazados).
-referers.url = URL del remitente
-referers.hits = Visitas al d\u00EDa
-referers.deleteSelected = Eliminar seleccionados
-referers.hitCounters = Visitas contadas hoy
-referers.reset = Poner a cero el contador de visitas
-referers.deletedReferers = Eliminar remitentes especificados
-referers.noReferersSpecified = No especific\u00F3 ning\u00FAn remitente para eliminar
 cacheInfo.title = Informaci\u00F3n de cach\u00E9
 cacheInfo.subtitle = Monitorizar estad\u00EDsticas de cach\u00E9
 cacheInfo.prompt = Esta p\u00E1gina ofrece herramientas de datos sobre lo que est\u00E1 ocurriendo en el sistema de cach\u00E9s.
@@ -662,7 +651,6 @@ tabbedmenu.weblog.categories = Categor\u
 tabbedmenu.weblog.commentManagement = Comentarios
 tabbedmenu.bookmarks.allFolders = Blogroll
 tabbedmenu.bookmarks.import = Importar
-tabbedmenu.weblog.referers = Remitentes
 tabbedmenu.website.files = Carga de ficheros
 tabbedmenu.website = Preferencias
 tabbedmenu.website.settings = Configuraci\u00F3n
@@ -933,7 +921,6 @@ weblogMain.search = Buscar
 weblogMain.navigation = Navegaci\u00F3n
 weblogMain.links = Enlaces
 weblogMain.language = Idioma
-weblogMain.referers = Remitentes
 weblogMain.archives = Archivos
 weblogMain.poweredBy = Hecho con
 websiteSettings.title = Configuraci\u00F3n del Weblog

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_ja_JP.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_ja_JP.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_ja_JP.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_ja_JP.properties Sun Jun  8 20:23:32 2014
@@ -181,7 +181,6 @@ error.commentAuthFailed=\u30B3\u30E1\u30
 # -------------------------------------------------------- comments-preview.jsp
 
 comments.preview.title=\u30B3\u30E1\u30F3\u30C8
-comments.preview=\u30D7\u30EC\u30D3\u30E5\u30FC
 comments.preview.edit=\u30B3\u30E1\u30F3\u30C8\u3092\u7DE8\u96C6\u3059\u308B
 
 # -------------------------------------------------------- comments-display.jsp
@@ -1043,28 +1042,6 @@ planetGroups.error.duringSave=Duplicate 
 planetGroups.error.nameReserved=\u300Call\u300D\u306A\u3044\u3057\u300Cexternal\u300D\u306F\u30B7\u30B9\u30C6\u30E0\u304C\u4E88\u7D04\u3057\u3066\u3044\u308B\u305F\u3081\u9078\u629E\u3067\u304D\u307E\u305B\u3093\u3002
 planetGroups.error.deleting=Error deleting object
 
-# ----------------------------------------------------------------- referers.jsp
-
-referers.todaysReferers=\u672C\u65E5\u306E\u30EA\u30D5\u30A1\u30E9
-referers.subtitle=<span>{0}</span>\u306E\u672C\u65E5\u306E\u30EA\u30D5\u30A1\u30E9\u30E9\u30F3\u30AD\u30F3\u30B0\u3067\u3059
-referers.tip=\u3053\u306E\u30DA\u30FC\u30B8\u3067\u306F\u4ECA\u65E5\u306E\u30D2\u30C3\u30C8\u6570\u3092\u30EA\u30D5\u30A1\u30E9(\u53C2\u7167\u5143\u30DA\u30FC\u30B8)\u5225\u306B\
-\u5217\u6319\u3057\u3066\u3044\u307E\u3059\u3002direct\u3068\u3042\u308B\u306E\u306F\u30D5\u30A3\u30FC\u30C9\u3084\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u304B\u3089\u98DB\u3093\u3067\u304D\u305F\u3082\u306E\u3067\u3059\u3002\
-\u7279\u5B9A\u306E\u30EA\u30D5\u30A1\u30E9\u3092\u524A\u9664\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002<br />\
-\u305F\u3060\u3001\u30EA\u30D5\u30A1\u30E9\u306B\u306F\u30B9\u30D1\u30E0\u3068\u306A\u308B\u3082\u306E\u3082\u3042\u308A\u307E\u3059\u3002Roller\u306B\u306F\u7279\u5B9A\u306E\u6587\u5B57\u5217\u3092\
-\u542B\u3093\u3060\u30EA\u30D5\u30A1\u30E9\u3092\u5F3E\u304F\u6A5F\u80FD\u3082\u3042\u308A\u307E\u3059\u3002\
-\u3053\u308C\u306F\u300C\u30D6\u30ED\u30B0\u8A2D\u5B9A\uFF1E\u4E00\u822C\u300D\u306E\u30B9\u30D1\u30E0\u9805\u76EE\u3067\u8A2D\u5B9A\u3067\u304D\u307E\u3059\u3002
-
-referers.url=\u30EA\u30D5\u30A1\u30E9URL
-referers.hits=\u672C\u65E5\u306E\u30D2\u30C3\u30C8\u6570
-referers.deleteSelected=\u9078\u629E\u3057\u305F\u30EA\u30D5\u30A1\u30E9\u3092\u3092\u524A\u9664
-
-referers.hitCounters=\u672C\u65E5\u306E\u7DCF\u30D2\u30C3\u30C8\u6570
-referers.reset=\u30D2\u30C3\u30C8\u6570\u306E\u30EA\u30BB\u30C3\u30C8
-
-referers.deletedReferers=\u6307\u5B9A\u3057\u305F\u30EA\u30D5\u30A1\u30E9\u3092\u524A\u9664
-referers.noReferersSpecified=\u6307\u5B9A\u3057\u305F\u30EA\u30D5\u30A1\u30E9\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
-
-
 # ------------------------------------------------------------------ Statistics
 
 statCount.weblogCommentCountType=Weblog comment count
@@ -1085,7 +1062,6 @@ tabbedmenu.weblog.categories=\u30AB\u30C
 tabbedmenu.weblog.commentManagement=\u30B3\u30E1\u30F3\u30C8
 tabbedmenu.bookmarks.allFolders=Blogroll
 tabbedmenu.bookmarks.import=\u30A4\u30F3\u30DD\u30FC\u30C8
-tabbedmenu.weblog.referers=\u30EA\u30D5\u30A1\u30E9
 tabbedmenu.website.files=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
 
 tabbedmenu.website=\u30D6\u30ED\u30B0\u8A2D\u5B9A
@@ -1517,7 +1493,6 @@ weblogMain.search=\u691C\u7D22
 weblogMain.navigation=\u30D6\u30ED\u30B0\u30CA\u30D3
 weblogMain.links=\u30EA\u30F3\u30AF
 weblogMain.language=\u8A00\u8A9E
-weblogMain.referers=\u30EA\u30D5\u30A1\u30E9
 weblogMain.archives=\u30A2\u30FC\u30AB\u30A4\u30D6
 weblogMain.poweredBy=Powered By
 

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_nl.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_nl.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_nl.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_nl.properties Sun Jun  8 20:23:32 2014
@@ -153,7 +153,6 @@ comments.disabled=Opmerkingen zijn uitge
 # ------------------------------------------------------------- comments-preview.jsp
 
 comments.preview.title=Opmerking
-comments.preview=CONTROLE
 comments.preview.edit=Wijzig opmerking
 
 # --------------------------------------------------------- Configuration
@@ -347,16 +346,6 @@ folderForm.correctFolder=Corrigeer Favor
 
 folderForm.save.exception=FOUT bij bewaren folder, misschien is de naam niet unique? De foutmelding is : {0}
 
-# ------------------------------------------------------------- referers.jsp
-
-referers.todaysReferers=Referentie Ranglijst van vandaag
-referers.url=Refererende URL
-referers.hits=Dag Hits
-referers.deleteSelected=Verwijder selectie
-
-referers.hitCounters=Hit tellers
-referers.reset=Reset Hit telling
-
 # ------------------------------------------------------------- Search Form
 
 searchForm.button=Zoek
@@ -369,7 +358,6 @@ tabbedmenu.weblog=Weblog
 tabbedmenu.weblog.newEntry=Nieuw bericht
 tabbedmenu.weblog.archives=Archief
 tabbedmenu.weblog.categories=Categori&#235;en
-tabbedmenu.weblog.referers=Referenties
 tabbedmenu.weblog.export=Exporteren
 tabbedmenu.weblog.import=Importeren
 tabbedmenu.weblog.flushCache=Cache legen
@@ -452,7 +440,6 @@ weblogEdit.comment=Opmerking
 weblogEdit.comments=Opmerkingen
 weblogEdit.commentDelete=Verwijder
 weblogEdit.commentSpam=Spam
-weblogEdit.comments=Beheer opmerkingen
 weblogEdit.commenterName=Naam
 weblogEdit.commenterEmail=E-Mail
 weblogEdit.commenterUrl=URL
@@ -564,7 +551,6 @@ weblogMain.search=Zoeken
 weblogMain.navigation=Navigatie
 weblogMain.links=Links
 weblogMain.language=Taalkeuze
-weblogMain.referers=Referenties
 weblogMain.archives=Archief
 weblogMain.poweredBy=Ondersteund door
 
@@ -706,10 +692,6 @@ weblogEdit.trackbackResults = <b>Trackba
 weblogEdit.sendTrackback = Verstuur Trackback
 weblogEdit.pinnedToMain = Vast geprikt op start pagina.
 
-#JJM: added 13 June 2004
-referers.noReferersSpecified = Je hebt geen Referenties geselecteerd om te verwijderen
-referers.deletedReferers = Verwijder geselecteerde Referenties
-
 #JJM: added 23 September 2004
 weblogEntryQuery.filterByStatus = Filter op status
 weblogEntryQuery.filterByCategory = Filter op categorie

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_ru.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_ru.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_ru.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_ru.properties Sun Jun  8 20:23:32 2014
@@ -155,7 +155,6 @@ error.commentAuthFailed=\u041f\u043e\u04
 # --------------------------------------------------------- comments-preview.jsp
 
 comments.preview.title=\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439
-comments.preview=\u041f\u0420\u041e\u0421\u041c\u041e\u0422\u0420
 comments.preview.edit=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439
 
 # --------------------------------------------------------- comments-display.jsp
@@ -845,26 +844,6 @@ planetGroups.error.duringSave=\u0413\u04
 planetGroups.error.nameReserved=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u0432 'all' \u0438\u043b\u0438 'external'
 planetGroups.error.deleting=\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430
 
-# ----------------------------------------------------------------- referers.jsp
-
-referers.todaysReferers=Referrers
-referers.subtitle=\u0420\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Referrer \u0434\u043b\u044f \u0434\u043d\u0435\u0432\u043d\u0438\u043a\u043e\u0432 <span>{0}</span>
-referers.tip=\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u044f \u043f\u043e \u0432\u0430\u0448\u0435\u043c\u0443 \u0434\u043d\u0435\u0432\u043d\u0438\u043a\u0443 \u0437\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c. \
-\u041f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c referrer, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a, \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438 \u0441\u043b\u0443\u0436\u0431\u044b \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439, \
-\u0438\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0432\u0448\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043f\u043e \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0435, \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u043d\u044b \u043a\u0430\u043a '\u043f\u0440\u044f\u043c\u044b\u0435' \u0445\u0438\u0442\u044b. \
-\u0415\u0441\u043b\u0438 \u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 referrer \u0441\u043f\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u043f\u0446\u0438\u044e \u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0421\u043f\u0430\u043c\u0430 (\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u044f:\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438), \
-\u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 (referrers, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0441\u043b\u043e\u0432\u0430, \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u044b).
-
-referers.url=Referring URL
-referers.hits=\u0425\u0438\u0442\u044b \u0437\u0430 \u0434\u0435\u043d\u044c
-referers.deleteSelected=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435
-
-referers.hitCounters=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0445\u0438\u0442\u043e\u0432 \u0437\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f
-referers.reset=\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0445\u0438\u0442\u043e\u0432
-
-referers.deletedReferers=\u0423\u0434\u0430\u043b\u0435\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 referrers
-referers.noReferersSpecified=\u041d\u0438 \u043e\u0434\u0438\u043d referrers \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d
-
 # ------------------------------------------------------------------ Tabbed Menu
 
 tabbedmenu.main=\u0413\u043b\u0430\u0432\u043d\u0430\u044f
@@ -878,7 +857,6 @@ tabbedmenu.weblog.archives=\u0420\u0435\
 tabbedmenu.weblog.categories=\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438
 tabbedmenu.bookmarks.allFolders=\u0417\u0430\u043a\u043b\u0430\u0434\u043a\u0438
 tabbedmenu.bookmarks.import=\u0418\u043c\u043f\u043e\u0440\u0442
-tabbedmenu.weblog.referers=Referrers
 tabbedmenu.website.files=\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432
 
 tabbedmenu.website=\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438
@@ -1163,12 +1141,10 @@ weblogEdit.trackbackResults = <b> Trackb
 weblogEdit.commentSettings=\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438
 weblogEdit.commentDelete=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
 weblogEdit.commentSpam=\u0421\u043f\u0430\u043c
-weblogEdit.comments=\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432
 weblogEdit.commenterName=\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435
 weblogEdit.commenterEmail=E-Mail
 weblogEdit.commenterUrl=\u0430\u0434\u0440\u0435\u0441 (URL) 
 weblogEdit.comment=\u041a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439
-weblogEdit.comments=\u041a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438
 weblogEdit.updateComments=\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438
 weblogEdit.noComments=\u0412\u0445\u043e\u0434 \u0431\u0435\u0437 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432
 weblogEdit.commentCount=\u041d\u043e\u043c\u0435\u0440 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432: 
@@ -1252,15 +1228,12 @@ weblogEntryQuery.section.searchResults =
 weblogEntryQuery.button.query = \u0424\u0438\u043b\u044c\u0442\u0440
 weblogEntryQuery.button.export = \u042d\u043a\u0441\u043f\u043e\u0440\u0442
 
-weblogEntryQuery.section.format=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442
-
 # ------------------------------------------------------------------ Weblog Main
 weblogMain.poweredBy = Powered by
 weblogMain.search = \u041f\u043e\u0438\u0441\u043a
 weblogMain.navigation = \u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f
 weblogMain.links = \u0421\u0432\u044f\u0437\u0438
 weblogMain.language = \u042f\u0437\u044b\u043a
-weblogMain.referers = Referrers
 weblogMain.archives = \u0410\u0440\u0445\u0438\u0432
 # ---------------------------------------------------------------------- Website 
 

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_vi.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_vi.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_vi.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_vi.properties Sun Jun  8 20:23:32 2014
@@ -152,7 +152,6 @@ comments.disabled=L\u1eddi nh\u1eadn x\u
 # ------------------------------------------------------------- comments-preview.jsp
 
 comments.preview.title=Nh\u1eadn x\u00e9t
-comments.preview=XEM TR\u01af\u1edaC
 comments.preview.edit=So\u1ea1n l\u1eddi b\u00ecnh c\u1ee7a b\u1ea1n
 
 # ------------------------------------------------------------- comments-display.jsp
@@ -342,16 +341,6 @@ folderForm.correctFolder=S\u1eeda th\u01
 
 folderForm.save.exception=L\u1ed7i l\u01b0u th\u01b0 m\u1ee5c, c\u00f3 th\u1ec3 do t\u00ean kh\u00f4ng ph\u1ea3i l\u00e0 duy nh\u1ea5t? Th\u00f4ng \u0111i\u1ec7p l\u1ed7i l\u00e0: {0}
 
-# ------------------------------------------------------------- referers.jsp
-
-referers.todaysReferers=B\u1ea3ng s\u1eafp h\u1ea1ng nh\u1eefng ng\u01b0\u1eddi truy c\u1eadp h\u00f4m nay
-referers.url=\u0110\u1ecba ch\u1ec9 URL tham chi\u1ebfu
-referers.hits=S\u1ed1 l\u1ea7n v\u00e0o trong ng\u00e0y
-referers.deleteSelected=X\u00f3a nh\u1eefng th\u1ee9 \u0111\u00e3 l\u1ef1a ch\u1ecdn
-
-referers.hitCounters=B\u1ed9 \u0111\u1ebfm s\u1ed1 l\u1ea7n truy c\u1eadp
-referers.reset=X\u00e1c l\u1eadp l\u1ea1i b\u1ed9 \u0111\u1ebfm
-
 # ------------------------------------------------------------- Search Form
 
 searchForm.button=T\u00ecm ki\u1ebfm
@@ -364,7 +353,6 @@ tabbedmenu.weblog=Weblog
 tabbedmenu.weblog.newEntry=Th\u00eam \u0111\u1ea7u m\u1ee5c
 tabbedmenu.weblog.archives=L\u01b0u tr\u1eef
 tabbedmenu.weblog.categories=H\u1ea1ng m\u1ee5c
-tabbedmenu.weblog.referers=Tham chi\u1ebfu
 tabbedmenu.weblog.export=Xu\u1ea5t kh\u1ea9u
 tabbedmenu.weblog.import=Nh\u1eadp kh\u1ea9u
 tabbedmenu.weblog.flushCache=X\u00f3a s\u1ea1ch cache
@@ -476,7 +464,6 @@ weblogEdit.updateTime=L\u1ea7n c\u1eadp 
 
 weblogEdit.commentDelete=X\u00f3a
 weblogEdit.commentSpam=Spam
-weblogEdit.comments=Qu\u1ea3n l\u00fd c\u00e1c l\u1eddi nh\u1eadn x\u00e9t
 weblogEdit.commenterName=T\u00ean
 weblogEdit.commenterEmail=E-Mail
 weblogEdit.commenterUrl=\u0110\u1ecba ch\u1ec9 URL
@@ -539,7 +526,6 @@ weblogMain.search=T\u00ecm ki\u1ebfm
 weblogMain.navigation=Duy\u1ec7t
 weblogMain.links=Li\u00ean k\u1ebft
 weblogMain.language=Ng\u00f4n ng\u1eef
-weblogMain.referers=Tham chi\u1ebfu
 weblogMain.archives=L\u01b0u tr\u1eef
 weblogMain.poweredBy=\u0110\u01b0\u1ee3c v\u1eadn h\u00e0nh b\u1edfi
 
@@ -697,10 +683,6 @@ newuser.locale=B\u1ea3n \u0111\u1ecba
 weblogEdit.unlimitedCommentDays=kh\u00f4ng h\u1ea1n ch\u1ebf ng\u00e0y
 email.comment.anonymous=M\u1ed9t ng\u01b0\u1eddi d\u00f9ng n\u1eb7c danh vi\u1ebft
 
-referers.noReferersSpecified=B\u1ea1n kh\u00f4ng ch\u1ecdn m\u1ed9t tham chi\u1ebfu n\u00e0o \u0111\u1ec3 x\u00f3a c\u1ea3
-weblogEdit.days7=7 ng\u00e0y
-referers.deletedReferers=\u0110\u00e3 x\u00f3a c\u00e1c tham chi\u1ebfu \u0111\u01b0\u1ee3c ch\u1ecdn
-
 #-----------------------------------------------new key
 
 weblogEntryQuery.filterByStatus=L\u1ecdc theo tr\u1ea1ng th\u00e1i

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_CN.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_CN.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_CN.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_CN.properties Sun Jun  8 20:23:32 2014
@@ -677,18 +677,6 @@ planetSubscriptions.subtitle.edit=\u7f16
 planetSubscriptions.title=\u8ba2\u9605
 planetSubscriptions.titleGroup=\u8ba2\u9605 [{0}]
 planetSubscriptions.unconfigured=Roller\u884c\u661f\u672a\u914d\u7f6e
-referers.deleteSelected=\u5220\u9664\u6240\u9009\u9879
-referers.deletedReferers=\u6307\u5b9a\u7684\u5f15\u7528\u5df2\u7ecf\u5220\u9664
-referers.hitCounters=\u70b9\u51fb\u8ba1\u6570\u5668
-referers.hits=\u65e5\u70b9\u51fb
-# additions 20040615
-referers.noReferersSpecified=\u60a8\u6ca1\u6709\u6307\u5b9a\u8981\u5220\u9664\u7684\u5f15\u7528
-referers.reset=\u70b9\u51fb\u8ba1\u6570\u5f52\u96f6
-referers.subtitle=\u7f51\u5fd7 <span>{0}</span> \u7684\u53c2\u8003\u7b49\u7ea7
-referers.tip=\u672c\u9875\u544a\u8bc9\u60a8\u4eca\u5929\u60a8\u7684\u7f51\u5fd7\u7684\u70b9\u51fb\u6765\u81ea\u4f55\u65b9\u3002\u70b9\u51fb\u6570\u542b\u6709\u4e0d\u786e\u5b9a\u56e0\u7d20\uff0c\u4f8b\u5982\u6709\u4e9b\u6765\u81ea\u65b0\u95fb\u8ba2\u9605\u548c\u4e66\u7b7e\u7684\u70b9\u51fb\u88ab\u770b\u4f5c\u662f'direct'\u70b9\u51fb\u3002\u5982\u679c\u60a8\u83b7\u5f97\u4e86\u4e00\u4e9b\u5783\u573e\u4fe1\u606f\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u4e2a\u6027\u5b9a\u5236\uff1a\u8bbe\u7f6e\u9632\u6b62\u5783\u573e\u8bc4\u8bba\u6765\u5ffd\u7565\u67d0\u4e9b\u8bcd\uff08\u542b\u6709\u5783\u573e\u8bcd\u6c47\u7684\u8bc4\u8bba\u5c06\u88ab\u62d2\u7edd\uff09\u3002
-referers.todaysReferers=\u4eca\u5929\u7684\u5f15\u7528\u6392\u540d
-referers.url=\u5f15\u7528\u7684URL
-rror.add.user.missingUserName=\u8bf7\u8f93\u5165\u7528\u6237\u540d.
 search.title=\u641c\u7d22\u7ed3\u679c
 searchForm.alert=\u8bf7\u8f93\u5165\u5173\u952e\u8bcd\u5e76\u641c\u7d22\u3002
 searchForm.button=\u641c\u7d22
@@ -720,7 +708,6 @@ tabbedmenu.weblog.flushCache=\u540c\u6b6
 tabbedmenu.weblog.import=\u5bfc\u5165
 tabbedmenu.weblog.newEntry=\u64b0\u5199\u65b0\u65e5\u5fd7
 tabbedmenu.weblog.pingSetup=Pings
-tabbedmenu.weblog.referers=\u5f15\u7528
 tabbedmenu.website=\u4e2a\u6027\u5b9a\u5236
 tabbedmenu.website.files=\u6587\u4ef6\u4e0a\u4f20
 tabbedmenu.website.inviteMember=\u9080\u8bf7\u6210\u5458
@@ -1007,7 +994,6 @@ weblogMain.language=\u8bed\u8a00
 weblogMain.links=\u94fe\u63a5
 weblogMain.navigation=\u5bfc\u822a
 weblogMain.poweredBy=\u7a0b\u5e8f\u652f\u6301
-weblogMain.referers=\u5f15\u7528
 weblogMain.search=\u641c\u7d22
 websiteRemove.subtitle=\u7f51\u5fd7\u4e00\u65e6\u5220\u9664\u662f<b>\u4e0d\u53ef\u6062\u590d\u7684</b>
 websiteRemove.title=\u786e\u8ba4\u7f51\u5fd7\u5220\u9664

Modified: roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_TW.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_TW.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_TW.properties (original)
+++ roller/branches/rome2/app/src/main/resources/ApplicationResources_zh_TW.properties Sun Jun  8 20:23:32 2014
@@ -153,7 +153,6 @@ comments.disabled=\u8ff4\u97ff\u529f\u80
 # ------------------------------------------------------------- comments-preview.jsp
 
 comments.preview.title=\u8ff4\u97ff
-comments.preview=\u9810\u89bd
 comments.preview.edit=\u7de8\u8f2f\u60a8\u7684\u8ff4\u97ff
 
 # ------------------------------------------------------------- comments-display.jsp
@@ -366,19 +365,6 @@ folderForm.correctFolder=\u66f4\u6b63\u7
 
 folderForm.save.exception=\u5132\u5b58\u8cc7\u6599\u593e\u932f\u8aa4\uff0c\u4e5f\u8a31\u540d\u7a31\u4e26\u975e\u552f\u4e00? \u932f\u8aa4\u8a0a\u606f\u70ba: {0}
 
-# ------------------------------------------------------------- referers.jsp
-
-referers.todaysReferers=\u4eca\u65e5\u8a2a\u5ba2\u6392\u540d
-referers.url=\u4eba\u5f9e\u54ea\u5152\u4f86URL
-referers.hits=\u65e5\u9ede\u64ca\u6578
-referers.deleteSelected=\u522a\u9664\u5df2\u9078\u53d6
-
-referers.hitCounters=\u9ede\u64ca\u7d00\u9304\u5668
-referers.reset=\u91cd\u7f6e\u9ede\u64ca\u8a08\u6578
-
-referers.deletedReferers=\u522a\u9664\u6307\u5b9a\u8a2a\u5ba2
-referers.noReferersSpecified=\u60a8\u5c1a\u672a\u6307\u5b9a\u8981\u522a\u9664\u7684\u8a2a\u5ba2
-
 # ------------------------------------------------------------- Search Form
 
 searchForm.button=\u641c\u5c0b
@@ -391,7 +377,6 @@ tabbedmenu.weblog=\u7db2\u8a8c
 tabbedmenu.weblog.newEntry=\u65b0\u6587\u7ae0
 tabbedmenu.weblog.archives=\u5f59\u6574
 tabbedmenu.weblog.categories=\u985e\u5225
-tabbedmenu.weblog.referers=\u4eba\u5f9e\u54ea\u5152\u4f86
 tabbedmenu.weblog.export=\u532f\u51fa
 tabbedmenu.weblog.import=\u532f\u5165
 tabbedmenu.weblog.flushCache=\u5237\u65b0\u5feb\u53d6
@@ -535,12 +520,10 @@ weblogEdit.trackbackResults=<b>\u5f15\u7
 weblogEdit.commentSettings=\u8ff4\u97ff\u8a2d\u5b9a
 weblogEdit.commentDelete=\u522a\u9664
 weblogEdit.commentSpam=\u5783\u573e\u8ff4\u97ff
-weblogEdit.comments=\u7ba1\u7406\u8ff4\u97ff
 weblogEdit.commenterName=\u59d3\u540d
 weblogEdit.commenterEmail=E-Mail
 weblogEdit.commenterUrl=URL
 weblogEdit.comment=\u8ff4\u97ff
-weblogEdit.comments=\u8ff4\u97ff
 weblogEdit.updateComments=\u66f4\u65b0\u8ff4\u97ff
 weblogEdit.noComments=\u6b64\u6587\u5c1a\u7121\u8ff4\u97ff
 weblogEdit.commentCount=\u8ff4\u97ff\u6578\u91cf: 
@@ -608,7 +591,6 @@ weblogMain.search=\u641c\u5c0b
 weblogMain.navigation=\u5c0e\u89bd
 weblogMain.links=\u9023\u7d50
 weblogMain.language=\u8a9e\u8a00
-weblogMain.referers=\u4eba\u5f9e\u54ea\u5152\u4f86
 weblogMain.archives=\u5f59\u7e3d
 weblogMain.poweredBy=Powered By
 

Modified: roller/branches/rome2/app/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/META-INF/persistence.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/META-INF/persistence.xml (original)
+++ roller/branches/rome2/app/src/main/resources/META-INF/persistence.xml Sun Jun  8 20:23:32 2014
@@ -15,7 +15,6 @@
     <mapping-file>org/apache/roller/weblogger/pojos/WeblogHitCount.orm.xml</mapping-file>
     <mapping-file>org/apache/roller/weblogger/pojos/PingQueueEntry.orm.xml</mapping-file>
     <mapping-file>org/apache/roller/weblogger/pojos/PingTarget.orm.xml</mapping-file>
-    <mapping-file>org/apache/roller/weblogger/pojos/WeblogReferrer.orm.xml</mapping-file>
     <mapping-file>org/apache/roller/weblogger/pojos/UserRole.orm.xml</mapping-file>
     <mapping-file>org/apache/roller/weblogger/pojos/RuntimeConfigProperty.orm.xml</mapping-file>
     <mapping-file>org/apache/roller/weblogger/pojos/TaskLock.orm.xml</mapping-file>

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/roller.properties
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/roller.properties?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/roller.properties (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/roller.properties Sun Jun  8 20:23:32 2014
@@ -201,7 +201,7 @@ site.blacklist.enable.comments=true
 site.blacklist.enable.trackbacks=true
 
 # enables partial blacklist check (not including blacklist.txt) for each incoming referrer
-site.blacklist.enable.referrers=true
+site.blacklist.enable.referrers=false
 
 # Trackback protection. Set this only if you need to limit the URLs to
 # which users may send trackbacks. Regex expressions are allowed, for example:
@@ -223,32 +223,6 @@ org.apache.roller.weblogger.planet.busin
 # Planet Cache directory - See DiskFeedInfoCache
 cache.dir=${user.home}/roller_data/planet-cache
 
-#----------------------------------
-# referrer processing
-
-# Built-in referrer processing disabled by default, to save memory and processing
-# demands.  Also, most bloggers interested in this information would use detailed
-# third-party referrer reporting tools such as Google Analytics which do not require
-# Roller to capture this data.   If you enable, be sure to add TurnoverReferersTask to
-# below tasks.enabled property to reset the referrer counts on a daily or as
-# desired basis.
-referrers.processing.enabled=false
-
-# Change to true if you want to process referrers asynchronously.
-# You can choose how many threads to use and sleep time (in seconds) 
-referrers.asyncProcessing.enabled=false
-referrers.queue.numWorkers=3
-referrers.queue.sleepTime=10
-
-# Robot check in referral processing.  If this pattern is set and the User-Agent 
-# in the request matches this pattern, all referral processing is skipped; this
-# means that the referral spam check is skipped, the request is allowed to 
-# proceed, but the referrer is not recorded and hit count is not incremented.  
-# Recommended for large sites that get a lot of legitimate crawler bot traffic.
-# The pattern here is a suggestion that has been reported to work well.
-#referrer.robotCheck.userAgentPattern=.*(slurp|bot|java).*
-
-
 #-----------------------------------------------------------------------------
 # Scheduled tasks configuration
 #-----------------------------------------------------------------------------
@@ -278,12 +252,6 @@ tasks.ResetHitCountsTask.startTime=start
 tasks.ResetHitCountsTask.interval=1440
 tasks.ResetHitCountsTask.leaseTime=30
 
-# Reset referer counts
-tasks.TurnoverReferersTask.class=org.apache.roller.weblogger.business.runnable.TurnoverReferersTask
-tasks.TurnoverReferersTask.startTime=startOfDay
-tasks.TurnoverReferersTask.interval=1440
-tasks.TurnoverReferersTask.leaseTime=30
-
 # Ping processor, does sending of pings
 tasks.PingQueueTask.class=org.apache.roller.weblogger.business.pings.PingQueueTask
 tasks.PingQueueTask.startTime=immediate

Propchange: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/roller.properties
------------------------------------------------------------------------------
  Merged /roller/trunk/app/src/main/resources/org/apache/roller/weblogger/config/roller.properties:r1588767-1601252

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/runtimeConfigDefs.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/runtimeConfigDefs.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/runtimeConfigDefs.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/runtimeConfigDefs.xml Sun Jun  8 20:23:32 2014
@@ -194,10 +194,6 @@
          <type>boolean</type>
          <default-value>false</default-value>
       </property-def>
-      <property-def name="site.linkbacks.enabled" key="configForm.enableLinkback">
-         <type>boolean</type>
-         <default-value>false</default-value>
-      </property-def>
 
    </display-group >
    
@@ -241,20 +237,33 @@
       </property-def>
       
    </display-group>
-   
-   
+
    <!-- Spam Prevention Settings Group -->
    <display-group name="spamSettings" key="websiteSettings.spamPrevention" >
    
       <property-def  name="spam.blacklist"  key="websiteSettings.ignoreUrls">
          <type>text</type>
-         <default-value></default-value>
+         <default-value/>
          <rows>7</rows>
          <cols>40</cols>
       </property-def>
 
    </display-group >
-   
+
+     <!-- Web Analytics (e.g., Google Analytics) Group -->
+     <display-group name="webAnalytics" key="configForm.webAnalytics">
+         <property-def  name="analytics.default.tracking.code"  key="configForm.defaultAnalyticsTrackingCode">
+             <type>text</type>
+             <default-value/>
+             <rows>10</rows>
+             <cols>70</cols>
+         </property-def>
+         <property-def  name="analytics.code.override.allowed"  key="configForm.allowAnalyticsCodeOverride">
+             <type>boolean</type>
+             <default-value>true</default-value>
+         </property-def>
+     </display-group>
+
  </config-def>
  
 </runtime-configs>

Propchange: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/config/runtimeConfigDefs.xml
------------------------------------------------------------------------------
  Merged /roller/trunk/app/src/main/resources/org/apache/roller/weblogger/config/runtimeConfigDefs.xml:r1588767-1601252

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml Sun Jun  8 20:23:32 2014
@@ -9,11 +9,8 @@
         <named-query name="MediaFileDirectory.getByWeblog">
             <query>SELECT d FROM MediaFileDirectory d WHERE d.weblog = ?1</query>
         </named-query>
-        <named-query name="MediaFileDirectory.getByWeblogAndNoParent">
-            <query>SELECT d FROM MediaFileDirectory d WHERE d.weblog = ?1 AND d.parent IS NULL</query>
-        </named-query>
-        <named-query name="MediaFileDirectory.getByWeblogAndPath">
-            <query>SELECT d FROM MediaFileDirectory d WHERE d.weblog = ?1 AND d.path = ?2</query>
+        <named-query name="MediaFileDirectory.getByWeblogAndName">
+            <query>SELECT d FROM MediaFileDirectory d WHERE d.weblog = ?1 AND d.name = ?2</query>
         </named-query>
         <attributes>
             <id name="id">
@@ -25,22 +22,9 @@
             <basic name="description">
                 <column name="description" insertable="true" updatable="true" unique="false" nullable="true"/>
             </basic>
-            <basic name="path">
-                <column name="path" insertable="true" updatable="true" unique="false" nullable="false"/>
-            </basic>
             <many-to-one name="weblog" target-entity="org.apache.roller.weblogger.pojos.Weblog">
                 <join-column name="websiteid" insertable="true" updatable="true" nullable="false"/>
             </many-to-one>
-            <many-to-one name="parent" target-entity="org.apache.roller.weblogger.pojos.MediaFileDirectory">
-                <join-column name="parentid" insertable="true" updatable="true" nullable="true"/>
-            </many-to-one>
-            <one-to-many name="childDirectories" mapped-by="parent" target-entity="org.apache.roller.weblogger.pojos.MediaFileDirectory" fetch="LAZY">
-                <order-by>name</order-by>
-                <cascade>
-                    <cascade-persist/>
-                    <cascade-remove/>
-                </cascade>
-            </one-to-many>
             <one-to-many name="mediaFiles" mapped-by="directory" target-entity="org.apache.roller.weblogger.pojos.MediaFile" fetch="LAZY">
                 <order-by>name</order-by>
                 <cascade>

Propchange: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml
------------------------------------------------------------------------------
  Merged /roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml:r1588767-1601252

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml Sun Jun  8 20:23:32 2014
@@ -95,6 +95,9 @@
 			<basic name="blacklist">
 				<column name="blacklist" insertable="true" updatable="true" unique="false"/>
 			</basic>
+            <basic name="analyticsCode">
+                <column name="analyticscode" insertable="true" updatable="true" unique="false"/>
+            </basic>
 			<basic name="allowComments">
 				<column name="allowcomments" insertable="true" updatable="true" unique="false"/>
 			</basic>
@@ -175,6 +178,12 @@
                     <cascade-remove/>
                 </cascade>
             </one-to-many>
+            <one-to-many name="mediaFileDirectories" target-entity="org.apache.roller.weblogger.pojos.MediaFileDirectory" mapped-by="weblog">
+                <cascade>
+                    <cascade-persist/>
+                    <cascade-remove/>
+                </cascade>
+            </one-to-many>
 			<transient name="theme"/>
 			<transient name="creator"/>
 			<transient name="defaultPage"/>
@@ -183,7 +192,6 @@
 			<transient name="commentCount"/>
 			<transient name="commentModerationRequired"/>
 			<transient name="todaysHits"/>
-			<transient name="todaysReferrers"/>
 			<transient name="URL"/>
 			<transient name="userCount"/>
 			<transient name="entryCount"/>

Propchange: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml
------------------------------------------------------------------------------
  Merged /roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml:r1588767-1601252

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml Sun Jun  8 20:23:32 2014
@@ -166,7 +166,6 @@
             <transient name="transformedSummary"/>         
             <transient name="comments"/>
             <transient name="pluginsList"/>
-            <transient name="referers"/>
             <transient name="addedTags"/>
             <transient name="removedTags"/>
         </attributes>

Propchange: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
------------------------------------------------------------------------------
  Merged /roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml:r1588767-1601252

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeAssoc.orm.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeAssoc.orm.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeAssoc.orm.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeAssoc.orm.xml Sun Jun  8 20:23:32 2014
@@ -6,7 +6,7 @@
     <package>org.apache.roller.weblogger.pojos</package>
     <entity metadata-complete="true" name="WeblogThemeAssoc"
             class="org.apache.roller.weblogger.pojos.WeblogThemeAssoc" access="PROPERTY">
-        <table name="rol_weblogtheme"/>
+        <table name="roller_weblogtheme"/>
         <named-query name="WeblogThemeAssoc.getThemeAssocByType">
             <query>SELECT a FROM WeblogThemeAssoc a WHERE a.weblog = ?1 AND a.type =?2</query>
         </named-query>

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeTemplateCode.orm.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeTemplateCode.orm.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeTemplateCode.orm.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogThemeTemplateCode.orm.xml Sun Jun  8 20:23:32 2014
@@ -6,7 +6,7 @@
     <package>org.apache.roller.weblogger.pojos</package>
     <entity metadata-complete="true" name="WeblogThemeTemplateCode"
             class="org.apache.roller.weblogger.pojos.WeblogThemeTemplateCode" access="PROPERTY">
-        <table name="rol_templatecode"/>
+        <table name="roller_templatecode"/>
         <named-query name="WeblogThemeTemplateCode.getTemplateCodeByType">
             <query>SELECT c FROM WeblogThemeTemplateCode c WHERE c.templateId = ?1 AND c.type =?2</query>
         </named-query>

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig-validation.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig-validation.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig-validation.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig-validation.xml Sun Jun  8 20:23:32 2014
@@ -20,5 +20,13 @@
             <message key="WeblogConfig.error.descriptionSize">unspecified key</message>
         </field-validator>
     </field>
-    
+
+    <field name="bean.analyticsCode">
+        <field-validator type="stringlength">
+            <param name="maxLength">1200</param>
+            <message key="WeblogConfig.error.analyticsCodeSize">unspecified key</message>
+        </field-validator>
+    </field>
+
+
 </validators>

Modified: roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml (original)
+++ roller/branches/rome2/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml Sun Jun  8 20:23:32 2014
@@ -70,11 +70,6 @@ Each menu or menu item is governed by fo
                    weblogPerms="admin"
                    subactions="exportEntries,exportResources"/>
 
-        <!-- globalPerms="login" -->
-         <menu-item action="referrers"
-                   name="tabbedmenu.weblog.referers"
-                   weblogPerms="admin"
-                   enabledProperty="referrers.processing.enabled" />
     </menu>
     
     <!--  if we already have checked weblogPerms="admin" globalPerms="login" we should -->

Modified: roller/branches/rome2/app/src/main/resources/sql/310-to-400-migration.vm
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/sql/310-to-400-migration.vm?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/sql/310-to-400-migration.vm (original)
+++ roller/branches/rome2/app/src/main/resources/sql/310-to-400-migration.vm Sun Jun  8 20:23:32 2014
@@ -137,17 +137,17 @@ create index co_combo1_idx on roller_com
 
 
 -- remove old indexes that are no longer of value
-#dropIndex('we_pubentry_idx' 'weblogentry')
+#dropIndex('weblogentry' 'we_pubentry_idx')
 
 
 -- fix wacky indexs which ended up with a size constraint
-#dropIndex('rage_sid_idx' 'rag_entry')
+#dropIndex('rag_entry' 'rage_sid_idx')
 create index rage_sid_idx on rag_entry(subscription_id);
 
-#dropIndex('raggs_gid_idx' 'rag_group_subscription')
+#dropIndex('rag_group_subscription' 'raggs_gid_idx')
 create index raggs_gid_idx on rag_group_subscription(group_id);
 
-#dropIndex('raggs_sid_idx' 'rag_group_subscription')
+#dropIndex('rag_group_subscription' 'raggs_sid_idx')
 create index raggs_sid_idx on rag_group_subscription(subscription_id);
 
 
@@ -165,9 +165,9 @@ create index raggs_sid_idx on rag_group_
 #dropColumn('roller_comment' 'pending')
 
 -- remove bastard columns and indexes (optional)
--- #dropIndex('index_we_pubtime_idx' 'weblogentry')
--- #dropIndex('co_pending_idx' 'roller_comment')
--- #dropIndex('co_approved_idx' 'roller_comment')
+-- #dropIndex('weblogentry' 'index_we_pubtime_idx')
+-- #dropIndex('roller_comment' 'co_pending_idx')
+-- #dropIndex('roller_comment' 'co_approved_idx')
 -- #dropColumn('website' 'userid')
 -- #dropColumn('website' 'weblogdayid')
 -- #dropColumn('weblogentry' 'publishentry')

Modified: roller/branches/rome2/app/src/main/resources/sql/500-to-510-migration.vm
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/resources/sql/500-to-510-migration.vm?rev=1601254&r1=1601253&r2=1601254&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/resources/sql/500-to-510-migration.vm (original)
+++ roller/branches/rome2/app/src/main/resources/sql/500-to-510-migration.vm Sun Jun  8 20:23:32 2014
@@ -4,7 +4,7 @@
 DON'T RUN THIS, IT'S NOT A DATABASE CREATION SCRIPT!!!
 **#
 
-create table rol_weblogtheme (
+create table roller_weblogtheme (
     id              varchar(48)  not null primary key,
     weblogid varchar(48) not null,
     name            varchar(255)  not null,
@@ -12,7 +12,7 @@ create table rol_weblogtheme (
     #columnNotNullWithDefault('type' 'varchar(16)' 'standard')
 );
 
-create table rol_templatecode (
+create table roller_templatecode (
     id                 varchar(48)  not null primary key,
     templateid varchar(48) not null,
     template     $db.TEXT_SQL_TYPE not null,
@@ -34,12 +34,30 @@ delete from weblogcategory where name = 
 
 -- Removal of custom ping targets
 delete from pingtarget where websiteid is not null;
-#dropIndex("pt_websiteid_fk" "pingtarget")
+#dropIndex("pingtarget" "pt_websiteid_fk")
 #dropColumn("pingtarget", "websiteid")
 
--- Removal of bookmark subfolders and renaming of default folder to 'default'
+-- Removal of bookmark subfolders and renaming of former root folder to 'default'
+-- If a folder with name 'default' already exists, rename it by adding its id to it.
+update folder set name = #concat("name" "id") where name = 'default';
 update folder set name = 'default' where name = 'root' and parentid is null;
 #dropColumn("folder" 'parentid')
 #dropColumn("folder" 'path')
 #dropColumn("folder" "description")
 #dropColumn("bookmark" "weight")
+
+-- Removal of bookmark subfolders and renaming of former root folder to 'default'
+-- If a folder with name 'default' already exists, rename it by adding its id to it.
+update roller_mediafiledir set name = #concat("name" "id") where name = 'default';
+update roller_mediafiledir set name = 'default' where name = 'root' and parentid is null;
+#dropColumn("roller_mediafiledir" "path")
+#dropIndex("roller_mediafiledir" "mf_parentid_fk")
+#dropColumn("roller_mediafiledir" "parentid")
+
+-- Adding blog-specific web analytics (e.g. Google Analytics) tracking code
+#addColumnNull("website" "analyticscode" $db.TEXT_SQL_TYPE)
+
+-- Referer table no longer populated, retaining for older DB's in case legacy data
+-- is desired to keep; but removing its FK relationships to other tables
+#dropIndex("referer" "ref_entryid_fk")
+#dropIndex("referer" "ref_websiteid_fk")