|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to electronic publishing, more particularly
to information creation, management and publication of a type typically
performed by online services.
2. State of the Art
Online services (such as Compuserve, Genie. Prodigy, America Online, and
more recently e.World, among others) have become increasing popular as the
price of computers and modems has decreased. At the same time as media
attention has been directed toward the "information super-highway,"
particularly the Internet, subscription to and usage of online services of
all descriptions has continued to increase.
From the perspective of a computer user, online services have become easier
to use. Command-line interlaces have been replaced by front-end search
tools and graphical user interfaces. As with a play, however, much
"behind-the-scenes" work is involved in creating, managing and publishing
information to an online service.
Presently, information publishers take portions of their content in
whatever form they have it--typically a collection of files in the
publisher's filing system--and from that content produce directly a script
of some sort, for example in a scripting language such as Rainman Pro.
characterized by numerous embedded commands. Publishers have to manually
keep track of the ID numbers that they use on a particular host. The same
manual process is performed from scratch for each different service that
the publisher publishes on. Not only is there no one tool that can support
a publisher across each of a variety of platforms, but there does not
appear to be so much as a tool that can support a publisher on even a
single platform (i.e., America Online, Compuserve, Prodigy). The task is
left very much up to each publisher to construct an update script based on
various documents, following all of the rules of the applicable scripting
language, sometimes literally keeping a spiral notebook to keep track of
IDs used on various services.
Whatever tools may have been developed to facilitate the foregoing process
are generally custom, in-house tools. To the inventors's best knowledge,
there does not presently exist any general-purpose tool to allow an
information provider to easily create, manage and publish information to
an online service.
SUMMARY OF THE INVENTION
The present invention, generally speaking, provides a powerful yet easy to
use electronic publishing tool for information providers and online
service operators. The electronic publishing tool allows information
providers to manage the content they provide to online services. It also
reduces the effort required by operations staff of online services to
support a growing number of information providers. Finally, the electronic
publishing tool allows content to be captured from information providers
(and, by extension, subscribers) so that it can be published onto a
variety of platforms with minimal additional effort. For example
information, in addition to or in lieu of being published on an online
service, may be published on CD through a facility such as AppleLink CD
(AppleLink CD allows a portion of the "static" content of an online
service such as AppleLink to be published and distributed in CD form, with
the result that the content is infinitely reusable without incurring
connect charges. ) Furthermore, information previously published on one
online service may be published on one or more other online services, or
information may be published on several online services at the same time.
The electronic publishing tool is based on a modular server architecture.
It is intended for use by information providers and online services
operations staff, as a replacement for the various tools currently in use
such as IMAT-BB. In a preferred embodiment, the electronic publishing tool
uses an object-oriented, extensible representation of content and provides
an infrastructure for the storage of objects, synchronization of changes
to objects between an information provider and an online service, and
interfaces (gateways) to foreign systems such as another online service.
In practice, information providers will have one system running one version
of the electronic publishing tool at their site. That version will
communicate with another version of the electronic publishing tool system
run by a central service, such as an online service, which in turn will
publish onto various platforms.
A number of potentially "thorny" problems of distributed database systems
are solved in an elegant and efficient manner. The first issue involves
synchronizing different copies of an item on machines that are not
continuously linked at which each copy may be changed independently.
Rather than attempting to formulate a set of synchronization policies
generally applicable to all items in all instances, synchronization
policies are moved from the database engine to the items themselves. The
second issue involves lifetime--knowing, given a complex set of
interrelationship of items, when an item may be sally deleted. This
problem is addressed by providing an interested party mechanism whereby
items may "express interest" in each other. When no item is interested in
a particular item, that item may safely "go away."
The capabilities of the electronic publishing tool and how it supports the
publishing process, as well as the particular architecture of the
electronic publishing tool and its handling of distributed database issues
in accordance with a preferred embodiment of the invention, may be
understood from the following detailed description in conjunction with the
appended drawing.
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is a block diagram of an electronic publishing system incorporating
the electronic publishing tool of the present invention;
FIG. 2 is a diagram of a main folder display screen;
FIG. 3 is a diagram illustrating display of a text document with attached
file;
FIG. 4 is a diagram of a File menu display;
FIG. 5 is a diagram of an Edit menu display;
FIG. 6 is a diagram of an Info menu display;
FIG. 7 is a diagram of a Folder Content Into dialog box;
FIG. 8 is a diagram of a Reference Info dialog box;
FIG. 9 is a diagram of a Document Info dialog box;
FIG. 10 is a diagram of an Export Preferences dialog box;
FIG. 11 is a diagram of an Idle Sync Preferences dialog box:
FIG. 12 is a diagram of an Settings menu display available in a central
version of the electronic publishing tool;
FIG. 13 is a block diagram of the electronic publishing tool of FIG. 1;
FIG. 14 is a class hierarchy diagram of the electronic publishing tool of
FIG. 13; and
FIG. 15 is a diagram of "interested party" relationships in the electronic
publishing tool of FIG. 13.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
For convenience of description, the present invention will be described in
detail in relation to the Apple Macintosh computer system, its system
software, system software extensions, related applications including
AppleTalk Remote Access (ARA), and related program development software,
including MacApp. ARA is so-called "dial-in" software that provides access
to computer networks, file servers, electronic mail servicers, etc. MacApp
is a program development library for object-oriented programming. It
should be understood, however, that the invention is broadly applicable to
graphical, event-driven computer systems of all types as well as to
different operating environments and different graphical user interfaces
including, for example, X Windows. AUX, Microsoft Windows, MOTIF, etc. The
underlying architecture of the invention is portable to a variety of other
hardware and software platforms.
The present electronic publishing tool is embodied in two different forms,
or two different software versions. One version (the IP version) is for
use by information providers (IPs), and the other version (the CS version)
is for use by a central service, such as an online service, by its
operations staff. The two versions differ mainly in that the IP version
has several functions removed from the user interface. The IP version
allows for day-to-day content import and management with minimal support.
The central service version, because central service operations are more
complex and may be expected to continually evolve, will typically have
user interfaces requiring more training and/or support. Information
providers and operations staff of the central service use the electronic
publishing tool to import content, to arrange it in a navigation structure
(e.g., a folder-like hierarchy), and designate portions to be published
onto various platforms.
IPs use their version to import, create, and manage their collection-based
content for the central service. ("Collection-based" content refers to
static, hierarchical, read-only material, as opposed to various types of
interactive, subscriber-produced content such as e-mail, chat rooms, etc.)
Periodically the information providers, after making a set of changes they
then wish to effect, will publish the changes they have made. A set of
files are generated which are sent to the central service via ARA or an
equivalent file transfer program.
Normally, the central service's version will run virtually unattended. It
monitors the ARA server fir changes from IPs. When changes are found, it
incorporates those changes into its own database. The process of updating
the central service's version to reflect changes made by an IP is referred
to as synchronizing.
At a set time, or on demand, the central service's version begins
generating a scripting language file (for example, a Rainman Pro file)
that is sent for processing by a particular online service via an
automatic file transfer program (AutoFTP). The central service's version
is such that operations staff can also interactively create and rearrange
content just as IPs can (although this capability is expected to be used
infrequently).
Referring now to FIG. 1, publishers at different sites (14a, 14b, etc.)
each use the IP version of the present electronic publishing tool, running
on a standard personal computer equipped with a modem (15a, 15b, etc.), to
generate and update content to be published. Change files reflecting
content changes are sent to the central service via a dial-up connection
using a specified telephone number. At the telephone office, calls to that
telephone number are connected through a "hunt group" 17 and a bank of
modems 19 to a network modem 21 (e.g., LAN Rover.TM.) within an access
zone 20 at the central service 30.
For security reasons, the access zone 20 is separated from a publishing
zone 10 of the central service 30 by a router 23 that forms an "electronic
fire wall." Change files from the IPs are therefore "dropped off" to a
secondary IP server 25 within the access zone 20 and later retrieved
(through the electronic fire wall) by a primary IP server 27, where the
change files are stored for subsequent processing.
Within the publishing zone 10, there may also be an internal IP, again
running the IP version of the electronic publishing tool on a standard
personal computer 15c equipped with, instead of a modem, an Ethernet,
LocalTalk, or other network adapter whereby the computer 15c may
communicate with the primary IP server 27.
The main activity within the publishing zone 10, however, is performed by a
central electronic publishing tool 29 (the CS version) in response to
change files picked up from the primary IP server 27. The central
electronic publishing tool 29 may be a single copy of the CS version
running on a single powerful PC or may be multiple copies each running on
a separate PC and assigned to handle separate groups of IPs. In other
embodiments, a network CS version of the electronic publishing tool may be
run on a network of computers. The specific hardware implementation chosen
is not important to the present invention.
The central electronic publishing tool 29 effects changes described in
change files stored on the primary IP server 27 by processing the change
files using one more export filters specific to a particular online
service or other service. Export files are then stored on a server 50
providing a "back-door" to a computer center 40 of the target service. In
the case of America Online, for example, an export filter specific to
America Online generates the files indicated above the dashed line in
block 31, most importantly a Rainman Pro or "dot rmp" file, sssddt.rmp.
A "dot afi" file, sssddt.afi. is used to drive an automatic file transfer
program 33 in order to transfer the generated files to the computer center
40 where a mainframe computer 39 is located. The generated files am stored
on a server 35. Software 41 running on the mainframe computer 39
(including, for example Post software, Kill software, and, in the case of
America Online, Rainman Pro) retrieves the files stored on the server 37
and takes the appropriate action.
The electronic publishing system of FIG. 1, apart from standard personal
computer hardware, primarily requires large, last disk storage. IPs need
enough storage to hold all of the content they wish to publish. In one
embodiment, the central electronic publishing tool 29 requires enough
storage to hold the all of the content from all of the IPs. Other
embodiments may allow the central service to obtain content dynamically
from IPs, thus eliminating some of the local storage requirements.
Although the particular user interface employed by the IP and CS versions
of the electronic publishing tool is not important to the present
invention, an exemplary user interlace will be described in relation to
FIG. 2 through FIG. 11. If the central service is an online service, human
interface considerations may recommend an interface that closely resembles
the subscriber interface of the online service. Likewise, although the
program functions described in relation to the foregoing figures are
exemplary of functions implemented by the electronic publishing tool, some
functions described may not be required and other functions may be added
depending upon particular circumstances. The following description assumes
that the types of content objects supported by the electronic publishing
tool include at least text documents, folders and enclosures. Other types
of content objects, including books, pamphlets, chats, forms, etc., may or
may not be supported.
Referring to FIG. 2, the basic model for the user interface is assumed to
be the Macintosh Finder. Upon launch the IP version of the electronic
publishing tool presents the "root" of the publishers data. Folders have
three separate regions: head, body, and foot. Any item can be placed in
any region. The head and foot areas are special areas in which items can
only be positioned manually, as opposed to the conventional body area in
which items may be sorted. All of the head items will be displayed before
the body items, and all of the body items will be displayed before the
foot items. The Head and Foot areas allow publishers to easily create
areas for documents that will not be moved when the folder is resorted,
for example a "What's New" folder in the Head or an "Archives" folder in
the Foot. As items are added to the Head and Foot, these areas grow to
accommodate the added items.
Within folders, users can click to select items, click and drag to move
items, or double click to open items. A manual sorting option allows
selected item(s) in a folder to be dragged within the folder to reposition
them. As in Finder, selected items can be dragged on top of a contained
folder to move them to that folder and can be dragged to folders shown in
another window. Unlike Finder, however, for user convenience, these drag
operations are undoable.
Open documents appear as in FIG. 3. The document format supports
"attachments," i.e. binary files that are transported without any changes
being made to the data. A document may reference and be referenced by
other documents. Therefore, at the top of the document window is
information about any file which is attached, and about how many other
references there are to that document. Buttons am displayed in the text
document's window and are used to attach/detach a binary file to the text
document or to extract an attached file (in a similar manner as in the
known AppleLink application). The name of the file, which is also
displayed at the top of the document window, is editable.
When the electronic publishing tool is launched, a menu bar is displayed.
In the illustrated example, the menu bar contains a File Menu, an Edit
Menu, and an Info Menu.
The File and Edit Menus provides various data manipulation capabilities,
including creating new document and folders, creating new links to
existing objects, deleting objects (by dragging them to the electronic
publishing tool trash folder, and then emptying the trash), moving objects
between folders, positioning objects within a folder (head, body, and foot
regions), attaching binary files to documents, and normal Macintosh text
editing within a document (cut, copy, paste, etc.).
FIG. 4 shows the File Menu pulled down. Within the File Menu, a New
[Folder, Document] command creates a new folder or document within an
active open folder. For example a new text document might be created, at
which time it is opened (FIG. 3). If a new document is closed and the user
declines to save changes, the document is automatically removed from the
folder.
An Open command opens a selected document, and a Close command closes the
current window (except for the root window, which when active causes the
Close command to be dimmed).
An Import command allows the user to select the source and type of a
document the user wishes to import. The imported document will appear in
the active folder.
In one embodiment, the electronic publishing tool will import the following
external formats: Finder with XTND, BT-TEXT, Microsoft KnowledgeBase, and,
in the case of the CS version, AppleLink CD.
The Finder with XTND format supports import of the Macintosh Finder
hierarchy. Folders in the Finder are represented as folders in electronic
publishing tool. All documents in formats supported by XTND are imported,
provided the XTND translators are present. However, only the unstyled text
from the body will be imported. All unknown formats or files with text
larger than 32K am represented as attachments.
Whenever the Finder folder name matches the electronic publishing tool
folder name, users are given the option of either forcing the electronic
publishing tool folder to match the Finder folder (by adding new items,
updating changed items, removing missing items) or to create a completely
new electronic publishing tool folder with the current Finder folder
contents.
If a file to be imported would have the same name as an existing file if
the "dot extension" of the file to be imported were ignored, then the file
will be imported as an attachment to the existing file. For example, if
there is a file named "foo" and a file named "foo.b" is to he imported,
then "foo.b" will be imported as an attachment to "foo".
The BT-TEXT format is currently used by AppleLink IPs to maintain their
searchable databases. Hierarchy and enclosures are not supported in this
format. Likewise in the Microsoft KnowledgeBase format, hierarchy and
enclosures are not supported. The AppleLink CD format may be used only
with the CS version of the electronic publishing tool. Hierarchy, text
documents and enclosures are supported. Support for numerous other formats
may be provided as desired.
When the Export to Finder command is selected, the current folder and all
items under it are exported to the Finder. The export is incremental,
based on a comparison of the electronic publishing tool modification time
and the Finder modification time. In an incremental export operation,
items in the electronic publishing tool hierarchy having the same name as
items in an existing Finder hierarchy are exported only if the electronic
publishing tool version has been modified since the Finder version. (Since
the representation of documents in the electronic publishing tool is
somewhat "richer" than the convention Finder representation, Finder export
may not be 100% inverted with a Finder import, as some information may be
lost.)
In the IP version, users select the Publish Changes command to indicate
that all of the changes made since the last time Publish Changes was
invoked should be readied for uploading to the central service. A
synchronization folder is created with change information from the time of
the previous synchronization (or since a new database was started) to the
present. The electronic publishing tool asks the user where to put the
synchronization folder. The synchronization folder may be dragged to the
CS version's file server via an ARA connection.
At the central service, operations staff normally leaves the CS version of
the electronic publishing tool in "Auto Publish" mode. In this mode,
changes from IPs are scanned for continually and processed as they are
found. (Manual synchronization of specific change folders is also
possible.)
The Print command prints the active window's contents. The Quit command
quits the application.
FIG. 5 shows the Edit Menu pulled down. Within the Edit Menu, standard
cut/copy/paste/undo commands are provided for text editing. The Undo
command undoes the last action, where applicable.
In a preferred embodiment of the electronic publishing tool, all items seen
and manipulated by the user are reference to those items rather than the
item itself, which is stored and managed separately in a manner described
in greater detail hereinafter. The Duplicate Reference command duplicates
the references selected in the frontmost window. This command creates a
new reference to the item-it does not duplicate the item (document or
folder) pointed to. This new reference can then be dragged to another
folder to set up double pointing.
The Move to [Head, Body, Foot] command moves the selected item(s) to the
appropriate spot in the designated region.
Empty Trash permanently removes all contents of the trash folder, and Move
to Trash moves the selected item to the trash folder. The trash can is a
window representing the electronic publishing tool's own trash can (FIG.
2). It operates much as the regular Finder trash, but only on electronic
publishing tool objects. A user deletes items by dragging them to the
trash. A user empties the trash by selecting Empty Trash from the Edit
menu. The trash can be opened like any folder and items dragged back out
of the trash to any other folder.
An item may be an object itself or merely a reference to an object. If an
object has more than one reference to it, then deleting a reference
deletes only that reference. When the last reference is placed in the
trash, and when the trash is emptied, then the object referred to will be
permanently removed from memory.
The Info Menu relates specifically to publishing kinds of operations.
Referring to FIG. 6, the Into Menu contains a Folder Content Info command,
a Reference Info command, and a Document Info command.
The Folder Content Info command brings up a Folder Content dialog box,
illustrated in FIG. 7. This dialog allows a user to set the folder title,
sort order, title string generation, and default number of days that new
references should have until they expire. The dialog applies to the active
window if the window displays a folder and none of the items are selected.
It applies to the selected item if that item is a folder. Otherwise it is
unavailable.
The Folder Content dialog box is also used to set a "What's New" mode and
to set an "owning IP."
New or changed documents can automatically have an additional reference in
a folder that represents new information. Each folder can be set to have
its own What's New folder, to use all parent's What's New folders, in
which case What's New processing follows the mode of each parent folder
with changes being filtered up the hierarchy, or to not participate in
What's New processing. In an alternative embodiment, the mode of What's
New processing, rather than being a user option, may be determined by the
central service.
Because the central service and the IP sites are not in continuous
communication, it is important to ensure that only one site modifies any
particular object. Objects are designated as belonging to a particular IP,
and an object can only be modified at that IP's site. (The central service
is itself considered an IP.) At an IP site, objects are automatically
assigned to belong to that IP. At the central service, objects initially
belong to the central service but can be assigned to other IPs. For
example, the process of setting up a new IP normally involves making some
folders and assigning them to the new IP. Objects are locked against
modification once they have been assigned to an IP. The exception is that
the IP field can be changed up until the time that the information is sent
to an IP.
Referring to FIG. 8, the Reference Info command brings up the Reference
Info dialog. This dialog allows a user to set the "lifetime" of a selected
reference, and if the user desires, the lifetime of all other references
to the same document. Information relating to publication to an online or
other service, including the upload status and host ID, is shown in the
central version of the application.
The Document Info command brings up a dialog box that affects the selected
text document itself. It applies to the active window if the window shows
a text document, or the selected item in a folder if the item is a text
document. Otherwise it is unavailable. This dialog allows a user to set
the document's title, and whether or not returns are added at the end of
lines within the document.
Menu options for the CS version of the electronic publishing tool are
somewhat different than those for the lP version, providing added
functionality for central version.
One of the principal functions of the electronic publishing tool is to
export content to an online service or other service. Export is supported
by creating a scripting language source file, such as an RMP source file,
and other supporting files. Export will typically involve exporting all
changes read in since the last export to the online service or other
service.
Referring to FIG. 12, in the central version, a Settings menu is used to
set folders used for IP synchronization and to set folders and parameters
used to upload information to an online service or other servi | | |