OpenOffice Documents with Lenya

Similar documents
Seamless Content Management with OpenOffice and Cocoon

Frequently Asked Questions

How to be a Forrest developer

Manakin Workshop. Manakin Workshop DSpace User Group, February Scott Phillips Texas A&M University

Modules. Table of contents

Table of Contents Introduction to the SAP Roambi migration process SystemRequirements Preparing to upgrade SAP Roambi ES

Plugin Infrastructure

Servlets. How to use Apache FOP in a Servlet $Revision: $ Table of contents

Servlets. How to use Apache FOP in a Servlet $Revision: $ Table of contents

OOoCon 2004 Berlin. XML Technologies: W3C XSLT Functionality in OpenOffice.org. Svante Schubert. Slide 1

This page discusses topic all around using FOP in a servlet environment. 2. Example Servlets in the FOP distribution

Setting Up the Development Environment

The Paloose Web Engine

Magnolia. Content Management Suite. Slide 1

Plugins Index. Table of contents. 1 Plugins Index Released Plugins Whiteboard Plugins...8

Forrest Sitemap Reference

Oracle Fusion Middleware. 1 Oracle Team Productivity Center Server System Requirements. 2 Installing the Oracle Team Productivity Center Server

CMS (Publishing System) Change and Release Management Plan

EUSurvey Installation Guide

Servlets by Example. Joe Howse 7 June 2011

myinsight for Documentum Release Notes

Signicat Connector for Java Version 2.6. Document version 3

Perceptive Experience Content Apps

Sentences Installation Guide. Sentences Version 4.0

Content Mirroring Configuration

Developing and Deploying vsphere Solutions, vservices, and ESX Agents

Application Reuse through Portal Frameworks

CSC 8205 Advanced Java

Branding Customizations

SSO Plugin. Integrating Business Objects with BMC ITSM and HP Service Manager. J System Solutions. Version 5.

How to connect to Cloudera Hadoop Data Sources

ASG-Rochade WebAccess Readme

BUILDING A WEBSITE FOR THE NUMBER ONE CHILDREN S HOSPITAL IN THE U.S. May 10, 2011

Import Data Connection from an SAP Universe

The DSpace Course. Module - Look & Feel Customisation

Embed BA into Web Applications

Enterprise Reporting. 1 enterpri. Oracle Bl Publisher 11 g: A Practical Guide to. Enterprise data using Oracle Bl Publisher 11g

EUSurvey OSS Installation Guide

Exchanger XML Editor - Transformations

ESIGATE MODULE DOCUMENTATION DIGITAL EXPERIENCE MANAGER 7.2

DocAve Software Platform v Release Notes

Repository In A Box (RIB)

Nesstar Server Configuration Tool User Guide

Live Data Connection to SAP Universes

Developing and Deploying vsphere Solutions, vservices, and ESX Agents. 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6.

LizardTech. Express Server 9. ExpressZip Manual

The Roadmap for Installing, Configuring and Migrating to SAS 9

DOWNLOAD OR READ : XML AND XSL TWO 1 HOUR CRASH COURSES QUICK GLANCE PDF EBOOK EPUB MOBI

KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache

JASPERREPORTS SERVER UPGRADE GUIDE

<put document name here> 1/13

Create Import Data Connection to SAP BPC MS

Tzunami Deployer Lotus Notes Exporter Guide

1. Documenting your project using the Eclipse help system

Frequently Asked Questions about SAS Environment Manager on SAS 9.4

Jakarta Struts: An MVC Framework

White Paper. Fabasoft Folio Portlet. Fabasoft Folio 2017 R1 Update Rollup 1

Panopto 5.4 Release Notes

A Model-Controller Interface for Struts-Based Web Applications

App Studio 4.1 Deployment Guide

Publish Model Package

Coveo Platform 6.5. EPiServer CMS Connector Guide

Developing and Deploying vsphere Solutions, vservices, and ESX Agents

Oracle BI Publisher 11g R1: Fundamentals

Configuring Tomcat for a Web Application

Demo Package Guide. OpenL Tablets BRMS Release 5.19

servlets and Java JSP murach s (Chapter 2) TRAINING & REFERENCE Mike Murach & Associates Andrea Steelman Joel Murach

Date Version Changes Owner. 14-Dec First Version JC. 14-Feb Version for release at City University JC

NetIQ Identity Manager 4.5 Service Pack 5 includes new features, improves usability, and resolves several previous issues.

<Insert Picture Here> Oracle Policy Automation Connector For Siebel Features and Benefits

