Re: [CODE4LIB] How do you request digital format for a pdf interlibrary loan journal article where a digital format is available for the article?...

2011-05-09 Thread Mark Sullivan
Actually, licenses with the vendor for the electronic journal generally determine if you can use it 
for ILL.  This is in addition to Copyright restrictions that apply for articles in any format.  
Copyright may allow it, through Fair Use or paying CCC fees, but if the license does not, then you 
are in violation of the contract if you use it for ILL.  Electronic format adds a fun layer of 
contract law to the Copyright discussion.
   ALIAS (Article Licensing Information Availability Service) is a generic license database that is 
loaded with publicly available licenses from most of the publishers and providers. If you are 
interested in seeing ALIAS, please go to the IDS Project page and download one of the presentations: 
http://www.idsproject.org/Tools/ALIAS.aspx
ALIAS is also available for any ILLiad library through the use of the Serials Solutions or SFX 
Addons: https://prometheus.atlas-sys.com/display/ILLiadAddons/Addons+Directory .
Additionally, these addons can be configured to use the Copyright Clearance Center's Get It Now 
Service:


The Toolkit entry on it: 
http://workflowtoolkit.wordpress.com/2011/03/24/ccc-getitnow-service-and-workfst low/ 
http://workflowtoolkit.wordpress.com/2011/03/24/ccc-getitnow-service-and-workfst%20low/


   The CCC Get-It-Now website is: 
http://www.copyright.com/content/cc3/en/toolbar/productsAndSolutions/getitnow.html



The Get It Now Service is a Purchase on Demand service from CCC and gives libraries another 
option instead of paying Copyright fees which may be higher than purchasing the article.



Hope that helps a little bit,

Mark


Mark Sullivan
Systems Administrator for the College Libraries
1 College Circle
SUNY Geneseo
Geneseo, NY 14454
(585) 245-5698


On 5/7/2011 3:52 PM, Simon Spero wrote:

On Sat, May 7, 2011 at 7:06 AM, karim boughidakbough...@gmail.com  wrote:


Don't be dismissive so fast. You may go back and do your homework. Check
with your Counsel or literature. What's happening here is a work
around LEGAL realities.


[I am not a lawyer.]

It's always a good idea to check with counsel, but it's a good idea to make
sure that you talk to the right person in counsel's office since this is a
relatively niche area of copyright law, and restrictions on single  article
ILL  are more likely to arise in contract  rather than under copyright, in
which case  they may have to check the specific provisions for each
publisher.

The right to make a copy of a single article from a periodical or collection
for ILL are granted under 17 USC § 108 (d) and  (g).   The only specific
restriction on the use of digital formats comes in section (b) (which covers
unpublished works).  It's hard to see how printing then scanning helps make
legal anything that would be otherwise illegal under 108, so it would seem
to be a licensing issue.

Exit question:   printing an article creates one perfected copy; scanning
the printout creates a second copy, both as part of the same transaction.
108 (d)/(g) only authorize a single copy in this situation. Is this relying
on fair use to cover the printed copy (which I assume is immediately
destroyed unread once the scanning is complete?)

Simon




Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?

2011-05-09 Thread Ceci Land
Thank you, thank you everyone!  Your advice has been really helpful.  The pep 
talk will help me get through this period that feels like the equivalent of 
practicing your scales (ugh) when you're first learning music.   I want to play 
real music, write my own songs, but I still have more drills and technical 
exercises to master.   I have a tendency to dream up projects at the moment 
that are beyond my skills and it can make me feel a bit lost, but I guess you 
don't grow unless you get in over your head occasionally.
 
Another analogy is that sometimes it seems like learning programming (et al) is 
similar to learning any sort of language.  You learn vocabulary, grammar and 
sentence structure, but you're also trying to write a creative essay (or heaven 
forbid, a novel)  at the same time.   You don't know the depth of everything 
you don't know, but you have to plow forward despite your naivete.
 
 
off topic rambling
Since y'all have given me help, I want to give something back.  It's nothing to 
do with code, but I hope y'all enjoy it anyway.  It's music by the Japanese 
composer, performer Susumu Hirasawa who builds all his music with samples he 
pre-records and uses a computer to cue while on stage.  He overlays the his 
vocals, guitar, keyboard and some other samples while on stage.  He pegs the 
geek meter for me.  
http://www.youtube.com/watch?v=tyMkTsjCdqIfeature=related
http://www.youtube.com/watch?v=ZX6i4bOmGmU
 
 
Thanks again!
Ceci


 On 5/8/2011 at 12:49 PM, in message c9ec473a.fb33%jlri...@email.unc.edu, 
 Riley, Jenn jlri...@email.unc.edu wrote:

