Viewpoint for Sharepoint Web Services
This is a Ruby client library for Sharepoint Web Services. If you've used my Viewpoint library for Exchange Web Services you will no doubt notice a similar feel to this library. It however cannot be a one-for-one do to the way Sharepoint splits its web services among many different services.
There is still quite a lot that needs to be done with the model layer. However, if you are a more daring personality the web service back-end is fairly complete for the web services I've chosen to expose thus far. I've also tried to document each back-end method to its fullest and to provide links to the Microsoft docs where I fall short. Documentation should be up to date on rubydoc.info.
Example Usage
Connecting
require 'viewpoint/spws'
site = 'https://myspsite/site_a/Default.aspx'
scli = Viewpoint::SPWSClient.new(site)
scli = Viewpoint::SPWSClient.new(site, user, pass)
Getting Lists
lists = scli.get_lists
taskl = scli.get_list('Task List')
mylist = scli.get_list('{9202CCD0-2EA7-012F-0C9A-58D3859A6B00}')
Information about a List
taskl.title
taskl.description
taskl.created
taskl.modified
Retrieving Items
tasks = taskl.items
Creating/Renaming/Deleting a Task (other types of ListItems are forthcoming)
t1 = taskl.add_item!(:title => "New Task")
# Set and call #save!
t1.rename 'My New Task'
t1.save!
# or use the autosave method
t1.rename! "My Really New Task"
# or use an auto-saving transaction
t1.update! do |l|
l.rename 'New Name'
l.set_priority :low
l.set_status :waiting
end
t1.delete!
Upload a file to a DocumentLibrary List
doclib = scli.get_list 'Personal Documents'
doclib.add_file! :file => '/path/to/file'
My Links