1 2002 crossref annual member meeting implementation workshop september 26, 2002

25
2002 CrossRef Annual Member Meeting Implementation Workshop 1 Implementation Workshop September 26, 2002

Upload: hubert-horn

Post on 25-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

2002 CrossRef Annual Member Meeting Implementation Workshop 1

Implementation WorkshopSeptember 26, 2002

2002 CrossRef Annual Member Meeting Implementation Workshop 2

Agenda

9:00 - 9:05  Introduction - Chuck Koscher

9:05 - 10:00    Implementation Practices at American Physical Society Mark Doyle, APS

10:00 -10:45  The Implementation of the new CrossRef System Georgios Papadopoulos, CEO Atypon 

 10:45 - 11:00  Coffee Break

 11:00 - 11:45  The New CrossRef XML Schema Bruce D. Rosenblum, Inera Inc.

11:45 -  12:00 Member Access Pages - Chuck Koscher

12:00 -  12:15 Guidelines and Coding Examples - Chuck Koscher

12:15 - ? Open Discussion

2002 CrossRef Annual Member Meeting Implementation Workshop 3

System Site - Member Pages

2002 CrossRef Annual Member Meeting Implementation Workshop 4

2002 CrossRef Annual Member Meeting Implementation Workshop 5

2002 CrossRef Annual Member Meeting Implementation Workshop 6

2002 CrossRef Annual Member Meeting Implementation Workshop 7

2002 CrossRef Annual Member Meeting Implementation Workshop 8

2002 CrossRef Annual Member Meeting Implementation Workshop 9

2002 CrossRef Annual Member Meeting Implementation Workshop 10

2002 CrossRef Annual Member Meeting Implementation Workshop 11

2002 CrossRef Annual Member Meeting Implementation Workshop 12

2002 CrossRef Annual Member Meeting Implementation Workshop 13

2002 CrossRef Annual Member Meeting Implementation Workshop 14

2002 CrossRef Annual Member Meeting Implementation Workshop 15

2002 CrossRef Annual Member Meeting Implementation Workshop 16

Guidelines

OpenURL query problems and deposits , there is no DOI: in a DOI value

Deposits 2 or more deposits can be running simultaneously, A temp file is created using the HTTP fname parameter … prevents two files with the same name from being deposited at the same time

Queries Try to avoid many requests with only one query (group in 10+) Upload very large (1000+) queries using asynchronous query interface

OpenURL Query Format DON’T : id=doi:10.1061/(ASCE)0893-1321(2002)15:4(125)

Reduce dependence on mddb.xml pre-filtering, submit more queries

DO : id=10.1061/(ASCE)0893-1321(2002)15:4(125)

XSD, operation=doXSDMDUpload : DTD, operation=doMDUpload

2002 CrossRef Annual Member Meeting Implementation Workshop 17

Programming - Perl

#!/usr/bin/perl -wuse strict;use LWP::UserAgent;use URI::Escape;require HTTP::Headers;

my $h = HTTP::Headers->new;$h->header('Content-Type' => 'application/x-www-form-urlencoded'); my $user=“XXXX";my $pass=“yyyyy";my $query="00218561|||50|16|4713|||1| ….

my $verysafe = uri_escape($query, "| \n");

Query as an HTTP POST

2002 CrossRef Annual Member Meeting Implementation Workshop 18

my $user_agent = new LWP::UserAgent;$user_agent->agent(“Your agent name".$user_agent->agent);$user_agent->timeout(360);

my $req = new HTTP::Request 'POST', 'http://mddb2.crossref.org /query/xref.cgi', $h;$req->content("usr=$user&pwd=$pass&db=mddb&qdata=$query");

# Send query to the servermy $response;$response = $user_agent->request($req);

Query as an HTTP POST cont.

Programming - Perl

2002 CrossRef Annual Member Meeting Implementation Workshop 19

Programming - Java

import HTTPClient.*;import java.net.*;… public class doDeposits{ HTTPClient.NVPair[] uploadOpts = new HTTPClient.NVPair[2]; HTTPClient.NVPair[] uploadFileOpts = new HTTPClient.NVPair[1]; uploadOpts[0] = new HTTPClient.NVPair ("operation","doMDUpload"); uploadOpts[1] = new HTTPClient.NVPair ("area","live");

uploadFileOpts[0] = new HTTPClient.NVPair ("fname",XMLFile);

HTTPClient.NVPair[] ct_hdr = new HTTPClient.NVPair[1]; byte[] uploadBytes;

Deposit as an HTTP POST

2002 CrossRef Annual Member Meeting Implementation Workshop 20

http://mddb2.crossref.org/doc/samples.zip

Down load sample code from our site

HTTPClient.HTTPConnection httpConn = new HTTPClient.HTTPConnection (host,port);uploadBytes = HTTPClient.Codecs.mpFormDataEncode (uploadOpts,uploadFileOpts,ct_hdr);HTTPClient.CookieModule.setCookiePolicyHandler(null); HTTPClient.HTTPResponse httpResp = null;

httpResp = httpConn.Post ("/servlet/deposit?login_id=" + username + "&login_passwd=" + password,uploadBytes,ct_hdr); ….

Programming - Java

http://www.innovation.ch/java/HTTPClient/

Requires HTTPClient.jar

Deposit as an HTTP POST cont

2002 CrossRef Annual Member Meeting Implementation Workshop 21

Programming - VB

Set WinHttpReq = New WinHttpRequest (need winhttp50sdk.exe)

WinHttpReq.SetTimeouts 0, 60000, 60000, 300000

WinHttpReq.Open "GET", _ "http://mddb2.crossref.org/query/xref.cgi?usr=" + username.Text + _ "&pwd=" + password.Text + "&area=" + area + "&fuzzy=true&type=" + _ “operation + "&qdata=" + qData” , False

WinHttpReq.Send

results = WinHttpReq.ResponseText

Query as an HTTP GET

2002 CrossRef Annual Member Meeting Implementation Workshop 22

Programming - VB

Set WinHttpReq = New WinHttpRequest (need winhttp50sdk.exe)

WinHttpReq.SetTimeouts 0, 60000, 60000, 300000

WinHttpReq.Open "POST", "http://mddb2.crossref.org/servlet/deposit", FalseWinHttpReq.SetRequestHeader "Pragma", "no-cache" WinHttpReq.SetRequestHeader "Content-Type", "multipart/form-data; boundary=-------------------------7d23583220204" formData = formData + "---------------------------7d23583220204" + vbCrLfformData = formData + "Content-Disposition: form-data; name=" + Chr(34) + "login_id" + Chr(34) + vbCrLfformData = formData + vbCrLfformData = formData + username.Text + vbCrLf

WinHttpReq.Send formData HTML.DocumentHTML = WinHttpReq.ResponseText

Deposit as an HTTP POST

2002 CrossRef Annual Member Meeting Implementation Workshop 23

CrossRef Client Applicationhttp://www.crossref.org/vbclient.zip

2002 CrossRef Annual Member Meeting Implementation Workshop 24

CrossRef Client Applicationhttp://www.crossref.org/vbclient.zip

2002 CrossRef Annual Member Meeting Implementation Workshop 25

CrossRef Technical Working Group

Join the TWG !!!

Monthly teleconferences

Mailing list [email protected]

Mail list archives available on www.crossref.org

[email protected]

Planning an ‘in-person’ TWG for later this year