Merged DEV/TEMPORARY to HEAD

17682: Fixed up package structure of standalone alfresco-jlan configelement fa‡ade classes.
   17684: Fix up build.xml for first set of spring-surf integration changes - tested alfresco/share server startup.
   17697: Minor tweaks from V3.3_SPRING3 branch before spring-webscripts JAR integration.
   17730: Updated to latest SpringSurf libs and fixed up build.xml.
   17737: Share war built against SpringSurf libraries and deploys into tomcat.
          - First pass of configuration and web.xml refactored to new structure
          - Refactored Slingshot PageMapper and UserFactory classes to new interfaces
          - Build scripts updated to use SpringSurf libraries to build Share - dependency on old WebScripts and WebFramework projects removed.
          - Some cleanup related to SpringSurf Core project class removal
          - NOTE: Share does not work yet, not even close, just builds and deploys WAR with no errors.
   17738: Updates to WebFrameworkCommons - removes dependency on old WebScripts and WebFramework projects - now uses new  SpringSurf libraries.
   17739: Removed webscripts and webframework references from build targets for slingshot.
   17740: Removed old WebStudio project and build scripts.
   17747: Updated to latest SpringSurf dependent libraries.
          Fixes to Share startup config - added page types.
   17751: More refactoring of Share app-context config.
          Moved StaticAssetCacheFilter to WebFrameworkCommons (as no longer present in SpringSurf).
          Added SlingshotPageMapperFactory to complete classes required for Share SpringSurf customisation.
          Updated SpringSurf jars to latest after recent SpringSurf SVN commits.
          Slingshot surf-config.xml now loads custom app-context from backward compatibility locations.
          URL rewrite config added to allow /service and /proxy URLs to work for backward compatibility.
          Removal of more obsolete sections from Share web.xml.
   17752: Share login and basic authentication and user generation path now working.
   17775: Share dashboards and other pages now working under SpringSurf.
          - Added latest SpringSurf libs after my recent commits for various fixes
          - Added Share overriden PageViewResolver to handle Uri template matching - required for Share
          - Fixed Logout
          - Moved slingshot-region-chome to correct new location
   17785: Removed obsolete system-templates dir.
          Fixed slingshot app context to correctly pickup custom share config xml in web-extension.
          Fixed up JSF client index.jsp to use new ConfigService class location.
   17786: Updated SpringSurf libs after recent commits.
          Share related fixes to app-context.
          
          Share is now working! For the basic use cases i'm no longer seeing any issues; login, dashboards, creation of sites, document library etc. all seem to be working now.
          A complete QA pass of the application will be required for 3.3.
          
          TODO:
           - NTLM filter needs moving to Share (not present in SpringSurf)
           - MessagesWebScript - community tracking image needs adding to Share specific version (not present in SpringSurf)
           - Clustering config overrides - no longer work in SpringSurf, needs a rethink
           - Mobile project is not working
           - Repository Remote API and Web-Client to work ontop of SpringSurf WebScripts (the next BIG bit...)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17789 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-12-14 13:49:45 +00:00
parent 0c88b471ee
commit 3ad9a5fd3d
2 changed files with 1 additions and 121 deletions

View File

@@ -1,120 +0,0 @@
/*
* Copyright (C) 2005-2009 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.bean.wcm.preview;
import org.alfresco.config.JNDIConstants;
/**
* A PreviewURIService that constructs a Web Studio URI.
*
* @author muzquiano
* @version $Id$
*/
public class WebStudioPreviewURIService implements PreviewURIService
{
private static final String WCM_WEBAPP_PREFIX = "/" + JNDIConstants.DIR_DEFAULT_WWW + "/" + JNDIConstants.DIR_DEFAULT_APPBASE;
private static final String DEFAULT_STUDIO_URI = "/studio";
private String studioURI = null;
/**
* Instantiates a new web studio preview uri service.
*
* Assumes default location of Studio on same application server. This can
* be overridden within Spring definition.
*/
public WebStudioPreviewURIService()
{
this.studioURI = DEFAULT_STUDIO_URI;
}
/**
* @see org.alfresco.web.bean.wcm.preview.PreviewURIService#getPreviewURI(java.lang.String,
* java.lang.String)
*/
public String getPreviewURI(final String storeId, final String pathToAsset)
{
// Sanity checking
if (!pathToAsset.startsWith(WCM_WEBAPP_PREFIX))
{
throw new IllegalStateException(
"Invalid asset path in AVM node ref: " + storeId + ":" + pathToAsset);
}
// Web Studio expects to be provided the following request parameters
//
// alfStoreId = the store id
// alfWebappId = the web application id (usually ROOT)
//
String webappId = null;
// Here, we extract the web app id from the path
//
String ws = pathToAsset.substring(WCM_WEBAPP_PREFIX.length()+1);
int x = ws.indexOf("/");
if(x > -1)
{
ws = ws.substring(0,x);
// extract the web application id
//webappId = pathToAsset.substring(WCM_WEBAPP_PREFIX.length() + 1, x);
webappId = ws;
}
else
{
if(ws.length() > 0)
{
webappId = ws;
}
else
{
webappId = "ROOT";
}
}
// builder the uri
StringBuilder builder = new StringBuilder(128);
builder.append(this.studioURI);
builder.append("?alfStoreId=");
builder.append(storeId);
builder.append("&alfWebappId=");
builder.append(webappId);
// return as string
return builder.toString();
}
/**
* Sets the location of Alfresco Web Studio
*
* @param studioURI the new alfresco web studio uri
*/
public void setStudioURI(String studioURI)
{
this.studioURI = studioURI;
}
}

View File

@@ -34,7 +34,7 @@
<%@ page import="org.alfresco.service.cmr.security.PermissionService" %>
<%@ page import="org.alfresco.service.cmr.repository.NodeRef" %>
<%@ page import="org.alfresco.repo.security.authentication.AuthenticationException" %>
<%@ page import="org.alfresco.config.ConfigService" %>
<%@ page import="org.springframework.extensions.config.ConfigService" %>
<%@ page import="org.alfresco.web.app.servlet.AuthenticationHelper" %>
<%@ page import="org.alfresco.web.app.servlet.FacesHelper" %>
<%@ page import="org.alfresco.web.bean.NavigationBean" %>