SlideShare a Scribd company logo
1 of 25
The SWORD Course Module5 Create yourown SWORDclient
Module objectives By the end of this module you will: Know about the EasyDeposit SWORD client creation toolkit Have seen some example configurations of EasyDeposit Understand how to construct a custom SWORD client Have had the opportunity to construct your own custom EasyDeposit SWORD client
Background to EasyDeposit Created at the University of Auckland Library Digital Development and Media Services team Already created several custom SWORD clients Thesis deposit Computer Science technical report archive Wanted an easy way to create more clients
EasyDeposit Benefits Written in PHP (a skill often found in general web teams rather than specialised repository development teams) Web-based (user + admin) Stand-alone (doesn’t require extra systems such as a database) Comes with more than 20 ‘steps’ out-of-the-box Open-source: you are free to modify or extend it
EasyDeposit http://easydeposit.swordapp.org/ Download application Installation and configuration instructions Example clients Makes use of the SWORDAPP PHP library Built on the popular CodeIgniter framework
Anatomy of EasyDeposit Home page Customisable Deposit screens Made up of a series of ‘steps’ Steps can be added or removed Steps can be configured Extra steps can be added Look and feel Customisable CSS / header / footer
Steps Different types of step Login (must come first) Repository credentials Repository related Data collection Verification Deposit Post-processing
Visible / Invisible steps Some steps are visible: Collect metadata Upload files Verify inputs Some steps are invisible: Deposit
Login steps Must come first Sets the user ID (used to store uploaded files on disk, and optionally for deposit credentials) Different options: LDAP login – allows local credentials to be used Service Document login – checks username and password with the repository No login – Used when you want anonymous deposit
Repository credentials Must set repository credentials Repository username / password / on-behalf-of Use users’ credentials Deposit performed as that user Use single set of credentials Minimises number of user accounts in the repository if users only deposit a few items (e.g. theses)
Repository related steps Allow user to interact with the Service Document Select from collections they are allowed to deposit to Only useful if they understand the choice Select a repository to use from a pre-defined list or enter a Service Document URL Too complex for most users
Data collection steps Collect metadata Allow files to be uploaded Can have automated steps E.g.: Crossref DOI lookup
Verification step Allows user to verify their submission Allows the user to return to the step to edit the details if required
Deposit step Performs the deposit Usually also performs the packaging An invisible step Multiple repository deposit step to deposit to multiple repositories
Post-processing steps Performs tasks after the deposit has taken place Examples: Email confirmation to the user Thank you message with the URL of the deposited item Email sent to administrator to alert them
An example Deposit a journal article with a DOI Steps: Nologin Crossrefdoilookup Crossrefdoimetadata Uploadfiles Verify Deposit Thankyou
Another example Deposit of a PhD thesis Steps: Ldaplogin Title Uploadfiles UOACreativecommonsembargo Verify Deposit Email Thankyou
The administrative interface Protected with a username and password Edit and configure the steps Edit the welcome screen Edit the commons header, footer, and CSS Set some global settings
HEADER WELCOME SCREEN FOOTER
Extending EasyDeposit Based on CodeIgniter MVC-based architecture Create a controller and a view Look at the current controllers and views to see how they work Feel free to contribute them back to the project
Conclusion If you have any questions or suggestions about EasyDeposit, please get in touch! stuart@stuartlewis.com
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/

More Related Content

What's hot

Lightweight Deposit using SWORD
Lightweight Deposit using SWORDLightweight Deposit using SWORD
Lightweight Deposit using SWORDAdrian Stevenson
 
AIDA/Scribo
AIDA/ScriboAIDA/Scribo
AIDA/ScriboESUG
 
Delta Incremental File Based Backups
Delta Incremental File Based BackupsDelta Incremental File Based Backups
Delta Incremental File Based BackupsKarlvv1
 
Azure Storage Services - Part 01
Azure Storage Services - Part 01Azure Storage Services - Part 01
Azure Storage Services - Part 01Neeraj Kumar
 
Using Microsoft Azure as cloud file server
Using Microsoft Azure as cloud file serverUsing Microsoft Azure as cloud file server
Using Microsoft Azure as cloud file serverjimliddle
 
Availing Windows Dedicated Servers of HTS Hosting
Availing Windows Dedicated Servers of HTS HostingAvailing Windows Dedicated Servers of HTS Hosting
Availing Windows Dedicated Servers of HTS HostingHTS Hosting
 
