Re: [sword-app-tech] communicating a controlled vocabulary to SWORD client

2014-05-28 Thread Richard Jones
Hi Phil,

The sword clients themselves are pretty raw, and designed only to take the
data you want to send and serialise it to the wire and then parse the
response and give you a decent programmatic way of interacting with it.

You could certainly write a wrapper around a client which gave you a bit
more control over what documents you could construct and send, but I would
certainly keep those separate from the client itself.

Going in a similar direction, although certainly not the same, I have been
working with the University of Oxford to build a git-like client
environment for sword, which allows you to select local files or specify
metadata (in dc, or other formats), and to identify repositories to which
you would like to deposit, and then give you a push from your local
object to some remote repository.  This doesn't do anything clever with
metadata, but it does have a whole aspect to do with packaging, and perhaps
the concept could be extended to cover the kind of validation that you
describe below.

Essentially, when you deposit you ask it to either deposit all the content
in some package format, or you ask it to deposit a specific metadata
format.

In the package deposit case it loads a plugin which knows how to do that
format, and it builds the zip for you before sending it - at this stage you
could validate the content of the object to check that it can be packaged,
and give the user feedback if this validation fails.

In the metadata deposit case, it just sends the XML of the metadata that it
has on record, but you could theoretically make the process more
plugin-oriented, so that you could specify a validation route prior to
deposit.

At the moment the code is in a not-quite-finished state, but you are
welcome to take a look.  The core library is here:

https://github.com/CottageLabs/dip

and there is the beginnings of a command line environment here:

https://github.com/CottageLabs/dip-ui

Also, generally interested in your thoughts on this - is it useful, are we
going in an interesting direction?

Cheers,

Richard


On 20 May 2014 16:13, Philip Durbin philip_dur...@harvard.edu wrote:

 I was just looking at Typically, the subject will be represented
 using keywords, key phrases, or classification codes. Recommended best
 practice is to use a controlled vocabulary. from
 http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms#subject

 Let's pretend I take this advice and only want to support a controlled
 vocabulary for dcterms:subject. Something like this:

 dcterms:subjectArts and Humanities

 dcterms:subjectAstronomy and Astrophysics

 dcterms:subjectBusiness and Management

 etc. etc.

 But can I communicate my list of controlled vocabulary for
 dcterms:subject (and possibly other fields such as dcterms:language)
 to the SWORD client in the Service Document?

 Of would I let the SWORD client *try* to create an Atom resource and
 when it fails (because it can't possibly guess what my controlled
 vocabulary is) that's when I state in the error message what the
 controlled vocabulary is? Sorry, you must use one of the following
 values: Arts and Humanities, ... Seems messy to parse.

 I expect the answer to all this will be... don't even try this... the
 S in SWORD is for simple. :)

 But I'm curious what people think.

 Phil

 --
 Philip Durbin
 Software Developer for http://thedata.org
 http://www.iq.harvard.edu/people/philip-durbin


 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform
 available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 sword-app-tech mailing list
 sword-app-tech@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/sword-app-tech




-- 

Richard Jones,

Founder, Cottage Labs
t: @richard_d_jones, @cottagelabs
w: http://cottagelabs.com
--
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet___
sword-app-tech mailing list
sword-app-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-tech


Re: [sword-app-tech] communicating a controlled vocabulary to SWORD client

2014-05-21 Thread TAYLOR Robin
Hi Philip,

Lets assume for the sake of discussion that you are right and that the answer 
is... don't even try this :) , then what about considering another web service 
alongside SWORD? It might be useful for a repository, or similar, to provide a 
profile(s) of supported metadata for the use of a SWORD client, or any other 
ingest mechanism for that matter. 

Cheers, Robin.

Robin Taylor
Main Library
University of Edinburgh

From: Philip Durbin philip_dur...@harvard.edu
Sent: 20 May 2014 16:13
To: sword-app-tech@lists.sourceforge.net
Subject: [sword-app-tech] communicating a controlled vocabulary to SWORD
client

I was just looking at Typically, the subject will be represented
using keywords, key phrases, or classification codes. Recommended best
practice is to use a controlled vocabulary. from
http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms#subject

