# Mendeley Word and OpenOffice plugins

**URL:** <https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594>\
**Category:** CSL Development\
**Created:** [April 7, 2009, 12:25pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594 "2009-04-07T12:25:02Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Steve\_Ridout](https://avatars.discourse-cdn.com/v4/letter/s/a4c791/32.png) [@Steve\_Ridout](https://discourse.citationstyles.org/u/Steve_Ridout)\
**Post date:** [April 7, 2009, 12:25pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/1 "2009-04-07T12:25:02Z")

</div>

Hi everyone,

I’m a software engineer at Mendeley ([www.mendeley.com](http://www.mendeley.com)) and new to this  
mailing list. Since Bruce has expressed interest in our software I thought  
I’d give a brief overview of our current work and ideas for the future  
regarding word processor integration.

I’m currently writing a plugin for OpenOffice writer which will work  
similarly to the existing MS Word plugin. It uses CSL to format the  
citations and is very similar to Zotero plugin although unfortunately  
documents will not be compatible between Mendeley and Zotero. (Bruce has a  
blog post about this:  
[http://community.muohio.edu/blogs/darcusb/archives/2009/03/01/the-babel-of-citations](http://community.muohio.edu/blogs/darcusb/archives/2009/03/01/the-babel-of-citations)  
)

In the long term we would like to use an open document format which supports  
the sharing of documents created with tools like Mendeley, Zotero and  
Endnote. Does anyone know if OOXML is up to the job and well supported  
enough yet? However, due to a need to support Word 2003 we are probably  
going to use bookmarks to share citation data (document UUIDs) between Word  
and OpenOffice documents the way Zotero does for the time being. This is not  
ideal and if anyone knows of a better of sharing citations please let me  
know.

Currently, the cited documents UUIDs are stored in the document and the  
metadata is retrieved from Mendeley Desktop by the plugin. Documents with  
citations can be shared between different Mendeley users by placing the  
cited documents in a shared group. In future, to make the documents more  
portable it would be nice to store all the metadata in the document itself  
(although this raises possible tricky issues of synchronisation) and  
possibly the current CSL style sheet also. I notice the OpenOffice  
developers are planning something like this (  
[http://wiki.services.openoffice.org/wiki/Bibliographic/Developer\_Page/API\_Enhancements#service\_Metadata\_and\_User\_Defined\_Data\_Access](http://wiki.services.openoffice.org/wiki/Bibliographic/Developer_Page/API_Enhancements#service_Metadata_and_User_Defined_Data_Access))  
although again I’m not sure how far it is from being implemented and  
useable.

For the moment I’m pretty busy just getting the OpenOffice plugin working  
but it’s good to have a general plan for the future. If anyone has any  
suggestions for what they think we should be doing regaring word processor  
integration I’d love to hear them.

Steve–  
Steve Ridout  
Software Engineer  
Mendeley

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 7, 2009, 1:26pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/2 "2009-04-07T13:26:45Z")

</div>

> I’m a software engineer at Mendeley ([www.mendeley.com](http://www.mendeley.com)) and new to this  
> mailing list. Since Bruce has expressed interest in our software I thought  
> I’d give a brief overview of our current work and ideas for the future  
> regarding word processor integration.

Hi Steve.

Before I move on, an aside: you guys might take a look at the work  
that Frank has been doing on a test suite. It would no doubt be  
helpful for all of us to use the same tests.

> I’m currently writing a plugin for OpenOffice writer which will work  
> similarly to the existing MS Word plugin. It uses CSL to format the  
> citations and is very similar to Zotero plugin although unfortunately  
> documents will not be compatible between Mendeley and Zotero. (Bruce has a  
> blog post about this:  
> [http://community.muohio.edu/blogs/darcusb/archives/2009/03/01/the-babel-of-citations](http://community.muohio.edu/blogs/darcusb/archives/2009/03/01/the-babel-of-citations))

Yeah, we really need to solve this; it’s insane that this stuff just  
doesn’t work. I know a couple of people at MS that I’ll check with on  
the status on their end,

> In the long term we would like to use an open document format which supports  
> the sharing of documents created with tools like Mendeley, Zotero and  
> Endnote. Does anyone know if OOXML is up to the job and well supported  
> enough yet?

My understanding is that OOXML is more-or-less up to the task (though  
the bibo RDF work I’ve helped with has a richer model), but that there  
are some limitations in the API that Office 2007/2008 exposes that  
make it trick to use that. I’ll check on where this stands.

> However, due to a need to support Word 2003 we are probably  
> going to use bookmarks to share citation data (document UUIDs) between Word  
> and OpenOffice documents the way Zotero does for the time being. This is not  
> ideal and if anyone knows of a better of sharing citations please let me  
> know.
> 
> Currently, the cited documents UUIDs are stored in the document and the  
> metadata is retrieved from Mendeley Desktop by the plugin.

Yeah, this is how Zotero currently works, though I think they actually  
use a local database key.

I think the trick is that either:

a) the ids need to be totally consistent across implementations  
(impossible), or …

b) there needs to be additional metadata

I’ve long suggested that UUIDs should be URIs, with perhaps simple  
rules like (in pseudo-code, and just for illustration):

def get\_uri(item\_data):  
if item\_data[‘uri’]:  
return(item\_data[‘uri’])  
elif item\_data[‘doi’]:  
return(“info:doi:”, item\_data[‘doi’])  
else:  
return(“whatever; you get the idea …”)

Perhaps you then also add, say, a title slug (“some-title”), and a year issued.

That gives enough to identify items without reliance on any particular  
database or software.

> Documents with citations can be shared between different Mendeley users by placing the  
> cited documents in a shared group.

That’s what Zotero is planning to add soon. Makes one wonder:  
shouldn’t people be able to share stuff (profiles, items, etc.)  
between Mendeley and Zotero?

> In future, to make the documents more  
> portable it would be nice to store all the metadata in the document itself  
> (although this raises possible tricky issues of synchronisation) and  
> possibly the current CSL style sheet also. I notice the OpenOffice  
> developers are planning something like this  
> ([http://wiki.services.openoffice.org/wiki/Bibliographic/Developer\_Page/API\_Enhancements#service\_Metadata\_and\_User\_Defined\_Data\_Access](http://wiki.services.openoffice.org/wiki/Bibliographic/Developer_Page/API_Enhancements#service_Metadata_and_User_Defined_Data_Access))  
> although again I’m not sure how far it is from being implemented and  
> useable.

I think the Zotero people have been looking at this stuff too (the  
data synchronization). Not sure where they are with it.

As for CSL issues, that’s related to the recent discussion of CSL  
updating. I think with that sort of approach, this wouldn’t be a  
problem. I would probably store just the URI for the style in the  
document.

> For the moment I’m pretty busy just getting the OpenOffice plugin working  
> but it’s good to have a general plan for the future. If anyone has any  
> suggestions for what they think we should be doing regaring word processor  
> integration I’d love to hear them.

My suggestion is just to settle on a use case to work towards: that  
Mendeley and Zotero users can collaborate on the same document without  
headache.

Some of my suggestions above move towards that.

Bruce

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 7, 2009, 1:33pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/3 "2009-04-07T13:33:54Z")

</div>

Oh, also:

What would happen if processing got implemented at the WP level, and  
plug-ins only passed over (standard) metadata, which got embedded  
(again in standard ways) in the document?

Bruce

---

<div class="post-metadata">

**Author:** ![Steve\_Ridout](https://avatars.discourse-cdn.com/v4/letter/s/a4c791/32.png) [@Steve\_Ridout](https://discourse.citationstyles.org/u/Steve_Ridout)\
**Post date:** [April 7, 2009, 3:11pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/4 "2009-04-07T15:11:43Z")

</div>

> > I’m a software engineer at Mendeley ([www.mendeley.com](http://www.mendeley.com)) and new to this  
> > mailing list. Since Bruce has expressed interest in our software I  
> > thought  
> > I’d give a brief overview of our current work and ideas for the future  
> > regarding word processor integration.
> 
> Hi Steve.
> 
> Before I move on, an aside: you guys might take a look at the work  
> that Frank has been doing on a test suite. It would no doubt be  
> helpful for all of us to use the same tests.
> 
> > I’m currently writing a plugin for OpenOffice writer which will work  
> > similarly to the existing MS Word plugin. It uses CSL to format the  
> > citations and is very similar to Zotero plugin although unfortunately  
> > documents will not be compatible between Mendeley and Zotero. (Bruce has  
> > a  
> > blog post about this:
> 
> [http://community.muohio.edu/blogs/darcusb/archives/2009/03/01/the-babel-of-citations](http://community.muohio.edu/blogs/darcusb/archives/2009/03/01/the-babel-of-citations)  
> )
> 
> Yeah, we really need to solve this; it’s insane that this stuff just  
> doesn’t work. I know a couple of people at MS that I’ll check with on  
> the status on their end,
> 
> > In the long term we would like to use an open document format which  
> > supports  
> > the sharing of documents created with tools like Mendeley, Zotero and  
> > Endnote. Does anyone know if OOXML is up to the job and well supported  
> > enough yet?
> 
> My understanding is that OOXML is more-or-less up to the task (though  
> the bibo RDF work I’ve helped with has a richer model), but that there  
> are some limitations in the API that Office 2007/2008 exposes that  
> make it trick to use that. I’ll check on where this stands.
> 
> > However, due to a need to support Word 2003 we are probably  
> > going to use bookmarks to share citation data (document UUIDs) between  
> > Word  
> > and OpenOffice documents the way Zotero does for the time being. This is  
> > not  
> > ideal and if anyone knows of a better of sharing citations please let me  
> > know.
> > 
> > Currently, the cited documents UUIDs are stored in the document and the  
> > metadata is retrieved from Mendeley Desktop by the plugin.
> 
> Yeah, this is how Zotero currently works, though I think they actually  
> use a local database key.

Right, and this means that Zotero created doucments aren’t even transferable  
between the same user’s different computers.

> I think the trick is that either:
> 
> a) the ids need to be totally consistent across implementations  
> (impossible), or …
> 
> b) there needs to be additional metadata
> 
> I’ve long suggested that UUIDs should be URIs, with perhaps simple  
> rules like (in pseudo-code, and just for illustration):
> 
> def get\_uri(item\_data):  
> if item\_data[‘uri’]:  
> return(item\_data[‘uri’])  
> elif item\_data[‘doi’]:  
> return(“info:doi:”, item\_data[‘doi’])  
> else:  
> return(“whatever; you get the idea …”)
> 
> Perhaps you then also add, say, a title slug (“some-title”), and a year  
> issued.
> 
> That gives enough to identify items without reliance on any particular  
> database or software.

True, I was thinking pehaps of storing all the document metadata, along with  
the mendeley UUID and any ID associated with Zotero or other software. A /  
DOI / ISBN would be OK in most circumstances but there what if it’s a  
reference to a document which hasn’t been published yet or hasn’t got a URI?

> > Documents with citations can be shared between different Mendeley users  
> > by placing the  
> > cited documents in a shared group.
> 
> That’s what Zotero is planning to add soon. Makes one wonder:  
> shouldn’t people be able to share stuff (profiles, items, etc.)  
> between Mendeley and Zotero?

We are talking about implementing some form of synching between Mendeley and  
Zotero although when this’ll happen I’m not sure.

> > In future, to make the documents more  
> > portable it would be nice to store all the metadata in the document  
> > itself  
> > (although this raises possible tricky issues of synchronisation) and  
> > possibly the current CSL style sheet also. I notice the OpenOffice  
> > developers are planning something like this  
> > (  
> > [http://wiki.services.openoffice.org/wiki/Bibliographic/Developer\_Page/API\_Enhancements#service\_Metadata\_and\_User\_Defined\_Data\_Access](http://wiki.services.openoffice.org/wiki/Bibliographic/Developer_Page/API_Enhancements#service_Metadata_and_User_Defined_Data_Access)  
> > )  
> > although again I’m not sure how far it is from being implemented and  
> > useable.
> 
> I think the Zotero people have been looking at this stuff too (the  
> data synchronization). Not sure where they are with it.
> 
> As for CSL issues, that’s related to the recent discussion of CSL  
> updating. I think with that sort of approach, this wouldn’t be a  
> problem. I would probably store just the URI for the style in the  
> document.

That’s what we currently do and you’re right that it’s probably all that is  
needed, only problem would be if a user has edited the CSL file themselves  
and not uploaded it to a public repository.

> > For the moment I’m pretty busy just getting the OpenOffice plugin working  
> > but it’s good to have a general plan for the future. If anyone has any  
> > suggestions for what they think we should be doing regaring word  
> > processor  
> > integration I’d love to hear them.
> 
> My suggestion is just to settle on a use case to work towards: that  
> Mendeley and Zotero users can collaborate on the same document without  
> headache.

We would like this too, once we get a stable OpenOffice Mendeley plugin  
working we’ll look into this.

> What would happen if processing got implemented at the WP level, and  
> plug-ins only passed over (standard) metadata, which got embedded  
> (again in standard ways) in the document?

At the moment, Mendeley and Zotero have different CSL formatting code,  
Zotero’s is written in javascript and ours is in C++. If the same open  
source formatting code could be used in both Word and OpenOffice csl  
formatters at the WP level that would be great since everyone could  
contribute and benefit from improvements to the same code base. Not sure how  
likely that is though.2009/4/7 Bruce D’Arcus \<@Bruce\_D\_Arcus1\>

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 7, 2009, 3:32pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/5 "2009-04-07T15:32:16Z")

</div>

…

> > I’ve long suggested that UUIDs should be URIs, with perhaps simple  
> > rules like (in pseudo-code, and just for illustration):
> > 
> > def get\_uri(item\_data):  
> > if item\_data[‘uri’]:  
> > return(item\_data[‘uri’])  
> > elif item\_data[‘doi’]:  
> > return(“info:doi:”, item\_data[‘doi’])  
> > else:  
> > return(“whatever; you get the idea …”)
> > 
> > Perhaps you then also add, say, a title slug (“some-title”), and a year  
> > issued.
> > 
> > That gives enough to identify items without reliance on any particular  
> > database or software.
> 
> True, I was thinking pehaps of storing all the document metadata, along with  
> the mendeley UUID and any ID associated with Zotero or other software. A /  
> DOI / ISBN would be OK in most circumstances but there what if it’s a  
> reference to a document which hasn’t been published yet or hasn’t got a URI?

Right; my for-illustration function above would need to be a little  
more complex.

> > > Documents with citations can be shared between different Mendeley users  
> > > by placing the  
> > > cited documents in a shared group.
> > 
> > That’s what Zotero is planning to add soon. Makes one wonder:  
> > shouldn’t people be able to share stuff (profiles, items, etc.)  
> > between Mendeley and Zotero?
> 
> We are talking about implementing some form of synching between Mendeley and  
> Zotero although when this’ll happen I’m not sure.

My suggestion to both projects is to look at what’s going in the  
social networking word, with FOAF, etc. For example, my profile at  
identica can be exported as FOAF:

[http://identi.ca/bdarcus](http://identi.ca/bdarcus)

My homepage also exposes it’s data as FOAF (using both embedded RDFa,  
and RDF/XML):

$ curl -H “Accept: application/rdf+xml” [http://bruce.darcus.name/about#me](http://bruce.darcus.name/about#me)

You can imagine generalizing some of that to a site would facilitate  
this sort of interop.

> > > In future, to make the documents more  
> > > portable it would be nice to store all the metadata in the document  
> > > itself  
> > > (although this raises possible tricky issues of synchronisation) and  
> > > possibly the current CSL style sheet also. I notice the OpenOffice  
> > > developers are planning something like this
> > > 
> > > ([http://wiki.services.openoffice.org/wiki/Bibliographic/Developer\_Page/API\_Enhancements#service\_Metadata\_and\_User\_Defined\_Data\_Access](http://wiki.services.openoffice.org/wiki/Bibliographic/Developer_Page/API_Enhancements#service_Metadata_and_User_Defined_Data_Access))  
> > > although again I’m not sure how far it is from being implemented and  
> > > useable.
> > 
> > I think the Zotero people have been looking at this stuff too (the  
> > data synchronization). Not sure where they are with it.
> > 
> > As for CSL issues, that’s related to the recent discussion of CSL  
> > updating. I think with that sort of approach, this wouldn’t be a  
> > problem. I would probably store just the URI for the style in the  
> > document.
> 
> That’s what we currently do and you’re right that it’s probably all that is  
> needed, only problem would be if a user has edited the CSL file themselves  
> and not uploaded it to a public repository.

Yes, all the more reason to discourage it 😉

> > > For the moment I’m pretty busy just getting the OpenOffice plugin  
> > > working  
> > > but it’s good to have a general plan for the future. If anyone has any  
> > > suggestions for what they think we should be doing regaring word  
> > > processor  
> > > integration I’d love to hear them.
> > 
> > My suggestion is just to settle on a use case to work towards: that  
> > Mendeley and Zotero users can collaborate on the same document without  
> > headache.
> 
> We would like this too, once we get a stable OpenOffice Mendeley plugin  
> working we’ll look into this.
> 
> > What would happen if processing got implemented at the WP level, and  
> > plug-ins only passed over (standard) metadata, which got embedded  
> > (again in standard ways) in the document?
> 
> At the moment, Mendeley and Zotero have different CSL formatting code,  
> Zotero’s is written in javascript and ours is in C++. If the same open  
> source formatting code could be used in both Word and OpenOffice csl  
> formatters at the WP level that would be great since everyone could  
> contribute and benefit from improvements to the same code base. Not sure how  
> likely that is though.

What roadblocks do you see to that? Is there any particular opposition  
on your end to open sourcing that code?

Bruce

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [April 7, 2009, 10:55pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/6 "2009-04-07T22:55:54Z")

</div>

> …
> 
> > > I’ve long suggested that UUIDs should be URIs, with perhaps simple  
> > > rules like (in pseudo-code, and just for illustration):
> > > 
> > > def get\_uri(item\_data):  
> > > if item\_data[‘uri’]:  
> > > return(item\_data[‘uri’])  
> > > elif item\_data[‘doi’]:  
> > > return(“info:doi:”, item\_data[‘doi’])  
> > > else:  
> > > return(“whatever; you get the idea …”)
> > > 
> > > Perhaps you then also add, say, a title slug (“some-title”), and a year  
> > > issued.
> > > 
> > > That gives enough to identify items without reliance on any particular  
> > > database or software.
> > 
> > True, I was thinking pehaps of storing all the document metadata, along with  
> > the mendeley UUID and any ID associated with Zotero or other software. A /  
> > DOI / ISBN would be OK in most circumstances but there what if it’s a  
> > reference to a document which hasn’t been published yet or hasn’t got a URI?
> 
> Right; my for-illustration function above would need to be a little  
> more complex.
> 
> > > > Documents with citations can be shared between different Mendeley users  
> > > > by placing the  
> > > > cited documents in a shared group.
> > > 
> > > That’s what Zotero is planning to add soon. Makes one wonder:  
> > > shouldn’t people be able to share stuff (profiles, items, etc.)  
> > > between Mendeley and Zotero?
> > 
> > We are talking about implementing some form of synching between Mendeley and  
> > Zotero although when this’ll happen I’m not sure.
> 
> My suggestion to both projects is to look at what’s going in the  
> social networking word, with FOAF, etc. For example, my profile at  
> identica can be exported as FOAF:
> 
> [http://identi.ca/bdarcus](http://identi.ca/bdarcus)
> 
> My homepage also exposes it’s data as FOAF (using both embedded RDFa,  
> and RDF/XML):
> 
> $ curl -H “Accept: application/rdf+xml” [http://bruce.darcus.name/about#me](http://bruce.darcus.name/about#me)
> 
> You can imagine generalizing some of that to a site would facilitate  
> this sort of interop.
> 
> > > > In future, to make the documents more  
> > > > portable it would be nice to store all the metadata in the document  
> > > > itself  
> > > > (although this raises possible tricky issues of synchronisation) and  
> > > > possibly the current CSL style sheet also. I notice the OpenOffice  
> > > > developers are planning something like this
> > > > 
> > > > ([http://wiki.services.openoffice.org/wiki/Bibliographic/Developer\_Page/API\_Enhancements#service\_Metadata\_and\_User\_Defined\_Data\_Access](http://wiki.services.openoffice.org/wiki/Bibliographic/Developer_Page/API_Enhancements#service_Metadata_and_User_Defined_Data_Access))  
> > > > although again I’m not sure how far it is from being implemented and  
> > > > useable.
> > > 
> > > I think the Zotero people have been looking at this stuff too (the  
> > > data synchronization). Not sure where they are with it.
> > > 
> > > As for CSL issues, that’s related to the recent discussion of CSL  
> > > updating. I think with that sort of approach, this wouldn’t be a  
> > > problem. I would probably store just the URI for the style in the  
> > > document.
> > 
> > That’s what we currently do and you’re right that it’s probably all that is  
> > needed, only problem would be if a user has edited the CSL file themselves  
> > and not uploaded it to a public repository.
> 
> Yes, all the more reason to discourage it 😉
> 
> > > > For the moment I’m pretty busy just getting the OpenOffice plugin  
> > > > working  
> > > > but it’s good to have a general plan for the future. If anyone has any  
> > > > suggestions for what they think we should be doing regaring word  
> > > > processor  
> > > > integration I’d love to hear them.
> > > 
> > > My suggestion is just to settle on a use case to work towards: that  
> > > Mendeley and Zotero users can collaborate on the same document without  
> > > headache.
> > 
> > We would like this too, once we get a stable OpenOffice Mendeley plugin  
> > working we’ll look into this.
> > 
> > > What would happen if processing got implemented at the WP level, and  
> > > plug-ins only passed over (standard) metadata, which got embedded  
> > > (again in standard ways) in the document?
> > 
> > At the moment, Mendeley and Zotero have different CSL formatting code,  
> > Zotero’s is written in javascript and ours is in C++. If the same open  
> > source formatting code could be used in both Word and OpenOffice csl  
> > formatters at the WP level that would be great since everyone could  
> > contribute and benefit from improvements to the same code base. Not sure how  
> > likely that is though.

I don’t know, long-term maintenance of these things shouldn’t be much  
of a resource drain. It’s a lot of work to build an implementation,  
but the feature set should start to stabilize fairly soon, as CSL  
moves to 1.0. The main thing is just to assure that implementations  
can be used as drop-in replacements of one another. Is there an API  
for driving the Mendeley CSL binary, so that users can verify it  
against test cases for a particular schema version independently?  
That would presumably be a threshold requirement for calling it CSL  
1.0 conformant.

Frank

---

<div class="post-metadata">

**Author:** ![Steve\_Ridout](https://avatars.discourse-cdn.com/v4/letter/s/a4c791/32.png) [@Steve\_Ridout](https://discourse.citationstyles.org/u/Steve_Ridout)\
**Post date:** [April 8, 2009, 4:29pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/7 "2009-04-08T16:29:06Z")

</div>

> > > At the moment, Mendeley and Zotero have different CSL formatting code,  
> > > Zotero’s is written in javascript and ours is in C++. If the same open  
> > > source formatting code could be used in both Word and OpenOffice csl  
> > > formatters at the WP level that would be great since everyone could  
> > > contribute and benefit from improvements to the same code base. Not sure  
> > > how  
> > > likely that is though.

What roadblocks do you see to that? Is there any particular opposition

> on your end to open sourcing that code?

> 

Bruce

> I don’t know, long-term maintenance of these things shouldn’t be much  
> of a resource drain. It’s a lot of work to build an implementation,  
> but the feature set should start to stabilize fairly soon, as CSL  
> moves to 1.0. The main thing is just to assure that implementations  
> can be used as drop-in replacements of one another. Is there an API  
> for driving the Mendeley CSL binary, so that users can verify it  
> against test cases for a particular schema version independently?  
> That would presumably be a threshold requirement for calling it CSL  
> 1.0 conformant.
> 
> Frank

There isn’t an API at the moment, but this is something we’ll consider  
doing, along with possibly open-sourcing the CSL formatting code. This would  
take a bit of work to create a separate dll and to remove dependencies on  
the rest of the Mendeley code but it would definately be good to be able to  
take advantage of a shared test suite. Do you think there would be much  
interest in an open source C++/Qt CSL formatting library?–  
Steve Ridout  
Software Engineer  
Mendeley

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 9, 2009, 1:24pm UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/8 "2009-04-09T13:24:50Z")

</div>

…

> There isn’t an API at the moment, but this is something we’ll consider  
> doing, along with possibly open-sourcing the CSL formatting code. This would  
> take a bit of work to create a separate dll and to remove dependencies on  
> the rest of the Mendeley code but it would definately be good to be able to  
> take advantage of a shared test suite. Do you think there would be much  
> interest in an open source C++/Qt CSL formatting library?

What role does Qt play here?

I can’t really gauge how much interest there might be specifically in  
terms of, say, potential code contributors. In my experience, it’s  
hard to find skilled C++ programmers in this particular space.

OTOH, it certainly would be good if the code was available so that  
this sort of processing could be more-or-less easily dropped into  
environments like OOo, KWord, and Word. All are primarily C++  
environments (and KDE also uses Qt). So I could imagine developers  
from those sorts of communities might be willing to help out.

It could also show a good faith effort to tangibly contribute to the  
success of CSL in ways that so far we have not seen from Mendeley\*,  
but which can have all kinds of not-so-direct benefits for your  
efforts.

As Frank says, that’s not the only way to achieve this (the test suite  
is really important, for example), but I can’t see any particular  
value to you to keeping that code closed (notwithstanding the  
additional work you need to get it suitable for wider use and  
contribution), and a variety of potential advantages in opening it up.

Bruce

- E.g. it’s great Mendeley is using CSL, but not so great that you  
don’t (at least the last I checked) really acknowledge it, or the fact  
that you borrow a lot from Zotero’s work. There are all sorts of  
reason this can happen that may have nothing to do with conscious  
design, but it’s still not the best approach either for you, or your  
users.

---

<div class="post-metadata">

**Author:** ![Peter\_Hedlund](https://avatars.discourse-cdn.com/v4/letter/p/ce7236/32.png) [@Peter\_Hedlund](https://discourse.citationstyles.org/u/Peter_Hedlund)\
**Post date:** [April 10, 2009, 12:31am UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/9 "2009-04-10T00:31:36Z")

</div>

At one point I started writing an editor for creating CSL styles using Qt  
since this is a great cross platform toolkit.

Due to time restraints I had to put the project on hold. But another major  
reason for not easily being able to move forward was that I realized that a  
formatting library would be needed. I would like to see such a library and  
might be able to contribute.

Peter

---

<div class="post-metadata">

**Author:** ![Robert\_Knight](https://avatars.discourse-cdn.com/v4/letter/r/ba9def/32.png) [@Robert\_Knight](https://discourse.citationstyles.org/u/Robert_Knight)\
**Post date:** [April 10, 2009, 11:17am UTC](https://discourse.citationstyles.org/t/mendeley-word-and-openoffice-plugins/594/10 "2009-04-10T11:17:59Z")

</div>

Hello,

Quick introduction - I am another of the engineers working on Mendeley Desktop.

> What role does Qt play here?

Qt is used for XML parsing, basic data structures (lists, stacks,  
dictionaries) and string manipulation. It also provides a certain  
amount of dynamic functionality which is missing in the language  
itself. That is, reading and writing properties of an object given  
the string name of the property.

Regards,  
Robert.2009/4/10 Peter Hedlund \<@Peter\_Hedlund\>:
