<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Alfresco User Interface: What are my options?</title>
	<atom:link href="http://ecmarchitect.com/archives/2009/04/20/971/feed" rel="self" type="application/rss+xml" />
	<link>http://ecmarchitect.com/archives/2009/04/20/971</link>
	<description>Jeff Potts on ECM, portals, search, collaboration, and a bunch of personal stuff</description>
	<lastBuildDate>Mon, 06 Feb 2012 17:48:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: jpotts</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-88607</link>
		<dc:creator>jpotts</dc:creator>
		<pubDate>Tue, 29 Nov 2011 00:15:44 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-88607</guid>
		<description>Tyrus,

I&#039;m realizing I never answered your follow-up question about using the JavaScript API on top of Alfresco. The Alfresco Share interface uses the approach you&#039;ve outlined. It takes YUI and wraps it with its own set of client-side JavaScript objects (documented &lt;a href=&quot;http://sharextras.org/jsdoc/share/community-4.0.b/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for Community 4.0b). Those client-side objects are talking to the repository tier via web scripts. The web script controllers are written in server-side JavaScript (mostly, some are Java) and those use the JavaScript API you&#039;ve referenced.

Share wasn&#039;t built on YUI alone. It also needed a framework for doing page layout and for making remote calls back to the repo tier. For that, Share relies on Spring Surf which also happens to use web scripts. But instead of returning data from the repo tier, they return markup on the presentation tier.

So, if your use case is very close to Alfresco Share&#039;s, you could start with Alfresco Share and have your AJAX-y interface ready to customize. If it isn&#039;t close to your use case or requires too much customization to get the UI close to what you need, start with a custom app using the framework of your choice and hit the repo tier using web scripts. You might try to use the out-of-the-box repo tier web scripts as much as possible to try to reduce your coding and maintenance burden. You can always knock out custom repo-tier web scripts when the out-of-the-box web scripts don&#039;t meet your needs.

