Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Learn more
No description, website, or topics provided.
Branch: master
Clone or download
Cannot retrieve the latest commit at this time.
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
YammerDoodle
LICENSE
README.md
YammerDoodle.sln

README.md

YammerDoodle

This is mostly a PoC based off of Steve Peshka's article, Using the Yammer API in a .NET Client Application. We wanted to do a few things:

  • Catalog Yammer Messages for Analysis (yeah, I've seen the ruby one)
  • Forward #helpdesk tagged messages to a message queue that spawns helpdesk tickets
  • Respond to generic #supportdev tags with the current support developer

The Database

We run the database on an Azure SQL Database instance, it's currently poorly (as in not at all) indexed. YammerDoodle/YammerDoodle.sql is a script generated off of the development database and can be used to initalize a new db. No seeds should be required but we may consider breaking out the initial seed id out in to the config since as time passes, that seed id will be more and more expensive... it's fine for now.

Where do I get these Ids, Secrets, usernames, etc?

Username/Password are for Yammer, it's the user/pass for the "bot." For the OAuth 2.0 shenanigans, follow this: https://developer.yammer.com/authentication/#a-testtoken - you'll need to be logged in as the bot while you approve/authorize your new app.

That email server...

We use smtp.com, authenticated. That's all it's written to support, authenticated, ssl, smtp.com. If you want it to be anon or something else, go ahead and add support for that.

How we run it

Azure WebJobs! We configure an Azure WebJob to "Run Continuously" and the interval between polls is controlled by adjusting the SleepInterval config. Note, Azure Website Configure AppSettings will over-ride the AppSettings in the app.config, so you can simply change it in the web portal (also note, that seems to abort all running webjobs... just an observation).

Update [2014-03-28]: Recently noticed that our WebJob would Abort every now and then, wouldn't come back until we logged in. Documentation states that to Run Continuously, you need AlwaysOn, which requires a Standard website (it was on a Free site). Scaled up and enabled AlwaysOn. So far, so good.

You can’t perform that action at this time.