METHOD FOR AUTOMATICALLY FORMATTING A DOCUMENT ACCORDING TO DATA OBJECT TYPE

Abstract: A method for automatically formatting a complex document, which consists of text, graphics, or multimedia elements, displays the document on a computer screen. Input may be in the form of plain text with minimal instructions in conjunction with page structure definitions which describe the general "look and feel" of the desired. The actual content may be changed while maintaining the formatting structure without the necessity for reinputting the formatting instructions. Formatting is done within a page by page structure with the ability to display the beginning of multiple articles on a single page and continue them on subsequent pages. For example, the method could be used to automatically display a personalized electronic newspaper.

Description: METHOD FOR AUTOMATICALLY FORMATTING A DOCUMENT ACCORDING TO DATA OBJECT TYPE FIELD OF THE INVENTION The present invention relates generally to electronic publishing and more particularly to a method for automatically displaying multiple data objects on a computer screen in a multiple-page layout. BACKGROUND OF THE INVENTION Information that is published electronically, for example, over the Internet or through an organizational Intranet, typically is pre-formatted by the publisher before it is disseminated electronically. Such pre-formatting generally involves determining both the appearance of each item of data (e.g., if the data is text, selecting the font, its size, appearance, etc.) and also the overall layout of all the data items that will appear on the recipient's computer screen. Most of the information that is made available on the World Wide Web involves such pre-formatting, primarily by means of HTML (Hyper Text Makeup Language) which can be read by all commercially available "Web browsers". There are also more sophisticated formatting and page layout techniques for use on the World Wide Web, such as the proprietary "PDF" (portable document format) developed by Adobe. However, "PDF" files must also be pre-formatted and stored prior to transmission and can be read by the recipient only by means of a special viewer or browser "plug-in". One of the main drawbacks of the need to pre-format information that is disseminated electronically is that it usually increases the size of the data that must be transmitted, since the formatting data must be attached to the information data and transmitted to the client together with the information data itself. This can significantly increase the actual transmission time, thereby making the transmission more costly (either to the publisher or to the recipient) and more cumbersome and tedious for the user. An additional drawback of the need to pre-format information is that it makes it difficult for the publisher to "personalize" or vary the content of the information that is transmitted, since any change in content necessarily involves a change in layout. There are known today systems for supplying via the Internet "personalized" packages of information that have been selected according to pre-selected preferences of the recipients. However, even in such systems, the information must be pre-formatted prior to transmission (unless the information is sent via e-mail, in which case the information is sent as simple text with little or no formatting). There are also known today various methods for providing "templates" for the layout of documents or portions of texts. Most commercial word-processing and "desk-top publishing" software packages today provide several such "templates" as a standard component. However, these templates merely provide basic formatting and layout models for the user and are not capable of automatically formatting and laying out multiple items of data of varying size over multiple pages. When utilizing such "templates," the user must manually adjust the formatting and layout features to accommodate the various data items which he wishes to "insert" into the templates; alternatively, he must adjust the size of the data itself so that it will "fit" exactly within the parameters of the template. SUMMARY OF THE INVENTION It is an object of the present invention to overcome the above-mentioned drawbacks. It is a further object of the present invention to provide a method of electronic publishing in which the content of the information transmitted may vary from one subscriber to the next, without need for pre-formatting by the publisher of each package of information, and yet a standard "look and feel" of the information is maintained for all subscribers. There is therefore provided in accordance with a preferred embodiment of the present invention a method of automatically displaying, on a computer screen, a multiplicity of data objects of variable types and sizes in a multi-page layout, the method comprising the steps of: (a) determining a substantially rigid page structure for each page, each page structure comprising a set of commands defining a hierarchical set of spatial objects including the area of each spatial object and its position on the page and the formatting characteristics of the data object each spatial object may contain; (b) selecting the data objects for display; (c) ranking the data objects in an order of importance; (d) assigning sequentially at least one of the data objects to each of the spatial objects, the sequence based upon the hierarchy of the spatial objects on each page and the ranking order of the data objects; (e) automatically formatting each data object according to the format commands of the spatial object to which it has been assigned; and (f) displaying the data objects on the screen, page by page, each page according to its page structure. In accordance with a preferred embodiment of the invention, the step of assigning also comprises the steps of : (a) ascertaining whether each spatial object has been completely filled by its assigned data object; and (b) in the event a spatial object has not been completely filled, assigning at least one additional data object to fill the remaining space. Further in accordance with a preferred embodiment of the invention, the step of assigning also comprises the steps of: (a) ascertaining whether each data object can be fully displayed within the spatial object to which it has been assigned; and (b) in the event a data object cannot be fully displayed within the spatial object to which it has been assigned, assigning a first portion of the data object to the spatial object so as to fill the spatial object and assigning a second portion of the data object to a different spatial object on the same or a different page. In accordance with a preferred embodiment of the invention, when a first portion of a data object appears on one page and a second portion on another page, a "hyper-link" connection is established between the first and second portions of the data object. Further in accordance with a preferred embodiment of the invention, the data objects may comprise any of the following: text, graphics, animation, video, audio, multi-media material or inter-active applications. In accordance with a preferred embodiment of the invention, the spatial objects define at least one column and preferably three columns on each page structure. Further in accordance with a preferred embodiment of the invention, the data objects are stored in one or more computer files which also comprise tags identifying the type of data object and its rank and optionally links to other data objects. The present invention may be used for automatically displaying an electronic publication, such as a newspaper or magazine, on a computer screen in a multiple page layout, the publication comprising a multiplicity of text articles, graphics and other data objects of variable types and sizes. The publication may be disseminated over a computer network, such as the Internet, and have multiple subscribers, each subscriber receiving a different edition of the publication, and yet the "look and feel" of the publication as it is displayed on each subscriber's computer screen is substantially identical regardless of variations in content or the number or size of the data objects. According to a preferred embodiment of the invention, the method for automatically displaying the electronic publication on the subscriber's computer screen comprises: (a) determining a substantially rigid page structure for each page of the publication, each page structure comprising a set of commands defining a hierarchical set of spatial objects including the area of each spatial object and its position on the page and the format of the data object each spatial object may contain; (b) selecting the data objects for inclusion in each edition; (c) ranking the selected data objects in an order of importance; (d) transmitting the data objects to each subscriber; (e) assigning sequentially at least one of the data objects to each of the spatial objects, the sequence based upon the hierarchy of the spatial objects on each page and the ranking order of the data objects; (f) automatically formatting each data object according to the format commands of the spatial object to which it has been assigned; and (g) displaying the publication on the subscriber's computer screen, page by page, each page according to its page structure. In accordance with a preferred embodiment of the invention, steps (a) to (d) are carried out on a server associated with the publisher of the publication and steps (e) to (g) are carried out on the client associated with each subscriber. In accordance with a preferred embodiment of the invention, the step of assigning also comprises the steps of . (a) ascertaining whether each spatial object has been completely filled by its assigned data object; and (b) in the event a spatial object has not been completely filled, assigning at least one additional data object to fill the remaining space. Further in accordance with a preferred embodiment of the invention, the step of assigning also comprises the steps of: (a) ascertaining whether each data object can be fully displayed within the spatial object to which it has been assigned; and (b) in the event a data object cannot be fully displayed within the spatial object to which it has been assigned, assigning a first portion of the data object to the spatial object so as to fill the spatial object and assigning a second portion of the data object to a different spatial object on the same or a different page. In accordance with a preferred embodiment of the invention, when a first portion of a data object appears on one page and a second portion on another page, a "hyper-link" connection is established between the first and second portions of the data object. Further in accordance with a preferred embodiment of the invention, the data objects may comprise any of the following: text, graphics, animation, video, audio, multi-media material and inter-active applications. In accordance with a preferred embodiment of the invention, the spatial objects define at least one column and preferably three columns on each page structure. Further in accordance with a preferred embodiment of the invention, the data objects are stored in one or more computer files which also comprise tags identifying the type of data object and its rank and optionally links to other data objects. In accordance with a preferred embodiment of the present invention, the data objects are selected based upon a list of personal preferences obtained from the subscriber. HR1EF DESCRIPTION OF THE DRAWINGS The present invention will be better understood and appreciated on the basis of the following detailed description, in conjunction with the accompanying drawings in which: Figs. 1A and IB are graphical illustrations of two different "page structures" utilized for the automatic display of two different pages of multiple data items, in accordance with a preferred embodiment of the invention, Fig. 2 is a simplified flow chart illustrating a sequence of procedures carried out on a server for selecting and preparing data for transmission to a client, in accordance with a preferred embodiment of the invention; Fig. 3 is a simplified flow chart illustrating a sequence of procedures carried out on a client for "unpacking" the data transmitted to the client from a server, in accordance with a preferred embodiment of the invention; Fig. 4 is a simplified flow chart illustrating a sequence of procedures for automatically laying out and displaying data, in accordance with a preferred embodiment of the invention; and Fig. 5 is a graphical illustration of a page of data formatted and displayed according to the "page structure" of Fig. 1A. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS The present invention may be implemented in a wide variety of applications. For the sake of convenience and greater clarity, the following detailed description of the invention will focus on one particular application of the invention, it being understood that this particular description is not meant to be limiting in any way. The application described in detail below is that of an "electronic newspaper,", i.e. a newspaper which is disseminated by electronic means over a computer network, for example, via the Internet, the newspaper being transmitted from a computer "server" associated with the publisher to a multiplicity of computer "clients", each of which is associated with a subscriber. After the newspaper has been received by the client, it may be read by the subscriber after it is displayed on his computer screen. The electronic newspaper of the instant application is published on a regular basis (e.g. daily or weekly) and comprises multiple pages of data (typically 8 or 10 pages). Each page typically has up to three columns of text, and may also contain graphics (pictures, advertisements, etc.) and other types of data. The electronic newspaper of this application is a general newspaper, capable of publishing information covering a wide range of topics. However, in accordance with a preferred embodiment of the present invention, the content of the newspaper as it actually appears on the screen of each subscriber differs from subscriber to subscriber, since each subscriber receives a particular sub-set of all the information offered by the publisher, based upon a set of "preferences" pre-selected by the subscriber. At the same time, the basic layout of the newspaper and the way the newspaper appears on the screen of all the s ubscribers is substantially the same, thereby enabling the publisher to establish and maintain a "look and feel" and a brand-image for the newspaper that is distinctive, irrespective of the varying content. The electronic newspaper may optionally be associated with a standard "print-edition" newspaper, and in such event the "look and feel" of the electronic newspaper as it appears on the subscriber's screen may reflect the "look and feel" of the newspaper as it actually appears in print. In accordance with a preferred embodiment of the invention, the distinctive "look and feel" of the electronic newspaper is determined by the publisher by the creation of specific, substantially rigid, layout "structures" for each page of the newspaper. Typically, the publisher will create at least three such structures, one for the first page of the newspaper, at least one for the following pages, and one for a "continued from" page for display of the concluding portions of articles which because of their length do not fully fit within the layout structures of the pages on which they first appear. However, additional page structures may also be created, depending upon the particular "look and feel" which the publisher wishes to create for the newspaper— e.g., the publisher may create a separate page structure for the second page and/or for the last page of the newspaper, or for a page that will be dedicated to a specific subject matter, such as an "op-ed" page, sports, or entertainment. Each page "structure" describes the general layout of the page, without reference to any actual content. Such description is done by dividing each page into "spatial objects", each "spatial object" having a particular size and a given position on the page. Optionally, several "spatial objects" may be grouped into a single "block", thereby allowing them to share one or more common characteristics (e.g. being enclosed in a box). The "spatial objects" on each page are ranked, in accordance with a hierarchical order of importance determined by the publisher. For example, the "spatial object" in the upper left hand corner of the page may be tanked 1; the "spatial object" in the upper right hand corner of the page may be ranked 2; and so forth. Reference is now made to Figs. 1 A and IB which provide graphical illustrations of two different page "structures" for two pages of an electronic newspaper, in accordance with a preferred embodiment of the invention - the structure of Fig 1A being particularly suitable for the first page of the newspaper and the structure of Fig. IB being particularly suitable for a "continued from" page comprising the concluding portions of articles continued from other pages. As can be seen, each of the page stmctures of Figs. 1A and IB is defined by a grid, having values along the x axis from 0 to 38 and along the y axis from 0 to 52. The page structure of Fig. I A comprises four "blocks" (the rectangles marked by a dotted line) and seven "spatial objects" (the rectangles marked by a solid line). The page structure of Fig. IB comprises a single "block" and three "spatial objects." In Fig. 1A, there are three "spatial objects" enclosed within Block A, two "spatial objects" within Block B, and a single "spatial object" enclosed within each of Block C and Block D. The position of each of the "spatial objects" on each of the pages is defined by reference to the x, y coordinates of its four corners, as marked. The relative importance or rank of the "spatial objects" is indicated by the assigned letters and numbers, i.e. in Fig. 1A, Space Al has the highest priority, followed by Space A2, A3, Bl, B2, Cland Dl. In accordance with a preferred embodiment of the invention, each page "structure" created by the publisher is defined by a set of commands which are written to and stored in a unique "page structure file" (hereinafter: "psf) associated with that page. The following is an illustrative example of a set of commands comprising a "psf, which would define the page "structure" of the page of Fig. 1: Settings { Type "FrontPage" Page (0,0, 38,52) Wallpaper "wallpaper 1. bmp" DefaultTextFont "Times New Roman 12" DefaultHeadlineFont "Ariel 18" DefaultGraphicsPosition "Center" } Layout { Block A { SpecialAttributes { "UseBlockForOneArticleOnly" } Space Al { Area (2,11,22,2) Type "Headline" Font "Arial 20" } Space A2 { Area (2, 14,10,18) Type "Various" } Space A3 { Area (14,14,10,18) Type "Various" } } Block B { Space Bl { Area (26,21, 10,2) Type "Headline" } Space B2 { Area (26,14,10,36) Type "Various" } } Block C { Space Cl { Area (2,34,22,16) Type "Various" } } Block D { Space Dl { Area (26,11,10,8) Type "Graphics" } } It will be appreciated that the syntax of the commands comprising a "psf may take numerous forms and that the example given above is offered for illustrative purposes only and is not to be deemed limiting in any manner. In the given example of a "psf," default settings for the page as a whole are provided, as follows: (1) The "Type" command associates the page structure with a particular page and/or section of the newspaper, either in terms of page number or page contents. In this case, the specific page structure is to be used for the front page of the newspaper. (2) The "Page" command sets the default size of the page, in terms of the x, y, ax, fty coordinates of the grid. In the given example, the listed units are arbitrary. Typically, the coordinates will be based upon an actual grid drawn for an A4-size page with the units given in centimeters, inches or pixels. (3) The "Wallpaper" command associates a particular wallpaper file with the page, thereby setting features such as the background color of the page. The wallpaper command can also be utilized to fill areas of the page not defined by "blocks" or "spaces." In the given example, the wallpaper command could be used as a means for filling the empty space at the top of the page with the name and logo of the newspaper. A wallpaper file may be in any standard graphic format, such as "bmp" (bitmap). (4) The "DefaultTextFont" command sets the default font type and size for all text appearing on the page (excluding headlines). In this case, the default font is "Times New Roman", 12 pt. (5) The, "DefaultHeadlineFont" command sets the default font type and size for all headline text. In this case, the default font is Arial, 18 pt. (6) The "DefaultGraphicsPosition" command sets the default placement position of any graphic inserted in any Space on the page. In this case, the default position is "center" which indicates that the graphic will be inserted at the top-most position of the Space and centered with respect to the x axis In the given example, after the default settings for the page as a whole are provided, the page "structure" is defined with reference to "blocks" and "spaces." Each "block" is listed in turn, followed by the "spaces" associated with each "block". In the given example, four "blocks" are defined, labeled Block A-D. Block A is associated with Space Al, A2 and A3; Block B is associated with Space Bl and B2; Block C is associated with Space Cl; and Block D is associated with Space Dl . Each of the "spaces" is then defined in turn, with at least two parameters being provided for each space — (1) its "Area" - defined in terms of its x, y, ax, ay coordinates; and (2) its "Type" - which sets an association between the space and the type of material which the space may contain. In the given example, Space Al and Space Bl may be filled only by a "headline;" Spaces A2, A3, B2 and Cl may be filled either by a "headline," a "text" article, a "graphic" or a combination thereof; Space Dl may be filled only by a "graphic." Additional parameters may also be determined for the page as a whole, or for a given "block" or a given "space." For example, enhanced text formatting features, such as justification of lines and/or hyphenation, can be provided for all text on the page, by the inclusion of an appropriate set of commands as part of the default settings for the page as a whole Another example would be a command specifying a particular color for the text of the newspaper and/or for a particular page. In the specific example provided above, Space Al has been assigned a specific "Font" command, which over-rides the "DefaultHeadlineFont" and sets the font for the headline to be inserted in space Al as Arial, 20 pt. Similarly, Block A has a "UseBlockForOneArticleOnly" command which specifies that the "block" may not be filled with more than one article. Once the publisher has created all the necessary "psfs" for the newspaper, they are transmitted to every subscriber, and are thereafter available for use by the proprietary Formatter and Display Engine which is created in accordance with a preferred embodiment of the present invention and operative on each client. It will be appreciated that the "psfs" need to be transmitted to the client only once, and thereafter can be repeatedly used by the client, in a manner more, fully described below. If the publisher decides to alter any of the parameters of a "psf, a replacement file can be easily transmitted to the client and stored thereon, in place of the original "psf. In accordance with a preferred embodiment of the invention, after the publisher has created all the necessary "psfs" and these are transmitted to the client, the publisher may publish any edition of the newspaper without having to concern himself further with the format and layout of the newspaper. In particular, the publisher may not only vary the number of articles appearing in each edition of the newspaper but he may also include articles of varying length, without regard to the question whether or not the articles "fit" within a given space on a given page. The text of the articles which will appear in the newspaper may be transmitted to each subscriber as plain text, and these will be displayed on the subscriber's computer screen in accordance with the "psfs" and the additional formatting capabilities of the Formatter and Display Engine (hereinafter: the "FDE") in accordance with the present invention, thereby ensuring that the "look and feel" of the newspaper as it appears on each subscriber's screen will remain substantially constant. Prior to the transmission of the newspaper contents to each subscriber, the publisher assigns a "tag" to each data object, containing information which can be read thereafter by the FDE and utilized in the page-by-page display of the newspaper on the subscriber's computer screen. For data objects that are text articles and headlines, the "tag" will typically comprise: (1) a number, indicating the "priority" level or rank of the data item, relative to the other data items of that type which will appear in the newspaper; (2) an indicator of the page or section of the newspaper where the item should appear; (3) markers delineating the headline from the text of the article itself; and (4) a reference to a graphic file, if a picture or other graphic is to be associated with the article. Data objects that are graphics will also be assigned "tags" which will include additional information such as their size (based upon a pre-determined classification) and whether they are to be associated with text articles or are "stand-alone." One method for assigning "tags" to data objects is by writing the requisite information at the beginning of the computer file in which the data object is stored. For example, for files containing text articles the following may be written at the beginning of the file: Priority: <number> Sectionr <section name (e.g. Front Page)> Headline: <text of headline> Graphic; <graphics filename> Text: <text of the article> Or, for files containing a graphic image: Priority: <number> Type: <"standalone" or "articie"(if associated with an article)> Size:<e.g. "A-size" " * Filename: <e.g. graph2.jpg"> It will be appreciated that the above examples are merely illustrative and that other methods for assigning "tags" may also be utilized, all of which are included within the scope of the present invention. In accordance with a preferred embodiment of the present invention, all of the articles and other data to be included in each subscriber's newspaper are transmitted to the client automatically, .after a connection is made between the client and the server. Although the connection may be initiated manually by the subscriber, preferably the connection will be established automatically, at off-peak hours, without direct involvement of the subscriber. Reference is now made to Fig. 2 which is a simplified flow chart of the procedures carried out automatically on the server associated with the publisher, in accordance with a preferred embodiment of the invention, after a connection has been made between a client and the server, for purposes of obtaining a new edition of the electronic newspaper. These comprise: Procedure 110: obtaining the subscriber's "personal preferences" from the client. These are essentially a list of categories, topics or key words which are of particular interest to the subscriber and concerning which the subscriber would prefer to read about in his personalized newspaper. (Typically, each newspaper contains both "personalized" information as well as articles of general interest supplied to all subscribers.) These "personal preferences" are selected by the subscriber from a list of categories, topics or key words determined by the publisher, and transmitted from time to time to the client from the server. Once the subscriber has made his selection, the list of "personal preferences" is saved in a file on the client, and this list of preferences is sent to the server each time the client contacts the server to obtain a new edition of the newspaper. It is appreciated that the user may change his list of preferences at any time, and also that the publisher may update or change the categories of choice at any time. In the latter event, the user is prompted by the FDE to make a new selection, when the user next calls up the program. Procedure 120: comparing the subscriber's list of "personal preferences" obtained in procedure 110 with the subscriber's previous list of "personal preferences" as stored on the server and determining whether the list has been changed; Procedure 130: ascertaining whether an index has already been prepared, with markers to all the articles and other data to be included in the subscriber's personal newspaper, based upon the subscriber's preferences stored on the server's database; Procedure 14Q- in the event a change is detected in the personal preferences or in the event an index has not been prepared, preparing an index based upon the most recent list of personal preferences; Procedure 150' in the event no change is detected in the personal preferences and/or in the event an index has already been prepared, retrieving all the articles and other data to be included in the subscriber's personal newspaper; Procedure 160: "packaging", i.e. compressing all the data for transmission. The compression of the data helps reduce the time needed for transmission, thereby reducing network traffic and the cost of transmission; and Procedure 170: transmitting the compressed data to the client. It is appreciated that since most subscribers will not vary their personal preferences on a regular basis, the prior preparation of an index for each subscriber's personal newspaper will enable the server to respond much more quickly to the client and will significantly reduce the amount of connection time between client and server. In accordance with a preferred embodiment of the invention, the "packaging", i.e. compression of all of the data, may not be done according to only one compression algorithm; rather, a different compression algorithm may be used for each type of data (e.g. text files, graphics, etc.). One advantage of using different compression ratios is that they can be used as identifiers by the FDE of the different types of data, when the data is decompressed on the clieni, as more fully described below. Reference is now made to Fig. 3 which is a simplified flow chart of the procedures carried out automatically on the client after the data comprising a new edition of the newspaper has been received from the server. Procedure 210: building a directory tree for the newspaper just received. Typically, the highest level of the directory tree will be based upon the date of the newspaper; and beneath this level will be a number of sub-directories or folders based upon data types — e.g. separate folders for each of "text articles"; "advertisements"; "graphics", etc. Optionally, each of the data types may also have its own sub-directories, organized according to subject. For example, the sub-directory "articles" may be further sub-divided into "news", "sports", "editorial", etc.; Procedure 220. decompressing the data that has been received; and Procedure 230: identifying each data object according to its type, and storing the data object in its appropriate sub-directory/folder. The identification of the data type may be based upon the filename extension assigned to each file by the server, prior to packaging, or, if different compression ratio algorithms are used for each data type (as explained above), the compression ratio algorithm may be used as the identifier of the file type. Each data object is stored in its sub-directory as a separate file, with a filename indicator that reflects the order of priority assigned by the publisher The package of data received from the server may also include data that is not to be included in that day's edition of the newspaper, but additional data needed for the proper interaction between server and client. These may comprise new "psfs", to replace or augment those already installed on the client; or new data for changing the configuration of the FDE, e.g. a new set of categories of "personal preferences". These additional data will be stored in appropriate sub-directories or folders, in a manner similar to that described above with regard to the newspaper articles. Reference is now made to Fig. 4 which is a simplified flow chart of the procedures carried out automatically by the client, after receipt of the newspaper data, on the basis of which the subscriber will thereafter be able to display the newspaper on his computer screen, in the layout stipulated by the publisher in the "psfs". These procedures comprise: Procedure 310: selecting the appropriate "psf for each page. Since the formatting of the newspaper will be done in page order, i.e. page one will be formatted first, followed by page two, etc., the selection of the appropriate "psf will be based primarily on page order. However, in certain circumstances, other factors will also be taken into consideration. For example, if the publisher has determined more than one "psf for the middle pages of the newspaper, the FDE may randomly select one of the appropriate "psfs" for each intermediate page of the newspapet. Procedure 320: reading the "psf into memory and parsing the "psf commands, thereby assigning a specific article or other data object of the current newspaper to a given "spatial object" defined in the "psf, based upon the hierarchical order of "spatial objects" as defined in the "psf and the priority value assigned to the article, while applying to the selected data object the formatting characteristics specified in the "psf; and Procedure 330' writing the results of the previous procedure to a Page Layout File ("plf ), with a separate "plf typically being created for each page. It is appreciated that since the articles are not assigned to spatial objects based upon their size, but rather upon a priority ranking, many articles may not "fit" exactly within the space to which they have been assigned ~ the space may be too small to accommodate all of the article, or the article may be too short and will not fill up the full area of the space. In carrying out procedure 320, the FDE evaluates the "fit", and is adapted to make the following adjustments: If the full text of an article cannot be displayed within the space to which it has been assigned, because the space is too small to accommodate the full text of the article, the article is split into two portions - a first portion which is assigned to the available space, and a second portion (the balance of the article) which is saved in a temporary file. A notice is then written to the last line of the space indicating that the article is continued on another page. (The second portion will be retrieved and formatted for display at an appropriate location on the other page, preferably on a "continued from" page, which will contain all concluding nortions of articles that could not be fully displayed in the spaces to which they had been assigned. Such a "continued from" page typically would be processed at the conclusion of the formatting and layout of all of the other pages included in that edition of the newspaper.) If the full text of an article can be displayed within its assigned space while the space has not been completely filled, the balance of the space may be filled with another article (if the "psf allows for more than one article in the space) or it may be filled with one of several possible '"fillers" supplied by the publisher. Typically, "fillers" are graphic files of the "stand-alone" type, and may take the form of an advertisement, a notice or the like. In accordance with a preferred embodiment of the invention, the notice that the article is continued on another page will comprise a "hyper-link" to the concluding portion of the article on the other page, making it possible for the reader to immediately read to the end of the article (and then return to the page on which the article first appeared) if he so desires. The following table provides a more detailed description of the actual formatting process carried out by the FDE, in preparing the newspaper data for display on the subscriber's computer screen, in accordance with a preferred embodiment of the invention. The table should be read in conjunction with the illustrative "page structure" of Fig. 1A and the illustrative "psf commands which can be found on page 8 above. The results of this formatting process are illustratively displayed in Fig. 5. Referring now to Fig. 5, it will be seen that this page has been laid-out and formatted in accordance with the substantially rigid page "structure" of Fig. 1A. All of the "Blocks" and "Spaces" have been filled, while their size and position on the page have remained unchanged. The "Blocks" and "Spaces" contain either textual or graphic material, and these have been formatted in accordance with the formatting characteristics set forth in the "psf file corresponding to the page structure of Fig. 1 A One of the "Spaces" was not completely filled by its assigned text article, and in the balance of the Space, an appropriate graphic "filler" was inserted Two text articles could not be fully displayed within the "Spaces" to which they had been assigned; therefore, the first part of each was inserted in its assigned "Space" on the page and the concluding part was saved in a temporary file for display on another page. Typically, such second parts of articles will be processed by the FDE after all of the other pages of the newspaper have been formatted and will be displayed on a "continued from" page. Fig. IB illustrates one possible page "structure" for such a "concluded from" page, which comprises a single "block" and three "spaces" corresponding to three parallel newspaper columns. The concluding portions of the two articles from the page of Fig. 5, as well as those of other pages, can readily be formatted and displayed utilizing such a "structure," in a manner similar to that described in the above table with respect to the page of Fig. 5. It will be appreciated that the data objects included in any edition of the newspaper need not be limited to text or simple graphics. These may also include any type of multimedia object, including video, animation, audio or even inter-active computer applications such as Java "applets" or ActiveX components. (Typically, audio or video objects would be activated via a "clickable" text or graphic, as is known in the art.) The data objects may also include "hyper-links" to other data objects within the edition of the newspaper or to external objects. The formatting and layout mechanism of the present invention is also independent of any specific display engine, and it can be adapted to work with any of the display technologies currently available (e.g., RTF, DOC, PDF, EVY, etc.). The procedures outlined with reference to Figs. 3 and 4 are normally executed by the FDE automatically and in the background, after the newspaper data has been received from the server, without any intervention by the user. However, the FDE may also be activated manually by the user, and preferably has additional "user interface" features, such as: (a) providing the user with the ability to select at any time the newspaper he wishes to see (if the user has subscribed to more than one newspaper, he can choose which newspaper he is interested in viewing; and after he has chosen the newspaper, he can choose which edition of the newspaper he is interested in viewing); (b) providing the user with the ability to select any single page of the newspaper, or to move page by page through the newspaper ; and (c) providing the user with the ability to print any page of the newspaper, or any single article or part thereof. It will be appreciated that the present invention provides advantages not available until now It makes it possible to publish personalized editions of electronic newspapers, magazines and the like, while maintaining a standard "look and feel" for the publication, with the layout and formatting being carried out "on the fly" on the subscriber's computer when the computer is "off-line," and without need for the publisher to pre-format the content of the publication and transmit anew the formatting information to the subscriber each time a new edition of the publication is transmitted to the subscriber. In the event the electronic publication is associated with a print edition of the publication, it also allows the publisher to establish a "look and feel" for the electronic publication that is similar to that of the print edition, thereby enhancing the brand image of the publication. Thus, the electronic edition of the publication may be displayed on subscribers' computer screens with the same type of layout, and formatting features ~ fonts, styles, headlines, columns, justified or unjustified lines of text, hyphenation, etc. - that are used in the print edition of the publication. The electronic publication may also include advertisements similar to those in the print edition. Conversely, since the electronic edition of the publication may also contain multi-media and inter-active components, the electronic publication in accordance with the invention may have a depth and additional information that it not available in the print edition of the publication. And because each subscriber can select the type of information he is interested in receiving from each publisher, the subscriber can put together his own personalized electronic publication, divided into sections obtained from different sources (provided the sources publish electronic editions of their publications), e.g. news articles from the New York Times, opinion columns from the Washington Post, sports from Sports Illustrated, etc. It will be appreciated that the present invention is not limited to the specific application described in detail hereinabove, nor is it limited to a client/server system connected via the Internet. The invention may be implemented in many other applications, all of which and any variations thereof are to be deemed within the scope of the invention. For example, the invention may be readily utilized within an organization, in publishing "on-line" various editions or issues of a newsletter or a catalog. It can also be used beneficially by individuals or organizations to produce compilations of archived materials, each compilation comprising different combinations of data, while all sharing a standard "look and feel" in accordance with the present invention.

Claims: CLAIMS 1 A method of automatically displaying on a computer screen a multiplicity of data objects of variable types and sizes in a multiple page layout, the method comprising the steps of: (a) determining a substantially rigid page structure for each page, each page structure comprising a set of commands defining a hierarchical set of spatial objects including the area of each spatial object and its position on the page and the formatting characteristics of the data object each spatial object may contain; (b) selecting the data objects for display; (c) ranking the data objects in an order of importance; (d) assigning sequentially at least one of the data objects to each of the spatial objects, the sequence based upon the hierarchy of the spatial objects on each page and the ranking order of the data objects; (e) automatically formatting each data object according to the formatting commands of the spatial object to which it has been assigned; and (f) displaying the data objects on the screen, page by page, each page according to its page structure. 2. A method according to claim 1 wherein the step of assigning also comprises the steps of : (a) ascertaining whether each spatial object has been completely filled by its assigned data object; and (b) in the event a spatial object has not been completely filled, assigning at least one additional data object to fill the remaining space. 3. A method according to claim 1 or claim 2 wherein the step of assigning also comprises the steps of: (a) ascertaining whether each data object can be fully displayed within the spatial object to which it has been assigned; and (b) in the event a data object cannot be fully displayed within the spatial object to which it has been assigned, assigning a first portion of the data object to the spatial object so as to fill the spatial object and assigning a second portion of the data object to a different spatial object on the same or a different page. 4. A method according to claim 3 and also including a "hyper-link" connection between the first and second portions of the data object. 5 A method according to claim 3 or claim 4 wherein the spatial object to which the second portion is assigned is part of a page structure of a "continuation" page for display of all second portions of data objects having first and second portions. 6. A method according to claim 1 wherein the data objects comprise any of the following: text, graphics, animation, video, audio, multi-media material, or inter-active applications. 7 A method according to any of the preceding claims wherein the spatial objects define at least one column on each page structure. 8 A method according to claim 7 wherein the spatial objects define three columns on each page structure. 9. A method according to any of the preceding claims wherein the data objects are stored in one or more computer files and each data object is identified by a tag indicating its type and rank and optionally links to other data objects associated with it. 10. A method according to any of the preceding claims wherein the multiplicity of data objects comprises text articles and other data disseminated as an electronic publication such as a newspaper or magazine. 11. A method according to any of claims 1-9 wherein the multiplicity of data objects comprises archival data stored as computer files. 12. A method of automatically displaying an electronic newspaper on a computer screen in a multiple page layout, the newspaper comprising a multiplicity of text articles, graphics and other data objects of variable types and sizes, the method comprising the steps of: (a) determining a substantially rigid page structure for each page, each page stnicture comprising a set of commands defining a hierarchical set of spatial objects including the area of each spatial object and its position on the page and the formatting characteristics of the data object each spatial object may contain; (b) selecting the text articles, graphics and other data objects for inclusion in the newspaper; (c) ranking the selected data objects in an order of importance; (d) assigning sequentially at least one of the selected data objects to each of the spatial objects, the sequence based upon the hierarchy of the spatial objects on each page and the ranking order of the data objects; (e) automatically formatting each selected data object according to the format commands of the spatial object to which it has been assigned; and (f) displaying the newspaper on the screen, page by page, each page according to its page structure. J 3 A method according to claim 12 wherein the step of assigning also comprises the steps of : (a) ascertaining whether each spatial object has been completely filled by its assigned data object; and (b) in the event a spatial object has not been completely filled, assigning at least one additional data object to fill the remaining space. 14 A method according to claim 12 or claim 13 wherein the step of assigning also comprises the steps of. (a) ascertaining whether each data object can be fully displayed within the spatial object to which it has been assigned; and (b) in the event a data object cannot be fully displayed within the spatial object to which it has been assigned, assigning a first portion of the data object to the spatial object so as to fill the spatial object and assigning a second portion of the data object to a different spatial object on a different page. 15. A method according to claim 14 and also including a "hyper-link" connection between the first and second portions of the data object. 16. A method according to claim 14 or claim 15 wherein the spatial object to which the second portion is assigned is part of a page structure of a "continuation" page for display of all second portions of data objects having first and second portions. 17. A method according to claim 12 wherein the data objects also comprise animation, video, audio, multi-media material, or inter-active applications. 18. A method according to any of claims 12-17 wherein the spatial objects define at least one column on each page structure. 19. A method according to claim 18 wherein the spatial objects define three columns on each page structure. 20. A method according to any of claims 12-19 wherein the data objects are stored in one oi more computer files and each data object is identified by a tag indicating its type and rank and optionally links to other data objects associated with it. 21. In a system for publishing over a computer network a newspaper having multiple subscribers, a„ method of automatically displaying in a multiple-page layout on each subscriber's computer screen different editions of the newspaper, each edition comprising a multiplicity of text articles, graphics and other data objects of variable types and sizes, with the "look and feel" of the newspaper as it is displayed on each subscriber's computer screen being substantially identical regardless of variations in the number or size of the data objects, the method comprising: (a) determining a substantially rigid page structure for each page of the newspaper, each page structure comprising a set of commands defining a hierarchical set of spatial objects including the area of each spatial object and its position on the page and the formatting characteristics of the data object each spatial object may contain; (b) selecting the data objects for inclusion in each edition; (c) ranking the selected data objects in an order of importance; (d) transmitting the data objects to each subscriber; (e) assigning sequentially at least one of the data objects to each of the spatial objects, the sequence based upon the hierarchy of the spatial objects on each page and the ranking order of the data objects; (f) automatically formatting each data object according to the format commands of the spatial object to which it has been assigned; and (g) displaying the newspaper on the subscriber's computer screen, page by page, each page according to its page structure 22 A method according to claim 21 wherein steps (a) to (d) are carried out on a server associated with the publisher of the newspaper and steps (e) to (g) are carried out on the client associated with each subscriber. 23 A method according to claim 21 or claim 22 wherein the step of assigning also comprises the steps of • (a) ascertaining whether each spatial object has been completely filled by its dss- iied data object; and (b) in the event a spatial object has not been completely filled, assigning at least one additional data object to fill the remaining space. 24 A method according to claim 21, 22 or 23 wherein the step of assigning also comprises the steps of: (a) ascertaining whether each data object can be fully displayed within the spatial object to which it has been assigned; and (b) in the event a data object cannot be fully displayed within the spatial object to which it has been assigned, assigning a first portion of the data object to the spatial object so as to fill the spatial object and assigning a second portion of the data object to a different spatial object on the same or different page WO 98/45788 _ ?6 - PCT/IL97/00122 25. A method according to claim 24 and also including a "hyper-link" connection between the first and second portions of the data object. 26. A method according to claim 24 or claim 25 wherein the spatial object to which the second portion is assigned is part of a page structure of a "continuation" page for display of all second portions of the data objects having first and second portions. 27 A method according to any of claims 21-26 wherein the data objects also comprise animation, video, audio, multi-media material or inter-active applications. 28. A method according to claim 21 wherein the spatial objects define at least one column on each page structure. 29. A method according to claim 28 wherein the spatial objects define three columns on each page structure. 30 A method according to any of claims 21-29 wherein the data objects are stored in one or more computer files and each data object is identified by a tag indicating its type and rank and optionally links to other data objects associated with it. 31. A method according to any of claims 21-30 wherein the step of selecting comprises selecting the data objects based upon a list of personal preferences obtained from each subscriber. 32. A method according to any of claims 21-31 wherein the newspaper is a magazine, a newsletter or other information provider

Inventors: ENGLER HAIM, TICK DREW, ENGLER, HAIM, TICK, DREW
Applicants: ENGLER HAIM, TICK DREW, ZEBRA SOFTWARE SOLUTIONS LTD, ENGLER, HAIM, TICK, DREW, ZEBRA SOFTWARE SOLUTIONS LTD.
Application year: 1997
Main classification: G06F17
IPC codes: G06F17