cancel
Showing results for 
Search instead for 
Did you mean: 

CoolIris crossdomain.xml file location

alexr
Champ in-the-making
Champ in-the-making
I just created a simple webscript to generate a rss (media) feed for CoolIris (video wall) flash application (formerly called PicLens).
Some info about CoolIris can be found here: http://developer.cooliris.com/
In order to let CoolIris have access to the rss feed I am instructed to place a so called "crossdomain.xml" in
the root folder.
The alfresco webscript call is:
http://localhost:8080/alfresco/service/sample/mediafeed/
At this moment I run everything local on an Alfresco Labs 3C (tomcat) windows setup.

Can someone please tell me in what alfresco / tomcat folder I have to place the crossdomain.xml for CoolIris
to work off the mediafeed of the above webscript call.

Regards,

Alex
8 REPLIES 8

mikeh
Star Contributor
Star Contributor
It's a Flash feature, described here: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213

The answer depends on how you access your Alfresco server from the internet. If you're exposing the whole Tomcat server, then create the crossdomain.xml in the Tomcat ROOT webapp. If you're fronting Tomcat with Apache, for example, then you'll need to place the file in Apache's equivalent folder.

Mike

alexr
Champ in-the-making
Champ in-the-making
Thanks Mike.

Not using Apache as a front, so will try to put it in the TomCat Root webapp.

Best regards,

Alex

alexr
Champ in-the-making
Champ in-the-making
I tried to place the crossdomain.xml inside the ROOT subfolder of the tomcat webapps folder
Also cleaned the work /temp folders before starting the Alfresco server.
Still getting the message from the Embeded CoolIris flash application that I need to place a crossdomain.xml file.

Then I tried to place the crossdomain.xml inside the Alfresco webapps folder. Cleaned the work folders again
and restarted Alfresco.
Still getting the message from the Embeded CoolIris flash application that I need to place a crossdomain.xml file.

For some reason Tomcat does not process the crossdomain.xml file in the Tomcat ROOT folder
and neither in the Alfresco webapps folder. So the CoolIris url's are not allowed to access the result (media feed)
from the Alfresco webscript via port 8080.

I don't use a separate webserver. Tomcat is running on port 8080 and CoolIris should be able to access the
mediafeed from the alfresco webservice via the same port.
Everything is installed on a W2K3 SP2 VMWare image.

Did anybody have any success with crossdomain.xml being processed on a tomcat only setup (perhaps different flash application)?

Regards,

Alex


alexr
Champ in-the-making
Champ in-the-making
When I place the crossdomain.xml in the Tomcat Alfresco webapps folder I can get the crossdomain.xml via the following url:

http://localhost:8080/alfresco/crossdomain.xml

Yet the embedded CoolIris application still won't read from the feed:

feed=http://localhost:8080/alfresco/service/sample/mediafeed/

Regards,

Alex

mikeh
Star Contributor
Star Contributor
It's probably the format of the file that's wrong - but it definitely needs to go in the ROOT webapp. Check you can access it from http://localhost:8080/crossdomain.xml

The file should apparently* look like:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
   <site-control permitted-cross-domain-policies="all" />
   <allow-access-from domain="*.cooliris.com" secure="false" />
   <allow-access-from domain="*.piclens.com" secure="false" />
</cross-domain-policy>

Mike

[size=85]* because I haven't tried it[/size]

alexr
Champ in-the-making
Champ in-the-making
Hi Mike,

I have fixed the problem. The web.xml residing in the ROOT webapp folder of Alfresco Labs 3C
is configured for an Alfresco VTI root proxy:


<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
   <display-name>Alfresco Vti Root Proxy</display-name>
   <description>Alfresco Vti Root Proxy</description>
  
   <servlet>
      <servlet-name>VtiRootProxyServlet</servlet-name>
      <servlet-class>org.alfresco.proxy.ProxyServlet</servlet-class>
      <init-param>
         <param-name>alfresco-context-name</param-name>
         <param-value>/alfresco</param-value>
      </init-param>
      <init-param>
         <param-name>alfresco-appcontext-attribute</param-name>
         <param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
      </init-param>
      <init-param>
         <param-name>receiver-bean-name</param-name>
         <param-value>vtiServletContainer</param-value>
      </init-param>
      <init-param>
         <param-name>context-receiver-bean-name</param-name>
         <param-value>vtiContextServletContainer</param-value>
      </init-param>     
      <init-param>
         <param-name>target-http-method</param-name>
         <param-value>service</param-value>
      </init-param>
      <init-param>
         <param-name>target-alfresco-context-method</param-name>
         <param-value>setContext</param-value>
      </init-param>
     
      <load-on-startup>5</load-on-startup>
   </servlet>
  
   <servlet-mapping>
      <servlet-name>VtiRootProxyServlet</servlet-name>
      <url-pattern>/*</url-pattern>
   </servlet-mapping>
      
</web-app>

The servlet does not accept a url like:   http://localhost:8080/crossdomain.xml.
I replaced the web.xml in the ROOT webapp WEB-INF with a clean web.xml


<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
</web-app>

Restarted Alfresco server and could call http://localhost:8080/crossdomain.xml.
The CoolIris image wall is now working with an Alfresco media stream.
I am going to try and make a sample SURF component for it.

Kind regards,

Alex

alexr
Champ in-the-making
Champ in-the-making
With the clean web.xml in the WEB-INF folder of the ROOT webapp the retrieval of crossdomain.xml (and therefor the CoolIris integration) works.
However Alfresco Labs 3C has to have the Alfresco VTI root proxy servlet in place  as a Sharepoint VTI module/proxy. When I start Alfresco Web Studio
I get a message that a template can't be retrieved when I want to edit a site. Furthermore the Web Studio Edit Panel is not built correctly.
So I had to revert to the original web.xml in the WEB-INF folder of the ROOT webapp.

What needs to be changed in order to make both crossdomain.xml be retrievable through the url: http://localhost:8080/crossdomain.xml and
the Alfresco VTI proxy working properly as a Sharepoint VTI module/proxy.

Is there a smart way to configure this VTI proxy in order to bypass the proxy specifically for the flash application to access http://localhost:8080/crossdomain.xml  ?

Best regards,

Alex

PS: Hopefully the CoolIris image wall application will soon be available as as standalone flash application that can be deployed on your own server.
It would be a nice to produce a SURF component based on it and add it to the Alfresco community component library.

alexr
Champ in-the-making
Champ in-the-making
The slight corruption of WebStudio was only temporary and a coincedence. It looks like it had nothing
to do with the replacement of the original web.xml in the ROOT webapp.
So at the moment I can run both the CoolIris integration and WebStudio/Share on a clean
web.xml (withouth the Alfresco PVI proxy servlet settings) in the ROOT webapp/WEB-INF.
However certain Alfresco functionality still need the PVI proxy the original web.xml.
So it would be better to have a solution where both the PVI proxy servlet configuration and
the crossdomain.xml access are guaranteed.

Regards,

Alex