From Fedora Project Wiki

Revision as of 22:40, 8 August 2010 by Jmlevick (talk | contribs) (Added an introduction to the project and a some directions for the users that might want to help, also the active contributors were listed at the end)

Project Name
Till now there's no official name. However, a redirect page called hermes has been created to preserve a name for the project.

Prologue/Introduction

Given the circunstances of the Update Bug in Fedora 13 (Please refer to: http://lists.fedoraproject.org/pipermail/announce/2010-July/002843.html) A new idea was born: HERMES. This project aims to build a "Notifier App" for Fedora News wich helps the final user to be awared of important announcements about the Fedora World like the Update Bug One, this because we know that active Fedora Members often visit the Fedora Project site and well, they can read about this kind of news, but let's think about the "Normal Users" Those who asked a friend to install Fedora in their computers, those who only use Fedora as a normal software, those who are not involved in the Fedora Proyect Community and because of that never visit the Project's Webpage because they actually don't really care about what's happening there.

This concern gave us the idea to build Hermes, a Fedora News Notification System. If we include this kind of attention/service into our Distribution we're in the way of becoming Fedora something more that a simple group of software created with one propouse, we're becoming fedora an intelligent enviroment powered by it's users and community. Hermes is looking into becoming a Next Generation Feature for Fedora.

The Reason

A large number of Fedora users don't read the Fedora wiki & websites, thus, they miss important news, tips & notifications.

The Concept

A simple application that reads a multilanguage web feed & post a new notification to the system using a D-Bus notifications system.

Prototypes

Python D-Bus Notifications Example

This is a simple Python application to post a notification to the system D-Bus notifications system:

import dbus
bus = dbus.SessionBus()
notifications = bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications')
interface = dbus.Interface(notifications, 'org.freedesktop.Notifications')
id = 4856
timeout = 2500
interface.Notify('name',id,'','summary','body','','',timeout)

RSS Feed Python Reader Example

A cool tutorial from http://www.learningpython.com/2006/01/14/rss-reader-part-one/ teach how to create a simple Python application to read any RSS feed (I tweaked the script a bit little).

import urllib2
from xml.dom import minidom, Node
xmldoc = minidom.parse(urllib2.urlopen('https://fedoraproject.org/w/index.php?title=Special:RecentChanges&feed=rss'))
if (xmldoc):
	rootNode = xmldoc.documentElement
	for node in rootNode.childNodes:
		if node.nodeName == "channel":
			rootNode = node
			break
	for node in rootNode.childNodes:
		if (node.nodeName == "item"):
			for item_node in node.childNodes:
				if (item_node.nodeName == "title"):
					title = ""
					for text_node in item_node.childNodes:
						if (text_node.nodeType == node.TEXT_NODE):
							title += text_node.nodeValue
					if (len(title)>0):
						print title
					if (item_node.nodeName == "description"):
					description = ""
					for text_node in item_node.childNodes:
						if (text_node.nodeType == node.TEXT_NODE):
							description += text_node.nodeValue
					if (len(description)>0):
						print description + "\n"
else:
	print "Error getting XML document!"

Benefit to Fedora

More interaction from the users and the community, with this, they keep in touch with Fedora.

¿How can I Help?

In order to Help the Hermes Project, please Join us in the Conversation at Google Wave:

http://links-box.appspot.com/fedorahermes/wave

¿Who's Helping?

Manuel Escudero

Mahmoud Abdul Jawad