Thanks for the constructive nudging over the weekend; Bruce and
Raymond are correct in guessing that we've been swamped (bear in mind
that there are four of us trying to keep about a bajillion balls in
the air at once), but they're also right that we need to offer more
guidance to the burgeoning development community for Zotero. As a
still-understaffed project (remember those job listings? We're still
looking...) and one with responsibilities to grant funders, we're not
equipped to throw the doors open wide, but we do very much want to
open up the project in ways that support and foster community
involvement.
- Infrastructure -
Right now, we've got three channels of communication for the Zotero
community: this mailing list (Google Group), discussion boards (on
the Zotero site), and a developer wiki (also on the Zotero site).
Thus far, the boards seem to have been sparking a good amount of
discussion on both site translators and input/output, so we're
inclined to encourage that discussion over there, while reserving
this list (zotero-dev) for two things: 1) more nitty-gritty
development of code within Zotero itself, and 2) discussion of what
we've been calling "utilities" - standalone apps/extensions that
connect with Zotero either through API calls within Firefox or by
tapping into the SQLite DB. In other words, if you've got a
particular site translator you want to build, post something (or even
the code) on the discussion board at zotero.org; if you want to
discuss the actual architecture for site translators, post here.
As for the developer wiki, this is a common resource for us all, so
as you start to get your hands dirty with code, *please* help build
out this resource for the benefit of others.
Now, as to actual process, we'll be providing anonymous read-only
access to the current branch of our SVN code repository as well as
comment-only access to our issue tracker (Trac) upon request. If
you'd like an account, just ping us at dev@ and we'll set one up for
you. We're initially only offering read-only access to Trac simply
because we're stretched thin and don't have the resources to triage a
flood of tickets off the bat. But as is the policy at many other open
source projects, we'll happily upgrade privileges for those who have
submitted quality bug reports.
As for actual code, we're hoping that much of the development will
happen outside of the Zotero codebase itself (for example, the
linkage with Connotea that was raised yesterday). However, for
patches to the code itself, we envision a few options:
- If you've written site translators, you can post that code to the
appropriate forum, and we'll roll it into the code after testing
- If you're writing CSLs for citation formats, feel free to use the
forums as a collaborative public working space while they're being
tested (we can also set up a section on the dev wiki for CSLs, if
people prefer). Once they're finished, we'll roll them into Zotero
and coordinate with Bruce's SVN as a single source of up-to-date
styles (Bruce, how would you like to manage that process?)...
- If you've written a patch to the deeper Zotero codebase, you can
post it to this list, e-mail it to one of us, or (ideally) post it as
an attachment along with a comment to the appropriate ticket in Trac.
Patches to be incorporated into the official codebase will need to
have an associated Trac ticket and be reviewed by a core dev before
they can be committed, and that's also a good way to make sure you're
not duplicating labor. If you don't see a ticket for a patch you've
written or would like to work on, drop us a note here, in the forums,
or via e-mail.
- Once you've written some vetted code and demonstrated an
understanding of various parts of the codebase, we'll set you up with
SVN write access and let you commit directly to a branch of the code
repository.
We'll be posting further details on these processes, as well as
general guidelines for hacking Zotero itself, to the dev wiki over
the next few days.
- Division of Labor -
We've got a bunch of e-mail addresses set up, but it's worth
explaining where they currently go. Right now, there are four of us
at CHNM substantially working on Zotero:
- Dan Stillman (keeper of the code, the most active developer at the
moment)
- Dan Cohen (coordinating institutional partnerships and outreach)
- Sean Takats (coordinating site translator development and input /
output formats)
- Josh Greenberg (coordinating utility development and development
community support)
Feel free to contact any of us directly with questions in these
areas, or (even better) post to the boards or mailing list as
appropriate and we'll jump in on the discussion.
Again, thanks for bearing with us while we get our feet solidly
planted, and we're eager to start collaborating with you all!
- Josh (on behalf of the Zotero team)
On 10/31/06, Josh Greenberg <jo...@epistemographer.com> wrote:
> - If you're writing CSLs for citation formats, feel free to use the
> forums as a collaborative public working space while they're being
> tested (we can also set up a section on the dev wiki for CSLs, if
> people prefer).
I'm a little uneasy about this given a tendency for people without
much XML skill to be rather casual about the details and thus create
invalid files. I even had to correct Simon (who wrote your CSL engine)
on this.
I'd urge people who are developing styles (or better yet, scripting
solutions and such for automating their creation) to subscribe to my
dev list ,and maybe also put notes on the Zotero dev wiki.
> Once they're finished, we'll roll them into Zotero
> and coordinate with Bruce's SVN as a single source of up-to-date
> styles (Bruce, how would you like to manage that process?)...
I think the easy option is for me to give one of more of you guys
access to my SVN. It's then easy for you to add new styles or update
existing ones without me having to be involved directly.
The one caveat, as I mentioned in the last message (and hint at
above), is that you must validate the styles.
One little issue is I made some minor changes to CSL to accommodate a
request from Simon (the new cs:conditional element), but he never
actually implemented it in any styles, so am not quite sure how we
ought to encourage its use (been really busy with other things). Would
help to clarify that and incorporate it into styles.
In the medium term, I think we need to work on figuring out how we
make this scale really well; both in terms of developing a rich
collection of styles, and in having a smart infrastructure that
different tools can use. Bottom line is we need to plan now for, say,
2,000 or so styles. This gets back to the comment about CSL tools* and
such. Ultimately tools like Zotero shouldn't have to store CSL files
upfront, but should just be able to dynamically access, cache and
update them as needed.
Bruce
* <http://netapps.muohio.edu/blogs/darcusb/darcusb/archives/2006/10/06/makecsl>
> Thus far, the boards seem to have been sparking a good amount of
> discussion on both site translators and input/output, so we're
> inclined to encourage that discussion over there, while reserving
> this list (zotero-dev) for two things: 1) more nitty-gritty
> development of code within Zotero itself, and 2) discussion of what
> we've been calling "utilities"
I'd like to suggest a somewhat different way to cut this: the forums
should be more user-focused, and this list more dev-focused.
We still need to have a discussion of the type structure and data
model (the relation between the GUI, the RDF, and CSL), for example,
and that needs to happen here.
The wiki is then more for documentation.
Bruce
The deeper structural questions about CSL need to happen here, of
course; just not smaller discussions about individual CSLs...sound good?
- Josh
> The deeper structural questions about CSL need to happen here, of
> course; just not smaller discussions about individual CSLs...sound good?
Yup.
Bruce
> this may be a silly question, but where can i find the svn repository
> URL?
I don't think it's a silly question at all. I could have sworn the
Zotero guys would be exposing their repository, but I don't recall
that happening yet.
Bruce
http://dev.zotero.org/docs/svn_and_trac_access
This should be what you're looking for...
- Josh