Open-Xchange Publishing

Revision as of 13:50, 24 February 2010 by Tierlieb (talk | contribs)

Publishing Data with Open-Xchange

Open-Xchange offers to publish an increasing amount of internal data like contacts, documents, appointments. This data can be published in a way that it is machine-readable using OXMF and it can be customized in it's look and feel using common web techniques like CSS.

Open-Xchange is using the FreeMarker Template Engine to export the internal date to the published templates. Check the FreeMarker Manual on how to use it.

Open-Xchange Internal data structures to access with FreeMarker

Contacts

Within freemarker, you are given a list called contacts, which contains all contacts of the given publication. Freemarker enabled you to access every attribute of the class Contact that has both a setter and a getter. See the JavaDoc for the class to find out about attributes or use the example template.

Examples

This is the basic loop over the list of contacts that you get:

  <#list contacts as contact>
     <div class="ox_contact">
        <span class="ox_company">$contact.company</span>
        <span class="ox_company">$contact.uRL</span>
        <span class="ox_note">$contact.note</span>
     </div>
  </#list>


Changing the default templates

The default templates of all existing items to publish can be found in the folder /opt/open-xchange/templates/ of every Open-Xchange installation, if the package open-xchange-publish-microformats is installed:

$ dpkg -L open-xchange-publish-microformats | grep templates
/opt/open-xchange/templates
/opt/open-xchange/templates/contacts_oxmf_uncensored.tmpl
/opt/open-xchange/templates/infostore.tmpl
/opt/open-xchange/templates/contacts_hcard_censored.tmpl
/opt/open-xchange/templates/contacts_oxmf_censored.tmpl
/opt/open-xchange/templates/contacts.tmpl
/opt/open-xchange/templates/contacts_hcard_uncensored.tmpl

When these files are changed, new published items in Open-Xchange will get this look and feel. Check out the online help or the user guides on how to publish using Open-Xchange.