Nuxeo/Blogs

Product & Development / All about the Nuxeo Platform, from strategy to feature highlights to dev tricks

Product & Development

Package for OOo Security Bulletin 2006-06-29

without comments


OpenOffice.org 2.0.3 has been announced
as out !
(french version is expected in the coming hours)

This announcement provides a security
bulletin
dealing with 3 potential vulnerabilities detected by internal
security audits.

if you can not install this new 2.0.3 version for whatever reason, the
issue dealing with java applet can be countered as mentionned on the Java Applets,
CVE-2006-2199 dedicated page

(be carefull that other issues remain !!)

The solution proposed works great by deactivating java applets but is not
so easy to deploy at large scale or for regular users. So i used the OOo
Tools for what they are made for : The UNO Package concept that allow to
create great
extensions
but also
deploy configuration settings

So this addon reproduces what is proposed on the CVE page. It works for OOo
2.x as well as OOo 1.x

To deploy under OOo 2.x

  • Tools > Package Manager

Written by

June 30th, 2006 at 6:13 pm

Finding the last changed object in a ZODB.

with one comment

Today I had to figure out why something that should not create a write
transaction did create one.

The first step is easy, you pack the database, do the thing that should not
modify anything and look in the “undo” tab of your Zope site. There you’ll
see if something was written or not, it comes up as an undoable transaction.

Then it is a matter of figuring out what happens. In this case, it was quite
a complex script with many parts. I wanted to see if I could narrow down the
problem by seeing what was actually changed. So, from my lib/python
directory, I ran this script:

from ZODB.FileStorage import FileStorage
storage = FileStorage('/path/to/var/Data.fs', read_only=1)
iter = storage.iterator()
try:
while True:
transaction = iter.next()
except:
pass
for rec in transaction:
print repr(rec.oid)

This prints out the “oids” of all modified objects in the transaction.
Then I can run …

Written by

June 28th, 2006 at 4:21 pm

Creating a new Funambol connector

without comments

This blog post will be about sharing what I learned around developping
Funambol Connector. It is not intended to be complete or a replacement of
any Funambol tutorial. However, I’ll try to give some tips here to better
understand.

Basic documentation

First things firsts, before anything else, you should have a serious look
at the
Funambol module development tutorial
. This will guide you in the
creation of a dummy connector. However, this paper is not complete enough
for new developers. Thus I’ll try to explain some difficult points here.

Take care of which API reference you are reading. The j2se and DS-server
APIs are different with similar concepts and names…

Understanding modules

First of all, the tutorial is about modules and not connectors… what’s
the difference ? In fact a module is a general additionnal component to
Funambol which contains one or more connectors.

As you might have understood …

Written by

June 28th, 2006 at 1:19 pm

My first URE Component in Java

without comments

How to create a new URE based application ? The documentation is quite
hard to find, but the main important thing is: create a UNO component
implementing the com.sun.star.lang.XMain interface. This one will contain a
method run() I’ll explain how to create a “Hello URE World”
application.

The project will be organized in the following way:

  • idl diretory containing the
    application UNOIDL specifications
  • source directory containing the
    implementation of the UNOIDL types
  • program directory which will
    contain the application registries and libraries
  • MANIFEST.MF file which will
    describe the registration class of the component
  • Makefile file to make the build
    much easier
  • unotest file to
    launch the newly created application

UNOIDL file definition

The file idl/org/unotest/Main.idl will
describe a simple service org.unotest.Main exporting the XMain
interface this gives the following code:

module org { module unotest {
service Main: com::sun::star::lang::XMain {
create ();
}
}; };

Note that this service is …

Written by

June 27th, 2006 at 10:14 am

UNO Component for URE test.

without comments

I have written an example of URE application just saying Hello URE world in
two languages: C++ and Java.
To run this example you will need an UNIX environment, that is to say a
UNIX or an emulation like cygwin. It uses the following tools:

  • GNU Make
  • G++ 3.3
  • OpenOffice.org 2.0 SDK
  • URE installed in /opt/openoffice.org/ure/

