Nuxeo

Nuxeo Developers Blog

News from the Open Source ECM trenches

Archive for August, 2005

OOo2 standalone from rpm files

without comments

After the command line for
debian
archive set, here is the one for rpm to have a standalone
runable OOo 2.0 version “out of the box”, running with other already existing OOo2 versions

for aFile in *.rpm;do rpm2cpio $aFile|cpio -ivdum ;done

This will create a directory (/opt) in the current directory containing the runable version
Remember to
handle userEnv
correctly to avoid installation mixing

(Post originally written by Laurent Godard on the old Nuxeo blogs.)

Written by nuxeo

August 30th, 2005 at 5:10 pm

Posted in Uncategorized

Indexing events

without comments

I have lately been looking into increasing the performance of
CPSSharedCalendar when you have many events in the database (some tens of
thousands or more). There are a couple of things that quickly gets tricky
when doing this:

  1. No matter what you index on, the result set from each index will be
    very big.
  2. Indexing recurring events is slightly tricky.

Big result sets

The main thing to filter on for events is obviously start and end time. You
create one index for start time and one for end time. When searching you
then have one result set with anything that falls before one of these dates
and another result set with everything that falls after one of the other
dates. And then you need to make a union of these result sets.

Sound simple enough? Well, it is simple, but it is also very slow, because
the result sets will … Read more

Written by nuxeo

August 29th, 2005 at 5:16 pm

Posted in Uncategorized

Perspectives for web applications and Z3ECM

without comments

In my last post, I was writing that Perspectives are, for me, maybe the most interesting feature (or, at least, one of them) of Eclipse RCP when building applications for users. Jean-Marc Orliaguet read it and got a new idea : might this concept work for web applications ?

Since it’s Jean-Marc and that he likes to have ideas but prefer put them at work, he started to work on this concept and see how it could fit in the Z3ECM project (next-generation ECM platform, buit on top of Zope 3).

What for ?

Imagine that when writing a new component, you also can easily define perspective. Let’s take an example : a blog application. Well you can define a “Blog Perspective” that would be activated when accessing to a blog and that would arrange the portal to offer a “blog view” putting portlets in right places. WIth this … Read more

Written by nuxeo

August 28th, 2005 at 5:06 pm

Posted in Uncategorized

Coming soon : CPS Rich Client based on Eclipse RCP

without comments

Introduction

Here, at Nuxeo, we are thinking for a long
time at desktop applications for CPS. Why in this new full web,
ajaxified, world ? :-) Well, I think that for many applications and
features, a desktop application is still needed.

Here is some examples of features / requirements :

  • Disconnected client to work in the train, in the plane, on the beach :-)
    • read, annotate, search in a document repository
    • use electronics forms when working outside the office
  • Deep integration with legacy desktop applications (what about having
    OpenOffice running inside a dedicated client to improve cooperative
    work)
  • Strong security : document signing, workflow action signing, etc.
  • Advanced text edition : interactive diff / merge
  • Advanced editors (photos, rich media, rich documents, etc.)
  • Reduce server loads doing many computation on the client
  • many, many more ideas :-)

We started to work, as some customers asked, on a desktop application.
One point … Read more

Written by nuxeo

August 24th, 2005 at 12:48 pm

Posted in Uncategorized

AtomAPI fully implemented into CPSBlog

without comments

I am going further with AtomAPI support in CPSBlog. I have just added :

The AtomAPI support has been refactored to be more generic and split into 4 classes : AtomMixin, AtomAware, AtomAwareEntry and AtomAwareCollection. I still don’t know if it’s the best architecture for Atom support, and I know there is a lot of improvements to do, but it’s better than yesterday ;-)
This is the first step to a full Atom support in CPS. I think it should be possible to apply this Atom support to any document and folder so. And that would be the first step to a fully RESTful implementation of content syndication, cross-site publication and remote content management (let’s talk now about native XMPP support, Atom extension, JEI-60, etc.). We will have to go further in this way very soon…
The code is in CPSBlog trunkRead more

Written by nuxeo

August 21st, 2005 at 8:42 pm

Posted in Uncategorized

CPSBlog now supports AtomAPI

without comments

I have implemented a partial AtomAPI support into CPSBlog, using specification and methods described by Blogger and Typepad AtomAPI.

This mainly allow blogging from desktop and mobile application.

