- Preview Staging area action added
 - Preview User Sandbox action added
   - Generates the virtualisation server URLs to an AVM sandboxes for the - possible to preview the entire website with transparent overlays for each user.
 - Fix to generation of mangled DNS name for a user store to remove the "main" part (implicit)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3918 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2006-09-25 12:57:19 +00:00
parent c10643a388
commit c9f6f17756
5 changed files with 66 additions and 13 deletions

View File

@@ -225,6 +225,13 @@ public class AVMBrowseBean implements IContextListener
{
this.actionService = actionService;
}
public String getStagingStore()
{
Node websiteNode = this.navigator.getCurrentNode();
String storeRoot = (String)websiteNode.getProperties().get(ContentModel.PROP_AVMSTORE);
return AVMConstants.buildAVMStagingStoreName(storeRoot);
}
/**
* Summary text for the staging store:
@@ -242,7 +249,7 @@ public class AVMBrowseBean implements IContextListener
ResourceBundle msg = Application.getBundle(fc);
Node websiteNode = this.navigator.getCurrentNode();
String storeRoot = (String)websiteNode.getProperties().get(ContentModel.PROP_AVMSTORE);
String stagingStore = AVMConstants.buildAVMStagingStoreName(storeRoot);
String stagingStore = getStagingStore();
AVMStoreDescriptor store = this.avmService.getAVMStore(stagingStore);
if (store != null)
{
@@ -261,6 +268,11 @@ public class AVMBrowseBean implements IContextListener
return summary.toString();
}
public String getPreviewUrl()
{
return AVMConstants.buildAVMStoreUrl(getStagingStore());
}
/**
* @param foldersRichList The foldersRichList to set.
*/

View File

@@ -16,6 +16,18 @@
*/
package org.alfresco.web.bean.wcm;
import java.text.MessageFormat;
import java.util.Map;
import javax.faces.context.FacesContext;
import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.namespace.QName;
import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.config.ClientConfigElement;
/**
* @author Kevin Roast
*/
@@ -53,6 +65,23 @@ public final class AVMConstants
return store + ":/" + DIR_APPBASE + '/' + DIR_WEBAPPS;
}
public static String buildAVMStoreUrl(String store)
{
String url = null;;
FacesContext fc = FacesContext.getCurrentInstance();
AVMService avmService = Repository.getServiceRegistry(fc).getAVMService();
ClientConfigElement config = Application.getClientConfig(fc);
Map<QName, PropertyValue> props = avmService.queryStorePropertyKey(store, QName.createQName(null, PROP_DNS + '%'));
if (props.size() == 1)
{
String dns = props.entrySet().iterator().next().getKey().getLocalName().substring(PROP_DNS.length());
url = MessageFormat.format(PREVIEW_SANDBOX_URL, dns, config.getWCMDomain(), config.getWCMPort());
}
return url;
}
// names of the stores representing the layers for an AVM website
public final static String STORE_STAGING = "-staging";
public final static String STORE_MAIN = "-main";
@@ -72,4 +101,8 @@ public final class AVMConstants
public final static String PROP_WEBSITE_NAME = ".website.name";
public final static String PROP_SANDBOX_STORE_PREFIX = ".sandbox.store.";
public final static String SPACE_ICON_WEBSITE = "space-icon-website";
// URLs for preview of sandboxes and assets
public final static String PREVIEW_SANDBOX_URL = "http://www-{0}.avm.{1}:{2}";
public final static String PREVIEW_ASSET_URL = "http://www-{0}.avm.{1}:{2}/{3}";
}

View File

@@ -359,7 +359,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the DNS name property
tagStoreDNSPath(userStore, name, username, "main");
tagStoreDNSPath(userStore, name, username);
// create the user 'preview' store