Harvester Design
Michael Allan
mike at zelea.com
Tue Feb 28 15:11:23 EST 2012
Hey C,
Based on our talk today, here's an updated diagram for the talk
harvesting architecture.
(remote)
Administrator Reader Reader
| | |
| harvest | read | read
| | |
read V store V read V
Archive <------ Harvester -------> Cache <------ CacheWAP
|
| listen
|
V
Kicker
^
|
| trigger
|
Detector
Component Function
--------- -----------------------------------------
Archive Remote archive of discussion posts
Cache Store post locally for quick retrieval
CacheWAP Web API for remote reader of cache
Detector Detect new post in remote archive
Harvester Fetch post from remote archive
Kicker Relay detection of new post to listeners
Reader Old difference feed, new talk track, etc.
> I don't understand what "local UI" is supposed to mean....
I changed it to Reader. The only local reader at present is the
CacheWAP, which in turn supports remote readers. But the design
allows for other local readers such as local UIs, analyzers or
multi-media aggregators.
> ... I see "Cache" as storage and (web) API for information
> retrieval. The "Cache" will only hold DiffMessages, not the complete
> communications stream.
By Cache I mean the local source of the communication stream for the
readers. I called it a "cache" in order to emphasize that it contains
no original data, only a summary of the remote archive. But we can
rename it if you like. Next steps, if you agree:
1. Redact the diagram above and put it in the Javadocs with links to
the namesake classes and other docs (below).
2. Draft the Javadoc API for the various components beginning with
those most pointed at by arrows:
a) Cache
b) Kicker
c) CacheWAP (Javadoc documenting the web API)
3. Document the configuration of the Pipermail harvester. The
various harvesters should have similar forms of configuration,
but this cannot be required. There are two major parts to the
configuration:
a) User configuration in pollwiki, such as archive location
b) Administrative configuration on server
4. Draft the command interface for the Pipermail harvester. Again
the various harvesters should have similar command interfaces,
but this cannot be required.
5. Code it.
Does that make sense? It's a lot of work! Let me know if you need a
hand with any of the pieces.
--
Michael Allan
Toronto, +1 416-699-9528
http://zelea.com/
conseo said:
> Hi M,
>
> > Can we roughly summarize the design in ASCII? We need an overview of
> > how it works at the very top level, maybe something like this:
> >
> >
> > local UI remote UI *
> >
> > | read | read
> >
> > V V
> > kick store read
> > Kicker ------> Harvester -------> Cache <----- CacheWAP
> >
> >
> > Component Function
> > --------- --------------------------------------
> > Kicker Detect new post in remote archive
> > Harvester Fetch post from remote archive
> > Cache Store post locally
> > CacheWAP Web API for remote reader of cache
> > UI Show post to user, e.g. in TalkTrack *
> >
> >
> > Is this correct? If not, please make necessary changes. Afterwards
> > I'll ask questions about the details.
> >
> >
> > * The talk track (a remote UI) is labeled 2 in this mockup:
> > http://zelea.com/project/votorola/s/gwt/stage/_/mock/home-1.xht
>
> I don't understand what "local UI" is supposed to mean. I see "Cache" as
> storage and (web) API for information retrieval. The "Cache" will only hold
> DiffMessages, not the complete communications stream.
>
> Besides that, the ASCII design matches my picture.
>
> conseo
More information about the Votorola
mailing list