Project: eZ ODF

This is a Stub article. Help the eZ Publish community by expanding it!

This feature is available since eZ publish 3.9.

The Open Document Format extension or in short ezodf allows you to import and export eZ publish content objects to the OASIS Open Document Format. From eZ publish 3.9 on, ezodf is included in the standard eZ publish distribution.

Before it's inclusion in eZ publish 3.9, the ezodf extension was called oo. The extension first allowed import and export of OpenOffice.org Writer documents (OpenOffice.org extension contribution page at ez.no), but later on it moved to the OpenDocument format (OASIS OpenDocument extension contribution page at ez.no).

About

For some of the nice feature of the ODF extension, like MS Word import and export and PDF generation via OpenOffice.org you need OpenOffice.org installed on your server and running as daemon.

You can follow the installation guide from the official ezodf documentation.

Solution: Converting MS Word or PDF on Mac

These instructions were written from the perspective of attempting to manipulating ms word or pdf documents on MacOSX 10.4 -10.6

First install open office, you may prefer to install this MacOS port of open office called, neooffice / neojava.
Alternative OpenOffice.org: http://download.openoffice.org/other.html

Step 1, Install NeoJava

Step 2, Follow eZ ODF Installation documentation steps almost to completion (wait till next step before starting daemon).

  • Install extension, macro, daemon, etc

Optional, Step 3, Before starting the daemon via command shell ...

Edit the file, extension/ezodf/daemon.php with a PHP editor and change line 40:

$ooexecutable = "openoffice.org-2.0";
 
to
 
$ooexecutable = "/Applications/NeoOffice.app/Contents/MacOS/soffice";

Alternative OpenOffice.org:

$ooexecutable = "openoffice.org-2.0";
 
to
 
$ooexecutable = "/Applications/OpenOffice.org.app/Contents/MacOS/soffice";

Summary

Start now your daemon.

 
$ php extension/ezodf/daemon.php 
 

That's all and now you can work with it.

Tested

This article was tested with the following

  1. October 2010
  • eZ Publish Open Source Version: 4.4
  • eZ Publish Open Source Version: 3.2
  1. October 2007: XAMPP for MacOS X 0.7.0, 7
  • eZ Publish Version: 4.0.0rc1
  • PHP Version: 5.2.4
  1. October 2007: XAMPP for MacOS X 0.7.0, 7
  • Functionality tested, Import / Export .doc and Export PDF
  • Webserver software, ApacheFriends' Xampp
  • eZ Publish Version: 3.10.0
  • PHP Version: 4.4.7

Issues

  • Perhaps of bug in Online Editor < 5.0

Installation Dependencies

  • Error: "sh: openoffice.org-2.0: command not found".

Commonly based this error in your reported error text informs you that you should add the program binary to your shell path and try executing the program again.

  • Error: "Set DISPLAY environment variable, use -display option or check permissions of your X-Server".

Often the problem is that the software requires open office to start and execute one of it's own conversion macros. This in turn requires the graphical X Window environment already installed, configured and running properly. It may not display a gui application window and refuse to start without one.

Possible Solutions

  • Install and run a standard X Window service on the server. Negatives: Consumes much more memory and and system resources. Positives: The simplest solution to setup and troubleshoot since you have a chance to see what is actually happening through the X Window gui screen.
  • Install and run a standard X Window service on a remote computer and set the shell environment variable, 'DISPLAY' on the eZ Publish server to direct the server's visual output to the remote machine. Advantages: This will naturally save on ram and system resources exausted while also introducing another dependency on one more server computer. Often depending on the networks involved this practice is discouraged in most non-LAN networks for performance reasons.
  • Install and run xvfb on the eZ Publish server (or the variant, xvnc). This saves on memory and introduces no external dependencies.

About

Summary

References

References