SlideShare uma empresa Scribd logo
1 de 34
The SWORD Course Module4 SWORDclients
Module objectives By the end of this module you will: Understand the need for SWORD clients Have seen a variety of SWORD clients Have had the opportunity to try using some SWORD clients Know what tools are available to help with the creation of SWORD clients
A quick recap ,[object Object],You can find out about a repository’s SWORD interface by requesting a Service Document You can deposit an item by POSTing a package
User friendly? Interaction with SWORD is via XML documents XML is good for machine to machine interfaces Do users want to read / write XML?
User friendly?
The answer? SWORD clients
An analogy Using the web: Do we read and write HTML? No! We use a web client / browser.
SWORD clients Three types of SWORD client: Machine to machine custom client E.g. custom code to deposit from lab equipment General client Deposit any item type to any repository Specific client Tailored for an individual use (e.g. e-thesis deposit to repository X, journal article (with DOI) deposit to repository Y)
SWORD clients Machine to machine custom client E.g. JISC-funded ROAD project Robot-generated Open Access Data Automated laboratory undertaking investigations into gene functions Specific client for specific project / equipment
Online demo client
Desktop demo client
Problems with general clients Do users know their repository URL? Do users know the URL of their repository’s service document? Do users have pre-compiled packages?
Another example The Facebook SWORD deposit tool http://apps.facebook.com/swordapp/
Facebook client
Facebook client
Facebook client The application performs the packaging (metadata + file)
Facebook client
Specific clients Specific clients overcome the previous problems: URLs embedded (or hidden behind easy choices) Usernames and passwords may be embedded Local language can be used
An example E-thesis deposit at The University of Auckland http://deposit.library.auckland.ac.nz/ Uses local language (e.g. ‘UPI’ for login) Specific Creative Commons questions Email receipt
An example
An example
An example
An example
An example
Deposit by email Email deposit@swordapp.org Script reads mailbox From name -> Author Subject -> Title Message body -> Abstract Deposit made Reply sent to user with deposited item URL Another example
Article Authoring Add-in for Word 2007 http://research.microsoft.com/en-us/projects/authoring/ .docx files are actually ‘packages’ Zip file containing XML files Embed SWORD details in the XML <article ms:DepositURL=”http://localhost:8080/sword/deposit/123456789/2″ ms:JournalName=”test” ms:SignupURL=”http://localhost:8080/jspui/” ms:PasswordRequired=”True” ms:PreferredFormat=”docx” ms:SupportedFormats=”docx” ms:Category=”" ms:SubCategory=”"> Deposit from within Microsoft Word
Create a template using fields E.g. title / abstract / conclusion Repository can be programmed to extract these fields programmatically into metadata elements Deposit from within Microsoft Word
Deposit from within Microsoft Word
Want to create your own custom client? No need to re-invent the wheel Code libraries / APIs available Creating your own client
PHP http://github.com/stuartlewis/swordapp-php-library/ Good for web-based or scripted clients Includes a METS/SWAP packager Java http://sourceforge.net/projects/sword-app/develop Good for web-based, scripted or desktop clients SWORD code libraries / APIs
Review SWORD clients are required to perform deposits There are some generic clients available Generic clients require a level of technical knowledge Specific clients can be created to shield the user from details There are code libraries available to help you write your own clients
Want to learn more? If SWORD is the answer, what is the question? Use of the Simple Web service Offering Repository Deposit protocol http://dx.doi.org/10.1108/00330330910998057 http://hdl.handle.net/2292/5315
Credits This course has been produced by: Stuart Lewis The SWORD project http://swordapp.org/ Funded by JISC http://www.jisc.ac.uk/ Licence Creative commons
Photo Credits Lecture hall: http://www.flickr.com/photos/iamthebestartist/2008790/ It’s a No!: http://www.flickr.com/photos/biscuitsmlp/2247299538/

Mais conteúdo relacionado

Mais procurados

Active Directory Services
Active Directory ServicesActive Directory Services
Active Directory Services
Varun Arora
 

Mais procurados (20)

Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
 
JSON WEB TOKEN
JSON WEB TOKENJSON WEB TOKEN
JSON WEB TOKEN
 
BasicHTML
BasicHTMLBasicHTML
BasicHTML
 
HTML/Web Development (Grade 11-ICT)
HTML/Web Development (Grade 11-ICT)HTML/Web Development (Grade 11-ICT)
HTML/Web Development (Grade 11-ICT)
 
The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)
 
Spring Framework - Data Access
Spring Framework - Data AccessSpring Framework - Data Access
Spring Framework - Data Access
 
