# Patent

## Title
Case management system

## Abstract

A content management system is disclosed for documents and other content for a system operating in legal environment referred to herein as a case management system. The case management system allows attorneys in a legal environment to efficiently store and manage content for their client and case matters. Furthermore, the system encourages attorneys to collaborate with fellow co-workers, clients, and third parties (e.g. expert witnesses) in a secure and confidential environment. The case management system enables attorneys to maintain case files and associated documents more efficiently and thus allow law firms to more productively function as a business that relies heavily upon comprehensive document files.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This patent application claims the benefit of U.S. Provisional Patent Application No. 60/887,906, filed Feb. 2, 2007, which is incorporated by reference in its entirety, including any references contained therein.


FIELD OF THE INVENTION
The field of the invention is computer systems in general and more particularly content management systems.
BACKGROUND OF THE INVENTION
In today's modern business world the key to productivity for businesses is their ability to efficiently store, manage, and reuse information content and work product. Each business has challenges in managing content. Challenges include having a reliable, efficient, and intuitive organizing system. Also, content management systems should accurately handle version control such that the most current version of a document is used for customer correspondence, supply purchases, or co-worker collaboration. Furthermore, content management systems not only file documents but also store content of differing media, from video to photographs to audio files. Finally, a content management system is not merely an electronic file cabinet that employees use to search and retrieve files, but a digital vault that secures confidential content from customers, suppliers, or fellow workers.
A content management system should be easy to use such that a company's employees should only have a short learning curve so as to not lose their productivity. In addition, the content management system should make typical tasks more efficient, making it worth the investment in time and money for businesses. For example, the e-mailing of documents as attachments to e-mail messages should not be inhibited when sending these same documents from a content management system. No business can trade a content management system for less efficient means for producing daily work product.
In a legal environment, content management can be more challenging than other traditional businesses. Attorneys collaborate with each other as well as with clients and third parties (e.g. expert witnesses). Due to the nature of the relationship between attorneys and their clients, work product and content are kept confidential. Consequently, a content management system in a legal environment should provide security and confidentiality among a group of users. Furthermore, attorneys strive for efficiency and productivity. Therefore, a content management system should be efficient and yield higher productivity for a firm than without investing in a system. Consequently, a system should be easy to use and efficiently perform typical tasks in a legal environment. At the same time, a system should provide a productive means to collaborate with client, third parties, and fellow attorneys. Finally, a content management system should be compatible with typical, daily document processes in a law firm.
BRIEF SUMMARY OF THE INVENTION
The present invention and its embodiments disclose a content management system for documents and other content for a legal environment called a case management system. It allows attorneys in a legal environment to efficiently store and manage content for their client and case matters. Furthermore, the system encourages attorneys to collaborate with fellow co-workers, clients, and third parties (e.g. expert witnesses) in a secure and confidential environment. The case management system enables attorneys to be more efficient individually and allows law firms to be more productive as a business.



BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
While the appended claims set forth the features of the present invention with particularity, the invention and its advantages are best understood from the following detailed description taken in conjunction with the accompanying drawings, of which:
FIG. 1 is a functional block diagram illustrating components of an exemplary case management system, in accordance with an exemplary embodiment;
FIG. 2 is a system diagram illustrating the components of a case management system, in accordance with an exemplary embodiment;
FIG. 3 is a flow diagram illustrating the steps in creating a client site, in accordance with an exemplary embodiment;
FIG. 4 is a diagram of an exemplary user interface incorporated into an exemplary embodiment
FIG. 5 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 6 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 7 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 8 is a general overview of the operation of a system contemplated by an exemplary embodiment;
FIG. 9 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 10 is a flow diagram illustrating the steps in creating a case site, in accordance with an exemplary embodiment;
FIG. 11 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 12 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 13 is a general overview of the operation of a system contemplated by an exemplary embodiment;
FIG. 14 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 15 is a flow diagram illustrating the steps in creating a litigation site, in accordance with an exemplary embodiment;
FIG. 16 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 17 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 18 is a general overview of the operation of a system contemplated by an exemplary embodiment;
FIG. 19 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 20 is a functional block diagram illustrating a data structure of the database within the case management system, in accordance with an exemplary embodiment;
FIG. 21 is a flow diagram illustrating the steps in creating and storing content in the system, in accordance with an exemplary embodiment;
FIG. 22 is a diagram of an exemplary user interface incorporated into an exemplary embodiment
FIG. 23 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 24 is a general overview of the operation of a system contemplated by an exemplary embodiment;
FIG. 25 is a functional block diagram illustrating the data structure of the database within the case management system, in accordance with an exemplary embodiment;
FIG. 26 is a flow diagram illustrating the steps in creating and storing content in the system, in accordance with an exemplary embodiment;
FIG. 27 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 28 is a diagram of an exemplary user interface incorporated into an exemplary embodiment;
FIG. 29 is a general overview of the operation of system contemplated by an exemplary embodiment;
FIG. 30 is a functional block diagram illustrating the data structure of the database within the case management system, in accordance with an exemplary embodiment;
FIG. 31 is a general overview of the operation of a system contemplated by an exemplary embodiment;
FIG. 32 is a general overview of the operation of a system contemplated by an exemplary embodiment;
FIG. 33 is a diagram of exemplary user interfaces incorporated into an exemplary embodiment;
FIG. 34 is a general overview of the operation of a system contemplated by an exemplary embodiment;
FIG. 35 is a general overview of the operation of a system contemplated by an exemplary embodiment
FIG. 36 is a diagram of a template incorporated into an exemplary embodiment;
FIG. 37 is a diagram of a template incorporated into an exemplary embodiment;
FIG. 38 is a diagram of a template incorporated into an exemplary embodiment;
FIG. 39 is a diagram of a template incorporated into an exemplary embodiment;
FIG. 40 is a diagram of a template incorporated into an exemplary embodiment; and
FIG. 41 is a diagram of a template incorporated into an exemplary embodiment.