Howto run the example ?

You just have to launch make to build the component. Launch
unotest to run the URE starting with the C++ implementation and the
Java one. To clear the directory, use make purge.

How does it work ?

This example is the one given in
this post of my blog
. It has been completed by a C++ implementation. The
principle in C++ is the same than in Java: the major problem is the
compilation chain. You can study it by reading the content of the makefile
contained in …

Written by

June 27th, 2006 at 10:14 am

A UNO-URE exercise

with one comment

I just have completed to write and document a small exercise to learn the
basis for C++ URE based applications. Just get the joint archive and look at
the README file for the instructions.
In the archive you will find: the correction, the question and the makefile
for the build. In a few words, the exercise consists in writing the
specifications and implementation of an application using a Banker and a
Customer asking for money. Completing the exercise without looking at the
answer takes approximatly working 2 or 3 days ;)

(Post originally written by Cedric Bosdonnat on the old Nuxeo blogs.)…

Written by

June 27th, 2006 at 10:14 am

MS Office XML format not so clear

without comments

Yesterday, in a meeting at school, I could clearly see what could prevent us
to consider MS Office XML file as open.

  • There is a processing directive at the beginning of the Word document
    saying: “it’s a word document”. This could be interpreted by the XML
    parser to do what it want’s wihtout we know it.
  • To our surprise, there are some XML namespaces where the URN is
    no. This means obviously that the format is not fully known by a
    customer.

I have an answer now for people saying me that MS Office XML is open…
XML doesn’t necessary mean open !

(Post originally written by Cedric Bosdonnat on the old Nuxeo blogs.)…

Written by

June 27th, 2006 at 10:13 am

OOEclipse Integration isn’t dead

without comments

A new version

I have released a new version (1.0.1) of the Eclipse plugin to support
OpenOffice.org development. Here are the changes from the previous
release:

  • a new UNO-IDL interface wizard
  • the new UNO project wizard was extended with the new service wizard as
    a second page
  • definition of default values in the wizards
  • build bug fixed (was just a workspace refreshing problem)

Important: The plugin doesn’t work with the gij and gcj

Getting the new version

  • Sources available on the api/ooeclipseintegration CVS
  • Add http://cedric.bosdonnat.free.fr/ooeclipseintegration as an Eclipse
    update site.

What’s next ?

  • C++ language support: This mainly includes the cppumaker use
  • detection of the Eclipse available plugins to configure the
    wizards/li>
  • complete the code documentation and the user help
  • update of the Cheat Sheets
  • fix some configuration bugs.

(Post originally written by Cedric Bosdonnat on the old Nuxeo blogs.)…

Written by

June 27th, 2006 at 10:13 am

Creating an URE application in C++

without comments

I just have finished to write a tutorial on how to create a simple C++
application based on the URE. This paper is written for URE and UNO
beginners and might be missing some important informations.

I would really appreciate every return to modify this tutorial and make it
better: it may be a tool to spread UNO around the world. The tutorial is
refering to an article I wrote earlier: ”
A UNO/URE exercise
“. See the attached link to get the tutorial
itself.

(Post originally written by Cedric Bosdonnat on the old Nuxeo blogs.)…

Written by

June 27th, 2006 at 10:13 am

Handling GStreamer throught UNO

without comments

Big news, I have a first working version of an UNO component to handle
GStreamer from UNO code. This will allow using gstreamer features within UNO
framework such as macro but also Java, c++ or pyUNO programs.

This component has many advantages for OpenOffice.org: it uses a free
multimedia framework, and provide an API. This API has to be extended and
doesn’t give access to every GStreamer feature.

The component is described on my personnal website where you can download
the OpenOffice.org package to install as well as a sample Basic macro
playing an Ogg file.

Of course this is still under development, and may not work in some
cases. However, every feedback is welcome.

Many thanks to Laurent Godard who help me to debug and test the
component

(Post originally written by Cedric Bosdonnat on the old Nuxeo blogs.)…

Written by

June 27th, 2006 at 10:13 am