Token Authentication in ASP.NET Core
Token Authentication in ASP.NET CoreToken Authentication in ASP.NET Core
Token Authentication in ASP.NET Core
 
ShEx vs SHACL
ShEx vs SHACLShEx vs SHACL
ShEx vs SHACL
 
Overview of JSON Object Signing and Encryption
Overview of JSON Object Signing and EncryptionOverview of JSON Object Signing and Encryption
Overview of JSON Object Signing and Encryption
 
Five API Styles
Five API StylesFive API Styles
Five API Styles
 
Solr Presentation
Solr PresentationSolr Presentation
Solr Presentation
 
OAuth 2.0 Security Reinforced
OAuth 2.0 Security ReinforcedOAuth 2.0 Security Reinforced
OAuth 2.0 Security Reinforced
 
Introduction to JWT and How to integrate with Spring Security
Introduction to JWT and How to integrate with Spring SecurityIntroduction to JWT and How to integrate with Spring Security
Introduction to JWT and How to integrate with Spring Security
 
Understanding JWT Exploitation
Understanding JWT ExploitationUnderstanding JWT Exploitation
Understanding JWT Exploitation
 
LDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access ProtocolLDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access Protocol
 
Active Directory Services
Active Directory ServicesActive Directory Services
Active Directory Services
 
PHP File Handling
PHP File Handling PHP File Handling
PHP File Handling
 
An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2
 
What is Ajax technology?
What is Ajax technology?What is Ajax technology?
What is Ajax technology?
 
Intro Html
Intro HtmlIntro Html
Intro Html
 

Destaque (6)

Module 2 - SWORD Use Cases
Module 2 - SWORD Use CasesModule 2 - SWORD Use Cases
Module 2 - SWORD Use Cases
 
Module 1 - An Introduction To SWORD
Module 1 - An Introduction To SWORDModule 1 - An Introduction To SWORD
Module 1 - An Introduction To SWORD
 
Module 5 - Create your own SWORD client
Module 5 - Create your own SWORD clientModule 5 - Create your own SWORD client
Module 5 - Create your own SWORD client
 
SWORD v2 debut at Open Repositories 2011
SWORD v2 debut at Open Repositories 2011SWORD v2 debut at Open Repositories 2011
SWORD v2 debut at Open Repositories 2011
 
Simple Web service Offering Repository Deposit (SWORD)‏
Simple Web service Offering Repository Deposit (SWORD)‏Simple Web service Offering Repository Deposit (SWORD)‏
Simple Web service Offering Repository Deposit (SWORD)‏
 
Module 6 - introducing sword v2
Module 6 - introducing sword v2Module 6 - introducing sword v2
Module 6 - introducing sword v2
 

Semelhante a Module 4 - SWORD clients

Open writing-cloud-collab
Open writing-cloud-collabOpen writing-cloud-collab
Open writing-cloud-collab
Karen Vuong
 
Developing a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere StudioDeveloping a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere Studio
elliando dias
 
A Brief Introduce to WSGI
A Brief Introduce to WSGIA Brief Introduce to WSGI
A Brief Introduce to WSGI
Mingli Yuan
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
chomas kandar
 
OData Across Boundaries
OData Across BoundariesOData Across Boundaries
OData Across Boundaries
Sam Basu
 

Semelhante a Module 4 - SWORD clients (20)

Code Documentation. That ugly thing...
Code Documentation. That ugly thing...Code Documentation. That ugly thing...
Code Documentation. That ugly thing...
 
Lightweight Deposit using SWORD
Lightweight Deposit using SWORDLightweight Deposit using SWORD
Lightweight Deposit using SWORD
 
AIDA/Scribo
AIDA/ScriboAIDA/Scribo
AIDA/Scribo
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web apps
 
epicenter2010 Open Xml
epicenter2010   Open Xmlepicenter2010   Open Xml
epicenter2010 Open Xml
 
SWORD v2 at JISC Depo meeting
SWORD v2 at JISC Depo meetingSWORD v2 at JISC Depo meeting
SWORD v2 at JISC Depo meeting
 
Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2
 
Making Repository Easier With SWORD
Making Repository Easier With SWORDMaking Repository Easier With SWORD
Making Repository Easier With SWORD
 
Sword Bl 0903[1]
Sword Bl 0903[1]Sword Bl 0903[1]
Sword Bl 0903[1]
 
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
 
Open writing-cloud-collab
Open writing-cloud-collabOpen writing-cloud-collab
Open writing-cloud-collab
 