Linux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptx
Linux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptxLinux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptx
Linux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptxHTS Hosting
 
Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015
Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015
Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015FITC
 

What's hot (12)

Lightweight Deposit using SWORD
Lightweight Deposit using SWORDLightweight Deposit using SWORD
Lightweight Deposit using SWORD
 
AIDA/Scribo
AIDA/ScriboAIDA/Scribo
AIDA/Scribo
 
Delta Incremental File Based Backups
Delta Incremental File Based BackupsDelta Incremental File Based Backups
Delta Incremental File Based Backups
 
Azure Storage Services - Part 01
Azure Storage Services - Part 01Azure Storage Services - Part 01
Azure Storage Services - Part 01
 
Basics for hosting a website
Basics for hosting a websiteBasics for hosting a website
Basics for hosting a website
 
Apache Multiview Vulnerability
Apache Multiview VulnerabilityApache Multiview Vulnerability
Apache Multiview Vulnerability
 
Using Microsoft Azure as cloud file server
Using Microsoft Azure as cloud file serverUsing Microsoft Azure as cloud file server
Using Microsoft Azure as cloud file server
 
Hosting a website
Hosting a websiteHosting a website
Hosting a website
 
Availing Windows Dedicated Servers of HTS Hosting
Availing Windows Dedicated Servers of HTS HostingAvailing Windows Dedicated Servers of HTS Hosting
Availing Windows Dedicated Servers of HTS Hosting
 
Linux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptx
Linux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptxLinux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptx
Linux Managed VPS Vs. Linux Reseller Hosting Similarities and Differences.pptx
 
Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015
Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015
Upgrading the Web with Douglas Crockford @ FITC's Web Unleashed 2015
 
Ch. x web performance
Ch. x web performanceCh. x web performance
Ch. x web performance
 

Similar to Module 5 - Create your own SWORD client

Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 JulieallinsonJulie Allinson
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiUnmesh Baile
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiUnmesh Baile
 
Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content Managementmaddinapudi
 
10135 a 02
10135 a 0210135 a 02
10135 a 02Bố Su
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Julie Allinson
 
Learning Web: Content Management for Instruction
Learning Web: Content Management for InstructionLearning Web: Content Management for Instruction
Learning Web: Content Management for InstructionHouston Community College
 
Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2Adrian Stevenson
 
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...buildacloud
 
Open writing-cloud-collab
Open writing-cloud-collabOpen writing-cloud-collab
Open writing-cloud-collabKaren Vuong
 
DataCite How To: Use the MDS
DataCite How To: Use the MDSDataCite How To: Use the MDS
DataCite How To: Use the MDSFrauke Ziedorn
 
Relational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsRelational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsJeff Potts
 
DSpace: Technical Basics
DSpace: Technical BasicsDSpace: Technical Basics
DSpace: Technical BasicsIryna Kuchma
 
Solution Manager in Denodo Platform 7.0: Admin Made Simple
Solution Manager in Denodo Platform 7.0: Admin Made SimpleSolution Manager in Denodo Platform 7.0: Admin Made Simple
Solution Manager in Denodo Platform 7.0: Admin Made SimpleDenodo
 
Making Repository Easier With SWORD
Making Repository Easier With SWORDMaking Repository Easier With SWORD
Making Repository Easier With SWORDAdrian Stevenson
 
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 appsyoavrubin
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the DataKellyn Pot'Vin-Gorman
 
Plone A Content Management System Chitra Mohla
Plone A Content Management System Chitra MohlaPlone A Content Management System Chitra Mohla
Plone A Content Management System Chitra Mohlabrighteyes
 

Similar to Module 5 - Create your own SWORD client (20)

Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 Julieallinson
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbai
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbai
 
Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content Management
 
10135 a 02
10135 a 0210135 a 02
10135 a 02
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
 
Learning Web: Content Management for Instruction
Learning Web: Content Management for InstructionLearning Web: Content Management for Instruction
Learning Web: Content Management for Instruction
 
Lotus Framework
Lotus FrameworkLotus Framework
Lotus Framework
 
Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2
 
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
 
DataCite How To: Use the MDS
DataCite How To: Use the MDSDataCite How To: Use the MDS
DataCite How To: Use the MDS
 
Relational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsRelational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric Apps
 
DSpace: Technical Basics
DSpace: Technical BasicsDSpace: Technical Basics
DSpace: Technical Basics
 
