SYSTEM AND METHOD FOR MANAGING PROJECTS USING
ACCESS RIGHTS
FIELD OF THE INVENTION
The present invention relates to providing a service over a network. In particular, the present invention relates to a collaboration service for projects.
BACKGROUND OF THE INVENTION
Many projects require the collaboration of multiple parties. One example can be seen in the printing industry. For example if a company wishes to market a fall promotion, it is likely that multiple people will be involved in creating the fall promotion, and once the promotion concept is created, an outside company, such as a printing company, is often hired to produce advertisements, catalogs, and other various deliverables. In many cases, the company might hire a creative agency to manage the creation of the promotion. The creative agency in turn typically hires a prepress agency or a printer to assist in the project. The prepress agency and the printer may each hire additional vendors to provide them with materials or a small portion of their job.
In another example, a financial institution may generate an internal document defining a new product. This internal document may include information such as the size, image, text, and how the resultant document should be folded. This information can be included in a print job specification and communicated, via fax, courier, or mail for example, to various printing companies to invite the printing companies to
bid for a particular job. The printing companies may then review the job specification and might reenter the specification in a different format on an internal document to estimate the cost of the requested job. The printing company may reenter the information due to differences in the buyer's system used to generate the original specification and the printer's system. For example, the buyer may request a particular typeface which might only apply to the buyer's computer system. One of the printers receiving the specification may need to convert the name of the typeface into an equivalent font used in his computer system. The printer may also need to reenter the specification to enter specific information required to generate an estimate that the buyer may have neglected to specify, such as a type of paper. Once each printer has determined an estimate, the estimate is sent back to the buyer. This estimate is commonly presented in an estimating document, the format of which is typically different for each printer. Likewise, the printer's format is typically different from the format of the original specification provided by the buyer. For example, the information, format, and terminology may be different from the original specification as well as from other estimates. It can be very difficult for the buyer to compare the various estimates. The buyer eventually picks a printer and often only contacts the selected printer while neglecting to contact the other printers who provided estimates. Once the printer begins work on the print job, there are typically numerous communications to ensure that files, specification, and all other materials such as art work and transparencies are received and updated to incorporate any changes. The printer will then typically produce a proof for the buyer and the buyer may have some changes which the printer will need to incorporate, typically in an iterative communication process.
There is typically a large amount of communication that is required between the buyer and the printer, particularly since it is often the case that the buyer has multiple people providing inputs and changes to the job specification during the print job, all of which needs to be coordinated and communicated to the printer. Likewise, any issues on the printer's side need to be coordinated at the printing company and communicated to at least one person, if not multiple people, at the buyer's side. Each new version or change can generate multiple communications that are required for approval and execution.
If a third agency is involved, such as a creative agency, then these multiple communications need to be coordinated between three parties. Likewise, each party, the buyer, the creative agency, and the printer, will typically have their own version of the print job. Each party must be careful to ensure that their version is the latest version and that version has been communicated to all the other parties involved to ensure consistency of versions. Examples of changes to the job specification include moving an image, changing the fold of the paper, changing font sizes, and changing the schedule for delivery of the finished product.
In all this confusion, it is typically very difficult for the buyer to maintain company records of projects and costs and time projections. These projects can also be a very people intensive process since each member of the team needs to be reached when a telephone call comes in with regard to approval for changes to the job specification. It can also be difficult for one team member to determine if every individual involved in the print job has agreed to or approved a particular change.
What is needed is a system and method for coordinating and managing such a project. The present invention addresses such a need.
SUMMARY OF THE INVENTION
According to an embodiment of the present invention, projects involving multiple parties are collaborated through a service accessed via a network such as the Internet. For example, a print job can be coordinated by having a buyer, a vendor, sub vendors, and clients of the buyer access a server through the Internet wherein all individuals involved with the print job works with a single updated specification that is uniform for all individuals involved. Additionally, according to an embodiment of the present invention, the coordination of the project includes managing communications involved with the project.
A method according to an embodiment of the present invention for managing a print project is presented. The method comprises storing a print specification, wherein the specification is associated with a URL on the Internet. The method also includes coordinating commumcations between a buyer and a printer regarding the print project, wherein the buyer and the printer both view the print specification through the URL on the Internet. A party is invited to join the print project; and a role is associated with the party, wherein the role is associated with an access right to information.
Another method for managing a print project according to an embodiment of the present invention is presented. The method comprises storing a print specification, wherein the specification is associated with a URL on the Internet;
inviting a party to join the print project; and associating a role with the party, wherein the role is associated with an access right to information.
A system according to an embodiment of the present invention for managing a print project is also presented. The system comprises a processor configured to store a print specification, wherein the specification is associated with a URL on the
Internet. The processor is also configured to coordinate communications between a buyer and a printer regarding the print project, wherein the buyer and the printer both view the print specification through the URL on the Internet. A party is invited to join the print project; and a role is associated with the party, wherein the role is associated with an access right to information. A memory coupled with the processor is also included. The memory is configured to provide the processor with instructions.
A method for managing a project according to an embodiment of the present invention is also presented. The method comprises storing a project description, wherein the description is associated with a URL on the Internet; inviting a party to join the project; and associating a role with the party, wherein the role is associated with an access right to information.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
FIG. 1 is block diagram of a computer system suitable for use with an embodiment of the present invention.
FIG. 2 is a block diagram of an embodiment of the present invention for managing a project.
FIG. 3 is another block diagram illustrating an aspect of a method according to an embodiment of the present invention for managing a project.
FIG. 4 is a flow diagram of a method according to an embodiment of the present invention for managing a project, such as a print project.
FIG. 5 is an example of a graphical user interface of a method according to an embodiment of the present invention for managing a project.
FIG. 6 is another example of a graphical user interface according to an embodiment of the present invention for managing a plurality of projects.
FIG. 7 is an example of a graphical user interface according to an embodiment of the present invention for tracking events associated with a project.
FIGs. 8 A - 8B are flow diagrams of a method according to an embodiment of the present invention for selecting a vendor for a project.
FIGs. 9 A - 9B show an example of a graphical user interface according to an embodiment of the present invention for a specification form that can be used by a buyer to describe the project.
FIG. 10 is an example of a graphical user interface according to an embodiment of the present invention for viewing vendor estimates submitted for a project.
FIG. 11 is a flow diagram of a method according to an embodiment of the present invention for managing a project and providing various access rights to selected individuals.
FIG. 12 is a flow diagram of a method according to an embodiment of the present invention for inviting potential members of a team associated with a particular project.
FIG. 13 is an example of a graphical user interface according to an embodiment of the present invention that can be used to select team members for invitation onto the team.
FIG. 14 is an example of a graphical user interface according to an embodiment of the present invention for viewing team members associated with a project.
FIG. 15 is an example of team member roles and rules associated with those roles according to an embodiment of the present invention.
FIG. 16 is a flow diagram of a method according to an embodiment of the present invention for notifying a team member about an event.
FIG. 17 is a flow diagram of a method according to an embodiment of the present invention for managing a project using publishing restrictions.
FIG. 18 is an example of a graphical user interface according to an embodiment of the present invention for use in providing a publishing restriction.
FIGs. 19A-19B is a flow diagram of a method according to an embodiment of the present invention for providing a publishing restriction.
FIG. 20 is a flow diagram of a method according to an embodiment of the present invention for managing a project using company hiding.
FIG. 21 shows an example of company hiding.
FIG. 22 is a flow diagram of a method of managing a project using company hiding according to a second embodiment of the present invention.
FIG. 23 is an illustration of a method according to an embodiment of the present invention for providing company hiding.
FIGs. 24A - 24C are block diagrams illustrating an example of company hiding.
DESCRIPTION OF SPECIFIC EMBODIMENTS
The following description is presented to enable one of ordinary skill in the art to make and to use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. 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.
Although the following description uses the example of print projects to illustrate the invention, the present invention is not intended to be limited to print projects. The present invention may be applied to any project that could benefit from management, such as the facilitation of negotiation, collaboration, and awarding of services. An example of such projects include media agency projects such as television advertisements, radio advertisements, the purchasing of radio air time, the purchasing of radio or television production time, purchasing related to website production projects, purchasing related to interactive product projects, legal agreement projects, real estate collaboration projects, and construction projects.
FIG. 1 is a block diagram of a general purpose computer system 100 suitable for carrying out the processing in accordance with one embodiment of the present invention. FIG. 1 illustrates one embodiment of a general purpose computer system. Other computer system architectures and configurations can be used for carrying out the processing of the present invention. Computer system 100, made up of various subsystems described below, includes at least one microprocessor subsystem (also referred to as a central processing unit, or CPU) 102. That is, CPU 102 can be implemented by a single-chip processor or by multiple processors. CPU 102 is a general purpose digital processor which controls the operation of the computer system 100. Using instructions retrieved from memory 110, the CPU 102 controls the reception and manipulation of input data, and the output and display of data on output devices.
CPU 102 is coupled bi-directionally with memory 110 which can include a first primary storage, typically a random access memory (RAM), and a second primary storage area, typically a read-only memory (ROM). As is well known in the art, primary storage can be used as a general storage area and as scratch-pad memory, and can also be used to store input data and processed data. It can also store programming instructions and data, in the form of data objects and text objects, in addition to other data and instructions for processes operating on CPU 102. Also as well known in the art, primary storage typically includes basic operating instructions, program code, data and objects used by the CPU 102 to perform its functions. Primary storage devices 110 may include any suitable computer-readable storage media, described below, depending on whether, for example, data access needs to be bi-directional or uni-directional. CPU 102 can also directly and very rapidly retrieve and store frequently needed data in a cache memory (not shown).
A removable mass storage device 112 provides additional data storage capacity for the computer system 100, and is coupled either bi-directionally or uni- directionally to CPU 102. For example, a specific removable mass storage device commonly known as a CD-ROM typically passes data uni-directionally to the CPU 102, whereas a floppy disk can pass data bi-directionally to the CPU 102. Storage 112 may also include computer-readable media such as magnetic tape, flash memory, signals embodied on a carrier wave, PC-CARDS, portable mass storage devices, holographic storage devices, and other storage devices. A fixed mass storage 120 can also provide additional data storage capacity. The most common example of mass storage 120 is a hard disk drive. Mass storage 112, 120 generally store additional programming instructions, data, and the like that typically are not in active use by the
CPU 102. It will be appreciated that the information retained within mass storage 112, 120 may be incorporated, if needed, in standard fashion as part of primary storage 110 (e.g. RAM) as virtual memory.
In addition to providing CPU 102 access to storage subsystems, bus 114 can be used to provide access other subsystems and devices as well. In the described embodiment, these can include a display monitor 118, a network interface 116, a keyboard 104, and a pointing device 106, as well as an auxiliary input/output device interface, a sound card, speakers, and other subsystems as needed. The pointing device 106 may be a mouse, stylus, track ball, or tablet, and is useful for interacting with a graphical user interface.
The network interface 116 allows CPU 102 to be coupled to another computer, computer network, or telecommunications network using a network connection as shown. Through the network interface 116, it is contemplated that the CPU 102 might receive information, e.g., data objects or program instructions, from another network, or might output information to another network in the course of performing the above-described method steps. Information, often represented as a sequence of instructions to be executed on a CPU, may be received from and outputted to another network, for example, in the form of a computer data signal embodied in a carrier wave. An interface card or similar device and appropriate software implemented by CPU 102 can be used to connect the computer system 100 to an external network and transfer data according to standard protocols. That is, method embodiments of the present invention may execute solely upon CPU 102, or may be performed across a network such as the Internet, intranet networks, or local area networks, in conjunction with a remote CPU that shares a portion of the processing. Additional mass storage
devices (not shown) may also be connected to CPU 102 through network interface 116.
An auxiliary I/O device interface (not shown) can be used in conjunction with computer system 100. The auxiliary I/O device interface can include general and customized interfaces that allow the CPU 102 to send and, more typically, receive data from other devices such as microphones, touch-sensitive displays, transducer card readers, tape readers, voice or handwriting recognizers, biometrics readers, cameras, portable mass storage devices, and other computers.
In addition, embodiments of the present invention further relate to computer storage products with a computer readable medium that contain program code for performing various computer-implemented operations. The computer-readable medium is any data storage device that can store data which can thereafter be read by a computer system. The media and program code may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known to those of ordinary skill in the computer software arts. Examples of computer-readable media include, but are not limited to, all the media mentioned above: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and specially configured hardware devices such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and ROM and RAM devices. The computer-readable medium can also be distributed as a data signal embodied in a carrier wave over a network of coupled computer systems so that the computer- readable code is stored and executed in a distributed fashion. Examples of program
code include both machine code, as produced, for example, by a compiler, or files containing higher level code that may be executed using an interpreter.
The computer system shown in FIG. 1 is but an example of a computer system suitable for use with the invention. Other computer systems suitable for use with the invention may include additional or fewer subsystems. In addition, bus 114 is illustrative of any interconnection scheme serving to link the subsystems. Other computer architectures having different configurations of subsystems may also be utilized.
FIG. 2 is a block diagram of a system according to an embodiment of the present invention for managing a project, such as a print project. In this example, information related to the project are stored and viewed on a server accessed via the Internet, such as through a uniform resource locator (URL). Information related to the project is herein referred to as the live job 200. The live job 200 can be accessed by parties invited to work on the project via a network such as the Internet. In the example of a print project, a printer 202, a buyer 204, a pre-press agency 206 and a mailing agency 208 can all access the information on the live job 200 and communicate with other parties on the job team via the live job 200.
The live job 200 can be stored on a database, such as a database produced by Oracle. Numerous live jobs 200, associated with numerous projects, can be stored on such a database on a server accessible via the Internet.
FIG. 3 is a block diagram showing examples of information that can be stored, viewed, and edited in the live job 200. Examples of such information include a specification describing the project, any files associated with the project, including
images and graphic files, messages, faxes, the project status, a project team setup, and estimates associated with the project.
FIG. 4 is a flow diagram of a method according to an embodiment of the present invention for managing a project, such as a print project. A buyer creates a description of at least a portion of the project (step 400). For example, the buyer creates a print specification for a print project. The specification is stored, wherein the specification is associated with a URL on the Internet (step 402). Communications between parties related to the project, such as the buyer and a printer, regarding the project is coordinated through the live job 200 (shown in FIG. 3) (step 404). The specification is viewed through the URL on the Internet (step 406). The specification can also be changed, wherein the changed specification is accessed through the URL (step 408).
FIG. 5 is an example of a graphical user interface according to an embodiment of the present invention for managing a project. In this example, a qualified user, such as a buyer of a particular project, can view information regarding the project. In this example, this project is a brochure. The status of the project can be viewed. In this example, an order for the project has been accepted. Messages can also be viewed regarding the project. The user can also view most recent events as well as team member information related to this project.
FIG. 6 is an example of another graphical user interface according to an embodiment of the present invention for managing a project. In this example, a qualified user, such as a buyer, can view all projects associated with that buyer.
Examples of information which may be viewed include the job number, a job name, the user's role in the project, a status of the project, a client associated with the project, a due date of the project, and a sales representative. Selected information, such as the status of certain projects, may be changed by a user, depending on the access privileges of the user. Further details of access rights related to a particular user is later discussed. For example, access privileges are discussed in conjunction with FIGs. 11-16.
FIG. 7 is an example of a graphical user interface for viewing tracking information according to an embodiment of the present invention. In this example, a user with appropriate access rights may view the current status of the project.
Examples of status information include new project, creation of an order, acceptance of an order, completion and shipment of a project, and delivery of a project.
The user may also view the project event tracking. Examples of information which can be viewed through the event tracking category include date, time, event, person, and comments. Examples of events that may be tracked include acceptance of an order associated with the project, creation of an order, the submission of an estimate, and the requesting of an estimate. These events, such as the submitted estimates, may be stored for the buyer's records. Accordingly, the buyer may have a complete history of the project including the dates of events, costs and updated costs associated with changes, and the various parties that were involved with the project.
FIGs. 8A-8B are flow diagrams of a method according to an embodiment of the present invention for obtaining an estimate for a project, such as a print project. A
user, such as a buyer, contacts a server via a network, such as the Internet (step 600). The buyer is presented with a preformatted specification form (step 602). An example of the preformatted specification form is shown in FIGs. 9A-9B. The buyer creates a specification by filling out the specification form (step 604). The resulting project specification is stored on the server, and can be accessed through a URL. The buyer is then presented with a list of vendors such as printers (step 606). The buyer may view further information regarding these vendors. The more detailed information may be stored in the same server or the buyer may be directed to a vendor website via a hyperlink, for example. The buyer selects printers from whom the buyer is interested in obtaining estimates (step 608). The selected printers are notified, such as via email, and requested to contact the server under a specific URL to provide an estimate for the project specification associated with the URL (step 610). These estimates are received from the selected printers and stored on the server (step 612). The buyer is then presented with the estimates from the selected printers (step 614). For example, the buyer may contact the server via the Internet and view the received estimates.
An estimate is then selected (step 616). The printers who submitted estimates but were not selected for the project are automatically notified, such as through email (step 618). The printer who submitted the selected estimate is also notified (step 620).
FIGs. 9A-9B show an example of a preformatted specification form that can be filled out by a user, such as the buyer of a print project. Examples of information that may be included in the specification, such as a print specification, includes category of the printed piece (such as a brochure), a job number, a job name, a job
description, a client company, a due date of the project, a reference identification, and various comments related to these issues. Size information of the print project may also be included, such as a flat size, a finish size, page count, cover style, and comments related to the size. Various quantities may be specified, and stocks and inks may also be specified. For example, the stock name may be identified, a type of stock, the finish, the weight, the coding, the color, and comments related to the stock. The inks may be specified by specifying various colors and processes, such as black, docutech, PMS colors, metallic ink, various coatings, wax-free inks, a double hit, ink coverage, bleeds, and comments for the inks.
FIG. 10 is an example of another graphical user interface showing estimates according to an embodiment of the present invention. In this example, the current specification for the project may be viewed, as well as estimate information associated with that specification. Examples of information that can be included in a request for an estimate include the status of the estimating process, the date and time the bids are due, and the due date of the project. Additional details may include the identification of the vendors to whom the request for estimates were (or are to be) sent.
Information related to the actual estimates from the vendors may also be viewed. Examples of information related to the estimates include the estimate number, the name of the company providing the estimate, the author of the estimate, the date and time the estimate was submitted, the expiration date and time of the estimate, and various estimates for certain variables, such as estimates for different numbers of copies for a print project.
FIG. 11 is a flow diagram of a method according to an embodiment of the present invention for managing a project and providing various access rights to selected individuals. A specification is stored, wherein the specification is associated with a URL on the Internet (step 800). The specification is viewed through the URL on the Internet (step 802). Communications between the buyer and the printer regarding the print project are coordinated (step 804). A party is invited to join the print project (step 806). A role is associated with the invited party, wherein the role is associated with an access right to information (step 808).
FIG. 12 is a flow diagram of an example for inviting a party to join a project, such as in step 806 of FIG. 11, according to an embodiment of the present invention. A creator of a job invites a potential member of the job team (step 900). It is then determined whether the invitee can invite others onto the job team (step 902). This determination is based on the selection of a role of the invitee (step 904). Each invitee is assigned a role associated with the particular project team. Each role has associated with it a set of rules applying to the assigned role. The rules associated with roles are later discussed with conjunction with FIG. 15. Communication, such as email, is automatically sent to the invitee notifying him of the invitation and contact information related to the project (step 906).
FIG. 13 is an example of a graphical user interface for choosing invitees by a user according to an embodiment of the present invention. In this example, the user, such as a buyer for a project, can select the people the user wishes to invite by selecting the invitees from an address book. Once the invitees are selected, the
invitations can automatically be prepared. This address book can be stored on the server associated with the project, and accessed via the Internet.
FIG. 14 is an example of a graphical user interface showing a user information related to team members associated with a particular project, such as a print project. In this example, information related to the team members include name, role, email address, phone number, company, date invited onto the team, date joined.
FIG. 15 is an example of a set of roles and a set of rules associated with such roles for the example of a print project. These sets of rules may be used in conjunction with step 904 of FIG. 12. Examples of roles for a print project include buyers, printers, designers, guests, clients, estimators, group members, and group managers. A buyer can be someone who wishes to obtain the services of a vendor. In this example, the printers are the vendors for the job. Designers, guests, and clients may also be asked to join a job team. The estimator role may be a temporary role used during the request and receipt of estimates until a vendor, such as a printer, is selected. A group members may be regular users in a company account. Group managers may be company account administrators who can see all of the print jobs created by anyone in their company account (their group). A group manager may run reports across all of the jobs in their account, for example.
Examples of actions that may be included among the privileges associated with a particular role includes viewing the job description, inviting a person onto the ob team, updating the job description, creating the project job, creating a request for estimate (RFE), viewing the request for estimate, creating an estimate, viewing the
estimate, creating an order, viewing an order, updating an order, accepting an order, accepting a pending order, inviting anybody onto the job team, inviting a printer onto the job team, inviting an estimator, creating a specification, updating a specification, deleting a specification, updating any specification, viewing any request for estimate, viewing any estimate, viewing any order, submitting a change for an order, viewing a specification, and viewing any specification. Updating a job can include changing any information associated with the whole print job such as names, descriptions and comments. Updating an order can include changing information on an order such as the P.O. number associated with a payment. Updating a specification can include changing the specification that describes the printing work that needs to be done such as changing a print job from two colors to four colors. Viewing a specification may be viewing the current specification, whereas viewing any specification may mean being able to view all versions of the specification.
An example of rules for buyers include the ability to perform all the actions listed above except for accepting an order, inviting anybody, inviting a printer, and inviting an estimator. Estimators and printers are special roles that can be assigned by the system during the job's life cycle. For example, there is no need to invite someone as an "estimator" unless a request for estimates has been generated describing the job for which the estimate is requested. Therefore, estimators may be "invited" by creating a request for estimate, which acts as a special kind of invitation. Likewise, a "printer" is job team member from a particular company account to whom the job has been awarded - i.e. to whom the order is sent. Printers may therefore be assigned automatically by the system when an order is created rather than being specifically
invited by the buyer. The buyer essentially "invites" a printer by selecting an estimate for a job.
Examples of rules for printers include being able to view a job, invite a person onto the job, create a job, view an order, update an order, accept an order, invite a printer, and view the job specification. An example of rules for designers includes being able to view a job, create a job, view the specification of a job, and view any specification.
An example of rules for guests include viewing the job, creating a job, viewing a job specification, and viewing any specification. An example of rules for clients include viewing a job, creating ajob, viewing the job specification, and viewing any job specification. Examples of rules for clients include viewing the job, creating ajob, viewing the job specification, and viewing any specification. Examples of rules for estimators include viewing ajob, inviting a person on the job, creating ajob, creating an estimate, creating a specification, updating a specification, deleting a specification, and viewing a specification.
Examples of a rule for group members includes viewing ajob. Examples of rules for group managers include viewing ajob, inviting a person on to the job, creating ajob, creating an order, and viewing a specification.
FIG. 16 is a flow diagram of a method for processing events for managing a project according to an embodiment of the present invention. An event occurs (step 1000). For example, the event may be that the estimates for a print project have been
received. Ajob team member is then selected (step 1008). It is then determined whether the event is relevant for the selected team member's role (step 1010). For example, if the selected team member is the buyer, then the event of receiving the estimate would be relevant to him. However, if the selected team member is a guest, then the event of receiving an estimate would not be relevant since the guest does not have the privilege of viewing the estimates according to the example of FIG. 15.
If the event is not relevant for the selected team member's role, then the next team member is selected (step 1016), and it is determined whether this event is relevant for this newly selected member's role (step 1010). If the event is relevant for this member's role, then it is determined whether this team member wants notification of the event (step 1012). If the team member has indicated that he wants notification of events, then the notification is sent to the particular team member (step 1018).
It is then determined whether this team member is the last team member (step 1014). Additionally, if the team member does not want notification (step 1012), then it is also determined whether this team member is the last team member (step 1014). If this team member is the last team member, then the processing of the event ends. If, however, this team member is not the last team member, then the next team member is selected (step 1016) and the processing of the event continues as described above.
FIG. 17 is a flow diagram of a method according to an embodiment of the present invention for managing a project using publishing restrictions. A specification is stored, wherein the specification is associated with a URL on the
Internet (step 1100). A team associated with the print project is provided (step 1102). A message is posted, wherein the posted message includes a publishing restriction, wherein the publishing restriction limits the members of the team who may view this message (step 1104).
FIG. 18 is an example of a graphical user interface which allows publishing restrictions according to an embodiment of the present invention. In this example, the user may enter a message and indicate with whom the message should be shared. Examples of parties with whom the message can be shared include the entire job team, people from a specific company, people with a specific role, or a specific individual. Additionally, the user can publish a message for his eyes only such that the message is not shared with anyone else other than the creator of the message.
FIGs. 19A-19B are flow diagrams of a method according to an embodiment of the present invention for managing a project using a publishing restriction. A team member creates a message (step 1200). It is then determined whether the team member is a project job creator (step 1202). If the team member is ajob creator, then it is determined whether this message is for the entire job team (step 1204). If the message is for the entire job team, then the message is posted and accessible to all members of the team (step 1214). If, however, the message is not for the entire job team (step 1204), then it is determined whether the message is only for a specific company (step 1206). Also, if the team member is not a project job creator (step
1202), then it is also determined whether the message is only for a specific company (step 1206). If the message is only for a specific company, then the company is
specified (step 1208), and the message is posted to team members of the specified company (step 1210).
If the message is not for a specific company (step 1206), then it is determined whether the message is meant only for a specific role (step 1212). If the message is only for a specific role, then the role is specified (step 1216), and the message is posted such that team members with the specified role may view the message (step 1218).
If, however, the message is not meant to be published only for a specific role (step 1212), then it is determined whether the message is only for a specific person (step 1300). If the message is meant only for a specific person, then the person on the job team is specified (step 1302), and the message is posted to the specified person (step 1304).
If the message is not for a specific person (step 1300), then it is determined whether the message is meant only for the creator of the message (step 1306). If the message is only meant for the creator of the message, then the message is limited to being viewed only by the creator of the message (step 1310). If, however, the message is not meant only for the creator of the message (step 1308), then the party to whom the message should be posted is identified (step 1306), such as a specific person on the team, a specific role on the team, a specific company associated with the team, or the entire team.
FIG. 20 is a flow diagram of a method according to an embodiment of the present invention for managing a project using company hiding. Company hiding, as used herein, includes a situation wherein a first party is unable to view or participate in the communications between a second party and a third party even when all of these parties are associated with the same overall project.
A specification is stored, wherein the specification is associated with a URL on the Internet (step 1400). Commumcations between the buyer and the printer regarding the project are coordinated (step 1402). The specification is viewed through the URL on the Internet (step 1404). A message is posted by a second party wherein a first party does not have access to the message if the first party was not directly involved with an invitation associated with this second party (step 1406).
FIG. 21 shows an example of company hiding. In this example, a buyer 1500 invites a first client 1502 as well as a vendor 1504 into ajob team for a particular project. The first client 1502 then invites a second client 1506 into the job team. The vendor 1504 invites a sub vendor 1508 into the job team.
The second client 1506 can view and participate in communications between himself and the first client 1502 since both parties were directly involved in the invitation of one of the parties. In this case, the first client 1502 invited the second client 1506.
The first client 1502can view and participate in communications between himself and the second client 1506, as well as communications between himself and
the buyer 1500 since the first client 1502 was directly involved with an invitation onto the job team of one of the communicating parties. The first client 1502 was directly involved with an invitation that brought the second client 1506 into the job team, and the buyer 1500 invited the first client 1502 into the job team.
The buyer 1500 can view commumcations between himself and his invitees, the first client 1502 and vendor 1504. Likewise, vendor 1504 can view communications between himself and his invitees, the sub vendor 1508. The vendor 1504 can also see communications between himself and the party who invited him, the buyer 1500. The sub vendor 1508 can view communications between himself and the party who invited him, the vendor 1504.
FIG. 22 is a flow diagram of a method of managing a project using company hiding according to a second embodiment of the present invention. In this example, the company hiding is shown as various layers of associated jobs with teams associated with these various jobs.
According to this embodiment, a specification for a first print project is stored, wherein the specification is associated with a URL on the Internet (step 1600). The specification is viewed through the URL on the Internet (step 1602). Communications between a buyer and a printer regarding the first project is coordinated (step 1604). A message is then posted, wherein a party associated with a second print project does not have access to the message, and wherein the second print project is associated with the first print project (step 1606).
FIG. 23 shows an example of various related print jobs and their associated teams, such as that described in step 1606 of FIG. 22. In the example shown in FIG. 23, a first print job 1700A is shown to include three members on its job team: party A 1702, party Q 1704, and party B 1706.
A second job 1700B is associated with the first job 1700A. An example of how the second job 1700B is related to the first job 1700 A is if a vendor of the first job has contracted a sub vendor to produce a portion of the project. The interactions between the vendor and the sub vendor are included in the second job 1700B in this example. The second job 1700B is shown to include three parties: party Q1704', party B1706', and party C1708.
A third job 1700C is shown to be associated with the second job 1700B. For example, a member of the second job team may have hired another a company to provide services for a piece of their project. The interactions between the member of the second job team and the newly hired company are included in the third job 1700C in this example. The third job 1700C is shown to include three parties: party B1706", party C1708', and part D17010.
For example, the first job 1700A may be a print project with party Q1704 as the buyer for the first job 1700A. In this example, party Q1704 invites parties A1702 and B1706. Assume that party B 1706 is a printer and party A 1702 is a client. For example, the buyer 1704 of the first job 1700A may be a creative agency working with the client Al 702.
Because the party Q1704 of the first job 1700A invited both parties A1702 and B 1706, party Q1704 can participate in communications between himself and parties A1702 and B 1706. Party A1702 can be involved with communications between himself and party Q1704 since both these parties were directly involved with the invitation of one of these parties (party A1702). However, party A1702 is not privy to viewing or being involved with communications between parties Q1704 and B1706 since party A1702 was not directly involved in the invitation of one of those two parties (Q1704 andB1706). Likewise, party B1706 has access to communications between himself and party Q1704 since party Q1704 invited party B 1706 into the first job 1700A. However, party B1706 does not have the privilege of viewing or participating in communications between parties A1702 and Q1704 since party B1706 was not directly involved in the invitation of one of those two parties. Accordingly, only the creator of the job, party Q1704 in this case, can publish a message to the entire job team as previously discussed in conjunction with FIGs. 17-19B.
The printer (party B 1706) then hires a sub vendor C 1708 to provide a portion of what is required in the first job 1700A, resulting in the creation of the second job 1700B. Accordingly, the printer B1706 of the first job 1700A becomes a buyer B1706' for the second job 1700B. The sub vendor that party B1706' has hired (party C1708) is invited to join the job team for the second job 1700B. Additionally, the buyer B1706' also invites the creative agency Q1704 (buyer of the first job 1700 A) into the second job 1700B as a client Q1704'.
In the second job 1700B, party Q1704' can participate in communications between himself and party B1706' but is not able to view or participate in
communications between parties B1706' and C1708. Likewise, party C1708 can participate in communications between himself and party B 1706', but is unable to view or participate in communications between parties B1706' and Q1704'.
Note that the buyer Q1704 of the first job 1700A can publish to the entire team of the first job 1700A, allowing all members of the first job 1700A to view this message. However, this message will not be viewed by members of the second job 1700B even though the second job 1700B is related to the first job 1700A. Accordingly, a first company working on a project which was originally commissioned by a second company may be hidden from the second company. For example, a large software company may hire an ad agency to execute a promotional concept. The agency may hire a printer to print brochures and labels and ads for this promotional project. The printer can be hidden from the software company such that only the ad agency deals with the printer. As far as the software company is concerned, the ad agency appears to be managing all aspects of the promotional project and can be presented with a single price and time estimate that encompasses all aspects of the project. Likewise, the printer that was selected to work with the ad agency on the promotional project may choose to hire a sub vendor, such as a smaller printing company to provide materials for the promotional project, such as the printing of envelops and inserts. In that example, the ad agency does not need to be aware of the sub vendor. Accordingly, communications between the printer and the sub vendor are hidden from the ad agency, thus providing company hiding of the sub vendor from the ad agency.
Each team member of a job, such as the second job 1700B, may create another job associated with the original job. For example, the sub vendor C1708 of the second job 1700B may create a third job 1700C and become the buyer C1708' of the third job 1700C. The buyer C1708' of the third job 1700C may invite a second sub vendor D1710 into the third job 1700C. Buyer C17081 may also choose to invite the party (B1706') who originally invited him onto the second job 1700B as client B1706" for the third job 1700C.
As in the other two jobs, 1700A and 1700B, party B1706" can view and participate with communications between himself and the party who invited him (C1708') but is then unable to view or participate with communications between party C1708' and party D1710. Likewise, party D1710 can participate in communications between himself and party C1708' (who invited him) but not view or participate in communications between parties C1708' and party B1706". Party C1708', as the party who invited both parties B1706" and D1710, can view and participate in communications with both parties.
The first party who originally invited a second party in a previous related job can automatically be included in the second job that was created by the second party. For example, party Q1704' may be automatically included as a client for the second ob 1700B. Alternatively, the creator of the new job (party B1706') can actively select or chose not to select every party invited to the new job. For example, party B 1706', as buyer of the second job 1700B, may actively select party Q1704 of the first job 1700A to be invited into the second job 1700B as client Q1704'.
FIGs. 24A-24C show examples of company hiding. In this example, a client 1800 hires an advertising agency 1802 to execute a promotional project. The ad agency manages magazine advertisements, websites, direct mail projects, and TV spots for the promotional project. In accomplishing this task, the ad agency 1802 contracts to work with a prepress agency 1804 and a printer 1806.
In FIG. 24B, the ad agency 1802 has hired the prepress agency 1804 to work on the magazine ad and the website and the printer 1806 to work on the direct mail project. In this example, the ad agency 1802 will have a first job coordinated through a URL with the prepress agency 1804 and a second job coordinated through another URL with the printer 1806. In the first job, the job team would include the client
1800, the ad agency 1802, and the prepress agency 1804. In the second job, the team would include the client 1800, the ad agency 1802 and the printer 1806. The client 1800 communicates with the ad agency 1802, but is unaware of the existence of the prepress 1804 and the printer 1806. Both the prepress agency 1804 and the printer 1806 are hidden from the client 1800. The client does not know, nor needs to know the existence of the prepress agency 1804 and the printer 1806 in this example, since the ad agency 1802 manages all communications with these companies. Accordingly, the prepress agency 1804 and the printer 1806 are companies that are hidden from the client.
In FIG. 24C, the prepress agency 1804 has hired a third printer 1810 to provide an insert for one of the magazine ads. Additionally, the printer 1806 has hired a second printer 1808 to provide envelops and a poster for the direct mail project. In this example, the existence of the second printer 1808 and the third printer
1810 are hidden from the ad agency 1802 such that the ad agency 1802 only needs to deal with the prepress agency 1804 and the printer 1806. Additionally, the client 1808 is still only aware of the ad agency 1802 and is unaware of the prepress agency 1804, the printer 1806, the second printer 1808, and the third printer 1810. Accordingly, these companies are hidden from the client 1800.
A method and system for managing a project has been disclosed. Software written according to the present invention may be stored in some form of computer- readable medium, such as memory or CD-ROM, or transmitted over a network, and executed by a processor.
Although the present invention has been described in accordance with the embodiment shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiment and these variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.