Creative Commons OpenOffice Plug-in Version 0.7.0 Released

akila87, August 20th, 2010

Coding period of GSoC 2010 officially ended 16th. I was able to release the new stable version of the OpenOffice Plug-in on that day. So it’s time to have a look back on what I did for the past 4+ months and discuss about the issues I met.

Look back

The proposal for the development had following tasks.

  • Supporting 3.0 – 3.1.
  • Adding support for CC0.
  • Adding support for Draw.
  • User Interface Improvements.
    • Adding references to important pages like FAQ and About.
    • Provide help around what each option means (“what is Share Alike”).
    • Display license information when opening CC licensed documents.
    • Other improvements for the UI.
  • Speed up the first time license insertion process.
  • Support for Internationalization.

I started working on the project since mid April. Moving the code base to 3.1 SDK was easy. I also updated the other libraries to their newest version. Then I tried to implement the Draw support. I found that implementation for Draw should be same as the implementation for Impress. So adding Draw support was fairly easy, but I had some problem with the page sizes. The available code did not conceder about the page sizes and the margins. The next problem was; the visible license notice was added to the master page of the Draw/Impress document like a background of an Impress document. Therefore the user can not arrange the notice as he wants.

While I fixing those issues, Nathan asked me to have a look at the Flickr Image Re-Use plug-in. Then I started look at it and integrating its functionality to the CC plug-in. I had to update the API wrappers for the Flickr plug-in to make it working. Then I started using that code to add image reuse support for Open Clip Art. I also improved the loading time of the Flickr dialog.

Then I started RDF adding RDF Metadata in the document. Currently this works only in Writer documents, because currently supports adding RDF only for writer documents. Then I get back to improve the image insertion I added Wikimedia Commons and Picasa for that. So the users can now add images using four well known image sharing sites; Flickr, Picasa, Wikimedia Commons and Open Clip Art.

The next thing I did is the UI improvement and adding public domain tools. Those two things were carried in parallel. After discussing with my mentors Nathan and Christopher we decided to use a tabbed window. This will make the licensing less confusing and easy to use.

Next was the internationalization phase. I used the existing i18n repository to add some translations to the licensing dialog, but still there are new strings available in the dialog that should be added to Transifex. Hope those new strings will added in the future. These translations files (.po files) need to be converted to Java resource bundles (internationalization method used in Java). The source folder includes a script for this, and the instructions can be found in the README.


For the last few weeks I was testing and trying to find out the issues related to the plug-in.

Though the new version released as a stable release, there are some problems which actually out of our control. This plug-in will not work in Mac OS Leopard where Java 64bit is the default; this is a known issue in In additions to that, Mac OS X also have a problem in displaying AWT windows (issue 92926). I am still trying to see whether there is anything I can do.

The next issue is with Linux. We tested the plug-in in Debian and Ubuntu, in both cases if the plug-in is installed through the extension manager, the menus either become gray or they will not be available at all. This issue is most probably a problem in 9.10 and 10.04 because the plug-in worked well in Ubuntu 9.04 and Windows. I am glad to say that I have found a workaround for this. If the plug-in installed using the terminal there will not be any problem. Users can use both CLI and GUI versions of the unopkg (Extension manager).

To use the CLI version run

/usr/lib/openoffice/program/unopkg -f ccooo.oxt

and for the GUI version use

/usr/lib/openoffice/program/unopkg gui -f ccooo.oxt

Actually this is not an issue of the plug-in itself it should be a problem with Ubuntu. Similar plug-ins likeOoo2GDand Open Cards are also affected by this problem.
I tested this plug-in in Windows and Linux in both x86 and x86-64 versions and it work without any problem (in Linux with the workaround).


The plug-in can be found in the extension repository. Alternatively you can direct download from here.

Windows users can simply install it by double clicking the plug-in. Ubuntu (may be other Linux users also) need to install it trough the terminal using

/usr/lib/openoffice/program/unopkg gui -f ccooo.oxt


/usr/lib/openoffice/program/unopkg -f ccooo.oxt


The source code of the plug-in can be found at

Comments and Feedbacks

While I was searching the Internet to find more issues related to the plug-in, I found some blog posts and comments about the plug-in. I have listed them below.

