Drupal Notifier - desktop notification app for Mac

As a part of learning desktop software development I had an idea to bring updates from a Drupal website to the desktop. There have been successful attempts in past to update oneself for updates (like new comments, new content, etc.) from their websites, via e-mail, twitter, etc., but nothing for the desktop.

Initially, I worked on the notifier using Python and Qt framework, however, Cocoa turned out to be more interesting. The current implementation of the notifier is made in Cocoa, which means it'll work only on Mac OS X. I have a working PyQt version too, but it's at a buggy state as I didn't dedicate much time to it. I'll work on the PyQt version sometime soon, so that the Drupal Notifier is well received by Linux and Windows users as well. Smile

This notifier is much generic already to be adopted by other web CMSs supporting XMLRPC protocol. However, I still labelled it with the word "Drupal". Angel

So again, What's Drupal Notifier?

Drupal Notifier sits in your system menu bar. When properly configured, it notifies you for updates received from your Drupal based website. Version 0.1 only notifies for unapproved comments.

Source code for Drupal Notifier (and not the app itself) is GNU GPL licensed and is available at http://github.com/Gurpartap/drupal-notifier.

Screencast demonstrating Drupal Notifier:



Requirements

Instructions

  • Install and enable the Desktop Notify module on your website.
  • Make sure Growl is installed on your Mac.
  • Launch Drupal Notifier app and set the website details.
  • The user being entered must have administer comments permission.

Pending features

  • Save password to keychain

    Currently the password is saved directly in the preferences file. It should however be maintained by Mac's keychain.

  • Auto startup at login

    Although you can still add the app to launch at login manually, yet the application should handle it by itself.

  • Type of update notification

    Currently, the desktop_notify module only supplies unapproved comment count, and even the app only supports it. The user should, however, be able to choose the kind of updates they want. Either using views, or custom db queries, or preset of some expected things.

  • Handle multiple websites

    I expect a lot of requests to come for this feature.

Known Issues

  • If you cancel website details form without filling anything, it'll still say that you are signed in. boo, don't worry.
  • You must press "Check now" button to reflect some changes that you might have made in preferences. uhuh, i'm lazy

Report problems

  • Discuss in the comments Joking
  • If there's a security issue, or something you would like to converse about in private, contact me.

Much gratitude to Steve Mckenzie, and Psy| & tomasf on #macdev Wink

booooooooooooooooooooyaaaaaaaaaaaaaaaaaaaaaaaa! Joking Joking Joking

Download Drupal Notifier:

25 Comments

Awesome brother Keep up the

Awesome brother Smile Keep up the good work .. If ported for Linux I believe it wil be the default notification for all the Linux system except Ubuntu Tongue

Keep up the good work. Hoping I'll start python work soon Wink

Notifications Framework!

Hi, This sounds like great work but why did you not simply create a new transport for the existing notifications framework? If a site owner want to give users a choice between desktop and any other sort of notifications, this would need to be set in two places, confusing the user.

Take a look at http://drupal.org/project/notifications

Oh! Forgot it!

That's where desktop_notify module was kind of heading; except being so abstract. I just didn't have Notifications in mind!

I'll look into it and see how can it fulfill our needs.

Browser plugin

IMHO, desktop applications are more and more targeting the user's browser. While this certainly rocks (!), starting to implement this as a browser add-on would make more sense to me.

Thereby, your widget could target all (f.e.) Firefox users on all platforms. When that works, remove the hard dependency on Firefox and replace it with a browser plugin API, so we would have 1 browser plugin that is able to interact with X Drupal widgets.

Browser Plugin API?

Shouldn't it be Notifications framework to be put to use, instead? It would be quite a different approach for notification within the browser, maybe just a current comment count, rather than being on the desktop as a balloon notification; but I hear that, makes sense, something that's also easily cross platform compatible.

---

I like the idea of a desktop application because it doesn't require I have a browser window open to get notifications.
I agree that having a desktop application you need to create an application for each platform, but it is also true that you should need to create a plugin for each browser too.

This looks great! thanks!!

This looks great!
thanks!!

awesome

Hi bro
this looks awesome .. I am looking forward to more desktop apps with drupal Thumb Up one good way to do apps is use of services API ... what you are using here to communicate with drupal ?? Thinking

anyways this is so cool Cool

Services module

