No edit summary |
m (internal link cleaning) |
||
(16 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{admon/tip|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.}} | {{admon/tip|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 Project 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 on the way to becoming Fedora, something more than a simple group of software created with one purpose; we're becoming Fedora, an intelligent enviroment powered by its users and community. Hermes is looking into becoming a Next Generation Feature for Fedora. | |||
== The Reason == | == The Reason == | ||
A large number of Fedora users don't read the Fedora wiki & websites, thus, they miss important tips & notifications. | A large number of Fedora users don't read the Fedora wiki & websites, thus, they miss important news, tips & notifications. | ||
== The Concept == | == The Concept == | ||
A simple application that reads a multilanguage web feed & post a new notification to the system D-Bus notifications system. | A simple application that reads a multilanguage web feed & post a new notification to the system using a D-Bus notifications system. | ||
== Prototypes == | |||
=== Early Versions === | |||
A git repository have been made to implement all the ideas we gathered in the last days. | |||
You can check it through gitweb, using this link: <code>http://fedorapeople.org/gitweb?p=megenius/public_git/fns.git;a=summary</code> | |||
Or, you can clone it from: <code>git://fedorapeople.org/megenius/fns.git</code> | |||
Please change the <code>last_check</code> file value to an earlier date, so you can get some notifications. & don't forget to make it writeable by the world. | |||
== | ==== Todo ==== | ||
* Find a sufficient way to keep the user in touch with those notifications. | |||
* Add more interaction to the notifications. | |||
* Decide when and how the application should start checking for notifications. | |||
=== Python D-Bus Notifications Example === | === Python D-Bus Notifications Example === | ||
Line 19: | Line 35: | ||
interface.Notify('name',id,'','summary','body','','',timeout) | interface.Notify('name',id,'','summary','body','','',timeout) | ||
</pre> | </pre> | ||
=== RSS Feed Python Reader Example === | |||
A cool tutorial from <code>http://www.learningpython.com/2006/01/14/rss-reader-part-one/</code> teach how to create a simple Python application to read any RSS feed (I tweaked the script a bit little). | |||
<pre> | |||
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!" | |||
</pre> | |||
== Benefit to Fedora == | |||
More interaction from the users and the community. With this, they keep in touch with Fedora. | |||
== How can I Help? == | |||
If you want to be fully informed read the thread were hermes born: | |||
http://lists.fedoraproject.org/pipermail/ambassadors/2010-August/015238.html | |||
In order to Help the Hermes Project, please Join us in the Conversation at Google Wave: | |||
http://links-box.appspot.com/fedorahermes/wave | |||
Or in case you don't have a Google Wave account, please talk to one of the project team using IRC, on freenode channel #fedora-ambassadors | |||
Also, we're posting in the fedora-devel Mailing List, if you're interested in the project, suscribe to this list please: | |||
[https://admin.fedoraproject.org/mailman/listinfo/devel Developer's Mailing List] | |||
(Our thread is titled: "Fedora Notifications System") | |||
== Who's Helping? == | |||
If you're helping to make this true, please put yourself below: | |||
[[User:Jmlevick|Manuel Escudero]] | |||
[[User:Megenius|Mahmoud Abdul Jawad]] |
Latest revision as of 21:45, 17 September 2016
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 Project 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 on the way to becoming Fedora, something more than a simple group of software created with one purpose; we're becoming Fedora, an intelligent enviroment powered by its 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
Early Versions
A git repository have been made to implement all the ideas we gathered in the last days.
You can check it through gitweb, using this link: http://fedorapeople.org/gitweb?p=megenius/public_git/fns.git;a=summary
Or, you can clone it from: git://fedorapeople.org/megenius/fns.git
Please change the last_check
file value to an earlier date, so you can get some notifications. & don't forget to make it writeable by the world.
Todo
- Find a sufficient way to keep the user in touch with those notifications.
- Add more interaction to the notifications.
- Decide when and how the application should start checking for notifications.
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?
If you want to be fully informed read the thread were hermes born:
http://lists.fedoraproject.org/pipermail/ambassadors/2010-August/015238.html
In order to Help the Hermes Project, please Join us in the Conversation at Google Wave:
http://links-box.appspot.com/fedorahermes/wave
Or in case you don't have a Google Wave account, please talk to one of the project team using IRC, on freenode channel #fedora-ambassadors
Also, we're posting in the fedora-devel Mailing List, if you're interested in the project, suscribe to this list please:
(Our thread is titled: "Fedora Notifications System")
Who's Helping?
If you're helping to make this true, please put yourself below: