Logging in to a Sinatra app with Twitter and posting a tweet

Posted & filed under integration, ruby.

I’ve been playing around with various integrations and decided to knock up a simple Twitter bunkup where you can login to a very simple Sinatra app using Twitter and send a tweet to say so. It’s very very simple as I wanted to concentrate on the Twitter integration rather than the app functionality. So how do you do it? First thing you need is a Sinatra app. I use rvm to manage dependencies so I like to create a .rvmrc file that loads the appropriate gemset whenever I cd into the directory:

The above will create a twitterauth directory, create a twitterauth gemset, install the required gems (note the high security on the twitter gem as it can do all sorts of things with your twitter account if you let it) and create an rvm .rvmrc file in the directory that will do the equivalent of rvm use 1.9.3@twitterauth every time you cd into it. The first time you cd in you’ll see gubbins about running the script for the first time and you have to choose to do so. After that it’s seamless and the gemset is loaded without any interaction.

(more…)

Creating users and courses in Blackboard

Posted & filed under Blackboard, integration.

So I have this interesting scenario to deal with. Users from a nightly ingest or real time via the Matrix Provisioning system need to be created in Blackboard and associated with specific roles depending on where they are located. It’s a run of the mill integration scenario so how did I deal with it? Here’s the big picture.

bb (more…)

Release day!

Posted & filed under active directory, Agile, Blackboard, integration.

I’ve scheduled all the Matrix provisioning updates for next week. I think this takes project multitasking to silly levels and just as well C# is very like Java. I’d hate to have to switch constantly between Java and C++. It’s all come together at once though, with a move to Active Directory, which needs provisioned and a move to Blackboard 9.1, which also needs provisioned. So it’s been an interesting few months culminating in this release fest.

m

A new model for provisioning Blackboard

Posted & filed under apache activemq, apache camel, Blackboard, integration.

Following on from my initial Blackboard SIS research I had a clearer idea of how to plumb it into my new Matrix Provisioning system which is based on ActiveMQ and Camel. The main problem I had was the lack of any status coming back from the SIS. You can send it what you like, even garbage and it replies with ‘OK’. Although the garbage ingestion is due to be fixed in SP9 or SP10 I think. The status won’t though. It will still return ‘OK’ even though the account wasn’t created. I had a chat with Behind the Blackboard and it’s fair to say that because it ingests feed files containing possibly thousands of users a single result isn’t suitable. It is in my case though as the users come in real time in JMS messages, one per message. So I decided to develop a small Building Block to wrap the SIS endpoint. The flow is shown in the diagram.

Blackboard provisioning with error topic (more…)

Adding error channels to the Matrix

Posted & filed under active directory, apache activemq, apache camel, integration.

Time for a blog post methinks and good timing too as I’ve recently updated the Matrix provisioning system to support Invalid Message Channels in its routing engine. An invalid message is any message that can’t be processed for whatever reason including if the target system is down. This turns out to be quite convenient as the messages can be rerouted to the target topics when the system is back up.

Matrix Provisioning (more…)

Planning Invalid Message Channel in Matrix

Posted & filed under integration, SOA.

20111125-082741.jpg

Error handling in Matrix provisioning using the Invalid Message Channel pattern

Blackboard heading for Supernova?

Posted & filed under Blackboard, eLearning, integration, The Rantorium.

A long time ago, during the early days of the Bodington collaboration, those that know about these things reckoned the LMS, or as it was termed in those days, VLE, would become an aggregator of learning services, rather than a monolithic blob of press ganged functionality and at the time, when open source was doing well in education, albeit quietly, that seemed a reasonable outlook. Indeed, we’ve seen the slow eduPunky rise of the PLE, although I’ve seen this transmogrify from meaning basically an offline VLE, sorry, LMS, to what it’s known as today, namely a loose and not very well connected collection of “MyStuff”. That I use for, learning like, well, you know what I mean. I keep all my bookmarks in Delicious, my feeds in Google Reader and my mates in Facebook and I ignore all institutional content or attempts to contact me to make me do stuff. Stuff that’s to do with my learning, like, you know what I mean. Coz learning’s just about reading a load of Stuff then turning up for the exam, innit? (more…)

Blackboard Shibboleth/SAML2 authentication

Posted & filed under Blackboard, Guanxi, integration, SAML, Shibboleth.

I’ve now released v1.1.0 of the GuanxiAuthenticator that lets you use Shibboleth or SAML2 Web Browser SSO to get into Blackboard. Download it from my github repo.

Getting Ruby to talk to MSSQL using ODBC on unix

Posted & filed under howTo, integration, ruby.

This was a bit of an adventure and a lot of googling so here it is in distilled form. Note that the unix paths have a space after unixodbc/ as otherwise wordpress goes wonky!

Download unuixODBC, unpack and install:

./configure --prefix=/usr/local/unixodbc --enable-gui=no
make
make install

Download  FreeTDS, unpack and install:

./configure --prefix=/usr/local/unixodbc --with-unixodbc=/usr/local/unixodbc
make
make install

Download rubyodbc, unpack and install:

ruby extconf.rb --with-odbc-dir=/usr/local/unixodbc
make
make install (more...)

I won a developer prize!

Posted & filed under integration, ruby, The Rantorium.

Middleware Developer Wins User Interface Prize

How’s that for a headline? Yes indeed, I won third prize in the JISC MOSAIC developer competition, for my course book finder/reading list application:

iLib, The Course Book Finder (more…)