METHOD AND SYSTEM FOR SETTING BOOKMARKS IN ELECTRONIC DOCUMENTS
Technical field of the invention
The present invention relates to electronic documents and more particularly to a system and method for setting and managing bookmarks in electronic documents.
Background art
Electronic Documents
With the rapid development of digital means of communication, more and more information is available in an electronic form. End users have access to an ever increasing amount of information. This information contained in electronic documents, is stored either on end users local machines or remotely on servers. Electronic documents can have different formats, for instance (this is a non-exhaustive list):
• PDF (Portable Document Format, a format developed by the ADOBE Corporation),
• DOC (a document format used by WORD a software of MICROSOFT Corporation),
• HTML (Hyper-Text Mark-up Language),
• ASCII (American national Standard Code for Information Interchange), ... For instance, on the World Wide Web, online encyclopedias articles are available in HTML format. On private Intranet networks, information can be available in various formats : user guides can be in PDF, software code in ASCII, ... These documents are very often read directly on a screen in their electronic form. Most of the time, specific viewers are associated with a particular format. For example, ADOBE ACROBAT READER is associated with PDF, MICROSOFT WORD with DOC, MICROSOFT INTERNET EXPLORER or NETSCAPE with HTML and a text editor such as NotePad provided with the WINDOWS operating system with ASCII files.
Note : MICROSOFT, ADOBE, WINDOWS, WORD, ACROBAT READER, NETSCAPE are trademarks of their respective owner.
Bookmarks
In this context, there is a real need to provide users with some facilities to help them reading electronic documents with the same ease as paper documents. More particularly, there is a need for users, to define reference marks to save particular positions in the electronic documents they read.
Documents can be stored on a local machine or in a remote document management system server. The problem to define reference marks is that, if a document is located on a remote server, its access may be restricted and it may be forbidden for a standard user to edit it. Moreover, the format of the document may not be editable. If the document is scanned from a paper version and displayed in a graphical format such as JPEG (Joint Photographic Experts Group), the document cannot be modified anymore whereas if the document is in HTML or in text format, it can easily be modified or altered.
Prior Art
Some existing solutions address the problem of setting reference marks within an electronic document. There are typically two solutions:
• either the reference marks are predefined within the document, or • the user can use tools specific to the document format, to set reference marks. Conventional web browsing software has a particular function for storing and conveniently retrieving the URL (Universal Resource Locator) of frequently accessed WWW (World Wide Web) pages. For a specific page, the user saves a bookmark corresponding to the URL of the page. The standard format for web pages is HTML. It is possible to define anchors tag within an HTML document to pinpoint a specific position within the document. The user can then return to this specific position using for instance the following URL : www.foo.com/foo. html#anchor. This way, the HTML document can automatically be scrolled to the predefined location.
The same possibility exits with PDF documents. Bookmarks are predefined to allow users to go easily to particular locations. In a PDF document, the user can define himself bookmarks. For doing that, he must have a write access to the document and must be able to create these reference marks. For instance, to define bookmarks in PDF documents, the user must use Adobe Acrobat Writer.
US patent application 6,219,679 entitled "Enhanced User-Interactive Information Content Bookmarkincf Brisebois et al. (Nortel Networks) discloses a system and method for bookmarking a specific part of a page at a given URL accessed via a browser.
Problem
The existing solutions typically have two approaches:
• In a first approach, for documents of certain types (PDF, DOC, ...), there are specific applications to set reference marks within documents. The application edits the document code and insert the reference mark in the document (for instance, the application inserts an anchor in HTML within the document).
• In a second approach, an Internet environment is assumed : the document is browsed off the Internet through a unique browser and has an URL (see US patent No: 6,219,679 B1).
It is possible to define position bookmarks in documents having a specific format (such as PDF or DOC). However, the user must have :
• the right to have access to the document, and
• the tool to edit the document (for PDF documents, the user must have the software application "Adobe Acrobat Writer").
If documents are stored in a remote location, most of the time, users cannot edit them and thus cannot define new position bookmarks. It is possible to define anchors within HTML documents to pinpoint a specific location. However, once a HTML document is on a web server, said document cannot be edited any more by end users. End users have only an access to the document. Some documents formats (such as JPEG) don't allow the setting of a reference mark.
There is a need to enable users to define reference marks within electronic documents, independently of :
• the type of document,
• the viewer used to display the document, • the rights to access said document,
• the location of said document - either locally or remotely,
• the way of accessing the document - when the document is stored remotely.
Objects of the invention
It is an object of the present invention to enable a user to set a reference mark within an electronic document, called "position-bookmark", regardless of the document format, the system used to display the document, the document access rights, the location of the document (either local or remote) and the protocol used to retrieve the content of the document.
Summary of the invention
The present invention is directed to a method, system and computer program as defined in claim 1 for, in a computer system, managing bookmarks in electronic documents, said computer system comprising an operating system, a document viewer for displaying documents in one or a plurality of windows, each window comprising a cursor on a scroll bar for scrolling the displayed document and locating the portion of document currently displayed in the window.
The method comprises the steps of
• defining a bookmark in a document displayed in a window, said step comprising the steps of :
• receiving and identifying a command for setting a bookmark in a document displayed in a window, said command comprising : • means identifying the window where the document is displayed;
• identifying the relative current position, on the scroll bar, of the cursor of the window; • defining a bookmark for this document by associating in a bookmark table, • means identifying the window; preferably a window name, • means identifying said bookmark, preferably a bookmark name; and • the relative current position on the scroll bar of the cursor.
In a particular embodiment, the method comprises the further step of :
• restoring a bookmark previously set in a document, said step comprising the steps of :
• receiving and identifying a command for restoring a bookmark previously set in a document displayed in a window, said command comprising : • means identifying the window where the document is displayed; • means identifying the bookmark; • identifying in the bookmark table, the window where the document is displayed; • identifying in the bookmark table, the bookmark associated with the window where the document is displayed; • retrieving from the bookmark table, the relative scroll position of the cursor associated with the identified bookmark; • converting the relative scroll position of the cursor to an absolute scroll position; • displaying in the window, the portion of the document corresponding to the scroll position of the cursor retrieved from the bookmark table.
Further embodiments of the invention are provided in the appended dependent claims.
The foregoing, together with other objects, features, and advantages of this invention can be better appreciated with reference to the following specification, claims and drawings.
Brief description of the drawings
The novel and inventive features believed characteristics of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative detailed embodiment when read in conjunction with the accompanying drawings, wherein :
• Figure 1 is a general view showing the various elements involved in the invention.
• Figure 2 is a view of a window with its different features.
• Figure 3 is a flow chart of the method of saving a position-bookmark according to the present invention.
• Figure 4 is a flow chart of the method of restoring a position-bookmark according to the present invention.
• Figure 5 shows the position-bookmark table accor ing to the present invention.
• Figure 6 is the Graphical User Interface (GUI) associated with the method for saving a position-bookmark according to the present invention.
• Figure 7 is the GUI associated with the method for restoring a position-bookmark according to the present invention.
• Figure 8 is a dynamic view of the method for saving a position-bookmark according to the present invention.
• Figure 9 is a dynamic view of the method for restoring a position-bookmark according to the present invention.
Preferred embodiment of the invention
The following description is presented to enable one or ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
According to one embodiment of the present invention, a system and method is provided to set position-bookmarks within electronic documents independently of the document type, the document viewer, the user access rights and the protocol used to access the document.
System overview
Figure 1 depicts the different elements involved in the system and method of setting and managing bookmarks according to the present invention : • 101 : the end-user has an active role in the bookmarking process. He or she is in relation with : • the viewer of the document to bookmark (102) , • the window manager (104), and • the position-bookmark system (105). • 102: the document viewer is the system used to view, read or browse the electronic document. The document is displayed by the document viewer within a window described in Fig. 4. The document viewer can be Microsoft Internet Explorer for HTML documents, Adobe Acrobat Reader for PDF documents, etc. • 103: the operating system is the interface between the hardware (the computer itself) and the applications. The operati ng system can be Windows 2000, Linux or UNIX. • 104: the window manager system is the graphical interface between the end-user and the applications that are running on the operating system. This
system provides a user-friendly environment in order to display applications in windows (cf Fig. 4). For Linux, the window manager can be GNOME or KDE; for Windows, the window manager can be Litestep, but it is often integrated with the operating system and is referred to as Windows. • 105: the Position-bookmark system is the application used to position bookmarks within documents. It interacts with the operating system either to retrieve information from the window used to display the document or to set information in this window.
Window description Figure 2 depicts the window interface used to display the document by means of the document viewer. The window comprises several parts: • 201 : The window title is located on the upper part of the window. This title is set by the application. Usually, to be able to distinguish easily a particular window among all the open windows, the window title comprises the name of the application and the title of the document. • 202: The main area of the window is the body. The document is displayed in this area. Depending on the size of the window and the length of the document, only a portion of the document is displayed in this part of the window. Most of the time, either the width of the window, or the height of the window, or both are too small. • 203: the vertical scroll bar is used to represent the document as a whole. • 204: the cursor is used to help the user to locate within the document, the portion of the document currently displayed. • 205: the horizontal scroll bar may be present also in a window. It appears if the document doesn't fit in the width of the window. • 206: the beginning of the document indicates the top of the vertical scroll bar. The beginning of the document is an integer: min. • 207: the end of the document indicates the bottom of the vertical scroll bar. The end of the document is an integer: max:. The difference between max and min represents the length of the document. The position of the cursor (204) is therefore between the values min and max.
Position-bookmark SAVE flow chart
Figure 3 describes the process for saving a position-bookmark within a document. • 301 : The user opens the document to bookmark. The document is displayed in a window by means of the document viewer 102. This document can be anywhere on the network, accessed by means of any protocols, providing that the end-user is able to open said document on his/her local machine. • 302: Once the document is open, the end-user scrolls the document to the place where he wants to set a position-bookmark. For this, he/she uses the cursor (204) to locate the portion of the document displayed in the window. • 303: The end-user then opens the position-bookmark application and launches the SAVE application. The SAVE user interface is then displayed. • 304: The end-user then selects the window corresponding to the document to bookmark from a list (603) of open windows. In a preferred embodiment, the name of the top most window is displayed by default in the list 603. The window corresponding to the document in the list should be the same as in step 301. • 305: The end-user defines a name for this position-bookmark (605). • 306: the end-user clicks then on the SAVE button (606). The position-bookmark is then saved within the system.
Position-bookmark RESTORE flow chart
Figure 4 describes the process for restoring a position-bookmark previously defined for that document. • 401 : The end-user opens the document. The document is displayed in a window by means of the document viewer 102. This document can be anywhere on the network, accessed by means of any protocols, providing that the end-user is able to open said document on his/her local machine. • 402: The end-user then opens the position-bookmark application and launches the RESTORE application. The RESTORE user interface is then displayed. • 403: The end-user then selects from a list of open windows, the window corresponding to the document for which he wishes to restore the position-bookmark (703).
• 404: A list of available bookmarks associated with that document is then displayed (705). The end-user selects from the list, the position-bookmark corresponding to the desired position in the document. • 405: User clicks RESTORE (706). The window where the document is displayed is then updated at the desired position.
Position-bookmark table
Figure 5 describes the information stored in the position-bookmark table. • 501 : The bookmark name is set by the user during the SAVE process (305). The bookmark name is used to identify the bookmark, especially when several bookmark are defined for a same document. • 502: The window title is the title of the window (see 201) in which the document is displayed. • 503: The scroll position is the relative position of the cursor (204) in the vertical bar (203). If min (206) indicates the beginning of the document, max indicates the end of the document, and current the current absolute position of the cursor as it is defined by the operating system (103), then scroll position = (current - min) / (max - min).
Position-bookmark SAVE GUI
Figure 6 describes the SAVE position-bookmark user interface. This user interface comprises the following elements : • 601 : the title of the SA VE interface • 602: the name of the drop-down list (603). • 603: The list of windows that are currently open. The window title (201) is given as entry name. • 604: the title of the field (605) (on the left) used to enter the name of the position-bookmark. • 605: a free form field in which the user can enter the name of the position-bookmark. • 606: a SAVE button. This button is pressed by the user to execute the position-bookmark saving process.
• 607: a CANCEL button . This button is pressed by the user to cancel the position-bookmark saving process.
Position-bookmark RESTORE GUI
Figure 7 describes the RESTORE position-bookmark user interface. This user interface comprises the following elements : • 701 : the title of the RESTORE interface • 702: the name of the drop-down list (703). • 703: the list of windows that are currently open. The window title (201) is given as entry name. • 704: the title of the field on the left (705). • 705: the list of the position-bookmark names available for the document selected in 703. • 706: a RESTORE button. This button is pressed by the user to execute the position-bookmark restoring process. • 707: a CANCEL button. This button is pressed to cancel the position-bookmark restoring process.
Position-bookmark SAVE sequence diagram
Figure 8 describes in a sequential diagram, the detailed internal process for saving a position-bookmark associated with an electronic document according to the preferred embodiment of the invention. More particularly, this diagram describes the relationship between the different parties that intervene in the process : • 801 : the End-User (see 101). • 802: the Position-Bookmark Application (see 105), SAVE interface (see Fig 6). • 803: the Document Viewer (see 102). • 804: the Operating System (see 103).
The process comprises the following steps : • 805: The end-user opens the document by means of the document viewer (803). • 806: The document is displayed in a window by the document viewer (Fig 2).
• 807: The end-user scrolls the document to a desired position. The user may desire to create a bookmark to return rapidly to this position at a later time. The cursor (204) is then at a position x in the vertical bar.
• 808: The end-user opens the position-bookmark application (802). • 809: The position-bookmark application 802 retrieves from the operating system 804 the list of open windows with the window titles (201).
• 810: The operating system provides a handler to the primary window or children windows that are open. Thanks to this handler, it is possible to retrieve all the different parameters of the window, and especially • the window title (201 ) or/and • the cursor position (204). The cursor position comprises : • the absolute position of the cursor; • the absolute value min; • the absolute value max. This list is then displayed in the drop-down box 603.
• 811: From the drop down box, the end-user selects the document for which he/she wants to create a position-bookmark. The end-user enters a name for this bookmark and finally clicks on the SAVE button.
• 812: The position-bookmark application 802 retrieves the cursor (204) position from the operating system (804) and normalizes it (see details about this normalization process in reference 503).
• 813: The position-bookmark application 802 then stores this information. This can be done in a local file, in a remote database, or in any facility providing data persistency. The information stored (see Fig 5) is the following : • the position-bookmark name (defined in 605 and stored in the position-bookmark table 501), • the window title (201) (selected in the list 603 and stored in the position-bookmark table 502) and • the relative cursor (204) position (determined in step 812 step and stored in the position-bookmark table 503). The position-bookmark application 802 exits. The position-bookmark is saved.
Position-bookmark RESTORE sequence diagram
Figure 9 describes in a sequential diagram, the detailed internal process for restoring a position-bookmark associated with an electronic document according to the preferred embodiment of the invention. More particularly, this diagram describes the relationship between the different parties that intervene in the process :
• 901 : the End-User (see 101 ). • 902: the Position-Bookmark Application (see 105), RESTORE interface (see Fig 6). • 903: the Document Viewer (see 102). • 904: the Operating System (see 103).
The process comprises the following steps : • 905: The end-user opens the document by means of the document viewer (903). • 907: The document is displayed in a window (Fig 2). • 908: The end-user opens the position-bookmark application (902). • 909: The position-bookmark application (902) retrieves from the operating system 904 the list of open windows with the window titles (201). • 910: The operating system provides a handler to the primary window or children windows that are open. This list is then displayed in the drop-down box 703. • 911 : From the drop down box, the end-user selects the open window corresponding to the document for which he/she wants to restore a position-bookmark. • 912: The position-bookmark application (902) retrieves the list of position-bookmarks available for that document. The position-bookmark application relies on the window title to retrieve that list. The list is then displayed in the drop down box 705. • 913: From the drop down box, the end-user selects the position-bookmark he/she wants to restore. The end-user then clicks on the RESTORE button. • 914: The position-bookmark application (902) retrieves from the position-bookmark table, the characteristics of the position-bookmark:
• the window-title (502), and • the saved scroll position (503). The scroll position 503 indicate the relative position of the cursor (204) in the vertical bar (203). This relative position must be converted to an absolute position before it can be used. If min (206) corresponds to the beginning of the document, max corresponds to the end of the document, and current is the absolute position of the cursor as it is defined by the operating system (103), then current = min + (max - min) x scroll position • 915: The position-bookmark application (902), using the operating system (904) application programming interface (API) : • gets a handler to the window displaying the document of interest, • sets the window vertical scroll bar cursor (204) position to current (see 914), and. • updates the window displaying the document. • 916: The window in which the application viewer (903) displays the document is then updated. The position-bookmark application (902) exits. The position-bookmark is restored.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood that various changes in form and detail may be made therein without departing from the spirit, and scope of the invention.