All of these feedbacks were good, except the Mac OS X issue. I am trying to fix it as soon as possible.

To add new feedbacks, users can use the extension page at extension repository. Still there can be issues related to the plug-in. Those issues and feature requests can be added to the CC issues list.

Future Features

Nathan suggested a feature for Flickr; to extract add images from a given URL. So users can copy and paste the URL to and the plug-in will automatically download the image and add licensing data also. This can be used for others services also.

In addition to that localization should be completed.

This is time time to thank all the people who helped me in achieving this. I should thank the following people specially for helping me;

  • Nathan Yergler: for helping me with good suggestions in the pre GSoC period and in the community bonding period.
  • Christopher Allan Webber: for mentoring me in this process and for all the good suggestions he gave.
  • Nathan Kinkade: for helping with the SVN issues (yes I had some :)).
  • Alex Roberts and Greg Grossmeier: for their valuable suggestions in making the GUI.

Now it is the time to rip off the “test” part from the plug-in name “Creative Commons Licensing (test)” :). The plug-in was released for beta testing since May 2010 and it was downloaded more than 400 times. But making a perfect program is impossible thing. So I appreciate if the users can report any issues and suggestions as I mentioned in the Feedback section. I will always try to fix/implement them.

More information about the plug-in and the screen shots are available in the wiki page.


Creative Commons OpenOffice Plugin now Supports Internationalization.

akila87, July 21st, 2010

According to the schedule for the past two weeks I have been working on adding internationalization (i18n)  support for the OpenOffice plug-in. I have completed this task successfully and now the plug-in uses some existing translations from the transifex. Lets have a look at the internationalization process.

The plug-in is developed using Java. Java supports internationalization using resource bundles. Resource bundle is the file that contains locale-specific data instead of the code itself, therefore making the code locale independent. There are two types of resource bundles .properties files and .class files.  The .properties format is a text file that can be edited directly like a PO file, but this does not support plural forms. On the other hand .class format is compiled from .java source code and can support plural forms through the gnu.gettext.GettextResource API.

Here I have used .class format for resource bundle because the plural forms can be used, but I am not using gnu.gettext.GettextResource API because there is no need of plural forms at this point (Extracting new strings for internationalization is not completed yet).

I have added two shell scripts to convert PO files to resource bundle and extract new strings. You can run them separately or use them when compiling the project. To use them when compiling uncomment line 75-82 of the build.xml, but conversion will take about 3 minutes to complete, therefore it is better to use the scripts separately only when you need add a new translation or extract new strings.

Here is a screen shot of the GUI with some Spanish translated strings (I choose Spanish because of this comment).

GUI in Spanish

GUI in Spanish

Comments Off

Creative Commons Open Office Plugin gets a new UI and supports for Public Domain tools

akila87, July 3rd, 2010

User Interface
For the past few weeks I  have been working on changing the User Interface and adding public domain tools for the Open Office plugin. In my previous post I introduced a new UI for adding creative Commons License, which is more simple and less confusing. In the same way I tried to make the UI for public domain tools as simple as possible.

The first idea was to make a wizard for the Public Domain tools. The disadvantage of this was you want to click “Next” several times to add the license. This may be a good option for a new user, but for an experienced user  this may become an annoying.

The second idea was to display the license deed and necessary instructions in the same dialog, but this made the dialog too confusing and large (may be larger than the screen height).

The next idea was to add separate menu items for CC0 and Public Domain, but this was rejected because this would have less attention to the CC0 and the Public Domain.

Finally Nathan came up with a better idea: to use tabs in the same dialog. This is a good idea in several ways. You have all Creative commons licensing and Public Domain tools in the same place, so it is easy to switch between them. Less area and less confusing.

So this is the new user interface for the plugin. And I would like to thank Alex Roberts, Greg Grossmeier and my mentors Christopher and Nathan for their valuable ideas.

Creative Commons Tab

CC0 Tab

Public Domain Tab

CC0 & Public Domain
Adding CC0 was one of the most important task of this project. Now users can use CC0 and Public Domain tools from the license selection dialog. Both meta data ( fields and RDF) and the human viewable text will be added to the document.

The dialog will warn the user about the usage of CC0 and the Public Domain. This will help a new user to select the tool appropriately.