Right now, CPSBlog AtomAPI implementation supports:

  • adding entries
  • editing entries
  • retrieving and using categories (though some bugs seems to exists
    depending on the client)
  • reading feed / entries

From a technical point of view, I’ve used the excellent lxml python
component to parse incoming request and manage to also deal with SOAP
enveloppe request (sent by some client, even if the server never says it
accept it ! :-) .

This blog will be posted using ecto on MacOS X (at least I hope it will work since it’s the first post using AtomAPI on this site ;-) . BTW, I was really disappointed to find out that there is very few AtomAPI clients (and almost none open source, but PyQLogger which seems to … Read more

Written by nuxeo

August 20th, 2005 at 5:58 am

Posted in Uncategorized

XML Schema support on Zope3 (Concret example)

without comments

I added a demo package to illustrate the zope3 / xml schema integration.

You can grab de code over there :

http://svn.nuxeo.org/trac/pub/browser/z3lab/zope/xmlschema/trunk/demo/

The goal of the demo is to get a new content object registred within Zope3
with an “add “and “edit” form driven by an XML Schema definition.

This example is pretty simple but illustrate perfectly the goal of the XML
integration and the power of Zope3 ;)

Let’s take a look at the xsd we will use in this demo  :

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="title" use="required" type="xs:normalizedString" />
<xs:attribute name="description" use="required" type="xs:string"/>
</xs:schema>

(demo.foo.xs)

It defines a schema having 2 attributs : title and description.
title is required and is a normalizedString data type
description is required as well and is a string data type.

Let’s define an interface IFoo and set the “foo” … Read more

Written by nuxeo

August 19th, 2005 at 7:44 am

Posted in Uncategorized

Extending products Zope3-style.

without comments

Today we had a need to extend the CPSSharedCalendar a little bit in a
separate project. The functionality needed was not seen as generic enough to
go into the CPSSharedCalendar itself. Luckily, since it’s written with Five,
this can be done easily, and without touching the original code, or monkey
patching, and with none of the standard problems of using portal_skins. So I
thought it might be interesting to show how this is done, as a way to
convert more people to Zope3 and Five.

Basically, the project needed to display a list of events from the users
calendar, but only the events from today, and with a custom formatting. Here
is the rough steps used, as an example to show to others how to do it:

  • Create a new product. A folder under Products and an empty __init__.py is all that
    is needed.
  • Create a view class that has
  • Read more

Written by nuxeo

August 18th, 2005 at 8:12 pm

Posted in Uncategorized

XML Schema support on Zope 3

without comments

I started yesterday an XML Schema support for the ZopeInterface.  I
would like to be able to define my schema with XML Schemas definitions
instead of having to define them in Python (which is boring and
Python specific…).

The code is within the z3ecm repository: http://svn.nuxeo.org/trac/pub/browser/z3lab/zope/xmlschema/trunk/

See an example :

filepath is a path to an XML Schema definition as defined below :

<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="title" type="xsd:string"/><xsd:element name="description" type="xsd:string"/></xsd:schema>

 >>> import zope.interface >>> import zope.xmlschema >>> class ITest(zope.interface.Interface): ...  zope.xmlschema.set(filepath)

Now introspect the fields defined within the xsd. We will see two newfields : title and description.

 >>> names = list(ITest) >>> names.sort() >>> names ['description', 'title']

Now define a class implementing this interface.

 >>> class Test(object): ...  zope.interface.implements(ITest) ...  title = '' ...  description = '' >>>

ITest is implemented by Test

 >>> ITest.implementedBy(Test) True

Let's create an instance of Test

 >>> test = Test()

Defines potential … Read more

Written by nuxeo

August 12th, 2005 at 7:42 pm

Posted in Uncategorized

Interfaces versus ABC within Python

without comments

Guido wrote a blog entry about interfaces versus ABC in Python.
http://www.artima.com/weblogs/viewpost.jsp?thread=92662

Nice to see the discussion about this point occurring. Note he's taking into
account the fact that Zope3 and Twisted do have an actual interface
implementation (which is the ZopeInterface BTW)

As a Zope3 developer I just hope he will go for core Python interfaces ;)

(Post originally written by Julien Anguenot on the old Nuxeo blogs.)

Written by nuxeo

August 8th, 2005 at 12:17 pm

Posted in Uncategorized

©2010-2012      

Built on a Wordpress using a customization of the Journalist theme.