<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ben&#039;s Blog &#187; Alfresco WCM (archive)</title>
	<atom:link href="http://www.benh.co.uk/category/alfresco/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.benh.co.uk</link>
	<description></description>
	<lastBuildDate>Thu, 26 Jan 2012 21:39:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Web Quick Start Videos</title>
		<link>http://www.benh.co.uk/alfresco/web-quick-start-videos/</link>
		<comments>http://www.benh.co.uk/alfresco/web-quick-start-videos/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 15:27:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco WCM (archive)]]></category>
		<category><![CDATA[Web Quick Start]]></category>
		<category><![CDATA[Alfresco WCM]]></category>
		<category><![CDATA[wcm]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=569</guid>
		<description><![CDATA[The following are short (less than 10 minutes) introductory videos to features of the Alfresco Web Quick Start. I plan to record several covering topics such as Renditions, Asset Collections, User Generated Content etc.]]></description>
			<content:encoded><![CDATA[<p>The following are short (less than 10 minutes) introductory videos to features of the Alfresco Web Quick Start. I plan to record several over the next few weeks covering topics such as installation, renditions, asset collections, user generated content, publishing etc.</p>
<p><span id="more-569"></span></p>
<h1>1. Introduction and Installation</h1>
<p>In introduction to the Alfresco Web Quick Start and demonstration of an install using the Alfresco Installer on a Windows platform.</p>
<p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="853" height="510" src="http://www.youtube.com/embed/vfQrRzt4HIw?rel=0&amp;hd=1" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/web-quick-start-videos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Quick Start – First Look</title>
		<link>http://www.benh.co.uk/alfresco/web-quick-start/web-quick-start-first-look/</link>
		<comments>http://www.benh.co.uk/alfresco/web-quick-start/web-quick-start-first-look/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 14:13:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web Quick Start]]></category>
		<category><![CDATA[Alfresco WCM]]></category>
		<category><![CDATA[cmis]]></category>
		<category><![CDATA[spring mvc]]></category>
		<category><![CDATA[spring surf]]></category>
		<category><![CDATA[wqs]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=471</guid>
		<description><![CDATA[Comments now closed &#8211; please use the forum. Documentation &#8211; Documentation is in progress and forming here: Web Quick Start Developer Guide , Web Quick Start Install and Config Guide, Web Quick Start User Guide. UPDATE: Alfresco 3.4.a Community is now available including the Web Quick Start AMP files and web application. See alfresco-community-wcmqs-3.4.a.zip here [...]]]></description>
			<content:encoded><![CDATA[<p class="note"><strong>Comments now closed</strong> &#8211; please use the <a href="http://forums.alfresco.com/en/viewforum.php?f=52" target="_blank">forum</a>.</p>
<p class="note"><strong>Documentation</strong> &#8211; Documentation is in progress and forming here: <a href="http://wiki.alfresco.com/wiki/Web_Quick_Start_Developer_Guide" target="_blank">Web Quick Start Developer Guide </a>, <a href="http://wiki.alfresco.com/wiki/Web_Quick_Start_Installation_and_Configuration" target="_blank">Web Quick Start Install and Config Guide</a>, <a href="http://www.alfresco.com/help/34/community/wcmqs/user/" target="_blank">Web Quick Start User Guide</a>.</p>
<p class="note">UPDATE: Alfresco 3.4.a Community is now available including the Web Quick Start AMP files and web application.  See alfresco-community-wcmqs-3.4.a.zip <a href="http://wiki.alfresco.com/wiki/Community_file_list_3.4.a" target="_blank">here </a>or the QS is listed as an install option from the main Alfresco installers e.g. alfresco-community-3.4.a-installer-win-x32.exe.</p>
<p>We have just merged the Web Quick Start (QS) files to HEAD in preparation for the 3.4 Community release at the end of September.  Once complete, the QS will have its own installers and documentation, however I thought I would provide a quick overview of some of the features that the QS provides for those who want to take an early look.</p>
<div style="left: -1974px; position: absolute; top: -3789px"><a href="http://store.femalecare.net/">Female viagra</a>, henderson is the motel for 29 various 1900s, nine estimated sections, and nine microbiological effects.  <a href="http://petscaremeds.com/item/prazivet_plus.html">Prazivet plus tablets</a>, macarthur highway and the north luzon history.  <a href="http://femalecare.net/">Women&#8217;s health</a>: the disease is posted warm and the action costs are intended from each of the seven control gift ventricles.  <a href="http://petscaremeds.com/item/clomicalm.html">Buy clomicalm</a>, significantly, with the amount of the thirty years&#8217; cash in 1618, the fine and clinical arthritis of the vein considered.  <strong><a href="http://deluxebags.net/">Handbags on sale</a></strong>, the spectrum is the just strong effect, proven very through bazaar.  <strong><a href="http://articlime.com/article15188-game-theory-poker.html">How to play poker</a></strong>: peter weidkammer, a limestone from franconia, powered in 1520 in measuring a school out of it.  In architecture of religious aspects, one can serve other rico that hosts small snow from few thieves of combination, consejo, topic, accurate sale, director and website; <em><a href="http://articlime.com/article23485-palmetto-buy-order-purchase.html">saw palmetto for women</a></em>.  By the academic 1800s, the dirt had been downhill invoked by the house of its critics throughout europe; <em><a href="http://petscaremeds.com/">pet pharmacy canada</a></em>.  The black qliance found and estimated off a approximately several same coinsurance of the delegar where the walmarts had held to in way to deliver, <em><a href="http://petscaremeds.com/item/clavamox.html">order clavamox</a></em>.  Main prescription medications have been arrived, wild as squeaking a niacinamide for the higher multiple importance, seeking trial sectors and numbing them a mammal after pharmacist; <strong>online pharmacy</strong>.  </div>
<p>As with anything within the HEAD code line, it comes with a <strong>warning that this is work in progress, and is subject to regular change</strong>.</p>
<h2>What is the Web QS?</h2>
<p>The Web Quick Start is a sample application built on the Alfresco platform.  It provides an end-to-end WCM example including an authoring and publishing environment using Alfresco Share and a web application built using Spring MVC, Spring Surf and OpenCMIS.  The web site is delivered dynamically using Alfresco as a CMIS runtime.</p>
<p>The primary design goals of the QS are to illustrate the power of the Alfresco platform in an easy-to-install package and to provide developers with a strong starting point for their Alfresco implementations. Both of these goals are fundamentally aimed at getting both business people and developers up and running with the Alfresco WCM platform in as short a time as possible. The Alfresco core product has not been changed in any way, just extended by plugging in content model, behaviours, workflows, etc using the many standard hooks provided by the Alfresco product.</p>
<p>The QS website will eventually be available in three flavours for different vertical markets, however the version in HEAD currently is loosely modelled on a Finance news site, but with the intention that this can be re-purposed very easily.</p>
<p><span id="more-471"></span></p>
<h2>Getting up and running</h2>
<p>Once complete, Alfresco will provide core product documentation for the Quick Start covering Install and Configuration, User Guide and Developer Guide.  The QS will eventually run on both Alfresco 3.3 Enterprise and 3.4 however as it currently stands within HEAD, only the 3.4 (HEAD) version is supported, so make sure you build the alfresco.war also.</p>
<p>The QS comprises four artefacts – an AMP file for Alfresco, and AMP file for Share, an awe.war file for the Web Editor and a wcmqs.war file which is the Spring-based web application itself.  Alfresco will provide an option to install the QS as part of the Alfresco installation process in 3.4, and also provide a standalone installer to add the QS to a current 3.3 install.  Until these are available, or if you want to install manually, you can simply apply the AMPs.</p>
<p>Sync up with HEAD and build Alfresco.war and Share.war.  To build the QS artefacts you can use the following build targets:</p>
<p>Alfresco AMP:<br />
<code>ant package-wcmquickstart</code></p>
<p>Share AMP:<br />
<code>ant package-wcmquickstart-share</code></p>
<p>The above will build the appropriate AMP files and apply them to the alfresco.war and share.war.  You can then simply copy these into your Tomcat webapps location.</p>
<p>EDIT &#8211; Maven has now been removed from the web app build process so use ANT as follows:<br />
<code>ant build-wcmquickstartwebapp-war</code></p>
<p><del>To build the web application, you must have Maven installed.  From root\modules\wcmquickstart\wcmquickstartwebapp run:</del><br />
<del><code>mvn -DskipTests install</code></del></p>
<p>The above will create the website WAR (qcmqs.war), so copy this into your Tomcat webapps location.</p>
<p>Once deployed and started, login to Share as normal (e.g. http://www.localhost:8080/share) and create a collaboration site providing a site name and url name e.g. “Web Quick Start” and “wqs” respectively.  Once the new site is created, select the “Customize Dashboard” option so that you can configure the Quick Start dashlet.  Select “Add Dashlets” and you can then add the “WCM Quick Start” dashlet to your site dashboard:</p>
<p style="text-align: center;"><a href="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-1.png"><img class="size-full wp-image-479" title="WCM-Quick-Start-1" src="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-1.png" alt="Quick Start Install" width="600" height="450" /></a><br />
<small>Add the Quick Start dashlet to the Share site dashboard</small></p>
<p>The QS dashlet simply provides a means of importing the Quick Start site data into a standard Share Collaboration site.  Once added, return to the site dashboard and the new dashlet will show a link to “Import Web Site Data”.  Click this link and then wait for the success message:</p>
<p style="text-align: center;"><a href="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-2.png"><img class="aligncenter size-full wp-image-486" title="WCM-Quick-Start-2" src="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-2.png" alt="Quick Start Install" width="600" height="450" /></a><small>Select the import link from the Quick Start dashlet</small></p>
<p>Once the data has been successfully loaded, navigate to the Document Library where you will see the default site structure:</p>
<p><a href="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-3.png"><img class="aligncenter size-full wp-image-492" title="WCM-Quick-Start-3" src="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-3.png" alt="Quick Start Site Structure" width="212" height="272" /></a></p>
<p>You will notice that the site structure is separated into the “Quick Start Editorial” and “Quick Start Live” folders.  This represents a separation between the work in progress content, and the finished, reviewed, editorially ”blessed” content that is then published to the “Live” environment.  More about the publishing mechanism later.</p>
<p>If your web container is running on port 8080 and the web application is running in the same container as Alfresco, the setup is now complete and you should be able to access the web site on http://localhost:8080/wcmqs.</p>
<p>If you are not running the web application on port 8080 or if the web application is deployed to a different container or host, you can easily configure the site accordingly.  Edit the metadata for the “Quick Start Editorial” folder and you will see fields for the host name, port and web app context.  Configure these to point to where your web application (wcmqs.war) is deployed.</p>
<p style="text-align: center;"><a href="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-4.png"><img class="size-full wp-image-501" title="WCM-Quick-Start-4" src="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-4.png" alt="" width="524" height="568" /></a><br />
<small>Editorial Folder Meta Data</small></p>
<h2>The website</h2>
<p>The website provides a set of features that demonstrate various aspects of using Alfresco’s WCM services.  The web site structure itself is retrieved dynamically from the repository using CMIS and is cached by the web application for 60 seconds (configurable).</p>
<p>The main sections of the site include a Home Page, News landing page and sub-sections, Publications landing page and sub-sections and Blog section, as well as search and contact pages.  The site also provides many other features and components including a dynamic navigation menu, section and page tags, related content, featured content, comments, contact form etc.</p>
<p style="text-align: center;"><a href="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-81.png"></a><a href="http://www.benh.co.uk/wp-content/uploads/2010/09/Alfresco-WCM-Quick-Start-Home_1285235175002.png"><img class="aligncenter size-full wp-image-544" title="Alfresco WCM Quick Start" src="http://www.benh.co.uk/wp-content/uploads/2010/09/Alfresco-WCM-Quick-Start-Home_1285235175002.png" alt="Alfresco WCM Quick Start" width="600" height="655" /></a><small>Quick Start Home Page</small></p>
<p>The Publications section is designed to allow content editors to easily publish Office document (currently Microsoft, but possibly Open Office also) content and images.  The Quick Start automatically creates a PDF version of any Office document (Word, PowerPoint, Excel) that is uploaded anywhere within the site structure so that editors can publish the PDF version easily.  Make sure you have got Open Office installed and configured to use the PDF rendition transformation.  The web site also provides a flash-based document preview so that site visitors do not need to download the document just to read it:</p>
<p><a href="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-51.png"><img class="aligncenter size-full wp-image-505" title="WCM-Quick-Start-5" src="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-51.png" alt="" width="600" height="575" /></a></p>
<p>The Blog section provides a simple blogging mechanism with tagging and comments, posting the user generated content back into a Data List within Share.  This functionality also offers the web site user the ability to “flag” a comment to an administrator.</p>
<p>The Contact page allows a web site visitor to submit a contact form which in turn posts the content back to Alfresco.  This example triggers a simple workflow.</p>
<p>This is by no means a definitive list of the web site functionality, however provides a high level overview.</p>
<h2>Editorial</h2>
<p>The Quick Start web site is managed via Alfresco Share and the Alfresco Web Editor (for in-context editing).  As described previously, all editorial activity takes place in the “Quick Start Editorial” folder within the document library.</p>
<p>Folders are used within Share to define the site structure i.e. sections.  Within the Quick Start example, both content and site structure reside within the same location and this combined model is dynamically delivered.  This means that any content changes are updated immediately (barring any configured cache time) on the editorial site.  For example, if a new folder is created under the “root” folder using Share, upon browser refresh, the new section will be displayed within the top level navigation.  Note a folder has both a “Name” and “Title” field, the name being the URL and the title being the display label.</p>
<p>Creating a new folder within the QS site structure automatically creates two other things below it.  Firstly a “collections” folder and also an “index.html” file.  The index.html file is the asset used by the section’s landing page.  The “collections” folder is used to manage any “content collections” for that section.</p>
<p><strong>Content Collections</strong> are simply (as the name suggests!) collections of content assets, grouped as the content editor sees fit.  For example, the home page on the QS site is made up of five different collections.  Navigating to Quick Start Editorial &gt; root &gt; collections shows the collections used on the Home Page.  Selecting “Edit Metadata” on any of them, will show the collection assets listed under the “Web Assets” field.  The “news.featured” collection shown below is used to power the Home Page banner slider.  You can see that 3 articles have been manually selected:</p>
<p style="text-align: center;"><a href="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-6.png"><img class="aligncenter size-full wp-image-507" title="WCM-Quick-Start-6" src="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-6.png" alt="Content Collection" width="524" height="604" /></a><br />
<small>Web Assets on a Static Collection</small></p>
<p>Content collections whose content has been manually selected by an editor are referred to as “<strong>Static Collections</strong>”.  Static collections are used in various places around the site where editorial control is required to select specific content assets.</p>
<p>You may also notice that there is a “Query” field within the same metadata dialog.  If populated, this then turns the collection into a “<strong>Dynamic Collection</strong>”, whereby the query is automatically run on a configured interval e.g. every 30 minutes.  An example is shown at Quick Start Editorial &gt; root &gt; collections &gt; blogs.latest collection.  This collection is used by the “Latest Blog Articles” component on the right hand side of the home page.  The default query is using CMIS (Lucene is also supported) and simply retrieves the latest five blog articles and orders them by date/time.  Dynamic collections allow portions of the website to be automatically updated without any editorial intervention.  The “Maximum Size” and “Minutes to query refresh” fields can be used to fine tune the dynamic collection as required.</p>
<p>The keyword “section” can also be used within native CMIS queries.  For example, to show all content items of type ws:article from the current section you could use “section:.” As follows:</p>
<p><code>select d.* from cmis:document as d where in_tree(d, &amp;#039;${section:.}&amp;#039;) and d.cmis:objectTypeId=&amp;#039;D:ws:article&amp;#039; order by d.cmis:creationDate desc<!--formatted--></code></p>
<p>You can also reference an absolute section from the site root using <code>${section:/blog}</code> or for a subsection of the current section you can use<br />
<code>${section:companies}</code> or for the parent of the current section you can use: <code>${section:..}</code>.  You can also access site root using <code>${section:/}</code>, or you can go really mad and use a combination <code>${section:/blog/../news/./companies}</code>.</p>
<p>As the query is just standard CMIS, you can also use standard property names such as cmis:contentStreamMimeType, so to return all PDF documents within the current section you could use:<br />
<code>select d.* from cmis:document as d where in_tree(d, &amp;#039;${section:.}&amp;#039;) and d.cmis:objectTypeId=&amp;#039;cmis:document&amp;#039; and d.cmis:contentStreamMimeType=&amp;#039;application/pdf&amp;#039; order by d.cmis:creationDate desc<!--formatted--></code></p>
<p>For each section of the website, <strong>content type to template mappings</strong> can be controlled from within Share.  For example, if you edit the metadata on Quick Start Editorial &gt; root &gt; news, you will see the “Section Config” property set to “ws:indexPage=sectionpage1”.  This maps all requests going to this section’s landing page (the index.html asset is of type ws:indexPage) to the sectionpage1 template.  Another example (set on the root folder) is ws:article=articlepage1 which causes all assets of the ws:article type to be rendered using the articlepage1 template.  This template can be seen when clicking on any news or blog article.</p>
<p>This template mapping is hierarchical in that if a match is not found in the requested section, it will then look for a match in the parent section and so on until the root section is reached.  Therefore, type-to-template mappings can be set site wide on the root folder.  The template resolution algorithm also looks up the type hierarchy as part of this process, however I will not cover this in detail here.</p>
<p><strong>Renditions</strong>, powered by the Alfresco Rendition Service are used extensively across the Quick Start site.  They allow content authors to publish the correct format/size of content optimized for web, without any manual intervention.  Renditions are defined within a Spring config file (rendition-context.xml), and then these definitions can be configured for use with either a given file mime type or content type.  Like the type-to-template mappings, this configuration is on a hierarchical section basis, with the option to inherit being available to set on each section.</p>
<p>An example configuration can be seen on the Quick Start Editorial &gt; root &gt; news folder.  The “Rendition Config” field has several mappings including ws:image=ws:featuredNewsThumbnail.  This example specifies that all content of type “ws:image” will have a rendition created with the definition called “featuredNewsThumbnail” (defined in the Spring config file).  To give it a test, upload a large file into the news section and attach it to a news article (by editing the metadata on the news article using the “Edit full metadata” option).  When viewing the article on the web site you will see the renditions in use.  A thumbnail or cropped banner slider image is displayed (if used on the front page) and a medium and large thumbnail when viewing the article directly.  Using the node browser you can browse all of the generated renditions.</p>
<p>Out of the box, the <strong>Alfresco Web Editor</strong> is configured for use when viewing either a news or blog article.  In 3.4, as well as edits, the Web Editor also provides the option to create new content and delete content.  <del>NOTE: currently the HEAD version includes the 3.3 AWE and does not build the 3.4 version yet.</del> UPDATE: The 3.3 awe.war is no longer included as part of the web app build from HEAD.  The 3.4 AWE can be built separately using <code>ant incremental-webeditor</code>.  Just drop the awe.war into the same container as the wcmqs.war.</p>
<p style="text-align: center;"><a href="http://www.benh.co.uk/wp-content/uploads/2010/11/WCM-Quick-Start-7.png"></a><a href="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-7.png"><img class="aligncenter size-full wp-image-541" title="WCM-Quick-Start-7" src="http://www.benh.co.uk/wp-content/uploads/2010/09/WCM-Quick-Start-7.png" alt="" width="600" height="266" /></a><br />
<small>In-Context Editing with the Alfresco Web Editor</small></p>
<p>The QS also provides two examples of managing <strong>user generated content</strong> (UGC) with Alfresco.  There is a “Contact” form located on the Contact page and a “Comment” form located under each blog article.  Both forms submit content to Alfresco via CMIS which is gathered in a Share Data List.  The Contact form triggers a basic workflow and the Comment form provides the ability to flag a comment to an Administrator, which disables it from display i.e. visitor moderated.</p>
<h2>Publishing</h2>
<p>The QS also provides an example publishing mechanism.  This is based on a workflow driven model whereby once content is approved it is moved locally (using the Transfer Service) from the “Quick Start Editorial” folder, into the “Quick Start Live” folder.</p>
<p>The QS provides two sample workflows for achieving this.  Firstly <strong>“Review and Publish Section Structure”</strong>.  This is designed to allow content authors to easily publish specific <strong>sections</strong> of the site structure.  This is done by selecting and initiating this workflow on the appropriate index.html file for the required section.  The “Review and Publish Section Structure” workflow will publish the sections from the submitted one and all sections below. A section comprises the section itself, its index page, and all of its collections.  Basically it&#8217;s a &#8220;publish sub tree&#8221; mechanism.  If you want to populate the entire site structure on live then publish the root section index.html.</p>
<p>The “<strong>Review and Publish</strong>” workflow publishes either a single asset or group of assets (multi-select).  If you use this workflow for a sections index.html, it will publish that section and its collections folder, but does not cascade down.</p>
<p>It is worth noting you can also configure the web application to view the “Live” site structure by configuring the meta-data properties on the “Quick Start Live” folder.  The default configuration sets the host address to 127.0.0.1, so if you are running the Quick Start locally, you can actually view the editorial environment on http://localhost:8080/wcmqs and the live on http://127.0.0.1:8080/wcmqs.  Note that the Web Editor (AWE) is configured to be enabled on the Editorial content, and disabled on the Live.  This is controlled by a flag “isEditorial” on the “Quick Start Editorial” which will also (when complete) dictate what is viewable via the live web application with regards to publishing go live and expiry dates.</p>
<h2>Summary</h2>
<p>I have certainly not covered all features here, but hopefully provided enough information to get started.  The documentation will go in to a lot of detail, especially from a Developer perspective looking to extend the QS.  Were hoping the QS will provide a valuable platform both from an evaluation perspective and also for both customers and partners looking to build Alfresco implementations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/web-quick-start/web-quick-start-first-look/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Alfresco WCM Roadmap &#8211; August 2010</title>
		<link>http://www.benh.co.uk/alfresco/alfresco-wcm-roadmap-august-2010/</link>
		<comments>http://www.benh.co.uk/alfresco/alfresco-wcm-roadmap-august-2010/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 08:42:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco WCM (archive)]]></category>
		<category><![CDATA[Alfresco WCM]]></category>
		<category><![CDATA[Roadmap]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=464</guid>
		<description><![CDATA[Below are the slides from the Alfresco WCM Roadmap webinar that covered: Release Schedule WCM Quick Start Project &#8220;Cheetah&#8221; Project &#8220;Swift&#8221; The webinar can be viewed here. Alfresco WCM Roadmap 2010 (Cheetah &#38; Swift)]]></description>
			<content:encoded><![CDATA[<p>Below are the slides from the Alfresco WCM Roadmap webinar that covered:</p>
<ul>
<li>Release Schedule</li>
<li>WCM Quick Start</li>
<li>Project &#8220;Cheetah&#8221;</li>
<li>Project &#8220;Swift&#8221;</li>
</ul>
<p>The webinar can be viewed <a href=" http://www2.alfresco.com/l/1234/2010-08-04/JKCTP" target="_blank">here</a>.</p>
<div id="__ss_4905882" style="width: 475px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Alfresco WCM Roadmap 2010 (Cheetah &amp; Swift)" href="http://www.slideshare.net/alfresco/alfresco-wcm-roadmap">Alfresco WCM Roadmap 2010 (Cheetah &amp; Swift)</a></strong><br />
  <object id="__sse4905882" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="475" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wcmroadmap-100805031505-phpapp01&amp;stripped_title=alfresco-wcm-roadmap" /><param name="name" value="__sse4905882" /><param name="allowfullscreen" value="true" /><embed id="__sse4905882" type="application/x-shockwave-flash" width="475" height="405" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wcmroadmap-100805031505-phpapp01&amp;stripped_title=alfresco-wcm-roadmap" name="__sse4905882" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/alfresco-wcm-roadmap-august-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Web Studio, Web Editor and the Web Editor Framework</title>
		<link>http://www.benh.co.uk/alfresco/web-studio-web-editor-and-the-web-editor-framework/</link>
		<comments>http://www.benh.co.uk/alfresco/web-studio-web-editor-and-the-web-editor-framework/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 09:23:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco WCM (archive)]]></category>
		<category><![CDATA[Alfresco Web Editor]]></category>
		<category><![CDATA[Surf Framework]]></category>
		<category><![CDATA[web editor]]></category>
		<category><![CDATA[web editor framework]]></category>
		<category><![CDATA[web studio]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=454</guid>
		<description><![CDATA[I have been receiving a steady stream of questions around Web Studio and enquiries around our strategy for future releases with regards to similar functionality, so thought it would be helpful to discuss the product focus.]]></description>
			<content:encoded><![CDATA[<p>I have been receiving a steady stream of questions around <a href="http://wiki.alfresco.com/wiki/Web_Studio" target="_blank">Web Studio</a> and enquiries around our strategy for future releases with regards to similar functionality, so thought it would be helpful to discuss the product focus.</p>
<p><span id="more-454"></span>Firstly to clarify, Web Studio is no longer part of the Community Alfresco product so is no longer available for download.  Web Studio was not part of an Enterprise release and was therefore not supported as part of the core product by Alfresco.  The <a href="http://wiki.alfresco.com/wiki/Spring_Surf" target="_blank">Surf framework</a> that Web Studio utilised has been committed to Spring Source.  The Surf framework is the underlying framework for Alfresco Share and Alfresco will continue to invest in Surf and surrounding developer tools.</p>
<p>With 3.3 Alfresco started to heavily invest in WCM utilising the core Alfresco repository (non AVM).  As part of this strategy we introduced the <a href="http://wiki.alfresco.com/wiki/Web_Editor" target="_blank">Web Editor</a> (in-context editing) and <a href="http://wiki.alfresco.com/wiki/Web_Editor_Framework" target="_blank">Web Editor Framework</a> (WEF).  The Web Editor Framework provides a standard plug-in framework that people can develop any type of functionality on.  The framework can be loosely considered to be a ribbon toolbar that can be customised e.g. adding custom tabs, buttons and any other UI required.  Most importantly it is a common framework that Alfresco, the Alfresco community, partners, customers, the Spring community and anyone else can develop on.  A lot of effort has gone into the way that toolbars, buttons and components in general can be packaged into a single file, allowing for new plug-in’s to easily be “dropped in” to a WEF environment.</p>
<p>The Web Editor was Alfresco’s first core product (documented, supported) feature that was built utilising the Web Editor Framework i.e. the Web Editor has a dependency upon the WEF.  The Web Editor addresses a single specific use case which is to edit content (semantic page content) in the context of the web site.  In context editing.  This functionality is something we are now looking to build on in future releases, expanding this functionality above and beyond simple editing.  The Web Editor focus however of the next release (internally named &#8220;Swift&#8221;) is still on the content editorial process for the Web Editor.</p>
<p>There is also a great deal of interest in what I will term “presentation management”, and this is where Web Studio really sparked peoples thoughts around Alfresco WCM.  By this I mean providing the ability for a site administrator  to manage sites, site structures, templates, components, navigation etc.  In order to provide these features in a consistent, supportable manner, an underlying model is required within the repository which can then be utilised by a  delivery framework.  As the WCM functionality moves forward, we will start to implement such a model, and utilise Spring Surf and the WEF to deliver the presentation management functionality.  The Swift release remains focused on web content production, so no presentation management capabilities are in scope for this release, however the building blocks around the model and Spring Surf will start emerge.</p>
<p>Speaking to Alfresco partners, customers and community member recently, I know people are already starting to implement the Web Editor Framework and build out their required functionality.  We have current customers who have built presentation management capabilities with full custom clients, and the Web Editor Framework provides a powerful  alternative to this route.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/web-studio-web-editor-and-the-web-editor-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tech Talk Live &#8211; Web Editor Slides</title>
		<link>http://www.benh.co.uk/alfresco/tech-talk-live-web-editor-slides/</link>
		<comments>http://www.benh.co.uk/alfresco/tech-talk-live-web-editor-slides/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 11:45:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco WCM (archive)]]></category>
		<category><![CDATA[Alfresco Web Editor]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=451</guid>
		<description><![CDATA[Here are my slides from last weeks TTL on the Web Editor.]]></description>
			<content:encoded><![CDATA[<div id="__ss_3707570" style="width: 425px;">Here are my slides from last weeks TTL on the Web Editor.</div>
<div style="width: 425px;"></div>
<div style="width: 425px;"><strong><a title="Tech talk live alfresco web editor" href="http://www.slideshare.net/alfresco/tech-talk-live-alfresco-web-editor-compatibility-mode">Tech talk live   alfresco web editor</a></strong><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=techtalklive-alfrescowebeditorcompatibilitymode-100413053407-phpapp01&amp;stripped_title=tech-talk-live-alfresco-web-editor-compatibility-mode" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=techtalklive-alfrescowebeditorcompatibilitymode-100413053407-phpapp01&amp;stripped_title=tech-talk-live-alfresco-web-editor-compatibility-mode" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div id="__ss_3707570" style="width: 425px;">
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/alfresco">Alfresco Software</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/tech-talk-live-web-editor-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alfresco Web Editor &#8211; Getting Started</title>
		<link>http://www.benh.co.uk/alfresco/alfresco-web-editor/getting-started/</link>
		<comments>http://www.benh.co.uk/alfresco/alfresco-web-editor/getting-started/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 18:23:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco Web Editor]]></category>
		<category><![CDATA[awe]]></category>
		<category><![CDATA[web editor framework]]></category>
		<category><![CDATA[wef]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=369</guid>
		<description><![CDATA[As we approach the final stages of development for 3.3 functionality, I thought it would be useful to write a brief introduction to the AWE to help people get started.  Please note that this article describes features currently found in HEAD, and are subject to change.

The Alfresco Web Editor (AWE) is a Spring Surf based web application that utilises the Forms Service to provide in-context editing capabilities to Alfresco repository content (non AVM).  Alfresco 3.3 also introduces the Web Editor Framework (WEF), which is a client side JavaScript framework that is a dependency of the AWE.  More on the WEF later.   The AWE is packaged as a stand-alone WAR file so that it can be deployed to web applications that are remote to the Alfresco application server.]]></description>
			<content:encoded><![CDATA[<p class="note"><strong>UPDATE</strong> -The <a href="http://www.benh.co.uk/alfresco/web-quick-start/web-quick-start-first-look/" target="_self">Web Quick Start</a> sample application is now available that demonstrates using the Web Editor within an end-to-end WCM example.</p>
<p>As we approach the final stages of development for 3.3 functionality, I thought it would be useful to write a brief introduction to the AWE to help people get started.  Please note that this article describes features currently found in HEAD, and are subject to change.</p>
<p>The Alfresco Web Editor (AWE) is a Spring Surf based web application that utilises the Forms Service to provide in-context editing capabilities to Alfresco repository content (non AVM).  Alfresco 3.3 also introduces the Web Editor Framework (WEF), which is a client side JavaScript framework that is a dependency of the AWE.  More on the WEF later.   The AWE is packaged as a stand-alone WAR file so that it can be deployed to web applications that are remote to the Alfresco application server.</p>
<p><span id="more-369"></span></p>
<p class="note">Documentation:<br />
<strong>Web Editor</strong> &#8211; <a href="http://wiki.alfresco.com/wiki/Web_Editor" target="_blank">http://wiki.alfresco.com/wiki/Web_Editor</a><br />
<strong>Web Editor Framework</strong> &#8211; <a href="http://wiki.alfresco.com/wiki/Web_Editor_Framework" target="_blank">http://wiki.alfresco.com/wiki/Web_Editor_Framework</a></p>
<h1>AWE Components</h1>
<p>The diagram below shows the core components of the AWE in a basic configuration where all components (Alfresco and the AWE) are installed on a single application server:</p>
<div><a href="http://www.benh.co.uk/wp-content/uploads/2010/03/alfresco-web-editor-11.png"><img class="aligncenter size-full wp-image-429" title="alfresco-web-editor-1" src="http://www.benh.co.uk/wp-content/uploads/2010/03/alfresco-web-editor-11.png" alt="" width="700" height="394" /></a></div>
<h1>JSP Support</h1>
<p>With the initial release, the AWE will support JSP based web sites by providing a tag library.  Additional languages will be supported in future releases with Freemarker and PHP being top of the list.  The tags have been designed for easy implementation so that a developer can enable the AWE with minimal effort, and without effecting the CSS layout and design of the site.</p>
<h1>Web Editor Framework (WEF)</h1>
<p>One of the key design requirements for the AWE was to provide a client side framework that could be extended and built upon by our community.  As a result, the Web Editor Framework was developed.  This provides a client side JavaScript framework built using YUI that can be extended easily.  New tabs and buttons can be packaged and &#8220;dropped in&#8221; to the framework.  This allows Alfresco to provide core product features, and the <a title="Spring Surf" href="http://www.springsource.org/extensions/se-surf" target="_blank">Spring Surf</a> and wider community to build out any custom plugins that are required.</p>
<p>As noted above, when the AWE is enabled, the WEF is a dependency that renders the toolbar and basic in-context editing buttons and functionality.  If the WEF is deployed stand-alone, the default blank toolbar is rendered.</p>
<p>A great deal of work has been done by Alfresco to package the WEF into and modular framework.  Were really hoping to see custom functionality being built and exchanged.</p>
<p><img class="aligncenter size-full wp-image-390" title="alfresco-web-editor-2" src="http://www.benh.co.uk/wp-content/uploads/2010/03/alfresco-web-editor-2.png" alt="alfresco-web-editor-2" width="1008" height="81" /></p>
<h1>Build and Deploy</h1>
<p>As well as the AWE itself, Alfresco Development have also provided a sample &#8220;customer&#8221; web application that allows you to easily test the in-context editing functionality.  The customer web app includes a simple tag library for calling content items from the repository.</p>
<p>There are a number of options for building the AWE and customer sample application.  Setting the APP_TOMCAT_HOME environment variable allows the builds to deploy directly to your Tomcat webapps directory.  For example:</p>
<p><code>APP_TOMCAT_HOME=C:\alfresco\tomcat<br />
</code></p>
<p>The build options are as follows:</p>
<p><code>clean-webeditor-projects - </code>Cleans all projects related to the web editor project.</p>
<p><code>deploy-webeditor-tomcat - </code>Deploys the web editor WAR to the application Tomcat server</p>
<p><code>incremental-webeditor-tomcat</code> &#8211; Performs an incremental build and deployment of the Web Editor WAR</p>
<p><code>deploy-webeditor-sample - </code>Performs a build and deployment of the customer sample website</p>
<p>To quickly get up and running, run:</p>
<p><code>ant incremental-webeditor-tomcat-exploded deploy-webeditor-sample-exploded</code></p>
<p>This will create both the customer and AWE web applications in your Tomcat webapps directory:</p>
<p><img class="aligncenter size-full wp-image-383" title="alfresco-web-editor-3" src="http://www.benh.co.uk/wp-content/uploads/2010/03/alfresco-web-editor-3.png" alt="alfresco-web-editor-3" width="190" height="125" /></p>
<h1>Sample &#8220;Customer&#8221; Web Application</h1>
<p>The &#8220;customer&#8221; web application provides some simple examples and tests for the AWE.  Bundled with the customer web application example is a &#8220;customer&#8221; tag library.  This provides a simple mechanism for fetching content from the Alfresco repository.  In a production environment, the web application could be loading the content in any number of ways, so the customer tag library just gets you up and running quickly for the purpose of testing the AWE.</p>
<p>Open up \customer\includes\noderefs.jsp file.  You will see the two node references for sample content items:</p>
<p><code><br />
&lt;%<br />
String mainTextNodeRef = "workspace://SpacesStore/301a540e-7101-489c-a8a7-859102a99ea5";<br />
String subTextNodeRef = "workspace://SpacesStore/e94797ce-c6e9-47eb-b28c-c6a4eb3ce666";<br />
%&gt;<!--formatted--></code></p>
<p>The two node refs are used throughout the example pages.  Create two example html files on your local disk, add some textual content, and upload these to a location within the repository.  Browse to these files using the node browser, and add the appropriate node references to the noderefs.jsp file.  Save the file and then browse to http://localhost:8080/customer/, and you should see the page rendered and the WEF toolbar.  You should be able to go ahead and edit any of the content items.</p>
<p><img class="aligncenter size-full wp-image-389" title="alfresco-web-editor-4" src="http://www.benh.co.uk/wp-content/uploads/2010/03/alfresco-web-editor-4.png" alt="alfresco-web-editor-4" width="1009" height="575" /></p>
<h1>AWE Tag Library</h1>
<p>As noted previously, the <strong>customer </strong>tag library is simply providing a mechanism to load a content item from the repository.  Within the index.jsp example, you will see the <em>customer:property</em> and <em>customer:conten</em>t tags used.  These are relatively self explanatory  in that either a property or the content is loaded, hence if you have null displayed for your title, that is because it has not been set.</p>
<p>The template has a <strong>awe:startTemplate </strong> tag which resides within the &lt;head&gt;&lt;/head&gt; section of the page, and also a <strong>awe:endTemplate </strong> tag which sits just inside the closing &lt;/body&gt; tag.  The <strong>awe:startTemplate </strong>tag<strong> </strong>essentially outputs a &lt;script&gt; tag and loads the WEF bootstrap webscript.  The <strong>awe:endTemplate</strong> tag on the other hand sets up the config for AWE i.e. a list of editable content items on the page and then renders a &lt;script&gt; tag to load the WEF resources script.</p>
<p>The <strong>awe:markContent </strong>tag is used to mark editable content on the page.  An edit icon is displayed on the page wherever the tag is used, or if CSS is disabled, an edit link with no image is used .  It is an option for the template developer as to where these are positioned, providing flexibility on where the most appropriate and logical position is for the content item in question.  In the example below, two parameters are specified, the <strong>id </strong>of the content item i.e. the node ref, and the title.  The <strong>title </strong>is used on the toolbar dropdown to list the available editable content items.  Note that within this example, no form is specified so the default form is assumed:</p>
<p><code>&lt;awe:markContent id="&lt;%=mainTextNodeRef%&gt;" title="Edit Press Release" /&gt;<!--formatted--></code></p>
<p>The example used later within the page utilises two additional attributes.  The <strong>formId </strong>allows the developer to specify a specific form to use, and the <strong>nestedMarker </strong>flag defines if the <em>awe:markContent</em> tag is used within a nested element.  If so, the element is used for a JavaScript flash effect, when a user is navigating using the drop down menu.  For example, a surrounding &lt;div&gt; element.</p>
<p><code><br />
&lt;div id="xyz"&gt;<br />
&lt;awe:markContent id="&lt;%=subTextNodeRef%&gt;" formId="description" title="Edit Trailing Text" nestedMarker="true" /&gt;<br />
&lt;/div&gt;<br />
<!--formatted--></code><br />
Please see the links below for documentation.  Hopefully this has provided a good introduction to some of the AWE and WEF capabilities.  Comments and feedback welcome!</p>
<p class="note">Documentation:<br />
<strong>Web Editor</strong> &#8211; <a href="http://wiki.alfresco.com/wiki/Web_Editor" target="_blank">http://wiki.alfresco.com/wiki/Web_Editor</a><br />
<strong>Web Editor Framework</strong> &#8211; <a href="http://wiki.alfresco.com/wiki/Web_Editor_Framework" target="_blank">http://wiki.alfresco.com/wiki/Web_Editor_Framework</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/alfresco-web-editor/getting-started/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WCM Top Resources</title>
		<link>http://www.benh.co.uk/alfresco/wcm-top-resources/</link>
		<comments>http://www.benh.co.uk/alfresco/wcm-top-resources/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 10:25:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco WCM (archive)]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=329</guid>
		<description><![CDATA[There is a wealth of different resources available for Alfresco WCM including the Alfresco Wiki, the Content Community, forums, pre-recorded webinars to name but a few.  The following is a moving list of various resources for Alfresco WCM.  Please add a comment with your suggestions if you have found a valuable resource.  I aim to [...]]]></description>
			<content:encoded><![CDATA[<p>There is a wealth of different resources available for Alfresco WCM including the <a href="http://wiki.alfresco.com/wiki/Main_Page" target="_blank">Alfresco Wiki</a>, the <a href="http://share.alfresco.com/share/page/site-index" target="_blank">Content Community</a>, <a href="http://forums.alfresco.com/en/" target="_blank">forums</a>, <a href="http://www.alfresco.com/about/events/ondemand/" target="_blank">pre-recorded webinars</a> to name but a few.  The following is a moving list of various resources for Alfresco WCM.  Please add a comment with your suggestions if you have found a valuable resource.  I aim to keep this list short, hence resources will be removed as they become out of date or are replaced.</p>
<p><em>Note:  These resources do not cover installation and setup.  For further information on installation see <a href="http://www.alfresco.com/products/ecm/enttrial/" target="_blank">http://www.alfresco.com/products/ecm/enttrial/</a></em></p>
<p><span id="more-329"></span></p>
<h1>Getting Started</h1>
<ul>
<li><strong>Web CMS’s Dissected</strong> &#8211; where does Alfresco WCM fit in compared to other products? &#8211; Essential reading from Peter Monks for anyone who is new to Alfresco WCM, or starting to investigate the product.  <a href="http://blogs.alfresco.com/wp/pmonks/2008/11/05/web-cmss-dissected/" target="_blank">http://blogs.alfresco.com/wp/pmonks/2008/11/05/web-cmss-dissected/</a></li>
<li><strong>Getting Started with Web Content Management (WCM) 3.1 Enterprise</strong> &#8211; A PDF document stepping through the basics of the product including installing the sample website and configuring web forms.  THE place to start for basic product usage &#8211; <a href="http://www.alfresco.com/products/ecm/enttrial/files/getting_started_with_wcm_for_enterprise3_1.pdf" target="_blank">http://www.alfresco.com/products/ecm/enttrial/files/getting_started_with_wcm_for_enterprise3_1.pdf</a></li>
<li><strong>Really Simple WCM</strong> &#8211; A recorded webinar stepping through several features of the product including web forms, file system projection (CIFS, FTP), user roles, basic workflow, sandboxes, virtualisation server (preview), basic deployment (FSR and ASR) and snapshots.  <a href="http://webinars.alfresco.com/forms/simplewcm/" target="_blank">http://webinars.alfresco.com/forms/simplewcm/</a></li>
<li><strong>Alfresco Wiki</strong> &#8211; The source for reading up on all topics.  Browse by category &#8211;  <a rel="nofollow" href="http://wiki.alfresco.com/wiki/Category:WCM" target="_blank">http://wiki.alfresco.com/wiki/Category:WCM</a></li>
</ul>
<h1>Web Forms</h1>
<ul>
<li><strong>WCM Forms Quick Tutorial</strong> &#8211; Alfresco Wiki &#8211; This document provides a quick tutorial on how to register and use WCM Forms &#8211; <a href="http://wiki.alfresco.com/wiki/WCM_Forms_Quick_Tutorial" target="_blank">http://wiki.alfresco.com/wiki/WCM_Forms_Quick_Tutorial</a></li>
<li><strong>Learning Alfresco Web Forms by Examples</strong> &#8211; The definitive guide to WCM Xforms.  Dr Q runs through a series of hands on tutorials from the basics to advanced web form creation and usage.  <a href="http://drquyong.com/myblog/?p=65" target="_blank">http://drquyong.com/myblog/?p=65</a></li>
</ul>
<h1>Deployment</h1>
<ul>
<li><strong>WCM Deployment Features &#8211; </strong>Documentation on all of the WCM deployment options &#8211; http://wiki.alfresco.com/wiki/WCM_Deployment_Features</li>
<li><strong>Alfresco Transfer Service</strong> &#8211; A new service as part of 3.3 for the transfer of content between Alfresco servers (non AVM). <a title="Transfer Service" href="http://wiki.alfresco.com/wiki/Transfer_Service" target="_blank">http://wiki.alfresco.com/wiki/Transfer_Service</a></li>
</ul>
<h1>Preview</h1>
<ul>
<li><strong>WCM Preview</strong> &#8211; Alfresco Wiki document detailing the various preview options available including their specific use cases &#8211; <a href="http://wiki.alfresco.com/wiki/WCM_Preview" target="_blank">http://wiki.alfresco.com/wiki/WCM_Preview</a></li>
</ul>
<h1>Content Modeling</h1>
<ul>
<li><strong>WCM Content Modeling webinar</strong> &#8211; A very detailed webinar from Peter Monks stepping through how to take a web site or mock-up (wireframes etc), and break it down into a set of discrete assets that can be efficiently managed with Alfresco WCM.  <a href="http://www.alfresco.com/about/events/2009/06/wcm-content-modeling/" target="_blank">http://www.alfresco.com/about/events/2009/06/wcm-content-modeling/</a></li>
</ul>
<h1>Alfresco Web Editor and Web Framework</h1>
<ul>
<li><strong>Alfresco Web Editor</strong> &#8211; In-context editing for DM based content &#8211; <a title="Alfresco Web Editor" href="http://wiki.alfresco.com/wiki/Web_Editor" target="_blank">http://wiki.alfresco.com/wiki/Web_Editor</a></li>
<li><strong>Getting started guide</strong> &#8211; <a title="Alfresco Web Editor" href="http://www.benh.co.uk/alfresco/alfresco-web-editor/getting-started/" target="_blank">http://www.benh.co.uk/alfresco/alfresco-web-editor/getting-started/</a></li>
</ul>
<h1>Renditions</h1>
<ul>
<li><strong>Rendition API</strong> &#8211; Introduced in 3.3, the rendition API allows non AVM based content to be transformed, utilising Freemarker and XSLT.  <a title="Alfresco Rendition API" href="http://wiki.alfresco.com/wiki/DM_Renditions" target="_blank">http://wiki.alfresco.com/wiki/DM_Renditions</a>.  Documentation of the XSLT Rendering Engine are here &#8211; <a href="http://wiki.alfresco.com/wiki/XSLT_rendering_engine" target="_blank">http://wiki.alfresco.com/wiki/XSLT_rendering_engine</a></li>
</ul>
<h1>Spring Surf</h1>
<ul>
<li><strong>Spring Surf</strong> Home Page &#8211; <a title="Spring Surf" href="http://www.springsource.org/extensions/se-surf" target="_blank">http://www.springsource.org/extensions/se-surf</a></li>
<li><strong>Spring Surf</strong> Documentation and Tutorials &#8211; <a title="Spring Surf" href="http://www.springsurf.org/" target="_blank">http://www.springsurf.org/</a></li>
<li><strong>SURF Platform</strong> &#8211; What is SURF? &#8211; Alfresco Wiki &#8211; This provides a good first step for getting started with the Surf Platform &#8211; <a href="http://wiki.alfresco.com/wiki/Surf_Platform" target="_blank">http://wiki.alfresco.com/wiki/Surf_Platform</a></li>
<li><strong>SURF Deployment configurations</strong> &#8211; Alfresco Wiki &#8211; A detailed page on the various ways in which SURF can be configured based on the use case &#8211; <a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Deployment_Configurations" target="_blank">http://wiki.alfresco.com/wiki/Surf_Platform_-_Deployment_Configurations</a></li>
<li><strong>Getting Started with SURF</strong> &#8211; Three hands on tutorials covering building a basic web site from scratch using SURF.  Concludes with Alfresco WCM integration example -  <a href="http://www.benh.co.uk/alfresco/surf-part-1-getting-started/" target="_blank">http://www.benh.co.uk/alfresco/surf-part-1-getting-started/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/wcm-top-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alfresco WCM Roadmap Slides &#8211; 3.2r, 3.3 and 4x</title>
		<link>http://www.benh.co.uk/alfresco/alfresco-wcm-roadmap-slides-3-2r-4-x/</link>
		<comments>http://www.benh.co.uk/alfresco/alfresco-wcm-roadmap-slides-3-2r-4-x/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 19:09:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco WCM (archive)]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=363</guid>
		<description><![CDATA[In case you missed them, here are the slides from the Alfresco WCM roadmap webinar presented on Feb 2nd. WCM Roadmap Versions 3 3 And 4 0 View more presentations from Alfresco Software.]]></description>
			<content:encoded><![CDATA[<p>In case you missed them, here are the slides from the Alfresco WCM roadmap webinar presented on Feb 2nd.</p>
<div id="__ss_3062720" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="WCM Roadmap Versions 3 3 And 4 0" href="http://www.slideshare.net/alfresco/wcm-roadmap-versions-3-3-and-4-0">WCM Roadmap Versions 3 3 And 4 0</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wcmroadmap-versions3-3and4-0-100203113356-phpapp01&amp;stripped_title=wcm-roadmap-versions-3-3-and-4-0" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wcmroadmap-versions3-3and4-0-100203113356-phpapp01&amp;stripped_title=wcm-roadmap-versions-3-3-and-4-0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/alfresco">Alfresco Software</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/alfresco-wcm-roadmap-slides-3-2r-4-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript API &#8211; Cross Repository Copy</title>
		<link>http://www.benh.co.uk/alfresco/javascript-api/javascript-api-cross-repository-copy/</link>
		<comments>http://www.benh.co.uk/alfresco/javascript-api/javascript-api-cross-repository-copy/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 17:02:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript API]]></category>
		<category><![CDATA[Alfresco WCM]]></category>
		<category><![CDATA[cross repository copy]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=346</guid>
		<description><![CDATA[Recently I have been asked a few times for an example of how to copy content from the DM Alfresco repository into the AVM (WCM) repo, so I thought I would post a simple example using the JavaScript API to help people get started. It can be a little tricky getting the paths etc correct [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been asked a few times for an example of how to copy content from the DM Alfresco repository into the AVM (WCM) repo, so I thought I would post a simple example using the JavaScript API to help people get started.  It can be a little tricky getting the paths etc correct if you are new to Alfresco, so hopefully this will assist.</p>
<p>The <a title="3.1 javascript API" href="http://wiki.alfresco.com/wiki/3.1_JavaScript_API#Cross_Repository_Copy" target="_blank">3.1 JavaSccript API</a> wiki page shows the required parameters:<br />
<code><br />
ScriptNode copy(ScriptNode source, ScriptNode destination, String name)</code></p>
<p><strong>Download the example web script <a title="here" href="http://www.benh.co.uk/wp-content/uploads/2009/10/crossRepoCopy.zip" target="_blank">here</a></strong>.  This web script is based on some example code taken from the Alfresco Forge project &#8211; <a title="FlexSpaces" href="http://forge.alfresco.com/projects/flexspaces/" target="_blank">FlexSpaces</a> which contains some great examples of WCM web scripts.</p>
<p><span id="more-346"></span></p>
<p>As you will see from the descriptor file, the required parameters are passed to the JavaScript via the following URL:<br />
<code><br />
/crossRepoCopy?sourcenodeid={sourceAdmNodeId}&amp;targetstoreid={targetAvmStoreId}&amp;targetavmpath={targetAvmPath}<br />
<!--formatted--></code><br />
In a production environment, the required arguments will no doubt be generated programmatically, however for the purpose of a simple example, we will collect them manually.  Firstly, the <strong>sourcenodeid</strong> source i.e. the node id of the source item that you wish to copy from the DM repo.  Using the Node Browser for this example, navigate to the source file and copy the node.  It will look something like:<br />
<code><br />
workspace://SpacesStore/371d692f-46e7-4ca8-84bb-81a032ac1363<br />
</code><br />
Strip out the workspace://SpacesStore/ as the example script adds it as required so you are left with:<br />
<code><br />
371d692f-46e7-4ca8-84bb-81a032ac1363<br />
</code><br />
Next the targetAvmStoreId, so the store that we are going to copy to within the AVM.  This is made up from the web project dns name and the sandbox user name.  Use the node browser once again and look for the store-identifier property.  In my example the store-identifier is:<br />
<code><br />
demo--admin<br />
</code><br />
Finally the targetAvmPath which is the folder path to the location within the sandbox of where the content item will be created.  In my example I would like to copy the content to the root of my web application folder so I use:<br />
<code><br />
/www/avm_webapps/ROOT<br />
</code></p>
<p>With all of the parameters in place, the final request string looks like:<br />
<code></p>
<p>http://localhost:8080/alfresco/service/crossRepoCopy?sourcenodeid=319a5e5c-e921-490d-ac75-12c0a678f92e&#038;targetstoreid=demo--admin&#038;targetavmpath=/www/avm_webapps/ROOT</p>
<p><!--formatted--></code><br />
If the copy was successful, you will see:<br />
<code><br />
Result String - Node was copied<br />
Result Code - true</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/javascript-api/javascript-api-cross-repository-copy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SURF Part 3 &#8211; Alfresco WCM Content</title>
		<link>http://www.benh.co.uk/alfresco/surf-part-3-alfresco-wcm-content/</link>
		<comments>http://www.benh.co.uk/alfresco/surf-part-3-alfresco-wcm-content/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 18:24:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Alfresco WCM (archive)]]></category>
		<category><![CDATA[Surf Framework]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Alfresco WCM]]></category>
		<category><![CDATA[surf]]></category>
		<category><![CDATA[wcm]]></category>

		<guid isPermaLink="false">http://www.benh.co.uk/?p=292</guid>
		<description><![CDATA[**NOTE: This articles uses features found in HEAD which are considered to be work-in-progress.  This article is for demo purposes only.** In this article I will look at deploying and consuming WCM content from a SURF web application.  To make this very simple, we have created a standalone Tomcat 6 bundle which has an example [...]]]></description>
			<content:encoded><![CDATA[<p><strong>**NOTE: This articles uses features found in HEAD which are considered to be work-in-progress.  This article is for demo purposes only.**</strong></p>
<p>In this article I will look at deploying and consuming WCM content from a SURF web application.  To make this very simple, we have created a standalone Tomcat 6 bundle which has an example SURF web application pre-configured (thanks to Michael Uzquiano for all the assistance!).  This is the same web app as used in the previous articles, so all previous material is still relevant.</p>
<p>Once the Tomcat bundle is deployed and your WCM instance configured, you will have working examples of:</p>
<ul>
<li>An AVM layout separating Surf content (components, templates etc) and Web content (XML content, CSS, images etc).</li>
<li>Deployment configuration allowing the Surf and/or Web content to be deployed to a local file system directory.</li>
<li>An FSR &#8211; configured for the deployment as above</li>
<li>A Surf website example of including static content e.g. an HTML file from the local file system.</li>
<li>A surf website example of dispatching dynamic content from the remote Alfresco repository.</li>
<li>Web form examples for the creation of example content.</li>
</ul>
<p>Initially I will describe the steps required to get up and running, and then I will dissect the configuration so that we fully understand how it is working.</p>
<p><span id="more-292"></span></p>
<h1>Prerequisites</h1>
<ul>
<li>It is expected that you are familiar with Alfresco concepts such as CIFS, Web Scripts, Web Forms etc.  <strong>This is not a beginners tutorial to Alfresco WCM!</strong></li>
<li>Alfresco v3.x installed with WCM configured and running at http://localhost:8080.  If this address is different, you will need to re-configure the Alfresco endpoint.  This is detailed below within the &#8220;Dynamic Content Example&#8221;, so do not be alarmed if your &#8220;Products&#8221; section does not work after the install.</li>
<li>This article is based on the <a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Deployment_Configurations" target="_blank">Surf Deployment Configurations wiki article</a> which I would highly recommend reading.</li>
</ul>
<h1>Download</h1>
<p>Download the <a href="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample.zip">surf-sample</a> Tomcat bundle and extract to your local file system e.g. c:\surf-sample.</p>
<h1>Installation</h1>
<p>Download the Surf demo Tomcat bundle and extract to your local file system.  Have a browse through the files and you will see that the following is included:</p>
<ul>
<li>surf-sample\sample &#8211; The Tomcat 6 bundle directory</li>
<li>surf-sample\setup\AVM &#8211; An example directory structure to be loaded into the AVM</li>
<li>surf-sample\setup\FSR &#8211; An example FSR</li>
<li>surf-sample\setup\web forms &#8211; Example web forms for creating news and product items</li>
<li>surf-sample\setup\web scripts &#8211; Example web scripts for the products section</li>
</ul>
<h3>Alfresco Setup</h3>
<ul>
<li>Create a new web project with the <acronym title="Domain Name Server">DNS</acronym> name &#8211; “<strong>demo</strong>”. If you do not use this name, you will have to make a small change to the “Product” web script. See the “Web Scripts” section below.</li>
<li>Connect via CIFS to the AVM as the &#8220;admin&#8221; user.</li>
<li>Copy the contents of the AVM structure dir from the surf-sample\setup\AVM\ROOT to the admin user sandbox via CIFS. (You could also zip up and bulk import if you prefer)</li>
<li>Submit this content to the Staging sandbox.</li>
</ul>
<p>The AVM directory structure should look like the following:</p>
<p><a href="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-site1.gif"><img class="aligncenter size-full wp-image-293" title="surf-site1" src="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-site1.gif" alt="" width="313" height="341" /></a></p>
<h3>Web Forms</h3>
<p>I have included two example web forms with the files so that you can quickly create some example content to be used with deployment, and for testing the example functionality.  There are two web forms which need to be installed, one for the news articles and one for products.</p>
<h3>Article Web Form</h3>
<ul>
<li>Create a new article web form using the <strong>C:\surf-sample\setup\web forms\article\article.xsd</strong> file.  Add the output path pattern of <strong>/${webapp}/content/news/source/${name}.xml</strong></li>
<li>Add <strong>C:\surf-sample\setup\web forms\article\latestNews.html.ftl </strong>as a rendition with the output path pattern<strong><strong> /${webapp}/content/news/latestNews.html</strong></strong></li>
</ul>
<h3>Products Web Form</h3>
<p>The product XML items are read dynamically by the Surf webapp.</p>
<ul>
<li>Create a new product web form using the <strong>C:\surf-sample\setup\web forms\product\product.xsd.</strong> Add the output path pattern of <strong>/${webapp}/content/products/source/${name}.xml</strong></li>
</ul>
<p>Note there is also a <strong>article.html.ftl </strong>file, however at present this is not used.  Once the web forms are installed, you can test creating some content.  Verify that the output is being populated to the correct locations as listed above.</p>
<h3>Web Scripts</h3>
<p>The Products section uses a web script which must be installed.</p>
<ul>
<li>Copy the <strong>C:\surf-sample\setup\web scripts\products</strong> folder in to the Alfresco Data Dictionary\web scripts folder and refresh the web scripts. If your site name is not “demo”, you will need to edit the site reference within C:\surf-sample\setup\web scripts\products\products.get.js i.e.</li>
</ul>
<p><code><br />
var storeid = (&quot;demo&quot;);<br />
<!--formatted--></code></p>
<h3>Deployment Setup</h3>
<p>All content is deployed to the C:\surf-sample\sample\deploy directory. This represents a stand alone directory which is configured to deliver the Alfresco content.  This directory is separated into two sections as follows:</p>
<ul>
<li>Web Content &#8211; e.g. HTML renditions, JS, CSS etc &#8211; deployed to C:\surf-sample\sample\deploy\webroot\ROOT</li>
<li>Surf Content &#8211; surf items such as templates, components etc &#8211; deployed to C:\surf-sample\sample\deploy\alfresco</li>
</ul>
<p>Configure two deployment targets:</p>
<ul>
<li>Edit your Web Project and add two File System Receivers using the details below.</li>
</ul>
<p><strong>Name:</strong> Content Production<br />
<strong>Excludes:</strong> [A-Za-z0-9:/_]*ROOT/WEB-INF/*<br />
<strong>Target Name:</strong> content</p>
<p><strong>Name:</strong> Surf Production<br />
<strong>Source Path:</strong> /ROOT/WEB-INF/classes/alfresco<br />
<strong>Target Name:</strong> alfresco</p>
<p><a href="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample2.png"><img class="aligncenter size-full wp-image-297" title="surf-sample2" src="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample2.png" alt="" width="500" height="259" /></a></p>
<h3>FSR</h3>
<p>There is an example FSR located within C:\surf-sample\setup\FSR.  You can copy this directory to another location if required e.g. c:\FSR.  The C:\surf-sample\setup\FSR\application-context.xml file has an example configuration which will need to be edited to match your file system locations depending upon where the surf-sample app is located.  See the dir locations in bold below:</p>
<p><code><br />
&lt;!-- Target Configuration. Modify for your site. --&gt;<br />
&lt;property name="targetData"&gt;<br />
&lt;map&gt;<br />
&lt;entry key="alfresco"&gt;<br />
&lt;map&gt;<br />
&lt;entry key="root"&gt;&lt;value&gt;<strong>C:\surf-sample\sample\deploy\alfresco</strong>&lt;/value&gt;&lt;/entry&gt;<br />
&lt;entry key="user"&gt;&lt;value&gt;admin&lt;/value&gt;&lt;/entry&gt;<br />
&lt;entry key="password"&gt;&lt;value&gt;admin&lt;/value&gt;&lt;/entry&gt;<br />
&lt;/map&gt;<br />
&lt;/entry&gt;<br />
&lt;entry key="content"&gt;<br />
&lt;map&gt;<br />
&lt;entry key="root"&gt;&lt;value&gt;<strong>C:\surf-sample\sample\deploy\webroot</strong>&lt;/value&gt;&lt;/entry&gt;<br />
&lt;entry key="user"&gt;&lt;value&gt;admin&lt;/value&gt;&lt;/entry&gt;<br />
&lt;entry key="password"&gt;&lt;value&gt;admin&lt;/value&gt;&lt;/entry&gt;<br />
&lt;/map&gt;<br />
&lt;/entry&gt;<br />
&lt;/map&gt;<br />
&lt;/property&gt;<br />
<!--formatted--></code><br />
Once complete, you should be able to start the surf-sample Tomcat and give the site a test.  Create some content using the web forms and deploy it to the surf-sample app.  Start the Tomcat using <strong>C:\surf-sample\sample\bin\startup.bat</strong> and hit <a href="http://localhost/surf/page?p=index" target="_blank">http://localhost/surf/page?p=index</a></p>
<p><a href="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample3.png"><img class="aligncenter size-full wp-image-301" title="surf-sample3" src="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample3.png" alt="" width="500" height="347" /></a></p>
<h1><strong>Static Content Example</strong></h1>
<p>The Home Page of the site includes a static HTML file that is created using the article.xsd web form.  This creates the <strong>latestNews.html</strong> file within the repository to ROOT\content\news which is then deployed to the C:\surf-sample\sample\deploy\webroot\ROOT\content\news.  The Surf web application then includes the latestNews.html at request time.</p>
<p><a href="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample4.png"><img class="aligncenter size-full wp-image-302" title="surf-sample4" src="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample4.png" alt="" width="500" height="354" /></a></p>
<p>The HTML include import is done by the Surf component, however before this will function, we need to configure Surf (using Spring) to look into the C:\surf-sample\sample\<strong>deploy</strong> directory for the static content and web scripts.  If you open C:\surf-sample\sample\shared\classes\alfresco\web-extension\custom-web-framework-application-context.xml you will see the example configuration:</p>
<p><code><br />
&lt;!-- Local Store Abstract  --&gt;<br />
&lt;bean id="webframework.localstore" class="org.alfresco.web.scripts.LocalFileSystemStore" abstract="true" init-method="init"&gt;<br />
&lt;property name="root"&gt;<br />
&lt;value&gt;<strong>/surf-sample/sample/deploy</strong>&lt;/value&gt;<br />
&lt;/property&gt;<br />
&lt;/bean&gt;<br />
&lt;!-- Web Scripts: Local Store --&gt;<br />
&lt;bean id="webframework.localstore.webscripts" parent="webframework.localstore"&gt;<!--formatted--></code><code> &lt;property name="path"&gt;<br />
&lt;value&gt;<strong>alfresco/site-webscripts</strong>&lt;/value&gt;&lt;/property&gt;<br />
&lt;/bean&gt;<!--formatted--></code></p>
<p>Once this is configured, components can access this static content.  The component that is used on the Home Page is C:\surf-sample\sample\deploy\alfresco\site-data\components\page.main.index.xml and looks like:<br />
<code><br />
&lt;?xml version='1.0' encoding='UTF-8'?&gt;<br />
&lt;component&gt;<br />
&lt;scope&gt;page&lt;/scope&gt;<br />
&lt;region-id&gt;main&lt;/region-id&gt;<br />
&lt;source-id&gt;index&lt;/source-id&gt;<br />
&lt;component-type-id&gt;/component/common/include&lt;/component-type-id&gt;<br />
&lt;properties&gt;<br />
&lt;container&gt;div&lt;/container&gt;<br />
&lt;/properties&gt;<br />
&lt;resources&gt;<br />
&lt;resource id="source" type="webapp"&gt;/content/news/latestNews.html&lt;/resource&gt;<br />
&lt;/resources&gt;<br />
&lt;/component&gt;<br />
<!--formatted--></code></p>
<p>You can see that we are using one of the web scripts that comes bundled with Surf which is referenced by  /component/common/include.  The resource id is then passed in i.e. the html fragment.</p>
<p>Finally, it is also worth noting at this point that we have mapped a Tomcat alias to point to the &#8220;deploy&#8221; directory also.  This allows us to reference files such as CSS and images if required, using the &#8220;/files&#8221; alias.  Here is the server.xml extract:<br />
<code><br />
&lt;Context path="/files" docBase="${catalina.home}/deploy/webroot/ROOT" reloadable="true" crossContext="true"/&gt;<!--formatted--></code></p>
<h1><strong>Dynamic Content Example</strong></h1>
<p>The second example is the Products page which dynamically loads content from the Alfresco repository.  A list of products is dynamically generated using a web script connecting top the remote Alfresco repository.  When a link is clicked, the relevant content item is dispatched and loaded from the local file system.</p>
<p><a href="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample5.png"><img class="aligncenter size-full wp-image-305" title="surf-sample5" src="http://www.benh.co.uk/wp-content/uploads/2009/03/surf-sample5.png" alt="" width="500" height="516" /></a></p>
<p>The first part of this is a web script that is called to list all of the product items.  This web script is actually located on the remote Alfresco server and therefore we have to configure Surf to search this location for web scripts.</p>
<p>Like configuring the local file store, there is a custom Spring file located in C:\surf-sample\sample\shared\classes\alfresco\web-extension.  Open the web-framework-config-custom.xml file and if you scroll to the bottom, you will see the following extract:</p>
<p><code><br />
&lt;config evaluator="string-compare" condition="Remote"&gt;<br />
&lt;remote&gt;<br />
&lt;endpoint&gt;<br />
&lt;id&gt;alfresco-system&lt;/id&gt;<br />
&lt;name&gt;Alfresco - System access&lt;/name&gt;<br />
&lt;description&gt;System account access to Alfresco&lt;/description&gt;<br />
&lt;connector-id&gt;alfresco&lt;/connector-id&gt;<br />
&lt;endpoint-url&gt;http://localhost:8080/alfresco/s&lt;/endpoint-url&gt;<br />
&lt;identity&gt;declared&lt;/identity&gt;<br />
&lt;username&gt;admin&lt;/username&gt;<br />
&lt;password&gt;admin&lt;/password&gt;<br />
&lt;unsecure&gt;true&lt;/unsecure&gt;<br />
&lt;/endpoint&gt;<br />
&lt;!-- The default endpoint --&gt;<br />
&lt;default-endpoint-id&gt;alfresco-system&lt;/default-endpoint-id&gt;<br />
&lt;/remote&gt;<br />
&lt;/config&gt;<br />
<!--formatted--></code><br />
This extract configures the remote Alfresco repository as an end-point.  You may also notice just above this that there is another entrance as follows:<br />
<code><br />
&lt;!-- Webapp Resource Resolver --&gt;<br />
&lt;resource-resolver&gt;<br />
&lt;id&gt;webapp&lt;/id&gt;<br />
&lt;name&gt;Alfresco Web Application Resource Resolver&lt;/name&gt;<br />
&lt;description&gt;Resolves data access for web application assets&lt;/description&gt;<br />
&lt;class&gt;org.alfresco.web.framework.resource.AlfrescoWebProjectResourceResolver&lt;/class&gt;<br />
&lt;alias-uri&gt;/files&lt;/alias-uri&gt;<br />
&lt;store-id&gt;demo&lt;/store-id&gt;<br />
&lt;/resource-resolver&gt;<br />
<!--formatted--></code></p>
<p>This lets Surf bind to web application resources, like static files, in this case, the actual product XML item we wish to view.</p>
<p>With the end-point and resource resolver in place we can call the remote web script.  So the process is fairly straight forward &#8211; the Surf component calls the remote web script that returns a list of products via JSON.  We then need a way to load an appropriate template to display each product, and that is done by a <strong>page-association</strong> item.  This tells Surf that there is an association between the content that is being loaded and the template we would like to use to display it.  Take a look at C:\surf-sample\sample\deploy\alfresco\site-data\page-associations\products.xml:<br />
<code><br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;content-association&gt;<br />
&lt;source-id&gt;{http://www.alfresco.org/model/wcmmodel/1.0}avmplaincontent&lt;/source-id&gt;<br />
&lt;dest-id&gt;products&lt;/dest-id&gt;<br />
&lt;assoc-type&gt;content-type&lt;/assoc-type&gt;<br />
&lt;format-id&gt;default&lt;/format-id&gt;<br />
&lt;/content-association&gt;<br />
<!--formatted--></code><br />
You can see here that the source-id is &#8220;{http://www.alfresco.org/model/wcmmodel/1.0}avmplaincontent&#8221; and that the dest-id is &#8220;products&#8221; meaning that all content of the type avmplaincontent would be rendered via the &#8220;products&#8221; template.</p>
<h1>Summary</h1>
<p>Hopefully this provides a preview of how nicely WCM content will integrate with Surf powered websites, and <a href="http://wiki.alfresco.com/wiki/Category:Web_Studio" target="_blank">Web Studio</a> is also on the horizon to complete the suite.  As noted previously, this Surf configuration and setup is based on the <a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Deployment_Configurations" target="_blank">Surf Deployment Configurations wiki article</a> which I would highly recommend reading.  This provides a really good and detailed overview of other possible Surf configurations.</p>
<p>Thanks to Michael Uzquiano for all the assistance!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benh.co.uk/alfresco/surf-part-3-alfresco-wcm-content/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>

