incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Update of "ChatterbotProposal" by DonaldWhytock
Date Mon, 01 Mar 2010 11:41:28 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "ChatterbotProposal" page has been changed by DonaldWhytock.
http://wiki.apache.org/incubator/ChatterbotProposal?action=diff&rev1=1&rev2=2

--------------------------------------------------

  
  Version 0.2 of the server was then refined in 2008 to allow for more varied and functional
message-handlers, and was used to implement a room system that allowed for room-specific applications
-- parsers that checked the user's room before handling a command and sent responses to other
room occupants.  This version was structured entirely around XMPP.  The global namespace was
introduced to allow modules to communicate with relatively limited coupling.
  
- The current version, 0.3, as of late 2009, functions with XMPP and has the capacity to function
with whatever other protocols channels are coded for.  Applications built using 0.2 are being
ported to 0.3.  At this point the original thin-server backend intended in 0.1 would be built
as an application using 0.3.
+ Version, 0.3, as of late 2009, functions with XMPP and has the capacity to function with
whatever other protocols channels are coded for.  V0.3, though, uses a custom shell, with
rudimentary module lifecycle capability.
+ 
+ This proposal introduces version 0.4, to be based on OSGi for module lifecycle management
and event-driven module synchronization.  Applications originally built for v0.2 will be ported
to v0.4.
  
  = Current Status =
  
@@ -45, +47 @@

  
  == Alignment ==
  
- ChatterBot's primary potential alignment with ASF is that of a framework for internet-accessible
applications.  At its core, it is largely free of outside dependencies, though modules can
be built to utilize other technologies.  Embedded Derby is used in one application; use of
Derby and/or ORM should be explored as a base capability.
+ ChatterBot's primary potential alignment with ASF is that of a framework for internet-accessible
applications.  As command parsers can be built to interface with other applications, ChatterBot
can be employed as a general-purpose remote console operating over instant messages.
+ 
+ ASF projects we anticipate using in ChatterBot include:
+ 
+  * Felix: to replace the v0.3 Shell as a module lifecycle management framework
+  * UIMA: to aid in parsing/analyzing messages, either in individual command parsers or in
the parser dispatcher
  
  = Initial Goals =
  
- ChatterBot currently exists as a functioning prototype; protocol modules built for it provide
access to chat responders via XMPP/Jabber, localhost connections and a chat-simulating console.
 Further development is to consist of refinement of the core classes and expansion of the
secondary modules.
+ ChatterBot v0.3 exists as a functioning prototype, but does not conform to existing standards
in many areas, and needs expansion in its functionality.  To this end, the project recognizes
the following goals:
  
+  * Conversion to Apache Felix as a core framework.  This will replace the existing Shell
and affect all other modules.
+  * Proposal of a standard for chat-protocol handlers, independent of ChatterBot's specific
needs.
+  * Development of handlers for multiple chat protocols, compliant with the proposed standard,
for use by ChatterBot.
+  * Identification/development and assembly of tools useful for parsing, interpreting and
processing text commands.
- == Core Classes ==
- 
-  * Shell: The main-method class, used to launch the application.
-    * Potential refinements: re-entrance, clean shutdown, restart
-  * Listable: The foundation class for the global namespace.
-    * Potential refinements: configuration file format, persistence
-  * Module: The interface for all modules loaded by Shell.
-    * Potential refinements: restart, shutdown
-  * Channel: The interface for protocol handlers that accept incoming and outgoing messages.
-    * Potential refinements: an interface for relaying XML/HTML data within messages
-  * Listener: The driving module that routes messages to Parsers.  Maintains a list of Parsers,
submitting an incoming message to each Parser in turn until a Parser indicates successful
handling.
-  * Parser: The abstract class for message-parsing modules.
-    * Potential refinements: built-in parsing/tokenization, persistence
-  * Sender: The module that routes outbound messages from Parsers to Channels.
-    * Potential refinements: time-delayed messages, in-system messages
- 
- == Secondary Modules ==
- 
-  * XMPP``Channel: Extends Channel; protocol handler for XMPP.
-  * Localhost``Channel: Extends Channel; handler for localhost connections with other processes.
-  * Console``Channel: Extends Channel; supplies a simple Swing console for entering messages
and receiving responses.
-  * INI``Parser: Extends Parser, allows examination and manipulation of the global namespace.
- 
- New modules should be developed to add optional functionality.  In particular, new Channels
should be developed for AIM, YM, MSN, etc.  Other potential modules include:
- 
-  * System``Parser: Extends Parser, allows dynamic activation and de-activation of modules.
-  * File``Xfer``Parser: Extends Parser; implements file transfer between client and ChatterBot's
host.  Will require refinement of Channel and protocol-specific extensions of Channel.
-  * DB: A database interface.  One application built using ChatterBot currently uses embedded
Derby as its interface, preserving server non-dependence.
-  * Room``Parser: Extends Parser; implements chatrooms, relaying messages among users in
a room and allowing room-specific applications.
  
  = Known Risks =
  
  == Orphaned Products ==
  
- Currently the project has only one committer, though Donald Whytock has been working on
the code for a few years and is committed to seeing a functional product available.
+ Currently the project has only two committers, though Donald Whytock has been working on
the code for a few years and is committed to seeing a functional product available.
  
  == Inexperience with Open Source ==
  
@@ -116, +98 @@

  
  = Initial Committers =
  
+  * Christopher Brind (brindy at brindy dot org dot uk)
- Donald Whytock (dwhytock at gmail dot com)
+  * Donald Whytock (dwhytock at gmail dot com)
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message