Cisco CVP VoiceXML 3.1. Installation Guide

JSF - Facelets Tags JSF - template tags

Web Collaborative Reviewer Installation Guide. Small Business Edition

Extending and Customizing the IBM Security Identity Manager

AutoVue Integration SDK & Sample Integration for Filesys DMS

User Stories Report. Project. Statistics: Name Start End Weather Forecaster 5/2/ /7/2005

Open a browser and download the Apache Tomcat 7 and Oracle JDBC 6 JAR from these locations. The Oracle site may require that you register as a user.

Introduction to XML. An Example XML Document. The following is a very simple XML document.

BEAAquaLogic. Pages. Installation and Upgrade Guide

Updating Hosted Customer Instances on the OnPoint Production Server By Peter Westphal

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant

Checkbox Quick Start Guide

Customizing Oracle Identity Governance: Populating Request Attributes

CodeCharge Studio Java Deployment Guide Table of contents

This document contains release notes for MobilePrint 2.0 General Release.

TIBCO LiveView Web Getting Started Guide

PrinterOn On-Premise Server Release Technical Support Notes

SharePoint Designer Customizing and Branding SharePoint 2010 and Office 365

ESRI stylesheet selects a subset of the entire body of the metadata and presents it as if it was in a tabbed dialog.

Oracle Fusion Middleware

SciDetect TM Documentation

SAS AppDev Studio TM 3.4 Eclipse Plug-ins. Migration Guide

Cover Page. Content Portlet Suite (CPS) for Plumtree Portal Server 10g Release 3 ( )

EMC Documentum Content Transformation Services Transformation Suite

Introduction to Eclipse

Manage Files. Accessing Manage Files

Contents. 1. Using Cherry 1.1 Getting started 1.2 Logging in

Feed Cache for Umbraco Version 2.0

IBM Connections Customisation and Integration with Lotus Sametime. Brian

SLI Learning Search Connect For Magento 2

Transcription:

01Initial version NOTICE: This document describes the integration of Openoffice with Lenya CMS Table of contents 1 Goals...2 2 Prerequisites...2 2.1 OpenOffice DTD... 2 2.2 XML Catalog... 2 2.3 OpenOffice2HTML XSTL... 3 2.4 Slide... 3 3 Pipelines...4 3.1 Read the zip/jar file... 4 3.2 Unpack zip file and transform the OO xml to xhtml... 4 3.3 Aggregate with navigation...4 4 Problems... 5 5 To do's... 5

