BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to organizing a job ticket that includes information describing the component files and print attributes of a print job and, in particular, to a method, apparatus, and article of manufacture for organizing the component files and the job ticket in a common directory.
2. Description of the Related Art
Network printing systems generally comprise an assemblage of different printers, client computers, servers, and other components connected over a network. A print job is assembled at a client computer and transmitted over the network to a server linked to a variety of printers. The printers may have different printing capabilities. Thus, for a given submitted print job, some printers in the network may not be able to process the print job. To route print jobs through a network printing system, International Business Machines Corporation (IBM) provides Printing Systems Manager (PSM) products that provide centralized and distributed management of a network printing system. The IBM PSM systems manage the flow of print jobs and insure that a print job is routed to a printer that can handle the job.
A print job is comprised of one or more electronically-stored files and the print attributes therefor. The print attributes inform the printer how to process the files. To assemble print jobs, prior art systems include software installed on the client computer that displays a graphical user interface (GUI). Using a mouse, keyboard, etc., the user selects from a menu of options displayed in the GUI the components and print attributes for a print job. The client computer, under control of the installed software, would then create an electronically-stored job ticket based on the information entered by the user.
Job tickets typically only define the print attributes for a single file. However, a document may be comprised of multiple files, each having one or more print attributes. In the prior art, an user putting together a document comprised of multiple files would have to manually keep track of the location of the different files and manually assemble the files for printing. Moreover, the user would have to insure that the job tickets submitted for each file include the proper print attributes. Print jobs comprised of multiple documents, which are further comprised of multiple files, only increase the complexity of the user's task. Thus, there is a need in the art for network printing systems that eliminate these problems and facilitate the printing of complex documents comprised of multiple files stored throughout the network printing system.
SUMMARY OF THE INVENTION
To address the requirements described above, the present invention discloses a method, apparatus, and article of manufacture for organizing files associated with a job ticket in a computer system linked to a storage device. The job ticket includes information on a document included in a print job, information on a plurality of files that are associated with the document, and location information indicating the location of the files.
The present invention determines a directory location in the storage device. The invention then accesses the files using the location information and copies the files and job ticket to the directory location in the storage device. In further embodiments, the invention modifies the location information to indicate that the files copied to the directory location are in a location relative to the location of the job ticket.
In yet further embodiments, if the directory location does not exist in the storage device, then the directory location is created in the storage device.
In alternative embodiments, the computer system may be comprised of a first computer and a second computer having a first storage device and second storage device, respectively, wherein a file associated with the document is stored in the second storage device. The first computer and second computer may be linked through a network. In such case, the file stored in the second storage device can be accessed and transmitted over the network to the first computer. The transmitted file is then copied into the directory location in the first storage device. In still further embodiments, the computer may have a monitor and input device, and display a field for entering the directory location using the input device.
It is an object of the present invention to develop a function that provides an improved system for organizing the information needed to prepare a print job described in a job ticket when the print job is comprised of several files.
It is a further object of the present invention to provide in a single job ticket information on the location of all files included in the print job.
It is still a further object of the present invention to store in a common directory location the job ticket and all files referenced in the job ticket which are needed to complete the print job defined by the job ticket.
It is yet a further object that when the job ticket and all associated files are copied from the directory location to another directory, that the job ticket indicate that all associated files are located relative to the job ticket. In this way, if the user copies the job ticket and all associated files from the common directory to a new location, then the job ticket references the files in this new location because the location information indicates that the files are stored in a location relative to the job ticket location. This allows the user to store, archive, copy, and otherwise manage all the components of the print job.
BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 is a block diagram illustrating an exemplary hardware environment for a network printing system in accordance with the present invention;
FIG. 2 is a block diagram illustrating a preferred embodiment of a job ticket data structure in accordance with the present invention;
FIGS. 3, 4a, 4b, 4c. 5a, 5b, 6a, 6b, 6c, 7a, 7b, 8, 9, and 10 illustrate a preferred embodiment of a graphical user interface (GUI) displayed on a monitor in accordance with the present invention; and
FIG. 11 is a flowchart that illustrates the general logic of a message or event-driven operating system and application program performing the steps of the present invention;
FIG. 12 is a flowchart that illustrates the general logic for a preferred embodiment of a routine performing the steps of the present invention.
FIG. 13a is a block diagram illustrating a job ticket in accordance with the present invention.
FIG. 13b is a block diagram illustrating a common directory location including the files and job ticket in accordance with the present invention.
FIG. 14 is a flowchart that illustrates the general logic for a preferred embodiment of a routine or organizing files in accordance with the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
In the following description, reference is made to the accompanying drawings which form a part hereof, and which is shown, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
Hardware Environment
FIG. 1 shows a preferred embodiment of a network printing system 2 adapted to incorporate the present invention. The network printing system 2 comprises a plurality of client computers 4a, b, c that are connected to an InfoPrint Multiple Printer Controller (MPC) server 6 via a network 8 (e.g., Token-ring, LAN, Ethernet, WAN, TCP/IP, etc.).
In the preferred embodiment, the client computers 4a, b, c comprise personal computers that execute under the control of an operating system, such as the WINDOWS operating system. However, those skilled in the art will recognize that the client computers 4a, b, c could comprise any type of computer such as a workstation, mainframe, etc., and the operating system could comprise any operating system, such as OS/2, OS/390, MVS, VM, AIX, MACINTOSH, UNIX, etc. Installed on each client computer 4a, b, c is InfoPrint Submit software 10. The InfoPrint Submit software 10 configures the client computers 4a, b, c to allow the user to create and submit a job ticket in accordance with the present invention. Attached to each client computer 4a, b, c is an input device 12a, b, c (e.g., keyboard, mouse pointing device, voice activated input device, touch sensitive display, etc.), monitor 14a, b, c (e.g., CRT, LCD displays, etc.), as well as a data communication device 16a, b, c (e.g. modems, network interfaces, etc.) to interface with the network 8.
In the preferred embodiment, the InfoPrint MPC server 6 is an RS/6000 workstation that executes under the control of an AIX operating system. However, those skilled in the art will recognize that the InfoPrint MPC server 6 could be comprised of any type of computer such as a personal computer, workstation, server, minicomputer, mainframe, etc., and the operating system could comprise any operating system, such as OS/390, MVS, VM, OS/2, WINDOWS, MACINTOSH, UNIX, etc. Installed in the InfoPrint MPC server 6 is a spooler/scheduler 20, a Print Services Facility (PSF) device specific subsystem (DSS) 22, an AIX DSS 24, and an IC70 DSS 26.
The spooler/scheduler 20 is comprised of the InfoPrint executable code and includes a suite of applications. The spooler/scheduler 20 receives print jobs from the client computers 4a, b, c and generates printer files that are transmitted to a printer 28, 30, 31 or 32 that can appropriately handle the print job. In this way, the user may elect to not specify a printer in the network printing system 2 and let the spooler/scheduler 20 select an appropriate printer 28, 30, 31 or 32.
After processing the print job and selecting a destination printer 28, 30, 31 or 32 for the job, the spooler/scheduler 20 sends the print job to one of the device specific subsystems PSF DSS 22, AIX DSS 24, and IC70 DSS 26. The DSS programs 22, 24, and 26 are device drivers for driving printers 28, 30, 31, 32 attached to the InfoPrint MPC server 6, wherein the PSF DSS 22 drives printers 28 and 30, the AIX DSS 24 drives printer 31, and the IC70 DSS 26 drives printer 32. In the preferred embodiment shown in FIG. 1, the printers attached to the InfoPrint MPC server 6 include an InfoPrint/60 printer 28, an InfoPrint/4000 printer 30, and an InfoColor/70 printer 32.
Also connected to the network printing system 2 is a library server 34 storing an InfoPrint library 36 of files and job tickets. In preferred embodiments, the library server 34 is a RISC System/6000 that executes under the AIX operating system and includes the IBM DB2/6000 database software which provides database management services for the library 36. However, those skilled in the art will recognize that the library server 34 could comprise a personal computer, workstation, mainframe etc. and the operating system could comprise OS/2, WINDOWS, UNIX, O/S 390, MVS, VM, etc., and that alternative database programs could be used in lieu of IBM's DB2/6000. In alternative embodiments, the InfoPrint MPC server 6 may be the hardware platform for the library server 34. The InfoPrint library 36 is a complete document storage system that archives printing files, application source data, fonts, images, TIFF data, etc. The client computers 4a, b, c may directly access, store, view and retrieve files and job tickets from the InfoPrint library 36. The hardware and software aitangement of the library server 34 and InfoPrint library 36 is further described in application Ser. No. 08/931,013, filed on same date herewith, by Leonard Corning Lahey, Dwight Ross Palmer, and John Stuart Walker, entitled "A Method for Organizing Files in a Library in a Network Printing System," pending and application Ser. No. 08/929,844, filed on same date herewith, by Leonard Coming Lahey, entitled "Method for Real Time Customization of a Dialog Box for Accessing a Library Within a Network Printing System," pending. Both these applications were incorporated by reference above.
It should be appreciated that, in alternative embodiments, the network printing system 2 may be comprised of components and products other than those discussed above. Moreover, the network printing system 2 can be implemented on different operating systems and hardware. For instance, hardware and software from manufacturers other than IBM may be used to perform the functions of the InfoPrint MPC server 6, the spooler/scheduler 20 and DSS drivers 22, 24, and 26, the library server 34, and the InfoPrint library 36. Printers having printing capabilities different from the disclosed printers 28, 30, and 32 may be used. Further, in alternative embodiments, any number of client computers 4a, b, c having alternative user interfaces may be used. Still further, the client computers 4a, b, c may connect to the InfoPrint MPC server 6 via multiple networks and remote lines. Those skilled in the art will recognize that other alternative hardware and software environments may be used without departing from the scope of the present invention. As such, the exemplary environment in FIG. 1 is not intended to limit the present invention.
Job Ticket
The present invention includes the data structure of an electronically-stored job ticket and the computer-implemented method, apparatus, and article of manufacture used to create the job ticket. The job ticket of the present invention maintains information on print attributes and the location of the print files which comprise the print job.
FIG. 2 shows a preferred embodiment of the hierarchical tree structure arrangement of data within a job ticket 40 as stored in a data structure in a memory or as stored as a file in a data storage device. The first record in the job ticket 40 is a job ticket attribute record 42, which includes identification information, such as the file name containing the job ticket 40, a job ID, the customer name, etc.
Within each job ticket 40 are also one or more document records, wherein FIG. 2 shows two document records 44 and 46. The document records 44, 46 include all the information the InfoPrint MPC server 6 needs to print a document included in the print job.
Each document record 44, 46 is associated with one or more part records. Document record 44 is associated with two part records 48 and 50. A part is the smallest component submitted to the printer for printing. For instance, if the document is comprised of a black and white text body with a color cover, one part 48 would be the black and white text and another part 50 would be the color cover.
Each part record 48, 50 is a grouping of one or more item records. Part record 48 is a grouping of two item records 52 and 54. An item record includes information on a component of the print job. In preferred embodiments, item records 52, 54 may include information on the following item types: a file item; a hardcopy item; a library file item; variable data; and an inventory item.
A file item is a print image file, such as a TIFF, PostScript, RIP, PDF or PCL file. Included in the item records 52, 54 is information on the location of the item, e.g., the location of the print image file within the network printing system 2 and the location of the source file from which the print image file item was generated. The user may want to know the location of the source file to modify the contents of the print image. The location information included in the item records 52, 54 is used to access the print image files for printing.
A hardcopy item is a list of scanned TIFF files.
A library file item is a file archived in the library 36. The library file item may include information on the location of the library file within the library 36.
Variable data includes files used to create customized print settings to add to the print job, e.g., adding the name and address of the customer to the printed document.
The inventory item includes information on an item to be packaged with the document 44, 46 which is not printed, such as a diskette, CD-ROM, etc.
Thus, an "item" includes print image files comprised of data representing graphical images that are associated with the file item, hardcopy item, library file item or variable data item. The item records 52, 54 also include information on files associated with the print image files for the item. Such associated files may include a source file from which the file item was generated, a Raster Image Processor format of the file item, and a viewable version of the format item. For instance, if the file item is a PostScript file, then the viewable version would be in the PDF file format. Other file types may also be associated with the items.
In the present invention, the job ticket 40 stores print attribute information, such as information on the layout of the printed page, the printer selected, the alignment of the page, and the look of the page, for each element included in the job ticket 40. As used herein, the term "element" means any of the document records 44, 46, part records 48, 50, and item records 52, 54 included in the job ticket 40. Any print attribute information set for an element at a higher hierarchical level in the tree applies to the elements at the lower hierarchical levels which branch from that higher element. For instance, print attribute information set at the document record 44 level automatically applies to the part records 48, 50 and the item records 52, 54 which branch from the document record 44. Print attribute information set at the part record 52 level likewise applies to the items 52, 54 branching therefrom. In this way, the lower level elements inherit the print attributes of the higher level elements from which they branch.
The print submission attribute record 56 includes information on the print job, such as scheduling options, priority, difficulty, ctc. The information in the print submission attribute record 56 does not affect what is printed, but instead concerns the work flow of the print job.
In preferred embodiments, print attribute information is stored as key/value pairs. The key is the mode or name of the attribute and the value is the value for the operation. For instance, to indicate a selection of a media type for a print job, the print attribute information would be stored as Input Bin/Tray 1. The key is the input bin containing the selected media, and the user selected value is the first tray. This key/value method for representing print attribute information is readily extendible. To add additional values for specific print attribute types, the new value would bc described with reference to its key. Thus, when the InfoPrint Submit software 10 and print driver programs 22, 24, 26 are processing the print attribute information, they immediately recognize the operation the value represents.
InfoPrint Submit Software
The job ticket 40 may be created on the client computer 4a, b, c using the InfoPrint Submit software 10 installed thereon. The InfoPrint Submit software 10 includes a graphical user interface (GUI) displayed on the monitor 14a, b, c that the user may use to create the job ticket 40. The InfoPrint Submit software 10 then translates the job ticket 40 created thereby to a format compatible with the InfoPrint MPC server 6.
The client computer 4a, b, c transmits this translated job ticket 40 along with the items identified in the item records 52, 54 to the InfoPrint MPC server 6 over the network 8. The InfoPrint MPC server 6 uses the information in the translated job ticket 40 to process the transmitted items 52, 54 and generate printer files based thereon. The InfoPrint MPC server 6 then selects an appropriate printer 28, 30, 31 or 32, to print the print job and transmits the printer files to the selected printer 28, 30, 31 or 32 for printing.
When printing copies of the items or a part including a group of items, the InfoPrint MPC server 6 prints a cover sheet on top of each set of copies including the information in the job ticket attribute record 42 to identify the set of copies. The user can then gather the copies generated at different printers throughout the network printing system 2 and assemble the final document using the information on the cover sheet for guidance.
In this way, the present job ticket invention maintains information on all the documents included in a customer order and all information needed by the InfoPrint MPC server 6 to print the different documents within a customer order.
Graphical User Interface
FIGS. 3, 4a, 4b, 4c, 5a, 5b, 6a, 6b, 6c, 7a, 7b, 8, 9, and 10 are illustrations of the graphical user interface (GUI) 60 provided by the InfoPrint Submit software 10. The user creates the job ticket 40 by entering information into different fields and selecting specific options presented in the GUI 60. Standard user interface mechanisms are preferably implemented in the GUI 60 to provide the user with the necessary functionality and ease of use.
FIG. 3 shows the GUI 60 presented to the user upon selecting the job ticket option via an icon or command. At the upper portion of the GUI 60 is a main menu item bar 62 that includes main menu items Ticket, Edit, Item, Options, and I Help. Selecting one of the main menu items with a mouse or keyboard command, invokes a further submenu of functions available to the user. Table 1 shows the submenus for each main menu item and functions included therein. Table 2 shows all the functions associated with each main menu item and provides a description of the behavior of each of the functions. Below the main menu item bar 62 is a tool bar 64 comprised of icons that represent certain functions. Below the tool bar 64 is an area presenting six fields labeled Name, Description, Customer, Job ID, Copies, and Library. These six fields comprise the information in the job ticket attribute record 42. The user places the cursor in one of the fields with the mouse and then enters the identification information.
The GUI 60 further includes a tree section 66 for displaying the elements (document records 44, 46 and item records 52, 54) associated with the job ticket 40. FIG. 3 shows only a single document element, Document 1. Associated with each element in the tree section 66 are print attribute page tabs 68a, b,c, d, e, which in the preferred embodiment are radio buttons displayed on the GUI 60. The user can cause the display of a Layout, Print, Align, Look, and Advanced print attribute page 70a, b, c, d, or e by selecting one of the corresponding print attribute page tabs 68a, b, c, d, e. FIG. 3 illustrates the Advanced print attribute page 70e, which includes fields in which the user may specify a transform option to override any conflicting attributes and to build a new document object.
FIGS. 4a, 4b, 4c, 5a, 5b, 6a, 7b, 7c, 8a, and 8b show the print attribute pages 70a, b, c, d associated with Document 1 in the tree section 66. Table 3 provides the print attribute pages 70a, b, c, d, e available for each type of element. FIGS. 4a, 4b, and 4c illustrate a preferred embodiment of the Layout attribute page 70a, in which the user may specify the layout of the printed pages. FIGS. 4a, b show drop down menus 72a, b, respectively, of layout options, e.g., whether the pages are printed side by side, booklet style, etc. FIG. 4c shows a drop down menu 74 of side options, e.g., to print on two sides, one side, etc. Table 4 provides a description of the values in the Layout attribute page 70a and the behavior of the Layout attributes.
FIGS. 5a, b illustrate a preferred embodiment of the Print attribute page 70b. FIG. 5a shows a drop down menu for a Printer type 76 field in which the user can specify any printer or a specific printer 28, 30, 31 or 32 to print the Document 1. If the user selects a specific printer 28, 30, 31 or 32, then the InfoPrint Submit software 10 modifies the range of print attribute values available in pages 70a, b, c, d, e to include only those print attribute values supported by the selected printer 28, 30, 31 or 32. FIG. 5b shows a drop down menu for a Paper type 78 field in which the user may select a paper type. Table 5 provides a description of the attributes in a preferred embodiment of the Print attribute page 70b and the behavior of the attributes.
FIGS. 6a, 6b, and 6c illustrate the Align attribute page 70c, which allows the user to specify the orientation and placement of the of the page. Table 6 provides a description of the attributes in a preferred embodiment of the Align attribute page 70c and the behavior of the Align attributes.
FIGS. 7a and 7b illustrate the Look attribute page 70d and accompanying drop down menus. The Look attribute page 70d includes fields in which the user can set the look of the printed output, e.g., standard, dark, etc., and identify the printer that will receive rasterized data. Table 7 provides a description of the attributes in a preferred embodiment of the Look attribute page 70d and the behavior of the Look attributes.
FIG. 8 shows a submenu 80 displayed when the user selects the Ticket item from the main menu item bar 62. The functions included in the submenus of the main menu items may be represented as an icon or alphanumeric string displayed in the GUI 60. The submenu 80 represents the functions as alphanumeric strings describing the function. The Ticket submenu 80 includes functions which allow the user to open a previously created job ticket (Open), create a new job ticket (New), save a job ticket the user has modified (Save or Save as), print the opened job ticket 40 (Print Ticket) or submit the job ticket to the InfoPrint MPC server 6 for printing (Submit Job). The Ticket submenu 80 further includes the Submit function which allows the user to enter the information for the print submission attribute record 56. The Submit function allows the user to select a File and Schedule pages into which the user may enter scheduling priority setting information for the job ticket 40. Tables 8 and 9 provide a description of a preferred embodiment of the fields and behavior of such fields in the File and Schedule pages.
Once the user creates a job ticket, the user may save the job ticket 40 or submit the job ticket 40 to the printing services manager 6 using the Save and Submit Job functions displayed in the Ticket submenu 80.
FIG. 9 shows an Open dialog box 82 that appears when the user selects the Open function from the Ticket submenu 80 (FIG. 8). The user may select and open one of the previously saved tickets displayed in the Open dialog box 82.
FIG. 10 shows the tree section 66 with two hardcopy items (Hardcopy 1 and Hardcopy 2) and two file items in PostScript format (alignbox.ps and 6.times.9.ps). The user may add, modify or delete elements from the tree section 66 using functions included in the Item and Edit main menu items. The Item submenu, shown in Table 1, includes functions which allow the user to add items, including files, hardcopies, library files, and variable data, and add documents. The user adds the hardcopy items using the Insert Hardcopy function and the PostScript file items using the Insert File function within the submenu of the Insert main menu item. The Edit submenu includes functions, shown in Table 1, which allow the user to modify the arrangement of the elements within the tree section 66, i.e., Move Up, Move Down, Remove, Delete.
FIG. 10 also shows a File attribute page 84 that appears when the user selects a particular file item with the mouse pointer. In FIG. 10, the user has selected the alignbox.ps file item. The file attribute page 84 allows the user to add information to the job ticket 40 on the location of the file item alignbox.ps and a source file from which the file item was generated. A file to print area 86 includes a File field 88 in which the user enters the location of the file item selected in the tree section 66, which in FIG. 8 is the directory path for the file "alignbox.ps." The user may enter the file location with a keyboard attached to the client computer 4a, b, c or the Browse radio button in the File to Print 84 area. The Browse radio button invokes a file manager GUI, such as is provided with the Microsoft Windows File Manager or Explorer programs. A file format field 90 indicates the format of the file item. This file format may be sniffed from the file name in the File field 88 or entered by the user. A source file field 92 provides the location of the original file from which the file item was generated. The user may enter the directory path for the source file in the source file field 84 using the keyboard or the Browse radio button.
Using the preferred embodiment of the present invention discussed above, the user may create a job ticket including documents and items, and set print attributes for the documents and items by selecting options in the print attribute pages 70a, b, c, d, e. As discussed, any setting at the document level within the tree section 66 applies to lower level items that branch from the document. There are primarily three ways to change the print attribute values available in the print attribute pages 70a, b, c, d, e. First, as discussed above, when a user selects a printer 28, 30, 31 or 32, the print attribute values reset to the values supported by the selected printer 28, 30, 31 or 32. Second, the InfoPrint Submit software 10 may occasionally query the InfoPrint MPC server 6 to obtain information on all the installed printers and printing options available. The InfoPrint Submit software would then modify the range of attribute values the user may select based on the information received from the InfoPrint MPC server 6 during the query. This process of querying the InfoPrint MPC server 6 to update printing options available on the client computer 4a, b, c is described in detail in the co-pending and commonly-assigned application Ser. No. 08/932,066, filed on same date herewith, by Deborah Elisabeth Neuhard, Robert Curt Nielsen, Dwight Ross Palmer, and Luana Vigil, entitled "Method For Customizing Print Attribute Choices Based On Selected Model, Media, And Printer," pending, which application was incorporated by reference above. Still further, the InfoPrint Submit software includes the feature of allowing attribute fields to be added, deleted or modified in the print attribute pages 140. Third, the user may modify, delete, and add print attribute fields to the print attribute pages 70a, b, c, d, e.
In the preferred embodiment of the GUI 60 as set forth in Tables 1-9, the GUI 60 does not include a function to create the part record 48, 50 discussed above. Users can only create document records 44, 50 and item records 52, 54. However, in alternative embodiments, the job ticket 40 could include part elements. In such case, one of the submenus for the main menu items would include a function for adding parts records to the job ticket 40, such as the parts 48, 50 discussed above with respect to the job ticket 40 embodiment of FIG. 2. Alternatively, a submenu may include a function for grouping items into a named part. Associated with each part record 48, 50 would be print attribute pages 70a, b, c, d, e which would include fields for the user to enter print attribute information for the part records 48, 50. As discussed, any print attribute information entered for the part records would apply to any item records grouped in the part record.
Operational Flowcharts
FIG. 11 is a flowchart that illustrates the general logic of the InfoPrint Submit software 10 according to the present invention. The InfoPrint Submit software 10 is event or message drive software, wherein operations are performed when transitions are made, based upon the receipt of messages or events, from present or current states to new states.
The general logic 100 begins by waiting at block 102 for an event (e.g., a mouse button click). It should be appreciated that during this time, other operating system tasks, e.g., file, memory, and video tasks, etc., may also be carried out. When an event occurs, control passes to block 104 to identify the event. Based upon the event, as well as the current state of the client computer 4a, b, c determined in block 106, a new state is determined in block 108. In block 110, the routine 60 transitions to the new state and performs any actions required for the transition. In block 112, the current state is set to the previously determined new state, and control returns to block 102 to wait for more input events.
The specific operations that are performed by block 100 when transitioning between states will vary depending upon the current state and the event. The various operations required to implement and maintain the present invention represent particular events handled by routine 100. However, it should be appreciated that these operations represent merely a subset of all of the events handled by any applications program or operating system.
FIG. 12 is a flowchart that illustrates more specific logic performed by the InfoPrint Submit software 10 when the GUIJ 60 is displayed as indicated at 114. The logic begins by waiting at block 116 for an event (e.g., a mouse button click signifying selection of a menu item). When an event occurs, control passes to blocks 118-139 to identify the events and perform associated functions.
Block 118 is a decision block that represents the client computer 4a, b, c determining whether a main menu item displayed on a main menu item bar 62 (FIG. 3) was selected and SingleClicked. If so, control transfers to Block 129; otherwise control transfers to block 122. Block 120 represents the client computer 4a, b, c displaying in the GUI 60 a submenu for the selected main menu item. From block 120, control transfers to block 124, which is a decision block that represents the client computer 4a, b, c determining whether a displayed function within the submenu was selected. If so, control transfers to block 126; otherwise control transfers to block 128. Block 126 represents the client computer 4a, b, c performing the selected submenu function. After performing the selected submenu function, control transfers to block 130, which represents the client computer 4a, b, c removing the display of the submenu. Block 128 is a decision block that represents the client computer 4a, b, c determining whether the user SingleClicked on an area of the GUI 60 outside of the displayed submenu. If so, control transfers to block 130, which represents the client computer 4a, b, c removing the display of the submenu; otherwise control transfers back to block 116.
Block 122 is a decision block that represents the client computer 4a, b, c determining whether an element (document, part or item) displayed in a tree section 66 of the GUI 60 (FIG. 3) is selected with a SingleClick. If so, control transfers to block 132; otherwise control transfers to block 139. Block 132 represents the client computer 4a, b, c highlighting the selected element to indicate its selection. From block 132, control transfers to block 134, which represents the client computer 4a, b, c displaying print attribute page tabs 68a, b, c, d, e (FIG. 3) associated with the element highlighted at block 132. From block 134, control transfers to block 136, which is a decision block that represents the client computer 4a, b, c determining whether a print attribute page tab 68a, b, c, d, e was selected. If so, control transfers to block 138; otherwise control transfers back to block 116. Block 138 represents the client 4a, b, c displaying a print attribute page for the selected print attribute page tab 68a, b,c, d, e, which in the case of FIG. 3 is the Advanced print attribute page 70e. Block 139 represents the client computer 4a, b, c performing other processing.
The various functions associated with a SingleClick event are determined by the current state of the InfoPrint Submit software 10. In many instances, the current state is represented visually on the monitor connected to the client computer 4a, b, c.
It should be appreciated that there are a large number of states, events and operations that are associated with the InfoPrint Submit software 10. Generally, these various operations performed by the InfoPrint Submit software 10 can be classified within certain categories:
while in any mode, selecting a main menu item from the main menu item bar 62 to display a submenu of functions;
after selecting an element (document, part or item) within the tree section 66 of the GUI 60, selecting the Item or Edit main menu items to modify or edit the tree structure arrangement of elements;
after selecting an element within the tree section of the GUI 60, selecting a print attribute page tab 68a, b,c, d, e for the selected element; or after selecting a print attribute page tab 70a, b, c, d, e, entering print attribute information on the displayed print attribute page 70a, b, c, d, e.
In preferred embodiments, the various operations described above are specifically related to the InfoPrint Submit software 10. Of course, those skilled in the art will recognize that the use of the present invention with computer programs may result in different operations (or potentially the same operations).
Also in the preferred embodiment, the identifier SingleClick is intended to indicate a default single click action, which uses the left mouse button. Other mouse buttons are indicated through the use of appended identifiers, such as (RightMouseButton), etc.
Of course, those skilled in the art will recognize that the use of any mouse button, keyboard sequence, voice command, or other user input is merely a design choice, and the functions performed by the present invention could be invoked by any number of different combinations of mouse buttons, keyboard sequences, voice command, or any other user input.
The Package Function
The present invention further includes a package function that allows the user to package and store the job ticket and all files associated with the job ticket in a common location. In preferred embodiments, the package function is implemented in the InfoPrint Submit software 10. FIG. 13a is a block diagram showing the file location information associated with a job ticket file 140 named "ajob.jtk." File ajob.jtk 140 has one document record 142 and two item records 144, 146. Item record 144 includes information on the postscript file "a.ps" and its location in the client computer 4a, b or c at local C:.backslash.drive--c:.backslash.foo.backslash.a.ps. A version of this file a.ps was created in a raster image processor (RIP) format form. This RIP version of a.ps is saved in the InfoPrint MPC server 6 at o:.backslash.pdata.backslash.a.rip. Thus, item record 142 is associated with a postscript file having an associated RIP file. Item record 144 is associated with PostScript file "b.ps" which is located in the InfoPrint library 36 at L:.backslash.library.backslash.print.backslash.b.ps.
The package function stores the job ticket and all associated files within a common directory, referred to herein as the "package directory." For instance, if the user selects the package directory to be "d:pack1.backslash.ajob," then the package function would copy ajob.jtk 140 and all associated files, a.ps, a176.rip, and b.ps, into this directory, as shown in FIG. 13b. Further, the package function would change the file location information in item records 144, 146 to point to the location of the file ajob.jtk 140. In this way, the item records 144, 146 indicate that the associated files are located relative to the location of the job ticket file, ajob.jtk 140.
In the preferred embodiment, the user could invoke the package invention using the GUI 60 discussed above to package the file presently opened in the GUI 60, such as file ajob.jtk. FIG. 8 shows the Package function within the Ticket submenu 80. Upon selection of the Package function, the GUI 60 displays a dialog box which prompts the user to enter a package directory into which all files associated with the job ticket presently opened in the GUI 60 will be saved. When the user enters this package directory in the dialog box, the InfoPrint Submit software 10 causes the client computer 4a, b, c to copy the job ticket opened in the GUI 60 and all files associated therewith, including files that reside in the InfoPrint library 36, client computer 4a, b, c or InfoPrint MPC server 6. If the user enters a new directory location not existing anywhere in the network printing system 2, then the client computer 4a, b, c would create the package directory location before copying the job ticket and files thereto. If the directory location the user enters already exists, then the client computer 4a, b, c will copy the job ticket and all files to this pre-existing package directory.
FIG. 14 is a flowchart that illustrates specific logic performed by the InfoPrint Submit software 10 when carrying out a preferred embodiment of the package function invention. The logic begins at block 150, which represents the user selecting the Package function from the Ticket submenu 80. From there control proceeds to block 152 which represents the client computer 4a, b, c displaying a dialog box in the GUI 60 which includes a field for the user to enter the package directory. In FIGS. 13a, b, the package directory is d:.backslash.pack1.backslash.ajob, the copied job ticket is file ajob.jtk, and the copied files include all files associated with item records 144, 146. Control then proceeds to block 154 which is a decision block representing the client computer 4a, b, c determining whether the entered package directory exists. If so, then control proceeds to block 155; otherwise block 156. Block 156 represents the client computer 4a, b, c creating a new directory for the package directory (d:.backslash.pack1.backslash.ajob). From block 156, control proceeds to block 155. Block 155 represents the client computer 4a, b, c accessing the first file (a.ps) associated with the first item record (144) in the first document record (142).
From block 155, control proceeds to block 158, which is a decision block representing the client computer 4a, b, c determining whether a file in the package directory has the same name as the accessed file. If so, then control proceeds to block 160; otherwise bloc 162. Block 160 represents the client computer 4a, b, c renaming the accessed file by adding an alpha-numeric character to the end of the name and then copying the renamed file to the package directory. Block 162 represents the client computer 4a, b, c, copying the accessed file to the package directory (d:.backslash.pack1.backslash.ajob). After either block 160 or 162, control proceeds to decision block 164 which represents the client computer 4a, b, c determining whether there are any files associated with the item records 144, 146 which have not been accessed. If so, then control proceeds to block 166, otherwise control proceeds to block 168. Block 166 represents the client computer 4a, b, c accessing the next file in the job ticket (ajob.jtk 140). From block 166 control proceeds back to block 158. Block 168 represents the client computer 4a, b, c copying the job ticket (ajob.jtk 140) to the package directory (d:.backslash.pack1.backslash.ajob) after all files have been copied. Control then proceeds to block 170 which represents the client computer 4a, b, c modifying the job ticket file 140 to indicate that the files associated with item records (144, 146) are located in the directory in which the copied job ticket (140) is located.
With the present package invention, all files needed for the print job described in the job ticket are now packaged in a common directory location. This invention is particularly useful if the user wants to copy the print job to a new location. All the user must do is copy all the files in the package directory (d:.backslash.pack1.backslash.ajob) to the new location. Moreover, the location information for all files associated with the item records 144, 146 indicates that the files are in a location relative to the job ticket. In this way, the packaged job ticket and associated files can be copied to different locations as needed and the job ticket automatically knows the location of the files included in the print job because such location is relative to the location of the job ticket.
Conclusion
This concludes the description of the preferred embodiments of the invention. The following describes some alternative embodiments for accomplishing the present invention.
For example, the client computer 4a, b, c and InfoPrint MPC server 6 may be any type of computer, such as a mainframe, minicomputer, work station, personal computer or combinations thereof operating under any suitable operating system. In addition, the client computer 4a, b, c may include any software program, application or operating system having a graphical user interface and performing the operations of the present invention. Still further, some or all of the functions described above as being performed by the client computer 4a, b, c could, in alternative embodiments, be performed by the InfoPrint MPC server 6, and vice versa.
Those skilled in the art will also recognize that the GUI and data structure may be modified to accommodate different types of print attributes other than those described above. Still further, the GUI may have a different appearance, layout and design then the GUI described above.
Still further, those skilled in the art will recognize that in the flowcharts set forth in FIGS. 11, 12, and 14, programming steps may be added, modified, deleted or performed in an order different than the order set forth in the preferred embodiments.
In summary, the present invention discloses a method, apparatus, and article of manufacture for organizing files associated with a job ticket in a computer system linked to a storage device. The job ticket includes information on a document included in a print job, information on a plurality of files that are associated with the document, and location information indicating the location of the files. The present invention determines a directory location in the storage device. The invention then accesses the files using the location information and copies the files and job ticket to the directory location in the storage device. The invention may further include the step of modifying the location information to indicate that the files copied to the directory location are in a location relative to the location of the job ticket.
The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.