Document processing in a cross-platform environment

Processing electronic documents includes retrieving a first electronic document located in a reference directory specified by a first path and searching for a second electronic document purported to be specified by a second path. If the second electronic document is not located at the second path, continue searching in a directory higher than the reference directory.

BACKGROUND OF THE INVENTION

The invention relates to document processing in a cross-platform environment.

Electronic documents, such as publication documents, typically have information content such as text, graphics, and tables, and formatting content that directs how to display the information content. The electronic documents may be associated with external files that also may contain text, graphics, and tables. The electronic documents may employ paths to reference the external files. Document publishing systems, which include word processing systems and desktop publishing systems, allow users to create, store and retrieve electronic documents and external files in a directory structure. The directory structure is a part of a file system which is managed by a computer system. The computer system operates under a particular computing platform that includes a particular operating system such as the Macintosh™ operating system, Windows™ operating system or other operating system. A computing platform may maintain a file system, a directory structure, and a path for referencing the electronic documents and external files that has a different structure from another computing platform.

It may be difficult for users to collaborate on a publication project involving electronic documents and external files because each user may be using a different computer system running a different computing platform. For example, a first user may create an electronic document and an external file on a first computer system running a first computing platform. The first computer system forms a path specifying the location of the electronic document and the external file based, in part, on the first computing platform. A second user may attempt to access the same electronic document and external file using a second computer running a second computing platform that is different from the first computing platform. The second computer may not recognize the path referencing the external file created by the first user because the path may not be compatible across different computing platforms.

SUMMARY

In one aspect of the invention, a method of processing electronic documents includes retrieving a first electronic document located in a reference directory specified by a first path and searching for a second electronic document purported to be specified by a second path. If the second electronic document is not located at the second path, continue searching in a directory higher than the reference directory.

Embodiments of the inventions may include one or more of the following features.

A path may be formed by specifying the location of the second electronic file and the path may include a drive designation and one or more directories.

The invention offers several advantages. It allows an application program to search automatically (i.e. without user involvement) in directories for an external file and a publication across different computing platforms. Moreover, the application program can search for external files and publications that have been moved to new directories.

Like reference numbers in the figures indicate like elements.

DETAILED DESCRIPTION

As shown inFIG. 1, a computer network10includes a server computer12that can communicate over a network16with one or more computers such as a first computer14and a second computer15. The server computer12is based on a first computing platform18that includes an operating system, e.g., a Windows™ operating system, Unix™ operating system, Macintosh™ operating system or other operating system. The first computing platform18provides for a directory structure20having one or more directory hierarchies for storing electronic documents and external files. For example, the directory structure20can include a directory structure with a first path22specifying the location of a first electronic document (publication)24and a second path26specifying the location of the second electronic document (external file)28. The first path22may be formed using a string of one or more path identifiers such as drive designations, directories names, and a filename of the publication.

The publication24includes a reference to the external file28, such as the second path26, to specify the location of the external file28. The second path26may be formed using a string of one or more path identifiers such as drive designations, directories names, and a filename of the external file. The external file28can contain data such as images and/or text that can be incorporated in the publication24. The syntax of the first and second paths22,26, may be dependent on the computing platform. For example, the starting portion of the path may include a path identifier specifying a server designation in a Macintosh™ operating system whereas in a Windows™ operating system the path identifier may specify a drive designation.

In this example, the first computer14is based on a first computing platform18that is similar to the platform used by the server computer12, whereas the second computer15is based on a second computing platform36that is different from the platform employed by the first computer14; The first and second computers14,15each include a publication program38that can allow a user to create and retrieve the publication24and the external file28.

An example of a publication program38is the InDesign™ program from Adobe Systems Incorporated of San Jose, Calif. When the publication program38is executed, it loads a publication selected by the user, such as the publication24. The publication program38executes a searching process40to search for external files, such as the external file28, using a reference to the external file29. The reference to the external file29specifies the location of the external file28using a path, such as the second path26, that includes a string of directory identifiers and the filename of the external file28. The searching process40is able to search for the publication24and/or the external file28using paths that may be different across different computing platforms. Moreover, the searching process40is able to search for the publication24and the external file28even if they were created in one directory structure and then subsequently moved to another directory structure.

FIG. 2shows a searching process40used by the publication program38to search for a publication24and an external file28referenced by the publication24. Referring toFIG. 1, a computer, such as the second client computer15, operating under a second computing platform36, executes the publication program38. The publication program38can prompt the user for a publication and the user can respond with a publication, such as publication24, which is subsequently retrieved100by the program. The location of the publication24is specified by the first path22which includes a reference directory and one or more directories higher than the reference directory concatenated together to form the path.

Referring toFIGS. 1 and 2, once the publication program38retrieves the publication24, the searching process40obtains102a reference to the external file28such as the second path26. The location of the external file28is specified by the second path26includes a reference directory and one or more directories higher than the reference directory concatenated together to form the path.

The searching process40searches104for the external file28using the second path26. A query is then made106as to whether the external file28has been located. If the external file28has been located, then the searching process40is complete and the publication program38returns112the external file28to the publication24.

On the other hand, if the external file28has not been located, the searching process40continues to search108for the external file by searching in the reference directory specified in the first path22. If the external file is not found in the reference directory of the publication24, the searching process40can search in directories higher than the reference directory specified by the first path22. As the searching process40continues searching in directories higher than the reference directory, the process may include searching down though a hierarchy of directories for the external file28.