1 Goals This document describes the integration of Openoffice with Lenya CMS. The integration is guided by the following goals: Use OpenOffice as a content editor for static web pages Migrate OpenOffice document to a custom xml format 2 Prerequisites In order to seamlessly integrate Openoffice into the publication process of Lenya/Cocoon the following prerequisites need to be met: 2.1 OpenOffice DTD The DTDs for the OpenOffice documents has to be available on the system. It's best to get them directly from your OpenOffice installation. They are located in the share directory of your installation. Copy the dtd's into your Lenya installation, e.g. as follows: cp ~/Office/share/dtd/* ~/build/jakarta-tomcat-4.1.18-le-jdk14/webapps/lenya/lenya/resources/dtd/ openoffice/ FIXME ( ce): The DTDs should probably go into /usr/share/sgml/openoffice/* Note: There's a bug in the xml parser. As a workaround we uncomment all the draw:text-box stuff. 2.2 XML Catalog In order for Lenya/Cocoon to find the DTDs you need to setup an XML catalog as follows: xmlcatalog --noout --create openoffice.cat xmlcatalog --noout --add "public" \ "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "file:///home/slide/build/jakarta-tomcat-4.1.18-le-jdk14/webapps/lenya/lenya/resources/dtd/ openoffice/officedocument/1_0/office.dtd" \ openoffice.cat Alternatively you can simply use the attached catalog. Store this newly created catalog and edit CatalogManager.properties to make sure Cocoon finds this catalog and hence the OpenOffice DTDs. Add the location of the OpenOffice catalog to Cocoon's CatalogManager.properties (which can be found in ~/build/jakarta-tomcat-4.1.18-le-jdk14/webapps/lenya/web-inf/ classes/catalogmanager.properties) by adding the following lines to this file: #catalogs=/path/to/local/catalog catalogs=/home/slide/build/jakarta-tomcat-4.1.18-le-jdk14/webapps/lenya/lenya/resources/dtd/ openoffice/catalog.xml Page 2

2.3 OpenOffice2HTML XSTL In order to render the OpenOffice xml as html we need XSLT stylesheets to provide the necessary transformations. A very good XSLT which is fairly complete can be fetched from zope.org (http://www.zope.org/ Members/philikon/ZooDocument). 2.4 Slide Slide is an Apache project which offers amongst other things a a WebDAV access module (implemented as a servlet). This will allow us to deploy the OpenOffice documents directly via WebDAV. For a very basic installation the following changes need to be applied to a file named Domain.xml in the Slide webapp directory: Change permissions ContentStore: set to parent dir of OpenOffice dir Replace folder "files" by OpenOffice dir name The following patch will apply all changes you need: diff -u Domain.xml.orig Domain.xml --- Domain.xml.orig Thu Nov 1 15:47:52 2001 +++ Domain.xml Thu Mar 20 16:44:09 2003 @@ -44,7 +44,7 @@ <reference store="nodestore" /> </revisiondescriptorstore> <contentstore classname="slidestore.reference.filecontentstore"> - <parameter name="rootpath">contentstore</parameter> + <parameter name="rootpath">/home/slide/build/jakarta-tomcat-4.1.18-le-jdk14/webapps/lenya/ lenya/pubs/computerworld/content/authoring</parameter> <parameter name="version">false</parameter> <parameter name="resetbeforestarting">true</parameter> </contentstore> @@ -136,7 +136,7 @@ <!-- Paths configuration --> <userspath>/users</userspath> <guestpath>guest</guestpath> - <filespath>/files</filespath> + <filespath>/openoffice</filespath> <parameter name="dav">true</parameter> <parameter name="standalone">true</parameter> @@ -245,13 +245,12 @@ </objectnode> - <objectnode classname="org.apache.slide.structure.subjectnode" - uri="/files"> + <objectnode classname="org.apache.slide.structure.subjectnode" uri="/openoffice"> <!-- ### Give read/write/manage permission to guest ### Uncomment the following line to give permission to do all actions on /files to guest (unauthenticated users) --> - <!-- <permission action="/actions" subject="/users/guest"/> --> + <permission action="/actions" subject="/users/guest"/> <permission action="/actions/manage" subject="/users/john"/> Page 3

<permission action="/actions/write" subject="+/users/groupa"/> 3 Pipelines In order for Lenya/Cocoon to be able to read the content of the OpenOffice document, a set of pipelines need to be set up. 3.1 Read the zip/jar file To read the OpenOffice documents we need to setup a simple reader which as follows: <map:match pattern="**.sxw"> <map:read src="content/{1}.sxw"/> 3.2 Unpack zip file and transform the OO xml to xhtml OpenOffice documents are actually a zip file containing xml files for content and style plus other additional files such as jpg etc. Zip is the same file format as jar. JDK supports jar unpacking natively with the jar protocol. The pipeline to read a jar file looks as follows: <map:match pattern="**.oo"> <map:generate src="jar:http://localhost:38080/lenya/computerworld/authoring/{1}.sxw!/content.xml"/> <map:transform src="../../xslt/openoffice/ooo2html.xsl"/> <map:serialize/> 3.3 Aggregate with navigation Additionaly we want to embed the OpenOffice document in the usual navigation, header and footer. The following is fairly specific to the Computerworld publication but can easily be adapted: <map:match pattern="**.html"> <map:aggregate element="lenya"> <map:part src="cocoon:/menus/static/{1}.html"/> <map:part element="cmsbody" src="content/authoring/wrapper.html"/> <map:part src="cocoon:/{1}.oo" element="wrapper"/> <map:part src="content/authoring/small-preview.xml"/> <map:part src="content/authoring/sitetree.xml"/> <map:part src="cocoon:/today"/> </map:aggregate> <map:transform src="xslt/authoring/wrapper.xsl"> <map:parameter name="id" value="/{1}"/> <map:parameter name="authoring" value="true"/> </map:transform> <map:transform src="xslt/authoring/images.xsl"/> <map:serialize type="html"/> Page 4

4 Problems Caching prevents an update OO file (zip file) from being displayed. If you restart tomcat (slide) you lose the NodeContentStore so that WebDAV loses the nodes (documents and folders). xml parser cannot handle openoffice dtd's due to a parser bug 5 To do's Set permissions in tomcat/slide: authorization and autorisation Complete and improve OpenOffice2Html xslt (images, tables, etc.) Add pipelines for other files in zip like images Integration slide and lenya Page 5