call for comments on base URI issue

Sorry I came to this party a bit late, but I’ve been on vacation…

The other thing to keep in mind about serving styles directly from github is
their access rate limits. I ran into the 60 request/minute API limit, and
I’d be willing to bet if millions of clients suddenly start to check and
update styles, neither the github folks nor the clients will be too happy.

Ron.

Is that true for static pages as well, or just for hitting the API?

In any case, perhaps we can proceed in such a way that we can easily
switch over to dedicated hosting if the need arises?

Bruce

This is why I thought that somehow the base URI really ought to be a
subdomain of citationstyles.org – it’s the only way to move these
hits off of citationstyles.org the website without committing to a
single external hosting service.

repository.citationstyles.org/chicago.csl sounds good to me.

It would still be possible to use redirects to continue hosting at
Github, or the subdomain could refer to a server [probably a vhost, of
course] run by some other generous host (Zotero? Mendeley? Mekentosj?
Colwiz? Pandoc?), so that the zero-revenue CSL organization doesn’t
have to bear any costs beyond domain registration.

Avram2011/3/18 Bruce D’Arcus <@Bruce_D_Arcus1>:

In any case, perhaps we can proceed in such a way that we can easily
switch over to dedicated hosting if the need arises?

This is why I thought that somehow the base URI really ought to be a
subdomain of citationstyles.org – it’s the only way to move these
hits off of citationstyles.org the website without committing to a
single external hosting service.

I’m not committed to keeping the existing citationstyles.org wordpress
site though. I much prefer to do blogging through something like
jekyll.

In any case, that’s a separate issue from the bigger questions here
about the actual styles (and hopefully later, the editor).

repository.citationstyles.org/chicago.csl sounds good to me.

It would still be possible to use redirects to continue hosting at
Github,

Does github really allow that?

or the subdomain could refer to a server [probably a vhost, of
course] run by some other generous host (Zotero? Mendeley? Mekentosj?
Colwiz? Pandoc?), so that the zero-revenue CSL organization doesn’t
have to bear any costs beyond domain registration.

Right. I think if we do hosting off github, it makes sense to have the
CDS deal with it, given it’s a non-profit, but has excellent technical
infrastructure. That’s how citationstyles.org is currently hosted.

Bruce

If the millions of hits are not a problem, citationstyles.org could
serve 302 redirects for styles that need to be picked up from Github,
and 304 for ones that haven’t been changed since the last update. In
general, style-consuming clients should be conservative in their
requests and should, I hope, be able to send If-Modified-Since
headers.

This would still be a meaningful load on the servers, but the actual
file serving could be off-loaded to Github, reducing bandwidth usage
and perhaps simplifying the infrastructure; citationstyles.org would
still need some custom kit to serve this way, and it would have to be
kept abreast of Github commits, so as to send 302/304 as appropriate.

But CDS, possibly with some donations to CDS for this purpose from the
other CSL users, sounds like a perfectly reasonable home.

Avram2011/3/19 Bruce D’Arcus <@Bruce_D_Arcus1>:

Now there’s an idea :slight_smile:

In any case, we still have some details to iron out, and they’re
important details given the fact of dependent styles.

Bruce

One random thought of a possibility …

In any case, we still have some details to iron out, and they’re
important details given the fact of dependent styles.

What if we simply split the process of indexing changes and doing
notifications from actually serving the style files?

E.g. imagine a little json index file, created from a local git repo,
that looked something like:

{ // hash is keyed by style id
http://citationstyles.org/styles/apa.csl” : {
“blob”: “apa.csl”, // the local file name in the git repo
“title”: “Association of American Psychologists”,
“short-title”: “APA”,
“updated”: “[date-time]”,
}
http://citationstyles.org/styles/foo.csl” : {
“depends_on”: “http://citationstyles.org/styles/bar.csl”,
“title”: “Foo Style”,
“short-title”: “Foo”,
},
http://citationstyles.org/styles/bar.csl” : {
“blob”: “bar.csl”,
“title”: “Bar Style”,
“short-title”: “Bar”,
“updated”: “[date-time]”,
}
}

So clients with large user bases just work with that, and then it
makes no difference where the index files are hosted, or even where
the repo is? And you’d never need to hit the github API.

Bruce