DETAILED DESCRIPTION OF THE INVENTION
A content management system described in this specification contains several components and provides several functions. Components of a content management system include; a user interface, a web server, a document management system, an administration utility, custom and default templates, content data structure, a database, a document extractor, and an e-mail publisher. Extension to a base content management system include: an integrated administration utility, and pre-defined templates (custom and default). These additions are integrated through an application programming interface (API) and software development framework (SWDF), to create content specific to the business using a content management system. Further enhancements include a document extractor utility integrated with a document management system, through an API and SWDF, to allow users easier access to content from a system. An additional enhancement is an e-mail publisher that allows a user to easily store content from an e-mail program into a content management system.
The extended document manage system is suitable for a variety of environments. For example, in a law firm environment, users create and manage content specific to the law firm's client and cases. An exemplary embodiment is directed to a law firm environment, alternative embodiments include an administration utility, and default and custom templates that support a variety of business/enterprise classes including manufacturing, banking, investing, consulting, marketing & advertising, etc. Any business that creates, stores, and manages content is able to utilize an alternative embodiment.
FIG. 1 is a functional block diagram illustrating components of an exemplary case management system, in accordance with an exemplary embodiment. An embodiment of a case management system contains several components. Components include a user interface 100, a web server 105, and a document management system 110. The user interface 100 allows a user to access content from a case management system when a user is on the same local area network as a case management system, or is a remote user where it accesses a system across a wide area network or the Internet (See FIG. 35). Exemplary embodiments have system user interfaces that include, but are not limited to, a web or any other inter-network, intra-network or local area network, wide area network, Internet, browser, or viewer user interfaces. The web server 105 takes content from the document management system 110 and presents content to a user through the user interface 100. “System” throughout this specification refers to the “case management system” unless specified otherwise. Content created and stored in a system may not only be documents created with a word processor but also other media including, but not limited to, e-mails, photographs, audio, and video files. Components of a case management system also include an administration utility 115, custom 120 and default templates 125, a content data structure 130, and a system database 135 (e.g. SQL). The administration utility 115 and the custom 120 and default templates 125 are used to create new content data structures 130. Custom 120 and default templates 125 comprise reusable software forms that are used to create new content. Default templates 125 are software forms presented by the document management system 110 to expedite creating new content for a system. Alternatively, custom templates 120 are software forms geared toward a specific piece of content that will be repeatedly created by the user of a case management system for specific business needs. Content created by a case management system is stored in the system database 135. However, the database 135 is structured to store content in different data structures 130 that include, but are not limited to, client, case, and litigation data structures. Content stored for a particular client is stored in client data structures, while content stored for a particular case is stored in a case data structure. Similarly, litigation data structures contain content for litigation matters. The organization of data structures within the database 135 will be further explained when describing FIG. 20. The database can be contained in one server or span across several servers. A case management system also includes a document extractor 140 and an e-mail publisher 145. The document extractor 140 provides a user access to a set of documents (or other content) from a case management system and copies them to a user's storage media. Due to the data structures of the content in the database 135, the document extractor 140 first copies the documents into a flat file database, and then allows a user to access documents from the flat file database. The e-mail publisher 145 allows a user to copy e-mail correspondence from a local personal computer (or other storage media) into a content data structure 130 of the system database 135 through the user interface 100 and web server 105.
FIG. 2 is a system diagram illustrating components of a case management system, in accordance with an exemplary embodiment. FIG. 2 illustrates different system components comprising a case management system 260. One system component is a generic representation of a user interface 200. The user interface 200 is the same user interface 100 described in FIG. 1. The user interface 200 is presented to a user by a web server 205. The web server 205 supports a user to create and store content within a document management system 210. For example, if, from a Case Management Home Page 275, a user seeks to access content from a Litigation Home Page, then a user selects a Litigation link 280 on the Case Management Home Page 275. The web server 205 then queries the document management system 210 to access a system database 245 to gather litigation content for the web server 205 to present via the user interface 200. FIG. 2 shows the content data structure 220, 225, and 230 and part of the system database 245. The content data structure that is accessed by the Case Management Home Page 275 is shown as a Case Management Top Level data structure 220. Underneath the Case Management Top Level Data Structure 220 are a Prosecution/Opinion Top Level data structure 230 and a Litigation Top Level data structure 225. When accessed by the user interface 200, they are viewed by a user as a Prosecution/Opinion Home Page and a Litigation Home Page. FIG. 2 also pictures other system components including an administration utility 215, custom 235 and default 240 templates, a document extractor 250, and an e-mail publisher 255. As discussed when describing FIG. 1, the document extractor 250 comprises of a software processor 265 that copies documents from the system database 245 to a flat file database 270. This allows a user easier access documents from the case management system 260 than from the database 245 directly. A user then copies files from the flat file database 270 to a local personal computer (or some other storage media). An e-mail publisher 255 allows a user to publish e-mails from a user's personal computer into the system 260. The e-mail publisher 255 stores messages into a content data structure within the system database 245.
FIG. 34 is a general overview of the operation of a system contemplated by an exemplary embodiment. FIG. 34 illustrates an embodiment that shows functional components of the case management system 260 (See FIG. 2) are split between several servers. Other embodiments may have all functional components of the system 260 contained in one server, or arranged where servers contain a different set of functions as depicted in FIG. 34. Specifically, in the embodiment pictured in FIG. 34, the system 260 comprises the web server 205, the database 245 contained in a database server 3405, and the e-mail publisher utility 255 contained in an e-mail publisher utility server 3415. In addition, FIG. 34 shows a system server 3400 containing the document management system 210, the administration utility 215, the custom 235, and default templates 240. Finally, FIG. 34 pictures a document extractor server 3410 containing the document extractor utility 265 and the flat file database 270.
FIG. 35 is a general overview of the operation of a system contemplated by an exemplary embodiment. FIG. 35 shows an embodiment where system components are located on a local area network (LAN 1) 3545. System components on LAN 1 3545 include the system server 3400, the web server 205, the database server 3405, the document extractor server 3410, and the e-mail publisher server 3415. Also on LAN 1 are several system users User 1 3500, User 2 3505, and User 3 3510 who can access the system 260 (See FIG. 2) across LAN 1 3545. Another network component on LAN 1 3545 is a gateway router 3515 that connects the LAN to the Internet or wide area network (WAN) 3555. The gateway router 3515 allows remote users 3525, 3530, 3535, and 3540 to remotely access the case management system 260 from LAN 1 3545 across the Internet 3555. A second gateway router 3520 connects a second local area network (LAN 2) 3550 to access the system 260 through the Internet or WAN 3555:
FIG. 20 is a functional block diagram illustrating a data structure of the database 245 within the case management system 260 (See FIG. 2), in accordance with an exemplary embodiment. The system database 245 is organized in a hierarchical tree structure comprising several levels. The database 245 can be contained on one server or span across several servers. Each data structure contains content relative to its place in the tree and connects to a corresponding client, case, or litigation matter. Each data structure is accessed via the user interface 200. A data structure accessible through the user interface 200 is called a site. This term comes from user interfaces and servers used in the embodiments of the system. Data accessible by a user interface that include, but are not limited to, web or any other inter-network, intra-network or local area network, wide area network, Internet, browser, or viewer user interfaces are called “websites” or “sites” for short. Sites are also called “web pages” or “pages” for short. “Websites”, “sites”, “web pages” and “pages” refer to the ability of accessing content stored in data structures contained within the system database 245 through the user interface 200.
At the top level of the database tree structure is a Case Management Top Level Data Structure 2000. When accessed by the user interface 200 (See FIG. 2) it is displayed as a Case Management System Home Page 400 (See FIG. 4). The next level of the database tree structure contains both Opinion Top Level 2005 and Litigation Top Level data structures 2010. Similar to the system top level 2000, these data structures, when accessed by the user interface 200 are displayed as a Prosecution/Opinion Home Page 500 and a Litigation Home Page 1600, respectively (See FIGS. 5 and 16). The next level of the data tree structure, underneath a Prosecution/Opinion data structure 2005, is a level of client data structures 2015. Each client data structure contains case data structures 2020, and 2025 underneath it, corresponding to each opinion matter for the client. Finally, the bottom level of the tree structure contains data structures for each case. The bottom level includes data structures that contain official papers 2030 and correspondence 2035. Again, each data structure when accessed by the user interface 200 is displayed as web pages or web sites. Underneath a Litigation data structure 2010 are Litigation matter data structures 2040 and 2045. Litigation matter data structures 2040 and 2045 contain content for each litigation matter stored in the system 260 (See FIG. 2). Underneath each Litigation matter data structure 2040 and 2045 are content data structures typically needed in any litigation. These include Pleadings 2050, Discovery 2055, and Memoranda 2060 data structures. Again, each data structure when accessed by the user interface 200 is displayed as web pages or as web sites. The Pleadings 2050, Discovery 2055, and Memoranda 2060 data structures within the Litigation Top Level 2010 portion of the database tree are at the same level of the data structure tree as the case sites 2020 and 2025 in the Prosecution/Opinion Top Level 2005 portion of the database.
FIG. 3 is a flow diagram illustrating steps in creating a client site, in accordance with an exemplary embodiment. A user of the case management system 260 (See FIG. 2) creates new content for a particular client, then stores and manages content in the system 260. To achieve this, a user creates data structures that are accessible from user interfaces 200 (See FIG. 2). For example, data structures contain content for a particular client or for a particular case for a client. Client and case content are accessed through the user interface 200 and stored in different data structures within the case management system 260 called client and case sites, respectively. FIG. 3 illustrates a progression of steps incorporating functional components of an exemplary embodiment that allow a user to create client sites. At step 300, a user accesses a Case Management System Home Page 400 (See FIG. 4) via the user interface 200. At step 305, a user accesses a Prosecution/Opinion Home Page 500 (See FIG. 5). An “Opinion” encompasses a variety of opinions attorneys render in writing on such matters as whether to sue, settle, or negotiate certain client interests. “Prosecution” relates to the process of applying for patents and trademarks from the United State Patent and trademark Office (USPTO). The Prosecution/Opinion Home Page 500 accesses content related to these matters in the case management system 260. At step 310, a user accesses a New Client Request Page 600 (See FIG. 6). Thereafter at step 315, a user accesses a New Client Request: New Item Page 700 (See FIG. 7). At step 320, a user enters client information to be stored into the case management system 260. Finally, at step 325, the system 260 creates a new client data structure for new content and stores it into the system database 245 (See FIG. 2).
FIGS. 4-7 are diagrams of exemplary user interfaces, each incorporated into an exemplary embodiment. FIG. 4 is a screen shot of an exemplary web or inter-network user interface of an exemplary Case Management System Home Page 400. The exemplary user interface depicted in FIG. 4 provides users management capabilities for content contained within the case management system 260 (See FIG. 2). A user selects a Patent Pros/Opn link 405 to access the Prosecution/Opinion Home Page 500 displayed in FIG. 5 to create and manage content related to client opinions and prosecution matters. Litigation content is accessed by selecting a Litigation link 410. FIG. 5 is a diagram of an exemplary user interface of an exemplary Opinion Home Page 500. Similar to the Case Management Home Page 400, the Prosecution/Opinion Home Page 500 enables a user to manage client content for prosecution and opinion matters. The bottom of the Prosecution/Opinion Home Page 500 displays a client list identifying clients 510 that have prosecution and opinion content contained within the case management system 260. In order to create new client content, a user selects the “New Client Site Request” link 505. The link allows a user to access a New Client Site Request Page 600 displayed in FIG. 6. FIG. 6 is a diagram of an exemplary user interface of the New Client Site Request Page 600. The page 600 lists New Client Site Requests 610 and statuses in a column 615. The status columns 615 shows whether client sites have been created or their creation is pending before the system. In order to create a new client site and then add new client content into the case management system 260 (See FIG. 2), a user selects a New Item link 605. Selecting the link 605 accesses a New Client Site Request: New Item Page 700 displayed in FIG. 7. FIG. 7 is a diagram of an exemplary user interface of the New Client Site Request: New Item Page 700. To create a new client site data structure that contains new client prosecution or opinion content in the case management system 260 (See FIG. 2), a user enters necessary information into the system 260. The information includes a Client Name 720, a site administrator 725, other site users 730, a request date and time 735, and a status 740 of a site. The site administrator 725 and site users 730 allow content to be confidential to a group of listed users. Restricting access to the group of site users 730 is part of the security and confidentiality feature of the case management system 260. Security and confidentiality is restricted to separate groups of users at various levels. Client sites, cases sites, and litigation sites can restrict access to specified groups of users. In addition, sections within these sites such as correspondence, pleadings, or discovery sections are restricted to subset groups of users or to other groups of users of the parent site. The system 260 (See FIG. 2) is capable of restricting access to a particular document or another piece of content contained in the particular section of a site (such as correspondence, pleadings, or discovery).
Once data is entered, a user has the option to attach a file to the information via an attach file link 710, or simply save the data and close the web page 700 to initiate a new client site creation process via the save and close link 705. FIG. 8 is a general overview of the operation of a system contemplated by an exemplary embodiment. A logged on user (Joe Smith), through a personal computer 800, creates a new client site by accessing a New Client Site Request: New Item Page 805 (See FIG. 7). As previously discussed, the user interface 200 (See FIG. 2) is presented by the system web server 205. After a user (Joe Smith) enters necessary information into the user interface 200, a user saves information via a save push button 827 to initiate creation of a client site. For the case management system 260 to create a new client site, the web server 205 takes the information gathered by the New Client Site Request: New Item Page 805 and sends the information to the document management system 210. Next, the document management system 210 prompts the administration utility 215 to create a new client data structure 830 using the custom 235 and default templates 240. Once the administration utility 215, and templates 235, and 240, create a new client data structure 830, the system 260 stores the new client data structure 830 into its database 245. A user (Joe Smith) 800 accesses the new client data structure 830 through the user interface 845 to create and manage content. Some capabilities offered by the system 260 for a client site include storing client documents 850, and client contacts 855. The new client site 845 also lists cases 860 and a group of site users 865 for a client. Finally, the user interface 845 allows a user to extract documents 870 from the case management system 260.
An example of a user interface to a new client site is displayed in FIG. 9. FIG. 9 is a diagram of an exemplary user interface of a Client Site Home Page 900. Similar to the general overview diagram presented in FIG. 8, the user interface 200 (See FIG. 2) provides access to client documents 905, client contacts 910, and client case information 915. The Client Site Home Page 900 also lists a group of site users 920 and provides a link to the document extractor 925 for a user to access client content from the case management system 260 (See FIG. 2).
FIG. 10 is a flow diagram illustrating the steps in creating a case site, in accordance with an exemplary embodiment. Case sites contain data for particular cases for a client and are accessible from client sites. Thus, some functional components for creating a site are similar to some functional components for creating a client site. To create a case site, a user progresses through a number of steps and accesses a series of web pages from a system user interface 200. In the exemplary embodiment, the use accesses a Case Management System Home Page during step 1000. At step 1005, the user accesses a Prosecution/Opinion Home Page 1005, and at step 1010, the user accesses a Client Site Home Page. Thereafter, at step 1015, a user accesses a New Case Item Request Page. At step 1020, a user enters new case information. At step 1025, a user submits data to the system, to initiate creating of a new case data structure in the system database 245 (See FIG. 2).
FIGS. 11-12 depict exemplary user interfaces, each incorporated into an exemplary embodiment. FIG. 11 is a screen shot of an exemplary user interface of an exemplary Client Site Home Page with an Add Case Feature 1100. A user creates a case site then adds case content to that site into the case management system 260 (See FIG. 2). To add a case site, a user chooses a case type by selecting one of “Prosecution”, “Opinion”, “Litigation”, or some other selection from a drop down menu in the middle of the page 1105. Thereafter, a user selects an Add Case link 1110 to access a New Case Site Request Page 1200 displayed in FIG. 12. FIG. 12 is a screen shot of an exemplary user interface of a New Case Site Request Page 1200. A user enters information to create a case site that includes a case category 1205, firm and client reference numbers 1210, and a description of a case 1215. Once a user enters information, a user selects an “Add Opinion” push button 1220 to initiate the creation process of a case site. If, however, a user wants to discontinue a case site creation process, a user simply selects a “Cancel” push button 1225.
FIG. 13 is a general overview of the operation of a system contemplated by an exemplary embodiment. A logged on user (Joe Smith), through a personal computer 800, creates a new case site by accessing a New Case Site Request Page 1300 (See FIG. 11). As previously discussed, user interfaces 1300 are presented by a system web server 205. After a user (Joe Smith) 800 enters information into the user interface 1300, the user 800 saves information by pressing a save push button 1327 to initiate creation of a case site. Next, the case management system 260 creates a new case site by having the web server 205 take information gathered by a New Case Site Request user interface 1300 and send the information to the document management system 210. Next, the document management system 210 prompts the administration utility 215 to create a new case site data structure 1325 using the custom 235 and default 240 templates. Once the administration utility 215, and custom 235 and default 240 templates create a new case site data structure 1325, the system 260 stores the case site data structure 1325 into a database 245. A user (Joe Smith) 800 then accesses a new case data structure 1325 through a user interface 1330 to create and manage the new case site data structure's content. Some capabilities offered by the system 260 include storing and managing, in a case of the following: official papers 1340, correspondence 1345, internal notes 1350, and client contacts 1355. A case site also lists a group of site users 1360 for a client. Finally, a user interface 1330 allows a user to extract documents 1365 from a case management system 260. An example of a user interface to a new case site is displayed in FIG. 14. FIG. 14 is a screen shot of an exemplary user interface of a Case Site Home Page 1400. Similar to the user interface 1300 presented in FIG. 13, the user interface presented, by way of example, in FIG. 14 provides access to the following: client official papers 1405, correspondence 1410, internal notes 1415, and client contacts 1420. The Case Site Home Page 1400 also lists a group of site users 1425 and provides a user a link to the document extractor 1430 to access case content from the case management system 260 (See FIG. 2). The copy reference utility can be accessed by selecting a link 1427. The copy reference utility allows a user to copy content from one content data structure in the system database 245 (See FIG. 2) to another.
FIG. 15 is a flow diagram illustrating steps in creating a litigation site, in accordance with an exemplary embodiment. Litigation sites contain data for particular litigation matters for a client. In order to create a litigation site, a user progresses through a series of steps that include accessing the Case Management System Home Page 400 during step 1500 (See FIG. 4). At step 1505, a user accesses a Litigation Home Page, and then at step 1510, accesses a New Litigation Request Page. Thereafter at step 1515, a user enters new litigation information. After submitting new litigation data, a content management system creates a new litigation data structure in a database containing the information 1520.
FIGS. 16-17 depict exemplary user interfaces, each incorporated into an exemplary embodiment. FIG. 16 is a screen shot of an exemplary user interface of a Litigation Home Page 1600. For a user to create a new litigation site, a user selects a New Item link 1605 in the middle of the Litigation Home Page 1600 to access a New Litigation Request Page 1700 displayed in FIG. 17. FIG. 17 is a screen shot of an exemplary user interface of a New Litigation Request Page 1700. A user enters information through a user interface to create a new litigation site. The information includes a case number 1720, a case title 1725, a plaintiff 1730, a defendant 1735, and a court 1740. A user also enters a group of site users for a litigation 1745. Finally, a user enters any additional requests 1750 for a site from a case management system 260 (See FIG. 2).
FIG. 18 is a general overview of the operation of a system contemplated by an exemplary embodiment A logged on user (Joe Smith), through a personal computer 800, creates a new litigation site by accessing a New Litigation Site Request Page 1800 (See FIG. 17). As previously discussed, web user interfaces 1800 are presented by a system web server 205. After a user (Joe Smith) enters information into a user interface 1800, a user saves the information by pressing the save push button 1822 to initiate creation of a litigation site. Thereafter, the case management system 260 creates a new litigation site by having the web server 205 take information gathered by a “New Litigation Site Request” user interface 1800 and send it to the document management system 210. Next, the document management system 210 prompts the administration utility 215 to create a new litigation site data structure 1325 using the custom 235 and default 240 templates. Once the administration utility 215, and custom 235 and default 240 templates create a new litigation site data structure 1825, the system 260 stores the new litigation site data structure 1825 into a database 245. A user (Joe Smith) 800 accesses a new litigation data structure through a user interface to create and manage content 1830. Some capabilities offered by a system include storing and managing the following: pleadings 1840, correspondence 1845, discovery 1850, memoranda 1855, and court opinions 1860. A litigation site also lists a group of site users 1865 for a litigation. Finally, the user interface 1830 allows a user to extract documents from a case management system by selecting a link 1870. An example of a new litigation site 1900 is displayed in FIG. 19. FIG. 19 is a screen shot of an exemplary user interface of a New Litigation Site Home Page 1900. Across the top of the page 1900, a case title 1905 is displayed along with a plaintiff 1910, a defendant 1915, and a court 1920. Similar to the user interface 1830 presented in FIG. 18, a user interface provides access to pleadings 1925, correspondence 1930, discovery 1935, and memoranda 1940. A New Litigation Site Home Page 1900 also lists a group of site users 1945.
FIG. 21 is a flow diagram illustrating steps in creating and storing content in a case site, in accordance with an exemplary embodiment. A user progresses through a series of steps to create and store content in a case site. These steps include a step 2100 where a user accesses the Case Site Home Page 1400 (See FIG. 14). At step 2110, a user accesses an appropriate section of a case site that a user wants to generate or store content. At this point, a user has an option to perform one of two actions. At step 2115, a user launches a personal computer's word processing program and creates document content, or at step 2120, a user uploads an existing document using one of the software tools 2120 available within a system 260 (See FIG. 2). When launching a word processing program at step 2115, the system 245 (See FIG. 2) creates basic content with a document using the pre-existing custom 235 (See FIG. 2) and default 240 (See FIG. 2) templates for user convenience. After editing a document, at step 2125, a user stores content into a section (such as official papers) 2125 of a case site.
FIGS. 22-23 depict exemplary user interfaces, each incorporated into an exemplary embodiment. FIG. 22 is a screen shot of an exemplary user interface of a Case Site Official Papers Page 2200. From the Case Site Official Papers Page 2200, a user launches a personal computer's word processing program to create and store content into a system 2205, or a user accesses an upload document software tool 2210 to store an existing document into a system 260 (See FIG. 2). When launching a word processing program by selecting the New Document link 2205, the system 245 (See FIG. 2) creates some content with a document using custom 235 or default 240 templates for user convenience. FIG. 23 is a screen shot of an exemplary user interface of an Upload Document Page 2300. At an Upload Document Page 2300, a user uploads a document by entering a name 2310 or browsing through storage media 2315 (e.g. hard drive, flash drive, DVD, or CD). A user also has the ability to upload multiple files by selecting a link 2320. Finally, a user enters other identifiers for an uploaded document 2325. Once a user selects a document to upload, a user selects a save and close link 2305 to store documents into the system 260.
FIG. 24 is a general overview of the operation of a system contemplated by an exemplary embodiment. In this embodiment, a user (Joe Smith) 800 accesses an Official Papers Home Page 2420 of a case site to create and store a new document. A user (Joe Smith) selects a New Document link 2425 to launch a personal computer's word processor 2400. When launching a word processing program by selecting the New Document link 2425, the system 245 creates some content with a document using custom 235 or default 240 templates for user convenience. Then a user creates an official document 2405. Next, a user saves a document into the system 260. The document management system 210 stores content within an Official Papers data structure 2415 underneath a Case Site data structure 2410 into the system database 245. When a user next accesses the Official Papers Home Page 2420, the official document is listed underneath “List of Documents” 2435.
FIG. 25 is a functional block diagram illustrating data structure of the database within the case management system 260 (See FIG. 2), in accordance with an exemplary embodiment. The part of the system database 245 (See FIG. 2) underneath a Prosecution/Opinion Case data structure 2500 contains several data structures that include official papers 2505, client information 2510, correspondence 2520, and notes 2525. Each of these data structures can contain content. Content is not only text documents 2515, 2530, 2535, 2540, and 2550 but also other media such as e-mails 2545 and audio files 2555.
FIG. 26 is a flow diagram illustrating steps in creating and storing content within a litigation site, in accordance with an exemplary embodiment. FIG. 26 displays a series of progressive steps, the first step 2600 having a user access a Litigation Home Page (See FIG. 16). At step 2605, a user accesses a section of a litigation site where a user wants to generate or store content. At this point, a user has the option to perform one of two actions. Either at step 2610, a user launches a personal computer's word processing program and creates document content, or at step 2615, a user uploads an existing document using one of the software tools contained within the system 260 (See FIG. 2). When launching a word processing program at step 2610, the system 245 (See FIG. 2) creates some content with a document using custom 235 (See FIG. 2) or default 240 (See FIG. 2) templates for user convenience. At step 2620, a user stores content into a litigation site section (such as pleadings section).
FIG. 27-28 depict exemplary user interfaces, each incorporated into an exemplary embodiment FIG. 27 is a screen shot of an exemplary user interface of a Litigation Site Pleadings Page 2700. From Litigation Site Pleadings Page 2700, a user either launches a word processing program to create and store content 2705 into the system 260 (See FIG. 2), or accesses an “upload document” software tool 2710 to store an existing document into the system 260. When launching a word processing program by selecting the New Document link 2705, the system 245 (See FIG. 2) creates some content with a document using custom 235 (See FIG. 2) or default 240 (See FIG. 2) templates for user convenience. FIG. 28 is a screen shot of an exemplary user interface of an Upload Document Page 2800. At the Upload Document Page 2800, a user uploads a document by entering a document name 2810, or by browsing through a storage media 2815. In addition, a user has the ability to upload multiple files by selecting a link 2820. Finally, once a user selects documents to upload, a user selects a save and close link 2085 to store documents into the system 260.
FIG. 29 is a general overview of the operation of a system contemplated by an exemplary embodiment. A logged on user (Joe Smith) 800 accesses a Litigation Pleadings Page 2920 of a litigation site to create and store a new document. The user (Joe Smith) selects a New Document link 2930 to launch a personal computer's word processor 2900. The user creates a document such as an answer to a complaint 2905. When launching a word processing program by selecting the New Document link 2930, the system 245 creates content with a document potentially using a custom 235 or default 240 template for user convenience. After editing the document, the user saves the document 2905 into the system 260. Thereafter, the document management system 210 stores the saved content within a Pleadings data structure 2915, underneath a Litigation Site data structure 2910 within the system database 245. Subsequently, when a user (Joe Smith) accesses the Litigation Pleadings Page 2920, the answer to the complaint 2905 is listed underneath “Pleadings Documents” 2950.
FIG. 30 is a functional block diagram illustrating data structure of the database 245 (See FIG. 2) within the case management system 260 (See FIG. 2), in accordance with an exemplary embodiment. The system database 245 underneath a Litigation data structure 3000 contains several data structures that include pleadings 3005, discovery 3025, memoranda 3010, and opinions 3030. Each data structure contains content that is not only documents 3015, 3020, 3040, 3050, and 3055 but also other media such as video 3045 or photographs.
FIG. 31 is a general overview of the operation of a system contemplated by an exemplary embodiment. This diagram illustrates a use of the document extractor 250 in an exemplary embodiment. A logged on user (Joe Smith) 800 extracts a Complaint document 3110 from the case management system 260 to electronically file the Complaint 3110 to a court 3100. The user 800 performs an extraction by accessing a Litigation site 3125 and selecting a Document Extractor link. 3135. Selecting the Document Extractor link 3135 initiates the document extractor utility 250 of the case management system 260. A software tool 265 extracts a document from the system database 245 and copies the Complaint document 3110 from a Pleadings data structure 3145 to the flat file database 270. The document extractor 250 allows the user (Joe Smith) 800 to save the Complaint 3110 on the personal computer 800. Subsequently, the user (Joe Smith) 800 accesses a court electronic filing system program 3120, sends an extracted Complaint 3110 to court 3100 through the Internet 3115, and stores the Complaint 3110 into a court's database 3105. The document extractor 250 also allows a user to browse and then extract documents from the system 260 to electronically file into a court database 3105.
FIG. 32 is a general overview of the operation of a system contemplated by an exemplary embodiment. This diagram illustrates a use of the e-mail publisher 255 utility of the case management system 260. A user (Joe Smith) 800 initiates a personal computer's e-mail program 3120. The user (Joe Smith) 800 then accesses the client e-mail publisher application program 3222 to send certain e-mail correspondence 3200 from a personal computer to the system's e-mail publisher 255. The e-mail publisher 255 stores e-mail correspondence 3200 in a Correspondence data structure 3210 in the database 245, contained within a Case Site data structure 3205 in the system database 245.
FIG. 33 depicts exemplary user interfaces, each incorporated into exemplary embodiments. A Correspondence Page 3300 of a case site contains no documents 3305. A user with a personal computer's e-mail program accesses the client e-mail publisher application 3222 selecting the “Publish E-mails” 3310 link on an e-mail program toolbar. A user then selects an e-mail message to be stored into a Correspondence data structure 3210. The client e-mail publisher application 3222 sends the e-mail message across a network to the e-mail publisher 255 that stores a selected e-mail into the appropriate data structure in the system database 245 (See FIG. 2). When a user next accesses a Correspondence Page 3300, a user sees a selected published e-mail 3315 listed on a Correspondence Page 3300.
FIGS. 36-41 are diagrams of custom and default templates incorporated into an exemplary. FIG. 36 shows an embodiment of a default template 3600. The default template 3600 provides a foundation and underlying content of a data structure contained in the system database 245 (See FIG. 2). FIG. 37 shows an embodiment of a client custom template 3700 used in creating a client site. The client custom template 3700 is overlaid on top of the default template 3600 to create a client site. Also, the client custom template 3700 populates a content data structure with foundational information and sections that include Client Information 3705, Contact 3710, Client Cases 3715, site user (members) 3720, a link to the document extractor 3725, and other links 3730. FIG. 38 shows an embodiment of an opinion custom template 3800 used in creating a client site. The opinion custom template 3800 is overlaid on top of the default template 3600 to create an opinion client site. Also, the opinion custom template 3800 populates a content data structure with foundational information and sections that include Correspondence 3805, References 3808, Internal Notes 3810, Invoices 3815, Client Contacts 3820, site user (members) 3825, a link to the copy reference utility 3830, and a link to the document extractor 3835. FIG. 39 shows an embodiment of a patent prosecution custom template 3900 used in creating a client site. The patent prosecution custom template 3900 is overlaid on top of the default template 3600 to create a patent prosecution client site. Also, the patent prosecution custom template 3900 populates a content data structure with foundational information and sections that include a Checklist 3905, Official Papers 3910, Correspondence 3915, References 3920, Internal Notes 3925, Invention Disclosure Documents, 3930, Invoices 3935, Client Contacts 3940, site user (members) 3945, a link to the copy reference utility 3950, and a link to the document extractor 3955. FIG. 40 shows an embodiment of a litigation custom template 4000 used in creating a litigation site. The litigation custom template 4000 is overlaid on top of the default template 3600 to create a litigation site. Also, the litigation custom template 4000 populates a content data structure with foundational information and sections that include Pleadings 4005, Correspondence 4010, Patent Documents 4015, Discovery 4020, Memoranda 4025, Opinions 4030, Events Calendar 4035, Contacts 4040, site users (members) 4045, and a link 4050 to the document extractor 250. FIG. 41 shows an embodiment of a patent interference custom template 4100 used in creating a patent interference site. The patent interference custom template 4100 is overlaid on top of the default template 3600 to create a patent interference site. Also, the patent interference custom template 4100 populates a content data structure with foundational information and sections that include Pleadings 4105, Correspondence 4110, Patent Documents 4115, Discovery 4120, Memoranda 4125, Opinions 4130, Events Calendar 4135, Contacts 4140, site users (members) 4145, and a link 4150 to the document extractor 250.
The following tables list the attributes and method functions that use the document management system's 210 (See FIG. 2) application programming interface and the .net and asp.net software development framework.
Table 1 lists exemplary attributes for certain user interface features (i.e. textboxes, error dialog boxes, etc.) when a user add a new client into the case management system.