Dear Ceci,

From what you've said here (already done some OAI-PMH harvesting and
implementing a personal project as JSP), it sounds to me as if you're
light years ahead of most people in your situation. So my first bit of
advice to you is not to sell yourself short.

In addition to all of the excellent ideas raised here, I'll suggest some
additional strategies for implementing  those on-your-own projects that
you use to build skills and concrete outputs to show off. You might
consider picking some existing OS software to implement, and then learning
it, well and deeply. Then add features or otherwise customize it. For
example, get Omeka (or some tool written in a language you have basic
familiarity with or want to learn) up and running. Examine the code to
figure out how it's put together - what's easily customizable and what's
deeply baked into the current implementation, where does it rely on
existing libraries and where does it start on its own. Add in a Google Map
and/or a Simile timeline (if it doesn't do those things already - sorry I
haven't been following that closely). Write some code to parse and load
data from various sources (Amazon API, Freebase, any of the music
services, MARC via library catalog, DC or other XML format via OAI-PMH)
into the system. Revisit it again a year later to see how your
implementation decisions have held up in light of changes in underlying
technologies. Etc.

There's a goal to these sorts of activities that goes beyond the obvious
learn about the mechanics of this programming language. They give you
experience with implementing various tasks, not so that you can do exactly
that again, but so that you can do it better the next time. You'll learn
from these experiments strengths and weaknesses of various approaches to
solving particular technical problems, and the ability to evaluate
different ways in which you might solve a problem in order to pick the one
that best fits your situation. With some practice doing this evaluation in
relation to the code and requirements at hand, over time you can extend
this analysis to wider technical and organizational infrastructures, and
make good decisions about technical implementations given surrounding
organizational realities. Doing some work inside a pre-existing software
application I believe will help you work on these sorts of larger issues
in addition to the mechanics of writing the code.

Now I'm all inspired to drop what I need to be working on today and play
with Omeka. I'm not a coder, myself, so I'm sorry to say my advice here
does not come from personal experience taking this approach. It does come
from spending lots and lots of time working with developers and driving
digital library initiatives, and seeing where development initiatives go
well and where they don't. The best developers I work with are the ones
that know it's not just about the specific technical task at hand, but
rather can talk intelligently (and not just to other developers) about the
implementation decisions they've made and evaluate their effectiveness.

Best of luck. It sounds to me like you're ready to take the next
opportunity by storm.

Jenn


Jenn Riley
Head, Carolina Digital Library and Archives
The University of North Carolina at Chapel Hill
http://cdla.unc.edu/
http://www.lib.unc.edu/users/jlriley

jennri...@unc.edu
(919) 843-5910








On 

[CODE4LIB] Version control and local changes

2011-05-09 Thread Yitzchak Schaffer

Hello all,

We primarily use Mercurial for version control, having migrated from SVN 
over the past year or so. I am currently trying to figure out the best 
way to version local (production) changes to controlled libraries. I'm 
still trying to understand the different branching possibilities of hg 
and git; this helped:


http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

Seems to me like the best thing would be to maintain a production clone 
of the main, public repo, separate from the actual production code, and 
push/pull to and from this clone. This way it would be possible to test 
without polluting the production code and creating the mess of tweaks we 
have on our server now.


Does anyone have any success stories with this or another method?

Thx,

--
Yitzchak Schaffer
Systems Manager
Touro College Libraries
212.742.8770 ext. 2432
http://www.tourolib.org/


Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?

2011-05-09 Thread Cary Gordon
I would take yoga, because, in my experience, the most useful job
skill you can have is flexibility.

Every technology has a finite lifespan, but unfortunately like our own
lifespan, its term is usually impossible to forecast with accuracy.
For that reason, I would suggest that you try to take some high level
classes on algorithms, data structures, and project management.

Of course, I think that Drupal is an excellent choice, and right now
it is one of the most marketable skills on the planet.

I came at this from the other direction. I was already achieving a
modicum of success in the library technology world when I decided to
get my MLIS.

Cary

On Fri, May 6, 2011 at 12:07 PM, Ceci Land cl...@library.msstate.edu wrote:
 Hello everyone.  The recent thread asking people what they would like to 
 learn if they had the time brought another question to my mind.  If you were 
 looking to get into this side of the profession, what would you recommend 
 focusing on?

 IOW, suppose you were a current MLIS graduate student (that's me) who has a 
 techy sort of inclination.  But also assume that your current job as 
 paraprofessional staff involves minimal computer skills, no programming or 
 scripting and this situation will not ever change.  Imagine that you've taken 
 every programming and database class you can fit into your schedule, but you 
 realize that course work will only take you slightly beyond a beginner level 
 even if you make A's.  (in an IS based program, not CS.  I would have 
 preferred the CS route, but work could not accommodate the class/lab time 
 during the days)

 How would you choose to develop your skills from baby level to something 
 useful to the profession?  Will developing projects on your personal time and 
 hosting them yourself be enough to get noticed when they day comes that you 
 graduate with your shiny new diploma? What core skills would you choose to 
 focus on?  Would you give up a secure job with benefits to find an internship 
 that could really challenge your programming, web development etc. skills?

 I see many people on this list with very strong skills, but in the job world, 
 I don't see many 2nd string/entry level jobs that would allow someone to hone 
 their skills to the level I often see here.  I've been thinking that I should 
 focus on further developing my abilities in: HTML/CSS of course, XML, XSLT, 
 PHP, and MySQL (because they're all readily available for someone to play 
 with despite not being employed in a systems department).  It seems that 
 anything I can learn about metadata transformations/crosswalks and RDF would 
 be useful too.  I also find some classification theories very compelling (ok, 
 I admit that colon classification really got my attention in my first MLIS 
 class) and found myself drawn to potentially being interested in taxonomies 
 and controlled vocabulary.  I know nothing about Drupal, but I wonder if I 
 should include in my smorgasbord.  How much is too much and where you y'all 
 recommend I put my energy?

 Any advice is greatly appreciated.  The more specific the better.  :)
 Thx!