Jeff</description>
		<content:encoded><![CDATA[<p>Tyrus,</p>
<p>I&#8217;m realizing I never answered your follow-up question about using the JavaScript API on top of Alfresco. The Alfresco Share interface uses the approach you&#8217;ve outlined. It takes YUI and wraps it with its own set of client-side JavaScript objects (documented <a href="http://sharextras.org/jsdoc/share/community-4.0.b/" rel="nofollow">here</a> for Community 4.0b). Those client-side objects are talking to the repository tier via web scripts. The web script controllers are written in server-side JavaScript (mostly, some are Java) and those use the JavaScript API you&#8217;ve referenced.</p>
<p>Share wasn&#8217;t built on YUI alone. It also needed a framework for doing page layout and for making remote calls back to the repo tier. For that, Share relies on Spring Surf which also happens to use web scripts. But instead of returning data from the repo tier, they return markup on the presentation tier.</p>
<p>So, if your use case is very close to Alfresco Share&#8217;s, you could start with Alfresco Share and have your AJAX-y interface ready to customize. If it isn&#8217;t close to your use case or requires too much customization to get the UI close to what you need, start with a custom app using the framework of your choice and hit the repo tier using web scripts. You might try to use the out-of-the-box repo tier web scripts as much as possible to try to reduce your coding and maintenance burden. You can always knock out custom repo-tier web scripts when the out-of-the-box web scripts don&#8217;t meet your needs.</p>
<p>Jeff</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyrus</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-78505</link>
		<dc:creator>Tyrus</dc:creator>
		<pubDate>Fri, 02 Sep 2011 02:41:01 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-78505</guid>
		<description>No worries man!  I just want to make sure credit is given where credit is due.  

Either way, I&#039;m intrigued as to your opinion on the topics of customizing Alfresco interfaces.  We have a client that wants a knowledge management solution as well as a CMS.  Alfresco solutions seems like a perfect fit.  However, being an agency the interface that Alfresco gives you OOTB needs some work.  I&#039;m curious as to your opinion on using the Javascript API: http://wiki.alfresco.com/wiki/3.4_JavaScript_API and then building an AJAX type interface that simply makes calls into Alfresco via such methods.  I also saw your post here:  http://ecmarchitect.com/archives/2010/09/07/1212 which frankly deterred me some more :)  Any thoughts?</description>
		<content:encoded><![CDATA[<p>No worries man!  I just want to make sure credit is given where credit is due.  </p>
<p>Either way, I&#8217;m intrigued as to your opinion on the topics of customizing Alfresco interfaces.  We have a client that wants a knowledge management solution as well as a CMS.  Alfresco solutions seems like a perfect fit.  However, being an agency the interface that Alfresco gives you OOTB needs some work.  I&#8217;m curious as to your opinion on using the Javascript API: <a href="http://wiki.alfresco.com/wiki/3.4_JavaScript_API" rel="nofollow">http://wiki.alfresco.com/wiki/3.4_JavaScript_API</a> and then building an AJAX type interface that simply makes calls into Alfresco via such methods.  I also saw your post here:  <a href="http://ecmarchitect.com/archives/2010/09/07/1212" rel="nofollow">http://ecmarchitect.com/archives/2010/09/07/1212</a> which frankly deterred me some more <img src='http://ecmarchitect.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Any thoughts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jpotts</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-78487</link>
		<dc:creator>jpotts</dc:creator>
		<pubDate>Thu, 01 Sep 2011 23:26:18 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-78487</guid>
		<description>You are quite right. Except I worked for Optaros at the time I wrote the post, so technically I guess it wasn&#039;t ripped off but borrowed. While I worked there it was common for me to write something on this blog and then re-post it on the Optaros blog. What&#039;s weird is since I did work for Optaros at the time, we would have put my name on it. I&#039;m not sure why Marc&#039;s name is on it. I hope that person asking questions isn&#039;t hoping for an answer. Marc&#039;s a Marketing guy who doesn&#039;t even work for Optaros any more!

Sorry for the confusion it may have caused.

Jeff</description>
		<content:encoded><![CDATA[<p>You are quite right. Except I worked for Optaros at the time I wrote the post, so technically I guess it wasn&#8217;t ripped off but borrowed. While I worked there it was common for me to write something on this blog and then re-post it on the Optaros blog. What&#8217;s weird is since I did work for Optaros at the time, we would have put my name on it. I&#8217;m not sure why Marc&#8217;s name is on it. I hope that person asking questions isn&#8217;t hoping for an answer. Marc&#8217;s a Marketing guy who doesn&#8217;t even work for Optaros any more!</p>
<p>Sorry for the confusion it may have caused.</p>
<p>Jeff</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyrus</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-78479</link>
		<dc:creator>Tyrus</dc:creator>
		<pubDate>Thu, 01 Sep 2011 22:38:49 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-78479</guid>
		<description>Dude, I think this guy ripped off your article:  http://www.optaros.com/blogs/alfresco-user-interface-what-are-my-options</description>
		<content:encoded><![CDATA[<p>Dude, I think this guy ripped off your article:  <a href="http://www.optaros.com/blogs/alfresco-user-interface-what-are-my-options" rel="nofollow">http://www.optaros.com/blogs/alfresco-user-interface-what-are-my-options</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jpotts</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-46942</link>
		<dc:creator>jpotts</dc:creator>
		<pubDate>Wed, 20 Jan 2010 14:53:18 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-46942</guid>
		<description>Ivano,

I haven&#039;t looked at that particular style of integration in a long time. Honestly, I would avoid it if possible. Running Alfresco and Liferay in the same JVM is not the best idea. Alfresco&#039;s direction with portal integration is to use Spring Web Scripts from within a portlet to make remote calls to the Alfresco repository.

You might have better luck in the forums.

Jeff</description>
		<content:encoded><![CDATA[<p>Ivano,</p>
<p>I haven&#8217;t looked at that particular style of integration in a long time. Honestly, I would avoid it if possible. Running Alfresco and Liferay in the same JVM is not the best idea. Alfresco&#8217;s direction with portal integration is to use Spring Web Scripts from within a portlet to make remote calls to the Alfresco repository.</p>
<p>You might have better luck in the forums.</p>
<p>Jeff</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivano</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-46896</link>
		<dc:creator>Ivano</dc:creator>
		<pubDate>Mon, 18 Jan 2010 16:20:43 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-46896</guid>
		<description>I Jeff,  as you teach there are many method to integrate Alfresco web client into Liferay portal framework, but in fact the most natural (Alfresco as a 168 portlet) is not usable at all!!

I&#039;m using Liferay Portal 5.1.2 and Alfresco ECM 3.2r2 deployed as portlets, using Tomcat 5.5.26.

Tomcat, Liferay and Alfresco starts up ok, no errors.  6 Alfresco portlets are deployed onto liferay (registered successfully).

But there is a big problem:  You can&#039;t add/upload content in Alfresco&#039;s folders.

You can add the Alfresco client portlet to a portal page, but when you try to &#039;add a content&#039; - you get the error:
([org.alfresco.web.ui.common.Utils] A system error happened during the operation: null
java.lang.NullPointerException
at org.alfresco.repo.content.filestore.FileContentReader.(FileContentReader.java:123))

This is a problem since a long time, also using previous Alfresco version.

Please, could you help on this?
Thank you in advance!

Ivano</description>
		<content:encoded><![CDATA[<p>I Jeff,  as you teach there are many method to integrate Alfresco web client into Liferay portal framework, but in fact the most natural (Alfresco as a 168 portlet) is not usable at all!!</p>
<p>I&#8217;m using Liferay Portal 5.1.2 and Alfresco ECM 3.2r2 deployed as portlets, using Tomcat 5.5.26.</p>
<p>Tomcat, Liferay and Alfresco starts up ok, no errors.  6 Alfresco portlets are deployed onto liferay (registered successfully).</p>
<p>But there is a big problem:  You can&#8217;t add/upload content in Alfresco&#8217;s folders.</p>
<p>You can add the Alfresco client portlet to a portal page, but when you try to &#8216;add a content&#8217; &#8211; you get the error:<br />
([org.alfresco.web.ui.common.Utils] A system error happened during the operation: null<br />
java.lang.NullPointerException<br />
at org.alfresco.repo.content.filestore.FileContentReader.(FileContentReader.java:123))</p>
<p>This is a problem since a long time, also using previous Alfresco version.</p>
<p>Please, could you help on this?<br />
Thank you in advance!</p>
<p>Ivano</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Is Alfresco Surf a portal alternative ? &#124; blogs.contentreich.de</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-43222</link>
		<dc:creator>Is Alfresco Surf a portal alternative ? &#124; blogs.contentreich.de</dc:creator>
		<pubDate>Tue, 27 Oct 2009 09:17:34 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-43222</guid>
		<description>[...] Content-management can really cause headaches when you have a portal participating in the game (Our Experiences). Jeff Potts summarizes a few approaches integrating Alfresco (w/o Surf) with a portal in his blog. [...]</description>
		<content:encoded><![CDATA[<p>[...] Content-management can really cause headaches when you have a portal participating in the game (Our Experiences). Jeff Potts summarizes a few approaches integrating Alfresco (w/o Surf) with a portal in his blog. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Flex for Enterprise 3.0 &#187; Blog Archive &#187; Liferay portlet for FlexSpaces</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-40647</link>
		<dc:creator>Flex for Enterprise 3.0 &#187; Blog Archive &#187; Liferay portlet for FlexSpaces</dc:creator>
		<pubDate>Mon, 31 Aug 2009 01:03:57 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-40647</guid>
		<description>[...] Haven&#8217;t tried using SSO approaches yet: 1. Rivet Logic STAr (Secure Token Authentication rivet amp for Alfresco) used with AWPr 2. Jonas Yuan / Cignex LDAP ADS and SSO CAS   and also blog post on a combined install 3. Sourcesense Alfresco OpenSSO integration Other references 1. Luis Sala&#8217;s portlet dev wiki page and blog 2. Jeff Pott&#8217;s blog [...]</description>
		<content:encoded><![CDATA[<p>[...] Haven&#8217;t tried using SSO approaches yet: 1. Rivet Logic STAr (Secure Token Authentication rivet amp for Alfresco) used with AWPr 2. Jonas Yuan / Cignex LDAP ADS and SSO CAS   and also blog post on a combined install 3. Sourcesense Alfresco OpenSSO integration Other references 1. Luis Sala&#8217;s portlet dev wiki page and blog 2. Jeff Pott&#8217;s blog [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jpotts</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-36357</link>
		<dc:creator>jpotts</dc:creator>
		<pubDate>Tue, 09 Jun 2009 14:05:27 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-36357</guid>
		<description>Yes, customizing Share is an option. I consider that to be Option 2, but I agree that when you start with Share it is different than writing a Surf app from scratch because your components already have pages where they can live.

I do caution people, though, not to abuse the tool. It would be easy to take Share and make so many customizations to it you&#039;ve taken it down a far different path than it was originally intended. What you have then is effectively your own fork of Share that may be difficult to maintain going forward.

We&#039;ve done some significant Share customizations and there some things to watch out for. If you are going the Share route, you might want to read this summary:

http://ecmarchitect.com/archives/2009/04/22/976</description>
		<content:encoded><![CDATA[<p>Yes, customizing Share is an option. I consider that to be Option 2, but I agree that when you start with Share it is different than writing a Surf app from scratch because your components already have pages where they can live.</p>
<p>I do caution people, though, not to abuse the tool. It would be easy to take Share and make so many customizations to it you&#8217;ve taken it down a far different path than it was originally intended. What you have then is effectively your own fork of Share that may be difficult to maintain going forward.</p>
<p>We&#8217;ve done some significant Share customizations and there some things to watch out for. If you are going the Share route, you might want to read this summary:</p>
<p><a href="http://ecmarchitect.com/archives/2009/04/22/976" rel="nofollow">http://ecmarchitect.com/archives/2009/04/22/976</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Coffman</title>
		<link>http://ecmarchitect.com/archives/2009/04/20/971/comment-page-1#comment-36354</link>
		<dc:creator>Coffman</dc:creator>
		<pubDate>Tue, 09 Jun 2009 11:58:57 +0000</pubDate>
		<guid isPermaLink="false">http://ecmarchitect.com/?p=971#comment-36354</guid>
		<description>As usual, excelent article ...
What about creating sites on Alfresco Share and develop dashlets for especific functionallity ? I think it&#039;s a nice approach . It&#039;s not like option 2, and you can use the Share UI.</description>
		<content:encoded><![CDATA[<p>As usual, excelent article &#8230;<br />
What about creating sites on Alfresco Share and develop dashlets for especific functionallity ? I think it&#8217;s a nice approach . It&#8217;s not like option 2, and you can use the Share UI.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

