Vortex Client
A set of utilities for managing content in the web content management system “Vortex”:www.usit.uio.no/it/vortex/. All operations are done by using the webdav protocol.
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/
Using KeyChain authentication on OS X
To retrieve password from KeyChain on OS X, use the option :use_osx_keychain => true.
vortex = Vortex::Connection.new("https://www-dav.server.com", :use_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.