-- 
Cary Gordon
The Cherry Hill Company
http://chillco.com


Re: [CODE4LIB] Version control and local changes

2011-05-09 Thread Gabriel Farrell
The great thing about any DVCS is how easy it is to clone repos, then
push and pull between any two clones.

Most of the projects I work on are on github (a couple still in hg on
googlecode), so that's the public repo. I have a live clone of the
public repo, but between the two I have staging (same machine and data
if possible) or dev (similar environment and a copy of the data)
clones. Sometimes both. Each clone pushes and pulls from the next one
up:

live - staging - dev - public

All public/upstream changes must pass through dev and/or staging
before they go live. At each step along the way, you can decide which
code is local and which needs to bubble back up to public. You may
find branches within your dev clone useful for merging upstream
commits in with local changes before passing them down the chain.
You're also free to make other clones anywhere along the chain for
experimental development and testing of new environments.

One thing I've learned in all of this, though, is no matter how
fantastic your VCS, the more the project allows you to put local code
in files you can stick in your .(git|hg)ignore, the less you'll have
to keep track of on each commit.


On Mon, May 9, 2011 at 12:55 PM, Yitzchak Schaffer
yitzchak.schaf...@gmx.com wrote:
 Hello all,

 We primarily use Mercurial for version control, having migrated from SVN
 over the past year or so. I am currently trying to figure out the best way
 to version local (production) changes to controlled libraries. I'm still
 trying to understand the different branching possibilities of hg and git;
 this helped:

 http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

 Seems to me like the best thing would be to maintain a production clone of
 the main, public repo, separate from the actual production code, and
 push/pull to and from this clone. This way it would be possible to test
 without polluting the production code and creating the mess of tweaks we
 have on our server now.

 Does anyone have any success stories with this or another method?

 Thx,

 --
 Yitzchak Schaffer
 Systems Manager
 Touro College Libraries
 212.742.8770 ext. 2432
 http://www.tourolib.org/



Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?

2011-05-09 Thread Ray Denenberg, Library of Congress
Along the lines of oh, you meant THIS profession 

Rotational vs. linear mechanics.


 -Original Message-
 From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of
 Nate Vack
 Sent: Friday, May 06, 2011 4:47 PM
 To: CODE4LIB@LISTSERV.ND.EDU
 Subject: Re: [CODE4LIB] If you were starting over, what would you learn
 and how would you do it?
 
 On Fri, May 6, 2011 at 2:07 PM, Ceci Land cl...@library.msstate.edu
 wrote:
 
  How would you choose to develop your skills from baby level to
 something useful to the profession?
 
 I'd pretty much follow the plot of Batman Begins as closely as
 possible.
 
 Wait, useful to *this* profession?
 
 -n


Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?