TABLE 1







AddClients Attributes









Attribute 
Type
Notes





txtBxName
protected:
Textbox to enter client name.



System.Web.UI.




WebControls.




TextBox



txtBxAlias
protected:
Textbox to enter client alias 



System.Web.UI.
name.



WebControls.




TextBox



txtBxUrl
protected:
Textbox to enter URL.



System.Web.UI.




WebControls. 




TextBox



lblInfo
protected:
Label display the error if any 



System.Web.UI.
occurs and the status.



WebControls.




Label



btnAdd
protected:
Button When clicked adds the 



System.Web.UI.
client.



WebControls. 




Button



lblpgTitleId
protected:
Label to display the current 



System.Web.UI. 
action and link to the admin 



WebControls.
menu.



Label



chkIsLargeEntity
protected:
Checkbox to check if the 



System.Web.UI.
client is small entity.



WebControls.




CheckBox



dao
protected:
Initial Value: new DAO( );



DAO
Instance of the DAO class.


btnCancel
protected:
Button When clicked cancels 



System.Web.UI.
the current action.



WebControls. 




Button



ospSites
private:
Initial Value: null;



SPSiteCollection



ospSite
private:
Initial Value: null;



SPSite



ospGlobalAdmin
private:
Initial Value: null;



SPGlobalAdmin



ADLookupDomainStr
private static : 
Initial Value: Configuration-



string
Settings.AppSettings;




Domain string name is stored 




from the web.config file


ADLookupUserID
private static:
Initial Value: Configuration-



string
Settings.AppSettings;




Domain User name is stored 




from the web.config file


ADLookupPassword
private static: 
Initial Value: Configuration-



string
Settings.AppSettings;




Domain User password is 




stored from the web.config file


ADLookupDomain
private static: 
Initial Value: Configuration-


Name
string
Settings.AppSettings;




Domain name is stored from 




the web.config file









Table 2 lists exemplary method functions that are invoked when a user adds a client to the case management system across a user interface. For example, the CreateSiteUsingAdminSrvc method creates a client site using the Admin Utility. A further example is the RegisterinSite Directory method, which registers the new client site into the data structure of the database.







TABLE 2







AddClients Methods









Method 
Type 
Notes





CreateSiteUsingAdmin 
private: bool
param: adminSrvcUrl [ string - in ]


Srvc (string, string,

param: portalSiteURL [ string - in ]


string, string, string,

param: siteUrl [ string - in ]


string, string, string,

param: siteName [ string - in ]


string, string, string,

param: siteTitle [ string - in ]


string, string)

param: siteDescription [ string - in ]




param: siteTemplate [ string - in ]




param: siteOwnerLogin [ string - in ]




param: siteOwnerName [ string - in ]




param: siteOwnerEmail [ string - in ]




param: OwnerPwd [ string - in ]




