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.