While services module is certainly the way to go, Drupal Notifier's requirements were fairly simple to use core's XMLRPC handling (just verifying user details and returning unapproved comments count). Services module is likely to be used in conjugate with some special purpose application.

I myself hope to see more desktop applications build around and for Drupal!

There's already a Growl

There's already a Growl notification module for Drupal, though it doesn't seem to be quite as polished:
http://drupal.org/project/growl

Perhaps consider proposing a merge with its maintainer.

And, I'm sorry, but these smilies are full of fail…

Growl module

Did you not read the module's description? It works only for locally installed websites, unless you tunnel messages from server to the client (probably by hacking the module itself), kinda the purpose Drupal Notifier is already solving but in a favorable fashion.

Thanks for the concern anyhow. Oh and for the kind words Joking Thumb Up

I love the idea of a desktop

I love the idea of a desktop application. Why does everything have to be fed through a browser? I want something that runs in the background - something small.

I am *very* interested in seeing this expanded to handle multiple (unlimited) sites.

Being able to get notifications via custom views would be *amazing*. You might consider bundling a couple with the module to get people started.

It looks like the lowest notification time lapse setting is 5 minutes. Can you make that lower - say 30 seconds?

I am a bit worried that there will be quite a few Growl notifications showing up on busy sites and Growl messages tend to disappear rather quickly. I am wondering if a little window with a log of activity might be better? I know, I'm bordering on recreating the recent activity log, but it would be great to have place to go to see the activity on all of the sites I manage -- some food for thought.

Again, thanks for this module. I am always looking for desktop software for monitoring Drupal sites.

Tweetdeck

Per your future enhancement to be able pull the notifications from Views and my preference to have a log the messages append to a log, it would be *great* to have a client that looks like TweetDeck.

Every column could be mapped to a view. You would be able to purge each column independently, just like TweetDeck.

To take it one step further, the app would also allow us to have multiple dashboards which would map to different sites.

Here's a screenshot featuring 3 columns (views).
http://www.softpedia.com/screenshots/TweetDeck_1.png

Is this something that you're interested in moving towards?

I installed the module and

I installed the module and client app set for a 5 minute refresh. I have one comment that is "unapproved". I never get a notification about the unapproved comment. Instead, I get a growl about a bad login attempt (which did happen).

Added to

Added to DrupalSightings.com

Very nice

Very nice module, looking forward to a windows version! Eat

great idea for a notifier,

great idea for a notifier, but i could not find any files on drupal.org. did you remove them?

Available in CVS

It was available at http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/desktop_not...

I should have made a normal release for everyone to be able to try. Which I have done now. the 6.x-1.x-dev should work with Drupal 5 as well.

The release will be available at http://drupal.org/node/427516 as soon as next CVS packaging for dev releases begins.

Currently, Ubuntu support

Currently, Ubuntu support such noptification framework... so, why don't port this app to Linux...

or opensourcing it? Joking

Authentication

Thanks so much for this, it fantastic! Thumb Up

I'd just like to put in a request for HTTP Authentication support. My main development server requires authentication to get it, and unfortunately, this doesn't seem to be supported yet.

Are you thinking of open-sourcing this app, so we can help develop it?

Aha

Source code is already available. Tongue

http://github.com/Gurpartap/drupal-notifier

The code over there has a lot more improvements planned and will probably not work since it's in development for the next release. Actual notifications part isn't working yet. It'll support Notifications Framework module to get notifications and behave like an "inbox" to list last x notifications, etc. But I don't know when it'll be completed. I'm not able to put time. Up to the community for now. I'll surely add HTTP authentication when I sit to work on it.

You can find version 0.1's source in git history, which works exactly how it shows in the video above.

Thanks!

That must have been a nice

That must have been a nice app with good features. Going to try in my mac system.

Thank you

Thank you Wink

windose

hi, are there any plans for this to work on windows?

keep up the great work!

Stan Thumb Up

Nothing for Windows yet

Shouldn't be a difficult thing, to create a Windows version, for whoever is familiar with .net or even just Qt, but the argument is who's interested. MacBook

Post new comment

Smileys
:);):P*JOKINGLY*8)8-|:(:O(pl)]:<O:)<:o):thinking(Y)
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <del> <code> <ul> <ol> <li> <small> <br> <img> <h2> <h3> <h4>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • Textual smileys will be replaced with graphical ones.

More information about formatting options