2011-05-09 Thread Shearer, Timothy J

 But having actual users is a really different mode of working: you have
to figure out what the problem is (often the hardest part of a project)
and if your solution actually solves the problem or not.

-Esme


Seconding Esme and several others.  Technology work supports human
endeavor.  Supporting users in a way that helps them and is sustainable
given organizational realities is very hard to do.

It took me longer than it should have to let go of my own sense of
elegance, appealing architecture, and technology predilections and to
instead focus on the work of others with an eye toward technology trends
and the future.

If you work with and for users as you practice, you should learn firsthand
systems analysis lessons.  You will learn what *they* need and how to
communicate to them what they may not know they can have.

If you think about how what you produce will be used when you are not
there, you will learn lessons about sustainability.

And any work you do will teach you about working within constraints.

As Esme points out, this can come from helping one person solve a fairly
small problem.

Also, you may want to spend some time coming to grips with the technology
landscape.  There are all kinds of career paths...

UX
Library automation (no snickering, please)
Humanities computing
Project management
Systems administration
Information retrieval (relevance, anyone?)
Database design and administration
...

Knowing where you want to be in the next five or ten years can help you
decide what toys to play with as you practice.

A skill you seem to have already learned is to ask others for help.

Lots of us have fun in this field, hope you find your way!

Tim


Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?

2011-05-09 Thread Ceci Land
This isn't the list for psychic PHP ninjas and crocodile wranglers?  Dang.  My 
bad.  ;-)

Ceci


 Ray Denenberg, Library of Congress  05/09/11 4:11 PM 
Along the lines of oh, you meant THIS profession 

Rotational vs. linear mechanics.


 -Original Message-
 From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of
 Nate Vack
 Sent: Friday, May 06, 2011 4:47 PM
 To: CODE4LIB@LISTSERV.ND.EDU
 Subject: Re: [CODE4LIB] If you were starting over, what would you learn
 and how would you do it?
 
 On Fri, May 6, 2011 at 2:07 PM, Ceci Land 
 wrote:
 
  How would you choose to develop your skills from baby level to
 something useful to the profession?
 
 I'd pretty much follow the plot of Batman Begins as closely as
 possible.
 
 Wait, useful to *this* profession?
 
 -n


[CODE4LIB] json4lib / API for Calisphere

2011-05-09 Thread Brian Tingle
I've started work on a project that I'm envisioning partly as sort of
a JSON profile of METS optimized for access.

I've implemented this JSON format for search results in calisphere by
adding an rmode=json to the calisphere/oac branch of xtf.

Here is some documentation about it
  http://json4lib.readthedocs.org/en/latest/

And here is the code
   http://code.google.com/p/json4lib/source/browse/

This provides an API of sorts to calisphere which is being used to
power a slide show widget we are beta testing with contributors which
should be released in June.

Only simple image objects support full file access at this time, but I
have an idea of how to support complex objects in search results using
json references.  My intention is to use the same JSON format for
either a set of search results or a flattened set of nodes of a
complex object.

To see the JSON results, it is easiest to install JSONview for Firefox or Chrome

https://addons.mozilla.org/en-us/firefox/addon/jsonview/
https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc

Do a search or browse in calisphere, say to

http://www.calisphere.universityofcalifornia.edu/browse/azBrowse/National+parks

add rmode=json

http://www.calisphere.universityofcalifornia.edu/browse/azBrowse/National+parksrmode=json

the callback parameter is also supported to allow cross domain access via JSONP

Here is a working example of the slideshow widget

http://cdn.calisphere.org/json4lib/slideshow/example.html

The slideshow widget is built using jQuery UI Dialog and the
PikaChoose slideshow library.

Here is how the JSONP is generated out of XTF (based on xml2json-xslt)
https://bitbucket.org/btingle/dsc-xtf/src/92c8607e3fed/style/crossQuery/resultFormatter/json/

The API and the widget are provided for the use of OAC/Calisphere
contributors on their own websites.  Nothing technical would stop
someone from using the JSON in other ways.  (I figure I could
whitelist referrers if unauthorized use becomes a problem).

I'm interested to hear any feedback; especially about the approach of
creating a javascript API (do_api.js) that provides methods to the
underlying JSON digital library object -- or my crazy arbitrarily
qualifiable dublin core implementation -- or any advice or concerns
about leaving the JSON feed wide open w/o any sort of API key.

Thanks -- Brian