SYSTEM AND METHOD FOR PROCESS MANAGEMENT WITH IMPROVED FLEXIBILITY

Abstract: An enterprise computing system is provided. The system may be based on a client/server model. In one embodiment, a server computer system is provided that may store various server applications. The server computer system may store a messaging system for transferring information between users. The server computer system may also store a file repository for storing documents. The server computer system may also store a relational database for storing status information, knowledge hierarchies and project configuration information. The server computer system may further include a web server or other type of access application for enabling access to information in the memory medium of the computer system. One or more client computer systems may be provided. Each of the client computer systems may include various client application software programs. A process management tool may be provided for managing work processes. An information browser for browsing processes, documents and discussions within the enterprise computing system may be provided. Search application software for performing searches on predefined web sites, public files, databases, and file directories for documents may be provided on a client system. A locator application for locating users, such as domain experts, based on a predefined knowledge topology comprised within the network may be provided on a client system. The component tools and applications in the enterprise computing system may collaborate in the management of projects, processes, tasks, users, documents and data. Interfaces may be provided in the tools and applications for accessing, adding, deleting, and modifying documents, projects, processes, tasks, users, and data in other applications and tools.

Description: TITLE: SYSTEM AND METHOD FOR PROCESS MANAGEMENT WITH IMPROVED FLEXIBILITY Field of the Invention The present invention generally relates to computer software programs and databases to be used in enterprise computer systems More particularly, the present invention relates to an enterprise computmg system based on a client/server model for managing projects including processes, tasks, data, resources, and people Description of the Related Art Enterprise computer systems have generally been available to support work that is required to be done jointly by a number of people An enterprise computer system generally mclude several components that are used in various ways in the support of work An enterprise computing system may include a server system One or more server applications or services may be provided by the server system Server applications and services may mclude a messagmg system for transferring information between users, a file repository for storing documents, and a database for stoπng enteφπse computer system data A web server may also be included to provide web-based access to the server and its applications and services An enteφπse computer system may also include client systems Client systems generally includes tools and applications useable to access the services, applications and data on the enteφπse server system A client system may mclude a process management application useable to create and manage computer representations of workflows, or processes A process management applicahon can generally be defined as software which manages and controls the flow of work items or tasks from one function to the next m a well defined application process to achieve complete processmg of these work items A client system may also mclude a browser tool for browsmg information in the enteφπse computer system A client system may also mclude search tools useable to search for data of vaπous types in the enteφnse computer system One problem with existmg enteφπse computer systems is that the various components that make up a comprehensive enteφπse computer system are provided by more than one vendor Therefore, the components tend to not be mtegrated into a system where the components can collaborahvely manage the processmg of work m an organization Documents, databases, and other resources tend to be m different formats, and interfaces from one apphcation or tool to another application, tool or service may not exist Installation and configuration of the components is typically done component by component Thus, it is desirable to provide an enteφπse computer system wherein the components are mtegrated into a system that shares resource formats, provides interfaces among components, and provides an mtegrated installation and configuration process Another problem with existing enteφπse computer systems is that they tend to be inflexible because they enforce strict control on the order that events may happen in a workflow Thus, it is desirable to provide an enteφπse computer system that is flexible and does not force control, but allow events to happen in parallel in any order This is more like how teams of knowledge workers actually work m the real world Summary of the Invention An enteφπse computmg system is provided In one embodiment, the system may be based on a client/server model The system may be configured for managing projects including processes, tasks, data, resources, and people In one embodiment, a server computer system is provided that may store various server applications The server computer system may store a messaging system for transferring mformation between users In one embodiment, the messagmg system is the Microsoft Exchange Server Application Program available from Microsoft Coφoration The server computer system may also store a file repository for stoπng documents The server computer system may also store a relational database for stoπng status information, knowledge hierarchies and project configuration mformation The server computer system may further mclude a web server or other type of access application for enablmg access to information in the memory medium of the computer system In one embodiment one or more client computer systems are provided Each of the client computer systems may mclude vaπous client application software programs A process management tool may be provided for managmg work processes An mformation browser for browsmg processes, documents and discussions within the enteφπse computmg system may be provided Each client system may mclude search application software for performmg searches on predefined web sites, public files, databases, and file directones for documents Each client system may further mclude a locator application for locating users, such as domam experts, based on a predefined knowledge topology compπsed within the network The component tools and applications in the enteφπse computmg system may collaborate m the management of projects, processes, tasks, users, documents and data Interfaces may be provided m the tools and applications for accessmg, addmg, deleting, and modifying documents, projects, processes, tasks, users, and data m other applications and tools For example, an expert located us g the locator applicahon may be added to a role m a process m the process management applicahon from the locator applicahon interface Brief Description of the Drawings Figure 1 illustrates an Enteφπse Computmg System accordmg to one embodiment of the mvenhon, Figure 2A illustrates a server system with vaπous server applications m an Enteφπse Computmg System accordmg to one embodiment of the mvenhon, Figure 2B illustrates a client system with vaπous client applications m an Enteφπse Computing System accordmg to one embodiment of the mvenhon, Figure 3 illustrates one embodiment of a computer display screen m one embodiment of an information browser, Figure 4 illustrates one embodiment of a computer display screen showing a project's Gantt Chart one embodiment of a process management applicahon, Figure 5 illustrates one embodiment of a computer display screen showmg a task's team members in one embodiment of a process management applicahon, Figure 6 illustrates one embodiment of a computer display screen showmg a task history m one embodiment of a process management applicahon, Figure 7 illustrates one embodiment of a computer display screen showmg a task's status m one embodiment of a process management applicahon, Figure 8 illustrates one embodiment of a computer display screen for initiating a locator search for an expert m one embodiment of a locator applicahon, Figure 9 illustrates one embodiment of a computer display screen showing a personal profile for one embodiment of a locator application, Figure 10 illustrates one embodiment of a computer display screen for initiating a search of the enteφπse computing system m one embodiment of a search application, Figure 11 illustrates one embodiment of a computer display screen for a user's search subscπphon display m one embodiment of a search applicahon Detailed Description of the Invention Figure 1 - An Enteφπse Computmg System accordmg to one embodiment of the mvenhon Figure 1 illustrates an Enteφπse Computmg System accordmg to one embodiment of the mvenhon Figure 1 illustrates a simplified example of an Enteφπse system for managmg information and workflow processes However, it is noted that the present mvenhon may be mcluded m any of vaπous types of systems as desired Figure 1 mcludes at least one server computer system 102 that connects through a network 104 to one or more client computer systems 112A and 112B The server computer system 102 may compπse vaπous standard components, mcludmg one or more CPUs, a memory medium, one or more buses, etc In a similar manner, each of client computer systems 112A and 112B may compπse standard computer components such as a CPU, memory medium, etc The network 104 may be any of vaπous types of local area network or wide area network, mcludmg the Internet Figure 2A - A server system with vaπous server applications m an Enteφπse Computmg System accordmg to one embodiment of the mvenhon The server computer system 102 shown m Figure 1 may store vaπous server applications As shown m Figure 2A, the server may store a messagmg system for transferring information between users The messagmg system is preferably the Microsoft Exchange Server Applicahon Program available from Microsoft Coφorahon The server computer system may also store a file repository for stoπng documents The server computer system 102 may also store a relahonal database for stoπng status information, knowledge hierarchies and project configuration information The server may further mclude a web server or other type of access applicahon for enablmg access to mformation m the memory medium of the server 102 In one embodiment, there is a single server side mstallation program to mstall all of the server side components of the enteφπse computmg system Figure 2B - A client system with vanous client applications m an Enteφnse Computmg System accordmg to one embodiment of the mvenhon Each of the client computer systems, such as clients 112A and 112B shown m Figure 1 may mclude vaπous client application software programs such as shown m Figure 2B For example, each client computer system may mclude a process management tool 142 for managmg work process Each client may also mclude an information browser 144 for browsmg processes, documents, discussion, and other sources of information within the enteφπse Each client may also mclude search applicahon software 146 for performmg searches on predefined web sites, public files, databases, and file directones for documents Each client 112A and 112B may further include a locator application 148 for locating users, such as domain experts, based on a predefined knowledge topology comprised within the network In one embodiment, there is a single client side mstallation program to mstall all of the client side components of the enteφπse computmg system Figure 3 - One embodiment of a computer display screen in one embodiment of an mformahon browser Figure 3 illustrates one embodiment of a display screen mterface in one embodiment of an mformahon browser Figure 3 illustrates how the mformahon browser may display a set of projects For a given project, the mformahon browser may display Processes, process templates (conceptually like a spreadsheet template), documents, and discussions In one embodiment, industry specific data types may be added to projects, for example, oil well mformahon, seismic mformahon, etc The informahon browser may serve as a portal, or entry point into the other client applications illustrated m Figure 2A In Figure 3, the display screen may mclude one or more toolbars 200 Each toolbar may mclude one or more icons useable to perform functions m the informahon browser A Project Tree panel 202 may display the data available for buildmg projects and the projects that currently exist The Project Tree panel may mclude one or more hierarchies, mcludmg a "My Data Source" hierarchy and a "My Projects" hierarchy Selectmg a project may make it the current project, and may display mformahon about the project in view area 203 A view area 203 is where the user may perform vaπous tasks that concern data, mcludmg viewmg the contents of data sources m data gπds or wmdows, viewmg the contents of projects m data gπds or wmdows, creating, deleting, and editing data, launching third party applications, and, running enteφπse workflow system applications In this example, a gπd 204 displays vaπous processes for the project Test Selectmg a process m gπd 204 may display details about the selected process m a gπd 206 Project documents may be displayed m a gπd 208 Project discussions may be displayed in a gπd 210 Figure 4 - One embodiment of a computer display screen showmg a project's Gantt Chart in one embodiment of a process management applicahon Figure 4 illustrates one embodiment of a process display screen m one embodiment of a process management applicahon, showmg a project's Gantt chart Selectmg a process from the process gπd 204 m the mformahon browser may result m displaying the selected process m a process management applicahon process display screen The Gantt chart view allows a user to see a quick summary of all achvates in a process in the form of a Gantt chart The Gantt may be one of several process summary views available to the end user In one embodiment, process summary views mclude Role diagrams, which show people and their roles across vaπous related achvihes Each Process may mclude a set of tasks The relationships among tasks may be represented in a hierarchy, or tree, relationship In some embodiments, other relationship topologies, such as networks of tasks, may be supported Each task also mcludes a set of properties that may be stored m a database Task properties may mclude instructions and results documents, task status mformahon, team members and individual subscπphons (tell a team member when certain events happen, e g when the status of this task changes), a notebook that may hold any document or file type, a discussion area where team members may hold and persist discussions about the task, a task overview, and a detailed history, or audit trail, of changes made to the task Some embodiments of the process management apphcation may include additional task property pages, for example, votmg pages, uncertainty, links page to related docs, web sites, etc Some embodiments may mclude a method for addmg new types of properties pages In some embodiments, new types of property pages may be added without reprogrammmg the core applications In some embodiments, the system may be extensible, allowmg the extension of the system with mformahon that supports more specific new task types by addmg new types of property pages In Figure 4, the process display screen may mclude one or more toolbars 220 Each toolbar may mclude one or more icons useable to perform functions m the process management applicahon A task hierarchy may be displayed m a panel 222 One or more tabbed panels 224 may be mcluded m a view area In this example, the Gantt chart view is selected Figure 5 - One embodiment of a computer display screen showmg a task's team members m one embodiment of a process management applicahon Figure 5 illustrates one embodiment of a task display screen m one embodiment of a process management applicahon The task display screen may mclude one or more toolbars 230 Each toolbar may mclude one or more icons useable to perform functions m the process management applicahon A task hierarchy may be displayed in a process tree panel 234 A task may be displayed m the task display screen by selectmg it m the task hierarchy One or more tabbed panels 236 may be mcluded m a view area The process tree 234 may show a hierarchical representation of the tasks that make up this process Tasks m the tree may have associated icons and color codmgs that represent their current state, for example, tasks rendered as red task are currently behind schedule Some embodiments of a process management applicahon may mclude other task visualization options such as recent activity, activity that the current user has not seen yet (e g User X hasn't seen this new document), pπoπty, etc In Figure 5, the Team Members tab 238 is selected, showmg the team members page for a selected task Team members may use this page to 'subscπbe' to task change nohficahons whereby they may receive a message, for example an email message, with a 'shortcut' to this task when whatever task change notification type they subscπbed to changes An example of a task change notification type is a task status change Some embodiments may mclude addihonal task change notification types such as 'email when a document is added or edited', or 'email if the results page has been updated ' In one embodiment, a user may initiate a videoconference or applicahon sharing session with any team member by selectmg a πght-mouse menu item while pointing at a team member's user name m the Team Member tab Figure 6 - One embodiment of a computer display screen showmg a task history m one embodiment of a process management applicahon Figure 6 illustrates one embodiment of a task display screen m one embodiment of a process management applicahon The task display screen may mclude one or more toolbars 230 Each toolbar may mclude one or more icons useable to perform functions m the process management applicahon A task hierarchy may be displayed m a process tree panel 234 A task may be displayed m the task display screen by selectmg it m the task hierarchy One or more tabbed panels 236 may be included m a view area In Figure 6, the History tab 240 is selected, showmg the Task History page for a selected task Figure 7 - One embodiment of a computer display screen showmg a task's status m one embodiment of a process management applicahon Figure 7 illustrates one embodiment of a task display screen m one embodiment of a process management application The task display screen may mclude one or more toolbars 230 Each toolbar may mclude one or more icons useable to perform functions m the process management application A task hierarchy may be displayed m a process free panel 234 A task may be displayed m the task display screen by selectmg it in the task hierarchy One or more tabbed panels 236 may be mcluded m a view area In Figure 7, the Status tab 242 is selected, showmg the Task Status page for a selected task One embodiment of a process management applicahon may allow a user to model decision processes with uncertainty, l e each task becomes a decision pomt or mput mto a decision with some amount of uncertainty associated with whether it is the correct decision (evidence for, evidence agamst, unknown, etc ) One of the roll- ups may then be a probability that the top-level decision is correct Figure 8 - One embodiment of a computer display screen for initiating a locator search for an expert in one embodiment of a locator applicahon Figure 8 illustrates one embodiment of a computer display screen for initiating a locator search for an expert in one embodiment of a locator program In one embodiment, the locator program is a web-based applicahon, and the display screen is a web page In one embodiment, the screen mcludes multiple tabs, or views The locator applicahon may be launched from the mformahon browser and from the process management applicahon The locator program may be used to help locate a person(s) with a particular set of skills, interests, or expeπences - hereinafter all called 'skills' - that may be applicable for a task, process, or project Any set of skills may be defined In one embodiment, the skills used m the locator program may be customizable The locator program may be used to locate individuals to participate m a process, to participate in a meehng/forum, to answer a queshon via email or telephone, or for any other reason In Figure 8, a Search for Experts tab 250 is selected Search for Experts tab 250 may mclude a Text Search area 252, a Browse area 254, a Current Search area 256, and a Search Results area 258 Skills for use m search cπteπa may be selected from the Browse area 254 Currently selected skills and other search cπteπa may be displayed m the Current Search area 256 Text may be searched for m different fields of the experts' profiles by addmg text search cπteπa m area 252 Results of a search may be displayed m Search Results area 258 Some embodiments of a locator program may mclude pre-defined skill hierarchies for particular industnes Some embodiments may allow the automatic populahon of individuals' expeπences as they work m the process management applicahon This is possible due to the mtegrahon of the process management applicahon and the locator program In one embodiment, if one of the locator program's hierarchies of expeπence is 'project', then as projects are created the team members will automatically be assigned locator program records indicating their participation m the project In one embodiment, if a project has a geographic area of concentration, e g "Gulf Coast Exploration" then locator program records may be automatically assigned to all team members with that location experience In one embodiment, if a team member participates in a project as a Geologist, then this skill could automatically be recorded in the locator program In one embodiment, a user found in searches may be directly added mto roles m Work projects In one embodiment, a user may send an email to the list of people m a query result set One embodiment may include 'Community of Peers' news groups -discussion groups at each (or selected) tree nodes m a project Figure 9 - One embodiment of a computer display screen showmg a personal profile for one embodiment of a locator application Figure 9 illustrates one embodiment of a display screen showmg a personal profile for an individual m a locator program In this example, a View Personal Profile tab is selected on the display screen Vaπous personal mformahon, experience, framing, skill set, photographs, etc pertaining to an individual may be displayed A personal profile may be edited when mformahon needs to be updated The system may automatically notify users if they have not updated their personal profiles within a configured time In one embodiment, a user may view other users' personal profiles located with the Search for Experts tab One embodiment may mclude video conferencing to an individual through a video conference wmdow m the individual's personal profile Figure 10 - One embodiment of a computer display screen for initiating a search of the enteφnse computmg system m one embodiment of a search applicahon Figure 10 illustrates one embodiment of a computer display screen for initiating a search of the enteφπse computmg system in one embodiment of a search applicahon In one embodiment, the search applicahon is a web- based applicahon, and the display screen is a web page In one embodiment, the screen mcludes multiple tabs, or views The search applicahon may be launched from the mformahon browser and from the process management applicahon In Figure 10, the "Search Documents" tab 270 is selected Displayed are a find box 272 to accept mput from a user, a catalog selechon menu 274 that may allow the user to select from among a list of catalogs, and a Submit button 276 to initiate a search To begm a search, a user will type a search string m find box 272, specify a catalog by selectmg one m catalog selechon menu 274, and click on the Submit button 276 When the search is completed, the results of the search may be displayed on the display screen A "Save Search" button (not shown) may be displayed Selectmg the Save Search button may save the completed search to be displayed m the "My Subscπphons" display The search applicahon provides a simple interface for a user of the enteφπse computmg system to search for and find mformahon m all areas of the enteφπse computmg system The "Search Documents" display may be used to create a search Searches may be stored for later display m the "Subscπphon" display A user may also schedule automahc subscπphon updates that may be sent to the user usmg e-mail A user of the system may create different types of catalogs of data to search depending on the manner m which the data is gathered Informahon may be gathered by usmg the search applicahon to crawl different data repositoπes, mcludmg, but not limited to Web sites, file systems, Microsoft Exchange Public folders, and newsgroups A database catalog is a type of crawl catalog that is built by gathering mformahon from records m a database When a user finds a document m a database catalog, clicking a link on a results page may display mforma on from database records In one embodiment, the database is a Microsoft Open Database Connectivity (ODBC) database The search application may allow users to perform a full-text search for documents stored by the mformahon browser and the process management applicahon In addihon to these document searches, the search application allows crawlmg and searchmg of intranet and Internet web sites, file systems such as NT file systems, Microsoft Exchange public folders and relational databases In one embodiment, the search program is based on the Microsoft Site Server search engme. The search program also allows users to save searches and set up searches to run on a predefined schedule (e g daily) The results of these scheduled searches are delivered m abstract form via e-mail with links back to the oπgmal documents or web pages. Figure 11 - One embodiment of a computer display screen for a user's search subscπphon display m one embodiment of a search applicahon Figure 11 illustrates one embodiment of a computer display screen for displaying a user's search subscπphon m one embodiment of a search applicahon. In one embodiment, the search applicahon is a web-based applicahon, and the display screen is a web page. In one embodiment, the screen mcludes multiple tabs, or views The search applicahon may be launched from the informahon browser and from the process management application. In Figure 11, the "My Subscπphon" tab 280 is selected. Displayed on the screen are a list of stored searches 282. Stored search 284 is shown to be currently selected The currently selected search's cπteπa and other mformahon about the currently selected search are shown m area 286. Stored search results for the currently selected search are displayed m search results 288. In one embodiment, subscπphon settings may be changed by the user by clicking on an "Edit" icon by the subscπphon's name Examples of subscπphon settings mclude, but are not limited to: the order the searches are performed, and; restπchng search results to only the last day or week, and the name and descπphon of searches. Searches may be removed by clicking on a "Delete" icon. If the user has not saved any searches, no searches will be displayed m the subscπphon. In one embodiment, the search applicahon may also be used to mine informahon about people, for example, by havmg search catalogs to search through profiles set up m the locator applicahon. In one embodiment, a user may use the search applicahon to find all documents authored by an individual from a locator applicahon search result. In one embodiment, a user may use the search applicahon to find all documents authored by an individual from the team members tab m the process management apphcahon. In one embodiment, when a document is found by the search apphcahon, if it is a part of a process management applicahon process, a reference to the process may be shown as part of the search result, providmg the context that the oπgmal document was authored under. In one embodiment, processes and documents may be tagged with tags that match nodes m the locator apphcahon hierarchy Usmg a combination of the locator applicahon and the search applicahon, users may then navigate the locator hierarchies to a node and find people, documents, and processes at those nodes. In one embodiment a user may create industry specific document and process 'meta tags' that improve signal-to-noise ratio of searches In one embodiment, a user may select text in any document, discussion, etc, and send this to the search apphcation as a query In one embodiment, when a document is found by the search application, if it is a part of a process, a reference to the Work process may be displayed as part of the search result This provides the context that the oπgmal document was authored under In one embodiment, process management application processes and documents may be tagged with tags that match nodes m the locator apphcahon hierarchy. Usmg a combmahon of the locator apphcahon and the search apphcation, users may then navigate the locator application hierarchies to a node, and not only find people at those nodes but also tagged documents and processes In one embodiment, a user may be able to select text m any document, discussion, etc., and send this to the search apphcation as a query, which may return other documents that contam this text Process management application (Work) Overview The process management apphcahon is a collaboration tool for organizing and managmg team-centered achvihes. It may allow a user to perform many tasks, mcludmg, but not limited to, the following: • assemble teams assign roles and permissions to team members define achvihes to be accomplished by members of the team organize the achvihes mto hierarchical workflows, also called "processes", or other topologies assign process management properties such as pπoπty, durahon, status, percent complete, etc., to the achvihes store documents and discussion forums m a central locahon accessible to all members of the team associate applications with achvihes so that the team uses a common set of tools launch collaboration tools so that team members can network easily collect informahon cπhcal to the team mission by searchmg databases, public folders, file systems, and web sites locate individuals with particular qualifications notify team members automatically when an activity's status changes Concepts Each process management apphcahon wmdow may display a smgle process. A process is a set of achvihes that a team plans to perform m order to accomplish a common goal. It has a set of attributes mcludmg process name, creator, orgamzahon, start date, end date, comments, team members, etc. In one embodiment, the process may be stored m a process folder m a server, and its attributes may be stored in a database In one embodiment, the server may be a Microsoft Exchange server, and the database may be an SQL database Most operations that the user performs in the process management apphcahon mvolve the achvity tree This is a tool that allows the user to build a hierarchical workflow of activities An activity is a set of steps that accomplishes one or more goals or milestones m a project. Activities are stored m activity folders. In one embodiment, achvihes may reside m a process folder on a server. In one embodiment, the server is a Microsoft Exchange server. Achvihes may mclude attπbutes such as deadlmes, pπoπhes, responsibilities, team members, instructions, results, importance, history, etc. In one embodiment, when the user creates an achvity, the user may specify these attnbutes usmg a tabbed set of data entry pages In one embodiment, the Achvity attπbutes may be stored m a database In one embodiment, the database may be an SQL database. The user can attach documents to a process or to any of its achvihes A document is any type of file that team members use to share knowledge. These files can be generated from third party products. They can be charts, word processmg documents, spreadsheets, process management files, public presentations, graphics, etc. All documents can be opened from the process management apphcahon, provided that the parent applicahon is properly installed on the user's local system The user can also associate discussions with a process or any of its achvihes. A discussion is an exchange of messages about a topic that has been posted by a team member. The messages may be displayed m a sequence so that users can identify which messages generated which responses In one embodiment, documents and discussions are stored m a document repository on a server. In one embodiment, documents and discussions are stored m a document repository on a Microsoft Exchange server. In one embodiment, toolbars appear above the achvity tree and details panel. Each toolbar may mclude a cluster of icons that are related by function. The toolbars may be separated by double vertical lmes called "bands." In one embodiment, to reposihon a toolbar, place the cursor over the band, left click, and drag the toolbar to the desired locahon. A File toolbar may be used to manage the projects m the user's workspace. An Edit toolbar may be used to edit selected achvihes m the achvity tree. A View toolbar may be used to control the appearance and layout of the process management apphcahon. A Tools toolbar may be used to launch applications and tools. The Achvity Tree panel may display achvihes from the cuπent process that are available to the current user. Achvihes may not be visible if the current user does not have permission to view them. The user may use this panel to perform achons, mcludmg the following actions- • Build hierarchical workflows (processes) • View achvihes that are currently available. • Access informahon about particular achvihes. • Create, edit, and delete achvihes. • Create shortcuts to existing achvihes. The user may paste the shortcuts m other processes or may send them by email to team members. • Momtor status of achvihes. Activity Tree Icons The activity tree may use icons to represent different types of nodes An icon may be used to represent the process to which all activities belong. This is the top level of the achvity tree. Icons may be used to represent activity 'folders' on a server In one embodiment, the server is a Microsoft Exchange server. An icon may be used to represent a shortcut to an achvity whose folder resides withm a different process folder. Processes may be nested, that is, one process may consist of several sub-processes Access may be made directly to a sub-process via the mformahon browser, or the super-process may be accessed m the browser and then sub-processes accessed directly from withm the process management applicahon. The sub-processes may have completely different secuπty contexts from then parent Achvity Tree Context Menu The achvity tree may mclude a context menu that pops up when a user πght clicks on any node of the tree The options available m the menu may vary, dependmg on whether a user has clicked on a process or an achvity The context menu ophons are descπbed below A "New Subachvity" context menu ophon may create a new subachvity below the selected achvity (or process). A "New Achvity" context menu ophon may create a new achvity at the same level as the selected achvity. A "Delete Achvity" context menu ophon may delete the selected achvity. A "Rename Achvity" context menu ophon may rename the selected achvity. A "Create New Process from Achvity" context menu ophon may create a new process from the selected achvity and all of its children, and may copy the activity's documents, discussions, and attπbutes to the new process. In one embodiment, history, comments, and dates may not be copied. An "Email Achvity Shortcut" context menu ophon may create a shortcut to the achvity, insert the shortcut m an email form, and display the email form. The recipient of the shortcut may may double click on the short cut to launch the process tool and go directly to the achvity whose shortcut was emailed. Text Color The entπes m the tree may be color-coded to mdicate whether they are on schedule, behind schedule, or completed. For example, a red entry may mdicate the value m the % Complete field is less than 100% and the Actual Finish date has passed; a black entry may mdicate the value m the % Complete field is less than 100%, but the Actual Fmish date has not passed, and; a blue entry may mdicate the value m the % Complete field is 100%. In other embodiments, the user may be able to use addihonal text colors and icon selechons to highlight addihonal attπbutes of the process or achvity. Folders on Servers In one embodiment, when a user creates a new achvity or subachvity, the software may create a new folder on a server. In one embodiment, the server is a Microsoft Exchange server. The process management file system on the server may mclude a root directory, a process management directory, and a process directory for each of the processes. Achvity and subachvity folders may occupy the same level withm their parent process folders Details Panel The details panel may display details about the currently selected process or achvity Tabs may appear at the top of the panel The user may then view vaπous data entry pages that may allow the user and other team members to enter, edit, and review details pertinent to the process or activity The number of tabbed pages may vary, dependmg on whether the user has selected a process or an achvity In some embodiments, the number and contents of tabs may be customized by the end user Assemblmg a Team In one embodiment, a user may assemble a team by selectmg team members from the master directory on a server In one embodiment, the server may be a Microsoft Exchange server In one embodiment, if a company's coφorate server was selected as the enteφπse workflow system server at mstallation, the master dnectory may mclude all employees, consultants, and third parties that have accounts on the server Create a Team The following is one embodiment of a method for creating a team 1 Select the process to which the user wants to assign a team 2 Click on the "Team Members" tab of the process folder 3 In the Participants toolbar, click on the "Add a New Member" icon A master directory user list dialog box appears 4 Either key m the prospechve team member's name or select it from the address list If necessary, the user may select a different collection of addresses other than the enteφπse master directory to locate the name In one embodiment, the user may select the name of an mdividual whose name appears m a global address book In one embodiment, the global address book is a Microsoft Exchange global address book If an individual's name is not m the book, the name may be added to the book by an admmistrator Create Roles A role is a category that descπbes the responsibility or function of one or more team members The following is one embodiment of a method that may be used to create roles 5 Select a process or achvity to which the roles may pertain 6 Click on the "Team Members" tab of the details folder 7 In the Participants toolbar, click on the "Add a New Role" icon 8 In the Select Role dialog box, key m a name for the new role or select an existing role 9 Click on OK A message may query whether the user wants to add the role to a master list If the user adds it to the master list, the role may be available for selechon by all users of the enteφπse workflow system If the user does not add it, the role may be unique to the current process 10 Make the appropπate selection (Yes or No) In one embodiment, roles do not impose freedoms or restπctions on team members These are mstead imposed b> the permissions assigned to the team member Assign Roles to Team Members The following is one embodiment of a method that may be used to assign roles to mdividuals that already belong to the team 11 Select the process or activity to which the user wants to assign roles 12 Click on the "Team Members" tab of the details folder 13 In the gπd that lists the team members, select the member to whom the user wants to assign the role 14 In the Participants toolbar, click on the "Assign a Role to a Member" icon 15 In the Select Role dialog box, either key m a name for the new role or select it from the list of existing roles In one embodiment, mulhple roles may be assigned to one person However, to do this, the user may add the mdividual to the team list mulhple times, once for each role Assign Team Members to Roles The following is one embodiment of a method that may be used to assign team members to roles that the user has already placed m the team list 16 Select the process or achvity to which the user wants to assign team members 17 Click on the "Team Members" tab of the process folder 18 In the gπd that lists the team members and roles, select the role to which the user wants to assign a team member 19 In the Participants toolbar, click on the "Assign a Team Member to a Role" icon 20 In the Select Attendees dialog box, either key in the individual's name or select it from the list of existing roles In one embodiment mulhple mdividuals may be assigned to the same role For example, the user might want to have several team members fulfillmg the role of product developer To do this, the user may add the role to the team list mulhple times, once for each team member that is to assume the role Assign Permissions to Team Members The following is one embodiment of a method that may be used to assign permissions team members 21 Select the process or achvity for which the user wants to assign team member permissions 22 Click on the "Team Members" tab of the process folder 23 Select the team member for whom the user wants to set permissions 24 Click on Permissions at the top of the permissions column A pulldown menu is achvated 25 Click on the pulldown menu control and select the appropπate permission Remove Team Members and Roles from the Team The following is one embodiment of a method that may be used to delete either team members or roles that are 26 Select the process to which the roles pertain 27 Click on the "Team Members" tab of the process folder 28 In the gπd that lists the team members and their roles, select the row that mcludes the instance of the team member or role that the user wants to delete 29 In the Participants toolbar, click on the "Delete the Selected Member" icon Features of Assemblmg Teams • If the user tends to assign the same roles and members to all achvihes in a process, specify the team as a property of the process Then create the component achvihes withm the achvity tree The achvihes may inheπt the team definitions from the process • If the user wants to assign a single access/secuπty context to a group of mdividuals, without distinguishing them individually, create a group m the master directory user list In one embodiment, a group may be a Microsoft Exchange group Then assign the group as a member of the team All members of the group may share the access level that the user assigns to them The composition of the group can change without the user havmg to adjust the assignments to the user's team Thus, secuπty may be assigned by group, then mdividuals may be added to and removed from the group mstead of to many mdividual achvihes • The user can select a group and then exclude particular members from seemg an achvity or process To do this, the user may add the members to the team and assign "No Access" permission to the members • Groups may be created and assigned a common secuπty access level to allow the mdividuals in the group a common level of access For example, groups of editors and groups of owners may be created Organizing Team Achvihes Typically, the user organizes tasks and responsibilities by defining a "process" that represents the team's collective objechve, and then populating this process with a set of "achvihes" that articulate the tasks required to attain this objechve The process and achvihes appear m the achvity tree as a hierarchical structure. The top level of the tree is the process It funchons as "parent" to the achvihes The achvihes appear as nodes on this tree As the user creates the achvihes, the user may position them m the tree so that their posihons m the hierarchy represent their relationships to other achvihes In some embodiments, other topologies may exist to which the user may add achvihes Processes A "process" is a group of achvihes that share a common goal Generally, the process mcludes a set of team members with defined roles, a set of achvihes organized m a hierarchy, a set of documents pertainmg to the goal of the team, and a set of discussion threads In one embodiment, the user may view processes in an mformation browser project tree The processes' activities, team members, and properties may be managed from withm the process management apphcahon In one embodiment, to promote flexibility, the process management application does not link the status of a process to the status of its component achvihes For example, the user can classify a process 100% complete even though some of its component achvihes may not have been completed Achvihes Each process consists of one or more achvihes An "achvity" is a task that accomplishes one or more goals or milestones. It shares some general characteπshcs with a process, but is more detailed. For example, an achvity mcludes a set of team members with defined roles, a set of documents, and a set of discussions, just as a process does In addihon, it mcludes metπcs such as pπoπty ranking, status, actual start, actual finish, durahon, etc. It can also mclude comments, instructions, and results Achvihes may be managed from withm the process management apphcahon, and may be stored m a database In one embodiment, to promote flexibility, the process management application may not enforce dependencies between achvihes and their parent process. For example, a user may classify a process as 100% complete even though some of the process's child achvihes may not have completed. Documents The user may attach any type of document file to a process or achvity. In one embodiment, when a user attaches the document, it may be copied to a folder m the document repository on a server. In one embodiment, the server may be a Microsoft Exchange server. The oπgmal file may not be deleted. Subsequent edits to the document may be saved to the document repository, but may not be propagated to the oπgmal file. The document repository mcludes folders that correspond to processes and achvihes. These folders are nested m the same manner as the processes and achvihes that they represent. Documents that are associated with a particular process or achvity reside m the corresponding process folder or achvity folder. The user can view the documents that are associated with a particular process or achvity by selectmg that process or achvity m the achvity tree, then clicking on the Notebook tab of the Achvity folder. If the user has appropπate permission, the user may launch the documents by double clicking on them. The applications that correspond to the document types may be installed on the user's system m order for the documents to launch. Access to documents is governed by the permission types that were granted to team members by whoever created the team. Permissions are implemented as follows * • "Owners" and "editors" can edit any document. • "Viewers" can read and copy documents, but may not be able to edit them or add new documents to the repository. • "No-access" users may not be able to see the documents Associated Applications An "associated application" is an application that has been designated as a prefeπed tool for performmg an activity Associatmg the application with an activity makes it available to users by providmg an icon from which the application can be launched Communicating with Team Members The process management application may provide the following methods for communicating with team members • The user may attach discussions to a process and to each of its subsidiary achvihes • The user may have the process management applicahon automatically broadcast emails to team members when the status of an achvity changes • The user may create shortcuts to activities and send them to mterested parties via email • The user may launch an mtegrated collaboration tool, such as Microsoft NetMeehng ™ and use its video conferencing, chat, and whiteboard options to collaborate onlme Usmg Discussions A "discussion" is a sequence of messages relating to a particular topic Discussions can be initiated withm the process management applicahon at any level of the achvity tree Users with Owner, Editor, and Viewer permissions may view messages that have been submitted on a discussion topic and may post new messages If the user copies or moves a node of the achvity ttee, the discussions associated with that node and its children are also copied Broadcastmg Messages Automatically The user can have the process management applicahon send email messages automatically to selected team members when the status of an achvity changes Other events m an achvity may tπgger email broadcasts, e g when a document is edited or when a discussion is created The following is one embodiment of a method that may be used to have the process management applicahon send email messages automatically to selected team members when the status of an achvity changes 30 In the achvity tree, select the achvity for which the user wants to broadcast messages 31 Click on the "Team Members" tab 32 Select the team member who is to receive a broadcast email if the status setting changes 33 In the bottom panel of the Team Members page, toggle the "Status Changed" button on 34 Repeat Steps 3 and 4 for each of the team members that the user wants to receive the broadcast messages All of the designated team members may receive an automatically generated email the next time that someone changes the status of the achvity usmg the status tab of an achvity Sending Shortcuts by Email The following is one embodiment of a method that may be used to send shortcuts to members and nonmembers of a user's team 35 In the achvity tree, right click on the activity to which the user wants to create a shortcut 36 Select Email "Activity" Shortcut An email form appears with the shortcut embedded as an attachment 37 Fill in the email address and click on Send The email recipient may double-click the shortcut withm the e-mail message, or may copy the shortcut from the e-mail message to another locahon on the system an double-click on it, to view the achvity in the process management applicahon Launchmg Microsoft NetMeehng™ Microsoft NetMeehng™ provides valuable tools for collaborating onlme These mclude videoconferencing tools that enable team members to network from mulhple locahons, networking capabilities that allow team members to chat onlme, and screen-sharmg ophons that allow users m remote locahons to share a whiteboard or an apphcahon The user may have Microsoft NetMeeting™ installed and properly configured m order for these ophons to work One embodiment of a method that may be used to launch Microsoft NetMeehng™ is to Select Tools -> Onlme Collaboration -> Meet Now from the process management apphcahon mam menu Another embodiment is to select any object m the system that has an associated user, e g a document, discussion, achvity team member, or locator personal profile, and select "collaborate with "User X" from a πght mouse menu ophon Secuπty In one embodiment, secuπty may be imposed by a server, a database server, and or the mdividual team member permissions In one embodiment, the server may be a Microsoft Exchange server In one embodiment, the database server may be an SQL server Information Browser (World) Overview An mformahon browser may serve as a console for the teamwork products It provides resources for sharing data, applications, documents, and communications In addihon, it may be used to launch tools that may allow a user to • use achvihes to organize people and mformahon • communicate with peers • search knowledge archives • locate mdividuals with specialized expertise Activities withm an mformation browser may utilize a project folder withm which users may assemble the documents, discussions, and processes that articulate a common enteφπse In one embodiment, the data assembled in the project may reside in a Microsoft Exchange folder or in a database Data may be derived from teamwork products or from third party products, for example, word processmg programs, spreadsheet applications, process management applications, and public presentation programs All parent applicahons may be launched from the mformahon browser, as long as the parent application is properly installed on a client of the enteφπse workflow system. Concepts When working m the mformahon browser, the user may perform achvihes m the context of a project. A project may be a folder that may mclude the processes, achvihes, documents, and discussions that articulate a common enteφπse. In one embodiment, the data assembled m the project may reside m a data storage system that spans a Microsoft Exchange data storage structure and an SQL database In one embodiment, users may assign several types of data to the project. Examples of data types that may be assigned to a project mclude, but are not limited to: processes, process templates, documents, and discussions A process is a set of tasks that has been defined by the team as relevant to the accomplishment of the team's goal. Processes may be managed from withm the process management apphcahon and may be stored m a database. Processes generally possess a set of attπbutes such as pπoπhes, responsibilities, importance, history, etc. A process template is an existing process that has been designated as a template because it embodies a set of good prachces. When a user creates a new process from a process template, the structure and all the contents of the existmg process may be copied to the new process The process templates may be stored m a database. A document is any type of file that team members assign to the project These files may be deπved from third party products. Files may be charts, word processmg documents, spreadsheets, process management files, and public presentahons, graphics, etc. In one embodiment, when a user assigns a document to the project, it may be stored m a document repository on a Microsoft Exchange server. All documents may be opened from the mformahon browser, provided that the parent apphcahon is properly installed on a client of the enteφπse workflow system A discussion is an exchange of messages about a topic that has been posted by a team member. The messages are displayed m sequence so that users may identify which messages spawned which responses. In one embodiment, discussions may be stored m a document repository on the Microsoft Exchange server. Toolbars and Icons Toolbars may be located above the mam display area of the mformahon browser. Each toolbar may mclude a cluster of icons that may be related by function The toolbars may be separated by double vertical lmes called "bands " To reposition a toolbar, place the cursor over the band, left click, and drag the toolbar to the desired locahon. To suppress the display of a toolbar, πght click and toggle off the toolbar that the user does not want to display. File Icons Icons on the File toolbar may be used to manage the projects the user's workspace A New Pro j ect tool icon creates a new project A pulldown menu next to the icon provides options for creating new processes and new process templates An Add Existmg Project tool icon may allow the user to add an existmg project to the user's workspace View Icons Icons on the View toolbar may be used to control which panels are displayed A Shortcuts tool icon may control the display of the Shortcuts panel If the panel is visible, clickmg on this icon hides it If the panel is not visible, clickmg on this icon displays it A Project Tree tool icon may control the display of the Project Tree panel If the panel is visible, clickmg on this icon hides it If the panel is not visible, clickmg on this icon displays it Tools Icons Icons on the Tools toolbar may be used to launch vaπous applications and tools An icon may be used to launch a locator application This program may search a coφorate expert database for resources, mcludmg mdividuals with particular qualifications, called "experts " An icon may be used to launch a workflow system search applicahon This program may be used to search predefined web sites, public files, databases, and file directoπes for documents In one embodiment, a Send Email icon may be used to launch an email form In one embodiment, the form may be a Microsoft Exchange form Another icon may be used to launch a same-time collaboration tool In one embodiment, the same-time collaboration tool is Microsoft NetMeehng Navigahon Toolbar Icons A Navigahon toolbar may be used to control a web-based application that is running m the informahon browser view area An icon may be provided to page backward This icon may only become achve if a user has navigated through a succession of web pages m the informahon browser view area An icon may be provided to page forward This icon may only become available if a user has navigated through a succession of web pages, and then navigated back one or more pages usmg the Back icon An icon may be provided to terminate a web process such as contacting a URL or loadmg a web page An icon may be provided that may refresh the cuπently achve web applicahon Shortcuts A Shortcuts panel may provide icons that may expedite the display of data The Processes icon may list all processes that currently reside m a database The Process Templates icon may list all process templates m a database Project Tree A Project Tree panel may display the data available for building projects and the projects that currently exist This panel may be used to perform achons, mcludmg the following • List the data sources that are currently available • View the processes and process templates that are available through the data sources • Create new processes • Create new process templates • List the projects that the user has open m the informahon browser workspace • Create new projects • Add existmg projects to the user's workspace • View the contents of the projects that the user has added to the user's workspace "My Data Sources" Hierarchy The Project Tree panel may mclude a "My Data Source" hierarchy This hierarchy may mclude sources of data that can be added to a project Data sources may mclude Processes and Process Templates In one embodiment, the data sources added to a project may be activity-sharing registers that may be assembled m the process management apphcahon and stored m a database In one embodiment, the database is an SQL database A user may add data sources to mdividual projects A user's ability to edit and delete data associated with the data sources may be consttamed by the secuπty measures imposed by the process management apphcahon "My Projects" Hierarchy A "My Projects" hierarchy may appear in the Project Tree panel This hierarchy lists projects that the user has added to the user's workspace Each project can mclude processes, process templates, documents, and discussions Other data types, such as explorahon well mformahon, stored m a relahonal database, the Internet, or another area, may be added to a project's list of mformahon sources The user can create new projects withm the "My Projects" hierarchy by πght clicking and selectmg "New Projects " Or the user can add existmg projects to the user's workspace by πght clicking and selectmg Open In some embodiments, there may be secuπty restπchons enforced for projects In other embodiments, all projects may be open to all enteφπse workflow system users View Area The view area is where the user may perform tasks that concern actual data It allows the user to perform achons mcludmg the following • View the contents of the user's data sources m data gπds or other formats mcludmg non-tabular views such as 3Dιmensιonal displays, maps, etc • View the contents of projects m data grids or other formats • Create, delete, and edit data • Launch th d party applications • Run enteφπse workflow system applications Gπds A gπd is a data table that lists instances of a particular type of data The information browser may mclude several gπds, mcludmg Process gπds, Process Template Grids, Document gπds, and Discussions gπds When the user opens a project and clicks on one of these data types, the corresponding gπd may be displayed m the view area For example, if the user clicks on Processes, a Processes gπd may be displayed Selectmg a process may cause a preview pane at the bottom of the gπd to display the contents of the process In some embodiments, previews may also be available for other types of mformahon, such as documents, discussions, or Energy industry specific data such as 3D earth models, well log curves, maps, etc Double clickmg on a data item m a gπd may launch the parent applicahon and may display the corresponding data In some embodiments data may be viewed m other formats, for example, non-tabular views such as 3Dιmensιonal displays, maps, etc Applicahons Apphcahon programs may also appear m the view area Examples of apphcahon programs that may appear m the view area mclude, but are not limited to • process management apphcahon • locator apphcahon • process seach apphcahon Opening documents from withm the mformahon browser generally launches third party applicahons outside of the view area For example, if the user opens a document that was created usmg Microsoft Word, the Microsoft Word apphcahon may be launched m its own floating wmdow Microsoft Exchange email and discussion forms may also be launched outside of the view area Working with Projects A "project" combmes a group of processes, process templates, documents, discussion threads, and other data types that may be shared by a team Each project consists of a public folder Withm this folder, members of the work team can group processes, documents, and discussion threads In one embodiment, the processes may be stored in a database In one embodiment, the database may be an SQL database In one embodiment, the documents and discussion threads may be stored m a database In one embodiment, the database may be a Microsoft Exchange database In one embodiment, projects may be considered community property. In one embodiment, projects may be secured to a single user or group of users. Anyone who has access to the server used by the enteφrise workflow system may view and edit projects on the server. Users may add existing projects to their own workspaces as "new" projects. Once a user has added a project, the user may view the contents of the project, add documents, participate in discussions, and view processes. Documents that reside in the informahon browser "Documents" folders can be edited by all users. However, some restrictions may apply to editing documents that reside in lower level document folders that are explicitly associated with processes. Open an Existing Project The following is one embodiment of a method that may be used to list an existing project in the "My Projects" hierarchy. 38. In the Project Tree panel, highlight the "My Projects" entry. 39. Right click and select "Add Project." 40. In the Add Project dialog box, select the project that the user wants to open. The project may appear in the Project Tree panel. Although there may be no security restrictions on projects, there may be some restrictions on the data that has been assigned to projects. For example, processes and process templates may be protected by ownership permissions. A user may not be able to edit or delete them unless the user has the appropriate permissions. Create a New Project The following is one embodiment of a method that may be used to create a new project. 41. In the Project Tree panel, highlight the "My Projects" entry or the name of an existing project. 42. Right click and select "New Project." 43. In the New Project dialog box, key in the name of a new project. 44. If appropriate, provide a comment that describes the objective of the project. 45. Click on OK. In one embodiment, the software may create a folder for the new project on a server and store its corresponding identification number in a database. In one embodiment, the server may be a Microsoft Exchange server. In one embodiment, the database may be an SQL database. The project may appear in the Project Tree panel. Remove a Project from the Project Tree The following is an embodiment of a process that may be performed to remove a project from a Project Tree panel. Removing the project from the panel may not delete it or any of its contents from a database or from a server used by the enteφrise workflow system. 46. Highlight the top-level project entry in the Project Tree panel. 47. Right click and select "Remove Project". 48 Click on OK the quer} box to confirm that the user wants to remove the project In one embodiment, if a user wants to delete the project from the server used by the enteφπse workflow system and the enteφrise workflow system servers, the user may request a site administrator to perform the deletion Workmg with Processes A "process" is a collection of achvihes or tasks that contπbute to a common goal The processes are defined and managed from withm the process management apphcation The mformahon browser may list all of the processes m the database The user can add existmg processes and then associated achvihes to project folders However, a user may not be able to edit or delete the processes without appropriate permission The user can also create new processes from withm the mformahon browser View All the Processes m the Database In one embodiment, the following process may be performed to view all the processes m a enteφπse workflow system database 49 In the Project Tree panel, unfold the "My Data Sources hierarchy 50 Smgle click on Processes node All of the processes m the enteφπse workflow system database may be displayed m a Processes gπd View the Processes Assigned to Project The following is an embodiment of a method that may be used to view the processes assigned to a project 51 In the Project Tree panel, unfold the "My Projects" hierarchy, then unfold the project whose processes the user wants to view 52 S gle click on the Processes node that appears below the project name A Project Processes gπd displays the processes that have currently been associated with the project The gπd lists the process names, creators, creation dates, number of achvihes, and the group or orgamzahon withm which it oπgmated Most of these attπbutes deπve from the process management apphcahon, where the process management tools reside View the Achvihes Assigned to a Process The following is one embodiment of a method that may be used to view the achvihes assigned to a process 53 In the "My Projects" hierarchy, display the processes m the project 54 Smgle click on the process whose achvihes the user wants to view The process may be posted m the preview bar at the bottom of the Processes gπd In one embodiment, if the process has achvihes associated with it, a plus (+) sign appears next to it Unfold the process to view a list of the achvihes associated with it Create a Process In one embodiment, the following may be performed to create a process from withm the mformahon browser 55 In the "My Data Sources" hierarchy, position the cursor over the Processes node 56 Right click and select "New Process". 57 In the New Process dialog box, specify a name for the new process 58 If appropπate, select the process template that the user wants to use. In one embodiment, a new process folder is created m an enteφnse workflow system server, and its identity is stored m an enteφπse workflow system database. In one embodiment, the server is a Microsoft Exchange server Add a New or Existmg Process to a Project The following is one embodiment of a method that may be used to add a process to a pro j ect 59 In the "My Projects" hierarchy, unfold the project to which the user wants to add a process 60. Right click on the Processes node that appears below the project name. 61. If the user wants to add a completely new process to the project, use "New Process" to create it 62. If the user wants to add an existmg process to the project, use the "Add Process" ophon to select it. If the user selects an existmg process, the software adds it to the project. If the user specifies a unique process name, the software creates a new process and adds it to the project. The user may use the process management apphcahon to define the characteπshcs of the process. If the user selects a process template, the software creates a new process that duplicates the structure and contents of the process template. Add Achvihes to a Process In one embodiment, to add achvihes to a process, a user may launch the process management apphcahon. The following is one embodiment of a method that may be used to launch the process management applicahon 63. In the My Projects hierarchy, unfold the project to which the process belongs 64 Smgle click on the Processes node to display the project's processes m the Processes gπd 65. Double click on the process whose achvihes the user wants to view The process management apphcahon is launched. Delete a Process from the enteφnse workflow system Database The following is an embodiment of a method that may be used to delete a process from the enteφπse workflow system database. 66 In the "My Data Sources" or "My Projects" hierarchy, unfold the project to which the process belongs 67. Smgle click on the Processes node to display the project's processes in the Processes gπd. 68. Select the process that the user wants to delete. 69. Right click and select "Delete Process". 70 Click on Yes to confirm that the user wants to delete the process from the database. If the user does not have permission to delete the process, the user may be informed that the user may not perform the deletion Workmg with Process Templates A "process template" is a process that has been designated as a model because it mcoφorates good practices Generally, the templates are created from withm the process management applicahon, where process properties are defined. From the mformahon browser, the user can view all of the process templates m the database The user can also add particular process templates and then associated achvihes to project folders. If the user creates a new process usmg a process template, the new process may duplicate the structure and contents of the process template. View All the Process Templates m the Database The following is an embodiment of a method that may be used to view all the process templates m an enteφπse workflow system database. 71. In the Project Tree panel, unfold the "My Data Sources" hierarchy 72 Smgle click on Process Templates node. All of the process templates m the enteφπse workflow system database may be displayed m a Process Templates grid. View the Process Templates Assigned to Project The following is one embodiment of a method that may be used to view the process templates assigned to a project. 73. In the Project Tree panel, unfold the "My Projects" hierarchy, then unfold the project whose process templates the user wants to view. 74. Smgle click on the Process Templates node that appears below the project name A Process Templates gπd may display the process templates that are currently associated with the project. The gπd may list the process template names, creators, creahon dates, number of achvihes, and the group or orgamzahon withm which it oπgmated. These attπbutes may denve from the process management apphcahon where the process template management tools reside. View the Achvihes Assigned to a Process Template The following is one embodiment of a method that may be used to view the achvihes assigned to a process template. 75 In the "My Data Sources" hierarchy, smgle click on the Process Templates node. 76. Smgle click on the process template whose achvihes the user wants to view The process template may be posted in the preview bar at the bottom of the Process Templates gπd If the process template has activities associated with it, a plus (+) sign appears next to it Unfold the process template hierarchy to view a list of the activities associated with it Add a New or Existmg Process Template to a Project The following is one embodiment of a method that may be used to add a process template to a pro j ect 77 In the "My Projects" hierarchy, unfold the project to which the user wants to add a process template 78 Right click on the "Process Templates" node that appears below the project name 79 If the user wants to add a completely new process template to the project, use the "New Process Template" ophon to create it 80 If the user wants to add an existmg process template to the project, use the "Add Process Template" ophon to select it If the user creates a completely new process template, the user may use the process management applicahon to define the charactenshcs that make the template a model Delete a Process Template from the enteφπse workflow system Database The following is one embodiment of a method that may be used to delete a process template from the enteφπse workflow system database 81 In the "My Data Sources" hierarchy, click on the Process Templates entry to display a list of all the process templates m the database 82 Select the process template that the user wants to delete 83 Right click and select "Delete Process Template " 84 Click on Yes to confirm that the user wants to delete the process template from the database The selected process template may be deleted from the database, provided that the user has ownership πghts for it If the user does not have ownership πghts, the user may be informed that the user may not perform the deletion Workmg with Documents The user can store any type of document file m the "Documents" folder of a project In one embodiment, the documents may be stored on the Microsoft Exchange server In one embodiment, users may launch a document by double clickmg on it In one embodiment, the nahve applicahon must be installed on the user's system m order for the document to launch In one embodiment, once a user has stored a document m the Documents folder, it is available to anyone who has access to the Microsoft Exchange server These documents may not be protected by secuπty from being read and edited Documents m the project may not be mamtamed m tandem with the documents from which they oπgmated Edits to the documents m the project may not be propagated to versions of the documents outside of the project View a List of the Documents Stored in a Project The following is one embodiment of a method that may be used to view the documents m a pro j ect 85 In the "My Projects" hierarchy, unfold the project whose documents the user wants to view 86 Smgle click on the Documents node that appears below the project name A Documents grid may display the documents that have currently been associated with the project The gπd lists the name of the person who posted the document, document name, creation date, data last modified, importance, size, and whether the document has been read by the current user smce it was placed m the pro j ect or smce it was last edited These attributes may deπve from the apphcahon where the document was created Add a Document to a Project The following is one embodiment of a method that may be used to add a document to a project 87 In the "My Projects" hierarchy, unfold the project to which the user wants to add the document 88 Click on the Documents node that appears below the project name A Documents gπd displays the documents that have currently been associated with the pro j ect 89 Posihon the cursor anywhere over the Documents gnd, πght click, and select New 90 In the Open dialog box, navigate to the directory where the document resides 91 If necessary, use the "Files of type" filter at the bottom of the dialog box to select the file type of the document 92 Select the document and click on Open In some embodiments, documents may be "dragged" from the desktop, or from a document display m another apphcahon that supports drag-and-drop protocols, and "dropped" on to the project The selected document may be copied to a document repository and posted m the Documents gπd with all of its attπbutes Open a Document The following is one embodiment of a method that may be used to open a document from withm the informahon browser 93 In the "My Projects" hierarchy, unfold the project to which the document belongs 94 Click on the Documents node that appears below the project name A Documents gπd displays the documents that have currently been associated with the pro j ect 95 Posihon the cursor over the document that the user wants to view, πght click, and select Open The selected document may be opened by its nahve applicahon The user may edit the document and save it In one embodiment, usmg the apphcahon's Save ophon may automahcally wnte the edits to the version of the document that is stored m a server In one embodiment, the server is a Microsoft Exchange server Delete a Document from a Project The following is one embodiment of a method that may be used to delete a document from a pro j ect 96 In the "My Projects" hierarchy, unfold the project to which the document belongs 97 Click on the Documents node that appears below the project name A Documents gπd displays the documents that have currently been associated with the pro j ect 98. Position cursor over the document that the user wants to delete, right click, and select Delete 99. Click on Yes to confirm that the user wants to delete the document from the pro j ect. The selected document may be deleted from the project In one embodiment, any user of the system may delete a document from the document repository. In one embodiment, a user may not have to own the document to delete it In other embodiments, ownership restnchons may be placed on a document to protect it from bemg deleted by users without appropπate secunty access to the document. Workmg with Discussions A "discussion" is a sequence of messages relahng to a particular topic Discussions can be initiated withm a project Users can view a sequence of messages that have been submitted on a discussion topic, review mdividual messages, post responses, and initiate new discussion threads. View the Discussions Associated with a Project The following is one embodiment of a method that may be used to view the discussions associated with a project. lOO.In the "My Projects" hierarchy, unfold the project whose discussions the user wants to view. 101. Smgle click on the Discussions node that appears below the project name. A Discussions gπd displays the discussions that are associated with the project. For each message, the gnd lists the name of the person who posted the message, the subject of the message, the creation date, and whether the message has been read. All messages relahng to a smgle topic are posted m sequence. The messages are mdented to show their relahonship to the other messages m the sequence. Messages that ongmated m response to the same message appear m sequence immediately below that message. They are mdented the same amount to show that they share a "child" relahonship to the "parent" message. Initiate a New Discussion The following is one embodiment of a method that may be used to initiate a new discussion. 102.1n the "My Projects" hierarchy, unfold the project to which the user wants to add the discussion 103. Click on the Discussions node that appears below the project name. The Discussions gπd displays the messages that are currently associated with the project. 104.Posιhon the cursor anywhere over the Discussions gnd, πght click, and select "New Discussion " An Exchange discussion form appears. 105. Key a topic for the discussion mto the Subject field. 106. Compose the message m the body of the form. 107 Click on Post The message is posted the Discussions gπd As they are submitted, messages relatmg to the user's topic may appear immediately below it The user may refresh the display to see responses that other members of the user's team have submitted Do this by posihonmg the cursor over the gπd, πght clickmg, and selectmg Refresh The total sequence of messages may have the appearance of a hierarchical structure Contnbute to an Existmg Discussion The following is one embodiment of a method that may be used to post a response to a message that belongs to an existmg discussion 108 In the "My Projects" hierarchy, unfold the project to which the discussion belongs 109. Smgle click on the Discussion node that appears below the project name The Discussions grid displays the messages that are currently associated with the project 110 To view messages m a discussion sequence, double click on each message that user wants to read 11 l.To reply to a message, click on the "Post Reply" option m the Exchange message form where the message is displayed (An alternative is to highlight the message m the Discussions gπd, πght click, and select Reply.) A discussion form appears. 112 Use this form to enter a subject and a message Click on Post to submit response. The response may be posted m the Discussions gπd, immediately below the message to which the user responded Monitor an Existmg Discussion To momtor a discussion while the informahon browser is open, a user may peπodically refresh the Discussions gπd This may be done by posihonmg the cursor over the gnd, πght clickmg, and selectmg Refresh In one embodiment, the discussion wmdow automahcally refreshes when new discussions are added by the user or by other users Delete a Message from a Discussion The following is one embodiment of a method that may be used to delete a message from a discussion 113. In the "My Projects" hierarchy, unfold the project to which the discussion belongs 114. Smgle click on the Discussion node that appears below the project name. 115. Select the message that the user wants to delete 116.Rιght click and select Delete 117. Click on Yes to confirm that the user wants to delete the message from the discussion The selected document may be deleted from the project In one embodiment, any user may delete a message from the document repository In one embodiment, a user may not have to own a message to delete it In other embodiments, ownership restπctions may be placed on a message to protect it from bemg deleted by users without appropriate secuπty access to the message Locator application (Locator) Overview The locator apphcahon is a knowledge management tool that may allow a user to search for resources such as experts who have particular credentials and expeπences The locator apphcahon may locate the experts by searchmg one or more databases that stores mformahon about the experts such as biographical data, employment records, and expeπence records The following is an embodiment of a method of performmg a search usmg the locator apphcahon. The user constructs a seπes of search cπtena by browsmg a database tree or specifying text search strings. When the user has defined sufficient search cπteπa, the user executes the search The locator apphcahon may compile and display a list of all the experts that fit the user's cπtena. The user can refine this list by specifying addihonal search cπteπa and resubmithng the query. There are two types of locator application users - guests and experts Guests Guests may not have their own credenhals stored m the database, but may have access to the database. A guest may search for experts and send email to them. However, a guest may not be allowed to edit data m the database Experts Experts have their personal credenhals stored m the database as "expert profiles " They can search for other experts, and can also enter or modify data about themselves Which Type of User In one embodiment, to determine whether a user is a guest or an expert, click on the "View Personal Profile" tab. If the user has an expert profile m the database, it may be displayed The user may enter a password m order to view the expert profile. If the user does not have an expert profile m the database, an error message may appear indicating that a profile was not found. In this case, the user is a guest The user may contact the system administrator if the user feels that the user's profile should be m the database. Components A locator application may mclude the following components: • An expert database • Search tools • Panels that show current searches and search results • Pages that show information about particular experts Database A database may be used by the locator application to store information about experts and their qualifications. The database may also provide contact information such as their current locations, email addresses, and telephone numbers. The database may be centrally located, and may reside on the server where the locator application is located, and may be accessible via the web. Initially, data about experts is loaded by the user's system administrator from the user's company's personnel records. However, in most cases, this information may be minimal and insufficient. For this reason, if the user has a personal profile in the database, the user should examine it and add missing information, as well as details that describe the user's expertise in the various database categories. The data in the database is stored in two types of records: • base records • detail records The Text Search tool searches fields in the base records and detail records. The Browse tool searches fields in the detail records. Base Records Base records store basic identification information. The data categories may include the following: names, for example, first, last, middle, nickname, title, suffix, spouse, children; home information, for example, street, city, state, country, PO box, PO code, home phone, home fax, personal home page; employment information, for example, profession, company name, job title, reports to, department, office location, main phone, network; contact informahon, for example, assistant name and phone, email, fax; personal information, for example, hobbies, language, children, spouse, anniversary, birthday; alternate address information, for example, street, city, state, country, PO box, PO code, home phone, home fax, personal home page; and comments, miscellaneous text describing personal accomplishments, hobbies, etc. The comments may include keywords that may enable a particular expert to be distinguished from other experts in the database. Viewing the Base Record Data The base record informahon may appear in the Identification panel of the expert profile. If the user is viewing a profile belonging to someone else, only the populated fields may be visible. If the user is viewing the user's own profile, all of the possible data fields may be visible. Populatmg the Base Records with Data Each expert in the database may have a smgle base record Initially, this record may mclude some data that has been loaded by the system administrator from a human resources or department database However, many of the fields m the base record may be populated by the expert who owns the record. If the user has an expert profile m the expert database, and some of the fields m the user's base record are empty, the fields should be filled Domg so may enable users of the database to locate the expert profile more easily. In one embodiment, use the Edit option m the personal profile to enter data that is missing from a base record Searching the Base Records In one embodiment, the "Text Search" option may be used to search the fields of the base record Detail Records Detail records store significant cπteπa that can be used to differentiate experts. The user's company has designed the detail records that it wants to use for this pmpose The details may relate to particular skills or projects, or they may identify more general qualifications such as languages or geographic locahons. To facilitate then * retπeval from the database, detail records may be associated with data hierarchies. In one embodiment, each detail record may be lmked to a particular node of a data hierarchy. Viewmg the Detail Records In an expert profile, the Identification panel may display data that is stored m a base record. All other panels may display data from detail records The headmgs for these panels may correspond to the names of the vanous hierarchies that have been implemented by the user's company. Data from detail records may appear below the names of the hierarchies to which the detail records are linked For example, if the user's company has implemented a "Technical Expertise" hierarchy, data from detail records that are linked to this hierarchy may appear below the heading "Technical Expertise " Creating a Detail Record The following is one embodiment of a method that may be used to create a detail record. 118.Chck on the "View Personal Profile" tab. 119. If the user is prompted for the user's user logm and password, the user may key them m j ust as the user would if the user was loggmg onto the user's network. 120.Locate the sechon of the expert profile that corresponds to the hierarchy for which the user wants to add a detail record. 121. Click on the Add button next to the hierarchy name. 122.Enter the mformahon requested by the detail record entry form 123. Click on Submit The user can submit as many detail records as the user wants for each hierarchy. Searchmg the Detail Records In one embodiment, use the "Text Search" or "Browse" option to search for mformation that is stored in detail records Hierarchy Each detail record is linked to a node m a hierarchy For example, suppose the user's company has implemented a hierarchy called "Work History," and one of the nodes m this hierarchy is "Dπllmg " If appropnate, the user might create a detail record descπbmg the user's qualification as a casmg engmeer Creating the detail record would automahcally link it to the corresponding node in the hierarchy Search Tools To perform a search usmg the locator applicahon, the user may use search tools to specify one or more search cπtena The user then may submit the search and view the results The user may submit a seπes of searches If the user does not start over, each new search may be performed on the list of experts that was generated by the previous search A locator apphcahon may provide search tools for specifymg search cπteπa, mcludmg the following search tools • text search • browse hierarchy tree These tools may appear m the left panel The user may specify cπtena for each search operahon In general, the text search tool may search the base records for data that has been stored as real text It also may seach the hierarchy nodes and the Comments fields m the detail records The browse tool may search the detail records For the best results, the user should combme text search cπteπa with browse tree cπtena This strategy may ensure that the user's search intersects both the base records and the detail records Text Search The Text Search tool may allow the user to search all of the fields m the "base" records, as well as the hierarchy nodes and Comments fields m the "detail" records The Text Search tool may appear at the top of the Search panel In one embodiment, the user can enter up to 64 characters m the text field The search tool may treat all characters and symbols m the text field literally In one embodiment, the search tool may not recognize Boolean operators or wildcard symbols In one embodiment, one or more characters or symbols may be used as wildcard symbols In one embodiment, the asteπsk may be used as a wildcard symbol In one embodiment, one or more characters or symbols may be specified for use as Boolean operators for performmg Boolean searches The selection tool may allow the user to choose among search modes. Some examples of search nodes: • Name. Searches the name fields in the base records. • Comments. Searches the Comments fields in the base records and the Comments fields in the detail records. • All Fields. Searches every field in every base record, and all the Comments fields in the database. • Nodes. Searches the nodes of the hierarchy ttee. The search is performed on the selected node and all of its children. When the user has specified a text string and selected the type of search that the user wants to perform, click on the Add button. In one embodiment, the user's text search string may be posted in the Query panel on the right side of the screen. Name This ophon searches the "Name" fields of the database for instances of the character string. It may return a list of all the experts with a particular name. Comments This option searches the "comments" fields of the database for instances of the character string. Comments fields are fields where users provide textual descriptions of their interests, work experiences, skills, hobbies, etc. If the user is looking for individuals who possess unique or uncommon attributes, searching the "comments" fields may be a good strategy. There are comments fields in both the base records and the detail records. Generally, the fields in the base records are used for personal information, and the fields in the detail records are used for comments about the experience or qualification described by the detail record. All Fields This ophon searches all of the text fields in the base records, the hierarchy nodes, and the Comments fields in both the base records and the detail records. Nodes This option searches all of the nodes in the hierarchy ttee. It returns all matches, plus their children. For example, if the user searches on "geologist," and the "Geologist" node appears at the middle of the tree, all profiles that have links to "Geologist" and its children may be returned as "hits." Rules and Exceptions The following are examples of rules that may apply to text searches m some embodiments of a search tool • In one embodiment, if the user uses mulhple words m the same search string, all of the words m the text string may occur m the matching field of the database However, the words may not occur m the same order as the user entered them • In one embodiment, quotation marks (" ") may force the search tool to find the exact sequence of words m the specified text string • In one embodiment, an astensk funchons as a wildcard symbol Use it if the user has enclosed the text string m quotes, and the user is uncertain of the text that occurs between two words • In one embodiment, the locator apphcahon may not use Boolean logic and may not recognize Boolean operators • In one embodiment, the search tool may not be case sensihve • In one embodiment, the semi-colon, percentage sign, and square brackets ([]) may be invalid cnteπa and may cause error messages • In one embodiment, a maximum number of "hits" may be posted If the user's search produces more than the maximum number, the user may be notified In this case, the user may specify addihonal search cπtena m order to narrow the user's search results In one embodiment, the maximum number of hits may be configured by a user of the search tool Browse Tool The Browse tool allows the user to select particular hierarchy nodes and their children as search cnteπa The browser may use the following graphical components to represent data hierarchies • In one embodiment, magmfymg glasses may represent the top levels of hierarchies In one embodiment, these levels may not be selectable as search nodes These levels identify the hierarchies • In one embodiment, folders mdicate intermediate nodes of the hierarchy • In one embodiment, papers mdicate terminal nodes of the hierarchy • In one embodiment, plus signs (+) may mdicate nodes whose children are not currently displayed Clicking on a plus sign may display children of the node • In one embodiment, minus signs (-) may mdicate that a node has children that are displayed Clickmg on a minus sign may hide the children (Mmus signs may also appear next to terminal nodes that have no children In this case, clickmg on the mmus signs has no effect ) • In one embodiment, "Add to Query" may add the selected hierarchy node to the list of search cπtena that are listed m the "Current Search" panel In one embodiment, when the user selects a hierarchy node as a search cπtenon, the search software may return as "hits" all experts that have "detail" records linked to the specified hierarchy node and its children Panels that Show Current Status The locator apphcahon mam panel may show the status of the current search, and the results of the most recent search that the user has performed It may display this mformahon m the following panels • Search for Experts • Search Results In one embodiment, the user may use browser's Back command to view the results of previous searches. Search for Experts The "Search for Experts" panel may appear as soon as the user defines a search The "Search for Experts" panel may display the search cπteπa that the user has selected usmg the Text search and Browse tools Search Cntena The "Search Cπteπa" column lists all of the currently specified search cπteπa. In one embodiment, a prefix mdicates the search type of each cπteπon. Examples of prefixes • In one embodiment, a Comments prefix may mdicate that the comments fields m the base records and the detail records may be searched for a specified text string. • In one embodiment, a Name prefix may mdicate that the name fields of the base records may be searched for a specified text string. • In one embodiment, an All Fields prefix may mdicate that all of the base record fields, all of the fields storing text m the detail records, and all of the nodes of the data hierarchies may be searched for a specified text string. • In one embodiment, a Tree prefix mdicates the hierarchy node at which a search for detail records may begm. This node and all of its children may be searched In one embodiment, if the user attempts to define more than a maximum number of search cπteπa, the user may receive an error message. In one embodiment, the maximum number of search cπteπa is five Controls In one embodiment, buttons are used to control the search. • In one embodiment, a Remove button may delete the corresponding search entry. • In one embodiment, a Submit button may perform the search usmg the cπtena listed in the Current Search table. • In one embodiment, a Clear All button may clear all the search cπteπa and redisplays the home page. Search Results The Search Results panel may post a list of "hits" for the search that the user has executed. The hst may mclude the experts' names, email addresses, primary telephone numbers, htles, and departments Email Clickmg an email icon invokes the "send email" tool from whatever email package the user's browser is configured to use The address field of the email tool may be filled in with expert's "primary" email address. (There may be additional email addresses m the expert's profile ) Name Clickmg on the expert's name may display the corresponding expert profile This form mcludes all of the data mcluded m the database for the expert Phone The phone number is the "primary" phone number the expert's profile. If no phone number is listed, the expert may have neglected to designate a primary number Check the profile for other phone numbers that may be there mstead Title The title may be deπved from the "Title" field of the expert's base record. This field may be empty. Department The department name may be denved from the "Department" field of the expert's base record. This field may be empty. Profiles Information about mdividual experts may be displayed in forms called "profiles " There may be several types of profiles, mcludmg expert profiles and personal profiles. Expert Profiles An expert profile is a summary of the data stored in the database for a particular expert. These entπes can span a vaπety of skills and mterests. The expert profiles may be created mihally by a database administrator. In one embodiment, a user can edit the user's profile by addmg new records, and modifying or deleting existmg records In one embodiment, a user may not delete the user's own profile, and may not edit other experts' profiles. The user may display expert profiles one at a time by performmg a search and then double clickmg on the names of the experts that appear m the user's search results. The profiles may be displayed m separate browser wmdows so that the user may compare their credenhals. Personal Profiles The Personal Profile may display all the mformation in the database relahng to an individual It may be available only to users that have an expert account m the database The profile may display mformahon such as name, photo, email address, place of employment, contact mformahon, organization, and qualifications It may display all of the types of data that the database can store Some of the fields m a personal profile may be empty A personal profile may be invoked by clickmg on the View Personal Profile option Searchmg for Experts The locator apphcahon may allow a user to specify search cπteπa As the user specifies the search cπtena, they are posted m the Current Search table A Text Search query may search whatever fields the user specifies with the search type selechon tool A Browse query may search only the detail records Before the user specifies the search cπteπa, the user should consider whether the user's target data is stored m base records or detail records This informahon may enable the user to determine which search tool to use, or whether to use both For example, if the user is looking for informahon about a specific mdividual, and the user knows the person's name, then a text search of the Name fields should be sufficient If the user is performmg a broader search for people whose qualifications comcide with specific nodes of the data hierarchies, the user could specify a text search that uses the Node ophon, or the user could use the Browse tool If the user wants to perform a broad search on qualifications, but limit the results to a particular office location, the user may want to combme cnteπa usmg both the Text Search tool and the Browse tool The most comprehensive searches may be performed when the user combmes cnteπa usmg the two search tools, smce this type of search may examine all the records m the database Searchmg on Text The following is one embodiment of a method of usmg a Text Search tool to search on text strings 124 Key the text that the user wants to search mto the Fmd field of the Text Search panel 125 Select the type of search that the user wants to perform (Names, Comments, Node, or All Fields) 126 Click on the Add button The text string that the user specified may be added to the Current Search table 127 Specify additional text strings as appropnate The user can specify as many as five search cnteπa at a time 128 In the Search for Experts panel, click on Submit The results may be displayed m the Search Results panel Searchmg on Data Hierarchies The following is one embodiment of a method of usmg a Browse tool to search data hierarchies 129 Click on the plus sign at the top level of the hierarchy that the user wants to browse 130 Click on the plus sign at each additional level of the hierarchy that the user wants to unfold 131 Highlight the node that the user wants to search 132 Click on "Add to Query " The Browse tool may search for data m detail records, but may not search m base records If the user wants to perform a comprehensive search of the enhre database, the user should combme cπteπa that the user has selected usmg the browse tool with cπteπa that the user has specified with the Text Search tool Contactmg Experts Each expert profile may mclude several categones of contact mformahon Some embodiments may be mtegrated with a collaboration tool such as Microsoft NetMeetmg, allowmg contact via mterachve chat, audio or video conference, apphcahon sharing and mformation sharing via a shared whiteboard By Email In one embodiment, the user can send email to an expert by clickmg on the email icon that appears next to the expert's name m the Search Results panel Addihonal email addresses may appear m the expert's profile By Telephone, Fax, etc In one embodiment, the base record mcludes fields for a vaπety of telephone numbers, fax numbers, web addresses, etc This information may appear on each expert's profile if it has been loaded mto the base record If the expert has not updated the base record with this mformahon, the user may secure the mformahon from another source The user's Personal Profile If the user is a member of the database searched by the locator application, the user data may be displayed m a personal profile invoked with the "View Personal Profile" ophon Initially, the personal profile may be populated with minimal data In one embodiment, it may be the responsibility of the user to provide data that is missing and to keep the user's personal profile updated The following are examples of edits that may be performed on a personal profile by a user • Add or change photograph • Add or modify base record mformahon Viewmg a Personal Profile The following is one embodiment of a method that may be used to view a personal profile 133 Click on the "View Personal Profile" tab 134 The user may be prompted for a network logm and password Addmg or Changmg a Photograph The locator application may impose controls on photo format and size Photos may be of several formats, mcludmg jpg and .gif files, and may be requned to comply with pixel area and memory settings These settings may be accessed m the Personal Profile Photo Entry form In order to comply with these settings, a photo may be edited usmg an image editor The followmg is one embodiment of a method that may be used to add and/or change a photograph. 135. In the Identification panel, click on "Add Photo " 136.Read the specifications for the photo carefully. It is important that the photo comply with these requirements. 137. Display the photo to be loaded in an image editor. 138. Check the image area. If necessary, crop the photo or resize it so that it complies with the specifications in the Personal Profile Photo Entry form Be careful to retam the ongmal aspect raho, or the image may become distorted. 139.Check the image format. If necessary, convert the photo to either the .jpg or .gif format, or export it to a jpg or .gif file. 140. Check the memory required to store the photo. If necessary, resave the image usmg a file compression ratio or resamplmg algonthm that reduces the file size to below the specified memory limit. 141. Once the file has been resized and reformatted to meet the image reqmrements, click on the Browse button m the Personal Profile Photo Entry form, and navigate to the dnectory where the photo is stored Select the photo. 142. To preview the image, click on Preview. Editing a Base Record The followmg is one embodiment of a method that may be used to edit the user's personal profile. 143. Invoke the user's personal profile 144. View the data m the Identification panel of the user's personal profile 145.1f data is missing or if existmg data is incorrect, click on the Edit button m the panel. 146. Select the maccurate data and overwrite it with the correct data. 147. Enter data m empty fields. 148.Chck on Submit Creatmg Detail Records Detail records store expertise mformahon m data categones specified by the user's company for tracking experts. These records are linked to nodes m the database hierarchies and can only be searched with the browse tool. The user is responsible for creatmg the detail records that idenhfy the user as an expert. The followmg is one embodiment of a method that may be used to create detail records. 149.Use the browse tool to explore the hierarchies m the left panel of the locator applicahon 150 Locate categories for which the user qualifies For example, if the user's company has implemented an Expertise hierarchy, locate the nodes in the hierarchy for which the user has qualifications 151 In the user's personal profile, locate the headmg that corresponds to this hierarchy 152 Click on the Add button that appears to the πght of the headmg 153 Fill out the resulting form Provide all of the requested mformahon 154 Click on Submit button at the bottom of the profile Editing Detail Records The followmg is one embodiment of a method that may be used to correct detail record entπes 155 View the data m the detail record sechons of user's personal profile The names of these sechons may correspond to the names of the hierarchies that appear under the browse tool 156 Locate the incorrect mformahon 157 Click on the Edit button that appears to the πght of the incorrect mformahon 158 In the resultmg form, enter the correct mformahon m the appropnate fields 159 Click on Submit button at the bottom of the profile Glossary activity One or more steps that accomplishes one or more goals or milestones An achvity may appear as a task m an activity tree Achvihes are managed from withm the process management apphcahon and stored m a database They possess an extended set of attπbutes such as deadlmes, pπoπhes, responsibihhes, team members, instructions, results, importance, history, etc Users can attach documents and discussions to particular achvihes activity tree A hierarchy tree that provides tools for creatmg and managmg the activities that compose a process The activities appear m a hierarchical structure that can be used to articulate the work flow of the process data sources Databases to which you can create links with projects In one embodiment, links may be created to the processes and process templates m an SQL database In one embodiment, "Data sources" may not mclude file directoπes mcludmg documents A user may also add documents to the project by storing them m a document repository which resides on a server In one embodiment, the server is a Microsoft Exchange server In one embodiment, a user may select a document repository from one of a plurality of document repositones on the server discussion An exchange of messages about a topic that has been posted by a team member The messages are displayed in sequence so that users can identify which messages spawned which responses A discussion can be attached to a project, a process, or an achvity It is stored m a coπesponding project, process, or achvity folder in the document repository document Any type of file that team members have attached to a project, process, or achvity These files can be generated from third party products They can be charts, word processmg documents, spreadsheets, process management files, public presentations, graphics, etc When a user attaches a document, it is stored m a document repository on a server In one embodiment, the server may be a Microsoft Exchange server Documents that are attached to a project can be opened from the mformation browser Documents that are attached to a process or activity can be opened from the process management applicahon The parent apphcahon must be properly mstalled on a client for the documents to open document repository A storage area on a server where all documents and discussions that are added to a process or achvity are stored grid A gπd is a data table that lists mstances of a particular type of data The process management apphcahon may mclude a Process gπd, a Process Template Gπd, a Document gπd, and a Discussions gπd The Process, Process Template, and Document gπds may be used to preview data and to launch parent applicahons The Discussion Gπd may be used to view messages and respond to them link A node that connects an achvity tree to an achvity m a different achvity tree. Double clickmg on the link launches a new Work wmdow that displays the linked achvity. A link may be used if it is desired to access an achvity from mulhple locahons, but to not maintain mulhple mstances of it For example, if a user is workmg m Process A, but wants to view an activity that belongs to Process B, the user may embed a link to it m Process A permissions The view and edit πghts assigned to team members by the owner of a process or achvity These permissions determine who can view the process or achvity, and who can edit the documents and discussions that have been attached to it process A set of activities that has been defined by a team as relevant to the accomplishment of the team's goal. Processes are managed from within the process management application and stored in a database. They generally possess a rich set of attributes such as priorities, responsibilities, importance, history, etc. The team can attach documents and discussions to the process. process template An existing process that has been designated as a template because it embodies a set of good practices. When a user creates a new process from a process template, the structure and all the contents of the existing process are copied to the new process. The process templates are stored in a database. project A group of processes, activities, documents, discussions and other sources of information that may be shared by a group that is striving to achieve a common goal. Examples of other sources of information may include, but are not limited to: oil well information, earth models, and calendars. The information browser project tree provides tools for creating and managing projects. Users can attach documents and discussions to particular projects. role The function that a team member is to perform on the team. Team roles can be created and assigned to team members by the owner of a process or activity. subactivity An activity that is subsidiary to another activity. (See "activity" above.) shortcut A shortcut is a file that stores an executable that launches the process management application with a particular process and activity displayed. You can create a shortcut and send it by email. The recipient can paste the shortcut to his or her desktop. team A group of individuals who share responsibility for a particular activity or process. In one embodiment, to be eligible as team members, the individuals must have email accounts on the server and must be listed in a server master directory. In one embodiment, the server is a Microsoft Exchange server and the master directory is an Exchange global address book. base record A record that stores personal and employment mformation about an expert The base record fields mclude name, address, job title, company, phone numbers, email addresses, etc Each expert has a smgle base record detail record A record that stores mformahon that can be used to evaluate an expert's qualifications Detail records are linked to data hierarchies and can be searched with the Browse tool The detail records and hierarchies are determmed by the company implementmg the enteφnse solution Generally, they are ordered classificahons such as expertise, projects, languages, etc guest A user who can perform searches on the Locator database, but does not have a personal profile stored m it expert A user who has a personal profile stored m the Locator database hierarchy tree A visual representahon of the detail record classificahons Individual detail records are linked to particular nodes of the tree text search A tool for specifymg text strings as search cnteπa The search software looks for the text strings in fields that store text m base records, hierarchy nodes, and detail records browse A tool for specifymg nodes m the database hierarchies as search cπteπa The search software retneves experts who have detail records linked to the designated nodes and their children search criteria Data charactenshcs submitted as search parameters You can specify up to five cnteπa comments field A field mcludmg free text Comments fields in base records generally provide additional personal mformation about the expert Comments fields in detail records provide mformahon about the qualification described by the detail record expert profile A summary that combmes an expert's personal mformation, company mformahon, contact mformahon, and qualifications personal profile The expert profile that belongs to the current user This profile displays populated and unpopulated data fields It also provides tools for editing or deleting existmg data and addmg new data

Claims: WHAT IS CLAIMED IS 1 An enteφrise system for organizing people, mformahon and work processes, the system compπsmg a server computer system compπsmg a first CPU and a first memory, wherem the first memory mcludes a messagmg system for transferring mformation among users, a file repository for stoπng documents, a relational database for stoπng status mformahon, knowledge hierarchies, project configuration mformahon and user mformahon, and a web server for enablmg access to mformahon m the first memory, a client computer system compπsmg a second CPU and a second memory, wherem the second memory mcludes an mformahon browser operable for browsmg processes, documents and discussions, a process management tool for managmg work processes, wherem the work processes compπse a plurality of tasks, documents, discussions, apphcahon tools and people, a locator tool which accesses the user mformahon stored m the relahonal database, wherem the locator tool is operable to search for specific users based on search cπteπa, and a search tool for searchmg for content m processes, documents and discussions m the enteφπse system 2 The enteφnse system of claim 1 , wherem the process management tool is operable to update the user database m the locator tool as mdicated by a user's parhcipatmg m a work process m the process management tool 3 The enteφnse system of claim 1, wherem the process management tool, locator tool, and search tool are launchable from the informahon browser 4 The enteφnse system of claim 1, further compnsmg one or more projects, wherem each project compπses a coUechon of references to mformahon sources, and wherem the projects are shared among and used by mulhple users, and wherem each user has a permission level for manipulation of projects 5 The enteφnse system of claim 4, wherem each of the one or more projects compnses one or more work processes, one or more process templates, one or more documents, and one or more discussions 6 The enteφnse system of claim 5, wherem each of the one or more work processes compnses a hierarchy of one or more tasks, wherem each of the one or more tasks compπses one or more task properties 7 The enteφnse system of claim 6, wherem each task compnses a team member property, wherem the team member property compnses one or more task team member entπes, wherem a task team member entry compnses a team member name, a team member role, and a team member permission level 8 The enteφπse system of claim 7, wherem the locator tool is operable to add a located user to the team member property of a selected task 9 The enteφπse system of claim 4, wherem a user has a permission level for manipulation of projects on a per project basis 10 The enteφπse system of claim 1 , wherem the search tool is operable to perform text searches for documents stored by the mformahon browser, process management tool, and locator tool 11 The enteφπse system of claim 1 , wherem there is a client side installation program configured to mstall the mformahon browser, process management tool, locator tool, and search tool 12 The enteφπse system of claim 1, wherem there is a server side installation program configured to mstall the messagmg system, file repository, relahonal database, and web server 13 The enteφπse system of claim 1, further compπsmg an event subscπphon interface, and wherem a user may subscπbe to events generated by the mformahon browser, process management tool, locator tool, and search tool usmg the event subscπphon interface 14 The enteφπse system of claim 1 , wherem a search of user mformahon sources by the locator tool returns user mformahon for a specific user, wherem the user mformahon for the specific user is displayed on a user mformahon display, wherem the user mformahon display is operable to mihate a search of the first memory for documents authored by the specific user and for documents, processes, tasks, and discussions that reference the specific user 15 An enteφπse system for organizing people, mformahon and work processes, the system compπsmg a server computer system compπsmg a first CPU and a first memory, wherem the first memory mcludes a messagmg system for transferring mformahon among users, a file repository for stoπng documents, a relahonal database for storing status mformahon, knowledge hierarchies, project configuration mformahon and user mformahon, and a web server for enablmg access to informahon m the first memory, a client computer system compnsmg a second CPU and a second memory, wherem the second memory mcludes an mformahon browser operable for browsmg processes, documents and discussions, a process management tool for managmg work processes, wherem the work processes compnse a plurality of tasks, documents, discussions, application tools and people, a locator tool which accesses the user informahon stored m the relahonal database, wherem the locator tool is operable to search for specific users based on search cπteπa 16. An enteφrise system for organizing people, information and work processes, the system comprising: a server computer system comprising a first CPU and a first memory, wherein the first memory includes: a messaging system for transferring information among users; a file repository for storing documents; a relational database for storing status informahon, knowledge hierarchies, project configuration information and user information; and a web server for enabling access to information in the first memory; a client computer system comprising a second CPU and a second memory, wherein the second memory includes: a process management tool for managing work processes, wherein the work processes comprise a plurality of tasks, documents, discussions, application tools and people; and a locator tool which accesses the user information stored in the relational database, wherein the locator tool is operable to search for specific users based on search criteria.

Inventors: DYE JOEL B, GARNER ROLAND F, MCFARLANE MARK A, DYE, JOEL, B., GARNER, ROLAND, F., MCFARLANE, MARK, A.
Applicants: LANDMARK GRAPHICS CORP, LANDMARK GRAPHICS CORPORATION
Application year: 2000
Main classification: G06F17
IPC codes: G06Q10, H04L29