# call for comments on base URI issue

**URL:** <https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969>\
**Category:** CSL Development\
**Created:** [March 7, 2011, 2:28pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969 "2011-03-07T14:28:48Z")\
**Posts on this page:** 20\
**Page:** 1

<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:** [March 7, 2011, 2:28pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/1 "2011-03-07T14:28:48Z")

</div>

Can people, in particular representing Zotero and Mendeley, comment on  
this issue, and the strawman I float in the comments?

[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)

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:** [March 10, 2011, 9:41pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/2 "2011-03-10T21:41:57Z")

</div>

Bumping this, as I’ve not yet received any comments.

---

<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:** [March 15, 2011, 7:59pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/3 "2011-03-15T19:59:35Z")

</div>

OK, no comments.

So for sake of argument, any objections to me just changing all  
"[http://zotero.org/styles](http://zotero.org/styles)" strings to  
"[http://citationstyles.org/styles](http://citationstyles.org/styles)" (or even some non-HTTP resolvable  
base?) and just let different implementation sort it out according to  
their own local needs?

$ perl -pi -e ‘s/[http://www.zotero.org/styles/http://citationstyles.org/styles/g](http://www.zotero.org/styles/http://citationstyles.org/styles/g)’  
\*.csl

I’ve made the change, but just haven’t committed it yet.

---

<div class="post-metadata">

**Author:** ![Carles\_Pina](https://avatars.discourse-cdn.com/v4/letter/c/dbc845/32.png) [@Carles\_Pina](https://discourse.citationstyles.org/u/Carles_Pina)\
**Post date:** [March 15, 2011, 8:55pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/4 "2011-03-15T20:55:35Z")

</div>

Hi,On 15 March 2011 19:59, Bruce D’Arcus \<@Bruce\_D\_Arcus1\> wrote:

> OK, no comments.
> 
> So for sake of argument, any objections to me just changing all  
> “[Zotero Style Repository](http://zotero.org/styles)” strings to  
> “[Redirecting…](http://citationstyles.org/styles)” (or even some non-HTTP resolvable  
> base?) and just let different implementation sort it out according to  
> their own local needs?

Briefly: it’s ok with us 🙂 (Mendeley)

Side question: what is the current use of  
[GitHub - citation-style-language/styles: Official repository for Citation Style Language (CSL) citation styles.](https://github.com/citation-style-language/styles) ?  
I mean, regarding Zotero contributions. I see some activity, is all  
Zotero commits in 0.8 ported to the 1.0? Or only new 1.0 styles?

---

<div class="post-metadata">

**Author:** ![Simon\_Kornblith](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Simon\_Kornblith](https://discourse.citationstyles.org/u/Simon_Kornblith)\
**Post date:** [March 15, 2011, 10:25pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/5 "2011-03-15T22:25:05Z")

</div>

Unless style URIs are dereferenceable URLs, automatic installation of the parents of dependent styles will break. We can either decide that style URIs are going to be dereferenceable URLs, modify the schema so that dependent styles will independently specify the URI and URL of their parents, or decide that dependent styles can only depend on styles in the [citationstyles.org](http://citationstyles.org) repo. I vote for the first option, since it doesn’t require any changes and I’m not sure what we’d gain from the alternatives.

Simon

---

<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:** [March 15, 2011, 10:55pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/6 "2011-03-15T22:55:04Z")

</div>

So exactly what are you practically advocating for your preferred option?

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:** [March 15, 2011, 11:07pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/7 "2011-03-15T23:07:00Z")

</div>

If we wanted to keep things as are with minimal work, we could just  
have ids like:

[https://github.com/citation-style-language/styles/blob/master/apa.csl](https://github.com/citation-style-language/styles/blob/master/apa.csl)

Bruce

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [March 16, 2011, 8:00am UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/8 "2011-03-16T08:00:53Z")

</div>

Just noting that dependent styles currently include a single URL to the  
parent style (e.g. ), and that the URI (id element) and URL (link  
element with rel=“self”) are, or in any case should be, the same for all  
styles obtained from the Zotero Style Repository (e.g.   
[http://www.zotero.org/styles/aacr](http://www.zotero.org/styles/aacr) ).

Rintze

---

<div class="post-metadata">

**Author:** ![Simon\_Kornblith](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Simon\_Kornblith](https://discourse.citationstyles.org/u/Simon_Kornblith)\
**Post date:** [March 16, 2011, 3:01pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/9 "2011-03-16T15:01:04Z")

</div>

For independent style auto-install to work, we need to change the URIs (as you suggest), but the URIs need to be dereferenceable, i.e., you have to be able to load [http://citationstyles.org/styles/chicago-note-bibliography](http://citationstyles.org/styles/chicago-note-bibliography) in your browser and get the style. Thus, we need to change the repo base URI, and the new style URIs have to be HTTP resolvable. “[http://citationstyles.org/styles](http://citationstyles.org/styles)” seems fine, although it has to actually work before the [citationstyles.org](http://citationstyles.org) repo will be able to serve dependent styles.

I guess you may as well make the change now, since the current situation, in which the dependent styles refer to styles at [zotero.org](http://zotero.org), is not desirable either. However, until the URIs are dereferenceable, to install a dependent style from the [citationstyles.org](http://citationstyles.org) repository, one would have to install the independent styles upon which it depends first.

Simon

---

<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:** [March 16, 2011, 3:07pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/10 "2011-03-16T15:07:03Z")

</div>

So if we go this route, then we’d manage the style updating through  
github, but distribution through a separate service, much like how  
zotero currently does it?

E.g. there’s be a local repo somewhere off github which does a periodic pull?

We could then add to that over time?

Bruce

---

<div class="post-metadata">

**Author:** ![Simon\_Kornblith](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Simon\_Kornblith](https://discourse.citationstyles.org/u/Simon_Kornblith)\
**Post date:** [March 16, 2011, 3:38pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/11 "2011-03-16T15:38:31Z")

</div>

That’s one option. Another option would be to make [http://citationstyles.org/styles/\*](http://citationstyles.org/styles/*) redirect somewhere at GitHub, if you can retrieve files from GitHub without specifying a changeset.

Simon

---

<div class="post-metadata">

**Author:** ![Avram\_Lyon](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@Avram\_Lyon](https://discourse.citationstyles.org/u/Avram_Lyon)\
**Post date:** [March 16, 2011, 3:44pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/12 "2011-03-16T15:44:59Z")

</div>

That can definitely be done. And I agree that a redirect here is  
definitely the way to go, if the authoritative repository will be on  
Github.

Avram2011/3/16 Simon Kornblith \<@Simon\_Kornblith\>:

---

<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:** [March 16, 2011, 4:03pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/13 "2011-03-16T16:03:33Z")

</div>

Github has cname custom domain support, and pretty cool pages (using Jekyll;  
static pages but with tons of flexibility).

And you don’t need a sha1 to refer to the head. So that’s not an issue.

I’m not sure about local redirects though.

Maybe I should post a support request with github to get suggestions? If I  
do, what should I specify we need?

Bruce

> > That’s one option. Another option would be to make  
> > [http://citationstyles.org/styles/](http://citationstyles.org/styles/)\* redirect somewhere at GitHub, if you  
> > canOn Mar 16, 2011 11:45 AM, “Avram Lyon” \<@Avram\_Lyon\> wrote:  
> > 2011/3/16 Simon Kornblith \<@Simon\_Kornblith\>:  
> > retrieve files from GitHub without specifying a changeset.
> 
> That can definitely be done. And I agree that a redirect here is  
> definitely the way to go, if the authoritative repository will be on  
> Github.
> 
> Avram

* * *

---

<div class="post-metadata">

**Author:** ![Avram\_Lyon](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@Avram\_Lyon](https://discourse.citationstyles.org/u/Avram_Lyon)\
**Post date:** [March 16, 2011, 4:11pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/14 "2011-03-16T16:11:50Z")

</div>

What about making a subdomain of [citationstyles.org](http://citationstyles.org) for this, so you  
can use Github directly with some DNS magic, a local repository, or a  
system of 302 redirects? Such a system could be launched immediately  
using one of these solutions, and the backend solution could be  
replaced without requiring changes to existing styles.

The only drawback I see to local redirects is that it could mean  
millions of hits by clients looking for updated styles – a subdomain  
might let us shift that traffic to Github’s servers (leaving only the  
manageable traffic of DNS lookups).

Avram2011/3/16 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:** [March 16, 2011, 4:56pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/15 "2011-03-16T16:56:20Z")

</div>

> > Github has cname custom domain support, and pretty cool pages (using Jekyll;  
> > static pages but with tons of flexibility).
> > 
> > And you don’t need a sha1 to refer to the head. So that’s not an issue.
> > 
> > I’m not sure about local redirects though.
> > 
> > Maybe I should post a support request with github to get suggestions? If I  
> > do, what should I specify we need?
> 
> What about making a subdomain of [citationstyles.org](http://citationstyles.org) for this, so you  
> can use Github directly with some DNS magic, a local repository, or a  
> system of 302 redirects? Such a system could be launched immediately  
> using one of these solutions, and the backend solution could be  
> replaced without requiring changes to existing styles.
> 
> The only drawback I see to local redirects is that it could mean  
> millions of hits by clients looking for updated styles – a subdomain  
> might let us shift that traffic to Github’s servers (leaving only the  
> manageable traffic of DNS lookups).

I don’t understand the details of what you’re suggesting.

But let’s sketch out options a bit.

Here’s how you get the latest API styles from the repo now:

[https://github.com/citation-style-language/styles/blob/master/apa.csl](https://github.com/citation-style-language/styles/blob/master/apa.csl)

If I setup github pages for the citation-style-language org, the base  
uri would be:

[http://citation-style-language.github.com](http://citation-style-language.github.com)

The content for that subdomain would be itself a git repository, which  
allows a few things:

You can define templates, and attach files to those templates. For  
example, you could have a markdown file:On Wed, Mar 16, 2011 at 12:11 PM, Avram Lyon \<@Avram\_Lyon\> wrote:

> 2011/3/16 Bruce D’Arcus \<@Bruce\_D\_Arcus1\>:

> > >

* * *

## title: Foo layout: default

# Introduction

Hello, world!  
\<\<\<

… and when you push it to github, jekyll will process the markdown,  
and then pass it off to the \_layouts/default.html template. This works  
for regular pages, as well as blog posts. To create a blog post, then,  
you just add a markdown file like \_posts/2011-03-14-hello-world.md,  
and it’ll automatically render, etc.

It could also, BTW, be adapted to deal with really any layout stuff,  
including potentially CSL pages with previews (so long as the previews  
are pre-compiled as HTML or markdown, I guess, or there was some way  
to hook up citeproc-js for clientside previewing).

Finally, we could do CNAME setup such that [citationstyles.org](http://citationstyles.org) maps to  
[http://citation-style-language.github.com](http://citation-style-language.github.com).

So I think (though am not sure) it’d be trivial now to serve from  
github styles like:

[http://citationstyles.org/styles/blob/master/apa.csl](http://citationstyles.org/styles/blob/master/apa.csl)

So first question is if we want to do this?

Second is whether we want/need to remove the “blob/master” bits  
through redirects?

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:** [March 16, 2011, 5:03pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/16 "2011-03-16T17:03:14Z")

</div>

Correction:On Wed, Mar 16, 2011 at 12:56 PM, Bruce D’Arcus \<@Bruce\_D\_Arcus1\> wrote:

> So I think (though am not sure) it’d be trivial now to serve from  
> github styles like:
> 
> [http://citationstyles.org/styles/blob/master/apa.csl](http://citationstyles.org/styles/blob/master/apa.csl)

Replace “blob” with “raw.”

[https://github.com/citation-style-language/styles/raw/master/apa.csl](https://github.com/citation-style-language/styles/raw/master/apa.csl)

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:** [March 16, 2011, 5:05pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/17 "2011-03-16T17:05:23Z")

</div>

Seems no redirects (yet):

[http://support.github.com/discussions/site/2954-github-pages-http-redirect](http://support.github.com/discussions/site/2954-github-pages-http-redirect)

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:** [March 16, 2011, 7:37pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/18 "2011-03-16T19:37:05Z")

</div>

Also, there’s project pages as well, where you can put stuff that  
should be published from there in a gh-pages branch.

[http://pages.github.com/](http://pages.github.com/)

So I guess we could use both the org and project pages features. So we  
could map [http://citationstyles.org](http://citationstyles.org) to  
[http://citation-style-language.github.com](http://citation-style-language.github.com), and then presumably the org  
project sites would naturally map to:

[http://citationstyles.org/styles/](http://citationstyles.org/styles/)  
[http://citationstyles.org/schema/](http://citationstyles.org/schema/)  
etc.

Not sure how the latter relates to actual files in the master branch  
though (hg-pages branch get published, can you link in blobs from the  
master branch?).

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:** [March 16, 2011, 7:55pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/19 "2011-03-16T19:55:37Z")

</div>

Here’s a project page github (mostly) automatically creates:

[http://citation-style-language.github.com/styles/](http://citation-style-language.github.com/styles/)

To get the branch, you can do:

$ git pull origin gh-pages

There’s just a single index.html file, with embedded (in the head)  
CSS. Feel free to edit it.

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:** [March 16, 2011, 8:09pm UTC](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969/20 "2011-03-16T20:09:08Z")

</div>

…

> Not sure how the latter relates to actual files in the master branch  
> though (hg-pages branch get published, can you link in blobs from the  
> master branch?).

According to this, no, but there are other ways:

[http://stackoverflow.com/questions/1705224/github-how-to-include-files-from-master-in-new-git-branch-gh-pages](http://stackoverflow.com/questions/1705224/github-how-to-include-files-from-master-in-new-git-branch-gh-pages)

It seems one option is to just have gh-pages as the default branch,  
and put everything (to be published) there.

Bruce

[Next page](https://discourse.citationstyles.org/t/call-for-comments-on-base-uri-issue/969.md?page=2)
