Archive for January, 2006
Nuxeo proposes its ECM Rich Client Platform “Apogée” to the Eclipse Foundation
On behalf of Nuxeo, I have submitted, with great pleasure, a new proposal to the Eclipse Foundation : the Apogée project.
Maybe you are now wondering what’s this about? Hence a quick resume…
This project comes from our thought about next steps in the Enterprise Content Management (ECM) market. More and more customers need specific application related to ECM to properly handle their data and integrate in a seamless way all their digital assets and involved processes. These applications share a lot of features and need many common services. ECM applications developers definitely need a framework that would ease the creation of this kind of desktop applications, when the browser is not enough…
Eclipse RCP is expected to play a major role for next generation desktop applications. In the ECM business, web interfaces are great, but some customers / applications need more (highly responsive interface, rich UI, desktop integration, offline … Read more
ActiveCell : the missing api
Calc API provides usefull methods to retreive current informations such as
ActiveSheet or
CurrentSelection.
If these api covers a lot of cases, some are not handled. Even inside
a range selection, there is an active cell, usually the last selected one,
depending on the way the range as been selected (from upper-left to
bottom-right, bottom-left to upper-right, …). Unfortunatelly, the
CurrentSelection is only able to catch the range itself. The same problem
occurs on multiple selections
This ActiveCell concept is missing and may disturb new commers from
other office suite scripting like VBA.
Nevertheless, the OOo API allows to retreive this information. We can
define a function that returns the cell (in OOoBasic but will work in other
OOo supported languages via UNO
such as Python or
Java).
function ActiveCell() 'retreives viewData ViewData = ThisComponent.CurrentController.ViewData 'many sub-separators, unify - The content remains mysterious ViewData = join(split(ViewData,";"),"/") … Read more
CPS Ajaxification round #5: A one-step publishing process
In this screencast, the view that let people change the elements order has
been extended in order to be able to drop them on the navigation portlet,
and therefore move elements in other folders.
The interesting part of this approach is about publishing: as seen in the
animation, when “Link 1″ is dragged from its workspace to a section
of the portal, it is automatically published, and follows the right workflow transition.
This one step publishing process should be very useful to avoid
the intermediate screen where we choose a publishing place.
Another eye-candy effect has been added when a drop cannot
be performed: the small ajax floating layer pulsates and turns red: it’s angry ;)
Feed readers, there’s a flash animation in this entry, you should use your browser in order to see it
(Post originally written by Tarek Ziadé on the old Nuxeo blogs.)
“Programmation Python” french book is out!
My french book about Python is out now !
I would like to thank Stéfane and
Stephan Richter for the great forewords they provided for this book.
Like
Stéfane previously said, a dedicated site has been made to cover errata,
news around the book, and all usual stuff.
French readers, a contest is running in order to win a book, try to answer
to those
very hard questions :)
(Post originally written by Tarek Ziadé on the old Nuxeo blogs.)
CPS Ajaxification round #3
Sometimes images are betters than explanations…
Here’s a small flash movie that shows the use of scriptaculous cinematics
in CPSWiki, wich allows the user to work on the wiki through Ajax.
The resolution might not be displaying well on the blog,
so you can also download the movie here if you want a better experience:
cpswiki.swf
(Post originally written by Tarek Ziadé on the old Nuxeo blogs.)
CPS Ajaxification round #4: Zope 3 ajax view to change Zope 2 container order
In this round, the objective is to add a feature in ordered folders
in CPS, that let the user drag elements and drop them within the same
page, to change the elements order.
Here’s the result:
Macromedia Flash Plugin required
This is quite simple, even though the javascript part gets a bit
longer and tougher to create than the previous rounds,
but more interesting because we are going to add server-side code
that can be reused later on in Zope 3.
Zope 3 style server-side
Doing this feature in Zope 3, would involve coding some kind
of Ajax view that would know how to deal with the current context
(ie: the ordered folder) and a directive in the zcml, in order
to hook the view with a method associated to the current folder.
Thanks to Five, we can use this path within Zope 2.
The view which is quite simple,
ZODB 3.7 : after commit hooks
I just merged, within the ZODB trunk (3.7), a branch
implementing an after commit hook support on transaction objects. This
should be available with the 3.7a1 release.
In the meanwhile, you can grab a svn checkout of the ZODB trunk, if you
want to try out, including this feature over there : http://svn.zope.org/ZODB/trunk/
Or, if you are a lucky CPS
developer, CPSCompat
already applies a patch on ZODB 3.6 allowing you to take advantage of this
using Zope-2.9. You will even find some API extensions for hook execution
ordering support within CPSCore.
Motivations
Sometimes, applications want to execute some code after a transaction is
committed. For example, one might want to launch non transactional code
after a successful, or aborted, commit. Or still someone might want to
launch asynchronous code after a commit. A post-commit hook is now
available for such use cases.
At Nuxeo, we needed this for … Read more
Zope 3.2 and ZODB 3.6 final releases are out !
Here they are : Zope
3.2 and ZODB 3.6
final releases are out !
Zope and ZODB are now released twice a year (June and December). These
releases are the december 2005 ones. Zope-2.9 final release should land
pretty soon.
I guess the annoucements should be posted in the following days.
Congrats to everybody who spent time to work on theses releases ! (I
unfortunately wasn’t able to spent the time I expected to on Zope-3.2 this
time…)
New year, new toys so happy new Zope year 2006 !
(Post originally written by Julien Anguenot on the old Nuxeo blogs.)
CPS Ajaxification round #2
I really enjoy the graceful degradation approach. It’s a pleasure
to enhance CPS user interfaces that way.
Last time the edit form for simple document was ajaxified in order
to give the user a fast way to get feedback when she changes the data.
The next challenging step on these form is to enable file uploads
so complex documents will be ajaxified as well. The iframe technique
is the only technique i’ve hurd of for this task. Some guys over the Ruby ML
also explained me how to do it with a bit of Flash in the form but this
is a dependency we don’t want. Anyway, this enhancement will be exposed
in round #3 or #4.
Round #2 is about a quick and lazy todo, yet powerfull feature: autocompletion.
This is just great: with Scriptaculous there’s absolutely nothing to code :).
The well-thaught Ajax.Autocompleter class knows automatically how to