Public Domain

Current version of the plugin can be downloaded from here and the source can be found in here.

1 Comment »

liblicense 0.8.1: The bugfixiest release ever

asheesh, December 25th, 2008

I’m greatly pleased to announce liblicense 0.8.1. Steren and Greg found a number of major issues (Greg found a consistent crasher on amd64, and Steren found a consistent crasher in the Python bindings). These issues, among
some others, are fixed by the wondrous liblicense 0.8.1. I mentioned to Nathan Y. that liblicense is officially “no longer ghetto.”

The best way enjoy liblicense is from our Ubuntu and Debian package repository, at More information on what liblicense does is available on our wiki page about liblicense. You can also get them in fresh Fedora 11 packages. And the source tarball is available for download from


The full ChangeLog snippet goes like this:

liblicense 0.8.1 (2008-12-24):
* Cleanups in the test suite: test_predicate_rw’s path joiner finally works
* Tarball now includes data_empty.png
* Dynamic tests and static tests treat $HOME the same way
* Fix a major issue with requesting localized informational strings, namely that the first match would be returned rather than all matches (e.g., only the first license of a number of matching licenses). This fixes the Python bindings, which use localized strings.
* Add a cooked PDF example that actually works with exempi; explain why that is not a general solution (not all PDFs have XMP packets, and the XMP packet cannot be resized by libexempi)
* Add a test for writing license information to the XMP in a PNG
* Fix a typo in exempi.c
* Add basic support for storing LL_CREATOR in exempi.c
* In the case that the system locale is unset (therefore, is of value “C”), assume English
* Fix a bug with the TagLib module: some lists were not NULL-terminated
* Use calloc() instead of malloc()+memset() in read_license.c; this improves efficiency and closes a crasher on amd64
* Improve chooser_test.c so that it is not strict as to the *order* the results come back so long as they are the right licenses.
* To help diagnose possible xdg_mime errors, if we detect the hopeless application/octet-stream MIME type, fprintf a warning to stderr.
* Test that searching for unknown file types returns a NULL result rather than a segfault.

Comments Off

Flickr Image Re-Use for new updates

mihai, August 12th, 2008

Since my last article new functionalities were implemented :

– more results per page (16 to be more exactly)

– an image is inserted if you double click on it(previous was on a single click)

– i add it the functionality for Impress and Calc

– fixed some bugs related to search

Unfortunately i have a problem with the popup menu on right click menu. It seems if that if set the location of the popup on the place where the right click happens, the popup indeed will appear but only for a moment. This happens not for all those 16 results, but for lets say more than half.

Now i found some settings and at this moment the popup will appear for each result, unfortunately the location where the popup appears is not exactly on the result (slightly above). I have to work more on this.

Some screenshots :





Download extension (right click and save as)


Flickr Image Re-Use for Demo availlable

mihai, July 12th, 2008

Never trust a programmer when he gives you a date for something to be done . Thats what i did in my last article (2 weeks i think i said then) and here we are a month later.

What has be done since my last article :

  • right click on an result (image) will show you a popup menu with the available sizes on Flickr server
  • left click on a result will insert directly in Writer the image with size medium as default
  • once the image is inserted some text will be added beside the image(title , link to the image, license and link to the license)
  • i improved searching and the way the image is adding into Writer
  • i added a more friendly interface when you want to search over license (similar with advanced search on Flickr website)
  • added a previous button to see previous results if needed
  • if you insert a image, when you open again the extension the previous search will be done immediately ( on the exact the same position if you used the previous or next buttons)
  • about searching : we can have multiple tags (separated by space : ” “) and the relation between them is AND . also the results are ordered by interestingness
  • a progress bar was added
  • the extension after installation can be found here : Insert Picture From Flickr …

Some screenshots :

The results from a search by the extension vs Flickr search

Right click on an image

Inserted image into Writer

Also i would to add that this extension, at this momment, works only in Writer.

Download (right click and save as)

Any suggestions or remarks are greatly appreciated.


License-oriented metadata validator and viewer: libvalidator

hugo dworak, July 8th, 2008

As the Google Summer of Code 2008 midterm evaluation deadline is approaching, it is a good time to report the progress when it comes to the license-oriented metadata validator and viewer.