Let's pretend I take this advice and only want to support a controlled
vocabulary for dcterms:subject. Something like this:

dcterms:subjectArts and Humanities

dcterms:subjectAstronomy and Astrophysics

dcterms:subjectBusiness and Management

etc. etc.

But can I communicate my list of controlled vocabulary for
dcterms:subject (and possibly other fields such as dcterms:language)
to the SWORD client in the Service Document?

Of would I let the SWORD client *try* to create an Atom resource and
when it fails (because it can't possibly guess what my controlled
vocabulary is) that's when I state in the error message what the
controlled vocabulary is? Sorry, you must use one of the following
values: Arts and Humanities, ... Seems messy to parse.

I expect the answer to all this will be... don't even try this... the
S in SWORD is for simple. :)

But I'm curious what people think.

Phil

--
Philip Durbin
Software Developer for http://thedata.org
http://www.iq.harvard.edu/people/philip-durbin

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
sword-app-tech mailing list
sword-app-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-tech

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
sword-app-tech mailing list
sword-app-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-tech


Re: [sword-app-tech] communicating a controlled vocabulary to SWORD client

2014-05-21 Thread TAYLOR Robin
Hi Philip,

Please ignore my first hasty answer. I'm still thinking in SWORD v1 terms. 
SWORD v1 does what you ask in a manner, the Service Document can specify 
profiles of sorts. I'm forgetting my SWORD terminology but I know you can say, 
for example, that the server supports a Mets Profile of a particular type. In  
an ideal world that profile would be described elsewhere in sufficient detail, 
and made available programatically, to allow you build a compliant SWORD 
submission. Sadly the whole area surrounding Mets profiles and package 
description is a bit underdeveloped so in practice I doubt this would be a 
practical approach, and as for SWORD v2 I'm afraid I have no idea.

Sorry, Robin.

Robin Taylor
Main Library
University of Edinburgh

From: TAYLOR Robin robin.tay...@ed.ac.uk
Sent: 21 May 2014 09:21
To: Philip Durbin; sword-app-tech@lists.sourceforge.net
Subject: Re: [sword-app-tech] communicating a controlled vocabulary to  SWORD   
client

Hi Philip,

Lets assume for the sake of discussion that you are right and that the answer 
is... don't even try this :) , then what about considering another web service 
alongside SWORD? It might be useful for a repository, or similar, to provide a 
profile(s) of supported metadata for the use of a SWORD client, or any other 
ingest mechanism for that matter.

Cheers, Robin.

Robin Taylor
Main Library
University of Edinburgh

From: Philip Durbin philip_dur...@harvard.edu
Sent: 20 May 2014 16:13
To: sword-app-tech@lists.sourceforge.net
Subject: [sword-app-tech] communicating a controlled vocabulary to SWORD
client

I was just looking at Typically, the subject will be represented
using keywords, key phrases, or classification codes. Recommended best
practice is to use a controlled vocabulary. from
http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms#subject

Let's pretend I take this advice and only want to support a controlled
vocabulary for dcterms:subject. Something like this:

dcterms:subjectArts and Humanities

dcterms:subjectAstronomy and Astrophysics

dcterms:subjectBusiness and Management

etc. etc.

But can I communicate my list of controlled vocabulary for
dcterms:subject (and possibly other fields such as dcterms:language)
to the SWORD client in the Service Document?

Of would I let the SWORD client *try* to create an Atom resource and
when it fails (because it can't possibly guess what my controlled
vocabulary is) that's when I state in the error message what the
controlled vocabulary is? Sorry, you must use one of the following
values: Arts and Humanities, ... Seems messy to parse.

I expect the answer to all this will be... don't even try this... the
S in SWORD is for simple. :)

But I'm curious what people think.

Phil

--
Philip Durbin
Software Developer for http://thedata.org
http://www.iq.harvard.edu/people/philip-durbin

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
sword-app-tech mailing list
sword-app-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-tech

--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
sword-app-tech mailing list
sword-app-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-tech

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
sword-app-tech mailing list
sword-app-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-tech