grim/guifications3

a ton of documentation updates, lots more to come
org.guifications.gf3
2009-08-31, Gary Kramlich
f46a1ec661c1
Parents 5937f0371791
Children af7127b96018
a ton of documentation updates, lots more to come
--- a/docs/specification/Makefile Sun Aug 30 14:20:08 2009 -0500
+++ b/docs/specification/Makefile Mon Aug 31 21:39:05 2009 -0500
@@ -11,13 +11,15 @@
BOOK_SOURCES=\
xml/about.xml \
+ xml/abstract.xml \
xml/gf_spec.xml \
xml/communication.xml
DIGRAPHS=\
- graphs/abstract.digraph \
- graphs/growl.digraph \
- graphs/libnotify.digraph
+ graphs/abstract_gf3_complex.digraph \
+ graphs/abstract_growl.digraph \
+ graphs/abstract_libnotify.digraph \
+ graphs/communication_gf3_dbus_example.digraph
GRAPHS=$(DIGRAPHS:%.digraph=%.png)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/specification/graphs/abstract_gf3_complex.digraph Mon Aug 31 21:39:05 2009 -0500
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<digraph>
+ <!-- devices -->
+ <objects color="powderblue" shape="box" style="filled,rounded">
+ <object name="d_cell_phone" label="Cell Phone" color="lightpink"/>
+ <object name="d_laptop" label="Laptop"/>
+ <object name="d_server" label="Server"/>
+ <object name="d_workstation" label="Workstation"/>
+ </objects>
+
+ <!-- applications -->
+ <objects color="palegreen" shape="note" style="filled">
+ <object name="a_laptop_battery_monitor" label="Battery Monitor"/>
+ <object name="a_laptop_browser" label="Web Browser"/>
+ <object name="a_laptop_chat" label="Chat"/>
+
+ <object name="a_workstation_browser" label="Web Browser"/>
+ <object name="a_workstation_chat" label="Chat"/>
+ <object name="a_workstation_email" label="E-Mail"/>
+
+ <object name="a_server_file_monitor" label="File Monitor"/>
+ <object name="a_server_ids" label="IDS"/>
+ <object name="a_server_syslog" label="System Logger"/>
+ </objects>
+
+ <!-- notifiers -->
+ <objects color="lightyellow" shape="component" style="filled">
+ <object name="n_email" label="E-Mail"/>
+ <object name="n_popup" label="Graphical Notification"/>
+ <object name="n_sms" label="SMS"/>
+ </objects>
+
+ <relations>
+ <!-- device relations -->
+ <relation start="d_laptop" end="d_server"/>
+ <relation start="d_laptop" end="d_workstation"/>
+
+ <relation start="d_server" end="d_laptop"/>
+ <relation start="d_server" end="d_workstation"/>
+
+ <relation start="d_workstation" end="d_laptop"/>
+ <relation start="d_workstation" end="d_server"/>
+
+ <!-- application relations -->
+ <relation start="a_workstation_browser" end="d_workstation"/>
+ <relation start="a_workstation_chat" end="d_workstation"/>
+ <relation start="a_workstation_email" end="d_workstation"/>
+
+ <relation start="a_laptop_battery_monitor" end="d_laptop"/>
+ <relation start="a_laptop_browser" end="d_laptop"/>
+ <relation start="a_laptop_chat" end="d_laptop"/>
+
+ <relation start="a_server_ids" end="d_server"/>
+ <relation start="a_server_syslog" end="d_server"/>
+ <relation start="a_server_file_monitor" end="d_server"/>
+
+ <!-- notifier relations -->
+ <relation start="d_workstation" end="n_email"/>
+ <relation start="d_workstation" end="n_popup"/>
+ <relation start="d_workstation" end="n_sms"/>
+
+ <relation start="d_laptop" end="n_email"/>
+ <relation start="d_laptop" end="n_popup"/>
+
+ <relation start="d_server" end="n_email"/>
+ <relation start="d_server" end="n_sms"/>
+
+ <!-- notifier device relations -->
+ <relation start="n_sms" end="d_cell_phone"/>
+ </relations>
+</digraph>
+
--- a/docs/specification/graphs/abstract_growl.digraph Sun Aug 30 14:20:08 2009 -0500
+++ b/docs/specification/graphs/abstract_growl.digraph Mon Aug 31 21:39:05 2009 -0500
@@ -3,6 +3,7 @@
<objects color="powderblue" shape="box" style="filled,rounded">
<object name="d_workstation" label="Workstation\ngrowl"/>
<object name="d_server" label="Server\ngrowl"/>
+ <object name="d_cell_phone" label="Cell Phone" color="lightpink"/>
</objects>
<objects color="palegreen" shape="note" style="filled">
<object name="a_browser" label="Web Browser"/>
@@ -38,6 +39,9 @@
<relation start="d_workstation" end="n_popup"/>
<relation start="d_workstation" end="n_sms"/>
<relation start="d_workstation" end="n_tts"/>
+
+ <!-- notification to devices -->
+ <relation start="n_sms" end="d_cell_phone"/>
</relations>
</digraph>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/specification/graphs/communication_gf3_dbus_example.digraph Mon Aug 31 21:39:05 2009 -0500
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<digraph>
+ <objects color="powderblue" shape="box" style="filled,rounded">
+ <object name="d_workstation" label="Workstation"/>
+ </objects>
+ <objects color="palegreen" shape="note" style="filled">
+ <object name="a_chat" label="Chat"/>
+ </objects>
+ <objects color="lightyellow" shape="component" style="filled">
+ <object name="n_popup" label="Graphical Notification"/>
+ </objects>
+ <relations>
+ <!-- applications -->
+ <relation start="a_chat" end="d_workstation"/>
+
+ <!-- notifications -->
+ <relation start="d_workstation" end="n_popup"/>
+ </relations>
+</digraph>
+
--- a/docs/specification/graphs/gf3_complex_abstract.digraph Sun Aug 30 14:20:08 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<digraph>
- <!-- devices -->
- <objects color="powderblue" shape="box" style="filled,rounded">
- <object name="d_cell_phone" label="Cell Phone" color="lightpink"/>
- <object name="d_laptop" label="Laptop"/>
- <object name="d_server" label="Server"/>
- <object name="d_workstation" label="Workstation"/>
- </objects>
-
- <!-- applications -->
- <objects color="palegreen" shape="note" style="filled">
- <object name="a_laptop_battery_monitor" label="Battery Monitor"/>
- <object name="a_laptop_browser" label="Web Browser"/>
- <object name="a_laptop_chat" label="Chat"/>
-
- <object name="a_workstation_browser" label="Web Browser"/>
- <object name="a_workstation_chat" label="Chat"/>
- <object name="a_workstation_email" label="E-Mail"/>
-
- <object name="a_server_file_monitor" label="File Monitor"/>
- <object name="a_server_ids" label="IDS"/>
- <object name="a_server_syslog" label="System Logger"/>
- </objects>
-
- <!-- notifiers -->
- <objects color="lightyellow" shape="component" style="filled">
- <object name="n_email" label="E-Mail"/>
- <object name="n_popup" label="Graphical Notification"/>
- <object name="n_sms" label="SMS"/>
- </objects>
-
- <relations>
- <!-- device relations -->
- <relation start="d_laptop" end="d_server"/>
- <relation start="d_laptop" end="d_workstation"/>
-
- <relation start="d_server" end="d_laptop"/>
- <relation start="d_server" end="d_workstation"/>
-
- <relation start="d_workstation" end="d_laptop"/>
- <relation start="d_workstation" end="d_server"/>
-
- <!-- application relations -->
- <relation start="a_workstation_browser" end="d_workstation"/>
- <relation start="a_workstation_chat" end="d_workstation"/>
- <relation start="a_workstation_email" end="d_workstation"/>
-
- <relation start="a_laptop_battery_monitor" end="d_laptop"/>
- <relation start="a_laptop_browser" end="d_laptop"/>
- <relation start="a_laptop_chat" end="d_laptop"/>
-
- <relation start="a_server_ids" end="d_server"/>
- <relation start="a_server_syslog" end="d_server"/>
- <relation start="a_server_file_monitor" end="d_server"/>
-
- <!-- notifier relations -->
- <relation start="d_workstation" end="n_email"/>
- <relation start="d_workstation" end="n_popup"/>
- <relation start="d_workstation" end="n_sms"/>
-
- <relation start="d_laptop" end="n_email"/>
- <relation start="d_laptop" end="n_popup"/>
-
- <relation start="d_server" end="n_email"/>
- <relation start="d_server" end="n_sms"/>
-
- <!-- notifier device relations -->
- <relation start="n_sms" end="d_cell_phone"/>
- </relations>
-</digraph>
-
--- a/docs/specification/sheets/gf_spec.xsl Sun Aug 30 14:20:08 2009 -0500
+++ b/docs/specification/sheets/gf_spec.xsl Mon Aug 31 21:39:05 2009 -0500
@@ -5,9 +5,12 @@
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
<!-- change some parameters -->
+ <xsl:param name="annotate.toc" select="1"/>
<xsl:param name="chunker.ouput.indent" select="'yes'"/>
+ <xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
+ <xsl:param name="generate.toc" select="'appendix toc,title book toc,title chapter toc,title'"/>
<xsl:param name="html.ext" select="'.html'"/>
- <xsl:param name="refentry.generate.name" select="0"/>
- <xsl:param name="refentry.generate.title" select="1"/>
+ <xsl:param name="id.warnings" select="1"/>
+ <xsl:param name="toc.max.depth" select="1"/>
<xsl:param name="use.id.as.filename" select="1"/>
</xsl:stylesheet>
--- a/docs/specification/xml/about.xml Sun Aug 30 14:20:08 2009 -0500
+++ b/docs/specification/xml/about.xml Mon Aug 31 21:39:05 2009 -0500
@@ -5,18 +5,18 @@
<title>About</title>
<para>
- Guifications 3 is a framework for integrating a powerful notifiation
+ Guifications 3 is a framework for integrating a powerful notification
system into absolutely anything. The initial idea was started by
Gary Kramlich in 2003 when he first wrote the guifications plugin
for Pidgin (Gaim at the time). The idea has slowly been designed in
- his head this document is meant to describe it on both a high and mid
- level for everyone else.
+ his head and this document is meant to describe it on both a high and
+ middle level for everyone else.
</para>
<para>
Theres been quite a bit of flux in exactly what the Guifications
framework is designed to do. Which is one of the many reasons why it
- has taken so long to actually document it. The again I just don't
+ has taken so long to actually document it. Then again I just don't
really enjoy documenting stuff, so choose which ever option suites you
best.
</para>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/specification/xml/abstract.xml Mon Aug 31 21:39:05 2009 -0500
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<chapter id="abstract">
+ <title>Abstract</title>
+
+ <para>
+ This document starts by looking at existing notification systems
+ (Notification Daemon and Growl) and compares them to Guifications.
+ </para>
+
+ <simplesect id="abstract_libnotify">
+ <title>Notification Daemon</title>
+
+ <figure id="abstract-libnotify-digraph">
+ <title>Notification Daemon Overview</title>
+
+ <graphic fileref="graphs/abstract_libnotify.png"/>
+ </figure>
+ </simplesect>
+
+ <simplesect id="abstract_growl">
+ <title>Growl</title>
+
+ <figure id="abstract-growl-digraph">
+ <title>Growl Overview</title>
+
+ <graphic fileref="graphs/abstract_growl.png"/>
+ </figure>
+ </simplesect>
+
+ <simplesect id="abstract_guifications">
+ <title>Guifications</title>
+
+ <figure id="abstract-gf3-complex-overview">
+ <title>Guifications Complex Overview</title>
+
+ <graphic fileref="graphs/abstract_gf3_complex.png"/>
+ </figure>
+ </simplesect>
+</chapter>
+
--- a/docs/specification/xml/communication.xml Sun Aug 30 14:20:08 2009 -0500
+++ b/docs/specification/xml/communication.xml Mon Aug 31 21:39:05 2009 -0500
@@ -12,8 +12,28 @@
<title>Communication Overview</title>
<para>
- Guifications using the typical client/server model for
- communication. However, there are a few
+ Guifications uses the typical client/server model for
+ communication. However, there are a few notable differences.
</para>
+
+ <simplesect id="communication-Abstraction">
+ <title>Abstraction</title>
+
+ <para>
+ All communication in Guifications is abstracted. This is
+ accomplished by the use of plugins that will create client
+ and server objects that do the actual communicating. These
+ objects are nothing more than GLib objects that descend from
+ the specific ones in Guifications. They serialize the data for
+ transportation across the communication method.
+ </para>
+
+ <para>
+ A quick example may help to explain this. In the gflib-dbus
+ plugin, objects are exported by the server onto the users
+ session bus. The client then talks to the exposed objects via
+ the api exposed in gflib.
+ </para>
+ </simplesect>
</refsect1>
</refentry>