param: siteDomain [ string - in ]




param: PortalName [ string - in ]




Creates the client site using the admin webservice.




Calls RegisterInSiteDirectory( )


RegisterInSiteDirectory 
public: void
param: siteDirectoryAreaName [ string - in ]


(string, string, string,

param: siteDirectoryName [ string - in ]


string, string, string,

param: title [ string - in ]


Hashtable)

param: description [ string - in ]




param: siteUrl [ string - in ]




param: ownerLogin [ string - in ]




param: itemData [ Hashtable - in ]




Registers the created site in the site directory.


Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Session[′′Admin′′] is checked.




__REQUESTDIGEST hidden field is registered.




lblpgTitleId is filled


OnInit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ′true′




InitializeComponent( ) is called


InitializeComponent ( )
private: void
Required method for Designer support -


btnAdd_Click (object,
public: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




dao.addClient( ) is called to update the of the 




database(Clients table)




CreateSiteUsingAdminSrvc( ) is called




If the site is not created then the added record 




is deleted from the database by using 




dao.deleteCase ( ) method.




obj.addUserToSite ( ) is called.


btnCancel_Click
private: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

Redirects to previous page.









Table 3 lists exemplary attributes that provide user interface features when a user adds a case into the case management system.







TABLE 3







AddCases Attributes









Attribute 
Type 
Notes





txtBxLVMRef
protected: 
Textbox to enter the LVM 



System.Web.UI.
Reference Number



WebControls. 




TextBox



lblError
protected:
Label to display errors if any 



System.Web.UI.
occurs and the status



WebControls. 




Label



txtBxFamilyID
protected:
Textbox to enter FamilyId.



System.Web.UI.




WebControls. 




TextBox



txtBxTitle
protected:
Textbox to enter case title.



System.Web.UI.




WebControls. 




TextBox



txtBxClientRef
protected:
Textbox to enter client reference



System.Web.UI.
number.



WebControls. 




TextBox



txtBxDesc
protected: 
Textbox to enter case description.



System.Web.UI.




WebControls. 




TextBox



ddlCountry
protected:
Dropdown List displays all the countries.



System.Web.UI.




WebControls.




DropDownList



ddlCategory
protected:
Dropdown list displays the case 



System.Web.UI. 
category types Patent, Trademark



WebControls. 




DropDownList



btnCancel
protected:
Button When clicked Cancels the current 



System.Web.UI.
action and redirects to the previous page.



WebControls.




Button



btnAdd
protected:
Button When clicked Adds the Prosecution 



System.Web.UI.
case.



WebControls. 




Button



lblpgTitleId
protected:
Label to display the current action and link 



System.Web.UI.
to the admin menu.



WebControls.




Label



dao
protected:
Initial Value: new DAO( );



DAO
Instance for the DAO class.


ospGlobalAdmin
private:
Instance for SPGlobalAdmin class.



SPGlobalAdmin



txtBxAppno
protected:
Textbox to enter application number.



System.Web.UI.




WebControls. 




TextBox



ADLookupDomainStr
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the 




web.config file.


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain Admin user name is stored from the 




web.config file


ADLookupPassword
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain Admin user password is stored from 




the web.config file


ADLookupDomain
private static:
Initial Value: ConfigurationSettings.AppSettings;


Name
string
Domain name is stored from the web.config file









Table 4 lists exemplary method functions that are invoked when a user adds a case to the case management system across a user interface. For example, the CreateSubSite method creates a client site using the Admin Utility. A further example is the RegisterinSite Directory method, which registers the new case site into the data structure of the database.







TABLE 4







AddCases Methods









Method 
Type 
Notes





CreateSubSite (string, 
public: bool
param: topLevelSiteUrl [ string - in ]


string, string, string,

param: newSiteRelativeUrl [ string - in ]


string, string, string,

param: title [ string - in ]


string, string)

param: description [ string - in ]




param: siteTemplate [ string - in ]




param: userName [ string - in ]




param: displayName [ string - in ]




param: email [ string - in ]




param: notes [ string - in ]




Creates the site in the Sharepoint portal




Calls RegisterInSiteDirectory.


RegisterInSiteDirectory
public: void
param: siteDirectoryAreaName [ string - in ]


(string, string, string,

param: siteDirectoryName [ string - in ]


string, string, string,

param: title [ string - in ]


string)

param: description [ string - in ]




param: siteUrl [ string - in ]




param: subSiteName [ string - in ]




param: ownerLogin [ string - in ]




Registers the created site in the site directory


Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




__REQUESTDIGEST hidden field is registered.




Here the request is from SharePoint portal site or not is




checked.




If the request is from SharePoint portal site then




fillinSessions( ) is called




LoadPage( ) is called.


fillinSessions (string, 
private: void
param: clientaliais [ string - in ]


string)

param: error [ string - out ]




dao.getClients( ) is called and sessions are filled.




Session[′′clientID′′],Session[′′name′′],Session[′′alias′′],




Session[′′islargeEntity′′]


loadPage ( )
private: void
lblpgTitleId is filled.




Clears the controls values.




BindCountry( ) is called.


BindCountry ( )
private: void
Fills the ddlCountry dropdown list from the LVMcountires




table of the database.


OnInit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ′true′




InitializeComponent( ) is called


InitializeComponent ( ) 
private: void
Required method for Designer support-


btnAdd_Click (object, 
public: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Description ( ) is called.




Dao. AddCases( ) is called which updates the




database.(Prosecution_Cases table).




CreateSubSite ( ) is called.




If the site is not successfully created the then added record is




deleted from the database by using dao.deleteCase( ) method.




obj.addUserToSite ( ) is called which adds the Domain Users




of the active directory to the site created.


Description (string)
private: void
param: isLargeEntity [ string - out ]




Builds the description for the site to be created.


btnCancel_Click
private: void 
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

Cancels the current action.









Table 5 lists exemplary attributes that provide user interface features when a user adds an opinion case into the case management system.







TABLE 5







AddOpinionCases Attributes









Attribute
Type
Notes





txtBxLVMRef
protected:
Textbox to enter the LVM reference number



System.Web.UI.




WebControls. 




TextBox



lblError
protected:
Label display the error if any occurs and the status



System.Web.UI.




WebControls.




Label



txtBxClientRef
protected:
Textbox to enter client reference number.



System.Web.UI.




WebControls. 




TextBox



txtBxDesc
protected:
Textbox to enter case description.



System.Web.UI.




WebControls. 




TextBox



btnCancel
protected:
Button when clicked cancels the action.



System.Web.UI.




WebControls. 




Button



btnAdd
protected:
Button when clicked adds the case.



System.Web.UI.




WebControls. 




Button



lblpgTitleId
protected:
Label to display the current action and link to the admin



System.Web.UI.
menu



WebControls. 




Label



dao
protected:
Initial Value: new DAO( );



DAO
Instance of the Dao class.


ADLookupDomainStr
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User name is stored from the web.config file


ADLookupPassword
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User Password is stored from the web.config file


ADLookupDomain
private static: 
Initial Value: ConfigurationSettings.AppSettings;


Name
string
Domain name is stored from the web.config file


ospSites
private:
Initial Value: null;



SPSiteCollection



ospSite
private: SPSite
Initial Value: null;


ddlCategory
protected:
Dropdown list displays the case category types Patent,



System.Web.UI.
Trademark



WebControls. 




DropDownList



ospGlobalAdmin
private:




SPGlobalAdmin










Table 6 lists exemplary method functions that are invoked when a user adds an opinion case to the case management system across a user interface.







TABLE 6







AddOpinionCases Methods









Method
Type
Notes





CreateSubSite (string,
public: bool
param: topLevelSiteUrl [ string - in ]


string, string, string,

param: newSiteRelativeUrl [ string - in ]


string, string, string,

param: title [ string - in ]


string, string)

param: description [ string - in ]




param: siteTemplate [ string - in ]




param: userName [ string - in ]




param: displayName [ string - in ]




param: email [ string - in ]




param: notes [ string - in ]




Creates the site in the SharePoint portal




Calls RegisterInSiteDirectory.


RegisterInSiteDirectory 
public: void
param: siteDirectoryAreaName [ string - in ]


(string, string, string,

param: siteDirectoryName [ string - in ]


string, string, string,

param: title [ string - in ]


string)

param: description [ string - in ]




param: siteUrl [ string - in ]




param: subSiteName [ string - in ]




param: ownerLogin [ string - in ]




Registers the created site in the site directory


Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




__REQUESTDIGEST hidden field is registered.




Here the request is from SharePoint portal site or not is




checked.




If the request is from SharePoint portal site then




fillinSessions( ) is called.




LoadPage ( ) is called.


fillinSessions (string, 
private: void
param: clientaliais [ string - in ]


string)

param: error [ string - out ]




dao.getClients ( ) is called and sessions are filled.




Session[′′clientID′′],Session[′′name′′],Session[′′alias′′],


loadPage ( )
private: void
lblpgTitleId is filled.




Clears the controls values.


OnInit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ′true′




calls InitializeComponent ( )


InitializeComponent ( )
private: void
Required method for Designer support


btnAdd_Click (object,
public: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Dao. AddCases( ) is called which updates the




database.(Prosecution_Cases table).




CreateSubSite ( ) is called.




If the site is not successfully created the then added record is




deleted from the database by using dao.deleteCase( ) method.




obj.addUserToSite ( ) is called which adds the Domain Users




of the active directory to the site created


btnCancel_Click
private: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

Redirects to previous page.









Table 7 lists exemplary attributes that provide user interface features when a user adds a litigation case into the case management system.







TABLE 7







AddLCase Attributes









Attribute 
Type
Notes





lblpgTitleId
protected:
Label to display the current action and link to the admin



System.Web.UI. 
menu



WebControls.




Label



txtBxLVMRef
protected:
Textbox to enter the LVM reference number



System.Web.UI.




WebControls. 




TextBox



btnAdd
protected:
Button when clicked adds the case.



System.Web.UI.




WebControls. 




Button



btnCancel
protected:
Button when clicked cancels the action.



System.Web.UI.




WebControls.




Button



txtBxPlaintiff
protected:
Textbox to enter Plaintiff



System.Web.UI.




WebControls. 




TextBox



txtBxDefendant
protected:
Textbox to enter Defendant



System.Web.UI.




WebControls. 




TextBox



lblError
protected:
Label display the error if any occurs and the status



System.Web.UI.




WebControls.




Label



txtBxCourt
protected:
Textbox to enter the court



System.Web.UI.




WebControls. 




TextBox



txtBxTitle
protected:
Textbox to enter the Title.



System.Web.UI.




WebControls. 




TextBox



dao
private:
Initial Value: new DAO( );



DAO
Instance of the Dao class.


ospSites
private:
Initial Value: null;



SPSiteCollection



ospSite
private: SPSite
Initial Value: null;


ospGlobalAdmin
private:
Initial Value: null;



SPGlobalAdmin



ADLookupDomainStr
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User name is stored from the web.config file


ADLookupPassword
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User Password is stored from the web.config file


ADLookupDomain
private static:
Initial Value: ConfigurationSettings.AppSettings;


Name
string
Domain name is stored from the web.config file









Table 8 lists exemplary method functions that are invoked when a user adds a litigation case to the case management system across a user interface.







TABLE 8







AddLCase Methods









Method
Type
Notes





CreateSiteUsingAdmin
private: bool
param: adminSrvcUrl [ string - in ]


Srvc (string, string,

param: portalSiteURL [ string - in ]


string, string, string,

param: siteUrl [ string - in ]


string, string, string,

param: siteName [ string - in ]


string, string, string,

param: siteTitle [ string - in ]


string, string)

param: siteDescription [ string - in ]




param: siteTemplate [ string - in ]




param: siteOwnerLogin [ string - in ]




param: siteOwnerName [ string - in ]




param: siteOwnerEmail [ string - in ]




param: OwnerPwd [ string - in ]




param: siteDomain [ string - in ]




param: PortalName [ string - in ]




Creates the client site using the admin webservice.




Calls RegisterinSiteDirectory( )


UpdateCaseSite (string, 
public: bool
param: SiteUrl [ string - in ]


string, string)

param: NewTitle [ string - in ]




param: NewDescription [ string - in ]




Updates the case site.


RegisterInSiteDirectory 
private: void
param: siteDirectoryAreaName [ string - in ]


(string, string, string,

param: siteDirectoryName [ string - in ]


string, string, string,

param: title [ string - in ]


Hashtable)

param: description [ string - in ]




param: siteUrl [ string - in ]




param: ownerLogin [ string - in ]




param: itemData [ Hashtable - in ]




Registers the created site in the site directory.


fillCaseDetails (string)
private: void
param: caseno [ string - in ]




Fills the textbox values from the database for the case




number.


Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Session[′′Admin′′] is checked.




__REQUESTDIGEST hidden field is registered.




lblpgTitleId is filled




QueryString [′′Action′′] is checked. If QueryString




[′′Action′′]is “Edit” then fillCaseDetails( ) is called. 


OnInit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ′true′




calls InitializeComponent ( )


InitializeComponent ( )
private: void
Required method for Designer support


btnCancel_Click
private: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

Redirects to previous page.


btnAdd_Click (object, 
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




If btnAdd.Text==′′Update′′ then UpdateCaseSite( ) is called.




If the site is updated then UpdateCase ( ) is called.




If btnAdd.Text is not ′′Update′′ then Addcase( ) is called.


AddCase (string, short, 
private: void
param: LVMRef [ string - in ]


string, string, string,

param: caseType [ short - in ]


string)

param: Title [ string - in ]




param: Plaintiff [ string - in ]




param: Defendant [ string - in ]




param: Court [ string - in ]




dao.addcases ( ) is called.




CreateSiteUsingAdminSrvc( ) is called.




If the site is not created then the added record is deleted from




the database by using dao.deleteCase( ) method.




obj.addUserToSite ( ) is called.


UpdateCase (string,
private: void
param: CaseNo [ string - in ]


short, string, string,

param: CaseType [ short - in ]


string, string)

param: Title [ string - in ]




param: Plaintiff [ string - in ]




param: Defendant [ string - in ]




param: Court [ string - in ]




dao.updateCases( ) is called









Table 9 lists exemplary method functions that are implemented to add a user to the case management system.







TABLE 9







AddUsers Methods









Method
Type
Notes





AddUsers ( )
public:



addUserToSite (string, 
public: void
param: domain [ string - in ]


string, string, string,

param: userName [ string - in ]


string)

param: Role [ string - in ]




param: SiteUrl [ string - in ]




param: error [ string - out ]




Adds the domain users to “Reader” 




group of the sharepoint site created.









Table 10 lists exemplary attributes that provide user interface features when a user is interfacing with the Admin Menu.







TABLE 10







AdminMenu Attributes









Attribute
Type
Notes





btnClients
protected:
Button when clicked redirects to Clients.aspx



System.Web.UI.




WebControls. 




Button



btnCases
protected:
Button when clicked redirects to ViewLitigationCases.aspx



System.Web.UI.




WebControls. 




Button



ADLookupDomainStr
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user name is stored from the web.config file


ADLookupPassword
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user password is stored from the web.config file


ADLookupDomain
private static:
Initial Value: ConfigurationSettings.AppSettings;


Name
string
Domain name is stored from the web.config file









Table 11 lists exemplary method functions that are implemented when the user is interfacing with the Admin Menu.







TABLE 11







AdminMenu Methods









Method 
Type
Notes





Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




calls ifuserexistsin( )




if the login user not belongs to “LVMAdminTool” 




group of the Active Directory the page is redirected 




to “NotAuthorised.aspx”


ifuserexistsin (string) 
private: bool
param: logonuser [ string - in ]




checks if the login user belongs to “LVMAdminTool” 




group of the Active Directory.


OnInit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ′true′




calls InitializeComponent ( )


InitializeComponent ( )
private: void
Required method for Designer support


btnClient_Click
public: void
param: sender [ object - in ]


(object, EventArgs)

param: e [ EventArgs - in ]




Redirects to “Clients.aspx”


btnCases_Click (object, 
public: void
param: sender [ object - in ]


EventArgs)

param: e [ EventArgs - in ]




Redirects to “ViewLitigationCases.aspx”









Table 12 lists exemplary attributes for the clients data structure within the case management system.







TABLE 12







Clients Attributes









Attribute
Type
Notes





dgClients
Protected:
Datagrid shows all the clients 



System.Web.UI. 
from Clients table of the database.



WebControls.




DataGrid



lblError
Protected:
Label to display if any error 



System.Web.UI.
occurs and the status.



WebControls. 




Label



btnCancel
Protected:
Button when clicked cancels 



System.Web.UI.
the current action.



WebControls.




Button



btnAdd
Protected:
Button when clicked redirects 



System.Web.UI.
to ′′AddClients.aspx′′



WebControls.




Button



lblpgTitleId
Protected:
Label to display the current 



System.Web.UI.
action and link to the admin menu



WebControls.




Label



ds
private:
Dataset



DataSet









Table 13 lists exemplary method functions for the clients data structure within the case management system.







TABLE 13







Clients Methods









Method 
Type 
Notes





Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Session[“Admin”] is checked.




lblpgTitleId is filled.




Calls dao.getclients( )




Binds the datagrid.


OnInit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ′true′




calls InitializeComponent( )


InitializeComponent ( )
private: void
Required method for Designer support


btnView_Click (object,
public: void
param: sender [ object - in ]


DataGridCommand

param: e [ DataGridCommandEventArgs - in ]


EventArgs)

Session is filled.




Session[′′clientID′′],Session[′′name′′],Session[′′alias′′],




Session[′′url′′],Session[′′islargeEntity′′]




Redirects to ′′ViewClients.aspx′′.


btnChangePage_Click
public: void
param: sender [ object - in ]


(object,

param: e [ DataGridPageChangedEventArgs - in ]


DataGridPageChanged

Datagrids CurrentPageIndex is set.


EventArgs)




btnAdd_Click (object,
public: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Redirects ′′AddClients.aspx′′.


btnCancel_Click
private: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

Redirects to AdminMenu.aspx









Table 14 lists an exemplary attribute for Data Access Object (DAO) that performs database transactions within the case management system.







TABLE 14







DAO Attributes











Attribute
Type
Notes







_errMsg
private: 
Initial Value: string.Empty;




string
Used by ErrMg property.










Table 15 lists exemplary method functions for Data Access Objects that performs database transactions within the case management system.







TABLE 15







DAO Methods









Method 
Type
Notes





DAO ( )
public:
Constructor.


ErrMsg ( )
<<property>>
Property ErrMsg.



public: string
_errMsg is set by this property when any exception is fired.




_errMsg is by this property as a parameter to




InsertCodeError( )


InsertCodeError
public: void
param: errText [ string - in ]


(string)

To insert into lvmCodeErrors table of the database when any




exception occurs using “USP_InsertCodeError” procedure


deleteClient (int)
public: bool
param: pk [ int - in ]




Deletes client from client table of the database.


addClient (string, int, 
public: bool
param: error [ string - out ]


string, string, string,

param: pk [ int - out ]


int)

param: name [ string - in ]




param: alias [ string - in ]




param: url [ string - in ]




param: isLargeEntity [ int - in ]




Inserts client details into Client table of the database.


updateClient (string,
public: bool
param: error [ string - out ]


string, string, string,

param: name [ string - in ]


int)

param: alias [ string - in ]




param: url [ string - in ]




param: islargeEntity [ int - in ]




Updates client details.


getClients (string,
public: void
param: alias [ string - in ]


string, string, string)

param: error [ string - out ]




param: clientID [ string - out ]




param: name [ string - out ]




Returns the clientId, name from clients 




table of the database when alias is passed.


getClients (string,
public: void
param: alias [ string - in ]


string, string, string,

param: error [ string - out ]


bool)

param: clientID [ string - out ]




param: name [ string - out ]




param: islargeEntity [ bool - out ]




Returns the clientId, name,islargeentity 




from clients table of the database when alias is passed


getClients (string)
public: DataSet
param: error [ string - out ]




Returns all the rows from the client table of the database


deleteCase (string, int)
public: bool
param: caseno [ string - in ]




param: caseType [ int - in ]




Delete the case from case table, Prosecution_cases,




LVMOpinion_cases, Litigation_cases tables of the database




based on caseno and the casetype.using “USP_DeleteCase”




procedure.


addcases (string, string,
public: bool
param: error [ string - out ]


string, string, string,

param: caseno [ string - in ]


string, string)

param: casetype [ string - in ]




param: clientID [ string - in ]




param: clientRef [ string - in ]




param: desc [ string - in ]




param: fullurl [ string - in ]




Adds the case to LVMOpinion_cases table of the database




using “USP_InsertLVMOpinionCase” procedure.


addcases (string, string, 
public: bool
param: error [ string - out ]


short, string, string,

param: caseno [ string - in ]


string, string, string)

param: casetype [ short - in ]




param: title [ string - in ]




param: plaintiff [ string - in ]




param: defendant [ string - in ]




param: court [ string - in ]




param: fullurl [ string - in ]




Adds the case to Litigation_cases table of the database using




“USP_InsertLitigationCase” procedure.


addcases (string, string, 
public: bool
param: error [ string - out ]


string, string, string,

param: casetype [ string - in ]


string, string, string,

param: reference [ string - in ]


string, string, string,

param: familyID [ string - in ]


string)

param: clientID [ string - in ]




param: clientRef [ string - in ]




param: cntryCode [ string - in ]




param: title [ string - in ]




param: desc [ string - in ]




param: fullurl [ string - in ]




param: isLargeEntity [ string - in ]




param: ApplicationNo [ string - in ]




Adds the case to Prosecution_cases table of the database




using “USP_InsertProsecutionCase” procedure.


updateCases (string,
public: bool
param: error [ string - out ]


string, string, string)

param: clientRef [ string - in ]




param: desc [ string - in ]




param: reference [ string - in ]




Updates the LVMOpinion_cases table of the 




database for the given caseno.


updateCases (string,
public: bool
param: error [ string - out ]


short, string, string,

param: casetype [ short - in ]


string, string, string)

param: reference [ string - in ]




param: title [ string - in ]




param: plaintiff [ string - in ]




param: defendant [ string - in ]




param: court [ string - in ]




Updates the Litigation_cases table of the database for the




caseno using “USP_UpdateLitigationCase” procedure


updateCases (string,
public: bool
param: error [ string - out ]


string, string, string,

param: casetype [ string - in ]


string, string, string,

param: reference [ string - in ]


string, string)

param: familyID [ string - in ]




param: clientRef [ string - in ]




param: entryCode [ string - in ]




param: title [ string - in ]




param: desc [ string - in ]




param: ApplicationNo [ string - in ]




Updates the Prosecution_cases table of 




the database for the given caseno.


getCases (string,
public: DataSet
param: error [ string - out ]


string)

param: clientID [ string - in ]




Gets all the prosecution cases from Prosecution_cases table




of the database for the given clientId. Using




“USP_GetProsecutionCases” procedure.


getCases (string)
public: DataSet
param: error [ string - out ]




Gets all the litigation cases from the Litigation_Cases table




of the database.


getCases (string, string, 
public: void
param: _error [ string - out ]


string, string, string,

param: _caseType [ string - out ]


string, string)

param: _clientRefNum [ string - out ]




param: _caseDesc [ string - out ]




param: _clientName [ string - out ]




param: _alias [ string - out ]




param: _caseno [ string - in ]




Gets all the opinion cases from LVMOpinion_cases table




and the clients table of the database when the request is from




webpart.


getCases (string, string, 
public: void
param: _error [ string - out ]


string, string, string,

param: _caseType [ string - out ]


string, string, string,

param: _country [ string - out ]


string, string, string)

param: _familyID [ string - out ]




param: _clientRefNum [ string - out ]




param: _caseDesc [ string - out ]




param: _title [ string - out ]




param: _clientName [ string - out ]




param: _alias [ string - out ]




param: _ApplicationNo [ string - out ]




param: _caseno [ string - in ]




Gets all the Prosecution cases from Prosecution_cases table




and the clients table of the database when the request is from




webpart.


getCaseDetails (string,
public: DataSet
param: error [ string - out ]


string)

param: caseno [ string - in ]




Gets the litigation case details from Litigation_cases table of




the database for the given caseno.


getCountry (string, int)
public: DataSet
param: error [ string - out ]




param: usaID [ int - out ]




Gets all the countries from lvmCountries table of the




database and returns the US country ID


getEntityType (int)
public: string
param: caseNo [ int - in ]




Gets the IsLargeEntity from prosecution_cases table of the




database for the given caseno.









Table 16 lists exemplary global attributes for the case management system.







TABLE 16







Global Attributes









Attribute
Type
Notes





components
private:
Required designer variable.



System. ComponentModel.
Initial Value: null;



IContainer









Table 17 lists exemplary global method functions for the case management system.







TABLE 17







Global Methods









Method
Type
Notes





Global ( )
public:



Application_Start
protected: 
param: sender [ Object - in ]


(Object, EventArgs)
void
param: e [ EventArgs - in ]


Session_Start (Object, 
protected: 
param: sender [ Object - in ]


EventArgs)
void
param: e [ EventArgs - in ]


Application_BeginRequest 
protected: 
param: sender [ Object - in ]


(Object,
void
param: e [ EventArgs - in ]


EventArgs)




Application_EndRequest
protected: 
param: sender [ Object - in ]


(Object, EventArgs)
void
param: e [ EventArgs - in ]


Application_AuthenticateRequest
protected: 
param: sender [ Object - in ]


(Object,
void
param: e [ EventArgs - in ]


EventArgs)




Application_Error
protected: 
param: sender [ Object - in ]


(Object, EventArgs)
void
param: e [ EventArgs - in ]


Session_End (Object,
protected: 
param: sender [ Object - in ]


EventArgs)
void
param: e [ EventArgs - in ]


Application_End
protected: 
param: sender [ Object - in ]


(Object, EventArgs)
void
param: e [ EventArgs - in ]


InitializeComponent ( )
private: 
Required method for 



void
Designer support - do not 




modify thecontents of this 




method with the code editor.









Table 18 lists exemplary attributes that are used to impersonate a login user within the case management system.







TABLE 18







Impersonate Attributes









Attribute
Type
Notes





impersonationContext
private: WindowsImpersonationContext



LOGON32_LOGON_NETWORK
public const: int
Initial Value: 3;


LOGON32_LOGON_INTERACTIVE
public const: int
Initial Value: 2;


LOGON32_PROVIDER_DEFAULT
public const: int
Initial Value: 0;









Table 19 lists exemplary method functions that are used to impersonate a login user within the case management system.







TABLE 19







Impersonate Methods









Method
Type
Notes





LogonUserA (String,
public 
param: lpszUserName [ String - in ]


String, String, int, int,
static: 
param: lpszDomain [ String - in ]


IntPtr)
int
param: lpszPassword [ String - in ]




param: dwLogonType [ int - in ]




param: dwLogonProvider [ int - in ]




param: phToken [ IntPtr - inout ]




Attribute =




‘[ DllImport(“advapi32.dll”)]’




extern = ‘true’


DuplicateToken
public 
param: hToken [ IntPtr - in ]


(IntPtr, int, IntPtr)
static: 
param: impersonationLevel [ int - in ]



int
param: hNewToken [ IntPtr - inout ]




Attribute =‘[ DllImport(“advapi32.dll”,




CharSet=CharSet.Auto, 




SetLastError=true)]’




extern = ‘true’


RevertToSelf ( )
public 
Attribute =‘[DllImport(“advapi32.dll”,


bool
static:
CharSet=CharSet.Auto, 




SetLastError=true)]’




extern = ‘true’


CloseHandle (IntPtr)
public 
param: handle [ IntPtr - in ]



static:




bool
Attribute = ‘[DllImport(“kernel32.dll”,




CharSet=CharSet.Auto)]’




extern = ‘true’


impersonate ( )
public:



impersonateValidUser
public: 
param: userName [ String - in ]


(String, String, String)
bool
param: domain [ String - in ]




param: password [ String - in ]


undoImpersonation ( )
public: 




void









Table 20 lists exemplary attributes that are used to determine an unauthorized user of the case management system.







TABLE 20







NotAuthorised Attributes









Attribute
Type
Notes





lblMsg
protected:
Label to display not authorized message.



System.Web.UI.




WebControls.




Label



uxBack
protected:
LinkButton when clicked redirects to previous page.



System.Web.UI.




WebControls.




LinkButton



ADLookupDomainStr
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user name is stored from the web.config file


ADLookupPassword
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user password is stored from the web.config file


ADLookupDomainName
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain name is stored from the web.config file









Table 21 lists exemplary method functions that are used to determine an unauthorized user of the case management system.







TABLE 21







NotAuthorised Methods









Method
Type
Notes





Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




checks Session[ “alias” ] 


Onlnit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ‘true’




calls InitializeComponent ( )


InitializeComponent ( )
private: void
Required method for Designer support


uxBack_Click (object, 
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Redirects to previous page.









Table 22 lists exemplary attributes that are used to view cases across a user interface within a case management system.







TABLE 22







ViewCases Attributes









Attribute
Type
Notes





lblCaseType
protected: 
Label displays the case type patent or trademark



System.Web.UI.




WebControls.




Label



lblLVMRefNum
protected: 
Label displays the LVMRefNum



System.Web.UI.




WebControls.




Label



lblError
protected: 
Label displays the errors if any occurs and status.



System.Web.UI.




WebControls.




Label



txtBxFamilyID
protected:
Textbox to enter family id.



System.Web.UI.




WebControls.




TextBox



txtBxTitle
protected:
Textbox to enter case title.



System.Web.UI.




WebControls.




TextBox



txtBxClientRef
protected:
Textbox to enter client ref. Number



System.Web.UI.




WebControls.




TextBox



txtBxDesc
protected:
Textbox to enter case description



System.Web.UI.




WebControls.




TextBox



ddlCountry
protected:
Drop downlist contains all the countries.



System.Web.UI.




WebControls.




DropDownList



btnCancel
protected:
Button when clicked cancels the current action



System.Web.UI.




WebControls.




Button



btnUpdate
protected:
Button when clicked updates the case.



System.Web.UI.




WebControls.




Button



lblpgTitleld
protected:
Label to display the current action and link to the admin



System.Web.UI.
menu



WebControls.




Label



lblPortalUrlText
protected:
Label displays the portal URL



System.Web.UI.




WebControls.




Label



dao
protected:
initial Value: new DAO( );



DAO
Instance of the DAO class.


tempObj
private:
Initial Value: new LVMAdmin.AddLCase( );



LVMAdmin.
Instance of AddLCase( ) class.



AddLCase



ADLookupDomainStr
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user name is stored from the web.config file


ADLookupPassword
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user name is stored from the web.config file


txtBxAppno
protected:
Textbox to enter Application number.



System.Web.UI.




WebControls.




TextBox



ADLookupDomainName
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain name is stored from the web.config file









Table 23 lists exemplary method functions that are used to view cases across a user interface within a case management system.







TABLE 23







ViewCases Methods









Method
Type
Notes





Page_Load (object, 
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Here the request is from Sharepoint portal site or not is




checked.




If the request is from Sharepoint portal site then




fillinSessions( ) is called




LoadPage( ) is called.


fillinSessions (string,
private: void
param: lvmRefNum [ string - in ]


string)

param: error [ string - out ]




dao.getCases( ) is called .




sessions are filled.




Session[“clientRefNum”],




Session[“case_type”],Session[“country”,Session[“familyID”],




Session[lvmRefNum”],Session[“case_desc”],Session[“title”],




Session[“name”],




Session[“alias”],




Session[“ApplicationNo”]


LoadPage ( )
private: void
lblpgTitleId,lblCaseType, lblLVMRefNum,txtBxFamilyID,




txtBxClientRef,txtBxTitle txtBxDesc.Text,




txtBxAppno,lblPortalUrlText are set based on the caseno


Onlnit (EventArgs)
private: void
param: e [ EventArgs - in ]




override =‘true’




calls InitializeComponent ( )


InitializeComponent ( )
private: void
Required method for Designer support - do not modify the




contents of this method with the code editor.


BindCountry ( )
private: void
Fills the dropdown list with the countries.


btnUpdate_Click
public: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

calls tempObj.UpdateCaseSite( )




calls dao.updateCases( ).


Description ( )
private: string 
Sets the description for the site being modified.


btnCancel_Click
public: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

Redirects to previous page.









Table 24 lists exemplary attributes that are used to view clients across a user interface within a case management system.







TABLE 24







ViewClients Attributes









Attribute
Type
Notes





lblName
protected:
Label displays the client name



System.Web.UI.




WebControls.




Label



lblAlias
protected:
Label displays the client alias



System.Web.UI.




WebControls.




Label



txtBxUrl
protected:
Textbox to enter client URL



System.Web.UI.




WebControls.




TextBox



btnUpdate
protected:
Button when clicked updates the client details.



System.Web.UI.




WebControls.




Button



lblInfo
protected:
Label displays the status of the updated information.



System.Web.UI.




WebControls.




Label



btnBack
protected:
Button when clicked redirects to the previous page.



System.Web.UI.




WebControls.




Button



lblError
protected:
Label displays the errors if any .



System.Web.UI.




WebControls.




Label



dgCases
protected:
Datagrid shows all case details..



System.Web.UI.




WebControls.




DataGrid



dao
protected:
Initial Value: new DAO( );



DAO
Instance of Dao class.


lblpgTitleId
protected:
Label to display the current action and link to the admin



System.Web.UI.
menu.



WebControls.




Label



lblpgSubTitleId
protected:
Label to display the sub page title id



System.Web.UI.




WebControls.




Label



lblPortalUrlText
protected:
Label displays the portal URL



System.Web.UI.




WebControls.




Label



chkIsLargeEntity
protected:
Checkbox isLargeEntity



System.Web.UI.




WebControls.




CheckBox



ds
private:
Dataset



DataSet



ADLookupDomainStr
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User name is stored from the web.config file


ADLookupPassword
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user password is stored from the web.config file


drpCaseTypes
protected:
Drop down list contains Case Types.



System.Web.UI.




WebControls.




DropDownList



btnClients
protected:
Button when clicked adds the prosecution or opinion cases



System.Web.UI.




WebControls.




Button



ADLookupDomainName
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain name is stored from the web.config file


ospGlobalAdmin
private:
Initial Value: null;



SPGlobalAdmin









Table 25 lists exemplary attributes that are used to view clients across a user interface within a case management system.







TABLE 25







ViewClients Methods









Method
Type
Notes





Page_Load (object,
private: void
param: sender [ object - in ]


System. EventArgs)

param: e [ System.EventArgs - in ]




Session[“name”]is checked.




lblpgTitleId.Text ,lblpgTitleId.Text,




lblpgSubTitleId.Text, lblName.Text,lblAlias.Text,




txtBxUrl.Text are filled.




Calls dao.getCases( ).


Onlnit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ‘true’




calls InitializeComponent ( )


InitializeComponent ( ) 
private: void
Required method for Designer


btnUpdate_Click
public: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System. EventArgs)

calls dao.updateClient( )




Updates the site information in the portal.


btnView_Click (object,
public: void
param: sender [ object - in ]


DataGridCommandEventArgs)

param: e [ DataGridCommandEventArgs - in ]




sessions are filled




Session[“clientRefNum”],Session[“case_type”],




Session[“country”],Session[“familyID”],




Session[“lvmRefNum”],Session[“case_desc”]




Session[“title”],Session[“ApplicationNo”]




Redirects to “ViewCases.aspx” or




Redirects to “ViewOpinionsCases.aspx” based on case type.


btnChangePage_Click
public: void
param: sender [ object - in ]


(object,

param: e [ DataGridPageChangedEventArgs - in ]


DataGridPageChangedEventArgs)

Datagrid page index is set.


btnBack_Click (object,
public: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Redirects to previous page.


btnAdd Click (object, 
private: void
param: sender [ object - in ]


System. EventArgs)

param: e [ System.EventArgs - in ]




Redirects to addcases.aspx or addopinioncases.aspx based on




the case type selected in the dropdown list.









Table 26 lists exemplary attributes that are used to view litigation cases across a user interface within a case management system.







TABLE 26







ViewLitigationCases Attributes









Attribute
Type
Notes





dgCases
protected:
Datagrid shows all the litigation cases.



System.Web.UI.




WebControls.




DataGrid



lblError
protected:
Label displays the errors if any occurs and the status.



System.Web.UI.




WebControls.




Label



lblpgTitleId
protected:
Label to display the current action and link to the admin



System.Web.UI.
menu



WebControls.




Label



btnAdd
protected:
Button when clicked redirects to AddLCase.aspx



System.Web.UI.




WebControls.




Button



ADLookupDomainStr
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string





Domain user name is stored from the web.config file


ADLookupPassword
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user password is stored from the web.config file


ADLookupDomainName
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain name is stored from the web.config file









Table 27 lists exemplary method functions that are used to view litigation cases across a user interface within a case management system.







TABLE 27







ViewLitigationCases Methods









Method
Type
Notes





Page_Load (object,
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




checks Session[ “Admin” ] 




calls dao.getcases( )


Onlnit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ‘true’




calls InitializeComponent ( )


InitializeComponent ( )
private: void
Required method for Designer support


btnAdd_Click (object,
private: void
param: sender [ object - in ]


System. EventArgs)

param: e [ System.EventArgs - in ]




Redirects to “AddLCase.aspx”


btnView_Click (object,
public: void
param: sender [ object - in ]


DataGridCommandEventArgs)

param: e [ DataGridCommandEventArgs - in ]




Session[“lvmRefNum”] is filled.




Redirects to AddLCase.aspx with query string “Action=Edit”


btnChangePage_Click
public: void
param: sender [ object - in ]


(object,

param: e [ DataGridPageChangedEventArgs - in ]


DataGridPageChangedEventArgs)









Table 28 lists exemplary attributes that are used to view opinion cases across a user interface within a case management system.







TABLE 28







ViewOpinionsCases Attributes









Attribute
Type
Notes












lblLVMRefNum
protected:
Label displays the LVMRefNum



System.Web.UI.




WebControls.




Label



lblError
protected:
Label displays the errors if any and status.



System.Web.UI.




WebControls.




Label



txtBxClientRef
protected:
Textbox to enter clientrefNum.



System.Web.UI.




WebControls.




TextBox



txtBxDesc
protected:
Textbox to enter client description.



System.Web.UI.




WebControls.




TextBox



btnCancel
protected:
Button when clicked cancels the current action.



System.Web.UI.




WebControls.




Button



btnUpdate
protected:
Button when clicked updates the case.



System.Web.UI.




WebControls.




Button



lblpgTitleld
protected:
Label displays the current action and link to the admin menu



System.Web.UI.




WebControls.




Label



lblPortalUrlText
protected:
Label displays the portal url.



System.Web.UI.




WebControls.




Label



dao
protected:
Initial Value: new DAO( );



DAO
Instance of DAO class.


ADLookupDomainStr
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserlD
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User name is stored from the web.config file


ADLookupPassword
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User password is stored from the web.config file


ADLookupDomainName
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain name is stored from the web.config file


lblCaseType
protected:
Label displays the case type.



System.Web.UI.




WebControls.




Label



tempObj
private:
Initial Value: new LVMAdmin.AddLCase( );



LVMAdmin.
Instance of AddLCase class.



AddLCase









Table 29 lists exemplary method functions that are used to view opinion cases across a user interface within a case management system.







TABLE 29







ViewOpinionsCases Methods









Method
Type
Notes





Page_Load (object, 
private: void
param: sender [ object - in ]


System.EventArgs)

param: e [ System.EventArgs - in ]




Session [ “fromcasewebpart” ] n is filled if the request is from




portal site. fillinSessions( ) is called.




Session [ “lvmRefNum” ] is checked.




Loadpage( ) is called.


fillinSessions (string,
private: void
param: lvmRefNum [ string - in ]


string)

param: error [ string - out ]




dao.getCases is called.




Sessions are filled




Session[“clientRefNum”],Session[“case_type”],Session[“lvm




RefNum”],Session[“case_desc”],Session[“name”],Session[“a




lias”].


LoadPage ( )
private: void
lblpgTitleId.Text is filled.




ViewState[“CaseSiteUrl”]is set.


Onlnit (EventArgs)
private: void
param: e [ EventArgs - in ]




override = ‘true’




calls InitializeComponent ( )


InitializeComponent ( )
private: void
Required method for Designer support


btnUpdate_Click
public: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System. EventArgs)

tempObj.UpdateCaseSite( ) is called




dao.updateCases( ) is called.


btnCancel_Click
public: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

Redirects to previous page.









Table 30 lists exemplary attributes that are used for a cases grid within a case management system.







TABLE 30







CasesGrid Attributes









Attribute
Type
Notes





dgCases
private:
Datagrid shows all the prosecution and opinion cases of a



DataGrid
client


lnkAddCase
private:
Hyperlink



HyperLink



UserinSiteGroup
private:
Holds the value returned by . IsCurrentUserInSiteGroup ( )



bool
method


IsuserReader
private:
Specifies whether the login user is in which



bool
group(administrator, contributor, webdesigner, reader)


ADLookupDomainStr
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User name is stored from the web.config file


ADLookupPassword
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User password is stored from the web.config file


ADLookupDomainName
private static:
Initial Value: ConfigurationSettings.AppSettings;



string
Domain name is stored from the web.config file









Table 31 lists exemplary method functions that are used for a cases grid within a case management system.







TABLE 31







CasesGrid Methods









Method 
Type
Notes





CreateChildControls ( )
protected: void
override = ‘true’




All declared controls are build.




Calls IsCurrentUserInSiteGroup( )




If the login user belongs to reader group then the




lnkAddCase is visibled false.


dgCases_ItemCommand 
private: void
param: source [ object - in ] 


(object,

param: e [ DataGridCommandEventArgs - in ] 


DataGridCommandEventArgs)

Redirects to asp.net solution when edit link is clicked


dgCases_SortCommand
private: void
param: source [ object - in ] 


(object,

param: e [ DataGridSortCommandEventArgs - in ] 


DataGridSortCommandEventArgs)

sets the sort expression and the sort direction for the datagrid.


CreateDataSource
protected:
param: alias [ string - in ] 


(string)
DataSet
Gets all the prosecution and opinion cases for the




corresponding client from tables




prosecution_Cases,LVMOpinion_cases table of the database




using “USP_GetProsecutionCasesForClientAlias” procedure


OnPreRender
protected: void
param: e [ EventArgs - in ] 


(EventArgs)

override = ‘true’




CreateDataSource( ) is called




Datagrid datasource is set.


RenderWebPart
protected: void
param: output [ HtmlTextWriter - in ] 


(HtmlTextWriter)

override = ‘true’




Controls are rendered HTML view is built.


dgCases_PageIndexChanged 
private: void
param: source [ object - in ] 


(object,

param: e [ DataGridPageChangedEventArgs - in ] 


DataGridPageChangedEventArgs)

Datagrid page index is set.


buildgrid ( )
private: void
CreateDataSource( ) is called




Datagrid datasource is set.


IsCurrentUserInSiteGroup
private: bool
param: TargetSiteGroup [ string - in ] 


(string)

Checks the login users security group.









Table 32 lists exemplary attributes that are for the copy reference utility within a case management system.







TABLE 32







CopyDL Attributes









Attribute
Type
Notes





_text
public:
Initial Value: _defaultText;



String



btn
private:
objectInitialiser = ‘true’ - The default value 


<<with events>>
Button
is a parameter list for an object initialiser


txtB
private:
objectInitialiser = ‘true’ - The default value 



TextBox
is a parameter list for an object initialiser


lblC
private:
objectInitialiser = ‘true’ - The default value 



Label
is a parameter list for an object initialiser


lblMsg
private:
objectInitialiser = ‘true’ - The default value 



Label
is a parameter list for an object initialiser


tb
private:
Table



Table



tr
private:
Table row



TableRow



td
private:
Table column



TableCell



str
private:




String



LOGON32_LOGON_INTERACTIVE
public:
Private objImpersonator As New Impersonator



Integer
Initial Value: 2;


LOGON32_PROVIDER_DEFAULT
public:
Initial Value: 0;



Integer



moImpersonationContext
public:




WindowsImpersonationContext



ADLookupDomainStr
private static:
Initial Value: Configuration Settings;



String
Domain string name is stored from the web.config file


ADLookupUserID
private static:
Initial Value: ConfigurationSettings;



String
Domain User name is stored from the web.config file


ADLookupPassword
private static:
Initial Value: ConfigurationSettings;



String
Domain user password is stored from the web.config file


ADLookupDomainName
private static: 
Initial Value: ConfigurationSettings;



String
Domain name is stored from the web.config file


m_filescount
private:
Total files copied



Int16









Table 33 lists exemplary method functions that are for the copy reference utility within a case management system.







TABLE 33







CopyDL Methods









Method
Type
Notes





LogonUser ( )
<<import>> 
Lib = ‘advapi32.dll’


public:




DuplicateToken ( )
<<import>> 
Lib = ‘advapi32.dll’


public:




ImpersonateUser
public: Boolean
param: userName [String - in ] 


(String, String, String)

param: domain [String - in ] 




param: password [String - in ] 


undoImpersonation ( )
public:



[Text] ( )
<<property>>
Attribute = ‘<Browasable(True), Category(“Miscellaneous”),



public: String 
DefaultValue(_defaultText),




WebPartStorage(Storage.Personal), FriendlyName(“Text”),




Description(“Text Property”)>’




attribute_name = ‘m_[Text]’




Webpart property


RenderWebPart
protected:
param: output [ System.Web.UI.HtmlTextWriter - in ] 


(System.Web.UI.

Render this Web Part to the output parameter specified.


HtmlTextWriter)

Overrides = ‘true’




Child controls are rendered and the HTML view is




generated.


CreateChildControls ( )
protected:
Overrides = ‘true’




Controls are built.


IsValidCaseNumber
public: String
param: CaseCardNo [ String - in ] 


(String)

checks whether the given casecardno is valid or not.


btnClick (Object,
public:
param: obj [Object - in ] 


EventArgs)

param: e [ EventArgs - in ] 




calls CopyReferences( )


FilesCount ( )
<<property>>
attribute_name = ‘m_FilesCount’ 



public: Int16
Property FilesCount


CopyReferences
public:
param: relativepath [ String - in ] 


(String)

Dim desSite As SPSite = 




SP Control.GetContextSite(Context)




Files under “References” document libraries are copied to




current sites “References” document library









Table 34 lists exemplary attributes that are for the document extractor utility within a case management system.







TABLE 34







SiteFileExtractor Attributes









Attribute
Type
Notes





chkRecurseSubSites
protected:
Checkbox when checked 



CheckBox
includes sub sites.


btnExtractDocs
protected:
Button when clicked extracts 



Button
documents.


lblStatusMsg
protected:
Label displays the status 



Label
message or any error occurs 




during file copy.


m_RecurseWebs
private:




bool



m_RecurseFolders
private:




bool



lTotalSize
private:




long



m_iTotalFiles
private:




long



m_ strExportDir
private:




string



logMessage
private: 
Initial Value: new StringBuilder( );



StringBuilder









Table 35 lists exemplary method functions that are for the document extractor utility within a case management system.







TABLE 35







SiteFileExtractor Methods









Attribute
Type
Notes





CreateChildControls ( )
protected: void
override = ‘true’




All controls are built.


btnExtractDocs_Click
private: void
param: sender [ object - in ]


(object,

param: e [ System.EventArgs - in ]


System.EventArgs)

calls ExtractSiteDocuments( )


RenderWebPart
protected: void
param: output [ HtmlTextWriter - in ]


(HtmlTextWriter)

override = ‘true’




Controls are rendered and HTML view is generated.


ExtractSiteDocuments
protected: long
param: siteColl [ SPSite - in ]


(SPSite, bool)

param: recurseSubSites [ bool - in ]




calls GetWebDetails( )


GetWebDetails
protected: long
param: web [ SPWeb - in ]


(SPWeb)

logMessage is appended.


GetFolderDetails
protected: long
param: folder [ SPFolder - in ]


(SPFolder)




CheckPathAndCreate 
protected:
param: ServerRelativeUrl [ string - in ]


(string)
string









Table 36 lists exemplary attributes that are for a checklist within a case management system.







TABLE 36







Checklist Attributes









Attribute
Type
Notes





defaultText
private const: 
Initial Value: “ ”;



string



text
private:
Initial Value: defaultText;



string



lblerror
public:
Label displays errors if any.



Label



hypChecklist
private:
HyperLink navigates to asp.net solution.



HyperLink



rbtnFFOC
private:
Radiobutton holds the foreign originated Case ‘Yes’ value



RadioButton



rbtnFFIss
private:
Radiobutton holds the foreign filing issues specify ‘Yes’



RadioButton
value.


rbtnPRpc
private:
RadioButton holds the priority claimed/all priority



RadioButton
documents filed ‘Yes’ value


rbtnPRuspto
private:
RadioButton holds the USPTO acknowledgement of priority



RadioButton
claim/documents ‘Yes’ value


rbtnDrawAny
private:
RadioButton holds the any drawings ‘Yes’ value



RadioButton



rbtnDrawFDF
private:
RadioButton holds the formal drawings filed ‘Yes’ value



RadioButton



rbtnDrawFDA
private:
RadioButton holds the formal drawings approved by official



RadioButton
Draftsmen ‘Yes’ value


rbtnOFRrrec
private:
RadioButton holds the official filing receipt received ‘Yes’



RadioButton
value.


rbtnOFRcreq
private:
RadioButton holds the correction of official filing receipt



RadioButton
requested ‘Yes’ value.


rbtnOFRcrec
private:
RadioButton holds the corrected receipt received ‘Yes’



RadioButton
value.


rbtnInventor
private:
RadioButton holds the Inventor/Assignee Info Changed



RadioButton
After Submission of First ADS ‘Yes’ value.


rbtnAssign
private:
RadioButton holds the multiple ownership/multiple



RadioButton
assignments ‘Yes’ value.


rbtnAssign1
private:
RadioButton holds the multiple ownership/multiple



RadioButton
assignments ‘No’ value.


rbtnFFOC1
private:
Radiobutton holds the foreign originated Case ‘No’ value



RadioButton



rbtnFFIss1
private:
Radiobutton holds the foreign filing issues specify ‘No’



RadioButton
value.


rbtnPRpc1
private:
RadioButton holds the priority claimed/all priority



RadioButton
documents filed ‘No’ value


rbtnPRuspto1
private:
RadioButton holds the USPTO acknowledgement of priority



RadioButton
claim/documents ‘No’ value


rbtnDrawAny1
private:
RadioButton holds the any drawings ‘No’ value



RadioButton



rbtnOFRcreq1
private:
RadioButton holds the correction of official filing receipt



RadioButton
requested ‘No’ value.


rbtnInventor1
private:
RadioButton holds the Inventor/Assignee Info Changed



RadioButton
After Submission of First ADS ‘No’ value.


rbtnOffAct1
private:
RadioButton holds the restriction requirement ‘Multiple’



RadioButton
value.


rbtnOffAct2
private:
RadioButton holds the restriction requirement ‘Yes’ value.



RadioButton



rbtnOffAct3
private:
RadioButton holds the restriction requirement ‘No’ value.



RadioButton



txtFFiss
private:
Label displays the foreign filing issues value.



Label



txtInventor
private:
Label displays the Inventor/Assignee value.



Label



txtAssign1
private:
Label displays the Assignment 1 value.



Label



txtAssign2
private:
Label displays the Assignment 2 value.



Label



txtAssign3
private:
Label displays the Assignment 3 value.



Label



txtIDS
private:
Label displays the IDS1 value.



Label



txtComments
private:
Label displays comments value



Label



txtLvmRefNo
private:
Label displays the LvmReference number.



Label



tbl
private:
Table



Table



pch1
private:
PlaceHolder



PlaceHolder



pnl
private:
Panel



Panel



lbldate
private:
Label displays IDS date values



Label



lblref
private:
Label displays IDS references values.



Label



rbfile
private:
Radiobutton holds IDS “Filed” values



RadioButton



rbexchk
private:
Radiobutton holds IDS “Exr.Chk” values



RadioButton



ds
private:
Dataset.



DataSet



lblAssign
private:
Label displays Assignment values.



Label



rbtnAFiled
private:
Radiobutton holds Assignment “Filed” values



RadioButton



rbtnRecorded
private:
Radiobutton holds Assignment “Recorded” values



RadioButton



AssignPnl
private:
Panel



Panel



ADLookupDomainStr
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain string name is stored from the web.config file


ADLookupUserID
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain User name is stored from the web.config file


ADLookupPassword
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain user password is stored from the web.config file


ADLookupDomainName
private static: 
Initial Value: ConfigurationSettings.AppSettings;



string
Domain name is stored from the web.config file









Table 37 lists exemplary method functions that are for a checklist within a case management system.







TABLE 37







Checklist Methods









Method
Type
Notes





Text ( )
<<property>>
Attribute = ‘[Browsable(true),



public: string
Category(“Miscellaneous”),




DefaultValue(defaultText),




WebPartStorage(Storage.Personal),




FriendlyName(“Text”),




Description(“Text Property”)]’




Property


RenderWebPart
protected: void
param: output [ HtmlTextWriter - in ] 


(HtmlTextWriter)

The HTML writer to write out to




Render this Web Part to the output parameter specified.




override = ‘true’




All the controls are rendered and HTML view is generated.


CreateChildControls ( )
protected: void
override = ‘true’




All controls are built.




Createlables( ) is called.




Createtexboxs( ) is called




Createradiobuttons( ) is called




Displayvalues( ) is called.




IsUserReader( ) is called.


createlables (Label,
public: Label
param: lbl [ Label - out ] 


string)

param: text [ string - in ] 




labels are built.


createlables (Label,
public: Label
param: lbl [ Label - out ] 


string, string)

param: text [ string - in ] 




param: id [ string - in ] 




labels are built.


createradiobuttons
public:
param: rbtn [ RadioButton - out ] 


(RadioButton, string)
RadioButton
param: groupname [ string - in ] 




radiobuttons are built.


createradiobuttons
public:
param: rbtn [ RadioButton - out ] 


(RadioButton, string, 
RadioButton
param: groupname [ string - in ] 


string, int)

param: id [ string - in ] 




param: chk [ int - in ] 




radiobuttons are built.


createtexboxs (Label) 
public: Label
param: txt [ Label - out ] 




labels are built.


radiovalues
private: int
param: rbtn [ RadioButton - in ] 


(RadioButton, int)

param: retval [ int - in ] 




if radio button is unchecked then returns −1 value else returns




the return value.


displayvalues (string)
private: void
param: caseno [ string - in ] 




calls “uso_getchecklistforwebpart( )” procedure and fills the




controls


radiochecked
private: void
param: rb1 [ RadioButton - in ] 


(RadioButton,

param: rb2 [ RadioButton - in ] 


RadioButton, int)

param: rdvalue [ int - in ] 




checks a RadioButton among two radio buttons based on




the value.


radiochecked
private: void
param: rb1 [ RadioButton - in ] 


(RadioButton,

param: rb2 [ RadioButton - in ] 


RadioButton,

param: rb3 [ RadioButton - in ] 


RadioButton, int)

param: rdvalue [ int - in ] 




checks a RadioButton among three radio buttons based on




the value.


returnradiovalue (int)
private: int
param: rdvalue [int - in ] 




returns the value 0, 1, 2, −1 based on the input value provided.


IsUserReader ( )
private: bool
Checks if the login user belongs to Reader group.









Table 38 lists exemplary attributes that are for contacts within a case management system.







TABLE 38







Contacts Attributes









Attribute
Type
Notes





_ text
public:
Initial Value: _defaultText;



String
Property


dg
private:
objectInitialiser = ‘true’ - The default value is a parameter list


<<with events>>
DataGrid
for a object initialiser




Datagrid displays all the contacts from client site.









Table 39 lists exemplary method functions that are for contacts within a case management system.







TABLE 39







Contacts Methods









Methods
Type
Notes





[Text] ( )
<<property>>
Attribute = ‘<Browsable(True), Category(“Miscellaneous”),



public: String 
Default Value(_defaultText),




WebPartStorage(Storage.Personal), FriendlyName(“Text”),




Description(“Text Property”)>’




attribute_name = ‘m_[Text]’


RenderWebPart
protected:
param: output [ System.Web.UI.HtmlTextWriter - in ] 


(System.Web.UI.

Render this Web Part to the output parameter specified.


HtmlText Writer)

Overrides = ‘true’




Child controls are rendered.


CreateChildControls ( )
protected:
Dim listItems As SPListItemCollection = 




list.GetItems(query) Dim listItem As SPListItem End Sub




Overrides = ‘true’




Child controls are built.









Table 40 lists exemplary procedures used with the database application interface within the case management system.







TABLE 40







Procedures











Parameters













Procedure Name
Input
Return
Notes
Tables





USP_GetFullURL
@casecardnum,

Select a case type from Cases
Cases



@fullurl, @caseType

Table based on casecardnum






provided and get fullurl as






per casetype



USP_GetProsecutionCases
@clientId

Get Client details based on
prosecution_cases,





ClientID checking the
LVMOpinion_cases





case_type.



USP_InsertProsecutionCase
@case_no,
@error
Insert client details for
Prosecution_cases



@case_type,

prosecution case.




@client_id,






@family_id,






@case_desc, @title,






@country,






@clientRefNumber,






@fullurl,






@isLargeEntity,






@ApplicationNo





USP_InsertLVMOpinionCase
@case_no,
@error
Insert client details for
LVMOpinion_cases



@case_type,

opinion case.




@client_id,






@case_desc,






@clientRefNumber,






@fullurl





USP_InsertLitigationCase
@case_no,
@error
Insert client details for
Litigation_cases



@case_type,

litigation case.




@title,






@plaintiff,






@defendant, @court,






@fullurl





USP_UpdateLitigationCase
@case_no,
@success
Update client details for
Litigation_Cases



@title,

litigation case referring




@plaintiff, @defendar

case_no




@court,





USP_DeleteCase
@case_no,

Delete from cases referring
Prosecution_Cases,



@case_type

case_no
Litigation_Cases


USP_InsertCodeError
@errtext

Insert Error
lvmCodeErrors





Message into lvmCodeErrors



usp_InsertChecklist
@lvmrefno,

Insert details into checklist
Checklist



@FFval1,

table.




@inventorval2,






@idsval6,






@commentsval12,






@ffocval13,






@ffIssval14,






@PRpcval15,






@PRusptoval16,






@DrawAnyval17,






@Drawfdval18,






@Drawfdval19,






@OFRrrecval20,






@OFRcrecval21,






@OFRcrecval22,






@Inventorval23,






@Assignval24,






@offActval33,






@offActval34





usp_deleteChecklist
@lvmrefno

Delete details from checklist
Checklist





table based on LVM RefNo.



usp_updatechecklist
@lvmrefno,

Update details into checklist
Checklist



@FFval1,

table based on LVM RefNo




@inventorval2,






@idsval6,






@commentsval12,






@ffocval13,






@ifissval14,






@PRpcval15,






@PRusptoval16,






@DrawAnyval17,






@Drawfdval18,






@Drawfdval19,






@OFRrrecval20,






@OFRcrecval21,






@OFRcrecval22,






@Inventorval23,






@Assignval24,






@offActval33,






@offActval34





uso_getchecklist
@caseno

Get details from checklist
Checklist





table based on LVM RefNo



usp_deletefromAssignTable
@lvmrefno

Delete from AssignTable
AssignTable





based on lvmRefNo



usp_deletefromIdstable
@lvmrefno

Delete from idstable based on
Idstable





lvmRefNo



usp_getAssignValues
@lvmrefNo

Select AssignText,
assigntable





AssignValue from






assigntable based on






lvmrefNo



usp_getIdsValues
@lvmrefNo

select IDSDate, IDSRef,
Idstable





idsFile from idstable based






on lvmrefNo



usp_insertAssignTable
@LVMrefNo,

Insert values into
AssignTable 



@AssignText,

AssignTable




@AssignValue





usp_insertIdsTable
@LVMrefNo,

insert values into idstable
Idstable



@IDSdate,






@IDSRef, @IDSFi1e





uso_getchecklistforwebpart
@caseno

Select details from checklist
Checklist





table based on LVM RefNo



USP_GetProsecutionCasesForClientAlias
@clientAlias

Get details for
prosecution_cases,





prosecution_cases and
LVMOpinion_cases





LVMOpinion_cases based on






clientAlias









This <appSettings> section of the web.config maintains all the settings for the application.
Table 41 lists the keys used within the case management system.







TABLE 41







Keys








Key
Description





ADLookupDomainStr
In this key Active Directory domain string is stored.


ADLookupUserID
In this key Active directory admin user is stored.


ADLookupPassword
In this key Active directory admin user password stored.


domainStr
In this key Active Directory domain name is stored


ExtractDocsLocation
In this key the documents extract location is stored.


AdminGroup
In this key Active directory group name is stored.


ClientSiteCustomTemplateID
In this key Client site template id is stored.


ProsecutionSiteCustomTemplateID
In this key Prosecution case site template id is stored.


LitigationSiteCustomTemplateID
In this key Litigation case site template id is stored.


LVMOpinionsCustomTemplateID
In this key Opinion case site template id is stored.


ConnectionString
In this key database connection string is stored


strSMTP
In this key SMTP ip address is stored


strSMTPUserName
In this key SMTP username is stored.


strSMTPPassword
In this key SMTP password is stored.


strToAddress
In this key “To Email address” is stored.









All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
The use of the terms “a” and “an” and “the” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
Preferred exemplary embodiments are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.

## Claims

1. A case management system comprising one or more servers having stored thereon computer executable instructions for managing content in a legal environment, the system comprising:
an electronic user interface, presented by the one or more servers, that allows system users to store, manage, and remotely access case information via a content website;
a system service implementing via the one or more servers:
(a) a document management system that stores and manages documents for cases and clients; and
(b) an administration utility that creates the content website using data entered by a system user by populating custom and default templates;

a database that stores and updates content corresponding to the content website to be accessed from the system through the user interface;
a document extractor that allows, via the one or more servers, the system user to extract content through a flat file database to facilitate accessing and transmitting content through the user interface; and
an e-mail publisher that publishes, via the one or more servers, one or more e-mails specifically selected for publication based on receiving user input for identifying the one or more e-mails directly from an e-mail program configured for sending and receiving e-mails, the one or more e-mails published into the content website of the case management system, wherein a client e-mail publisher application, configured to be directly accessed via a link in the e-mail program so as to receive identification of the one or more e-mails selected for publication, sends the e-mails to the e-mail publisher, and wherein the e-mail program and the client e-mail publisher application are external to the case management system.

2. The case management system according to claim 1, wherein the user interface is selected from a group consisting of a web, inter-network, intra-network, local area network, wide area network, Internet, browsers, or viewer interfaces.

3. The case management system according to claim 1, wherein the website is content from the database accessed through the user interface.

4. The case management system according to claim 1, wherein the content website is are selected from a group consisting of a client website, a case website, and a litigation website.

5. The case management system according to claim 1, wherein a system user enters data to create a content website within the case management system.

6. The case management system according to claim 1, wherein the document management system stores and manages content.

7. The case management system according to claim 1, further comprising a hierarchical tree structured database for storing content.

8. The case management system according to claim 1, wherein each template is populated by system user data to create a content website to provide a uniform file storage and file maintenance case management system.

9. The case management system according to claim 1, wherein the default template is incorporated into the document management system and facilitates creating content websites.

10. The case management system according to claim 1, wherein the custom template is created and incorporated into the document management system to facilitate creating content websites.

11. The case management system according to claim 1, wherein the database supports the case management system by storing, updating, and removing content.

12. The case management system according to claim 1, wherein the content is stored into data structures within the database to provide uniform file storage and file maintenance in the case management system.

13. The case management system according to claim 4, wherein the client website comprises: client information, client case numbers, list of individuals working for the client, and a link to access the document extractor.

14. The case management system according to claim 4, wherein the case website comprises: case information, a checklist, official papers, correspondence, cited references, invention disclosure documents, invoices, a list of individuals working on the case, a copy reference utility, and a link to the document extractor.

15. The case management system according to claim 14, wherein the copy reference utility copies content from one content data structure to another.

16. The case management system according to claim 4, wherein the litigation website comprises: case information, pleadings, correspondence, patent documents, discovery, memoranda, miscellaneous, events, links, tasks, a list of individuals working on the case, contacts, pictures, discussions, surveys, and a link to the document extractor.

17. The case management system according to claim 1, wherein the document extractor enables a system user to transmit documents through the interface, the system further comprising:
a software component that accesses content from a case management system hierarchical tree storage structured database;
a software component that stores content in a flat file storage structured database; and
a software component that allows a system user to transmit content over a network through a user interface.

18. The case management system according to claim 1, wherein the e-mail publisher supports selecting one or more e-mails to be copied and published as content into a data structure of the system database to be accessed from a user interface.

19. The case management system according to claim 1, wherein the content is selected from a group consisting of documents, e-mails, photographic files, audio files, video files, and graphic files.

20. A method for managing content in a legal environment, the steps of the method comprising:
providing a user interface that allows system users to store, manage, and remotely access content from a content site of a case management system;
storing content for cases and clients into a database of the case management system corresponding to the content site;
creating the content site using an administration utility, custom and default templates, and data entered by a system user;
extracting content from the case management system through a flat file database to facilitate accessing and transmitting content through the user interface; and
publishing one or more e-mails specifically selected for publication based on receiving user input for identifying the one or more e-mails directly from the system user's e-mail program, the one or more e-mails published into the database of the system, wherein a client e-mail publisher application, configured to be directly accessed via a link in the e-mail program so as to receive identification of the one or more e-mails selected for publication, sends the e-mails to the e-mail publisher, and wherein the e-mail program and the client e-mail publisher application are external to the case management system.

21. The method according to claim 20, wherein the storing content for cases and clients into a database further comprises:
storing content into data structures to provide uniform file storage and file maintenance in the case management system;
updating case and client content; and
removing case and client content.

22. The method according to claim 20, wherein the extracting content from the case management system further comprises:
accessing one or more pieces of content from the case management system database;
copying one or more pieces of content from the case management system database;
storing one or more pieces of content into a flat file database; and
transmitting contents over a network through a user interface.

23. The method according to claim 20, wherein the publishing e-mails from a system user's e-mail program into the database of the system further comprises:
selecting one or more e-mails from the system user's e-mail program;
copying the one or more selected e-mails from the system user's e-mail program; and
storing the one or more selected e-mails as content into a data structure of the system database as content to be accessed through a user interface.

24. A non-transitory computer readable medium having stored thereon computer executable instructions for managing content in a legal environment, the instructions comprising:
providing a user interface that allows system users to store, manage, and remotely access content from a content site of a case management system;
storing content for cases and clients into a database of the case management system corresponding to the content site;
creating the content site using an administration utility, custom and default templates, and data entered by a system user;
extracting content from the case management system through a flat file database to facilitate accessing and transmitting content through the user interface; and
publishing one or more e-mails specifically selected for publication based on receiving user input for identifying the one or more e-mails directly from the system user's e-mail program, the one or more e-mails published into the database of the system, wherein a client e-mail publisher application, configured to be directly accessed via a link in the e-mail program so as to receive identification of the one or more e-mails selected for publication, sends the e-mails to the e-mail publisher, and wherein the e-mail program and the client e-mail publisher application are external to the case management system.