The source code is located in two dedicated git repositories. The first being validator, which contains the source code of the Web application based on Pylons and Genshi. The second repository is libvalidator, which hosts the files that constitute the core library that the project will utilise. This is the component that the development focuses on right now.

The purpose of the aforementioned library is to parse input files, scan them for relevant license information, and output the results in a machine-readable fashion. More precisely, its workflow is the following: parse the file and associated RDF information so that a complete set of RDF data is available, filter the results with regard to license information (not only related to the document itself, but also to other objects described within it), and return the results in a manner preferable for the usage by the Web application.

pyRdfa seems to be the best tool for the parsing stage so far. It handles the current recommendation for embedding license metadata (namely RDFa) as well as other non-deprecated methods: linking to an external or embedded (using the “data” URL scheme) RDF files and utilising the Dublin Core. The significant lacking is handling of the invalid direct embedding of RDF/XML within the HTML/XHTML source code (as an element or in a comment) and this is resolved by first capturing all such instances using a regular expression and then parsing the data just as external RDF/XML files.

Once the RDF triples are extracted, one can use SPARQL to narrow the results just to the triples related to the licensed objects. Both librdf and rdflib support this language. Moreover, the RDF/XML related to the license must be parsed, so that its conditions (permissions, requirements, and restrictions) are then presented to the user.

The library takes advantage of standard Python tools such as Buildout and nose. When it is completed, the project will be all about writing a Web application that will serve as an interface to libvalidator.

Comments Off

Flickr Image Re-Use for update

mihai, June 13th, 2008

I`m happy to announce that i succeeded in doing, in a basic manner, all the 3 requirements for this project : search photos by tags, by license and to insert one photo into a document.

Here you have a screenshot made after a search was done on tag mountains and license Attribution License :

Results after a search on a tag and a license

Also here you have the screenshot with the photo inserted into a document . As you can see the image was inserted with a default size, but this will be changed later.

What i`ll try to do next :

  • add menus to each image with the available sizes
  • improve the searching
  • inserting the image into the document with the selected size
  • adding the license into the document
  • more testing

I hope, that in less than 2 weeks i will make available a good version.

Any comments or suggestions are well appreciated.

ps : I came across this article. “I for one can’t wait.” says Andrew Min about this project. I`ll try to not disappoint him :)

1 Comment »

GSoC 2008 : Flickr Image Re-Use for

mihai, May 29th, 2008

As title might suggest, i have been selected for GSoC 2008. As mentor for this project has been assigned Nathan Yergler.

The developing will focus on 3 key functionalities:

  • ability to search photos by tags
  • filter search results by license attributes
  • insert the image into the document along with attribution information

The first 2 steps were done(of course, this will not be the final version) in small demo that i attached to my application for GSoC 2008. The OpenOffice components for which the extension will be implemented are Writer, Impress and Calc.

The application will be written in Java, using NetBeans with its plugin OpenOffice NetBeans Integration.

A short introduction : I`m Mihai Husleag, 24 years old, student in Computer Science, at Alexandru Ioan Cuza University of Iasi, Romania. My previous experience as programmer is more related to the .NET framework. Another thing about me, if in the weekends i`m not reachable then its a high probability that you will find me here.

If you have any suggestions about this project(new functionalities, things you don’t like, etc) feel free to leave a comment.

Comments Off

License-oriented metadata validator and viewer: the development has just started

hugo dworak, May 26th, 2008

Creative Commons participates in Google Summer of Code™ and has accepted a proposal (see the abstract) of Hugo Dworak based on its description of a task to rewrite its now-defunct metadata validator. Asheesh Laroia has been assigned as the mentor of the project. The work began on May 26th, 2008 as per the project timeline. It is expected to be completed in twelve weeks. More details will be provided in the dedicated CC Wiki article and the progress will be weekly featured on this blog.

The project focuses on developing an on-line tool — free software written in Python — to validate digitally embedded Creative Commons licenses within files of different types. Files will be pasted directly to a form, identified by a URL, or uploaded by a user. The application will present the results in a human?readable fashion and notify the user if the means used to express the license terms are deprecated.

1 Comment »

next page