diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.desc.xml
new file mode 100644
index 0000000000..b181918020
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.desc.xml
@@ -0,0 +1,14 @@
+
+
+
+ Gallery Sample Data
+ Returns data used to populate the Flex gallery sample.
+
+
+ /collaboration/gallery/{noderef}
+
+ extension
+ user
+ required
+
+
diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.js b/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.js
new file mode 100644
index 0000000000..f3f51e67ff
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.js
@@ -0,0 +1,9 @@
+
+var gallery = search.findNode(url.extension);
+if (gallery == undefined || gallery.isContainer == false)
+{
+ status.code = 404;
+ status.message = "Gallery " + url.extension + " not found.";
+ status.redirect = true;
+ }
+ model.gallery = gallery;
\ No newline at end of file
diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.xml.ftl b/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.xml.ftl
new file mode 100644
index 0000000000..587bce0468
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/gallery.get.xml.ftl
@@ -0,0 +1,21 @@
+
+
+ ${gallery.name}
+ <#list gallery.children as image>
+ <#if image.isDocument>
+
+ ${absurl(url.context)}${image.url}
+ <#if image.properties["cm:title"]?exists>
+ ${image.properties["cm:title"]}
+ <#else>
+
+ #if>
+ <#if image.properties["cm:description"]?exists>
+ ${image.properties["cm:description"]}
+ <#else>
+
+ #if>
+
+ #if>
+ #list>
+
diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.desc.xml
new file mode 100644
index 0000000000..9187718ad3
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.desc.xml
@@ -0,0 +1,14 @@
+
+
+
+ Views the specified gallery
+ Views the specified gallery.
+
+
+ /collaboration/gallery/view/{noderef}
+
+ extension
+ user
+ required
+
+
diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.html.ftl
new file mode 100644
index 0000000000..2e895b3831
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.html.ftl
@@ -0,0 +1,28 @@
+
+<#assign dataURL=absurl(url.context) + "/wcs/collaboration/gallery/" + path>
+
+
+
+
+
+
+
+
+
+
diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.js b/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.js
new file mode 100644
index 0000000000..e7e637bc7d
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/viewgallery.get.js
@@ -0,0 +1,3 @@
+
+model.ticket = session.ticket;
+model.path = url.extension;
\ No newline at end of file
diff --git a/source/web/WEB-INF/web.xml b/source/web/WEB-INF/web.xml
index 26b7b1727b..e649464495 100644
--- a/source/web/WEB-INF/web.xml
+++ b/source/web/WEB-INF/web.xml
@@ -319,6 +319,11 @@
pageRendererServlet
org.alfresco.web.app.servlet.PageRendererServlet
+
+
+ QuercusServlet
+ org.alfresco.module.phpIntegration.servlet.AlfrescoQuercusServlet
+
Faces Servlet
@@ -485,10 +490,15 @@
/page/*
+
+ QuercusServlet
+ *.php
+
+
60
-
+
index.jsp
@@ -497,5 +507,5 @@
java.lang.Exception
/jsp/error.jsp
-
+
diff --git a/source/web/swf/Flexbook.swf b/source/web/swf/Flexbook.swf
new file mode 100644
index 0000000000..a79f3092d4
Binary files /dev/null and b/source/web/swf/Flexbook.swf differ