Vortex Client¶ ↑
A Ruby API for the “Vortex”:www.usit.uio.no/it/vortex/ Content Management System developed at the University of Oslo in Norway by IT Services department. The Ruby API uses the WebDAV protocol, supported by Vortex, to manage content.
Publishing content¶ ↑
To publish an article.
require 'rubygems' require 'vortex_client' vortex = Vortex::Connection.new("https://www-dav.server.com") vortex.cd("/news/") article = Vortex::StructuredArticle.new(:title => "My title", :introduction => "Lorem ipsum") vortex.publish(article)
Running the script.
$ ruby publish.rb Username: thomasfl Password: *****
An article should now be published to “www-dav.server.com/news/my-title.html”.
Creating folders (collections)¶ ↑
To create a folder named “2010” in the “/news/” folder.
require 'rubygems' require 'vortex_client' vortex = Vortex::Connection.new("https://www-dav.server.com") vortex.cd("/news/") collection = Vortex::ArticleListingCollection.new(:title => "News for 2009", :foldername => "2009") vortex.create(collection)
Documentation¶ ↑
RDoc: rdoc.info/projects/thomasfl/vortex_client/
Installation¶ ↑
On most setups you simply do:
sudo gem install vortex_client
If your’e having problems installing the xml parser nokogiri on is x: wiki.github.com/tenderlove/nokogiri/what-to-do-if-libxml2-is-being-a-jerk Also how to compile ruby 1.9.1 on os x wonko.com/post/how-to-compile-ruby-191 On ubuntu openssl can be an issue blog.maxaller.name/2009/02/ruby-19-and-openssl-on-ubuntu/
Storing passwords in KeyChain on OS X¶ ↑
To retrieve password from KeyChain on OS X, use the option :osx_keychain => true.
vortex = Vortex::Connection.new("https://www-dav.server.com", :osx_keychain => true)
When running for the first time, ruby prompts for the password. Username must be the same both locally and on the server.
Password not found on OS X KeyChain. Enter password to store new password on OS X KeyChain. Password: ***** Password for 'tiger' on 'www-dav.server.com' stored on OS X KeyChain.
The next time the script is executed, ruby won’t prompt for username or password.
KeyChain authentication requires ‘osx_keychain’ and ‘RubyInline’ gem.
To install:
$ sudo gem install RubyInline $ sudo gem install osx_keychain
Note on Patches/Pull Requests¶ ↑
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but
bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright¶ ↑
Copyright © 2009 Thomas Flemming. See LICENSE for details.