Warning: Can't synchronize with the repository (Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.

Changes between Version 8 and Version 9 of Developers

Show
Ignore:
Timestamp:
03/15/09 01:34:52 (18 months ago)
Author:
msfrank
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Developers

    v8 v9  
    22= Developer Documentation = 
    33 
     4=== Getting Started === 
     5 
    46The first thing a new developer will likely want to do is grab the latest version of Higgins and build it; for these instructions see the [wiki:BuildingFromSource] page.  After getting it installed, try getting a feel for how Higgins works by reading some of the [wiki:Users user documentation]. 
    57 
     8=== Getting Deeper === 
     9 
     10The [wiki:ServerArchitecture server architecture] page gives a high level description of Higgins, including links to code documentation extracted using pydoc.  For an overview of how plugins work in Higgins, read the [wiki:AnatomyOfAPlugin] page. 
     11 
     12=== Getting Involved === 
     13 
    614There is a google group for discussing higgins development: [http://groups.google.com/group/higgins-developers higgins-developers@googlegroups.com].  Note that user questions will not be answered on this list. 
    7  
    8 == Architecture == 
    9  
    10 At the highest level, Higgins is logically divided into ''core'' and ''plugins''.  Core is mostly low-level infrastructure needed to support the plugins, which do all of the really interesting stuff. 
    11  
    12 === Core === 
    13  
    14 || '''Package''' || '''Description'''                                                 || 
    15 || higgins       || application startup, plugin loading, settings management, logging || 
    16 || higgins.core  || web interface, database management                                || 
    17 || higgins.data  || static data (CSS, django templates)                               || 
    18 || higgins.netif || functions for getting information about network interfaces        || 
    19 || higgins.upnp  || UPnP infrastructure, SOAP parsing                                 || 
    20  
    21 === Plugins === 
    22  
    23 Higgins supports multiple types of plugins.  In order to create a plugin, you subclass from the appropriate Higgins class.  Currently the following classes can be subclassed to create a plugin: 
    24  
    25 || '''Base class'''                       || '''Description''' 
    26 || higgins.core.configurator.Configurator || Provides a declarative interface to manage settings   || 
    27 || higgins.service.Service                || Provides a simple interface to do work asynchronously || 
    28 || higgins.upnp.device.Device             || Provides an interface to describe a UPnP device       || 
    29  
    30 For an overview of how plugins work in Higgins, read the [wiki:AnatomyOfAPlugin] page.