A query is made110as to whether the file has been found. If the file has been found, then the file is returned112to the publication. Otherwise, an addition query is made114as to whether to continue searching for the file. The search for the external file28continues at108until the file is located or there are no directories higher than the reference directory specified by the first path22to search. If the external file28is not located, then the searching process40returns116to the publication an indicator that the file was not located.

FIG. 3illustrates an example of a searching process as applied to a particular computing environment. A server computer12based on a first computing platform18runs an operating system such as a Macintosh™ operating system. The server computer12includes a directory structure20for storing publications such as a publication24“page.indd”. The location of the publication24is specified by a first path22that includes a filename of the publication24“page.indd”, a reference directory “Section1“, a directory at a higher level than the reference directory “FirstEdition”, and a drive designation “SecureXfer”. The drive designation “SecureXfer” represents the server name of a network drive which contains the directory structure20.

The publication24references an external file28using a second path26. In a similar manner, the directory structure20includes a reference to the external file28. For example, the second path26specifies the location of the external file28and includes a filename of the external28“flower.tif”, a reference directory “Images”, a directory at a higher level than the reference directory “FirstEdition”, and a drive designation “SecureXfer”.

From the perspective of the first computer14, the directory structure20of the server computer12appears as a first directory structure74having a first path74aand a second path74b. The directory structure74is similar to the directory structure20because the first computer14and the server computer12are based on the same computing platform18.

With respect to the second computer15, the directory structure20of the server computer12is not automatically recognized because the second computer is based on a second computing platform36running a different operating system such as the Windows™ operating system.

From the perspective of the second computer15, the directory structure20can be represented in various forms depending on whether the second computer maps to the network drive represented by the drive designation “SecureXfer” of the directory structure20and depending on how this is accomplished.

For example, a directory structure70shows a directory structure that is formed when the drive designation “SecureXfer” is mapped to another drive designation “s” which represents the drive in which the directory resides. The directory70includes a first path70a“s:\FirstEdition\Section1\page.indd” based on the first path22and a second path70bs:\First\Edition\Images\flower.tif” based on the second path26. Similarly, a directory71represents the directory that is formed when the drive designation “SecureXfer;FirstEdition” is mapped to the drive designation “s”. The directory71includes a first path71a's:\Section1\page.indd” based on the first path22and a second path71b“s:Images\flower.tif” based on the second path26.

On the other hand, a directory73represents a directory structure that is formed when no mapping occurs, but instead when Windows Explorer™ is employed to recognize the directory structure20. The paths that form the directories70,71,73on the second computer differ from the paths that form the directory structure20on the server computer12. Nevertheless, the server process40discussed above with reference toFIG. 2is capable of handling such differences in path structures.

When the second computer15executes the publication program38, it prompts a user for a publication. In response, the user enters a publication, such as publication24. The publication program38retrieves the publication24located at a reference directory specified by the first path22. Since the publication24references the external file28, the searching process obtains the second path26to the external file28. The second path26is not recognized by the searching process40because of the difference in path structures employed by different computing platforms. Instead, the searching process40searches for the external file28in the reference directory of the publication24. If the external file24is not found in the reference directory, the searching process40continues to search at a directory higher than the reference directory specified by the first path. As the searching process40continues searching in directories higher than the reference directory, the process may include searching down though a hierarchy of directories for the external file28.

For example, it is assumed that the publication24“page.indd” was created on the Macintosh™ operating system and is referenced by the first path22. The publication24references the external file28“flowers.tif” using the second path26. If the directory70is used, then the searching process40uses the first path70ato search for the external file28in the reference directory “Section1” of the publication “page.indd”. Since the external file28is not located in the reference directory of the publication “Section1”, the searching process40subsequently searches in a directory “FirstEdition” higher than the reference directory of the publication “Section1”. As the searching process40continues searching in directories higher than the reference directory, the process may include searching down though a hierarchy of the directory “FirstEdition” for the External file28. The searching process40finds the external file28in the directory “Images”.

In another example, the searching process40applies a similar searching method to the directory71. In this case, the searching process40searches the reference directory of the publication “Section1”for the external file28. Since the external file28is not found in the reference directory of the publication “Section1”, the searching process40continues to search in directory “s:\” which is higher than the reference directory of the publication28. The search of the directory “s:” includes searching down the directory hierarchy including directory “Images”. The external file28is found in the directory “Images”.

The searching process40can be used when the second computer has not created a mapping of the directory structure20. The directory73represents how the second computer15views the directory structure20when it is not mapped. The searching process40searches for the external file at the reference directory “Section1”. Like the case using the directories70,71, the external file28is not found in the reference directory “Section1”. The searching process40continues to search for the external file28at a directory “FirstEdition” which is at a higher level than the reference directory “Section1”. The searching process40searches down the directory hierarchy and finds the external file28in the directory “FirstEdition\Images\”.

Referring toFIG. 4, the searching process40searches for external files referenced by a publication in directory structures that have been moved to a new location on the same computing platform. The original path60includes the reference directory specifying the location of the external file “flower.tif”. The new paths62,64,66,68represent the paths including the reference directories specifying the new location of the external file “flower.tif”. The searching process40can locate the external file “flower.tif” by searching any of the new paths62,64,66,68as long as the new location of the external file is in one of the reference directories.

To provide for interaction with a user, the invention can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer system. The computer system can be programmed to provide a graphical user interface through which computer programs interact with users.