mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
- fixing naming for variables passed to jsp, xsl and freemarker
- cleanup of generate and regenerate apis and adding documentation. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4203 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -359,7 +359,7 @@ public class AVMEditBean
|
|||||||
if (nodeService.getProperty(avmRef, WCMModel.PROP_PARENT_FORM) != null)
|
if (nodeService.getProperty(avmRef, WCMModel.PROP_PARENT_FORM) != null)
|
||||||
{
|
{
|
||||||
final FormsService fs = FormsService.getInstance();
|
final FormsService fs = FormsService.getInstance();
|
||||||
fs.regenerate(avmRef);
|
fs.regenerateRenditions(avmRef);
|
||||||
}
|
}
|
||||||
|
|
||||||
resetState();
|
resetState();
|
||||||
|
@@ -115,6 +115,7 @@ public class CreateFormWizard extends BaseWizardBean
|
|||||||
|
|
||||||
private String schemaRootTagName;
|
private String schemaRootTagName;
|
||||||
private String formName;
|
private String formName;
|
||||||
|
private String formDescription;
|
||||||
private Class renderingEngineType = null;
|
private Class renderingEngineType = null;
|
||||||
protected ContentService contentService;
|
protected ContentService contentService;
|
||||||
private DataModel renderingEnginesDataModel;
|
private DataModel renderingEnginesDataModel;
|
||||||
@@ -158,7 +159,7 @@ public class CreateFormWizard extends BaseWizardBean
|
|||||||
// apply the titled aspect - title and description
|
// apply the titled aspect - title and description
|
||||||
Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
||||||
props.put(ContentModel.PROP_TITLE, this.getFormName());
|
props.put(ContentModel.PROP_TITLE, this.getFormName());
|
||||||
props.put(ContentModel.PROP_DESCRIPTION, "");
|
props.put(ContentModel.PROP_DESCRIPTION, this.getFormDescription());
|
||||||
this.nodeService.addAspect(schemaNodeRef, ContentModel.ASPECT_TITLED, props);
|
this.nodeService.addAspect(schemaNodeRef, ContentModel.ASPECT_TITLED, props);
|
||||||
|
|
||||||
props = new HashMap<QName, Serializable>(1, 1.0f);
|
props = new HashMap<QName, Serializable>(1, 1.0f);
|
||||||
@@ -211,6 +212,7 @@ public class CreateFormWizard extends BaseWizardBean
|
|||||||
this.removeUploadedRenderingEngineFile();
|
this.removeUploadedRenderingEngineFile();
|
||||||
this.schemaRootTagName = null;
|
this.schemaRootTagName = null;
|
||||||
this.formName = null;
|
this.formName = null;
|
||||||
|
this.formDescription = null;
|
||||||
this.renderingEngineType = null;
|
this.renderingEngineType = null;
|
||||||
this.renderingEngines = new ArrayList<RenderingEngineData>();
|
this.renderingEngines = new ArrayList<RenderingEngineData>();
|
||||||
this.fileExtension = null;
|
this.fileExtension = null;
|
||||||
@@ -534,6 +536,22 @@ public class CreateFormWizard extends BaseWizardBean
|
|||||||
? this.getSchemaFileName().replaceAll("(.+)\\..*", "$1")
|
? this.getSchemaFileName().replaceAll("(.+)\\..*", "$1")
|
||||||
: this.formName);
|
: this.formName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the description for this form.
|
||||||
|
*/
|
||||||
|
public void setFormDescription(final String formDescription)
|
||||||
|
{
|
||||||
|
this.formDescription = formDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the description for this form.
|
||||||
|
*/
|
||||||
|
public String getFormDescription()
|
||||||
|
{
|
||||||
|
return this.formDescription;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the summary data for the wizard.
|
* @return Returns the summary data for the wizard.
|
||||||
|
@@ -104,20 +104,20 @@ public class CreateWebContentWizard extends BaseContentWizard
|
|||||||
{
|
{
|
||||||
if (logger.isDebugEnabled())
|
if (logger.isDebugEnabled())
|
||||||
logger.debug("generating form data renderer output for " + this.formName);
|
logger.debug("generating form data renderer output for " + this.formName);
|
||||||
final Form tt = this.getForm();
|
final Form form = this.getForm();
|
||||||
final FormsService ts = FormsService.getInstance();
|
final FormsService fs = FormsService.getInstance();
|
||||||
|
final NodeRef formInstanceDataNodeRef =
|
||||||
|
AVMNodeConverter.ToNodeRef(-1, this.createdPath);
|
||||||
final Map<QName, Serializable> props = new HashMap<QName, Serializable>(1, 1.0f);
|
final Map<QName, Serializable> props = new HashMap<QName, Serializable>(1, 1.0f);
|
||||||
props.put(WCMModel.PROP_PARENT_FORM, tt.getNodeRef());
|
props.put(WCMModel.PROP_PARENT_FORM, form.getNodeRef());
|
||||||
props.put(WCMModel.PROP_PARENT_FORM_NAME, tt.getName());
|
props.put(WCMModel.PROP_PARENT_FORM_NAME, form.getName());
|
||||||
this.nodeService.addAspect(AVMNodeConverter.ToNodeRef(-1, this.createdPath),
|
this.nodeService.addAspect(formInstanceDataNodeRef,
|
||||||
WCMModel.ASPECT_FORM_INSTANCE_DATA,
|
WCMModel.ASPECT_FORM_INSTANCE_DATA,
|
||||||
props);
|
props);
|
||||||
|
|
||||||
ts.generate(this.createdPath.substring(0, this.createdPath.lastIndexOf('/')),
|
fs.generateRenditions(formInstanceDataNodeRef,
|
||||||
ts.parseXML(this.content),
|
fs.parseXML(this.content),
|
||||||
tt,
|
form);
|
||||||
this.fileName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// return the default outcome
|
// return the default outcome
|
||||||
|
@@ -196,6 +196,13 @@ public final class FormsService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the form backed by the given NodeRef. The NodeRef should
|
||||||
|
* point to the schema for this form.
|
||||||
|
*
|
||||||
|
* @param nodeRef the node ref for the schema for the form
|
||||||
|
* @return the form for the given node ref.
|
||||||
|
*/
|
||||||
public Form getForm(final NodeRef nodeRef)
|
public Form getForm(final NodeRef nodeRef)
|
||||||
{
|
{
|
||||||
return this.newForm(nodeRef);
|
return this.newForm(nodeRef);
|
||||||
@@ -242,137 +249,139 @@ public final class FormsService
|
|||||||
return tt;
|
return tt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void generate(final String parentPath,
|
/**
|
||||||
final Document xml,
|
* Generates renditions for the provided formInstanceData.
|
||||||
final Form tt,
|
*
|
||||||
final String fileName)
|
* @param formInstanceDataNodeRef the noderef containing the form instance data
|
||||||
|
* @param formInstanceData the parsed contents of the form.
|
||||||
|
* @param form the form to use when generating renditions.
|
||||||
|
*/
|
||||||
|
public void generateRenditions(final NodeRef formInstanceDataNodeRef,
|
||||||
|
final Document formInstanceData,
|
||||||
|
final Form form)
|
||||||
throws IOException,
|
throws IOException,
|
||||||
RenderingEngine.RenderingException
|
RenderingEngine.RenderingException
|
||||||
{
|
{
|
||||||
for (RenderingEngine tom : tt.getRenderingEngines())
|
final String formInstanceDataFileName = (String)
|
||||||
|
nodeService.getProperty(formInstanceDataNodeRef, ContentModel.PROP_NAME);
|
||||||
|
final String formInstanceDataAvmPath = AVMNodeConverter.ToAVMVersionPath(formInstanceDataNodeRef).getSecond();
|
||||||
|
final String parentPath = AVMNodeConverter.SplitBase(formInstanceDataAvmPath)[0];
|
||||||
|
|
||||||
|
for (RenderingEngine re : form.getRenderingEngines())
|
||||||
{
|
{
|
||||||
// get the node ref of the node that will contain the content
|
// get the node ref of the node that will contain the content
|
||||||
final String generatedFileName = stripExtension(fileName) + "." + tom.getFileExtension();
|
final String renditionFileName =
|
||||||
final OutputStream fileOut = this.avmService.createFile(parentPath, generatedFileName);
|
this.stripExtension(formInstanceDataFileName) + "." + re.getFileExtension();
|
||||||
final String fullAvmPath = parentPath + '/' + generatedFileName;
|
final OutputStream fileOut = this.avmService.createFile(parentPath, renditionFileName);
|
||||||
final String avmStore = parentPath.substring(0, parentPath.indexOf(":/"));
|
final String renditionAvmPath = parentPath + '/' + renditionFileName;
|
||||||
final String sandBoxUrl = AVMConstants.buildAVMStoreUrl(avmStore);
|
|
||||||
|
|
||||||
if (LOGGER.isDebugEnabled())
|
if (LOGGER.isDebugEnabled())
|
||||||
LOGGER.debug("Created file node for file: " +
|
LOGGER.debug("Created file node for file: " + renditionAvmPath);
|
||||||
fullAvmPath);
|
|
||||||
final OutputStreamWriter out = new OutputStreamWriter(fileOut);
|
final OutputStreamWriter out = new OutputStreamWriter(fileOut);
|
||||||
|
|
||||||
final HashMap<String, String> parameters =
|
final HashMap<String, String> parameters =
|
||||||
getOutputMethodParameters(sandBoxUrl, fileName, generatedFileName, parentPath);
|
this.getOutputMethodParameters(formInstanceDataFileName,
|
||||||
tom.generate(xml, parameters, out);
|
renditionFileName,
|
||||||
|
parentPath);
|
||||||
|
re.generate(formInstanceData, parameters, out);
|
||||||
out.close();
|
out.close();
|
||||||
|
|
||||||
NodeRef outputNodeRef = AVMNodeConverter.ToNodeRef(-1, fullAvmPath);
|
final NodeRef renditionNodeRef =
|
||||||
|
AVMNodeConverter.ToNodeRef(-1, parentPath + '/' + renditionFileName);
|
||||||
|
|
||||||
Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
||||||
props.put(WCMModel.PROP_PARENT_FORM, tt.getNodeRef());
|
props.put(WCMModel.PROP_PARENT_FORM, form.getNodeRef());
|
||||||
props.put(WCMModel.PROP_PARENT_FORM_NAME, tt.getName());
|
props.put(WCMModel.PROP_PARENT_FORM_NAME, form.getName());
|
||||||
nodeService.addAspect(outputNodeRef, WCMModel.ASPECT_FORM_INSTANCE_DATA, props);
|
nodeService.addAspect(renditionNodeRef, WCMModel.ASPECT_FORM_INSTANCE_DATA, props);
|
||||||
|
|
||||||
props = new HashMap<QName, Serializable>(2, 1.0f);
|
props = new HashMap<QName, Serializable>(2, 1.0f);
|
||||||
props.put(WCMModel.PROP_PARENT_RENDERING_ENGINE, tom.getNodeRef());
|
props.put(WCMModel.PROP_PARENT_RENDERING_ENGINE, re.getNodeRef());
|
||||||
props.put(WCMModel.PROP_PRIMARY_FORM_INSTANCE_DATA,
|
props.put(WCMModel.PROP_PRIMARY_FORM_INSTANCE_DATA,
|
||||||
AVMNodeConverter.ToNodeRef(-1, parentPath + fileName));
|
AVMNodeConverter.ToNodeRef(-1, parentPath + formInstanceDataFileName));
|
||||||
nodeService.addAspect(outputNodeRef, WCMModel.ASPECT_RENDITION, props);
|
nodeService.addAspect(renditionNodeRef, WCMModel.ASPECT_RENDITION, props);
|
||||||
|
|
||||||
props = new HashMap<QName, Serializable>(1, 1.0f);
|
props = new HashMap<QName, Serializable>(1, 1.0f);
|
||||||
props.put(ContentModel.PROP_TITLE, fileName);
|
props.put(ContentModel.PROP_TITLE, renditionFileName);
|
||||||
nodeService.addAspect(outputNodeRef, ContentModel.ASPECT_TITLED, props);
|
nodeService.addAspect(renditionNodeRef, ContentModel.ASPECT_TITLED, props);
|
||||||
|
|
||||||
LOGGER.debug("generated " + generatedFileName + " using " + tom);
|
LOGGER.debug("generated " + renditionFileName + " using " + re);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void regenerate(final NodeRef nodeRef)
|
/**
|
||||||
|
* Regenerates all renditions of the provided form instance data.
|
||||||
|
*
|
||||||
|
* @param formInstanceDataNodeRef the node ref containing the form instance data.
|
||||||
|
*/
|
||||||
|
public void regenerateRenditions(final NodeRef formInstanceDataNodeRef)
|
||||||
throws IOException,
|
throws IOException,
|
||||||
SAXException,
|
SAXException,
|
||||||
RenderingEngine.RenderingException
|
RenderingEngine.RenderingException
|
||||||
{
|
{
|
||||||
final NodeRef formNodeRef = (NodeRef)
|
final NodeRef formNodeRef = (NodeRef)
|
||||||
nodeService.getProperty(nodeRef, WCMModel.PROP_PARENT_FORM);
|
nodeService.getProperty(formInstanceDataNodeRef, WCMModel.PROP_PARENT_FORM);
|
||||||
|
|
||||||
final Form tt = this.getForm(formNodeRef);
|
final Form form = this.getForm(formNodeRef);
|
||||||
|
|
||||||
final ContentReader reader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT);
|
final ContentReader reader = contentService.getReader(formInstanceDataNodeRef, ContentModel.PROP_CONTENT);
|
||||||
final Document xml = this.parseXML(reader.getContentInputStream());
|
final Document formInstanceData = this.parseXML(reader.getContentInputStream());
|
||||||
final String fileName = (String)
|
final String formInstanceDataFileName = (String)
|
||||||
nodeService.getProperty(nodeRef, ContentModel.PROP_NAME);
|
nodeService.getProperty(formInstanceDataNodeRef, ContentModel.PROP_NAME);
|
||||||
final String avmPath = AVMNodeConverter.ToAVMVersionPath(nodeRef).getSecond();
|
|
||||||
final String avmStore = avmPath.substring(0, avmPath.indexOf(":/"));
|
// other parameter values passed to rendering engine
|
||||||
final String sandBoxUrl = AVMConstants.buildAVMStoreUrl(avmStore);
|
final String formInstanceDataAvmPath = AVMNodeConverter.ToAVMVersionPath(formInstanceDataNodeRef).getSecond();
|
||||||
final String parentPath = AVMNodeConverter.SplitBase(avmPath)[0];
|
final String parentPath = AVMNodeConverter.SplitBase(formInstanceDataAvmPath)[0];
|
||||||
for (RenderingEngine tom : tt.getRenderingEngines())
|
|
||||||
|
for (RenderingEngine re : form.getRenderingEngines())
|
||||||
{
|
{
|
||||||
final String generatedFileName = stripExtension(fileName) + "." + tom.getFileExtension();
|
final String renditionFileName =
|
||||||
|
this.stripExtension(formInstanceDataFileName) + "." + re.getFileExtension();
|
||||||
|
|
||||||
if (LOGGER.isDebugEnabled())
|
if (LOGGER.isDebugEnabled())
|
||||||
LOGGER.debug("regenerating file node for : " + fileName + " (" +
|
LOGGER.debug("regenerating file node for : " + formInstanceDataFileName +
|
||||||
nodeRef.toString() + ") to " + parentPath + "/" + generatedFileName);
|
" (" + formInstanceDataNodeRef.toString() +
|
||||||
|
") to " + parentPath +
|
||||||
|
"/" + renditionFileName);
|
||||||
|
|
||||||
// get a writer for the content and put the file
|
// get a writer for the content and put the file
|
||||||
OutputStream out = null;
|
OutputStream out = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
out = this.avmService.getFileOutputStream(parentPath + "/" + generatedFileName);
|
out = this.avmService.getFileOutputStream(parentPath + "/" + renditionFileName);
|
||||||
}
|
}
|
||||||
catch (AVMNotFoundException e)
|
catch (AVMNotFoundException e)
|
||||||
{
|
{
|
||||||
out = this.avmService.createFile(parentPath, generatedFileName);
|
out = this.avmService.createFile(parentPath, renditionFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
final OutputStreamWriter writer = new OutputStreamWriter(out);
|
final OutputStreamWriter writer = new OutputStreamWriter(out);
|
||||||
final HashMap<String, String> parameters =
|
final HashMap<String, String> parameters =
|
||||||
getOutputMethodParameters(sandBoxUrl, fileName, generatedFileName, parentPath);
|
this.getOutputMethodParameters(formInstanceDataFileName,
|
||||||
tom.generate(xml, parameters, writer);
|
renditionFileName,
|
||||||
|
parentPath);
|
||||||
|
re.generate(formInstanceData, parameters, writer);
|
||||||
writer.close();
|
writer.close();
|
||||||
LOGGER.debug("generated " + fileName + " using " + tom);
|
|
||||||
|
LOGGER.debug("generated " + renditionFileName + " using " + re);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static HashMap<String, String> getOutputMethodParameters(final String sandBoxUrl,
|
private static HashMap<String, String> getOutputMethodParameters(final String formInstanceDataFileName,
|
||||||
final String fileName,
|
final String renditionFileName,
|
||||||
final String generatedFileName,
|
final String parentAvmPath)
|
||||||
final String parentPath)
|
|
||||||
{
|
{
|
||||||
final HashMap<String, String> parameters = new HashMap<String, String>();
|
final HashMap<String, String> parameters = new HashMap<String, String>();
|
||||||
parameters.put("avm_store_url", sandBoxUrl);
|
parameters.put("avm_sandbox_url", AVMConstants.buildAVMStoreUrl(parentAvmPath));
|
||||||
parameters.put("derived_from_file_name", fileName);
|
parameters.put("form_instance_data_file_name", formInstanceDataFileName);
|
||||||
parameters.put("generated_file_name", generatedFileName);
|
parameters.put("rendition_file_name", renditionFileName);
|
||||||
parameters.put("parent_path", parentPath);
|
parameters.put("parent_path", parentAvmPath);
|
||||||
return parameters;
|
return parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** utility function for creating a document */
|
/** utility function for creating a document */
|
||||||
public Document newDocument()
|
public Document newDocument()
|
||||||
{
|
{
|
||||||
try
|
return this.getDocumentBuilder().newDocument();
|
||||||
{
|
|
||||||
final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
|
||||||
dbf.setNamespaceAware(true);
|
|
||||||
dbf.setValidating(false);
|
|
||||||
final DocumentBuilder db = dbf.newDocumentBuilder();
|
|
||||||
return db.newDocument();
|
|
||||||
}
|
|
||||||
catch (ParserConfigurationException pce)
|
|
||||||
{
|
|
||||||
assert false : pce;
|
|
||||||
LOGGER.error(pce);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
// catch (SAXException saxe)
|
|
||||||
// {
|
|
||||||
// LOGGER.error(saxe);
|
|
||||||
// }
|
|
||||||
// catch (IOException ioe)
|
|
||||||
// {
|
|
||||||
// LOGGER.error(ioe);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** utility function for serializing a node */
|
/** utility function for serializing a node */
|
||||||
@@ -423,7 +432,7 @@ public final class FormsService
|
|||||||
|
|
||||||
/** utility function for parsing xml */
|
/** utility function for parsing xml */
|
||||||
public Document parseXML(final String source)
|
public Document parseXML(final String source)
|
||||||
throws SAXException,
|
throws SAXException,
|
||||||
IOException
|
IOException
|
||||||
{
|
{
|
||||||
return this.parseXML(new ByteArrayInputStream(source.getBytes()));
|
return this.parseXML(new ByteArrayInputStream(source.getBytes()));
|
||||||
@@ -482,5 +491,5 @@ public final class FormsService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FormsService.documentBuilder;
|
return FormsService.documentBuilder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,364 +1,319 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!--
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
Copyright (C) 2005 Alfresco, Inc.
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
Licensed under the Mozilla Public License version 1.1
|
||||||
<title>Alfresco - Open Source Enterprise Content Management (CMS) including Web Content Management</title>
|
with a permitted attribution clause. You may obtain a
|
||||||
<meta name="description" lang="en" content="Alfresco offers open source enterprise content management including open source web content management software and document management software (Documentum, Jackrabbit, Sharepoint)" />
|
copy of the License at
|
||||||
<meta name="keywords" lang="en" content="open source cms, web document, enterprise content management software system, documentum, jackrabbit, sharepoint" />
|
|
||||||
<meta name="GOOGLEBOT" content="index, follow" />
|
http://www.alfresco.org/legal/license.txt
|
||||||
<meta name="robots" content="index, follow" />
|
|
||||||
<meta name="author" content="" />
|
Unless required by applicable law or agreed to in writing,
|
||||||
<link href="assets/css/screen.css" rel="stylesheet" type="text/css" media="screen" />
|
software distributed under the License is distributed on an
|
||||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.php?feed=all" />
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
|
either express or implied. See the License for the specific
|
||||||
</script>
|
language governing permissions and limitations under the
|
||||||
<script type="text/javascript">
|
License.
|
||||||
_uacct = "UA-70509-2";
|
|
||||||
urchinTracker();
|
Produces the index page for the press release page.
|
||||||
</script>
|
-->
|
||||||
<style type="text/css">
|
<jsp:root version="1.2"
|
||||||
.frontpanel {
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
margin: 10px 0 0 0;
|
xmlns:c="http://java.sun.com/jsp/jstl/core">
|
||||||
padding: 10px;
|
|
||||||
width: 740px;
|
<jsp:output doctype-root-element="html"
|
||||||
background-color: #f1f1f1;
|
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
clear: both;
|
doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
|
||||||
}
|
|
||||||
.frontpanel-icon {
|
<jsp:directive.page language="java" contentType="text/html; charset=UTF-8"/>
|
||||||
padding: 0 3px;
|
<jsp:directive.page isELIgnored="false"/>
|
||||||
margin: 0;
|
|
||||||
float: left;
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
}
|
<head>
|
||||||
.frontpanel-icon img {
|
<jsp:directive.include file="/assets/include_in_head.html"/>
|
||||||
padding: 0;
|
<title>Alfresco - Open Source Enterprise Content Management (CMS) including Web Content Management</title>
|
||||||
margin: 0;
|
<meta name="description" lang="en" content="Alfresco offers open source enterprise content management including open source web content management software and document management software (Documentum, Jackrabbit, Sharepoint)" />
|
||||||
border: none;
|
<meta name="GOOGLEBOT" content="index, follow" />
|
||||||
}
|
<meta name="robots" content="index, follow" />
|
||||||
.frontpanel-icon ul {
|
<meta name="author" content="" />
|
||||||
margin-top: 10px;
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.php?feed=all" />
|
||||||
}
|
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
|
||||||
.frontpanel-icon ul li {
|
</script>
|
||||||
list-style-type: square;
|
<script type="text/javascript">
|
||||||
list-style-image: url(assets/images/frontpanel/bullet_b.gif);
|
_uacct = "UA-70509-2";
|
||||||
font-size: 1.2em;
|
urchinTracker();
|
||||||
margin-bottom: 5px;
|
</script>
|
||||||
}
|
<style type="text/css">
|
||||||
#tagline {
|
.frontpanel {
|
||||||
padding: 5px 1% 20px 1%;
|
margin: 10px 0 0 0;
|
||||||
margin: 0;
|
padding: 10px;
|
||||||
}
|
width: 740px;
|
||||||
#tagline p {
|
background-color: #f1f1f1;
|
||||||
font-size: 1.5em;
|
clear: both;
|
||||||
font-weight: 400;
|
}
|
||||||
color: #666666;
|
.frontpanel-icon {
|
||||||
padding: 0;
|
padding: 0 3px;
|
||||||
margin: 0px;
|
margin: 0;
|
||||||
}
|
float: left;
|
||||||
.front_column {
|
}
|
||||||
font-size: 1.2em;
|
.frontpanel-icon img {
|
||||||
width: 238px;
|
padding: 0;
|
||||||
float: left;
|
margin: 0;
|
||||||
margin: 0 20px 20px 0;
|
border: none;
|
||||||
border: 1px solid #cccccc;
|
}
|
||||||
padding-bottom: 1em;
|
.frontpanel-icon ul {
|
||||||
}
|
margin-top: 10px;
|
||||||
.front_list {
|
}
|
||||||
}
|
.frontpanel-icon ul li {
|
||||||
.front_list h2 {
|
list-style-type: square;
|
||||||
color: #333333;
|
list-style-image: url(assets/images/frontpanel/bullet_b.gif);
|
||||||
font-size: 1.25em;
|
font-size: 1.2em;
|
||||||
font-weight: 400;
|
margin-bottom: 5px;
|
||||||
margin-top: 0;
|
}
|
||||||
margin-bottom: 0;
|
#tagline {
|
||||||
padding: 5px 10px;
|
padding: 5px 1% 20px 1%;
|
||||||
background-color: #f1f1f1;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.front_list h2 a, .front_list h2 a:visited, .front_list h2 a:active {
|
#tagline p {
|
||||||
color: #333333;
|
font-size: 1.5em;
|
||||||
text-decoration: none;
|
font-weight: 400;
|
||||||
}
|
color: #666666;
|
||||||
.front_list h3 {
|
padding: 0;
|
||||||
font-size: 1em;
|
margin: 0px;
|
||||||
font-weight: 400;
|
}
|
||||||
margin-top: 1em;
|
.front_column {
|
||||||
margin-bottom: 0
|
font-size: 1.2em;
|
||||||
}
|
width: 238px;
|
||||||
.front_list p {
|
float: left;
|
||||||
margin-bottom: 0;
|
margin: 0 20px 20px 0;
|
||||||
}
|
border: 1px solid #cccccc;
|
||||||
.front_list p.date {
|
padding-bottom: 1em;
|
||||||
font-size: 0.9em;
|
}
|
||||||
margin-top: 0.25em;
|
.front_list {
|
||||||
}
|
}
|
||||||
.front_list h3, .front_list p {
|
.front_list h2 {
|
||||||
padding: 0 10px;
|
color: #333333;
|
||||||
}
|
font-size: 1.25em;
|
||||||
.front_list ul {
|
font-weight: 400;
|
||||||
padding-left: 0;
|
margin-top: 0;
|
||||||
margin-top: 1em;
|
|
||||||
margin-left: 30px;
|
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
list-style-type: none;
|
padding: 5px 10px;
|
||||||
}
|
background-color: #f1f1f1;
|
||||||
.front_list ul.right {
|
}
|
||||||
padding-left: 0;
|
.front_list h2 a, .front_list h2 a:visited, .front_list h2 a:active {
|
||||||
margin-left: 30px;
|
color: #333333;
|
||||||
}
|
text-decoration: none;
|
||||||
.front_list li {
|
}
|
||||||
|
.front_list h3 {
|
||||||
|
font-size: 1em;
|
||||||
|
font-weight: 400;
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0
|
||||||
|
}
|
||||||
|
.front_list p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.front_list p.date {
|
||||||
|
font-size: 0.9em;
|
||||||
|
margin-top: 0.25em;
|
||||||
|
}
|
||||||
|
.front_list h3, .front_list p {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
.front_list ul {
|
||||||
|
padding-left: 0;
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-left: 30px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
.front_list ul.right {
|
||||||
|
padding-left: 0;
|
||||||
|
margin-left: 30px;
|
||||||
|
}
|
||||||
|
.front_list li {
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
}
|
}
|
||||||
ul.front-links-top {
|
ul.front-links-top {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
list-style-image: none;
|
list-style-image: none;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
}
|
}
|
||||||
.front-links-top li {
|
.front-links-top li {
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
.front-links-top img {
|
.front-links-top img {
|
||||||
border: 0;
|
border: 0;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
.front-links-bot-left {
|
.front-links-bot-left {
|
||||||
float: left; width: 46%; margin-top: 1em; padding-left: 10px;
|
float: left; width: 46%; margin-top: 1em; padding-left: 10px;
|
||||||
list-style-image: url("assets/images/icons/arrow_b.gif");
|
list-style-image: url("assets/images/icons/arrow_b.gif");
|
||||||
}
|
}
|
||||||
.front-links-bot-right {
|
.front-links-bot-right {
|
||||||
float: left; width: 46%; margin-top: 1em;
|
float: left; width: 46%; margin-top: 1em;
|
||||||
list-style-image: url("assets/images/icons/arrow_b.gif");
|
list-style-image: url("assets/images/icons/arrow_b.gif");
|
||||||
}
|
}
|
||||||
#banner1 {
|
#banner1 {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
#banner2 {
|
#banner2 {
|
||||||
display: inline;
|
display: inline;
|
||||||
margin-left: 14px;
|
margin-left: 14px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script language="JavaScript" type="text/javascript" src="assets/js/controls.js"></script>
|
<!-- Container -->
|
||||||
<script language="JavaScript" type="text/javascript" src="assets/js/search.js"></script>
|
<div id="container">
|
||||||
<!-- Container -->
|
<jsp:directive.include file="/assets/include_main_navigation.html"/>
|
||||||
<div id="container">
|
<div id="outer">
|
||||||
<div id="masthead">
|
<div id="inner">
|
||||||
<!-- Search -->
|
<div id="shome"> </div>
|
||||||
|
</div>
|
||||||
<div id="top_links">
|
|
||||||
<ul>
|
|
||||||
<li><a href="/login/?returnpath=/">Sign In</a> |</li>
|
|
||||||
<li><a href="/accessibility/index.html">Accessibility</a> |</li>
|
|
||||||
<li><a href="/sitemap/index.html">Site Map</a> |</li>
|
|
||||||
<li><a href="/about/contact/index.html">Contact Us</a> |</li>
|
|
||||||
<li><a href="/store/index.html">Store</a> |</li>
|
|
||||||
<li><a href="/rss/?feed=all">RSS</a> <img src="/assets/images/icons/feedicon10.gif" alt="RSS" title="RSS" width="10" height="10" /></li>
|
|
||||||
</ul>
|
|
||||||
<form action="http://www.google.com/search" method="get"><br />
|
|
||||||
<input type="hidden" name="sitesearch" value="www.alfresco.com" />
|
|
||||||
<input type="hidden" name="ie" value="UTF-8" />
|
|
||||||
<input type="hidden" name="oe" value="UTF-8" />
|
|
||||||
<input class="searchbox" type="text" size="20" value="Search..." name="query" onfocus="if (this.value == 'Search...') this.value = ''; " onblur="if (this.value == '') this.value = 'Search...';" />
|
|
||||||
<input class="searchbutton" type="submit" name="" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- End Search -->
|
|
||||||
</div>
|
|
||||||
<div id="topnav">
|
|
||||||
<ul id="nav">
|
|
||||||
<li id="home"><a href="/index.jsp" accesskey="h" class="selected" ><span>Home</span></a></li>
|
|
||||||
<li id="products"><a href="/products/index.html" accesskey="p" ><span>Products</span></a></li>
|
|
||||||
<li id="services"><a href="/services/index.html" accesskey="s" ><span>Services</span></a></li>
|
|
||||||
<li id="customers"><a href="/customers/index.html" accesskey="c" ><span>Customers</span></a></li>
|
|
||||||
<li id="partners"><a href="/partners/index.html" accesskey="r" ><span>Partners</span></a></li>
|
|
||||||
<li id="about"><a href="/about/index.html" accesskey="a" ><span>About us</span></a></li>
|
|
||||||
<li id="developers"><a href="http://dev.alfresco.com/" accesskey="v" ><span>Developers</span></a></li>
|
|
||||||
<li id="blogs"><a href="http://blogs.alfresco.com/" accesskey="b" ><span>Blogs</span></a></li>
|
|
||||||
<li id="end"></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="outer">
|
|
||||||
<div id="inner">
|
|
||||||
<div id="shome"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="content"><img id="banner1" src="assets/images/banners/partner_podcast.gif" border="0" width="372" height="146" alt="Alfresco Partner Podcast" usemap="#bannermap1" /><img id="banner2" src="assets/images/banners/1_4_preview_banner.gif" border="0" width="373" height="146" alt="Alfresco 1.4 Community Preview now available" usemap="#bannermap2" /></div>
|
|
||||||
<map name="bannermap1" id="bannermap1">
|
|
||||||
<area href="redirect.php?source=30&url=http://blogs.alfresco.com/opentalk/" alt="Listen Now" shape="rect" coords="263,112,363,137" />
|
|
||||||
</map>
|
|
||||||
<map name="bannermap2" id="bannermap2">
|
|
||||||
<area href="redirect.php?source=27&url=http://www.alfresco.com/products/ecm/releases/1.4_preview/" alt="Learn More" shape="rect" coords="273,112,363,137" />
|
|
||||||
</map>
|
|
||||||
<div class="frontpanel">
|
|
||||||
<div id="tagline">
|
|
||||||
<p>Alfresco offers true Open Source Enterprise Content Management (ECM) - Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging. <a href="/products/ecm/fivesteps/discover/index.html">More...</a></p>
|
|
||||||
</div>
|
|
||||||
<div class="frontpanel-icons">
|
|
||||||
<div class="frontpanel-icon">
|
|
||||||
<a href="/products/ecm/fivesteps/discover/index.html"><img src="/assets/images/frontpanel/icon_discover.gif" border="0" alt="Discover" width="142" height="142" /></a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="/products/ecm/presentations/index.html">Presentations</a></li>
|
|
||||||
<li><a href="products/ecm/demonstrations/index.html">Demonstrations</a></li>
|
|
||||||
<li><a href="products/ecm/tour/index.html">Feature Tour</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="frontpanel-icon">
|
|
||||||
<a href="/products/ecm/fivesteps/learnmore/index.html"><img src="assets/images/frontpanel/icon_learnmore.gif" border="0" alt="Learn More" width="142" height="142" /></a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="products/index.html">Products</a></li>
|
|
||||||
<li><a href="media/whitepapers/index.html">White Papers</a></li>
|
|
||||||
<li><a href="http://blogs.alfresco.com/">Blogs</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="frontpanel-icon">
|
|
||||||
<a href="products/ecm/fivesteps/try/index.html"><img src="assets/images/frontpanel/icon_try.gif" border="0" alt="Try" width="142" height="142" /></a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="products/ecm/hostedtrials/index.html">Hosted Trials</a></li>
|
|
||||||
<li><a href="products/ecm/enttrial/index.html">Enterprise Trial</a></li>
|
|
||||||
<li><a href="http://dev.alfresco.com/downloads/">Open Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="frontpanel-icon">
|
|
||||||
<a href="products/ecm/fivesteps/buy/index.html"><img src="assets/images/frontpanel/icon_buy.gif" border="0" alt="Buy" width="142" height="142" /></a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="store/index.html">Store</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="frontpanel-icon">
|
|
||||||
<a href="products/ecm/fivesteps/use/index.html"><img src="assets/images/frontpanel/icon_use.gif" border="0" alt="Use" width="142" height="142" /></a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="services/training/index.html">Training</a></li>
|
|
||||||
<li><a href="services/consulting/index.html">Consulting</a></li>
|
|
||||||
<li><a href="services/support/index.html">Support</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="clear:both; padding-bottom: 0px;"></div>
|
|
||||||
</div>
|
|
||||||
<div style="clear:both; padding-bottom: 20px;"></div>
|
|
||||||
<div class="front_column">
|
|
||||||
<div class="front_list">
|
|
||||||
<h2>Alfresco In the News</h2>
|
|
||||||
|
|
||||||
<h3><a href="http://www.ecmconnection.com/content/news/article.asp?DocID=%7BBDE8CAFB-4273-4DEF-BF1A-6DBD95E0190E%7D">Alfresco Extends Leadership With Production Ready Open Source Business Process Management</a></h3>
|
|
||||||
<p class="date">Sep 14, 2006 (ECM Connection)</p>
|
|
||||||
|
|
||||||
<h3><a href="http://www.marketwire.com/mw/release_html_b1?release_id=162734">Alfresco and Kofax Announce Integration of Ascent Capture</a></h3>
|
|
||||||
<p class="date">Sep 13, 2006 (Market Wire)</p>
|
|
||||||
|
|
||||||
<h3><a href="http://itmanagement.earthweb.com/netsys/article.php/3631536">Open Source ECM in a Windows World</a></h3>
|
|
||||||
<p class="date">Sep 12, 2006 (JupiterWeb)</p>
|
|
||||||
|
|
||||||
<h3><a href="http://www.marketwire.com/mw/release_html_b1?release_id=161753">Alfresco Launches First Open Source Records Management Solution</a></h3>
|
|
||||||
<p class="date">Sep 11, 2006 (Market Wire)</p>
|
|
||||||
|
|
||||||
<h3><a href="http://opensource.sys-con.com/read/269540.htm">Alfresco Unveils New Version Of Open Source Enterprise CMS</a></h3>
|
|
||||||
<p class="date">Sep 07, 2006 (Enterprise Open Source)</p>
|
|
||||||
|
|
||||||
<p><a href="/rss/?feed=coverage">More Coverage</a> | <a href="/media/releases/index.jsp">Press Releases</a></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="front_column">
|
|
||||||
<div class="front_list">
|
|
||||||
<h2>Events & Training</h2>
|
|
||||||
|
|
||||||
<h3><a href="https://optaros.webex.com/optaros/mywebex/epmainframe.php?rlink=https%3A%2F%2Foptaros.webex.com%2Foptaros%2Fonstage%2Fmainframe.php%3Fmainurl%3D%2Foptaros%2Fonstage%2Ftool%2Fevent%2Fevent_detail.php%3FEventID%3D299966243%26FirstEnter%3D1%26GuestTimeZone%3D%26SourceId%3D">Optaros Open Source Content Management Solutions Webinar</a></h3>
|
|
||||||
<p class="date">Sep 26, 2006 (Online WebEx)</p>
|
|
||||||
<h3><a href="/services/training/index.html">US Training - Alfresco for Developers</a></h3>
|
|
||||||
<p class="date">Sep 26-28, 2006 (Washington, DC)</p>
|
|
||||||
<h3><a href="/services/training/index.html">Australia Training - Alfresco for Users and Administrators</a></h3>
|
|
||||||
<p class="date">Sep 26-28, 2006 (Melbourne)</p>
|
|
||||||
<h3><a href="/services/training/index.html">Alfresco at Gartner Open Source</a></h3>
|
|
||||||
<p class="date">Sep 27-29, 2006 (Phoenix)</p>
|
|
||||||
<h3><a href="http://www.forum-geide.com/">Alfresco at Forum de la Geide</a></h3>
|
|
||||||
<p class="date">Oct 03-05, 2006 (Paris)</p>
|
|
||||||
<p><a href="about/events/index.html">More Events</a> | <a href="services/training/index.html">More Training</a></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="front_column" style="margin-right: 0;">
|
|
||||||
<div class="front_list" style="margin-right: 0;">
|
|
||||||
<h2>Links</h2>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
</div>
|
|
||||||
<div style="clear: both;">
|
|
||||||
</div>
|
|
||||||
<div class="front-links-bot-left">
|
|
||||||
<ul class="front-links-top">
|
|
||||||
<li><a href="http://forge.alfresco.com/" title="Alfresco Community Forge"><img src="http://dev.alfresco.com/community/newsletters/2006/05/forge.gif" alt="Alfresco Forge" align="top" /><br />Forge</a></li>
|
|
||||||
<li><a href="http://podcasts.alfresco.com/" title="Open Source Talk podcast series"><img src="http://dev.alfresco.com/community/newsletters/2006/05/podcast.gif" alt="Alfresco Open Source Talk" align="top" /><br />Podcasts</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="front-links-bot">
|
|
||||||
<li><a href="http://forums.alfresco.com/" title="Alfresco Forums">Forums</a></li>
|
|
||||||
<li><a href="http://wiki.alfresco.com/" title="Alfresco Wiki">Wiki</a></li>
|
|
||||||
<li><a href="http://www.alfresco.org/jira/" title="Alfresco Bug Tracking (JIRA)">Bug Tracking</a></li>
|
|
||||||
<li><a href="http://dev.alfresco.com/" title="Developer site">Developers</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="front-links-bot-right">
|
|
||||||
<ul class="front-links-top">
|
|
||||||
<li><a href="/products/ecm/docs/1.3_draft/index.html" title="Documentation"><img src="document.gif" alt="Documentation" align="top" /><br />Documentation</a></li>
|
|
||||||
<li><a href="http://blogs.alfresco.com/" title="Alfresco Blogs"><img src="http://dev.alfresco.com/community/newsletters/2006/05/blogs.gif" alt="Alfresco Blogs" align="top" /><br />Blogs</a></li>
|
|
||||||
</ul>
|
|
||||||
<ul class="front-links-bot">
|
|
||||||
<li><a href="http://dev.alfresco.com/downloads/" title="Alfresco Downloads">Downloads</a></li>
|
|
||||||
<li><a href="/media/whitepapers/index.html" title="Alfresco White Papers">White Papers</a></li>
|
|
||||||
<li><a href="/about/careers/index.html" title="Alfresco Careers">Careers</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div style="clear: both;"></div></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="clear:both; padding-bottom: 10px;"></div>
|
|
||||||
</div> <!-- end container -->
|
|
||||||
<!-- Footer -->
|
|
||||||
<div id="footer">
|
|
||||||
<div id="site">
|
|
||||||
<div id="footer-logos">
|
|
||||||
<a href="http://www.mysql.com/"><img src="/assets/images/footer/mysql.gif" alt="MySQL" title="MySQL" border="0" /></a>
|
|
||||||
<a href="http://www.jboss.org"><img src="/assets/images/footer/jboss.gif" alt="JBoss Certified Partner" title="JBoss Certified Partner" border="0" width="74" height="34" /></a>
|
|
||||||
<a href="http://www.springframework.org/"><img src="/assets/images/footer/spring.gif" alt="Spring Framework" title="Spring Framework" border="0" width="67" height="34" /></a>
|
|
||||||
<a href="http://www.hibernate.org/"><img src="/assets/images/footer/hibernate.gif" alt="Hibernate" title="Hibernate" border="0" width="111" height="34" /></a>
|
|
||||||
<a href="http://tomcat.apache.org"><img src="/assets/images/footer/tomcat.gif" alt="Tomcat" title="Tomcat" border="0" width="44" height="34" /></a>
|
|
||||||
<a href="http://lucene.apache.org/"><img src="/assets/images/footer/lucene.gif" alt="Lucene" title="Lucene" border="0" width="143" height="34" /></a>
|
|
||||||
<a href="http://myfaces.apache.org/"><img src="/assets/images/footer/myfaces.gif" alt="My Faces" title="My Faces" border="0" width="37" height="34" /></a></div>
|
|
||||||
<div id="footer-links">
|
|
||||||
<p>
|
|
||||||
<a href="/index.jsp">Home</a> |
|
|
||||||
<a href="/legal/index.html">Legal</a> |
|
|
||||||
<a href="/privacy/index.html">Privacy</a> |
|
|
||||||
<a href="/accessibility/index.html">Accessibility</a> |
|
|
||||||
<a href="/sitemap/index.html">Site Map</a> |
|
|
||||||
<a href="/rss/?feed=all/">RSS</a>
|
|
||||||
<img src="/assets/images/icons/feedicon12.gif" alt="RSS" title="RSS" width="12" height="12" />
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a href="/about/index.html">Open Source ECMS</a> |
|
|
||||||
<a href="/products/">CMS Products</a> |
|
|
||||||
<a href="/services/support/index.html">Management Services</a> |
|
|
||||||
<a href="/resources/index.html">EMS Resources</a>
|
|
||||||
</p>
|
|
||||||
<p>© 2005-2006 Alfresco Software, Inc., All Rights Reserved</p>
|
|
||||||
<p><img src="/assets/images/icons/powered_by_alfresco.gif" alt="Powered by Alfresco" width="88" height="32" /><img src="http://alfresco.sourceforge.net/image.php" alt="" width="1" height="1" /></p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div id="content"><img id="banner1" src="assets/images/banners/partner_podcast.gif" border="0" width="372" height="146" alt="Alfresco Partner Podcast" usemap="#bannermap1" /><img id="banner2" src="assets/images/banners/1_4_preview_banner.gif" border="0" width="373" height="146" alt="Alfresco 1.4 Community Preview now available" usemap="#bannermap2" /></div>
|
||||||
<div style="clear:both; padding-bottom: 10px;"></div>
|
<map name="bannermap1" id="bannermap1">
|
||||||
</div>
|
<area href="redirect.php?source=30&url=http://blogs.alfresco.com/opentalk/" alt="Listen Now" shape="rect" coords="263,112,363,137" />
|
||||||
<div style="clear:both; padding-bottom: 20px;"></div>
|
</map>
|
||||||
<!-- End Footer -->
|
<map name="bannermap2" id="bannermap2">
|
||||||
<!-- START OF VERTICAL LEAP TRACKING -->
|
<area href="redirect.php?source=27&url=http://www.alfresco.com/products/ecm/releases/1.4_preview/" alt="Learn More" shape="rect" coords="273,112,363,137" />
|
||||||
<script type="text/javascript" language="JavaScript">
|
</map>
|
||||||
<!--
|
<div class="frontpanel">
|
||||||
var VLCampaignId = "1417";
|
<div id="tagline">
|
||||||
//-->
|
<p>Alfresco offers true Open Source Enterprise Content Management (ECM) - Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging. <a href="/products/ecm/fivesteps/discover/index.html">More...</a></p>
|
||||||
</script>
|
</div>
|
||||||
<script type="text/javascript" language="JavaScript"
|
<div class="frontpanel-icons">
|
||||||
src="http://roi.vertical-leap.co.uk/scripts/tracker.js"></script>
|
<div class="frontpanel-icon">
|
||||||
<!-- END OF VERTICAL LEAP TRACKING -->
|
<a href="/products/ecm/fivesteps/discover/index.html"><img src="/assets/images/frontpanel/icon_discover.gif" border="0" alt="Discover" width="142" height="142" /></a>
|
||||||
</body>
|
<ul>
|
||||||
</html>
|
<li><a href="/products/ecm/presentations/index.html">Presentations</a></li>
|
||||||
|
<li><a href="products/ecm/demonstrations/index.html">Demonstrations</a></li>
|
||||||
|
<li><a href="products/ecm/tour/index.html">Feature Tour</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="frontpanel-icon">
|
||||||
|
<a href="/products/ecm/fivesteps/learnmore/index.html"><img src="assets/images/frontpanel/icon_learnmore.gif" border="0" alt="Learn More" width="142" height="142" /></a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="products/index.html">Products</a></li>
|
||||||
|
<li><a href="media/whitepapers/index.html">White Papers</a></li>
|
||||||
|
<li><a href="http://blogs.alfresco.com/">Blogs</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="frontpanel-icon">
|
||||||
|
<a href="products/ecm/fivesteps/try/index.html"><img src="assets/images/frontpanel/icon_try.gif" border="0" alt="Try" width="142" height="142" /></a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="products/ecm/hostedtrials/index.html">Hosted Trials</a></li>
|
||||||
|
<li><a href="products/ecm/enttrial/index.html">Enterprise Trial</a></li>
|
||||||
|
<li><a href="http://dev.alfresco.com/downloads/">Open Source</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="frontpanel-icon">
|
||||||
|
<a href="products/ecm/fivesteps/buy/index.html"><img src="assets/images/frontpanel/icon_buy.gif" border="0" alt="Buy" width="142" height="142" /></a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="store/index.html">Store</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="frontpanel-icon">
|
||||||
|
<a href="products/ecm/fivesteps/use/index.html"><img src="assets/images/frontpanel/icon_use.gif" border="0" alt="Use" width="142" height="142" /></a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="services/training/index.html">Training</a></li>
|
||||||
|
<li><a href="services/consulting/index.html">Consulting</a></li>
|
||||||
|
<li><a href="services/support/index.html">Support</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both; padding-bottom: 0px;"> </div>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both; padding-bottom: 20px;"> </div>
|
||||||
|
<div class="front_column">
|
||||||
|
<div class="front_list">
|
||||||
|
<h2>Alfresco In the News</h2>
|
||||||
|
|
||||||
|
<h3><a href="http://www.ecmconnection.com/content/news/article.asp?DocID=%7BBDE8CAFB-4273-4DEF-BF1A-6DBD95E0190E%7D">Alfresco Extends Leadership With Production Ready Open Source Business Process Management</a></h3>
|
||||||
|
<p class="date">Sep 14, 2006 (ECM Connection)</p>
|
||||||
|
|
||||||
|
<h3><a href="http://www.marketwire.com/mw/release_html_b1?release_id=162734">Alfresco and Kofax Announce Integration of Ascent Capture</a></h3>
|
||||||
|
<p class="date">Sep 13, 2006 (Market Wire)</p>
|
||||||
|
|
||||||
|
<h3><a href="http://itmanagement.earthweb.com/netsys/article.php/3631536">Open Source ECM in a Windows World</a></h3>
|
||||||
|
<p class="date">Sep 12, 2006 (JupiterWeb)</p>
|
||||||
|
|
||||||
|
<h3><a href="http://www.marketwire.com/mw/release_html_b1?release_id=161753">Alfresco Launches First Open Source Records Management Solution</a></h3>
|
||||||
|
<p class="date">Sep 11, 2006 (Market Wire)</p>
|
||||||
|
|
||||||
|
<h3><a href="http://opensource.sys-con.com/read/269540.htm">Alfresco Unveils New Version Of Open Source Enterprise CMS</a></h3>
|
||||||
|
<p class="date">Sep 07, 2006 (Enterprise Open Source)</p>
|
||||||
|
|
||||||
|
<p><a href="/rss/?feed=coverage">More Coverage</a> | <a href="/media/releases/index.jsp">Press Releases</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="front_column">
|
||||||
|
<div class="front_list">
|
||||||
|
<h2>Events & Training</h2>
|
||||||
|
|
||||||
|
<h3><a href="https://optaros.webex.com/optaros/mywebex/epmainframe.php?rlink=https%3A%2F%2Foptaros.webex.com%2Foptaros%2Fonstage%2Fmainframe.php%3Fmainurl%3D%2Foptaros%2Fonstage%2Ftool%2Fevent%2Fevent_detail.php%3FEventID%3D299966243%26FirstEnter%3D1%26GuestTimeZone%3D%26SourceId%3D">Optaros Open Source Content Management Solutions Webinar</a></h3>
|
||||||
|
<p class="date">Sep 26, 2006 (Online WebEx)</p>
|
||||||
|
<h3><a href="/services/training/index.html">US Training - Alfresco for Developers</a></h3>
|
||||||
|
<p class="date">Sep 26-28, 2006 (Washington, DC)</p>
|
||||||
|
<h3><a href="/services/training/index.html">Australia Training - Alfresco for Users and Administrators</a></h3>
|
||||||
|
<p class="date">Sep 26-28, 2006 (Melbourne)</p>
|
||||||
|
<h3><a href="/services/training/index.html">Alfresco at Gartner Open Source</a></h3>
|
||||||
|
<p class="date">Sep 27-29, 2006 (Phoenix)</p>
|
||||||
|
<h3><a href="http://www.forum-geide.com/">Alfresco at Forum de la Geide</a></h3>
|
||||||
|
<p class="date">Oct 03-05, 2006 (Paris)</p>
|
||||||
|
<p><a href="about/events/index.html">More Events</a> | <a href="services/training/index.html">More Training</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="front_column" style="margin-right: 0;">
|
||||||
|
<div class="front_list" style="margin-right: 0;">
|
||||||
|
<h2>Links</h2>
|
||||||
|
|
||||||
|
<div> </div>
|
||||||
|
<div style="clear: both;"> </div>
|
||||||
|
<div class="front-links-bot-left">
|
||||||
|
<ul class="front-links-top">
|
||||||
|
<li><a href="http://forge.alfresco.com/" title="Alfresco Community Forge"><img src="http://dev.alfresco.com/community/newsletters/2006/05/forge.gif" alt="Alfresco Forge" align="top" /><br />Forge</a></li>
|
||||||
|
<li><a href="http://podcasts.alfresco.com/" title="Open Source Talk podcast series"><img src="http://dev.alfresco.com/community/newsletters/2006/05/podcast.gif" alt="Alfresco Open Source Talk" align="top" /><br />Podcasts</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul class="front-links-bot">
|
||||||
|
<li><a href="http://forums.alfresco.com/" title="Alfresco Forums">Forums</a></li>
|
||||||
|
<li><a href="http://wiki.alfresco.com/" title="Alfresco Wiki">Wiki</a></li>
|
||||||
|
<li><a href="http://www.alfresco.org/jira/" title="Alfresco Bug Tracking (JIRA)">Bug Tracking</a></li>
|
||||||
|
<li><a href="http://dev.alfresco.com/" title="Developer site">Developers</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="front-links-bot-right">
|
||||||
|
<ul class="front-links-top">
|
||||||
|
<li><a href="/products/ecm/docs/1.3_draft/index.html" title="Documentation"><img src="document.gif" alt="Documentation" align="top" /><br />Documentation</a></li>
|
||||||
|
<li><a href="http://blogs.alfresco.com/" title="Alfresco Blogs"><img src="http://dev.alfresco.com/community/newsletters/2006/05/blogs.gif" alt="Alfresco Blogs" align="top" /><br />Blogs</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul class="front-links-bot">
|
||||||
|
<li><a href="http://dev.alfresco.com/downloads/" title="Alfresco Downloads">Downloads</a></li>
|
||||||
|
<li><a href="/media/whitepapers/index.html" title="Alfresco White Papers">White Papers</a></li>
|
||||||
|
<li><a href="/about/careers/index.html" title="Alfresco Careers">Careers</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div style="clear: both;"> </div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="clear:both; padding-bottom: 10px;"> </div>
|
||||||
|
</div> <!-- end container -->
|
||||||
|
<jsp:directive.include file="/assets/footer.html"/>
|
||||||
|
<!-- START OF VERTICAL LEAP TRACKING -->
|
||||||
|
<script type="text/javascript" language="JavaScript">
|
||||||
|
<!--
|
||||||
|
var VLCampaignId = "1417";
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" language="JavaScript"
|
||||||
|
src="http://roi.vertical-leap.co.uk/scripts/tracker.js"></script>
|
||||||
|
<!-- END OF VERTICAL LEAP TRACKING -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</jsp:root>
|
||||||
|
@@ -78,7 +78,7 @@ Produces an html rendition of a press release
|
|||||||
</xsl:if>
|
</xsl:if>
|
||||||
<!-- END MAIN CONTENT -->
|
<!-- END MAIN CONTENT -->
|
||||||
<xsl:element name="a">
|
<xsl:element name="a">
|
||||||
<xsl:attribute name="href"><xsl:value-of select="fn:replaceAll(string($alfresco:derived_from_file_name), '.xml', '.txt')"/></xsl:attribute>
|
<xsl:attribute name="href"><xsl:value-of select="fn:replaceAll(string($alfresco:form_instance_data_file_name), '.xml', '.txt')"/></xsl:attribute>
|
||||||
<xsl:text>view plain text version</xsl:text>
|
<xsl:text>view plain text version</xsl:text>
|
||||||
</xsl:element>
|
</xsl:element>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -21,10 +21,19 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div>Generated by output-method-callout.ftl</div>
|
<div>Generated by output-method-callout.ftl</div>
|
||||||
|
<div class="name"><#noparse>${alfresco.avm_sandbox_url}</#noparse></div>
|
||||||
|
<span>${alfresco.avm_sandbox_url}</span>
|
||||||
|
<div class="name"><#noparse>${alfresco.form_instance_data_file_name}</#noparse></div>
|
||||||
|
<span>${alfresco.form_instance_data_file_name}</span>
|
||||||
|
<div class="name"><#noparse>${alfresco.rendition_file_name}</#noparse></div>
|
||||||
|
<span>${alfresco.rendition_file_name}</span>
|
||||||
|
<div class="name"><#noparse>${alfresco.parent_path}</#noparse></div>
|
||||||
|
<span>${alfresco.parent_path}</span>
|
||||||
|
|
||||||
<div class="name">My value accessed using <#noparse>${simple.string}</#noparse>:</div>
|
<div class="name">My value accessed using <#noparse>${simple.string}</#noparse>:</div>
|
||||||
<span>${simple.string}</span>
|
<span>${simple.string}</span>
|
||||||
<div class="name">My value accessed using <#noparse>$alfresco.getXMLDocument(${alfresco.derived_from_file_name})</#noparse>:</div>
|
<div class="name">My value accessed using <#noparse>$alfresco.getXMLDocument(${alfresco.form_instance_data_file_name})</#noparse>:</div>
|
||||||
<span>${alfresco.getXMLDocument(alfresco.derived_from_file_name).simple.string}</span>
|
<span>${alfresco.getXMLDocument(alfresco.form_instance_data_file_name).simple.string}</span>
|
||||||
<div class="name">Values from xml files generated by in ${alfresco.parent_path}:</div>
|
<div class="name">Values from xml files generated by in ${alfresco.parent_path}:</div>
|
||||||
<ul>
|
<ul>
|
||||||
<#list alfresco.getXMLDocuments('output-method-callout') as d>
|
<#list alfresco.getXMLDocuments('output-method-callout') as d>
|
||||||
|
@@ -32,10 +32,27 @@ body
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div>Generated by output-method-callout.xsl</div>
|
<div>Generated by output-method-callout.xsl</div>
|
||||||
|
<div class="name">
|
||||||
|
<xsl:value-of select="$alfresco:avm_sandbox_url"/>
|
||||||
|
</div>
|
||||||
|
<span><xsl:value-of select="$alfresco:avm_sandbox_url"/></span>
|
||||||
|
<div class="name">
|
||||||
|
<xsl:value-of select="$alfresco:form_instance_data_file_name"/>
|
||||||
|
</div>
|
||||||
|
<span><xsl:value-of select="$alfresco:form_instance_data_file_name"/></span>
|
||||||
|
<div class="name">
|
||||||
|
<xsl:value-of select="$alfresco:rendition_file_name"/>
|
||||||
|
</div>
|
||||||
|
<span><xsl:value-of select="$alfresco:rendition_file_name"/></span>
|
||||||
|
<div class="name">
|
||||||
|
<xsl:value-of select="$alfresco:parent_path"/>
|
||||||
|
</div>
|
||||||
|
<span><xsl:value-of select="$alfresco:parent_path"/></span>
|
||||||
|
|
||||||
<div class="name">My value accessed using /simple/string:</div>
|
<div class="name">My value accessed using /simple/string:</div>
|
||||||
<span><xsl:value-of select="/simple/string"/></span>
|
<span><xsl:value-of select="/simple/string"/></span>
|
||||||
<div class="name">My value accessed using alfresco:getXMLDocument(<xsl:value-of select="$alfresco:derived_from_file_name"/>):</div>
|
<div class="name">My value accessed using alfresco:getXMLDocument($alfresco:form_instance_data_file_name):</div>
|
||||||
<span><xsl:value-of select="alfresco:getXMLDocument($alfresco:derived_from_file_name)/simple/string"/></span>
|
<span><xsl:value-of select="alfresco:getXMLDocument($alfresco:form_instance_data_file_name)/simple/string"/></span>
|
||||||
<div class="name">Values from xml files generated by in <xsl:value-of select="$alfresco:parent_path"/>:</div>
|
<div class="name">Values from xml files generated by in <xsl:value-of select="$alfresco:parent_path"/>:</div>
|
||||||
<ul>
|
<ul>
|
||||||
<xsl:for-each select="alfresco:getXMLDocuments('output-method-callout')/simple">
|
<xsl:for-each select="alfresco:getXMLDocuments('output-method-callout')/simple">
|
||||||
|
@@ -95,6 +95,7 @@ if (upload == null || upload.getFile() == null)
|
|||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
</h:column>
|
</h:column>
|
||||||
|
|
||||||
<h:graphicImage id="graphic_image_root_tag_name"
|
<h:graphicImage id="graphic_image_root_tag_name"
|
||||||
value="/images/icons/required_field.gif" alt="Required Field" />
|
value="/images/icons/required_field.gif" alt="Required Field" />
|
||||||
<h:outputText id="output_text_root_tag_name" value="#{msg.schema_root_tag_name}:"/>
|
<h:outputText id="output_text_root_tag_name" value="#{msg.schema_root_tag_name}:"/>
|
||||||
@@ -103,7 +104,13 @@ if (upload == null || upload.getFile() == null)
|
|||||||
<f:selectItems value="#{WizardManager.bean.schemaRootTagNameChoices}"/>
|
<f:selectItems value="#{WizardManager.bean.schemaRootTagNameChoices}"/>
|
||||||
</h:selectOneMenu>
|
</h:selectOneMenu>
|
||||||
<h:graphicImage id="graphic_image_name" value="/images/icons/required_field.gif" alt="Required Field" />
|
<h:graphicImage id="graphic_image_name" value="/images/icons/required_field.gif" alt="Required Field" />
|
||||||
|
|
||||||
<h:outputText id="output_text_name" value="#{msg.name}:"/>
|
<h:outputText id="output_text_name" value="#{msg.name}:"/>
|
||||||
<h:inputText id="file-name" value="#{WizardManager.bean.formName}"
|
<h:inputText id="file-name" value="#{WizardManager.bean.formName}"
|
||||||
maxlength="1024" size="35"/>
|
maxlength="1024" size="35"/>
|
||||||
|
|
||||||
|
<h:outputText id="no_graphic_image_description" value=""/>
|
||||||
|
<h:outputText id="output_text_description" value="#{msg.description}:"/>
|
||||||
|
<h:inputText id="description" value="#{WizardManager.bean.formDescription}"
|
||||||
|
maxlength="1024" size="35"/>
|
||||||
</h:panelGrid>
|
</h:panelGrid>
|
||||||
|
Reference in New Issue
Block a user