Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Module 5 - Create your own SWORD client


Published on

Module 5 of ’The SWORD Course’.

For further information see

Published in: Technology
  • Be the first to like this

Module 5 - Create your own SWORD client

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