Developing a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere StudioDeveloping a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere Studio
 
A Brief Introduce to WSGI
A Brief Introduce to WSGIA Brief Introduce to WSGI
A Brief Introduce to WSGI
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Intro to Web Standards
Intro to Web StandardsIntro to Web Standards
Intro to Web Standards
 
Up and Running with the Typelevel Stack
Up and Running with the Typelevel StackUp and Running with the Typelevel Stack
Up and Running with the Typelevel Stack
 
OData Across Boundaries
OData Across BoundariesOData Across Boundaries
OData Across Boundaries
 
SWORD: An Overview
SWORD: An OverviewSWORD: An Overview
SWORD: An Overview
 
Introduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEBIntroduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEB
 

Último

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Module 4 - SWORD clients

  • 1. The SWORD Course Module4 SWORDclients
  • 2. Module objectives By the end of this module you will: Understand the need for SWORD clients Have seen a variety of SWORD clients Have had the opportunity to try using some SWORD clients Know what tools are available to help with the creation of SWORD clients
  • 3.
  • 4. User friendly? Interaction with SWORD is via XML documents XML is good for machine to machine interfaces Do users want to read / write XML?
  • 7. An analogy Using the web: Do we read and write HTML? No! We use a web client / browser.
  • 8. SWORD clients Three types of SWORD client: Machine to machine custom client E.g. custom code to deposit from lab equipment General client Deposit any item type to any repository Specific client Tailored for an individual use (e.g. e-thesis deposit to repository X, journal article (with DOI) deposit to repository Y)
  • 9. SWORD clients Machine to machine custom client E.g. JISC-funded ROAD project Robot-generated Open Access Data Automated laboratory undertaking investigations into gene functions Specific client for specific project / equipment
  • 12. Problems with general clients Do users know their repository URL? Do users know the URL of their repository’s service document? Do users have pre-compiled packages?
  • 13. Another example The Facebook SWORD deposit tool http://apps.facebook.com/swordapp/
  • 16. Facebook client The application performs the packaging (metadata + file)
  • 18. Specific clients Specific clients overcome the previous problems: URLs embedded (or hidden behind easy choices) Usernames and passwords may be embedded Local language can be used
  • 19. An example E-thesis deposit at The University of Auckland http://deposit.library.auckland.ac.nz/ Uses local language (e.g. ‘UPI’ for login) Specific Creative Commons questions Email receipt
  • 25. Deposit by email Email deposit@swordapp.org Script reads mailbox From name -> Author Subject -> Title Message body -> Abstract Deposit made Reply sent to user with deposited item URL Another example
  • 26. Article Authoring Add-in for Word 2007 http://research.microsoft.com/en-us/projects/authoring/ .docx files are actually ‘packages’ Zip file containing XML files Embed SWORD details in the XML <article ms:DepositURL=”http://localhost:8080/sword/deposit/123456789/2″ ms:JournalName=”test” ms:SignupURL=”http://localhost:8080/jspui/” ms:PasswordRequired=”True” ms:PreferredFormat=”docx” ms:SupportedFormats=”docx” ms:Category=”" ms:SubCategory=”"> Deposit from within Microsoft Word
  • 27. Create a template using fields E.g. title / abstract / conclusion Repository can be programmed to extract these fields programmatically into metadata elements Deposit from within Microsoft Word
  • 28. Deposit from within Microsoft Word
  • 29. Want to create your own custom client? No need to re-invent the wheel Code libraries / APIs available Creating your own client
  • 30. PHP http://github.com/stuartlewis/swordapp-php-library/ Good for web-based or scripted clients Includes a METS/SWAP packager Java http://sourceforge.net/projects/sword-app/develop Good for web-based, scripted or desktop clients SWORD code libraries / APIs
  • 31. Review SWORD clients are required to perform deposits There are some generic clients available Generic clients require a level of technical knowledge Specific clients can be created to shield the user from details There are code libraries available to help you write your own clients
  • 32. Want to learn more? If SWORD is the answer, what is the question? Use of the Simple Web service Offering Repository Deposit protocol http://dx.doi.org/10.1108/00330330910998057 http://hdl.handle.net/2292/5315
  • 33. Credits This course has been produced by: Stuart Lewis The SWORD project http://swordapp.org/ Funded by JISC http://www.jisc.ac.uk/ Licence Creative commons
  • 34. Photo Credits Lecture hall: http://www.flickr.com/photos/iamthebestartist/2008790/ It’s a No!: http://www.flickr.com/photos/biscuitsmlp/2247299538/