Solution Manager in Denodo Platform 7.0: Admin Made Simple
Solution Manager in Denodo Platform 7.0: Admin Made SimpleSolution Manager in Denodo Platform 7.0: Admin Made Simple
Solution Manager in Denodo Platform 7.0: Admin Made Simple
 
Making Repository Easier With SWORD
Making Repository Easier With SWORDMaking Repository Easier With SWORD
Making Repository Easier With SWORD
 
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
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
 
Plone A Content Management System Chitra Mohla
Plone A Content Management System Chitra MohlaPlone A Content Management System Chitra Mohla
Plone A Content Management System Chitra Mohla
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Module 5 - Create your own SWORD client

  • 1. The SWORD Course Module5 Create yourown SWORDclient
  • 2. Module objectives By the end of this module you will: Know about the EasyDeposit SWORD client creation toolkit Have seen some example configurations of EasyDeposit Understand how to construct a custom SWORD client Have had the opportunity to construct your own custom EasyDeposit SWORD client
  • 3. Background to EasyDeposit Created at the University of Auckland Library Digital Development and Media Services team Already created several custom SWORD clients Thesis deposit Computer Science technical report archive Wanted an easy way to create more clients
  • 4. EasyDeposit Benefits Written in PHP (a skill often found in general web teams rather than specialised repository development teams) Web-based (user + admin) Stand-alone (doesn’t require extra systems such as a database) Comes with more than 20 ‘steps’ out-of-the-box Open-source: you are free to modify or extend it
  • 5. EasyDeposit http://easydeposit.swordapp.org/ Download application Installation and configuration instructions Example clients Makes use of the SWORDAPP PHP library Built on the popular CodeIgniter framework
  • 6. Anatomy of EasyDeposit Home page Customisable Deposit screens Made up of a series of ‘steps’ Steps can be added or removed Steps can be configured Extra steps can be added Look and feel Customisable CSS / header / footer
  • 7. Steps Different types of step Login (must come first) Repository credentials Repository related Data collection Verification Deposit Post-processing
  • 8. Visible / Invisible steps Some steps are visible: Collect metadata Upload files Verify inputs Some steps are invisible: Deposit
  • 9. Login steps Must come first Sets the user ID (used to store uploaded files on disk, and optionally for deposit credentials) Different options: LDAP login – allows local credentials to be used Service Document login – checks username and password with the repository No login – Used when you want anonymous deposit
  • 10. Repository credentials Must set repository credentials Repository username / password / on-behalf-of Use users’ credentials Deposit performed as that user Use single set of credentials Minimises number of user accounts in the repository if users only deposit a few items (e.g. theses)
  • 11. Repository related steps Allow user to interact with the Service Document Select from collections they are allowed to deposit to Only useful if they understand the choice Select a repository to use from a pre-defined list or enter a Service Document URL Too complex for most users
  • 12. Data collection steps Collect metadata Allow files to be uploaded Can have automated steps E.g.: Crossref DOI lookup
  • 13. Verification step Allows user to verify their submission Allows the user to return to the step to edit the details if required
  • 14. Deposit step Performs the deposit Usually also performs the packaging An invisible step Multiple repository deposit step to deposit to multiple repositories
  • 15. Post-processing steps Performs tasks after the deposit has taken place Examples: Email confirmation to the user Thank you message with the URL of the deposited item Email sent to administrator to alert them
  • 16. An example Deposit a journal article with a DOI Steps: Nologin Crossrefdoilookup Crossrefdoimetadata Uploadfiles Verify Deposit Thankyou
  • 17. Another example Deposit of a PhD thesis Steps: Ldaplogin Title Uploadfiles UOACreativecommonsembargo Verify Deposit Email Thankyou
  • 18. The administrative interface Protected with a username and password Edit and configure the steps Edit the welcome screen Edit the commons header, footer, and CSS Set some global settings
  • 20.
  • 21.
  • 22. Extending EasyDeposit Based on CodeIgniter MVC-based architecture Create a controller and a view Look at the current controllers and views to see how they work Feel free to contribute them back to the project
  • 23. Conclusion If you have any questions or suggestions about EasyDeposit, please get in touch! stuart@stuartlewis.com
  • 24. 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
  • 25. Photo Credits Lecture hall: http://www.flickr.com/photos/iamthebestartist/2008790/