US20090254422A1 - Method and system for managing enterprise content - Google Patents
Method and system for managing enterprise content Download PDFInfo
- Publication number
- US20090254422A1 US20090254422A1 US12/256,369 US25636908A US2009254422A1 US 20090254422 A1 US20090254422 A1 US 20090254422A1 US 25636908 A US25636908 A US 25636908A US 2009254422 A1 US2009254422 A1 US 2009254422A1
- Authority
- US
- United States
- Prior art keywords
- content
- model
- metadata
- usage
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 297
- 230000008569 process Effects 0.000 claims abstract description 201
- 238000013507 mapping Methods 0.000 claims abstract description 45
- 230000009471 action Effects 0.000 claims description 84
- 238000007726 management method Methods 0.000 claims description 81
- 230000008520 organization Effects 0.000 claims description 35
- 238000012550 audit Methods 0.000 claims description 29
- 238000004458 analytical method Methods 0.000 claims description 24
- 238000012800 visualization Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 7
- 238000007639 printing Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 abstract description 4
- 238000013523 data management Methods 0.000 description 26
- 238000011161 development Methods 0.000 description 25
- 238000013461 design Methods 0.000 description 16
- 230000000007 visual effect Effects 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 239000011230 binding agent Substances 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013474 audit trail Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000000543 intermediate Substances 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012558 master data management Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
Definitions
- the present application includes material that is subject to copyright protection.
- the copyright owner does not object to the facsimile reproduction of the application by any person as the application appears in the records of the U.S. Patent and Trademark Office, but otherwise reserves all rights in the copyright.
- structured data also referred to as “structured data”
- documents also referred to as “unstructured data” and as “content”
- a customer service representative would need access to a wide range of documents that originate from many different departments in order to perform the function of researching and responding to a customer inquiry.
- each customer service representative could go into each of the different enterprise systems, or silos, separately in order to look up the data or search for the documents based on the parameters of the inquiry.
- this method would be very time consuming and would result in low user satisfaction and long turn-around times on the response to the inquiry.
- Structured data can be organized in an Enterprise Resource Planning (ERP) system, so that individuals can easily access data originating from one process in other processes.
- ERP systems are not as effective in organizing the unstructured content data associated with the processes, especially if it is not directly linked to the structured data within the ERP system.
- some of the unstructured content data may be created by processes that are outside of the control of the ERP system.
- Documents can be organized in a shared file system or in a document management system so that individuals can easily access documents from any process. These file sharing methods only provide a partial solution to the problem stated above, because the information may not be organized in a manner that makes it possible to locate the correct data or document in a specific process step. Or, the method of looking up the data or documents may return so many candidates that it overwhelms the user who is trying to solve a specific problem.
- a federated query system can be developed so that a search can be performed on each the different enterprise systems and the combined search results displayed for the user.
- the resulting display is, however, generic because they return results based on keywords and not context-specific results that would require additional data elements and their correlation to the query and, therefore, it is difficult for the business worker to understand the context of each search hit in order to focus attention on the data which is relevant to the problem at hand.
- Methods for writing a software application may be specific to a business process and that presents the appropriate information from each separate enterprise system in a user interface that is optimized to the business process. It is expensive, however, to develop such a software application for each and every possible combination of business scenario and the different enterprise systems needed. It is even more expensive to develop such a software application for each of the many different application environments that may be needed for various business workers—for example, there may be a need for such software written for desktop applications, web-based applications, portal frameworks, and so forth. Furthermore, having developed such a software application, it is difficult and expensive to keep the application up to date whenever any of the other departments changes their process or the types and organization of their information content.
- a configuration utility in a given application environment that allows a business analyst to configure a presentation screen in that application environment by allowing the analyst to select from various metadata fields and choose the ones that are to be displayed in the presentation screen.
- An example of such a configuration utility is the DocuLink customizing screen that is available in the Open Text DocuLink application written in ABAP and presented to the user in the SAP(r) SAPGUI application environment. It is expensive, time-consuming, and inefficient, however, to develop and support such a configuration utility for each and every application environment such as the ones that were listed above.
- a method and system can be directed to providing a consistent flow of documents and data content across different organizational units of a company or agency where the documents and data come from different enterprise systems and data stores but are related to linked processes that share models for organizing the content in the business context and in a format that enables a user to relate the content to the process step or steps they are performing.
- the system can include a network service that enables a configuration utility to automatically discover the objects and metadata and provides for a mapping of selected fields of the metadata to regions displayed in the user interface view with provision for filtering the data by mapping selected fields to a user input form.
- a business analyst can create solutions (design content flows) without writing and maintaining complex program logic for each combination of presentation environment, enterprise system and data store (or object context).
- An apparatus is directed to providing, over a network, a user interface managing content of a plurality of different types.
- the apparatus may comprise: a metadata mapping component configured to perform actions.
- the actions may comprise: determining a model metadata configured for provisioning in a presentation framework, wherein the presentation framework is based on a role of a user and a process step within a business process; determining a first mapping of a key field of a content metadata of a requested content to a key field of the model metadata; determining a second mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of a user interface object property, an event object property, or a service object property; and providing a interactive version of the content within the presentation framework based on the first and second mapping.
- the apparatus may further comprise a network service configured to provide interfaces over the network that comprises: an interface for receiving the role of the user and the process step; an interface for receiving a request for the content; and an interface for providing the presentation framework within a specific application associated with the content.
- the model metadata can comprise a dynamic folder model for organizing a visualization of a portion of the content within the presentation framework based on the first mapping and ordered by the second mapping, and wherein the content comprises a document.
- the apparatus may further comprise a content connection component configured to perform actions comprising: sending a discovery query for the content metadata for the content to a plurality of content repositories configured to store the content of the plurality of different types; and receiving the content metadata from a responding content repository.
- the apparatus may further comprise a content services component configured to perform actions comprising: determining a user-interface control provided through the presentation framework based on the model metadata and the content metadata, wherein the user interface control provides a generic content service or a custom content service.
- the apparatus may further comprise a workflow component configured to perform actions comprising: providing an event to a workflow process for automating a flow of the content between steps of the business process, based on the model metadata and the content metadata and an application specific event from a specific application managing the content.
- the apparatus may further comprise an authentication component configured to perform actions comprising: limiting access to the content or events for the content based on an authentication of the user.
- the apparatus may further comprise an auditing and reporting component configured to perform actions comprising: recording usage audit records for actions performed on the content within the presentation framework; and providing an optimization suggestion about a usage of the content within the business process based on the recorded usage audit records.
- a computer-implemented method is directed to managing content of a plurality of different types.
- the method can comprise: receiving a request for visualizing a content; determining a model metadata configured for provisioning in a presentation framework, wherein the presentation framework is configured to interpret a user interface model (UI model) for rendering the content; sending a discovery query for the content to a plurality of content repositories configured to store the content of the plurality of different types; receiving a content metadata for the content from a responding content repository; determining a attribute-to-attribute mapping of a key field of the content metadata to a key field of the model metadata; determining an property-to-property mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of a user interface object property, an event object property, or a service object property; and providing an interactive instance of a portion of the content within the presentation framework based on the property-to-property mapping and ordered by the attribute-to-attribu
- the content can be configured to be managed by a user having a role and within a process step of a business process.
- the metadata filter may be at least one of: a static filter defined at design time, a filter entered by a user, or an inherited filter based on the presentation framework, wherein the framework is a hierarchical view, and wherein the filter of a parent view is inherited to a child view of the parent view.
- the content may be a hierarchical business object with embedded objects configured to display information about at least one step of a business process.
- the presentation framework may be a hierarchical folder view that is configured to display content based on configured facet classifications. In one embodiment, the facet classifications comprise at least one of a count facet, or a filter facet.
- the response of the content may be a denial response that limits access to the content based on an authentication ticket of the user and/or may further be based on the processes step.
- the method may further comprise determining a service-to-service mapping of a service object property defined in the model metadata and a service object property defined in the content metadata; providing a user-interface control through the presentation framework based on the service-to-service mapping.
- the user interface control may provide an action comprising at least one of: a foreign service provided by another content repository, a transformational service for transforming the content of a first type to another content of a second type, a creation service for creating a new content of the first type of the content, a rendition service for rendering the content, a enrichment-annotation service for changing the content metadata or associating another metadata with the content, wherein the other metadata comprises a tag to classifying the content, a tag to annotate the content, or a tag configured to be usable by a records management application, an archiving service, a records management service for managing the content within the records management application, a mash-up service, or any combination thereof.
- the method may further comprise determining an event-to-event mapping of an event object property defined in the model metadata and an event object property defined in the content metadata; and providing an event to a workflow process for automating a flow of the content between steps of the business process, based on the event-to-event mapping and an application specific event received from a specific application managing the content.
- a system is configured for managing contents of a plurality of different types over a network.
- the system can comprise: a plurality of content repositories configured to store the contents of the plurality of different types; a client configured to perform actions comprising: sending a request for a content configured to be managed by a user having a role; displaying within a presentation framework, a displayable and controllable version of the content; and a flow manager server configured to perform actions.
- the actions may comprise: receiving a content metadata for the content from a responding content repository; harmonizing the content metadata to a model metadata; and providing the presentation framework comprising the displayable and controllable version of the content based on the harmonized metadata.
- the displayable and controllable version may further comprise a user interface control based on the harmonized metadata, wherein the user interface control comprising at least one of a menu or a menu-bar.
- An application development framework is directed to software development for a productivity application environment.
- the application development framework may comprise: an computer component for receiving an abstract definition of interfaces for providing a plurality of content of different types discoverable and consumable within a process flow manager; a computer component for receiving a model metadata for the plurality of content of different types; and a computer component for generating computer readable instructions for operating the productivity application environment based on the abstract definitions and the model metadata, wherein a processor-executing instance of the computer readable instructions communicates with the process flow manager to provision a user interface object property, action object property, or event object property of the content within the productivity application environment.
- the productivity application environment may comprise at least one of a plurality of business enterprise applications.
- the process flow manager may be configured to perform actions comprising: receiving a request for visualizing a content; determining a model metadata configured for provisioning in a productivity application environment, wherein the productivity application environment is configured to interpret a user interface model (UI model) for rendering the content.
- the actions may further comprise: sending a discovery query for the content to a plurality of productivity application environment configured to provide content of the plurality of different types.
- the actions may further comprise: determining an property-to-property mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of the user interface object property, event object property, or action object property.
- the actions may further comprise: providing an interactive instance of a portion of the content within the productivity application environment based on the property-to-property mapping and ordered by the attribute-to-attribute mapping.
- the UI model can comprise platform independent user interface instructions, and wherein the UI model is configured to provide the content within the productivity application environment based on the model metadata.
- the abstract definition may be in Extensible Markup Language (XML).
- An method is directed to providing a development framework for software development for a specific application environment.
- the method can comprise: receiving an abstract definition of interfaces for providing a plurality of content of different types discoverable and consumable within a process flow manager; a model metadata for the plurality of content of different types; and generating computer readable instructions for operating the specific application environment based on the abstract definitions and the model metadata, wherein a processor-executing instance of the computer readable instructions communicates with the process flow manager to provision a user interface object property, action object property, or event object property of the content within the specific application environment.
- the specific application environment may comprise at least one of a plurality of business enterprise applications.
- the process flow manager may be configured to perform actions comprising: determining an property-to-property mapping of an object property of a content metadata that defines a content for visualizing within the specific application environment, to an object property of a model metadata, wherein the object properties comprises at least one of the user interface object property, event object property, or action object property; and providing an interactive instance of a portion of the content within the specific application environment based on the property-to-property mapping.
- the UI model may comprise platform independent user interface instructions, and wherein the UI model is configured to provide the content within the specific application environment based on the model metadata.
- the abstract definition may be in Extensible Markup Language (XML).
- a system is directed to software development for a specific application environment.
- the system can comprise: an computer component for receiving an abstract definition of interfaces for providing a plurality of content of different types discoverable and consumable within a process flow manager; a computer component for receiving a model metadata for the plurality of content of different types; and a computer component for generating computer readable instructions for operating the specific application environment based on the abstract definitions and the model metadata, wherein a processor-executing instance of the computer readable instructions communicates with the process flow manager to provision a user interface object property, action object property, or event object property of the content within the specific application environment.
- the specific application environment may comprise at least one of a plurality of business enterprise applications.
- the process flow manager may be configured to perform actions comprising: receiving a request for visualizing a content; determining a model metadata configured for provisioning in a specific application environment; sending a discovery query for the content to a plurality of content repositories configured to store the content of the plurality of different types; receiving a content metadata for the content from a responding content repository; determining a attribute-to-attribute mapping of a key field of the content metadata to a key field of the model metadata; determining an property-to-property mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of the user interface object property, event object property, or action object property; and providing an interactive instance of a portion of the content within the specific application environment based on the property-to-property mapping and ordered by the attribute-to-attribute mapping.
- the UI model may comprise platform independent user interface instructions, and wherein the UI model is configured to provide the content within the specific application environment based on the
- a computer-implemented method is directed to analyzing data.
- the method can comprise: determining a model metadata of a content configured for provisioning within a presentation framework based on a process step within a business process; receiving a content metadata for the content from a selected one of a plurality of content repositories; determining an object property-to-object property mapping based on mapping the model metadata to the content metadata; providing the presentation framework that displays and controls an instance of the content based on the object property-to-object property mapping; and providing an analysis of a usage of the content within the business process.
- Providing the analysis may further comprise: recording usage audit records for navigation and control actions performed on the content while the content is provided through the presentation framework.
- the method may further comprise: processing the usage audit records through an analytics model to provide an indication of an efficiency or inefficiency in a usage of a plurality of content through the business process.
- the analytics model can comprise a determination of a number of clicks within the content, a time of usage of the content, a time of printing of the content, or a time of emailing the content.
- Providing the analysis can further comprise: determining a map flow of content through the business process based on the usage audit records.
- the method can comprise: providing the map flow of the content within a plurality of swimlanes.
- the swimlanes can provide a visualization of the content usage at a time for at least one of a plurality of applications.
- the applications can comprise a Sales Force Automation application, a Contract Lifecycle Management application, a Sales order Administration application, a Shipping application, or a Customer Interaction Center application.
- the analysis of the usage of the content may be displayable at least one point within the map flow.
- Providing the analysis can further comprise: providing an optimization suggestion about the usage of the content within the business process based on the recorded usage audit records.
- the usage may be of an individual user, a group of users, or an organization usage.
- a computer-implemented system is directed to analyzing data.
- the system can comprise: a process flow manager configured to provide a business process for providing visualization and services for a plurality of content of different types; and an auditing and reporting component configured to provide an analysis of a usage of the plurality of content within the business process.
- Providing the analysis can further comprise: recording usage audit records for navigation and control actions performed on the content while the content is provided through the presentation framework; and determining a map flow of plurality of content through the business process based on the usage audit records.
- Providing the analysis can further comprise: providing the map flow of the plurality of content within a plurality of swimlanes.
- the swimlanes can provide a visualization of the plurality of content usage at a time for at least one of a plurality of applications.
- the specific applications can comprise a Sales Force Automation application, a Contract Lifecycle Management application, a Sales order Administration application, a Shipping application, or a Customer Interaction Center application.
- An apparatus is directed to analyzing data.
- the apparatus can comprise: a processor configured to perform actions comprising: determining a model metadata of a content configured for provisioning within a presentation framework based on a process step within a business process; receiving a content metadata for the content from a selected one of a plurality of content repositories; determining an object property-to-object property mapping based on mapping the model metadata to the content metadata; providing the presentation framework that displays and controls an instance of the content based on the object property-to-object property mapping; and providing an analysis of a usage of the content within the business process.
- Providing the analysis can further comprise: recording usage audit records for navigation and control actions performed on the content while the content is provided through the presentation framework.
- the actions can further comprise: processing the usage audit records through an analytics model to provide an indication of an efficiency or inefficiency in a usage of a plurality of content through the business process.
- a user interface may be configured for displaying documents and data objects that are related by key fields, that includes a network service for accepting requests for models.
- the network service obtains a list of available virtual folder models; for each virtual folder model, the network service obtains a list of content models; for each content model, the network service obtains a list of metadata fields; for any metadata field, the network service accepts a mapping to a key field; for any metadata field, the network service accepts a mapping to user interface elements; and for any user interface element, the network service accepts a mapping to a presentation framework.
- the presentation framework can provide for organizing related content models into hierarchical view such as a virtual folder model and including in the model the actions that can be performed by a user based on role and permissions so that these actions can be represented as controls in the user interface.
- the network service can accept a metadata filter that restricts the key fields in order to limit the selection of objects displayed under the user interface element.
- the network service produces an abstract definition of the interface configuration.
- the network service produces an abstract definition of the object configuration.
- the abstract definition is XML.
- a network service transforms the abstract definition into computer readable instructions for a specific application environment.
- the specific application environment comprises SAP(r) SAPGUI, SAP NetWeaver Enterprise Portal, SAP WebDynpro, Microsoft Information Bridge Framework or Microsoft Visual Basic for Office Business Solutions (MS/OBA), Microsoft Line of Business Interface (LOBI), Microsoft SharePoint WebPart Extensions, or JSR-168 portlets.
- Metadata harmonization as described herein may comprise a data mapping or translation facility that relates content from different sources based on metadata fields that are not identical but where a relationship can be computed. For example, in System A customer X would be identified as “Acme Ltd.” While in System B, customer X would be identified as “12345”.
- a computer-readable storage medium can comprise instructions executable by a processor to perform at least some of the steps of at least some of the methods described above.
- An apparatus can comprise a processor configured to perform at least some of the steps of at least some of the methods described above.
- FIG. 1 schematically illustrates an exemplary system for supporting a the flow of content across departments of an organization
- FIG. 2 schematically illustrates an exemplary system for supporting a departmental process in the prior art
- FIG. 3 schematically illustrates an exemplary system for supporting a departmental process in accordance with embodiments of the invention
- FIG. 4A and FIG. 4B schematically illustrate the problem presented by prior art systems for accessing content across two departmental processes
- FIG. 5 schematically illustrates a solution presented in accordance with embodiments of the invention for accessing content across two departmental processes
- FIG. 6 is a block diagram of an embodiment of the run-time components in accordance with embodiments of the invention.
- FIG. 7 is a block diagram of an embodiment of a business content model
- FIG. 8 is a block diagram of an embodiment of a virtual folder model
- FIG. 9 is a block diagram of an embodiment of an application development framework with design-time and run-time components
- FIG. 10A-D schematically illustrate an exemplary taxonomy that may be represented using virtual folders
- FIG. 11A-B schematically illustrate an exemplary application of facet classification trees
- FIG. 12 schematically illustrates an exemplary application of filters used together with facet classification trees
- FIG. 13 a - 13 b schematically illustrates an exemplary business productivity applications accessible from client computers
- FIG. 14 a - 14 b schematically illustrates an exemplary application of user interface controls within business productivity applications.
- FIG. 15 schematically illustrates an exemplary report of the audit history of the usage of content.
- ERP Enterprise Resource Planning
- These electronic file folders can be used in a similar manner to the physical file folder.
- an individual who is performing a role in a process can refer to the electronic file folder whenever a document is needed in that process, even if that document was created by a different department.
- Various methodologies have been developed to optimize the sharing of documents within file folders, such as labeling, classifications, and controlling the access to the file folders and documents. Records retention management systems have also been developed to help organizations control the disposition of file folders and documents, so that they can comply with policies that require that documents are available for audit and litigation procedures.
- the software applications used by workers in various departments can be retrofitted to use a set of content services provided by an “ECM Flow ManagerTM”.
- the ECM Flow Manager supports these processes with the following optionally-deployable and mutually consistent components:
- the ECM Flow Manager most typically has a services oriented architecture (SOA), which promotes reuse of business logic across the entire organization and its processes.
- SOA services oriented architecture
- the software applications each implementing a departmental process, can invoke one or more ECM Flow Manager services to enable content (or, access to content) to flow into or out of the process, and to enable individuals using the software application to access content regardless of the underlying content repository wherein the content is maintained.
- the ECM Flow Manager is model-based, which promotes a software design methodology whereby the business logic does not rely on hard-coded information structures, but rather connects to a model repository within the ECM Flow Manager for discovery of the structures used to represent the organization and visualization of related content, for methods used for accessing and enhancing content, and for reporting on content usage.
- the ECM Flow Manager typically also has a role- and rule-based permission model which optionally enables it to manage access to the underlying content by requiring that the software applications consuming services from the ECM Flow Manager present credentials appropriate to access the underlying content repositories.
- the ECM Flow Manager includes a common authentication infrastructure to fulfill this requirement.
- the ECM Flow Model Repository optionally provides one or more services to enable applications to register, discover, and consume business content and its associated organizational models (folders, etc.), networks, materialized views, and/or dynamic folder models produced by other processes.
- One repository service models business content in a manner that promotes the sharing of the content across otherwise disconnected processes.
- Each business content model enables a process, such as a process in a single department, to represent the content that originates in the process within a structure that is independent of how the content is actually stored and aspects of its creation that are not relevant to it subsequent utilization.
- business content of other processes are also represented in appropriate models, so that all processes have a consistent way to represent business content and can “discover” the business content of other processes.
- the content is modeled at a higher level than individual documents.
- a departmental process that creates a contract may represent the contract as a “contract binder” that contains various component documents, of various types and formats and along with the associated metadata, which may exist in several versions including preliminary information and drafts, rather than representing each document individually.
- the technical interface to access the content is also referenced, as are the set of metadata that is available for organizing and identifying the content.
- Contract Binder may be registered as residing in a specific SAP ERP system with the following metadata fields:
- a second type of model in the ECM Model Repository is a dynamic folder model, which provides a high level organization of all of the content that flows across departments for a set of connected processes.
- the content for an order-to-cash process might include related documents including RFPs, Quotes, Purchase Orders, Design Documents, Shipping Documents, Invoices, Delivery Notes, Correspondence, and Return and Repair Information.
- the dynamic folder model represents the relationship of the business content models along with the way in which they are visually or logically represented in any of the software applications along the overall order-to-cash process.
- This model enables the individuals using a software application within a department to easily “discover” relevant and suitable content from other departments, regardless of where the content is physically stored and the totality of available metadata about the content.
- An advantage over the prior art is that this method dynamically adjusts to new content types, thereby eliminating the need to modify the software applications whenever any of the related processes are changed and new sources of business content are added.
- the ECM Model Repository also enables the set of departmental software applications to enrich the business content that is “owned” by another department.
- a given department may have established processes for the management of content that are entirely sufficient for the intended purpose(s)
- the effective use of content produced by these processes by members of other departments is often likely to require additional information not countenanced in the design and implementation of the original process.
- a contract binder may contain various documents and records associated with a contracting process which may be related to a sale of goods or services, or the procurement of goods or services, or any other situation in which two or more partners enter into a contract.
- the contract binder collects documents that are preliminary to the actual contract, documents produced during the contract drafting process, the actual contract, documents containing information required to perform on the contract, and documents such as amendments and correspondence that are produced during the term of the contract. These documents are produced and consumed by various departments in an organization and, therefore, can be also be said to “flow” across the organization.
- the ECM Flow Manager also provides a security and access control model that ensures secure access from each of the software applications used to implement and automate departmental processes.
- the access control model can be user, group, rule, or role based; may take into account process status, and is applied to the business content models and to the dynamic folder models.
- the Document Connect Engine provides the services required to interpret the dynamic folder model and deliver the information to the software applications that implement business processes.
- the Document Connect Engine also maintains connectors to each of the underlying enterprise data and content repositories. As a result of the Document Connect Engine services, each user can easily access the content in, for example, a dynamic folder that is displayed in the software application that has been developed to automate the business process for his or her department and role.
- the Document Connect Engine executes the queries required to retrieve information for the business content model from each of the underlying systems managing the content and organizes the results in a manner that is easily presented in various graphical user interface frameworks of the software applications that consume the dynamic folder model.
- the Document Connect Engine connects to each of the underlying content repositories using authorization credentials appropriate for the role of the user and/or process stage, requests the metadata components for an instance of each business content model, and employs the metadata elements to create an appropriate visual representation that facilitates the understanding and use of the content for specific purposes.
- One typical such representation is a folder hierarchy.
- the folders may correspond to the folders of the source system, or they may be dynamic so that it is easy to render in a software application according to the requirements of the appropriate visualization framework.
- Visual frameworks examples include Portals (such as Microsoft SharePointTM Portal, SAP NetWeaver Portal, or Oracle Portal), desktop business productivity applications (such as Lotus Notes, Microsoft Office Business Applications, DuetTM, SAP WebDynpro or SAPGUI), and generic desktop utilities (such as Microsoft Windows Explorer or the Open Text desktop client).
- Portals such as Microsoft SharePointTM Portal, SAP NetWeaver Portal, or Oracle Portal
- desktop business productivity applications such as Lotus Notes, Microsoft Office Business Applications, DuetTM, SAP WebDynpro or SAPGUI
- generic desktop utilities such as Microsoft Windows Explorer or the Open Text desktop client.
- the Document Connect Engine provides for the use of filters that can be configured at the nodes or levels in a dynamic folder model.
- Filter types include static, input by the user, or inherited.
- a static filter is pre-set to a specific value as appropriate for the intended use.
- a filter that is input by the user may, for instance, be presented as a fill-in form with one or more fields prompting the user to enter one or more values or range of values, thereby enabling the user to better select the most appropriate content for their purposes.
- An inherited filter is configured to propagate the filter of the previous level of the hierarchy down to the next level.
- the dynamic folder tree is requested with an initial filter value that is derived from the application or using data entered by the user.
- the initial content that is displayed to the user is related to the context of the process or the results of a user-entered query.
- the ECM Flow Manager also enables the flow of content across departmental processes through a simple workflow and event notification capability.
- the ECM Flow Manager allows consumer processes to configure a set of events on the business content that is managed within the ECM Flow Manager framework. Consumer processes can subscribe to the events so that they are made aware of changes to the content that is managed by another process.
- the software application implementing the process can display the events that are appropriate for the permissions of the user and his role in whatever manner is appropriate or typical for that application and process.
- the application may have an inbox or universal work list that collects and optionally prioritizes the events that are ready for the user of the application.
- the application can pass the event into a workflow process in order to further automate the flow of content.
- the preferred embodiment of the ECM Flow Manager includes a workflow engine of its own, however in a typical application of content flow across departments it is expected that one or more of the processes that are being connected will have its own workflow engine. Therefore, the workflow engine in the ECM Flow Manager is not intended to replace the workflow engines of each process but rather to make it easier for those implementing content flow to implement the communication between processes and to implement content-centric rules that would be difficult or costly to implement in the departmental processes themselves.
- workflow engine ECM Flow Manager does support content-centric business processes through the design, instantiation, and execution of workflow process templates that model the steps of manual and automated typical of those found in organizations managing enterprise content.
- the ECM Flow Manager provides a set of models and a method for displaying and utilizing the metadata of content related to a business process in an appropriate visual framework, such as a virtual folder hierarchy, that is in the appropriate business context and user's role regardless of the source system or application that owns the content.
- the ECM Flow Manager also supports a set of content services that allows the user to work with the content without requiring knowledge of how to use the underlying system in which the content actually resides. These services are typically “read-only” actions such as fetch, download, view, zip, print, or fax.
- ECM Flow Manager also provides a service provider interface that may define other content services that are not read-only and are implemented through server-defined actions to perform some action, including creating new content, updating existing content in the owning repository, or transforming the content.
- Examples of actions that transform content are 1) archiving a content object from a first repository into a second repository and replacing the original content object with an object that provides restricted access to the archived content; and 2) declaring a content object as a record and transforming the content object as necessary or desired to classify and protect the content object under the retention schedule associated with the file plan.
- the ECM Flow Manager also provides a set of content services that enrich the content without altering the content in the owning repository.
- enrichment services are rendition, annotation, profiling (i.e., adding metadata), and classification (e.g., according to business taxonomy and/or organizational records management file plan).
- the ECM Flow Manager also provides a third set of content services that provision to the user a set of appropriate actions related by the needs of the user, independent of the origin of the content.
- a related service might allow the user to access a user interface component to display a map showing a geographic location specified in the metadata related to a content object, for example in a GIS application or through GoogleTM Maps or Microsoft Virtual EarthTM.
- Such related actions are sometimes referred to as “mash-ups”.
- the dynamic display of related and relevant content depends on consistent metadata across disparate content repositories. For example, an application that flows content related to an organization's customers across different processes will need to have a single version of each customer.
- the ECM Flow Manager includes metadata harmonization. Such metadata harmonization is also referred to as master data management.
- the metadata harmonization mechanism allows the ECM Flow Manager to translate or map the values of metadata elements in business content models from one enterprise application or content repository to another, including the labels for these elements with provision for localization of values and labels according to the locale settings for the user interface.
- each content repository will expose services that enable external applications to discover content based on metadata and content.
- the quality of the search services offered by the external repositories will vary and the flow of content may depend on features that are not available in those native search services.
- the ECM Flow Manager includes an embedded search engine that may be used to extract content with metadata from the external content management repository into an embedded searchable index. In doing so, the ECM Flow Manager will be able to provide consistent results where advanced search features are required.
- the ECM Flow Manager also supports the security models of the underlying enterprise applications and content repositories so that users only have access to the information that they are authorized to access.
- ECM Flow Manager includes a common authentication framework that enables transparent authentication from the departmental software application through to each of the underlying enterprise applications and content repositories.
- the framework provides services to register authentication providers for the various authentication methods used by the departmental software applications.
- the framework also provides services to register drivers to traverse the authentication requirements of the underlying enterprise applications and content repositories.
- the framework maps the front-end application authentication through each of the drivers required to transparently access the authorized business content which is ultimately presented in the view available to the departmental software application—for example, as the dynamic folder view.
- the ECM Flow Manager maintains a record of the requests, events, and content services in the context of the users and their roles, the processes, business content models, and dynamic folder models.
- a reporting service is provided for producing reports from these records.
- the ECM Flow Manager enables an organization to document how users are using each specific business content component and collections as they flow across each of the organization's processes. In this way, the organization can understand the “big picture” of their enterprise content, which would be difficult or impossible to obtain by looking at the set of audit trails produced from accessing individual documents from each of the underlying enterprise applications and content repositories.
- An organization that is using the ECM Flow Manager in one or more of their departmental processes also has the ability to monitor how individual users are performing in their roles with respect to the business content that they are creating and consuming. By analyzing the steps that a user performs in comparison to other users performing in the same process, the ECM Flow Manager can provide feedback to the individual user, to groups of users, and to the organization so that action can be taken to help user and groups to become more efficient and effective in the way that they use content.
- FIG. 1 A system to provide content flow across processes is shown schematically in FIG. 1 .
- the exemplary system 100 includes a plurality of clients 102 used by various individuals in a first department, a plurality of clients 104 used by various individuals in a second department, one or more servers 106 and databases 108 .
- the clients 102 and 104 , servers 106 , and databases 106 communicate using one or more data communications networks 110 .
- FIG. 2 An illustrative example of the prior art is shown schematically in FIG. 2 .
- a client 200 that is running application software 202 that supports a departmental process requiring access to data residing in one or more data management systems 220 and content in one or more content management systems 230 .
- the client includes application software 202 that implements program logic enabling the user at the client to interact with the data and content, performing such operations as creating, viewing, updating, and deleting information, all in the context of some business process.
- the client software application 202 may directly access the data management systems 220 through application program interfaces 222 and the content management systems 230 through application program interfaces 232 . If desired, the clients 200 may indirectly access the data and content through process automation software applications 212 operating on an application server 210 servicing a plurality of clients 200 in the department. In this case, the process automation software applications 212 connect to the data management systems 220 using application program interfaces 222 and to the content management systems 230 using application program interfaces 232 .
- the departmental business process that is automated by client software application 202 and process automation software 212 enable the user at client 200 to interact with the data and content residing in the underlying data management systems 220 and content management systems 230 .
- the client software application 202 is a dedicated software application program installed at the client 200 and dedicated to a specific business process.
- the client software application 202 relies on features and functions of general purpose client software application frameworks, such as portals and web-browsers, for accessing the methods programmed in process automation software application 212 located in an application server 210 .
- the connection between client application software 202 and process automation software application 212 may be dedicated using “hard-wired” connections or the connection may rely on network protocols of a network operating system.
- the methods may rely on user access to structured information in one or more data management systems 220 and unstructured information in one or more content management systems 230 .
- one of these content management systems will belong to the department and be used primarily for processes that reside in the department, while the other data and content management systems will belong to other departments or be shared among two or more departments.
- FIG. 3 schematically represents an exemplary system for managing content.
- client application software 302 running in client 300 may be connected to server 320 through application program interface 322 .
- Server 320 is programmed according to one or more of the methods disclosed herein in the so-called ECM Flow Manager 324 .
- the ECM Flow Manager 324 is connected to one or more data management systems 340 through their respective application program interfaces 342 and to one or more content management systems 350 through their respective application program interfaces 352 .
- Data management systems 340 are generally systems that manage structured data, such as Enterprise Resource Planning (ERP) systems, or Customer Relationship Management (CRM) systems, or other systems of a similar nature.
- Content management systems 350 are generally systems that manage unstructured data or documents, such as document management systems, web content management systems, digital asset management systems, document imaging and archiving systems, or other systems of a similar nature.
- ERP Enterprise Resource Planning
- CRM Customer Relationship Management
- the services provided by the methods of disclosed herein make it unnecessary for client software application 302 to connect directly to systems 340 and 350 because the information needed by client application software 302 is delivered by the services disclosed herein.
- client 300 may, in some embodiments, rely on one or more process automation software applications 312 running in server 310 for enabling the user to perform a departmental process, in which case process automation software application 312 is connected to the ECM Flow Manager 324 running in server 300 through their respective application program interfaces 322 , and thereby eliminating the need for client software application 302 to connect directly to the ECM Flow Manager 324 .
- client application software 302 or process automation software application 312 may also be connected to one or more departmental content management systems 352 in order to support the methods that are specific to those applications—typically methods that pertain to creating and modifying content.
- Such methods may be distributed across more than one of server 300 for the convenience of the system administrators or in order to service the demands of a large number clients 300 and application servers 310 .
- FIG. 4 schematically depicts a problem of prior art systems.
- users 400 and 410 from different departments, using their respective departmental processes 402 and 412 have direct access to their respective departmental content 404 and 414 .
- the first user 400 has direct access to the content 404 belonging to its own department process 402 but lacks easy access to content 414 belonging to a process 412 of a second department.
- a second user 410 who is in a second department will lack easy access to content 404 belonging to the first department.
- FIG. 4 schematically depicts a problem of prior art systems.
- users 400 and 410 from different departments, using their respective departmental processes 402 and 412 have direct access to their respective departmental content 404 and 414 .
- the first user 400 has direct access to the content 404 belonging to its own department process 402 but lacks easy access to content 414 belonging to a process 412 of a second department.
- a second user 410 who is in a second department will lack easy access to content 404 belonging to the first department.
- FIG. 4B schematically depicts a prior art solution to this problem, whereby the departmental processes 422 and 432 are programmed with instructions that are specific to both of the systems that manage the content 424 and 434 or that content 424 and 434 are stored in a shared file system that may lack specific features and functions required by departmental processes 422 and 432 to maintain content 424 and 434 .
- This problem grows proportionally when considering that a typical organization will have many departments, each with many department processes, and many different types of content that is accessed by individuals in departments other than the department that maintains the content.
- FIG. 5 schematically depicts a simplified exemplary concept of the virtual folders provided by the methods of disclosed herein.
- a first user 500 using the methods in a first department process 510 directly maintain the unstructured content 520 belonging to the first department.
- a second user 550 using the methods in a second department process 560 , directly maintain the unstructured content 570 belonging to the second department.
- both users 500 and 550 have access to the unstructured content belonging to their own department as well as that belonging to the other user's department using the so-called ECM Flow Manager 524 , which provides access to content 520 and 570 through views such as virtual folders 530 and 540 visualized through a common interface and independently of the underlying content management systems in which the departments maintain the original content and independently of any data management systems that are required to provide business context to the content.
- ECM Flow Manager 524 provides access to content 520 and 570 through views such as virtual folders 530 and 540 visualized through a common interface and independently of the underlying content management systems in which the departments maintain the original content and independently of any data management systems that are required to provide business context to the content.
- FIG. 6 An illustrative example of the system for managing content is schematically depicted in FIG. 6 .
- the system 600 comprises a set of component services herein referred to as the “ECM Flow Manager” 660 which optionally connect to one or more external content management systems 690 through their respective application program interfaces 680 and to one or more external data management systems 692 through their respective application program interfaces 682 and to one or more external content services 694 through their respective application program interfaces 684 .
- ECM Flow Manager a set of component services herein referred to as the “ECM Flow Manager” 660 which optionally connect to one or more external content management systems 690 through their respective application program interfaces 680 and to one or more external data management systems 692 through their respective application program interfaces 682 and to one or more external content services 694 through their respective application program interfaces 684 .
- interfaces 612 may be provided as web services, Java classes, C++ functions, dynamic link libraries, shared libraries, and so forth.
- interfaces 612 are web services, implemented using WDSL standards and published through a UDDI registry so that the services are easily discovered and consumed by the applications that use them.
- Access to the ECM Flow Manager 660 is secured by a common authentication framework which is implemented through a common authentication service 650 that intermediates the external authentication required for access to the ECM Flow Manager 660 and access to external content management systems 690 and data management systems 692 .
- the common authentication service 650 can be configured to recognize the credentials that are passed into the system 660 by one or more external authentication mechanisms, such as that provided by Microsoft Integrated Windows Authentication (formerly called NTLM, and also known as Windows NT Challenge/Response authentication), or by SAP's Single Sign-On.
- the common authentication service 650 can be configured to perform authentication using a user account and password maintained in local store 656 .
- the common authentication service issues a ticket that is revalidated by the common authentication framework ticket service 620 on each subsequent access to any of the underlying services within the ECM Flow Manager 660 system.
- a department process 510 or 560 has been adapted to use the ECM Flow Manager 660 model repository manager service 648 to discover the virtual folder model or models that have been registered in model storage 652 and that are appropriate to the department business scenario and role of user 500 or 550 within the departmental process.
- the models in model storage 652 are registered through repository manager 648 by virtual folder model design tools, which are described in another section of this specification.
- department process 510 or 560 invokes services provided by the Document Connect Engine 644 via service interface 622 to visualize the model in the manner that is appropriate to the user interface technology for which the department process 510 or 560 has been developed.
- Document Connect engine 644 relies on content adapters 666 to access information in the external content management systems 690 using their respective application program interfaces 680 and on data adapters 668 to access information in the external data management systems 692 using their respective application program interfaces 682 .
- Document Connect engine 644 relies on the common authentication service 650 to ensure that users 500 and 550 access only the data and content that they have permissions to access through their individual access grants or through access granted to a group or role in which they are authorized to participate.
- the virtual folder models may include references to content within a structural context that is at a level above the structure of the content maintained in any of the external content management systems 690 in which the content is actually maintained.
- a business content model may represent a business object, such as a contract binder, while the underlying content management system may represent individual contract documents.
- the model repository manager 648 also services requests to discover these content models that have been registered in model storage 652 by business content modeling tools, which are described in another section of this specification.
- Business content models are also used to configure the set of content services that are available for content objects associated with a virtual folder model. Examples of content services are requests to fetch or download a copy of the content, to store new content, to store a new version of the content, or delete the content.
- the content services are configured through content services provider 636 , which supports one or more content services according to the configuration of the system. Since all of the content related behavior that is presented to the user is associated with these content services, the content services provider 636 supports custom and generic services implemented in a content service provider interface 637 for each available data management system 692 and content management system 690 .
- Generic content services support actions that are common across the various data management systems 692 and content management systems 690 , while custom content services support actions that are unique to a data management system 692 or content management system 690 .
- Each content service provider interface 637 defines the available content service actions for the associated data or content management system and provides the program logic required to execute the action in the appropriate client user interface framework—for example, as JavaScript for a web browser client, or as managed .NET or COM objects for a rich client—or as server-side program logic if it is not feasible to execute the action in the client.
- Each content service provider interface 637 accesses the data management system 692 or content management system 690 for which it has been designed to work through its respective application program interface 682 or 680 .
- Other content service requests require enrichment of the content object over and above what may be directly available from the content and data management systems 690 and 692 respectively, in which case the content services provider 636 brokers the content services request to a content enrichment services provider 658 according to the configuration of the system.
- Each of the available content services providers 658 in turn brokers the request to be fulfilled by specific external content services 694 through their respective application program interfaces 684 .
- Examples of such enrichments services are requests to annotate a content object; to produce a zipfile containing one or more content objects; to print a content object; and to render the content object to another format—for example, to an archival format such as Adobe Acrobat PDF or to an image format such as TIFF.
- FIG. 6 shows a workflow engine 642 that can be accessed through an application program interface 632 under the security model provided by common authentication framework ticket service 620 .
- the workflow engine 642 facilitates the flow of content across the department processes within an organization.
- the flow is defined as a series of process steps configured in a workflow template or map that is created using a workflow design tool and stored in the workflow storage 664 of FIG. 6 .
- a process step may be directed through configuration to notify an individual user who may optionally be required to perform an activity before sending the workflow to the next step in the workflow process template or map.
- a process step may be directed to automatically perform a content service, such as those implemented through the content services provider 636 .
- a process step may be directed to another process, such as a business process of another department that is implemented in a software application 510 or 560 , by notifying the process that the associated event has occurred or by triggering the activation of the other process.
- the initial process step of a workflow template or map can be activated by an event that is configured in a business content model or directly, via application program interface 632 .
- the initial process step may be configured to accept content and/or metadata additional to the content, such as metadata required to activate the new business process that is being initiated as modeled in the workflow template or map.
- a process step may be configured to notify users 500 and 550 or other users who are external to the process that an event has occurred. Such notification may occur based on a content event for which the user has requested notification, as in a subscription to an event associated with a business content model—for example, when the associated content has been created, modified, or deleted.
- the notification may be sent to a user without subscription, based on a configuration that pushes notification to certain users individually, or according to the group or role in which the user may belong.
- the workflow engine 642 of FIG. 6 provides a highly configurable process management sub-system, providing event subscription, event notification, and routing rules. Thereby, the ECM Flow Manager 660 can connect otherwise disconnected processes, based on business content models and workflow templates and maps.
- the events that flow through the ECM Flow Manager 660 are recorded by the event auditing service provider 640 and stored in the audit record storage 662 .
- the record includes all or substantially all of the information necessary, configured, or desired to identify the event, the user 500 or 550 who caused the event, the date and time of the event, the business content associated with the event, the process 510 or 560 associated with the event, and the information changed by the event—such as the before and after values of data and documents.
- Such audit records are available for reporting through the event reporting service provider 640 via application program interface 630 and under the security model provided by common authentication framework ticket service 620 which ensures that users 500 and 550 requesting reports do not inappropriately access audit information about data or content for which they lack access rights.
- the operations performed by individual users 500 and 550 may be monitored using an optimization agent 304 installed on client 300 .
- the optimization agent 304 records the operations performed by user 500 and 550 using event auditing service provider 640 through its respective application program interface 630 and, thereby, creating records in audit record storage 662 .
- the monitoring records may be analyzed to detect process inefficiencies either in the operation of certain individuals or by all individuals having the same role in a process.
- the operations management can act on this information to provide additional training to the individuals who are using the system inefficiently, or redesign the associated processes.
- the Document Connect Engine accesses business content through configuration in a business content model 700 and 820 in the context of a virtual folder node 810 within a virtual folder model 800 .
- the business content model 820 may specify access to content through a specific technical interface 822 that is provided by the external data or content management system that has been optimized to return a list or net of content objects based on input parameters provided when invoking the technical interface 822 .
- some data or content management systems will provide a generalized search query interface that can be used to return a list of content objects based on query expressions, which may include structured metadata fields or full-text content term or a combination of structured fields and full-text terms using Boolean operators.
- an embodiment may include a search engine 697 accessed through service provider interface 696 .
- Search engine 697 may be configured to extract data and content from one or more external data management system 692 using their respective service provider interfaces 682 and from one or more external content management systems 690 using their respective service provider interfaces 680 . Data and content extracted from said systems can be indexed in search index 698 in order to optimize the query expressions passed into search engine 697 through service provider interface 696 .
- search engine 697 may federate the query expression by passing all or part of the query expression to said native search services through their respective service provider interfaces 680 or 682 . Said query federation may take place in addition to or as another mechanism for using the search index 698 .
- search engine 697 may support query expressions that rely on features that are not provided by native service provider interfaces 680 or 682 of data and content management systems 692 and 690 .
- An example of a feature that may be employed is the summarization of extracted data or content and the identification of key terms or concepts within said summarization.
- Search engine 697 may store said key terms or concepts in search index 698 for the benefit of building concept-based views or facets that are associated with the content objects in the result list returned from executing a query expression.
- the concept-based views or facets may then be presented to user 500 or 550 as an expansion of virtual folder node 810 to further enhance the usability of the search results in the context of the business scenario and role within the departmental process modeled in virtual folder model 800 .
- Search engine 697 returns search results through service provider interface 696 under the security model provided by common authentication framework ticket service 620 , wherein the search results may be a simple results list or a results list that is enhanced by the additional features such as concept-based views or facets that are available in search engine 697 .
- the results list may be constrained using the credentials provided by common authentication framework ticket service 620 according to the access permissions of the user performing the search.
- the permissions model of the original data management system 692 or content management system 690 is incorporated into the query processing method of search engine 697 .
- the authentication framework ticket service 620 optionally brokers access using the user credential for the native search service.
- An embodiment proposes business content models and virtual folder models registered in model repository manager 648 . These models are maintained in a model repository 652 in a structure and format that enables the systems and methods disclosed herein to efficiently use them. Methods are provided for external consumer systems to discover the model that is appropriate to the business process and to the role of the individual user; for delivering one or more representations of a model to the consumer in one or more formats that are recognized by the consumer; for ingesting models in one or more formats from external applications that are used to design and maintain such models; and for exporting models in one or more formats.
- the ECM Flow Manager system will also include design-time procedures and service provider interfaces that enable business analysts and system administrators to configure and maintain business content models as appropriate for the various types of content that are exposed to consumer applications.
- FIG. 7 schematically depicts an exemplary business content model 700 .
- Business content model 700 models a business content object, which is the basic building block of the ECM Flow Manager system.
- Business content objects are a set of entities that are generally accepted in the business world. Examples include: “contract”, “invoice”, “case binder”, or other semi-structured data adapted or directed to a business processes.
- the business content model 700 for a business content object defines the common characteristics, or attributes, of the content items in the object class.
- the business content model 700 also defines the common behavior of, or content services and actions that can be performed on, the content items in the object class.
- Each business content model 700 includes attributes defining the common characteristics of the object class. Exemplary characteristics include content type attributes 710 , containment properties 720 , system properties 730 , object properties 740 , native content services 750 , transformational content services 755 , and enrichment content services 760 .
- Content type attributes 710 refer to characteristics configured to identify and process instances of the content objects modeled by the business content model 700 .
- Examples of content type attributes include, but are not limited to, the display name of the content object type (e.g., “Folder”, “Document”, “Case”), description of the content object type, and audit level of the content object.
- a content type attribute may be available in multiple languages.
- Containment properties 720 refer to content object types that can contain content type objects as, for example, a “folder” or a “compound document”. Containment properties may include, but not be limited to, rules for what content object types may be contained and if the objects are ordered.
- System properties 730 refer to properties derived from the system from which the content object is obtained and will, therefore, vary according to the native system and the content type. Examples of system properties include display name, creation date, modification date, unique identifier, and format. Optionally, a system property may be available in multiple languages.
- Object properties 740 refer to attributes of the objects that may vary with individual object instances as well as with the object type. Object properties may be simple attributes, such as a classification value. In some content management systems, object properties may be arbitrarily complex, multi-level, multi-value, language varying attributes grouped into multi-level, multi-value sets. In some embodiments, a mechanism may be provided to map, display, and even update one or more object properties. In other embodiments, the system will defer activity related to displaying and maintaining object attributes to interfaces of the original data or content management systems.
- Content services 750 , 755 , and 760 refer to the actions available for the objects in the class defined by the content object model and, together, define the ways in which individuals and processes may interact with the objects. These actions will be exposed to the users or processes that consume the object model in a user interface or as operations that may be performed on the objects in the class.
- content services may be mapped according to user permissions or roles, so that the system may expose different actions to different users.
- Native content services 750 refer to those actions that are generally performed within the context of the data management system or content management system in which the object resides. Some native content services may be generic, such that it is common to all objects—such as “open” or “get properties”. Other content services may be custom to the object and/or originating system.
- Transformational content services 755 refer to actions that are performed on a content object such that the object is transformed from the state or condition that it existed in the underlying data or content management system in which it resided prior to the action.
- An example of a transformational action is “archive” whereby the native content object is moved to another content management system and replaced in the native system with a “stub” that directs future references to the archived object.
- Another example of a transformational action is “declare a record” whereby the native content object may be moved or otherwise protected from modification and deletion according to the native content system so that it can be managed under a file plan and retention policy implemented by a records management system.
- Enrichment content services 760 refer to actions that are performed on a content object that leave the native object intact, but that enrich the content through an operation performed in an independent system.
- An example of an enrichment content service is “rendition”, which may render the native content object into another format such as TIFF, or Adobe® Acrobat PDF and store the rendition in the native system or in another repository.
- Another example of an enrichment content service is “annotate”, which may store a note in association with the content object in the native system or in another repository.
- the ECM Flow Manager will be configured with one or more external content services 694 , which may include one or more data and document management systems, for the implementation of the set of available enrichment content services.
- the enrichment content services will be brokered by a content enrichment services provider 658 that will access the external content services 694 through their respective service provider interfaces 684 .
- a business content model is referenced in one or more virtual folder models, which is schematically depicted in FIG. 8 .
- a virtual folder model 800 models a hierarchy of virtual folder nodes 810 , 830 , 840 , and 850 .
- FIG. 8 depicts an exemplary virtual folder node 810 .
- Folder attributes 812 identify and describe virtual folder node 810 —for example, by providing a folder name and description with provision for localizing those strings in several languages.
- Virtual folder node 810 includes a business content model reference 820 which models the content objects that are virtually organized within the virtual folder node 810 .
- the business content model 820 is mapped to a technical interface 822 that specifies how to obtain the content objects from the underlying data or content management system.
- the technical interface 822 will identify the specific underlying data or content management system, the programmatic interface methods, and the input parameters required to connect to the underlying system with appropriate access credentials.
- the definition of system connection information will be maintained a structure designed for that purpose, since any given system may be referenced within many virtual folder nodes.
- the technical interface 822 will also identify the programmatic interface that is used to retrieve instances of the business content objects from the designated system.
- the type of the programmatic interface will depend on the specific requirements of the underlying system.
- the programmatic interface may specify a remote function call (RFC), or a web service, or an HTTP request. Therefore, the preferred embodiment will provide for each defined system type the availability of programmatic methods. Referring to FIG. 6 , this relationship will be determined by the set of data adapters 668 and content adapters 666 that are configured for Document Connect engine 664 , since the Document Connect engine 664 will be interpreting the technical interface 822 parameters when the virtual folder model 800 is instantiated for a consumer application.
- RRC remote function call
- the specification of technical interface 822 will determine the set of metadata available for the business content model reference 820 .
- the metadata for this technical interface 822 may be mapped to the business content model 820 through metadata harmonization rules 824 so that the business content objects that are retrieved through technical interface 822 are appropriate to the context of the virtual folder node 810 .
- the business content model 820 may reference an attribute for “customer” and the technical interface 822 may specific a parameter for “customer”, however the business content model 820 may expect a “customer” to be an alphanumeric string while the technical interface 822 may expect a “customer” to be a numeric identifier specific to the underlying data or content management system. Referring to FIG.
- Metadata harmonization engine 646 relies on connections to each of the underlying data management system 692 and content management system 690 and persistent storage of metadata mapping relationships in metadata storage 670 .
- the business content model 820 may define a query expression to be executed on a search engine 697 accessed through service provider interface 696 .
- the content objects returned by executing the query may have a diverse set of metadata elements that may be structured properties, such as classifications and attribute properties associated with the individual content objects in the result set; or that may be structured properties within the content of the object, such as form fields; or that may be unstructured properties, such as key concepts or terms derived from or text-mined from document contents.
- the virtual folder node 810 may specify a dynamic view that is constructed on-the-fly and based on an analysis of the clusters or facets of said structured classifications and attributes and unstructured key concepts within the set of content objects returned by the search engine.
- FIG. 10A shows an illustrative example of a taxonomy 1000 that might be used by an enterprise to organize sales documents.
- sales documents are to be organized according to a hierarchical classification with values for company, sales organization, and customer.
- FIG. 10B shows an illustrative example of a physical folder structure 1010 that has been organized to allow the user to navigate to the documents according to taxonomy 1000 of company, sales organization, and customer.
- the user may want to consider other characteristics such as sales representative and product when looking for sales documents.
- Those of ordinary skill in the art will understand that the disclosed systems and methods are not limited to the example and can implement a taxonomy based on features different than and/or additional to those described in the example.
- FIG. 10C and FIG. 10D show virtual folder views 1020 and 1030 that could be provided to allow the user to visualize and navigate to sales documents by characteristics of sales representative and product respectively.
- FIG. 11A shows an illustrative example of three facets that are provided to enable a user to find the sales documents according to taxonomy 1000 and the additional characteristics of sales representative and product.
- Facet 1102 displays a list of available company units with provision for the user to select one or more company units
- facet 1104 displays a list of available Sales Representatives
- facet 1106 displays a list of available products.
- Each of the items listed in a facet may be selected to instruct the system to include the sales documents that are classified according to the characteristic selected, or, in the case of facet 1102 , the sales documents that are classified under the selected level of the taxonomy represented by facet 1102 .
- FIG. 11B shows an illustrative example in facet 1112 .
- the system expands the display in facet 1112 to show the sales organizations within the company.
- the system expands the display in facet 1112 to display the customers within the sales organization.
- the system may automatically de-select in a second facet, those characteristics that are not associated with any of the content objects that have already been selected by the choices made in a first facet.
- the selection of customer Alpha Enterprises, in facet 1112 , and sales representative Abe Abraham, in facet 1114 would de-select those widgets in facet 1116 that do not appear on any sales document for which Abe Abraham was the sales representative.
- the de-selected items may be removed from the display.
- the system may display the number of content objects that are currently selected according to the criteria entered by the user in the available facets.
- the system may display the total number of content objects and, optionally, the number of content objects associated with each element displayed in a facet. Some embodiments may simply display the list of content objects (all objects or the first “n” objects) while other embodiments may display a button which enables the user to request a list of the content objects.
- the facets may be presented to the user in the primary display region with the content objects. In other embodiments, the facets may be presented to the user in a secondary display region while the content objects are displayed in the primary display region.
- facets allow a user to navigate to content objects using any or all of the available facets in an interactive manner.
- the configuration of virtual folder node 810 may also specify filter rules 816 that are applied to the selection of business content objects retrieved through technical interface 822 .
- Filter rules 816 may be statically defined, so that they may be applied consistently to filter the retrieved content objects based on key fields mapped to content attributes 710 , 730 , or 740 . If desired, filter rules 816 may be passed downward through any hierarchy and applied on each instance of the activation of the virtual folder model 800 , so that the retrieved content objects are constrained to the context defined by the parent nodes in the hierarchy.
- filter rules 810 may specify that the filter of the parent node is propagated to the child node to constrain the retrieved content objects in the virtual sub-folders to the same context of the virtual parent folder.
- filter rules 816 may specify that the user input is requested when the folder node 810 is selected, and the user-provided values be used to constrain the selection of the content objects retrieved through technical interface 822 . As the user navigates deeper and deeper, the selection becomes more and more restrictive until a leaf node is reached.
- a leaf node defines a business content object, which is a unique record in a data management or content management system.
- the filter rules 810 may also be applied to facet based navigation to constrain the selection of content objects in a similar manner.
- FIG. 12 is an illustrative example showing how filters 1210 may be used to restrict the retrieval of content objects associated with the selections made in facets 1202 , 1204 , and 1206 .
- the business content model 700 provide for the definition of a set of content services 750 , 755 and 760 associated with the content as defined by the content model 820 of the virtual folder node 810 .
- the content services may be presented to the user in one or more user interface paradigms—including toolbar buttons, context menu options, and hyperlinks. Since almost all of the behavior presented to the user is associated with these content services or actions, there is no limit on what an action may do.
- Native content services 750 are services that are supported by the underlying data or content management system in which the object resides.
- Transformational content services 755 operate on the content outside of the underlying data or content management system in which the content resides.
- the result of a Transformational content service 755 may be to return the modified content to the residing system, or it may be to replaced the content of the underlying system with the modified content residing in a different system that has been configured for that purpose—for example, when the native system does not allow modifications.
- An example of a transformational content service 755 is archiving, where a content object may be moved from the native system to an archival content management system and the content object in the native system replaced with a proxy or stub or otherwise marked in such a manner that the user can see that the content has been archived.
- a content service or action on the archived content object will enable the user to retrieve the content from the archival content management system.
- a transformational content service 755 is declare record and/or mark official whereby one or more classifications are applied to the native content object and maintained in a records management application. Access to the native content object is thereafter under the control of the records management application which may reduce the permissions of users to the native content object so that disposition of the content object may be under the control of the records management application rather than any casual business user.
- enrichment content services 760 operate on content outside of the underlying data or content management system to produce an additional content object that may be maintained in the native system or, if that is not practical, in an external content management system.
- An example of an enrichment content service 760 is “rendition”, whereby a content object is produced in an alternative format, such as Adobe Acrobat PDF/A or TIFF image format.
- the content services for the content object are enhanced to include a content service or action that enables the user to retrieve the rendition format rather than the native format.
- the content services may be role-based, such that different users may be granted access to different content services or actions based on the role in which they are registered to the system.
- folder events 814 may be defined for virtual folder node 810 .
- Folder events 814 may, for example, allow consumer processes to register to be notified when events occur with respect to instances of virtual folder node 810 and the associated content items. Examples of folder events 814 are events such as “open”, “create”, “modify”, and “add item”.
- folder events 814 may also provide for the local expression of global workflow events 770 with respect to the content item instances of business content object reference 820 .
- business content model reference 820 references business content model 700 which models a set of global workflow events 770 that defines events for “create” 772 and “modify” 774 .
- the folder events 814 may restrict the registration of the “create” 772 event so that it is not available for subscription by consumer applications that use the virtual folder model 800 in which business content model 700 is used. If desired, the folder events 814 may specify that when the “create” 772 event occurs for item instances of content model 700 , a “create” 772 workflow process is initiated in associated workflow engine 642 and/or the “create” 774 event is reported to event auditing/reporting service provider 640 for recording in audit record storage 662 .
- the workflow process When the workflow process registered in workflow engine 642 and associated with “create” 772 event is initiated; the workflow process receives information identifying the item instance of business content model 700 ; the virtual folder instance of virtual folder node 810 ; the consumer application process, user, and user role associated with virtual folder model 800 ; and additional metadata attributes associated with the creation of items in an instance of virtual folder node 810 .
- the audit event reported to event auditing/reporting service provider 640 may identify the “create” 772 event; the item instance of business content model 700 ; the virtual folder instance of virtual folder node 810 ; the consumer application process, user, and user role associated with virtual folder model 800 ; and additional metadata attributes associated with the creation of items in an instance of virtual folder node 810 .
- a workflow process may be triggered or initiated by events that are not associated with a virtual folder model or a business content model. Such workflow processes are initiated by connecting directly to workflow engine 642 through the associated application program interface 632 and identifying the workflow process to be initiated; the consumer application process, user, and user role associated with event; and additional metadata attributes associated with the workflow process.
- Initiation of a workflow process can indicate that a process definition be instantiated in workflow engine 642 which controls the enactment of the steps in the process definition.
- a process step may be defined to execute entirely within the confines of the workflow engine 642 or the process step may be defined to interact with users and applications external to the workflow engine 642 .
- the ECM Flow Manager provides a plurality of interaction methods. Examples of message-based notification of external users through a variety of means, including email, SMS text message, voicemail, and pager.
- notification is implemented through a universal work list, which is a form of “in-box” in which any system or application can register an event or alert, so that the user, group, role, or application process that owns the “in-box” has a central queue or list from which to receive events and instructions for a step that is to be performed.
- a universal work list which is a form of “in-box” in which any system or application can register an event or alert, so that the user, group, role, or application process that owns the “in-box” has a central queue or list from which to receive events and instructions for a step that is to be performed.
- a workflow step that generates an event may trigger a workflow step in another workflow process, either defined in the workflow engine 642 or in a process defined to be executed in an external workflow engine.
- workflow definitions can be chained together, effectively becoming sub-workflow processes of an overarching process definition.
- the interchange of workflow process definition may be implemented using a standardized workflow definition language, such as the XML process definition language published by the workflow management coalition.
- a process orchestration definition language may be used to define the types of interactions that are discussed above.
- An example of such a standard is Business Process Execution Language (BPEL), which is based on XML and web services.
- BPEL Business Process Execution Language
- models to drive the flow of content across departmental business processes.
- These models can be represented using any model specification language, such as XML, in order to interchange a model definition between components.
- model specification language such as XML
- a model repository manager 648 provides a service interface 624 for publishing services that enable applications to discover the models that are registered in the model storage 652 for the system.
- the model repository manager 648 also provides service interfaces 624 for registering and unregistering models in model storage 652 .
- Model repository manager 648 service interfaces 624 are discovered by consumer applications through a service discovery protocol, which may be based on standards for similar repository services, such as UDDI, Universal Plug-and-Play (UPnP), Jini, or Service Location Protocol (SLP).
- UDDI Universal Plug-and-Play
- Jini Jini
- SLP Service Location Protocol
- applications that consume the services and models may be composite applications that are assembled by loosely coupling user-interface parts that cooperate through events and business context within an application framework.
- the composition may take place on the client, on a web server, or through a portal.
- Examples include Microsoft .NET, Microsoft Office SharePoint web parts, Microsoft Information Bridge Framework (IBF), Microsoft Visual Basic for Office Business Applications (VB/OBA), Microsoft Line of Business Interoperability (LOBi) for Microsoft Office SharePoint Server (MOSS), SAP NetWeaver Portal iViews, SAP WebDynpro, SAP NetWeaver Composite Application Framework, Oracle Portal, and Web 2.0 mash-ups using asynchronous Javascript and XML (AJAX).
- FIG. 9 schematically depicts an exemplary application development framework 900 that supports software application development on clients 910 through a plurality of integrated development environments (IDE) 912 .
- IDE 912 may integrate directly with a design-time environment 920 that provides services to support model-driven development.
- IDE 912 may require an IDE plug-in 914 to integrate with the services provided by design-time environment 920 .
- the exemplary design-time environment 920 provides one or more modeler services.
- design-time environment 920 provides process modeler 928 .
- Process-modeler 928 communicates with IDE 912 through service provider interface 929 to support the development and integration of process models implemented as described herein.
- the development of a process model using modeler 928 may include workflow process template design tools such as a graphical workflow designer.
- a workflow process template designed using modeler 928 may be stored in model storage 936 through model repository manager 934 so that it may be effectively shared during design; and subsequently discovered, consumed, and initiated during run-time execution of applications; and referenced during the event processing of instances of the workflow template.
- a content modeler 924 is provided by design-time environment 920 .
- Content modeler 924 communicates with IDE 912 through service provider interface 925 to support the development and integration of content models 700 .
- Content modeler 924 uses design-time services provided by Document Connect 940 which, in turn, uses data adapters 944 and content adapters 946 to access respective data management systems 960 and content management systems 950 through their respective service provider interfaces 962 and 952 .
- a content model 700 designed using content modeler 924 may be stored in model storage 936 through model repository manager 934 so that it may be effectively shared during design; and subsequently discovered and consumed during run-time execution of applications; and referenced during the event processing of instances of content model 700 .
- Content modeler 924 also supports the modeling of content services 750 , 755 , and 760 .
- Content modeler 924 uses design-time services provided by Document Connect 940 which, in turn, uses content service provider interfaces 943 to discover and extend the native content services available for any given data management system 960 or content management system 950 through their respective service provider interfaces 962 and 952 .
- Document Connect 940 uses design-time services provided by Document Connect 940 which, in turn, uses content service provider interfaces 943 to discover and extend the native content services available for any given data management system 960 or content management system 950 through their respective service provider interfaces 962 and 952 .
- content modeler also allows custom code to be invoked during action execution. Simultaneously, however, we may want to minimize the amount of custom code that is written to support at least some data or content management system, and the requirements imposed on any such code by the user interface framework.
- content modeler 924 provides:
- a UI modeler 922 is provided by design-time environment 920 .
- UI modeler 922 communicates with IDE 912 through service provider interface 923 to support the development and integration of User Interface models.
- UI models are used to render virtual folder models 800 for display within applications.
- the rendering of virtual folder models 800 is by necessity specific to the application development framework in which the model is to be displayed.
- a UI model designed using UI modeler 922 may be stored in model storage 936 through model repository manager 934 so that it may be effectively shared during design; and subsequently discovered, consumed, and used for rendering of virtual folder model 800 during run-time execution of applications. Thereby, applications developed using the same application development framework may share the same UI model for a given virtual folder model 800 .
- UI modeler 922 also enables application developers to relate UI models for different application development frameworks to further encourage consistency across applications regardless of the development framework under which they were developed.
- the technology disclosed herein may enable flow of content across departmental business process in spite of the tendency to implement content management solutions in a fragmented manner.
- the technology may provide the software tools consistent with the type, state, or level of current development frameworks.
- the technology may be directed to simplifying the user interface paradigms for enterprise applications wherein a user, acting within a role, interacts with data and content from across the organization.
- FIGS. 13 a and 13 b depict two exemplary business productivity applications accessible from client computers 1300 and 1310 .
- the user of computer 1300 is performing Customer Service activities automated with Customer Service Automation Application Software 1301 , which has standard components 1302 designed by the vendor of said application software.
- the user of computer 1310 is performing Sales activities automated with Sales Force Automation Application Software 1311 , which has standard components 1312 designed by the (different) vendor of said application software.
- each of these business productivity applications can be extended to include access to related content from various sources and stored in various repositories.
- the designer of productivity application # 1 has embedded a user interface component 1304 that renders for display a UI model designed using UI Modeler 920 which renders for display a Customer Service-oriented virtual folder model 1306 that was modeled using Virtual Folder Modeler 926 .
- the Customer Service-oriented virtual folder model 1306 has been designed to reference several content models designed using Content Modeler 924 , including the Orders content model 1308 , which renders for display the orders belonging to a selected customer.
- the designer of productivity application # 2 has embedded a user interface component 1314 that renders for display a UI model designed using UI Modeler 920 which renders for display a Sales-oriented virtual folder model 1316 that was modeled using Virtual Folder Modeler 926 .
- the Sales-oriented virtual folder model 1316 has been designed to reference several content models designed using Content Modeler 924 , including the Orders content model 1320 , which renders for display the orders belonging to a selected customer. Because the virtual folder modeler 920 and Content Modeler 924 are model-driven, both of these Virtual Folder models were designed by consuming a common Orders content model ( 1308 and 1320 ) that is shared between the Customer Service-oriented virtual folder model 1306 and the Sales-oriented virtual folder model 1316 .
- virtual folder models can also be shared among UI components.
- the Customer virtual folder model 1306 that was developed for the Customer Service-oriented UI component 1304 can be reused in the Sales-oriented virtual folder model 1314 so that the Customers virtual folder 1320 shares the same content and behavior between the two applications.
- any changes made to the underlying content models 1308 and 1320 or to the virtual folder models 1306 , 1316 and 1318 are dynamically reflected in the productivity applications 1301 and 1311 when UI components 1304 and 1314 are rendered for display. In the prior art, such changes would require recompilation of each application.
- FIG. 14 a shows that the component rendered in the productivity application 1411 may include controls 1420 1416 1418 providing access to the actions available to the user at any node as configured in the content model or the virtual folder model.
- the actions may be presented to the user in a dropdown menu 1440 as by clicking on the control 1420 displayed next to the node. If desired, the actions may be presented to the user in a menu 1416 outside the folder display as at the top of the component.
- a further embodiment is to present the actions (or selected actions as configured for the component) as buttons 1418 outside the folder display.
- FIG. 14 b is an exemplary drop down menu 1440 listing the actions 1442 available to the user for a particular content object. Some of these actions may be native to the content management system in which the content object resides. Other of the actions may enhance or transform the object as described above. An embodiment may also present actions in a sub-menu 1446 activated by selecting one of the menu options 1448 . Such a menu may be dynamically generated as in our pending application Ser. No. 11/145,480, incorporated herein by reference in its entirety.
- FIG. 15 is an embodiment of a report 1500 that uses the audit history for a content object, in this example, a contract document or binder, showing how that content object “flows” (i.e., a map flow) through an organization and/or the business process of the organization. It depicts the timeline from object creation 1506 to scheduled destruction 1518 with icons showing each event in the audit history within “swimlanes” for each specific productivity application. In this example there are five productivity applications: “Sales Force Automation”, “Contract Lifecycle Management”, “Sales Order Administration”, “Shipping”, and “Customer Interaction Center”.
- actions such as “Create”, “Update”, “Read”, “Delete” are in subdivisions 1502 of the swimlane, but they could be shown in another manner such as by different icons.
- the details for an event can be displayed by clicking or hovering over an icon 1512 —as for example here where the details 1514 include the user, the date and time, certain “analytics” such as number of clicks and the duration of the event, and certain actions that were performed such as “Print” and “Send To”.
- the analysis is presented in a visual format other than swimlanes. For example, the analysis could be in report format, or through a 3-d visualization tool; etc.
- the term interactive refers to information that is displayable and controllable within a user interface.
- content refers to unstructured or semi-structured data that is mappable onto a metadata defining the content.
- Content may come from various sources and formats—e.g., RSS feeds, Blogs, Wikis, web pages, twitter postings, video, photo, etc.
- the content comprises documents.
- content may be more complex than “document” in the traditional sense—e.g., a contract with exhibits and attachments, renditions with signatures, etc.
- content may also be less complex than a traditional document—e.g., social networking content such as a blog comment.
- the models that are referred to herein are generally independent of a presentation framework.
- the models are an abstract representation of the content and the relationship of the content in a virtual folder paradigm that can be rendered in various ways as appropriate, desired, or necessary to allow the user to access the content and actions within a productivity application of arbitrary design and construction.
- the models may be rendered within a component that understands the technical details of how to render the data produced for an instance of the model within the application interface.
- the application interface may be designed and built using an application development tool—therefore, there needs to be a component for each such tool that can interpret the models and use the facilities of the application development environment to produce the best visual representation of the data and the best and most usable representation of the actions (i.e., as controls in the interface).
- Metadata of the model and the content may be gathered from or based on a plurality of sources.
- a plurality of sources For example, in the contract case, there may be emails about the contract; instant messages about the contract; someone may use a wiki to author the contract; someone may have a blog about the contract; there may be an RSS feed to notify people about changes to the contract draft during review; etc. All of these pieces of “meta content” could similarly be related to the contract and represented in one or more additional swimlanes in the FIG. 15 embodiment or in reports about the content. If desired, the timeline of any “document” may be reconstructed based on the activities performed by individuals within applications that create and consume content.
- Metadata may be generated or determined from non-traditional application frameworks—e.g., embedded in an email client so that someone can relate an email to the business context of another piece of content (e.g., to our contract); embedded in a web-based social networking system so that a blog or wiki can be used to relate content to the business context; and so forth.
- non-traditional application frameworks e.g., embedded in an email client so that someone can relate an email to the business context of another piece of content (e.g., to our contract); embedded in a web-based social networking system so that a blog or wiki can be used to relate content to the business context; and so forth.
- the methods, systems, and apparatuses described herein provides having a place for storing abstract models for the content and the views; adding a level for UI model to reduce the effort on the part of the application designer who wants a consistent user interface between a plurality of productivity applications developed using different development frameworks; and providing for actions and events to be modeled in the content and view so that they can appear in the user interfaces and make the content actionable.
- the flow manager configured to provide content as describe herein may be configured to deny access to content, wherein a response to a request for the content is a denial response that limits access to the content based on, for example, an authentication ticket of the user.
- the system may deny access based on rules rather than granting access based on permission lists.
- An example of an application for such denial is in law firms where you want to prevent conflicts of interest by explicitly listing the individuals who must not have access to content, as well as listing those individuals (or groups, or roles) who may have access to content. The system computes the individuals who may have access and eliminates those individuals who are explicitly listed to deny access.
- the systems and methods described herein are not limited to a hardware or software configuration; they can find applicability in many computing or processing environments.
- the systems and methods can be implemented in hardware or software, or in a combination of hardware and software.
- the systems and methods can be implemented in one or more computer-readable storage medium (including computer programs), in which a medium/computer program can be understood to include one or more processor-executable instructions.
- the computer programs can execute on one or more programmable processors, and can be stored on one or more storage media readable by the processor, comprising volatile and non-volatile memory and/or storage elements.
- the computer programs can be implemented in high level procedural or object oriented programming language to communicate with a computer system.
- the computer programs can also be implemented in assembly or machine language.
- the language can be compiled or interpreted.
- the computer programs can be stored on a storage medium or a device (e.g., compact disk (CD), digital video disk (DVD), magnetic tape or disk, internal hard drive, external hard drive, random access memory (RAM), redundant array of independent disks (RAID), or removable memory device) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the methods described herein.
- a storage medium or a device e.g., compact disk (CD), digital video disk (DVD), magnetic tape or disk, internal hard drive, external hard drive, random access memory (RAM), redundant array of independent disks (RAID), or removable memory device
- CD compact disk
- DVD digital video disk
- RAM random access memory
- RAID redundant array of independent disks
- references herein to memory can include one or more processor-readable and -accessible memory elements and/or components that can be internal to a processor-controlled device, external to a processor-controlled device, and/or can be accessed via a wired or wireless network using one or more communications protocols, and, unless otherwise provided, can be arranged to include one or more external and/or one or more internal memory devices, where such memory can be contiguous and/or partitioned based on the application.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
- This application claims benefit of priority under 35 U.S.C. § 119(e) of provisional application Set. No. 60/981,759 titled “Method and System for Managing Enterprise Content” filed on Oct. 22, 2007, which is incorporated herein by reference in its entirety.
- The present application includes material that is subject to copyright protection. The copyright owner does not object to the facsimile reproduction of the application by any person as the application appears in the records of the U.S. Patent and Trademark Office, but otherwise reserves all rights in the copyright.
- There are business processes wherein a worker needs to access data (also referred to as “structured data”) and documents (also referred to as “unstructured data” and as “content”) that are generated by a variety of different enterprise systems and stored in a variety of different data stores in order to perform some task that is consistent with their functional role in the organization. For example, a customer service representative would need access to a wide range of documents that originate from many different departments in order to perform the function of researching and responding to a customer inquiry.
- It is common to find that the various different organizational units, hereafter described as “departments”, in an organization—such as a for-profit company or a not-for-profit organization or the agencies comprising a government body—each develops its own system for creating and maintaining the documents that are produced by the department's processes. Many of these documents are required for efficient operation of another department's processes; however the department may lack an effective means for sharing those documents with other departments. For example, the department may lack awareness of the fact that another department has a need to use its documents in their process. This situation is frequently referred to as having “information silos” because the information content is stored in a manner that makes it difficult or impossible for other departments to find out what is stored. Even if the department is aware of the need for the documents of another department, the systems may lack interoperability, making it inefficient or, in some cases, impossible to access the documents directly from the processes in which they are needed.
- Referring to the earlier example, in response to such an organization, each customer service representative could go into each of the different enterprise systems, or silos, separately in order to look up the data or search for the documents based on the parameters of the inquiry. However, this method would be very time consuming and would result in low user satisfaction and long turn-around times on the response to the inquiry.
- Structured data can be organized in an Enterprise Resource Planning (ERP) system, so that individuals can easily access data originating from one process in other processes. However, ERP systems are not as effective in organizing the unstructured content data associated with the processes, especially if it is not directly linked to the structured data within the ERP system. For example, some of the unstructured content data may be created by processes that are outside of the control of the ERP system.
- Documents can be organized in a shared file system or in a document management system so that individuals can easily access documents from any process. These file sharing methods only provide a partial solution to the problem stated above, because the information may not be organized in a manner that makes it possible to locate the correct data or document in a specific process step. Or, the method of looking up the data or documents may return so many candidates that it overwhelms the user who is trying to solve a specific problem.
- A federated query system can be developed so that a search can be performed on each the different enterprise systems and the combined search results displayed for the user. The resulting display is, however, generic because they return results based on keywords and not context-specific results that would require additional data elements and their correlation to the query and, therefore, it is difficult for the business worker to understand the context of each search hit in order to focus attention on the data which is relevant to the problem at hand.
- Methods for writing a software application may be specific to a business process and that presents the appropriate information from each separate enterprise system in a user interface that is optimized to the business process. It is expensive, however, to develop such a software application for each and every possible combination of business scenario and the different enterprise systems needed. It is even more expensive to develop such a software application for each of the many different application environments that may be needed for various business workers—for example, there may be a need for such software written for desktop applications, web-based applications, portal frameworks, and so forth. Furthermore, having developed such a software application, it is difficult and expensive to keep the application up to date whenever any of the other departments changes their process or the types and organization of their information content.
- There are methods for creating a configuration utility in a given application environment that allows a business analyst to configure a presentation screen in that application environment by allowing the analyst to select from various metadata fields and choose the ones that are to be displayed in the presentation screen. An example of such a configuration utility is the DocuLink customizing screen that is available in the Open Text DocuLink application written in ABAP and presented to the user in the SAP(r) SAPGUI application environment. It is expensive, time-consuming, and inefficient, however, to develop and support such a configuration utility for each and every application environment such as the ones that were listed above.
- Therefore, there is a need for a system and method that enables the set of software applications developed for different departmental processes to manage their information content in a consistent and structured manner and that is easy for business analysts to incorporate into systems that they design in order for the needed content to flow from the process of one department to those of other departments without having to hard-code content management logic into each and every application.
- A method and system can be directed to providing a consistent flow of documents and data content across different organizational units of a company or agency where the documents and data come from different enterprise systems and data stores but are related to linked processes that share models for organizing the content in the business context and in a format that enables a user to relate the content to the process step or steps they are performing. The system can include a network service that enables a configuration utility to automatically discover the objects and metadata and provides for a mapping of selected fields of the metadata to regions displayed in the user interface view with provision for filtering the data by mapping selected fields to a user input form. Using this method a business analyst can create solutions (design content flows) without writing and maintaining complex program logic for each combination of presentation environment, enterprise system and data store (or object context).
- An apparatus is directed to providing, over a network, a user interface managing content of a plurality of different types. The apparatus may comprise: a metadata mapping component configured to perform actions. The actions may comprise: determining a model metadata configured for provisioning in a presentation framework, wherein the presentation framework is based on a role of a user and a process step within a business process; determining a first mapping of a key field of a content metadata of a requested content to a key field of the model metadata; determining a second mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of a user interface object property, an event object property, or a service object property; and providing a interactive version of the content within the presentation framework based on the first and second mapping. The apparatus may further comprise a network service configured to provide interfaces over the network that comprises: an interface for receiving the role of the user and the process step; an interface for receiving a request for the content; and an interface for providing the presentation framework within a specific application associated with the content. The model metadata can comprise a dynamic folder model for organizing a visualization of a portion of the content within the presentation framework based on the first mapping and ordered by the second mapping, and wherein the content comprises a document. The apparatus may further comprise a content connection component configured to perform actions comprising: sending a discovery query for the content metadata for the content to a plurality of content repositories configured to store the content of the plurality of different types; and receiving the content metadata from a responding content repository. The apparatus may further comprise a content services component configured to perform actions comprising: determining a user-interface control provided through the presentation framework based on the model metadata and the content metadata, wherein the user interface control provides a generic content service or a custom content service. The apparatus may further comprise a workflow component configured to perform actions comprising: providing an event to a workflow process for automating a flow of the content between steps of the business process, based on the model metadata and the content metadata and an application specific event from a specific application managing the content. The apparatus may further comprise an authentication component configured to perform actions comprising: limiting access to the content or events for the content based on an authentication of the user. The apparatus may further comprise an auditing and reporting component configured to perform actions comprising: recording usage audit records for actions performed on the content within the presentation framework; and providing an optimization suggestion about a usage of the content within the business process based on the recorded usage audit records.
- A computer-implemented method is directed to managing content of a plurality of different types. The method can comprise: receiving a request for visualizing a content; determining a model metadata configured for provisioning in a presentation framework, wherein the presentation framework is configured to interpret a user interface model (UI model) for rendering the content; sending a discovery query for the content to a plurality of content repositories configured to store the content of the plurality of different types; receiving a content metadata for the content from a responding content repository; determining a attribute-to-attribute mapping of a key field of the content metadata to a key field of the model metadata; determining an property-to-property mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of a user interface object property, an event object property, or a service object property; and providing an interactive instance of a portion of the content within the presentation framework based on the property-to-property mapping and ordered by the attribute-to-attribute mapping. In one embodiment, the content can be configured to be managed by a user having a role and within a process step of a business process. The UI model may comprise platform independent user interface instructions, and wherein the UI model is configured to provide the content within the presentation framework based on the model metadata. Determining the attribute-to-attribute mapping may further comprise: filtering the key field of the content metadata using a metadata filter that restricts the key fields in order to limit the selection of objects displayed under the user interface object property. The metadata filter may be at least one of: a static filter defined at design time, a filter entered by a user, or an inherited filter based on the presentation framework, wherein the framework is a hierarchical view, and wherein the filter of a parent view is inherited to a child view of the parent view. The content may be a hierarchical business object with embedded objects configured to display information about at least one step of a business process. The presentation framework may be a hierarchical folder view that is configured to display content based on configured facet classifications. In one embodiment, the facet classifications comprise at least one of a count facet, or a filter facet. The response of the content may be a denial response that limits access to the content based on an authentication ticket of the user and/or may further be based on the processes step.
- The method may further comprise determining a service-to-service mapping of a service object property defined in the model metadata and a service object property defined in the content metadata; providing a user-interface control through the presentation framework based on the service-to-service mapping. The user interface control may provide an action comprising at least one of: a foreign service provided by another content repository, a transformational service for transforming the content of a first type to another content of a second type, a creation service for creating a new content of the first type of the content, a rendition service for rendering the content, a enrichment-annotation service for changing the content metadata or associating another metadata with the content, wherein the other metadata comprises a tag to classifying the content, a tag to annotate the content, or a tag configured to be usable by a records management application, an archiving service, a records management service for managing the content within the records management application, a mash-up service, or any combination thereof. The method may further comprise determining an event-to-event mapping of an event object property defined in the model metadata and an event object property defined in the content metadata; and providing an event to a workflow process for automating a flow of the content between steps of the business process, based on the event-to-event mapping and an application specific event received from a specific application managing the content.
- A system is configured for managing contents of a plurality of different types over a network. The system can comprise: a plurality of content repositories configured to store the contents of the plurality of different types; a client configured to perform actions comprising: sending a request for a content configured to be managed by a user having a role; displaying within a presentation framework, a displayable and controllable version of the content; and a flow manager server configured to perform actions. The actions may comprise: receiving a content metadata for the content from a responding content repository; harmonizing the content metadata to a model metadata; and providing the presentation framework comprising the displayable and controllable version of the content based on the harmonized metadata. The displayable and controllable version may further comprise a user interface control based on the harmonized metadata, wherein the user interface control comprising at least one of a menu or a menu-bar.
- An application development framework is directed to software development for a productivity application environment. The application development framework may comprise: an computer component for receiving an abstract definition of interfaces for providing a plurality of content of different types discoverable and consumable within a process flow manager; a computer component for receiving a model metadata for the plurality of content of different types; and a computer component for generating computer readable instructions for operating the productivity application environment based on the abstract definitions and the model metadata, wherein a processor-executing instance of the computer readable instructions communicates with the process flow manager to provision a user interface object property, action object property, or event object property of the content within the productivity application environment. The productivity application environment may comprise at least one of a plurality of business enterprise applications.
- The process flow manager may be configured to perform actions comprising: receiving a request for visualizing a content; determining a model metadata configured for provisioning in a productivity application environment, wherein the productivity application environment is configured to interpret a user interface model (UI model) for rendering the content. The actions may further comprise: sending a discovery query for the content to a plurality of productivity application environment configured to provide content of the plurality of different types. The actions may further comprise: determining an property-to-property mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of the user interface object property, event object property, or action object property. The actions may further comprise: providing an interactive instance of a portion of the content within the productivity application environment based on the property-to-property mapping and ordered by the attribute-to-attribute mapping. The UI model can comprise platform independent user interface instructions, and wherein the UI model is configured to provide the content within the productivity application environment based on the model metadata. The abstract definition may be in Extensible Markup Language (XML).
- An method is directed to providing a development framework for software development for a specific application environment. The method can comprise: receiving an abstract definition of interfaces for providing a plurality of content of different types discoverable and consumable within a process flow manager; a model metadata for the plurality of content of different types; and generating computer readable instructions for operating the specific application environment based on the abstract definitions and the model metadata, wherein a processor-executing instance of the computer readable instructions communicates with the process flow manager to provision a user interface object property, action object property, or event object property of the content within the specific application environment. The specific application environment may comprise at least one of a plurality of business enterprise applications.
- The process flow manager may be configured to perform actions comprising: determining an property-to-property mapping of an object property of a content metadata that defines a content for visualizing within the specific application environment, to an object property of a model metadata, wherein the object properties comprises at least one of the user interface object property, event object property, or action object property; and providing an interactive instance of a portion of the content within the specific application environment based on the property-to-property mapping. The UI model may comprise platform independent user interface instructions, and wherein the UI model is configured to provide the content within the specific application environment based on the model metadata. The abstract definition may be in Extensible Markup Language (XML).
- A system is directed to software development for a specific application environment. The system can comprise: an computer component for receiving an abstract definition of interfaces for providing a plurality of content of different types discoverable and consumable within a process flow manager; a computer component for receiving a model metadata for the plurality of content of different types; and a computer component for generating computer readable instructions for operating the specific application environment based on the abstract definitions and the model metadata, wherein a processor-executing instance of the computer readable instructions communicates with the process flow manager to provision a user interface object property, action object property, or event object property of the content within the specific application environment. The specific application environment may comprise at least one of a plurality of business enterprise applications.
- The process flow manager may be configured to perform actions comprising: receiving a request for visualizing a content; determining a model metadata configured for provisioning in a specific application environment; sending a discovery query for the content to a plurality of content repositories configured to store the content of the plurality of different types; receiving a content metadata for the content from a responding content repository; determining a attribute-to-attribute mapping of a key field of the content metadata to a key field of the model metadata; determining an property-to-property mapping of an object property of the content metadata to an object property of the model metadata, wherein the object properties comprises at least one of the user interface object property, event object property, or action object property; and providing an interactive instance of a portion of the content within the specific application environment based on the property-to-property mapping and ordered by the attribute-to-attribute mapping. The UI model may comprise platform independent user interface instructions, and wherein the UI model is configured to provide the content within the specific application environment based on the model metadata. The abstract definition may be in Extensible Markup Language (XML).
- A computer-implemented method is directed to analyzing data. The method can comprise: determining a model metadata of a content configured for provisioning within a presentation framework based on a process step within a business process; receiving a content metadata for the content from a selected one of a plurality of content repositories; determining an object property-to-object property mapping based on mapping the model metadata to the content metadata; providing the presentation framework that displays and controls an instance of the content based on the object property-to-object property mapping; and providing an analysis of a usage of the content within the business process. Providing the analysis may further comprise: recording usage audit records for navigation and control actions performed on the content while the content is provided through the presentation framework. The method may further comprise: processing the usage audit records through an analytics model to provide an indication of an efficiency or inefficiency in a usage of a plurality of content through the business process. The analytics model can comprise a determination of a number of clicks within the content, a time of usage of the content, a time of printing of the content, or a time of emailing the content. Providing the analysis can further comprise: determining a map flow of content through the business process based on the usage audit records.
- The method can comprise: providing the map flow of the content within a plurality of swimlanes. The swimlanes can provide a visualization of the content usage at a time for at least one of a plurality of applications. The applications can comprise a Sales Force Automation application, a Contract Lifecycle Management application, a Sales order Administration application, a Shipping application, or a Customer Interaction Center application. The analysis of the usage of the content may be displayable at least one point within the map flow. Providing the analysis can further comprise: providing an optimization suggestion about the usage of the content within the business process based on the recorded usage audit records. The usage may be of an individual user, a group of users, or an organization usage.
- A computer-implemented system is directed to analyzing data. The system can comprise: a process flow manager configured to provide a business process for providing visualization and services for a plurality of content of different types; and an auditing and reporting component configured to provide an analysis of a usage of the plurality of content within the business process. Providing the analysis can further comprise: recording usage audit records for navigation and control actions performed on the content while the content is provided through the presentation framework; and determining a map flow of plurality of content through the business process based on the usage audit records. Providing the analysis can further comprise: providing the map flow of the plurality of content within a plurality of swimlanes. The swimlanes can provide a visualization of the plurality of content usage at a time for at least one of a plurality of applications. The specific applications can comprise a Sales Force Automation application, a Contract Lifecycle Management application, a Sales order Administration application, a Shipping application, or a Customer Interaction Center application.
- An apparatus is directed to analyzing data. The apparatus can comprise: a processor configured to perform actions comprising: determining a model metadata of a content configured for provisioning within a presentation framework based on a process step within a business process; receiving a content metadata for the content from a selected one of a plurality of content repositories; determining an object property-to-object property mapping based on mapping the model metadata to the content metadata; providing the presentation framework that displays and controls an instance of the content based on the object property-to-object property mapping; and providing an analysis of a usage of the content within the business process. Providing the analysis can further comprise: recording usage audit records for navigation and control actions performed on the content while the content is provided through the presentation framework. The actions can further comprise: processing the usage audit records through an analytics model to provide an indication of an efficiency or inefficiency in a usage of a plurality of content through the business process.
- A user interface may be configured for displaying documents and data objects that are related by key fields, that includes a network service for accepting requests for models. In one embodiment, the network service obtains a list of available virtual folder models; for each virtual folder model, the network service obtains a list of content models; for each content model, the network service obtains a list of metadata fields; for any metadata field, the network service accepts a mapping to a key field; for any metadata field, the network service accepts a mapping to user interface elements; and for any user interface element, the network service accepts a mapping to a presentation framework. The presentation framework can provide for organizing related content models into hierarchical view such as a virtual folder model and including in the model the actions that can be performed by a user based on role and permissions so that these actions can be represented as controls in the user interface.
- In one embodiment, for any user interface element, the network service can accept a metadata filter that restricts the key fields in order to limit the selection of objects displayed under the user interface element. In one embodiment, the network service produces an abstract definition of the interface configuration. In one embodiment, the network service produces an abstract definition of the object configuration. In one embodiment, the abstract definition is XML. In one embodiment, a network service transforms the abstract definition into computer readable instructions for a specific application environment.
- In one embodiment, the specific application environment comprises SAP(r) SAPGUI, SAP NetWeaver Enterprise Portal, SAP WebDynpro, Microsoft Information Bridge Framework or Microsoft Visual Basic for Office Business Solutions (MS/OBA), Microsoft Line of Business Interface (LOBI), Microsoft SharePoint WebPart Extensions, or JSR-168 portlets.
- Metadata harmonization as described herein may comprise a data mapping or translation facility that relates content from different sources based on metadata fields that are not identical but where a relationship can be computed. For example, in System A customer X would be identified as “Acme Ltd.” While in System B, customer X would be identified as “12345”.
- A computer-readable storage medium can comprise instructions executable by a processor to perform at least some of the steps of at least some of the methods described above.
- An apparatus can comprise a processor configured to perform at least some of the steps of at least some of the methods described above.
- Features of embodiments of the invention, its nature, and various advantages will be apparent from the following detailed description, taken in conjunction with the accompanying drawings in which:
-
FIG. 1 schematically illustrates an exemplary system for supporting a the flow of content across departments of an organization; -
FIG. 2 schematically illustrates an exemplary system for supporting a departmental process in the prior art; -
FIG. 3 schematically illustrates an exemplary system for supporting a departmental process in accordance with embodiments of the invention; -
FIG. 4A andFIG. 4B schematically illustrate the problem presented by prior art systems for accessing content across two departmental processes; -
FIG. 5 schematically illustrates a solution presented in accordance with embodiments of the invention for accessing content across two departmental processes; -
FIG. 6 is a block diagram of an embodiment of the run-time components in accordance with embodiments of the invention; -
FIG. 7 is a block diagram of an embodiment of a business content model; -
FIG. 8 is a block diagram of an embodiment of a virtual folder model; -
FIG. 9 is a block diagram of an embodiment of an application development framework with design-time and run-time components; -
FIG. 10A-D schematically illustrate an exemplary taxonomy that may be represented using virtual folders; -
FIG. 11A-B schematically illustrate an exemplary application of facet classification trees; -
FIG. 12 schematically illustrates an exemplary application of filters used together with facet classification trees; -
FIG. 13 a-13 b schematically illustrates an exemplary business productivity applications accessible from client computers; -
FIG. 14 a-14 b schematically illustrates an exemplary application of user interface controls within business productivity applications; and -
FIG. 15 schematically illustrates an exemplary report of the audit history of the usage of content. - Traditionally, the various departments in an organization have processes that may be well organized for the functions that take place within a department but which are not necessarily well organized to support the processes within a different department. The flows of structured data across the processes of an organization have been addressed by Enterprise Resource Planning (ERP) systems such as those from SAP® or Oracle®. However, the ERP systems are optimized for structured data and generally do not effectively manage the unstructured data or documents that are related to the processes.
- Traditionally, organizations have relied on paper documents and paper file folders to organize the related documents and support the cross-departmental needs. The reliance on paper makes it less important for individuals in any given department to understand how those in a different department use the documents that are being filed because the individuals in the process can easily go through the documents in the folder manually and have many cues, such as labeled file drawers, tabbed sub-dividers, labeled file folders, and can scan the actual paper documents in order to find what they are looking for—even if they had not initially known how the documents are organized.
- For several years, in order to automate manual business processes, organizations have been digitizing paper documents in the form of scanned images. Other documents are initially created in electronic formats using office automation software such as the applications in the Microsoft® Office Suite, engineering drawing applications such as AutoCAD® from AutoDesk®, or creative graphics applications such as those from Adobe®. These scanned images and electronic documents can be organized in the electronic equivalent of file folders and file cabinets. For example, organizations frequently rely on shared file folders or on document management systems for such organization.
- These electronic file folders can be used in a similar manner to the physical file folder. In other words, an individual who is performing a role in a process can refer to the electronic file folder whenever a document is needed in that process, even if that document was created by a different department. Various methodologies have been developed to optimize the sharing of documents within file folders, such as labeling, classifications, and controlling the access to the file folders and documents. Records retention management systems have also been developed to help organizations control the disposition of file folders and documents, so that they can comply with policies that require that documents are available for audit and litigation procedures.
- In many organizations, however, the content management procedures and the systems in which the electronic content is stored and used are quite disconnected. Rapid adoption of software applications used to create and modify unstructured documents has resulted in a proliferation of electronic content. These factors have resulting in a situation wherein content is unavailable to processes because the content is isolated from the process. The isolation may occur because the department that created the content may be unaware that another department may need it. Or, the isolation may occur because the department that needs the content does not have access to the system used by the department that created it.
- All of the departments in an organization could join forces to analyze the various flows of content and reengineer all of their processes into an integrated system that optimizes the management and access to content so that it is available whenever and wherever it is needed. Such an initiative is unlikely, however, because it would be expensive, time consuming, and disruptive. If such an integrated system were developed, it would be expensive to maintain and upgrade over time, given requirements to keep in pace with new and modified document types and formats and to align to changes in the underlying platform infrastructure.
- Alternatively, using the different methods, systems, apparatuses, or media disclosed herein, the software applications used by workers in various departments can be retrofitted to use a set of content services provided by an “ECM Flow Manager™”.
- The ECM Flow Manager supports these processes with the following optionally-deployable and mutually consistent components:
-
- ECM Flow Model Repository™
- Document Connect Engine
- Workflow and workflow connection Engine
- Content Services
- Metadata Harmonization
- Search engine
- Common Authentication Framework
- Auditing and reporting
- Optimization Agent
- The ECM Flow Manager most typically has a services oriented architecture (SOA), which promotes reuse of business logic across the entire organization and its processes. Thereby the software applications, each implementing a departmental process, can invoke one or more ECM Flow Manager services to enable content (or, access to content) to flow into or out of the process, and to enable individuals using the software application to access content regardless of the underlying content repository wherein the content is maintained. Furthermore, the ECM Flow Manager is model-based, which promotes a software design methodology whereby the business logic does not rely on hard-coded information structures, but rather connects to a model repository within the ECM Flow Manager for discovery of the structures used to represent the organization and visualization of related content, for methods used for accessing and enhancing content, and for reporting on content usage.
- The ECM Flow Manager typically also has a role- and rule-based permission model which optionally enables it to manage access to the underlying content by requiring that the software applications consuming services from the ECM Flow Manager present credentials appropriate to access the underlying content repositories. The ECM Flow Manager includes a common authentication infrastructure to fulfill this requirement.
- Finally, development of software applications using the ECM Flow Manager is model-driven, whereby standard development tools, such as Microsoft Visual Studio, SAP NetWeaver Visual Composer, and Eclipse, can be used to rapidly develop software based on models obtained from the ECM Flow Model repository.
- The ECM Flow Model Repository optionally provides one or more services to enable applications to register, discover, and consume business content and its associated organizational models (folders, etc.), networks, materialized views, and/or dynamic folder models produced by other processes.
- One repository service models business content in a manner that promotes the sharing of the content across otherwise disconnected processes. Each business content model enables a process, such as a process in a single department, to represent the content that originates in the process within a structure that is independent of how the content is actually stored and aspects of its creation that are not relevant to it subsequent utilization.
- The business content of other processes are also represented in appropriate models, so that all processes have a consistent way to represent business content and can “discover” the business content of other processes.
- Typically, the content is modeled at a higher level than individual documents. For example, a departmental process that creates a contract may represent the contract as a “contract binder” that contains various component documents, of various types and formats and along with the associated metadata, which may exist in several versions including preliminary information and drafts, rather than representing each document individually.
- When a business content model is registered in the ECM Model Repository, the technical interface to access the content is also referenced, as are the set of metadata that is available for organizing and identifying the content. For example, the above referenced “Contract Binder” may be registered as residing in a specific SAP ERP system with the following metadata fields:
-
- Contract Partner {Partner Name and ID, Location, Contact Person(s)}
- Contract Name
- Contract Initiation Date
- Contract Expiration Date
- Contract Roles {Administrator, Negotiator, Legal}
- A second type of model in the ECM Model Repository is a dynamic folder model, which provides a high level organization of all of the content that flows across departments for a set of connected processes. For example, the content for an order-to-cash process might include related documents including RFPs, Quotes, Purchase Orders, Design Documents, Shipping Documents, Invoices, Delivery Notes, Correspondence, and Return and Repair Information.
- Each department may maintain their documents in a separate content management system using a different business content model. The dynamic folder model represents the relationship of the business content models along with the way in which they are visually or logically represented in any of the software applications along the overall order-to-cash process. This model enables the individuals using a software application within a department to easily “discover” relevant and suitable content from other departments, regardless of where the content is physically stored and the totality of available metadata about the content. An advantage over the prior art is that this method dynamically adjusts to new content types, thereby eliminating the need to modify the software applications whenever any of the related processes are changed and new sources of business content are added.
- The ECM Model Repository also enables the set of departmental software applications to enrich the business content that is “owned” by another department. Whereas a given department may have established processes for the management of content that are entirely sufficient for the intended purpose(s), the effective use of content produced by these processes by members of other departments is often likely to require additional information not countenanced in the design and implementation of the original process. For example, a contract binder may contain various documents and records associated with a contracting process which may be related to a sale of goods or services, or the procurement of goods or services, or any other situation in which two or more partners enter into a contract. The contract binder collects documents that are preliminary to the actual contract, documents produced during the contract drafting process, the actual contract, documents containing information required to perform on the contract, and documents such as amendments and correspondence that are produced during the term of the contract. These documents are produced and consumed by various departments in an organization and, therefore, can be also be said to “flow” across the organization.
- These discussions have used examples of implemented and structured electronic process, however it is readily apparent that in many real-life situations implemented processes may not fully achieve their intended purposes, that users may incorrectly use or circumvent such processes, or that there may even be no established processes within certain departments. In such cases the needs to make available appropriate content to members of other departments is no less critical for the overall organization.
- The ECM Flow Manager also provides a security and access control model that ensures secure access from each of the software applications used to implement and automate departmental processes. The access control model can be user, group, rule, or role based; may take into account process status, and is applied to the business content models and to the dynamic folder models.
- Another component of the ECM Flow Manager is the Document Connect Engine, which provides the services required to interpret the dynamic folder model and deliver the information to the software applications that implement business processes. The Document Connect Engine also maintains connectors to each of the underlying enterprise data and content repositories. As a result of the Document Connect Engine services, each user can easily access the content in, for example, a dynamic folder that is displayed in the software application that has been developed to automate the business process for his or her department and role.
- The Document Connect Engine executes the queries required to retrieve information for the business content model from each of the underlying systems managing the content and organizes the results in a manner that is easily presented in various graphical user interface frameworks of the software applications that consume the dynamic folder model.
- In order to perform these services, the Document Connect Engine connects to each of the underlying content repositories using authorization credentials appropriate for the role of the user and/or process stage, requests the metadata components for an instance of each business content model, and employs the metadata elements to create an appropriate visual representation that facilitates the understanding and use of the content for specific purposes. One typical such representation is a folder hierarchy. The folders may correspond to the folders of the source system, or they may be dynamic so that it is easy to render in a software application according to the requirements of the appropriate visualization framework. Examples of such visualization frameworks include Portals (such as Microsoft SharePoint™ Portal, SAP NetWeaver Portal, or Oracle Portal), desktop business productivity applications (such as Lotus Notes, Microsoft Office Business Applications, Duet™, SAP WebDynpro or SAPGUI), and generic desktop utilities (such as Microsoft Windows Explorer or the Open Text desktop client).
- In order to make it easier for the user to find the precise content needed for their process, the Document Connect Engine provides for the use of filters that can be configured at the nodes or levels in a dynamic folder model. Filter types include static, input by the user, or inherited. A static filter is pre-set to a specific value as appropriate for the intended use. A filter that is input by the user may, for instance, be presented as a fill-in form with one or more fields prompting the user to enter one or more values or range of values, thereby enabling the user to better select the most appropriate content for their purposes. An inherited filter is configured to propagate the filter of the previous level of the hierarchy down to the next level.
- In a typical application, the dynamic folder tree is requested with an initial filter value that is derived from the application or using data entered by the user. In this way, the initial content that is displayed to the user is related to the context of the process or the results of a user-entered query.
- The ECM Flow Manager also enables the flow of content across departmental processes through a simple workflow and event notification capability. The ECM Flow Manager allows consumer processes to configure a set of events on the business content that is managed within the ECM Flow Manager framework. Consumer processes can subscribe to the events so that they are made aware of changes to the content that is managed by another process. The software application implementing the process can display the events that are appropriate for the permissions of the user and his role in whatever manner is appropriate or typical for that application and process. For example, the application may have an inbox or universal work list that collects and optionally prioritizes the events that are ready for the user of the application. Alternatively, the application can pass the event into a workflow process in order to further automate the flow of content.
- The preferred embodiment of the ECM Flow Manager includes a workflow engine of its own, however in a typical application of content flow across departments it is expected that one or more of the processes that are being connected will have its own workflow engine. Therefore, the workflow engine in the ECM Flow Manager is not intended to replace the workflow engines of each process but rather to make it easier for those implementing content flow to implement the communication between processes and to implement content-centric rules that would be difficult or costly to implement in the departmental processes themselves.
- However, the workflow engine ECM Flow Manager does support content-centric business processes through the design, instantiation, and execution of workflow process templates that model the steps of manual and automated typical of those found in organizations managing enterprise content.
- As described above, the ECM Flow Manager provides a set of models and a method for displaying and utilizing the metadata of content related to a business process in an appropriate visual framework, such as a virtual folder hierarchy, that is in the appropriate business context and user's role regardless of the source system or application that owns the content. The ECM Flow Manager also supports a set of content services that allows the user to work with the content without requiring knowledge of how to use the underlying system in which the content actually resides. These services are typically “read-only” actions such as fetch, download, view, zip, print, or fax. However, ECM Flow Manager also provides a service provider interface that may define other content services that are not read-only and are implemented through server-defined actions to perform some action, including creating new content, updating existing content in the owning repository, or transforming the content. Examples of actions that transform content are 1) archiving a content object from a first repository into a second repository and replacing the original content object with an object that provides restricted access to the archived content; and 2) declaring a content object as a record and transforming the content object as necessary or desired to classify and protect the content object under the retention schedule associated with the file plan.
- The ECM Flow Manager also provides a set of content services that enrich the content without altering the content in the owning repository. Examples of enrichment services are rendition, annotation, profiling (i.e., adding metadata), and classification (e.g., according to business taxonomy and/or organizational records management file plan).
- The ECM Flow Manager also provides a third set of content services that provision to the user a set of appropriate actions related by the needs of the user, independent of the origin of the content. For example, such a related service might allow the user to access a user interface component to display a map showing a geographic location specified in the metadata related to a content object, for example in a GIS application or through Google™ Maps or Microsoft Virtual Earth™. Such related actions are sometimes referred to as “mash-ups”.
- The dynamic display of related and relevant content depends on consistent metadata across disparate content repositories. For example, an application that flows content related to an organization's customers across different processes will need to have a single version of each customer.
- Although it would be ideal if every organization could enforce metadata consistency across all of its applications and processes, it may not be feasible to modify each such application in order to enable effective content flow. Therefore, the ECM Flow Manager includes metadata harmonization. Such metadata harmonization is also referred to as master data management. The metadata harmonization mechanism allows the ECM Flow Manager to translate or map the values of metadata elements in business content models from one enterprise application or content repository to another, including the labels for these elements with provision for localization of values and labels according to the locale settings for the user interface.
- The discovery of related and relevant content also depends on discovering the content in each of the content repositories. Typically, each content repository will expose services that enable external applications to discover content based on metadata and content. However, the quality of the search services offered by the external repositories will vary and the flow of content may depend on features that are not available in those native search services.
- Therefore, the ECM Flow Manager includes an embedded search engine that may be used to extract content with metadata from the external content management repository into an embedded searchable index. In doing so, the ECM Flow Manager will be able to provide consistent results where advanced search features are required.
- The ECM Flow Manager also supports the security models of the underlying enterprise applications and content repositories so that users only have access to the information that they are authorized to access.
- ECM Flow Manager includes a common authentication framework that enables transparent authentication from the departmental software application through to each of the underlying enterprise applications and content repositories. The framework provides services to register authentication providers for the various authentication methods used by the departmental software applications. The framework also provides services to register drivers to traverse the authentication requirements of the underlying enterprise applications and content repositories. The framework maps the front-end application authentication through each of the drivers required to transparently access the authorized business content which is ultimately presented in the view available to the departmental software application—for example, as the dynamic folder view.
- The ECM Flow Manager maintains a record of the requests, events, and content services in the context of the users and their roles, the processes, business content models, and dynamic folder models.
- A reporting service is provided for producing reports from these records. In this way, the ECM Flow Manager enables an organization to document how users are using each specific business content component and collections as they flow across each of the organization's processes. In this way, the organization can understand the “big picture” of their enterprise content, which would be difficult or impossible to obtain by looking at the set of audit trails produced from accessing individual documents from each of the underlying enterprise applications and content repositories.
- An organization that is using the ECM Flow Manager in one or more of their departmental processes also has the ability to monitor how individual users are performing in their roles with respect to the business content that they are creating and consuming. By analyzing the steps that a user performs in comparison to other users performing in the same process, the ECM Flow Manager can provide feedback to the individual user, to groups of users, and to the organization so that action can be taken to help user and groups to become more efficient and effective in the way that they use content.
- A system to provide content flow across processes is shown schematically in
FIG. 1 . As shown inFIG. 1 , theexemplary system 100 includes a plurality ofclients 102 used by various individuals in a first department, a plurality ofclients 104 used by various individuals in a second department, one ormore servers 106 anddatabases 108. Theclients servers 106, anddatabases 106 communicate using one or moredata communications networks 110. - An illustrative example of the prior art is shown schematically in
FIG. 2 . As shown inFIG. 2 , aclient 200 that is runningapplication software 202 that supports a departmental process requiring access to data residing in one or moredata management systems 220 and content in one or morecontent management systems 230. The client includesapplication software 202 that implements program logic enabling the user at the client to interact with the data and content, performing such operations as creating, viewing, updating, and deleting information, all in the context of some business process. - The
client software application 202 may directly access thedata management systems 220 through application program interfaces 222 and thecontent management systems 230 through application program interfaces 232. If desired, theclients 200 may indirectly access the data and content through processautomation software applications 212 operating on anapplication server 210 servicing a plurality ofclients 200 in the department. In this case, the processautomation software applications 212 connect to thedata management systems 220 using application program interfaces 222 and to thecontent management systems 230 using application program interfaces 232. - The departmental business process that is automated by
client software application 202 andprocess automation software 212 enable the user atclient 200 to interact with the data and content residing in the underlyingdata management systems 220 andcontent management systems 230. In some prior art systems, theclient software application 202 is a dedicated software application program installed at theclient 200 and dedicated to a specific business process. In other prior art systems, theclient software application 202 relies on features and functions of general purpose client software application frameworks, such as portals and web-browsers, for accessing the methods programmed in processautomation software application 212 located in anapplication server 210. The connection betweenclient application software 202 and processautomation software application 212 may be dedicated using “hard-wired” connections or the connection may rely on network protocols of a network operating system. The methods may rely on user access to structured information in one or moredata management systems 220 and unstructured information in one or morecontent management systems 230. Typically, one of these content management systems will belong to the department and be used primarily for processes that reside in the department, while the other data and content management systems will belong to other departments or be shared among two or more departments. -
FIG. 3 schematically represents an exemplary system for managing content. As shown inFIG. 3 ,client application software 302 running inclient 300 may be connected toserver 320 throughapplication program interface 322.Server 320 is programmed according to one or more of the methods disclosed herein in the so-calledECM Flow Manager 324. - The
ECM Flow Manager 324 is connected to one or moredata management systems 340 through their respective application program interfaces 342 and to one or morecontent management systems 350 through their respective application program interfaces 352.Data management systems 340 are generally systems that manage structured data, such as Enterprise Resource Planning (ERP) systems, or Customer Relationship Management (CRM) systems, or other systems of a similar nature.Content management systems 350 are generally systems that manage unstructured data or documents, such as document management systems, web content management systems, digital asset management systems, document imaging and archiving systems, or other systems of a similar nature. The services provided by the methods of disclosed herein make it unnecessary forclient software application 302 to connect directly tosystems client application software 302 is delivered by the services disclosed herein. - As described above for the prior art,
client 300 may, in some embodiments, rely on one or more processautomation software applications 312 running inserver 310 for enabling the user to perform a departmental process, in which case processautomation software application 312 is connected to theECM Flow Manager 324 running inserver 300 through their respective application program interfaces 322, and thereby eliminating the need forclient software application 302 to connect directly to theECM Flow Manager 324. In some embodiments,client application software 302 or processautomation software application 312 may also be connected to one or more departmentalcontent management systems 352 in order to support the methods that are specific to those applications—typically methods that pertain to creating and modifying content. - Such methods may be distributed across more than one of
server 300 for the convenience of the system administrators or in order to service the demands of alarge number clients 300 andapplication servers 310. -
FIG. 4 schematically depicts a problem of prior art systems. As shown inFIG. 4 ,users departmental processes departmental content first user 400 has direct access to thecontent 404 belonging to itsown department process 402 but lacks easy access tocontent 414 belonging to aprocess 412 of a second department. Similarly, asecond user 410 who is in a second department will lack easy access tocontent 404 belonging to the first department.FIG. 4B schematically depicts a prior art solution to this problem, whereby thedepartmental processes content content departmental processes content - In reference to
FIG. 5 , a procedure is proposed for connecting the content across departments and their processes.FIG. 5 schematically depicts a simplified exemplary concept of the virtual folders provided by the methods of disclosed herein. As shown inFIG. 5 , afirst user 500, using the methods in afirst department process 510 directly maintain theunstructured content 520 belonging to the first department. Asecond user 550, using the methods in asecond department process 560, directly maintain theunstructured content 570 belonging to the second department. Using the methods disclosed herein, bothusers ECM Flow Manager 524, which provides access tocontent virtual folders - An illustrative example of the system for managing content is schematically depicted in
FIG. 6 . As seen inFIG. 6 , thesystem 600 comprises a set of component services herein referred to as the “ECM Flow Manager” 660 which optionally connect to one or more externalcontent management systems 690 through their respective application program interfaces 680 and to one or more externaldata management systems 692 through their respective application program interfaces 682 and to one or moreexternal content services 694 through their respective application program interfaces 684. - The services within the ECM
Flow Manager system 660 are exposed for consumption by other applications and systems through a set of application program interfaces 612, which may be implemented in a form that is useful to or dictated by the specific types of consumer applications. Therefore, interfaces 612 may be provided as web services, Java classes, C++ functions, dynamic link libraries, shared libraries, and so forth. In the preferred embodiment, interfaces 612 are web services, implemented using WDSL standards and published through a UDDI registry so that the services are easily discovered and consumed by the applications that use them. - Access to the
ECM Flow Manager 660 is secured by a common authentication framework which is implemented through acommon authentication service 650 that intermediates the external authentication required for access to theECM Flow Manager 660 and access to externalcontent management systems 690 anddata management systems 692. Thecommon authentication service 650 can be configured to recognize the credentials that are passed into thesystem 660 by one or more external authentication mechanisms, such as that provided by Microsoft Integrated Windows Authentication (formerly called NTLM, and also known as Windows NT Challenge/Response authentication), or by SAP's Single Sign-On. Optionally, thecommon authentication service 650 can be configured to perform authentication using a user account and password maintained inlocal store 656. On authentication, the common authentication service issues a ticket that is revalidated by the common authenticationframework ticket service 620 on each subsequent access to any of the underlying services within theECM Flow Manager 660 system. - In a typical scenario, a
department process ECM Flow Manager 660 modelrepository manager service 648 to discover the virtual folder model or models that have been registered in model storage 652 and that are appropriate to the department business scenario and role ofuser repository manager 648 by virtual folder model design tools, which are described in another section of this specification. Having selected the appropriate dynamic folder model,department process Document Connect Engine 644 viaservice interface 622 to visualize the model in the manner that is appropriate to the user interface technology for which thedepartment process users Document Connect engine 644 to data and content configured by the virtual folder model, wherein the actual data and content are maintained in externalcontent management systems 690 and in externaldata management systems 692.Document Connect engine 644 relies oncontent adapters 666 to access information in the externalcontent management systems 690 using their respective application program interfaces 680 and ondata adapters 668 to access information in the externaldata management systems 692 using their respective application program interfaces 682.Document Connect engine 644 relies on thecommon authentication service 650 to ensure thatusers - The virtual folder models may include references to content within a structural context that is at a level above the structure of the content maintained in any of the external
content management systems 690 in which the content is actually maintained. For example, a business content model may represent a business object, such as a contract binder, while the underlying content management system may represent individual contract documents. Themodel repository manager 648 also services requests to discover these content models that have been registered in model storage 652 by business content modeling tools, which are described in another section of this specification. - Business content models are also used to configure the set of content services that are available for content objects associated with a virtual folder model. Examples of content services are requests to fetch or download a copy of the content, to store new content, to store a new version of the content, or delete the content. The content services are configured through
content services provider 636, which supports one or more content services according to the configuration of the system. Since all of the content related behavior that is presented to the user is associated with these content services, thecontent services provider 636 supports custom and generic services implemented in a contentservice provider interface 637 for each availabledata management system 692 andcontent management system 690. Generic content services support actions that are common across the variousdata management systems 692 andcontent management systems 690, while custom content services support actions that are unique to adata management system 692 orcontent management system 690. Each contentservice provider interface 637 defines the available content service actions for the associated data or content management system and provides the program logic required to execute the action in the appropriate client user interface framework—for example, as JavaScript for a web browser client, or as managed .NET or COM objects for a rich client—or as server-side program logic if it is not feasible to execute the action in the client. Each contentservice provider interface 637 accesses thedata management system 692 orcontent management system 690 for which it has been designed to work through its respectiveapplication program interface - Other content service requests require enrichment of the content object over and above what may be directly available from the content and
data management systems content services provider 636 brokers the content services request to a contentenrichment services provider 658 according to the configuration of the system. Each of the availablecontent services providers 658 in turn brokers the request to be fulfilled by specificexternal content services 694 through their respective application program interfaces 684. Examples of such enrichments services are requests to annotate a content object; to produce a zipfile containing one or more content objects; to print a content object; and to render the content object to another format—for example, to an archival format such as Adobe Acrobat PDF or to an image format such as TIFF. - Business content models are also used to configure a set of workflow services for the content that is associated in a virtual folder.
FIG. 6 shows aworkflow engine 642 that can be accessed through anapplication program interface 632 under the security model provided by common authenticationframework ticket service 620. Theworkflow engine 642 facilitates the flow of content across the department processes within an organization. The flow is defined as a series of process steps configured in a workflow template or map that is created using a workflow design tool and stored in theworkflow storage 664 ofFIG. 6 . A process step may be directed through configuration to notify an individual user who may optionally be required to perform an activity before sending the workflow to the next step in the workflow process template or map. A process step may be directed to automatically perform a content service, such as those implemented through thecontent services provider 636. A process step may be directed to another process, such as a business process of another department that is implemented in asoftware application - In another embodiment, the initial process step of a workflow template or map can be activated by an event that is configured in a business content model or directly, via
application program interface 632. Optionally, the initial process step may be configured to accept content and/or metadata additional to the content, such as metadata required to activate the new business process that is being initiated as modeled in the workflow template or map. - Optionally, a process step may be configured to notify
users - The
workflow engine 642 ofFIG. 6 provides a highly configurable process management sub-system, providing event subscription, event notification, and routing rules. Thereby, theECM Flow Manager 660 can connect otherwise disconnected processes, based on business content models and workflow templates and maps. - Optionally, based on configuration by the administrators of the system, the events that flow through the
ECM Flow Manager 660 are recorded by the eventauditing service provider 640 and stored in theaudit record storage 662. For each event, the record includes all or substantially all of the information necessary, configured, or desired to identify the event, theuser process reporting service provider 640 viaapplication program interface 630 and under the security model provided by common authenticationframework ticket service 620 which ensures thatusers - Optionally, the operations performed by
individual users optimization agent 304 installed onclient 300. Theoptimization agent 304 records the operations performed byuser auditing service provider 640 through its respectiveapplication program interface 630 and, thereby, creating records inaudit record storage 662. Subsequently, the monitoring records may be analyzed to detect process inefficiencies either in the operation of certain individuals or by all individuals having the same role in a process. The operations management can act on this information to provide additional training to the individuals who are using the system inefficiently, or redesign the associated processes. - As discussed above and as schematically depicted in
FIG. 7 andFIG. 8 , the Document Connect Engine accesses business content through configuration in abusiness content model virtual folder node 810 within avirtual folder model 800. Thebusiness content model 820 may specify access to content through a specifictechnical interface 822 that is provided by the external data or content management system that has been optimized to return a list or net of content objects based on input parameters provided when invoking thetechnical interface 822. Alternatively, some data or content management systems will provide a generalized search query interface that can be used to return a list of content objects based on query expressions, which may include structured metadata fields or full-text content term or a combination of structured fields and full-text terms using Boolean operators. - Optionally, an embodiment may include a
search engine 697 accessed throughservice provider interface 696.Search engine 697 may be configured to extract data and content from one or more externaldata management system 692 using their respective service provider interfaces 682 and from one or more externalcontent management systems 690 using their respective service provider interfaces 680. Data and content extracted from said systems can be indexed insearch index 698 in order to optimize the query expressions passed intosearch engine 697 throughservice provider interface 696. Optionally, if adata management system 692 or acontent management system 690 provides a native search service,search engine 697 may federate the query expression by passing all or part of the query expression to said native search services through their respective service provider interfaces 680 or 682. Said query federation may take place in addition to or as another mechanism for using thesearch index 698. - An advantage of using
search engine 697 is thatsearch engine 697 may support query expressions that rely on features that are not provided by native service provider interfaces 680 or 682 of data andcontent management systems Search engine 697 may store said key terms or concepts insearch index 698 for the benefit of building concept-based views or facets that are associated with the content objects in the result list returned from executing a query expression. The concept-based views or facets may then be presented touser virtual folder node 810 to further enhance the usability of the search results in the context of the business scenario and role within the departmental process modeled invirtual folder model 800. -
Search engine 697 returns search results throughservice provider interface 696 under the security model provided by common authenticationframework ticket service 620, wherein the search results may be a simple results list or a results list that is enhanced by the additional features such as concept-based views or facets that are available insearch engine 697. Optionally, the results list may be constrained using the credentials provided by common authenticationframework ticket service 620 according to the access permissions of the user performing the search. For search queries on content indexed insearch index 698, the permissions model of the originaldata management system 692 orcontent management system 690 is incorporated into the query processing method ofsearch engine 697. For search queries federated to native search service, the authenticationframework ticket service 620 optionally brokers access using the user credential for the native search service. - An embodiment proposes business content models and virtual folder models registered in
model repository manager 648. These models are maintained in a model repository 652 in a structure and format that enables the systems and methods disclosed herein to efficiently use them. Methods are provided for external consumer systems to discover the model that is appropriate to the business process and to the role of the individual user; for delivering one or more representations of a model to the consumer in one or more formats that are recognized by the consumer; for ingesting models in one or more formats from external applications that are used to design and maintain such models; and for exporting models in one or more formats. The ECM Flow Manager system will also include design-time procedures and service provider interfaces that enable business analysts and system administrators to configure and maintain business content models as appropriate for the various types of content that are exposed to consumer applications. -
FIG. 7 schematically depicts an exemplarybusiness content model 700.Business content model 700 models a business content object, which is the basic building block of the ECM Flow Manager system. Business content objects are a set of entities that are generally accepted in the business world. Examples include: “contract”, “invoice”, “case binder”, or other semi-structured data adapted or directed to a business processes. Thebusiness content model 700 for a business content object defines the common characteristics, or attributes, of the content items in the object class. Thebusiness content model 700 also defines the common behavior of, or content services and actions that can be performed on, the content items in the object class. - Each
business content model 700 includes attributes defining the common characteristics of the object class. Exemplary characteristics include content type attributes 710,containment properties 720,system properties 730,object properties 740,native content services 750,transformational content services 755, and enrichment content services 760. - Content type attributes 710 refer to characteristics configured to identify and process instances of the content objects modeled by the
business content model 700. Examples of content type attributes include, but are not limited to, the display name of the content object type (e.g., “Folder”, “Document”, “Case”), description of the content object type, and audit level of the content object. Optionally, a content type attribute may be available in multiple languages. -
Containment properties 720 refer to content object types that can contain content type objects as, for example, a “folder” or a “compound document”. Containment properties may include, but not be limited to, rules for what content object types may be contained and if the objects are ordered. -
System properties 730 refer to properties derived from the system from which the content object is obtained and will, therefore, vary according to the native system and the content type. Examples of system properties include display name, creation date, modification date, unique identifier, and format. Optionally, a system property may be available in multiple languages. -
Object properties 740 refer to attributes of the objects that may vary with individual object instances as well as with the object type. Object properties may be simple attributes, such as a classification value. In some content management systems, object properties may be arbitrarily complex, multi-level, multi-value, language varying attributes grouped into multi-level, multi-value sets. In some embodiments, a mechanism may be provided to map, display, and even update one or more object properties. In other embodiments, the system will defer activity related to displaying and maintaining object attributes to interfaces of the original data or content management systems. -
Content services -
Native content services 750 refer to those actions that are generally performed within the context of the data management system or content management system in which the object resides. Some native content services may be generic, such that it is common to all objects—such as “open” or “get properties”. Other content services may be custom to the object and/or originating system. -
Transformational content services 755 refer to actions that are performed on a content object such that the object is transformed from the state or condition that it existed in the underlying data or content management system in which it resided prior to the action. An example of a transformational action is “archive” whereby the native content object is moved to another content management system and replaced in the native system with a “stub” that directs future references to the archived object. Another example of a transformational action is “declare a record” whereby the native content object may be moved or otherwise protected from modification and deletion according to the native content system so that it can be managed under a file plan and retention policy implemented by a records management system. -
Enrichment content services 760 refer to actions that are performed on a content object that leave the native object intact, but that enrich the content through an operation performed in an independent system. An example of an enrichment content service is “rendition”, which may render the native content object into another format such as TIFF, or Adobe® Acrobat PDF and store the rendition in the native system or in another repository. Another example of an enrichment content service is “annotate”, which may store a note in association with the content object in the native system or in another repository. In the preferred embodiment, the ECM Flow Manager will be configured with one or moreexternal content services 694, which may include one or more data and document management systems, for the implementation of the set of available enrichment content services. The enrichment content services will be brokered by a contentenrichment services provider 658 that will access theexternal content services 694 through their respective service provider interfaces 684. - A business content model is referenced in one or more virtual folder models, which is schematically depicted in
FIG. 8 . As shown inFIG. 8 , avirtual folder model 800 models a hierarchy ofvirtual folder nodes FIG. 8 depicts an exemplaryvirtual folder node 810. Folder attributes 812 identify and describevirtual folder node 810—for example, by providing a folder name and description with provision for localizing those strings in several languages.Virtual folder node 810 includes a businesscontent model reference 820 which models the content objects that are virtually organized within thevirtual folder node 810. Thebusiness content model 820 is mapped to atechnical interface 822 that specifies how to obtain the content objects from the underlying data or content management system. Thetechnical interface 822 will identify the specific underlying data or content management system, the programmatic interface methods, and the input parameters required to connect to the underlying system with appropriate access credentials. In the preferred embodiment, the definition of system connection information will be maintained a structure designed for that purpose, since any given system may be referenced within many virtual folder nodes. - The
technical interface 822 will also identify the programmatic interface that is used to retrieve instances of the business content objects from the designated system. The type of the programmatic interface will depend on the specific requirements of the underlying system. For example, the programmatic interface may specify a remote function call (RFC), or a web service, or an HTTP request. Therefore, the preferred embodiment will provide for each defined system type the availability of programmatic methods. Referring toFIG. 6 , this relationship will be determined by the set ofdata adapters 668 andcontent adapters 666 that are configured forDocument Connect engine 664, since theDocument Connect engine 664 will be interpreting thetechnical interface 822 parameters when thevirtual folder model 800 is instantiated for a consumer application. - The specification of
technical interface 822 will determine the set of metadata available for the businesscontent model reference 820. The metadata for thistechnical interface 822 may be mapped to thebusiness content model 820 throughmetadata harmonization rules 824 so that the business content objects that are retrieved throughtechnical interface 822 are appropriate to the context of thevirtual folder node 810. For example, thebusiness content model 820 may reference an attribute for “customer” and thetechnical interface 822 may specific a parameter for “customer”, however thebusiness content model 820 may expect a “customer” to be an alphanumeric string while thetechnical interface 822 may expect a “customer” to be a numeric identifier specific to the underlying data or content management system. Referring toFIG. 6 , these metadata harmonizationrules 824 will be interpreted by themetadata harmonization engine 646 through the associatedapplication program interface 634.Metadata harmonization engine 646 relies on connections to each of the underlyingdata management system 692 andcontent management system 690 and persistent storage of metadata mapping relationships inmetadata storage 670. - Optionally, the
business content model 820 may define a query expression to be executed on asearch engine 697 accessed throughservice provider interface 696. The content objects returned by executing the query may have a diverse set of metadata elements that may be structured properties, such as classifications and attribute properties associated with the individual content objects in the result set; or that may be structured properties within the content of the object, such as form fields; or that may be unstructured properties, such as key concepts or terms derived from or text-mined from document contents. In an embodiment, thevirtual folder node 810 may specify a dynamic view that is constructed on-the-fly and based on an analysis of the clusters or facets of said structured classifications and attributes and unstructured key concepts within the set of content objects returned by the search engine. -
FIG. 10A shows an illustrative example of ataxonomy 1000 that might be used by an enterprise to organize sales documents. In this example, sales documents are to be organized according to a hierarchical classification with values for company, sales organization, and customer.FIG. 10B shows an illustrative example of aphysical folder structure 1010 that has been organized to allow the user to navigate to the documents according totaxonomy 1000 of company, sales organization, and customer. However, the user may want to consider other characteristics such as sales representative and product when looking for sales documents. Those of ordinary skill in the art will understand that the disclosed systems and methods are not limited to the example and can implement a taxonomy based on features different than and/or additional to those described in the example. -
FIG. 10C andFIG. 10D showvirtual folder views - If desired, a set of facets could be configured to provide multi-dimensional navigation, wherein each facet characterizes a value space along independent axes or dimensions.
FIG. 11A shows an illustrative example of three facets that are provided to enable a user to find the sales documents according totaxonomy 1000 and the additional characteristics of sales representative and product.Facet 1102 displays a list of available company units with provision for the user to select one or more company units,facet 1104 displays a list of available Sales Representatives, andfacet 1106 displays a list of available products. Each of the items listed in a facet may be selected to instruct the system to include the sales documents that are classified according to the characteristic selected, or, in the case offacet 1102, the sales documents that are classified under the selected level of the taxonomy represented byfacet 1102. - In an embodiment, when an element in a hierarchical taxonomy is selected, the system automatically expands the element to display and allow the user to select subsidiary elements.
FIG. 11B shows an illustrative example infacet 1112. When the user selects a company, the system expands the display infacet 1112 to show the sales organizations within the company. When the user selects a sales organization, the system expands the display infacet 1112 to display the customers within the sales organization. - In an embodiment, the system may automatically de-select in a second facet, those characteristics that are not associated with any of the content objects that have already been selected by the choices made in a first facet. In the example shown in
FIG. 11B , the selection of customer Alpha Enterprises, infacet 1112, and sales representative Abe Abraham, infacet 1114, would de-select those widgets infacet 1116 that do not appear on any sales document for which Abe Abraham was the sales representative. Optionally, the de-selected items may be removed from the display. - Optionally, the system may display the number of content objects that are currently selected according to the criteria entered by the user in the available facets. The system may display the total number of content objects and, optionally, the number of content objects associated with each element displayed in a facet. Some embodiments may simply display the list of content objects (all objects or the first “n” objects) while other embodiments may display a button which enables the user to request a list of the content objects. In some embodiments, the facets may be presented to the user in the primary display region with the content objects. In other embodiments, the facets may be presented to the user in a secondary display region while the content objects are displayed in the primary display region.
- Therefore, facets allow a user to navigate to content objects using any or all of the available facets in an interactive manner.
- The configuration of
virtual folder node 810 may also specifyfilter rules 816 that are applied to the selection of business content objects retrieved throughtechnical interface 822. Filter rules 816 may be statically defined, so that they may be applied consistently to filter the retrieved content objects based on key fields mapped to content attributes 710, 730, or 740. If desired, filter rules 816 may be passed downward through any hierarchy and applied on each instance of the activation of thevirtual folder model 800, so that the retrieved content objects are constrained to the context defined by the parent nodes in the hierarchy. In the case ofvirtual folder nodes virtual folder nodes folder node 810 is selected, and the user-provided values be used to constrain the selection of the content objects retrieved throughtechnical interface 822. As the user navigates deeper and deeper, the selection becomes more and more restrictive until a leaf node is reached. A leaf node defines a business content object, which is a unique record in a data management or content management system. - Optionally, the filter rules 810 may also be applied to facet based navigation to constrain the selection of content objects in a similar manner.
FIG. 12 is an illustrative example showing howfilters 1210 may be used to restrict the retrieval of content objects associated with the selections made infacets - Regardless of the path used to navigate to the content object, the user can interact with the system disclosed herein through a user interface constructed from the virtual folder model and the instantiated content objects that result from the query and applied filtering. The
business content model 700 provide for the definition of a set ofcontent services content model 820 of thevirtual folder node 810. The content services may be presented to the user in one or more user interface paradigms—including toolbar buttons, context menu options, and hyperlinks. Since almost all of the behavior presented to the user is associated with these content services or actions, there is no limit on what an action may do. Generally, there are at least three different classes of content services—Native content services 750,Transformational content services 755, and Enrichment content services 760. -
Native content services 750, are services that are supported by the underlying data or content management system in which the object resides. -
Transformational content services 755 operate on the content outside of the underlying data or content management system in which the content resides. The result of aTransformational content service 755 may be to return the modified content to the residing system, or it may be to replaced the content of the underlying system with the modified content residing in a different system that has been configured for that purpose—for example, when the native system does not allow modifications. An example of atransformational content service 755 is archiving, where a content object may be moved from the native system to an archival content management system and the content object in the native system replaced with a proxy or stub or otherwise marked in such a manner that the user can see that the content has been archived. Optionally, a content service or action on the archived content object will enable the user to retrieve the content from the archival content management system. Another example of atransformational content service 755 is declare record and/or mark official whereby one or more classifications are applied to the native content object and maintained in a records management application. Access to the native content object is thereafter under the control of the records management application which may reduce the permissions of users to the native content object so that disposition of the content object may be under the control of the records management application rather than any casual business user. - Finally,
enrichment content services 760 operate on content outside of the underlying data or content management system to produce an additional content object that may be maintained in the native system or, if that is not practical, in an external content management system. An example of anenrichment content service 760 is “rendition”, whereby a content object is produced in an alternative format, such as Adobe Acrobat PDF/A or TIFF image format. Optionally, the content services for the content object are enhanced to include a content service or action that enables the user to retrieve the rendition format rather than the native format. - Optionally, the content services may be role-based, such that different users may be granted access to different content services or actions based on the role in which they are registered to the system.
- In some embodiments,
folder events 814 may be defined forvirtual folder node 810.Folder events 814 may, for example, allow consumer processes to register to be notified when events occur with respect to instances ofvirtual folder node 810 and the associated content items. Examples offolder events 814 are events such as “open”, “create”, “modify”, and “add item”. In some embodiments,folder events 814 may also provide for the local expression ofglobal workflow events 770 with respect to the content item instances of businesscontent object reference 820. For example, businesscontent model reference 820 referencesbusiness content model 700 which models a set ofglobal workflow events 770 that defines events for “create” 772 and “modify” 774. Thefolder events 814 may restrict the registration of the “create” 772 event so that it is not available for subscription by consumer applications that use thevirtual folder model 800 in whichbusiness content model 700 is used. If desired, thefolder events 814 may specify that when the “create” 772 event occurs for item instances ofcontent model 700, a “create” 772 workflow process is initiated in associatedworkflow engine 642 and/or the “create” 774 event is reported to event auditing/reporting service provider 640 for recording inaudit record storage 662. When the workflow process registered inworkflow engine 642 and associated with “create” 772 event is initiated; the workflow process receives information identifying the item instance ofbusiness content model 700; the virtual folder instance ofvirtual folder node 810; the consumer application process, user, and user role associated withvirtual folder model 800; and additional metadata attributes associated with the creation of items in an instance ofvirtual folder node 810. Similarly, the audit event reported to event auditing/reporting service provider 640 may identify the “create” 772 event; the item instance ofbusiness content model 700; the virtual folder instance ofvirtual folder node 810; the consumer application process, user, and user role associated withvirtual folder model 800; and additional metadata attributes associated with the creation of items in an instance ofvirtual folder node 810. - In another embodiment, a workflow process may be triggered or initiated by events that are not associated with a virtual folder model or a business content model. Such workflow processes are initiated by connecting directly to
workflow engine 642 through the associatedapplication program interface 632 and identifying the workflow process to be initiated; the consumer application process, user, and user role associated with event; and additional metadata attributes associated with the workflow process. - Initiation of a workflow process can indicate that a process definition be instantiated in
workflow engine 642 which controls the enactment of the steps in the process definition. A process step may be defined to execute entirely within the confines of theworkflow engine 642 or the process step may be defined to interact with users and applications external to theworkflow engine 642. In order to support the flow of content through an organization and its departmental business processes, the ECM Flow Manager provides a plurality of interaction methods. Examples of message-based notification of external users through a variety of means, including email, SMS text message, voicemail, and pager. Another embodiment provides subscription based notification, whereby an external application can register to receive notifications for a class of workflow events through a standardized application program interface—for example, based on Really Simple Syndication (RSS) feeds. In another embodiment, notification is implemented through a universal work list, which is a form of “in-box” in which any system or application can register an event or alert, so that the user, group, role, or application process that owns the “in-box” has a central queue or list from which to receive events and instructions for a step that is to be performed. - In another embodiment, a workflow step that generates an event may trigger a workflow step in another workflow process, either defined in the
workflow engine 642 or in a process defined to be executed in an external workflow engine. In this manner, workflow definitions can be chained together, effectively becoming sub-workflow processes of an overarching process definition. The interchange of workflow process definition may be implemented using a standardized workflow definition language, such as the XML process definition language published by the workflow management coalition. - In another embodiment, a process orchestration definition language may be used to define the types of interactions that are discussed above. An example of such a standard is Business Process Execution Language (BPEL), which is based on XML and web services.
- As defined in the preceding paragraphs, the systems, methods, and apparatuses disclosed herein relies on models to drive the flow of content across departmental business processes. These models can be represented using any model specification language, such as XML, in order to interchange a model definition between components. In some embodiments, it may be sufficient to reference a model in an unambiguous manner rather than copy the entire model specification between applications.
- In the preferred embodiment, a
model repository manager 648 provides aservice interface 624 for publishing services that enable applications to discover the models that are registered in the model storage 652 for the system. Themodel repository manager 648 also providesservice interfaces 624 for registering and unregistering models in model storage 652.Model repository manager 648service interfaces 624 are discovered by consumer applications through a service discovery protocol, which may be based on standards for similar repository services, such as UDDI, Universal Plug-and-Play (UPnP), Jini, or Service Location Protocol (SLP). - In an embodiment, applications that consume the services and models may be composite applications that are assembled by loosely coupling user-interface parts that cooperate through events and business context within an application framework. The composition may take place on the client, on a web server, or through a portal. Examples include Microsoft .NET, Microsoft Office SharePoint web parts, Microsoft Information Bridge Framework (IBF), Microsoft Visual Basic for Office Business Applications (VB/OBA), Microsoft Line of Business Interoperability (LOBi) for Microsoft Office SharePoint Server (MOSS), SAP NetWeaver Portal iViews, SAP WebDynpro, SAP NetWeaver Composite Application Framework, Oracle Portal, and Web 2.0 mash-ups using asynchronous Javascript and XML (AJAX).
-
FIG. 9 schematically depicts an exemplaryapplication development framework 900 that supports software application development onclients 910 through a plurality of integrated development environments (IDE) 912. In some embodiments,IDE 912 may integrate directly with a design-time environment 920 that provides services to support model-driven development. In other embodiments,IDE 912 may require an IDE plug-in 914 to integrate with the services provided by design-time environment 920. - As shown in
FIG. 9 , the exemplary design-time environment 920 provides one or more modeler services. In an embodiment, design-time environment 920 providesprocess modeler 928. Process-modeler 928 communicates withIDE 912 throughservice provider interface 929 to support the development and integration of process models implemented as described herein. The development of a processmodel using modeler 928 may include workflow process template design tools such as a graphical workflow designer. A workflow process template designed usingmodeler 928 may be stored inmodel storage 936 throughmodel repository manager 934 so that it may be effectively shared during design; and subsequently discovered, consumed, and initiated during run-time execution of applications; and referenced during the event processing of instances of the workflow template. - In another embodiment, a
content modeler 924 is provided by design-time environment 920.Content modeler 924 communicates withIDE 912 throughservice provider interface 925 to support the development and integration ofcontent models 700.Content modeler 924 uses design-time services provided byDocument Connect 940 which, in turn, usesdata adapters 944 andcontent adapters 946 to access respectivedata management systems 960 andcontent management systems 950 through their respective service provider interfaces 962 and 952. Acontent model 700 designed usingcontent modeler 924 may be stored inmodel storage 936 throughmodel repository manager 934 so that it may be effectively shared during design; and subsequently discovered and consumed during run-time execution of applications; and referenced during the event processing of instances ofcontent model 700. -
Content modeler 924 also supports the modeling ofcontent services Content modeler 924 uses design-time services provided byDocument Connect 940 which, in turn, uses content service provider interfaces 943 to discover and extend the native content services available for any givendata management system 960 orcontent management system 950 through their respective service provider interfaces 962 and 952. In order to supporttransformational content services 755 andenrichment content services 760, content modeler also allows custom code to be invoked during action execution. Simultaneously, however, we may want to minimize the amount of custom code that is written to support at least some data or content management system, and the requirements imposed on any such code by the user interface framework. - To manage this,
content modeler 924 provides: -
- A simple custom action Service Provider Interface (SPI) that allows custom action code to be executed on the client;
- A parameterization mechanism that allows custom action code to be reused in many different contexts; and
- A variety of generic content service types that can be used for many actions without custom coding. These are sufficient for many, but not all purposes. Implementations of new data and content management systems or solutions can be prototyped using generic content services, which may then be replaced with custom coded content services individually or in groups.
- On the client side, content services are handled by application component objects that implement the action handler interface.
- In another embodiment, a
virtual folder modeler 926 is provided by design-time environment 920.Virtual folder modeler 926 communicates withIDE 912 throughservice provider interface 927 to support the development and integration ofvirtual folder models 800.Virtual folder modeler 926 uses design-time services provided byDocument Connect 940 which, in turn, usesdata adapters 944 andcontent adapters 946 to access respectivedata management systems 960 andcontent management systems 950 through their respective service provider interfaces 962 and 952. Avirtual folder model 800 designed usingvirtual folder modeler 926 may be stored inmodel storage 936 throughmodel repository manager 934 so that it may be effectively shared during design; and subsequently discovered and consumed during run-time execution of applications; and referenced during the event processing of instances ofvirtual folder model 800. - In another embodiment, a
UI modeler 922 is provided by design-time environment 920.UI modeler 922 communicates withIDE 912 throughservice provider interface 923 to support the development and integration of User Interface models. UI models are used to rendervirtual folder models 800 for display within applications. The rendering ofvirtual folder models 800 is by necessity specific to the application development framework in which the model is to be displayed. A UI model designed usingUI modeler 922 may be stored inmodel storage 936 throughmodel repository manager 934 so that it may be effectively shared during design; and subsequently discovered, consumed, and used for rendering ofvirtual folder model 800 during run-time execution of applications. Thereby, applications developed using the same application development framework may share the same UI model for a givenvirtual folder model 800.UI modeler 922 also enables application developers to relate UI models for different application development frameworks to further encourage consistency across applications regardless of the development framework under which they were developed. - In this manner, the flow of content from department to department, and from application to application, can be enabled with reduced application development effort while achieving a consistent look and feel across otherwise disconnected applications. Furthermore, changes to the taxonomy used by one or more departments, and changes to the types and structure of the content used by one or more departments, are automatically available to all business processes that are automated using the methods, apparatus, or systems described herein, thereby reducing cost and accelerating value delivered to the organization.
- The technology disclosed herein may enable flow of content across departmental business process in spite of the tendency to implement content management solutions in a fragmented manner. The technology may provide the software tools consistent with the type, state, or level of current development frameworks. The technology may be directed to simplifying the user interface paradigms for enterprise applications wherein a user, acting within a role, interacts with data and content from across the organization.
-
FIGS. 13 a and 13 b depict two exemplary business productivity applications accessible fromclient computers computer 1300 is performing Customer Service activities automated with Customer ServiceAutomation Application Software 1301, which hasstandard components 1302 designed by the vendor of said application software. The user ofcomputer 1310 is performing Sales activities automated with Sales ForceAutomation Application Software 1311, which hasstandard components 1312 designed by the (different) vendor of said application software. - Using the
design time environment 920 of theFIG. 9 , each of these business productivity applications can be extended to include access to related content from various sources and stored in various repositories. The designer ofproductivity application # 1 has embedded auser interface component 1304 that renders for display a UI model designed usingUI Modeler 920 which renders for display a Customer Service-orientedvirtual folder model 1306 that was modeled usingVirtual Folder Modeler 926. The Customer Service-orientedvirtual folder model 1306 has been designed to reference several content models designed usingContent Modeler 924, including theOrders content model 1308, which renders for display the orders belonging to a selected customer. - The designer of
productivity application # 2 has embedded auser interface component 1314 that renders for display a UI model designed usingUI Modeler 920 which renders for display a Sales-orientedvirtual folder model 1316 that was modeled usingVirtual Folder Modeler 926. The Sales-orientedvirtual folder model 1316 has been designed to reference several content models designed usingContent Modeler 924, including theOrders content model 1320, which renders for display the orders belonging to a selected customer. Because thevirtual folder modeler 920 andContent Modeler 924 are model-driven, both of these Virtual Folder models were designed by consuming a common Orders content model (1308 and 1320) that is shared between the Customer Service-orientedvirtual folder model 1306 and the Sales-orientedvirtual folder model 1316. - Another benefit is that virtual folder models can also be shared among UI components. For example, the Customer
virtual folder model 1306 that was developed for the Customer Service-orientedUI component 1304 can be reused in the Sales-orientedvirtual folder model 1314 so that the Customersvirtual folder 1320 shares the same content and behavior between the two applications. - Because the
components ECM Flow Manager 600 system through a services oriented interface any changes made to theunderlying content models virtual folder models productivity applications UI components -
FIG. 14 a shows that the component rendered in theproductivity application 1411 may includecontrols 1420 1416 1418 providing access to the actions available to the user at any node as configured in the content model or the virtual folder model. The actions may be presented to the user in adropdown menu 1440 as by clicking on thecontrol 1420 displayed next to the node. If desired, the actions may be presented to the user in amenu 1416 outside the folder display as at the top of the component. A further embodiment is to present the actions (or selected actions as configured for the component) asbuttons 1418 outside the folder display. -
FIG. 14 b is an exemplary drop downmenu 1440 listing theactions 1442 available to the user for a particular content object. Some of these actions may be native to the content management system in which the content object resides. Other of the actions may enhance or transform the object as described above. An embodiment may also present actions in asub-menu 1446 activated by selecting one of themenu options 1448. Such a menu may be dynamically generated as in our pending application Ser. No. 11/145,480, incorporated herein by reference in its entirety. -
FIG. 15 is an embodiment of areport 1500 that uses the audit history for a content object, in this example, a contract document or binder, showing how that content object “flows” (i.e., a map flow) through an organization and/or the business process of the organization. It depicts the timeline fromobject creation 1506 to scheduleddestruction 1518 with icons showing each event in the audit history within “swimlanes” for each specific productivity application. In this example there are five productivity applications: “Sales Force Automation”, “Contract Lifecycle Management”, “Sales Order Administration”, “Shipping”, and “Customer Interaction Center”. In this embodiment, actions such as “Create”, “Update”, “Read”, “Delete” are insubdivisions 1502 of the swimlane, but they could be shown in another manner such as by different icons. In this embodiment, the details for an event can be displayed by clicking or hovering over anicon 1512—as for example here where thedetails 1514 include the user, the date and time, certain “analytics” such as number of clicks and the duration of the event, and certain actions that were performed such as “Print” and “Send To”. Of course, this is just an example and other actions could be shown and the results could be obtained in a visual display (as shown) or in report format suitable for printing. In one embodiment, the analysis is presented in a visual format other than swimlanes. For example, the analysis could be in report format, or through a 3-d visualization tool; etc. - Further analysis could be performed by comparing the sequence of events for this content object with other content objects and/or with other performers in the same role to identify patterns that could be used to identify ways in which each productivity application or the overall process might be modified to enhance efficiency.
- As used herein, the term interactive refers to information that is displayable and controllable within a user interface. As used herein, the term “content” refers to unstructured or semi-structured data that is mappable onto a metadata defining the content. Content may come from various sources and formats—e.g., RSS feeds, Blogs, Wikis, web pages, twitter postings, video, photo, etc. In one embodiment, the content comprises documents. If desired, content may be more complex than “document” in the traditional sense—e.g., a contract with exhibits and attachments, renditions with signatures, etc. In other embodiment, content may also be less complex than a traditional document—e.g., social networking content such as a blog comment.
- The models that are referred to herein are generally independent of a presentation framework. In one embodiment, the models are an abstract representation of the content and the relationship of the content in a virtual folder paradigm that can be rendered in various ways as appropriate, desired, or necessary to allow the user to access the content and actions within a productivity application of arbitrary design and construction. The models may be rendered within a component that understands the technical details of how to render the data produced for an instance of the model within the application interface. The application interface may be designed and built using an application development tool—therefore, there needs to be a component for each such tool that can interpret the models and use the facilities of the application development environment to produce the best visual representation of the data and the best and most usable representation of the actions (i.e., as controls in the interface).
- In one embodiment, metadata of the model and the content may be gathered from or based on a plurality of sources. For example, in the contract case, there may be emails about the contract; instant messages about the contract; someone may use a wiki to author the contract; someone may have a blog about the contract; there may be an RSS feed to notify people about changes to the contract draft during review; etc. All of these pieces of “meta content” could similarly be related to the contract and represented in one or more additional swimlanes in the
FIG. 15 embodiment or in reports about the content. If desired, the timeline of any “document” may be reconstructed based on the activities performed by individuals within applications that create and consume content. If desired metadata may be generated or determined from non-traditional application frameworks—e.g., embedded in an email client so that someone can relate an email to the business context of another piece of content (e.g., to our contract); embedded in a web-based social networking system so that a blog or wiki can be used to relate content to the business context; and so forth. - “Customizing and Administration Guide for Livelink DocuLink for SAP Solutions”, IXOS Software AG 2006 describes configuration of a virtual folder view of content using the customizing tool for SAPGUI and DocuLink. It addresses the mapping of key fields in order to produce the view and it also includes information on how to map to external data. However, the technology described therein have several shortcomings.
- In one embodiment, the methods, systems, and apparatuses described herein provides having a place for storing abstract models for the content and the views; adding a level for UI model to reduce the effort on the part of the application designer who wants a consistent user interface between a plurality of productivity applications developed using different development frameworks; and providing for actions and events to be modeled in the content and view so that they can appear in the user interfaces and make the content actionable.
- In other embodiments, the flow manager configured to provide content as describe herein may be configured to deny access to content, wherein a response to a request for the content is a denial response that limits access to the content based on, for example, an authentication ticket of the user. In one embodiment, the system may deny access based on rules rather than granting access based on permission lists. An example of an application for such denial is in law firms where you want to prevent conflicts of interest by explicitly listing the individuals who must not have access to content, as well as listing those individuals (or groups, or roles) who may have access to content. The system computes the individuals who may have access and eliminates those individuals who are explicitly listed to deny access.
- Based on the foregoing, illustrative embodiments have been described to provide an overall understanding of the systems and methods for managing enterprise content. One or more examples of the illustrative embodiments are shown in the drawings. The disclosed systems and methods can be adapted and modified to provide systems and methods for other applications, and that other additions and modifications can be made to the disclosed systems and methods without departing from the scope of the present disclosure. For example, features of the illustrative embodiments can be combined, separated, interchanged, and/or re-arranged to generate other embodiments. Such modifications and variations are intended to be included within the scope of the present disclosure.
- The systems and methods described herein are not limited to a hardware or software configuration; they can find applicability in many computing or processing environments. The systems and methods can be implemented in hardware or software, or in a combination of hardware and software. The systems and methods can be implemented in one or more computer-readable storage medium (including computer programs), in which a medium/computer program can be understood to include one or more processor-executable instructions. The computer programs can execute on one or more programmable processors, and can be stored on one or more storage media readable by the processor, comprising volatile and non-volatile memory and/or storage elements.
- The computer programs can be implemented in high level procedural or object oriented programming language to communicate with a computer system. The computer programs can also be implemented in assembly or machine language. The language can be compiled or interpreted.
- The computer programs can be stored on a storage medium or a device (e.g., compact disk (CD), digital video disk (DVD), magnetic tape or disk, internal hard drive, external hard drive, random access memory (RAM), redundant array of independent disks (RAID), or removable memory device) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the methods described herein.
- Unless otherwise provided, references herein to memory can include one or more processor-readable and -accessible memory elements and/or components that can be internal to a processor-controlled device, external to a processor-controlled device, and/or can be accessed via a wired or wireless network using one or more communications protocols, and, unless otherwise provided, can be arranged to include one or more external and/or one or more internal memory devices, where such memory can be contiguous and/or partitioned based on the application.
- Unless otherwise provided, references herein to a/the processor and a/the microprocessor can be understood to include one or more processors that can communicate in stand-alone and/or distributed environment(s) and can be configured to communicate via wired and/or wireless communications with one or more other processors, where such one or more processor can be configured to operate on one or more processor-controlled devices that can include similar or different devices. Use of such processor and microprocessor terminology can be understood to include a central processing unit, an arithmetic logic unit, an application-specific integrated circuit, and/or a task engine, with such examples provided for illustration and not limitation.
- Unless otherwise provided, use of the articles “a” or “an” herein to modify a noun can be understood to include one or more than one of the modified noun.
- While the systems and methods described herein have been shown and described with reference to the illustrated embodiments, those of ordinary skill in the art will recognize or be able to ascertain many equivalents to the embodiments described herein by using no more than routine experimentation. Such equivalents are encompassed by the scope of the present disclosure and the appended claims. Accordingly, the systems and methods described herein are not to be limited to the embodiments described herein, can include practices other than those described, and are to be interpreted as broadly as allowed under prevailing law.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/256,369 US20090254422A1 (en) | 2007-10-22 | 2008-10-22 | Method and system for managing enterprise content |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US98175907P | 2007-10-22 | 2007-10-22 | |
US12/256,369 US20090254422A1 (en) | 2007-10-22 | 2008-10-22 | Method and system for managing enterprise content |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090254422A1 true US20090254422A1 (en) | 2009-10-08 |
Family
ID=40580362
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/256,363 Abandoned US20090249446A1 (en) | 2007-10-22 | 2008-10-22 | Method and system for managing enterprise content |
US12/256,369 Abandoned US20090254422A1 (en) | 2007-10-22 | 2008-10-22 | Method and system for managing enterprise content |
US12/256,342 Active 2031-09-27 US8464206B2 (en) | 2007-10-22 | 2008-10-22 | Method and system for managing enterprise content |
US13/154,318 Active 2029-04-21 US8880461B2 (en) | 2007-10-22 | 2011-06-06 | Method and system for managing enterprise content |
US13/154,260 Abandoned US20110246444A1 (en) | 2007-10-22 | 2011-06-06 | Method and system for managing enterprise content |
US13/155,246 Abandoned US20110238650A1 (en) | 2007-10-22 | 2011-06-07 | Method and system for managing enterprise content |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/256,363 Abandoned US20090249446A1 (en) | 2007-10-22 | 2008-10-22 | Method and system for managing enterprise content |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/256,342 Active 2031-09-27 US8464206B2 (en) | 2007-10-22 | 2008-10-22 | Method and system for managing enterprise content |
US13/154,318 Active 2029-04-21 US8880461B2 (en) | 2007-10-22 | 2011-06-06 | Method and system for managing enterprise content |
US13/154,260 Abandoned US20110246444A1 (en) | 2007-10-22 | 2011-06-06 | Method and system for managing enterprise content |
US13/155,246 Abandoned US20110238650A1 (en) | 2007-10-22 | 2011-06-07 | Method and system for managing enterprise content |
Country Status (3)
Country | Link |
---|---|
US (6) | US20090249446A1 (en) |
EP (3) | EP2203877A4 (en) |
WO (1) | WO2009055465A2 (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064434A1 (en) * | 2004-09-21 | 2006-03-23 | International Business Machines Corporation | Case management system and method for collaborative project teaming |
US20090182610A1 (en) * | 2008-01-11 | 2009-07-16 | Oracle International Corporation | System and method for asset registration workflows utilizing an eventing infrastructure in a metadata repository |
US20090210408A1 (en) * | 2008-02-19 | 2009-08-20 | International Business Machines Corporation | Method and system for role based situation aware software |
US20090235167A1 (en) * | 2008-03-12 | 2009-09-17 | International Business Machines Corporation | Method and system for context aware collaborative tagging |
US20090249290A1 (en) * | 2007-10-22 | 2009-10-01 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20090327848A1 (en) * | 2000-08-29 | 2009-12-31 | David Glazer | Method, system, apparatus and content model for the creation, management, storage, and presentation of dynamic objects |
US20100191555A1 (en) * | 2009-01-29 | 2010-07-29 | Emil Shmul | Business service discovery |
US20100192072A1 (en) * | 2004-09-03 | 2010-07-29 | Open Text Corporation | Systems and methods of collaboration |
US20100241972A1 (en) * | 2004-09-03 | 2010-09-23 | Spataro Jared M | Systems and methods for collaboration |
US20110099231A1 (en) * | 2009-10-22 | 2011-04-28 | Sap Ag | System and Method of Controlling Access to Information in a Virtual Computing Environment |
US20110099608A1 (en) * | 2009-10-22 | 2011-04-28 | Sap Ag | System and Method of Controlling Access to Information in a Virtual Computing Environment |
US20110126088A1 (en) * | 2009-11-23 | 2011-05-26 | R-Squared Services and Solutions | Method and system for adding combination fields to sharepoint (tm) |
US20110125800A1 (en) * | 2009-11-20 | 2011-05-26 | International Business Machines Corporation | Service registry system and method for saving and restoring a faceted selection |
US20110191320A1 (en) * | 2010-02-02 | 2011-08-04 | Game Plan Technologies, Inc. | Digital asset management system |
US20120246115A1 (en) * | 2011-03-22 | 2012-09-27 | Oracle International Corporation | Folder structure and authorization mirroring from enterprise resource planning systems to document management systems |
US20140095231A1 (en) * | 2012-09-28 | 2014-04-03 | Tata Consultancy Services Limited | Guided analytics |
US20140101632A1 (en) * | 2008-07-14 | 2014-04-10 | Borland Software Corporation | Open application lifecycle management framework |
US20140289134A1 (en) * | 2010-06-25 | 2014-09-25 | Adobe Systems Incorporated | Method and system for managing content for an electronic collaboration tool |
US9116911B2 (en) | 2010-11-02 | 2015-08-25 | International Business Machines Corporation | Remote file sharing based on content filtering |
US20170024437A1 (en) * | 2015-07-21 | 2017-01-26 | Autodesk, Inc. | Platform for authoring, storing, and searching workflows |
US9762428B2 (en) | 2012-01-11 | 2017-09-12 | Bazaarvoice, Inc. | Identifying and assigning metrics to influential user generated content |
US10664509B1 (en) * | 2013-08-05 | 2020-05-26 | Google Llc | Processing non-uniform datasets |
US20220253773A1 (en) * | 2019-10-25 | 2022-08-11 | Julia Co., Ltd | Information management system, server, and user terminal |
Families Citing this family (206)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176004B2 (en) * | 2005-10-24 | 2012-05-08 | Capsilon Corporation | Systems and methods for intelligent paperless document management |
US8407669B2 (en) * | 2007-07-25 | 2013-03-26 | Oracle International Corporation | Device based software authorizations for software asset management |
US20090132406A1 (en) * | 2007-11-21 | 2009-05-21 | Paperless Office Solutions, Inc. D/B/A Docvelocity | System and method for paperless loan applications |
US8402425B2 (en) * | 2007-11-26 | 2013-03-19 | Infosys Technologies Limited | Framework for realization of web 2.0 features |
US20090144701A1 (en) * | 2007-11-30 | 2009-06-04 | Norman Lee Faus | Methods and systems for providing configuration data |
US8572043B2 (en) | 2007-12-20 | 2013-10-29 | International Business Machines Corporation | Method and system for storage of unstructured data for electronic discovery in external data stores |
US20090172696A1 (en) * | 2007-12-28 | 2009-07-02 | Meliksetian Dikran S | Service-based content management |
US8904031B2 (en) * | 2007-12-31 | 2014-12-02 | Genesys Telecommunications Laboratories, Inc. | Federated uptake throttling |
US8275720B2 (en) | 2008-06-12 | 2012-09-25 | International Business Machines Corporation | External scoping sources to determine affected people, systems, and classes of information in legal matters |
US9830563B2 (en) | 2008-06-27 | 2017-11-28 | International Business Machines Corporation | System and method for managing legal obligations for data |
US8327384B2 (en) | 2008-06-30 | 2012-12-04 | International Business Machines Corporation | Event driven disposition |
US8489439B2 (en) | 2008-06-30 | 2013-07-16 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US8484069B2 (en) | 2008-06-30 | 2013-07-09 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US8515924B2 (en) | 2008-06-30 | 2013-08-20 | International Business Machines Corporation | Method and apparatus for handling edge-cases of event-driven disposition |
US9684736B2 (en) | 2009-01-29 | 2017-06-20 | Oracle International Corporation | Communication handler for flex integration with a secure application |
US9659335B2 (en) | 2009-01-29 | 2017-05-23 | Oracle International Corporation | Sample management for a sales call |
US9760381B2 (en) * | 2009-01-30 | 2017-09-12 | Oracle International Corporation | Configurable toolbar |
US9436774B2 (en) * | 2009-02-03 | 2016-09-06 | Ims Health Incorporated | Dynamic linking in sharepoint (TM) |
US10152504B2 (en) | 2009-03-11 | 2018-12-11 | Actian Netherlands B.V. | Column-store database architecture utilizing positional delta tree update system and methods |
US9342814B2 (en) * | 2009-04-07 | 2016-05-17 | Clearslide, Inc. | Presentation access tracking system |
US9146784B2 (en) * | 2009-08-03 | 2015-09-29 | Oracle International Corporation | Invocation of web services based on a policy file including processes of a workflow associated with user roles |
US10229191B2 (en) | 2009-09-09 | 2019-03-12 | Varonis Systems Ltd. | Enterprise level data management |
US9904685B2 (en) * | 2009-09-09 | 2018-02-27 | Varonis Systems, Inc. | Enterprise level data management |
US9978024B2 (en) * | 2009-09-30 | 2018-05-22 | Teradata Us, Inc. | Workflow integration with Adobe™ Flex™ user interface |
US20110082687A1 (en) * | 2009-10-05 | 2011-04-07 | Marcelo Pham | Method and system for taking actions based on analysis of enterprise communication messages |
US20110087604A1 (en) * | 2009-10-09 | 2011-04-14 | Oracle International Corporation | Micro-blogging for enterprise resources planning (erp) |
US9582776B2 (en) * | 2009-10-09 | 2017-02-28 | Oracle International Corporation | Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions |
US8560575B2 (en) | 2009-11-12 | 2013-10-15 | Salesforce.Com, Inc. | Methods and apparatus for selecting updates to associated records to publish on an information feed in an on-demand database service environment |
US8478722B2 (en) | 2009-11-12 | 2013-07-02 | Salesforce.Com, Inc. | Enterprise level business information networking for changes in a database |
US8589439B2 (en) * | 2009-12-04 | 2013-11-19 | International Business Machines Corporation | Pattern-based and rule-based data archive manager |
US20110137872A1 (en) * | 2009-12-04 | 2011-06-09 | International Business Machines Corporation | Model-driven data archival system having automated components |
US20110137977A1 (en) * | 2009-12-07 | 2011-06-09 | Sap Ag | Method and system for generating rich client applications for administrators and translators |
US8655856B2 (en) * | 2009-12-22 | 2014-02-18 | International Business Machines Corporation | Method and apparatus for policy distribution |
US8250041B2 (en) * | 2009-12-22 | 2012-08-21 | International Business Machines Corporation | Method and apparatus for propagation of file plans from enterprise retention management applications to records management systems |
EP2354968A1 (en) * | 2009-12-30 | 2011-08-10 | Tim Frey | Hyperadapter and method for accessing documents in a document base |
US20110202384A1 (en) * | 2010-02-17 | 2011-08-18 | Rabstejnek Wayne S | Enterprise Rendering Platform |
US8930830B2 (en) | 2010-04-01 | 2015-01-06 | Business Objects Software Limited | Context-aware composites of functional modules |
US8793807B2 (en) * | 2010-04-02 | 2014-07-29 | International Business Machines Corporation | Controlling access to and manipulation of a data object by different data object users |
US8620724B2 (en) * | 2010-04-20 | 2013-12-31 | Accenture Global Services Limited | Integration framework for enterprise content management systems |
US8250113B2 (en) | 2010-04-30 | 2012-08-21 | International Business Machines Corporation | Web service discovery via data abstraction model |
US8275806B2 (en) | 2010-04-30 | 2012-09-25 | International Business Machines Corporation | Web service discovery via data abstraction model and condition creation |
US8583699B2 (en) | 2010-04-30 | 2013-11-12 | International Business Machines Corporation | Web service discovery via data abstraction model augmented by field relationship identification |
US8949280B2 (en) * | 2010-04-30 | 2015-02-03 | International Business Machines Corporation | Web service discovery via data abstraction model with input assistance |
US10296596B2 (en) | 2010-05-27 | 2019-05-21 | Varonis Systems, Inc. | Data tagging |
US8533787B2 (en) | 2011-05-12 | 2013-09-10 | Varonis Systems, Inc. | Automatic resource ownership assignment system and method |
CN108920502B (en) * | 2010-05-27 | 2021-11-23 | 瓦欧尼斯系统有限公司 | Data classification |
EP2577446A4 (en) | 2010-05-27 | 2014-04-02 | Varonis Systems Inc | Automation framework |
US9589253B2 (en) | 2010-06-15 | 2017-03-07 | Microsoft Technology Licensing, Llc | Workflow authoring environment and runtime |
US20110320954A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Related web feed correlation with dynamic content access |
US8832148B2 (en) | 2010-06-29 | 2014-09-09 | International Business Machines Corporation | Enterprise evidence repository |
US8566903B2 (en) | 2010-06-29 | 2013-10-22 | International Business Machines Corporation | Enterprise evidence repository providing access control to collected artifacts |
US8402359B1 (en) | 2010-06-30 | 2013-03-19 | International Business Machines Corporation | Method and apparatus for managing recent activity navigation in web applications |
US8719224B2 (en) * | 2010-07-30 | 2014-05-06 | Sap Ag | Common modeling of data access and provisioning for search, query, reporting and/or analytics |
US8533192B2 (en) | 2010-09-16 | 2013-09-10 | Alcatel Lucent | Content capture device and methods for automatically tagging content |
US8655881B2 (en) | 2010-09-16 | 2014-02-18 | Alcatel Lucent | Method and apparatus for automatically tagging content |
US8666978B2 (en) * | 2010-09-16 | 2014-03-04 | Alcatel Lucent | Method and apparatus for managing content tagging and tagged content |
US8732150B2 (en) | 2010-09-23 | 2014-05-20 | Salesforce.Com, Inc. | Methods and apparatus for suppressing network feed activities using an information feed in an on-demand database service environment |
US8560554B2 (en) | 2010-09-23 | 2013-10-15 | Salesforce.Com, Inc. | Methods and apparatus for selecting updates to associated records to publish on an information feed using importance weights in an on-demand database service environment |
US20120084325A1 (en) * | 2010-09-30 | 2012-04-05 | Teradata Us, Inc. | Master data management hierarchy merging |
US20120102153A1 (en) | 2010-10-25 | 2012-04-26 | Salesforce.Com, Inc. | Triggering actions in an information feed system |
US8687213B2 (en) | 2010-12-16 | 2014-04-01 | Hewlett-Packard Development Company, L.P. | Data filtering for print service providers |
US9881257B2 (en) * | 2010-12-29 | 2018-01-30 | Tickr, Inc. | Multi-dimensional visualization of temporal information |
US20120174016A1 (en) * | 2010-12-29 | 2012-07-05 | Stefan Biedenstein | Content separation for personalization of object instances |
US8886646B2 (en) | 2010-12-30 | 2014-11-11 | Sap Se | Field extensibility for analytical reports |
US9680839B2 (en) | 2011-01-27 | 2017-06-13 | Varonis Systems, Inc. | Access permissions management system and method |
WO2012101621A1 (en) | 2011-01-27 | 2012-08-02 | Varonis Systems, Inc. | Access permissions management system and method |
US8909673B2 (en) | 2011-01-27 | 2014-12-09 | Varonis Systems, Inc. | Access permissions management system and method |
WO2012102728A1 (en) | 2011-01-28 | 2012-08-02 | Hewlett-Packard Development Company, L.P. | Automated contract management |
US8707246B2 (en) * | 2011-01-30 | 2014-04-22 | Microsoft Corporation | Engineering project event-driven social networked collaboration |
KR101339800B1 (en) * | 2011-02-25 | 2013-12-10 | 성균관대학교산학협력단 | Apparatus and method for pss activity modeling |
US8433728B2 (en) * | 2011-03-14 | 2013-04-30 | Oracle International Corporation | System and method for creating and managing business objects |
US8364725B2 (en) * | 2011-03-24 | 2013-01-29 | International Business Machines Corporation | Bidirectional navigation between mapped model objects |
US9053184B2 (en) * | 2011-04-14 | 2015-06-09 | International Business Machines Corporation | On-demand generation of correlated collections of mashable data from distributed, non-homogeneous data sources |
US8812660B2 (en) * | 2011-06-20 | 2014-08-19 | Siemens Product Lifecycle Management Software Inc. | Workflow processes and systems |
US9443225B2 (en) | 2011-07-18 | 2016-09-13 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for presentation of feed items in an information feed to be displayed on a display device |
US20130041828A1 (en) * | 2011-08-10 | 2013-02-14 | Cox Communications, Inc. | Systems, Methods, and Apparatus for Managing Digital Content and Rights Tokens |
US9934027B2 (en) * | 2011-09-21 | 2018-04-03 | Actian Corporation | Method and apparatus for the development, delivery and deployment of action-oriented business applications supported by a cloud based action server platform |
EP2579113B1 (en) * | 2011-10-03 | 2021-02-17 | Siemens Schweiz AG | Structure of a building automation system |
US9589070B2 (en) | 2011-10-10 | 2017-03-07 | Salesforce.Com, Inc. | Method and system for updating a filter logic expression representing a boolean filter |
US9286583B2 (en) | 2011-12-05 | 2016-03-15 | International Business Machines Corporation | Integrating mind mapping technology with case modeling |
US9146836B2 (en) * | 2011-12-13 | 2015-09-29 | Microsoft Technology Licensing, Llc | Linking diagnostic visualizations to application code |
US9430206B2 (en) * | 2011-12-16 | 2016-08-30 | Hsiu-Ping Lin | Systems for downloading location-based application and methods using the same |
US20130173335A1 (en) * | 2011-12-30 | 2013-07-04 | Verizon Patent And Licensing Inc. | Lifestyle application platform |
US10019462B1 (en) * | 2011-12-30 | 2018-07-10 | Emc Corporation | System and method of hierarchical archive management |
US9659041B2 (en) | 2012-01-30 | 2017-05-23 | Oracle International Corporation | Model for capturing audit trail data with reduced probability of loss of critical data |
US8751567B2 (en) | 2012-02-09 | 2014-06-10 | Oracle International Corporation | Quantify and measure micro-blogging for enterprise resources planning (ERP) |
US8898796B2 (en) * | 2012-02-14 | 2014-11-25 | International Business Machines Corporation | Managing network data |
US9361330B2 (en) * | 2012-03-12 | 2016-06-07 | Oracle International Corporation | System and method for consistent embedded search across enterprise applications with an enterprise crawl and search framework |
US9449004B2 (en) * | 2012-03-15 | 2016-09-20 | Sap Se | File repository abstraction layer |
US10229222B2 (en) | 2012-03-26 | 2019-03-12 | Greyheller, Llc | Dynamically optimized content display |
US10225249B2 (en) | 2012-03-26 | 2019-03-05 | Greyheller, Llc | Preventing unauthorized access to an application server |
US9922090B1 (en) | 2012-03-27 | 2018-03-20 | Actian Netherlands, B.V. | System and method for automatic vertical decomposition of a table for improving input/output and memory utilization in a database |
WO2013151943A1 (en) * | 2012-04-02 | 2013-10-10 | Ubiquity Broadcasting Corporation | Transmedia storytelling tracking and mapping system |
US20130262378A1 (en) * | 2012-04-02 | 2013-10-03 | Microsoft Corporation | Aggregation point for enterprise business application binding |
US9916592B2 (en) | 2012-05-18 | 2018-03-13 | Oracle International Corporation | Method and system for implementing implicit follow and automatic unfollow |
US9047294B2 (en) * | 2012-06-11 | 2015-06-02 | Oracle International Corporation | Model for generating custom file plans towards management of content as records |
US10417314B2 (en) | 2012-06-14 | 2019-09-17 | Open Text Sa Ulc | Systems and methods of a script generation engine |
US8843891B2 (en) * | 2012-06-22 | 2014-09-23 | Sap Ag | Custom code management |
US9767720B2 (en) * | 2012-06-25 | 2017-09-19 | Microsoft Technology Licensing, Llc | Object-centric mixed reality space |
US10380233B2 (en) | 2012-07-26 | 2019-08-13 | International Business Machines Corporation | Launching workflow processes based on annotations in a document |
US8903784B2 (en) * | 2012-08-24 | 2014-12-02 | The Boeing Company | Data retention management |
US9430126B2 (en) * | 2012-09-28 | 2016-08-30 | Sap Se | Insertion of a business object creation interface into an application window |
US10417649B2 (en) | 2012-09-28 | 2019-09-17 | Oracle International Corporation | Business process global searching |
US8959301B2 (en) | 2012-11-09 | 2015-02-17 | International Business Machines Corporation | Accessing data in a storage system |
US9122560B2 (en) * | 2012-11-15 | 2015-09-01 | Verizon Patent And Licensing Inc. | System and method of optimization for mobile apps |
US20140143701A1 (en) * | 2012-11-20 | 2014-05-22 | Timo Hoyer | Visualizing related business activities in an interactive timeline |
US20140172510A1 (en) * | 2012-12-18 | 2014-06-19 | Hyland Software, Inc. | Enterprise Content Management (ECM) Solutions Tool and Method |
US9027144B1 (en) | 2012-12-20 | 2015-05-05 | Emc Corporation | Semantic-based business events |
WO2014116384A2 (en) * | 2013-01-23 | 2014-07-31 | Thomson Licensing | Set handling in asset-driven workflow modeling |
US10310496B2 (en) * | 2013-02-07 | 2019-06-04 | Azima Holdings, Inc. | Systems and methods for communicating in a predictive maintenance program using remote analysts |
US9569440B2 (en) * | 2013-02-22 | 2017-02-14 | Sony Corporation | Method and apparatus for content manipulation |
US11507574B1 (en) | 2013-03-13 | 2022-11-22 | Actian Netherlands B.V. | Adaptive selection of a processing method based on observed performance for improved and robust system efficiency |
US10261997B2 (en) | 2013-03-13 | 2019-04-16 | Avaya Inc. | Method, apparatus, and system for providing and using subscriptions and filtering based on tree structures |
US10073956B2 (en) | 2013-03-14 | 2018-09-11 | Open Text Sa Ulc | Integration services systems, methods and computer program products for ECM-independent ETL tools |
US9898537B2 (en) | 2013-03-14 | 2018-02-20 | Open Text Sa Ulc | Systems, methods and computer program products for information management across disparate information systems |
EP2778987A1 (en) | 2013-03-14 | 2014-09-17 | Open Text S.A. | Systems, methods and computer program products for information integration across disparate information systems |
US10037197B2 (en) | 2013-03-15 | 2018-07-31 | Oracle International Corporation | Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models |
US20140316858A1 (en) * | 2013-04-17 | 2014-10-23 | International Business Machines Corporation | Virtual business process |
US9158932B2 (en) | 2013-05-08 | 2015-10-13 | Sap Se | Modeled authorization check implemented with UI framework |
US10191733B2 (en) | 2013-06-25 | 2019-01-29 | Sap Se | Software change process orchestration in a runtime environment |
US9294532B2 (en) * | 2013-07-02 | 2016-03-22 | Facebook, Inc. | Performing an action on a social networking system based on a content identifier embedded in provided content |
US10152530B1 (en) * | 2013-07-24 | 2018-12-11 | Symantec Corporation | Determining a recommended control point for a file system |
US20150035823A1 (en) | 2013-07-31 | 2015-02-05 | Splunk Inc. | Systems and Methods for Using a Three-Dimensional, First Person Display to Convey Data to a User |
EP2840512B1 (en) * | 2013-08-21 | 2015-10-21 | Ontoforce NV | A data processing system for adaptive visualisation of faceted search results |
EP3080709A4 (en) * | 2013-09-09 | 2017-07-05 | Unitedlex Corp. | Interactive case management system |
US10121114B2 (en) * | 2013-09-11 | 2018-11-06 | Oracle International Corporation | Metadata-driven audit reporting system with hierarchical relationships |
US9851967B2 (en) | 2013-09-20 | 2017-12-26 | Oracle International Corporation | Runtime customization infrastructure |
US10241839B2 (en) * | 2013-12-04 | 2019-03-26 | Nec Corporation | Method and system for generating a virtual device resource accessible by an application |
US9274782B2 (en) | 2013-12-20 | 2016-03-01 | International Business Machines Corporation | Automated computer application update analysis |
JP6292892B2 (en) * | 2014-01-15 | 2018-03-14 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
GB2522206A (en) | 2014-01-16 | 2015-07-22 | Ibm | Integrating a plurality of third party service interactions into a portal system |
US9692763B2 (en) | 2014-02-12 | 2017-06-27 | International Business Machines Corporation | Document event notifications based on document access control lists |
JP2015194947A (en) * | 2014-03-31 | 2015-11-05 | ソニー株式会社 | Information processing device and computer program |
US10073978B2 (en) | 2014-04-16 | 2018-09-11 | International Business Machines Corporation | Efficient modification and creation of authorization settings for user accounts |
US20160026941A1 (en) * | 2014-07-26 | 2016-01-28 | International Business Machines Corporation | Updating and synchronizing existing case instances in response to solution design changes |
US10685309B1 (en) | 2014-07-31 | 2020-06-16 | Open Text Corporation | Case system events triggering a process |
US10467295B1 (en) | 2014-07-31 | 2019-11-05 | Open Text Corporation | Binding traits to case nodes |
US11210457B2 (en) | 2014-08-14 | 2021-12-28 | International Business Machines Corporation | Process-level metadata inference and mapping from document annotations |
US20160085544A1 (en) * | 2014-09-19 | 2016-03-24 | Microsoft Corporation | Data management system |
US10210146B2 (en) | 2014-09-28 | 2019-02-19 | Microsoft Technology Licensing, Llc | Productivity tools for content authoring |
US10402061B2 (en) | 2014-09-28 | 2019-09-03 | Microsoft Technology Licensing, Llc | Productivity tools for content authoring |
US10528597B2 (en) | 2014-09-28 | 2020-01-07 | Microsoft Technology Licensing, Llc | Graph-driven authoring in productivity tools |
US10095369B1 (en) * | 2014-10-28 | 2018-10-09 | VCE IP Holding Company LLC | Systems and methods for provisioning computing components through modular orchestration |
US10747720B1 (en) * | 2015-03-12 | 2020-08-18 | J. Paul Norton | Systems and methods for managing routing of electronic files |
WO2016154725A1 (en) * | 2015-03-30 | 2016-10-06 | Glaswegian Enterprises Inc. | Mobile icon-centric enterprise content management platform |
US9619371B2 (en) | 2015-04-16 | 2017-04-11 | International Business Machines Corporation | Customized application performance testing of upgraded software |
US20160313958A1 (en) * | 2015-04-27 | 2016-10-27 | Microsoft Technology Licensing, Llc | Cross-platform command extensibility |
US10394949B2 (en) | 2015-06-22 | 2019-08-27 | Microsoft Technology Licensing, Llc | Deconstructing documents into component blocks for reuse in productivity applications |
US10740349B2 (en) | 2015-06-22 | 2020-08-11 | Microsoft Technology Licensing, Llc | Document storage for reuse of content within documents |
US10339183B2 (en) | 2015-06-22 | 2019-07-02 | Microsoft Technology Licensing, Llc | Document storage for reuse of content within documents |
WO2017027702A1 (en) * | 2015-08-13 | 2017-02-16 | Synergy Technology Solutions, Llc | Document management system and method |
US9973483B2 (en) * | 2015-09-22 | 2018-05-15 | Microsoft Technology Licensing, Llc | Role-based notification service |
US11971860B2 (en) * | 2015-12-28 | 2024-04-30 | Dropbox, Inc. | Embedded folder views |
US10776134B2 (en) * | 2016-01-07 | 2020-09-15 | Hewlett Packard Enterprise Development Lp | Management of application properties |
US11847040B2 (en) | 2016-03-16 | 2023-12-19 | Asg Technologies Group, Inc. | Systems and methods for detecting data alteration from source to target |
WO2017174573A1 (en) * | 2016-04-05 | 2017-10-12 | Embed Technical Transfer Limited | A data and content transfer and work flow management system |
US10521408B1 (en) * | 2016-09-30 | 2019-12-31 | Open Text Corporation | Method and system for optimization of faceted search |
CN107784418B (en) * | 2016-11-14 | 2020-11-03 | 平安科技(深圳)有限公司 | List data distribution method and device |
US10732947B2 (en) * | 2016-12-09 | 2020-08-04 | Wmware, Inc. | Information-technology workflow using tiles that declaratively specify datatypes |
US10732934B2 (en) * | 2016-12-09 | 2020-08-04 | Vmware, Inc. | Information-technology workflows using executable tiles |
US11003466B2 (en) | 2016-12-09 | 2021-05-11 | Vmware, Inc. | Information-technology workflows using executable tiles with plural user interfaces |
US10733013B2 (en) * | 2016-12-09 | 2020-08-04 | Vmware, Inc. | Information-technology workflows using executable tiles distributed between workflow instances |
US10523677B2 (en) * | 2017-04-28 | 2019-12-31 | Versata Development Group, Inc. | Managing metadata for external content within a computing environment |
US10929421B2 (en) | 2017-06-08 | 2021-02-23 | Sap Se | Suggestion of views based on correlation of data |
US11250343B2 (en) | 2017-06-08 | 2022-02-15 | Sap Se | Machine learning anomaly detection |
US11080291B2 (en) * | 2017-08-02 | 2021-08-03 | Sap Se | Downloading visualization data between computer systems |
US10977262B2 (en) * | 2017-08-02 | 2021-04-13 | Sap Se | Data export job engine |
US11275795B2 (en) | 2017-10-05 | 2022-03-15 | Oracle International Corporation | System and method for in-place record content management |
US11842034B2 (en) * | 2017-10-25 | 2023-12-12 | Jpmorgan Chase Bank, N.A. | System and method for implementing an interactive roadmap portal |
US11741300B2 (en) | 2017-11-03 | 2023-08-29 | Dropbox, Inc. | Embedded spreadsheet data implementation and synchronization |
US11227448B2 (en) * | 2017-11-14 | 2022-01-18 | Nvidia Corporation | Cloud-centric platform for collaboration and connectivity on 3D virtual environments |
US11057500B2 (en) | 2017-11-20 | 2021-07-06 | Asg Technologies Group, Inc. | Publication of applications using server-side virtual screen change capture |
CN109814861A (en) * | 2017-11-21 | 2019-05-28 | 海云数据 | The open platform of ability is provided for terminal user |
US11611633B2 (en) | 2017-12-29 | 2023-03-21 | Asg Technologies Group, Inc. | Systems and methods for platform-independent application publishing to a front-end interface |
US11113339B2 (en) | 2018-01-12 | 2021-09-07 | Oracle International Corporation | System and method for federated content management using a federated library and federated metadata propagation |
US10397304B2 (en) * | 2018-01-30 | 2019-08-27 | Excentus Corporation | System and method to standardize and improve implementation efficiency of user interface content |
US12100112B2 (en) | 2018-08-10 | 2024-09-24 | Nvidia Corporation | Cloud-centric platform for collaboration and connectivity on 3D virtual environments |
US11768707B2 (en) | 2018-08-27 | 2023-09-26 | Box, Inc. | Workflow selection |
US11481378B1 (en) * | 2018-10-31 | 2022-10-25 | Anaplan, Inc. | Method and system for servicing query requests using document-based metadata |
US11573927B1 (en) | 2018-10-31 | 2023-02-07 | Anaplan, Inc. | Method and system for implementing hidden subscriptions in a distributed computation system |
US11580105B2 (en) | 2018-10-31 | 2023-02-14 | Anaplan, Inc. | Method and system for implementing subscription barriers in a distributed computation system |
US11354324B1 (en) * | 2018-10-31 | 2022-06-07 | Anaplan, Inc. | Method and system for servicing query requests using revisions maps |
US11475003B1 (en) | 2018-10-31 | 2022-10-18 | Anaplan, Inc. | Method and system for servicing query requests using dataspaces |
US11281683B1 (en) | 2018-10-31 | 2022-03-22 | Anaplan, Inc. | Distributed computation system for servicing queries using revisions maps |
US10970272B2 (en) * | 2019-01-31 | 2021-04-06 | Sap Se | Data cloud—platform for data enrichment |
KR20200112386A (en) * | 2019-03-22 | 2020-10-05 | 삼성전자주식회사 | Electronic device and control method thereof |
US11762634B2 (en) * | 2019-06-28 | 2023-09-19 | Asg Technologies Group, Inc. | Systems and methods for seamlessly integrating multiple products by using a common visual modeler |
US11221843B2 (en) * | 2019-07-25 | 2022-01-11 | Salesforce.Com, Inc. | Auditory media metadata-based software configuration using design systems |
US11221845B2 (en) * | 2019-07-25 | 2022-01-11 | Salesforce.Com, Inc. | Visual media metadata-based software configuration using design systems |
US11669793B2 (en) | 2019-10-01 | 2023-06-06 | Box, Inc. | Inter-application workflow performance analytics |
US12019686B2 (en) * | 2019-10-10 | 2024-06-25 | Gregory J Casas | Document retrieval and processing from online databases using thumbnail image indexing based on user and data type |
US20210112130A1 (en) * | 2019-10-15 | 2021-04-15 | UiPath, Inc. | Mobile push notification for robotic process automation (rpa) |
US11755760B2 (en) | 2019-10-18 | 2023-09-12 | Asg Technologies Group, Inc. | Systems and methods for secure policies-based information governance |
US11886397B2 (en) | 2019-10-18 | 2024-01-30 | Asg Technologies Group, Inc. | Multi-faceted trust system |
US11055067B2 (en) | 2019-10-18 | 2021-07-06 | Asg Technologies Group, Inc. | Unified digital automation platform |
US11941137B2 (en) | 2019-10-18 | 2024-03-26 | Asg Technologies Group, Inc. | Use of multi-faceted trust scores for decision making, action triggering, and data analysis and interpretation |
US11269660B2 (en) | 2019-10-18 | 2022-03-08 | Asg Technologies Group, Inc. | Methods and systems for integrated development environment editor support with a single code base |
US11029806B1 (en) * | 2019-10-31 | 2021-06-08 | Nationwide Mutual Insurance Company | Digital product navigation tool |
US11681572B2 (en) | 2019-12-23 | 2023-06-20 | Box, Inc. | Extensible workflow access |
US11361025B2 (en) * | 2020-02-03 | 2022-06-14 | ZenPayroll, Inc. | Automated field placement for uploaded documents |
US20220083679A1 (en) | 2020-09-14 | 2022-03-17 | Box, Inc. | Broker-assisted workflows |
US11849330B2 (en) | 2020-10-13 | 2023-12-19 | Asg Technologies Group, Inc. | Geolocation-based policy rules |
EP4229513A1 (en) * | 2020-10-13 | 2023-08-23 | ASG Technologies Group, Inc. DBA ASG Technologies | Secure sharing of documents created via content management repository |
US11994842B2 (en) * | 2021-03-17 | 2024-05-28 | Rockwell Automation Technologies, Inc. | Notifications from an industrial automation development environment |
US20220398097A1 (en) * | 2021-06-14 | 2022-12-15 | Adobe Inc. | Interactive and corporation-wide work analytics overview system |
US12056103B2 (en) | 2022-07-07 | 2024-08-06 | Target Brands, Inc. | Database usage footprint monitoring platform |
Citations (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049603A1 (en) * | 2000-01-14 | 2002-04-25 | Gaurav Mehra | Method and apparatus for a business applications server |
US20020073236A1 (en) * | 2000-01-14 | 2002-06-13 | Helgeson Christopher S. | Method and apparatus for managing data exchange among systems in a network |
US20030191719A1 (en) * | 1995-02-13 | 2003-10-09 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US20030200527A1 (en) * | 1998-10-05 | 2003-10-23 | American Management Systems, Inc. | Development framework for case and workflow systems |
US20030212654A1 (en) * | 2002-01-25 | 2003-11-13 | Harper Jonathan E. | Data integration system and method for presenting 360° customer views |
US20040102990A1 (en) * | 2002-10-11 | 2004-05-27 | Xerox Corporation | Method for managing knowledge flow to value |
US20040230572A1 (en) * | 2001-06-22 | 2004-11-18 | Nosa Omoigui | System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation |
US20050108153A1 (en) * | 2002-02-11 | 2005-05-19 | Randall Thomas | Multiparty transaction system |
US20050138081A1 (en) * | 2003-05-14 | 2005-06-23 | Alshab Melanie A. | Method and system for reducing information latency in a business enterprise |
US20060069717A1 (en) * | 2003-08-27 | 2006-03-30 | Ascential Software Corporation | Security service for a services oriented architecture in a data integration platform |
US20060092097A1 (en) * | 2004-10-08 | 2006-05-04 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device metadata management |
US20060205518A1 (en) * | 2005-03-08 | 2006-09-14 | Microsoft Corporation | Systems and methods for providing system level notifications in a multimedia console |
US20070083421A1 (en) * | 2005-10-07 | 2007-04-12 | Cerner Innovation, Inc. | Business process model design measurement |
US20070266011A1 (en) * | 2006-05-10 | 2007-11-15 | Google Inc. | Managing and Accessing Data in Web Notebooks |
US7302431B1 (en) * | 2001-12-21 | 2007-11-27 | The Procter & Gamble Company | Configurable architecture for managing corporate and industry knowledgebases |
US20080065701A1 (en) * | 2006-09-12 | 2008-03-13 | Kent Lindstrom | Method and system for tracking changes to user content in an online social network |
US20090007098A1 (en) * | 2005-02-22 | 2009-01-01 | Connectif Solutions, Inc. | Distributed Asset Management System and Method |
US20090037277A1 (en) * | 2007-05-31 | 2009-02-05 | Mark Zuckerberg | System and methods for auction based polling |
US20090049525A1 (en) * | 2007-08-15 | 2009-02-19 | D Angelo Adam | Platform for providing a social context to software applications |
US20090070412A1 (en) * | 2007-06-12 | 2009-03-12 | D Angelo Adam | Providing Personalized Platform Application Content |
US20090094224A1 (en) * | 2007-10-05 | 2009-04-09 | Google Inc. | Collaborative search results |
US20090112937A1 (en) * | 2007-10-26 | 2009-04-30 | Microsoft Corporation | Spreadsheet collaboration between rich and browser clients |
US20090144392A1 (en) * | 2007-10-26 | 2009-06-04 | Facebook, Inc. | Sharing Digital Content On A Social Network |
US20090157608A1 (en) * | 2007-12-12 | 2009-06-18 | Google Inc. | Online content collaboration model |
US20090182763A1 (en) * | 2008-01-15 | 2009-07-16 | Microsoft Corporation | Multi-client collaboration to access and update structured data elements |
US20090182589A1 (en) * | 2007-11-05 | 2009-07-16 | Kendall Timothy A | Communicating Information in a Social Networking Website About Activities from Another Domain |
US20090234813A1 (en) * | 2007-10-19 | 2009-09-17 | Oracle International Corporation | Enhance Search Experience Using Logical Collections |
US7596583B2 (en) * | 2007-03-29 | 2009-09-29 | International Business Machines Corporation | Dynamic learning in redesigning a composition of web services |
US20090249290A1 (en) * | 2007-10-22 | 2009-10-01 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20090264634A1 (en) * | 1997-08-21 | 2009-10-22 | Quark Pharmaceuticals, Inc. | Sequences characteristic of hypoxia-regulated gene transcription |
US7620902B2 (en) * | 2005-04-20 | 2009-11-17 | Microsoft Corporation | Collaboration spaces |
US7627810B2 (en) * | 2000-08-29 | 2009-12-01 | Open Text Corporation | Model for creating, inputting, storing and tracking multimedia objects |
US7669123B2 (en) * | 2006-08-11 | 2010-02-23 | Facebook, Inc. | Dynamically providing a news feed about a user of a social network |
US7672995B2 (en) * | 2004-12-02 | 2010-03-02 | Microsoft Corporation | System and method for publishing collaboration items to a web site |
US20100057679A1 (en) * | 2008-08-28 | 2010-03-04 | Oracle International Corporation | Search using business intelligence dimensions |
US7680882B2 (en) * | 2007-03-06 | 2010-03-16 | Friendster, Inc. | Multimedia aggregation in an online social network |
US20100094848A1 (en) * | 2005-10-23 | 2010-04-15 | Google Inc. | Adding Attributes and Labels to Structured Data |
US7702730B2 (en) * | 2004-09-03 | 2010-04-20 | Open Text Corporation | Systems and methods for collaboration |
US7707249B2 (en) * | 2004-09-03 | 2010-04-27 | Open Text Corporation | Systems and methods for collaboration |
US7725492B2 (en) * | 2005-12-23 | 2010-05-25 | Facebook, Inc. | Managing information about relationships in a social network via a social timeline |
US20100192070A1 (en) * | 2006-06-22 | 2010-07-29 | Sasha Peckelbeen | Method and device for updating a language in a user interface |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945600B1 (en) * | 2001-05-18 | 2011-05-17 | Stratify, Inc. | Techniques for organizing data to support efficient review and analysis |
US7054867B2 (en) | 2001-09-18 | 2006-05-30 | Skyris Networks, Inc. | Systems, methods and programming for routing and indexing globally addressable objects and associated business models |
WO2005091175A1 (en) * | 2004-03-15 | 2005-09-29 | Yahoo! Inc. | Search systems and methods with integration of user annotations |
GB0502259D0 (en) * | 2005-02-03 | 2005-03-09 | British Telecomm | Document searching tool and method |
US20080005194A1 (en) | 2006-05-05 | 2008-01-03 | Lockheed Martin Corporation | System and method for immutably cataloging and storing electronic assets in a large scale computer system |
US8775940B2 (en) * | 2008-04-22 | 2014-07-08 | Sap Ag | Situational workspaces |
-
2008
- 2008-10-22 US US12/256,363 patent/US20090249446A1/en not_active Abandoned
- 2008-10-22 EP EP08842845A patent/EP2203877A4/en not_active Withdrawn
- 2008-10-22 EP EP10175123A patent/EP2270725A3/en not_active Withdrawn
- 2008-10-22 WO PCT/US2008/080781 patent/WO2009055465A2/en active Application Filing
- 2008-10-22 EP EP10175121A patent/EP2270724A3/en not_active Withdrawn
- 2008-10-22 US US12/256,369 patent/US20090254422A1/en not_active Abandoned
- 2008-10-22 US US12/256,342 patent/US8464206B2/en active Active
-
2011
- 2011-06-06 US US13/154,318 patent/US8880461B2/en active Active
- 2011-06-06 US US13/154,260 patent/US20110246444A1/en not_active Abandoned
- 2011-06-07 US US13/155,246 patent/US20110238650A1/en not_active Abandoned
Patent Citations (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191719A1 (en) * | 1995-02-13 | 2003-10-09 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US20090264634A1 (en) * | 1997-08-21 | 2009-10-22 | Quark Pharmaceuticals, Inc. | Sequences characteristic of hypoxia-regulated gene transcription |
US20030200527A1 (en) * | 1998-10-05 | 2003-10-23 | American Management Systems, Inc. | Development framework for case and workflow systems |
US20020073236A1 (en) * | 2000-01-14 | 2002-06-13 | Helgeson Christopher S. | Method and apparatus for managing data exchange among systems in a network |
US20020049603A1 (en) * | 2000-01-14 | 2002-04-25 | Gaurav Mehra | Method and apparatus for a business applications server |
US7627810B2 (en) * | 2000-08-29 | 2009-12-01 | Open Text Corporation | Model for creating, inputting, storing and tracking multimedia objects |
US20090327848A1 (en) * | 2000-08-29 | 2009-12-31 | David Glazer | Method, system, apparatus and content model for the creation, management, storage, and presentation of dynamic objects |
US20040230572A1 (en) * | 2001-06-22 | 2004-11-18 | Nosa Omoigui | System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation |
US7302431B1 (en) * | 2001-12-21 | 2007-11-27 | The Procter & Gamble Company | Configurable architecture for managing corporate and industry knowledgebases |
US20030212654A1 (en) * | 2002-01-25 | 2003-11-13 | Harper Jonathan E. | Data integration system and method for presenting 360° customer views |
US20050108153A1 (en) * | 2002-02-11 | 2005-05-19 | Randall Thomas | Multiparty transaction system |
US20040102990A1 (en) * | 2002-10-11 | 2004-05-27 | Xerox Corporation | Method for managing knowledge flow to value |
US20050138081A1 (en) * | 2003-05-14 | 2005-06-23 | Alshab Melanie A. | Method and system for reducing information latency in a business enterprise |
US20060069717A1 (en) * | 2003-08-27 | 2006-03-30 | Ascential Software Corporation | Security service for a services oriented architecture in a data integration platform |
US7707249B2 (en) * | 2004-09-03 | 2010-04-27 | Open Text Corporation | Systems and methods for collaboration |
US20100241972A1 (en) * | 2004-09-03 | 2010-09-23 | Spataro Jared M | Systems and methods for collaboration |
US7702730B2 (en) * | 2004-09-03 | 2010-04-20 | Open Text Corporation | Systems and methods for collaboration |
US20060092097A1 (en) * | 2004-10-08 | 2006-05-04 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device metadata management |
US7672995B2 (en) * | 2004-12-02 | 2010-03-02 | Microsoft Corporation | System and method for publishing collaboration items to a web site |
US20090007098A1 (en) * | 2005-02-22 | 2009-01-01 | Connectif Solutions, Inc. | Distributed Asset Management System and Method |
US20060205518A1 (en) * | 2005-03-08 | 2006-09-14 | Microsoft Corporation | Systems and methods for providing system level notifications in a multimedia console |
US7620902B2 (en) * | 2005-04-20 | 2009-11-17 | Microsoft Corporation | Collaboration spaces |
US20070083421A1 (en) * | 2005-10-07 | 2007-04-12 | Cerner Innovation, Inc. | Business process model design measurement |
US20100094848A1 (en) * | 2005-10-23 | 2010-04-15 | Google Inc. | Adding Attributes and Labels to Structured Data |
US7725492B2 (en) * | 2005-12-23 | 2010-05-25 | Facebook, Inc. | Managing information about relationships in a social network via a social timeline |
US20070266011A1 (en) * | 2006-05-10 | 2007-11-15 | Google Inc. | Managing and Accessing Data in Web Notebooks |
US20100192070A1 (en) * | 2006-06-22 | 2010-07-29 | Sasha Peckelbeen | Method and device for updating a language in a user interface |
US7669123B2 (en) * | 2006-08-11 | 2010-02-23 | Facebook, Inc. | Dynamically providing a news feed about a user of a social network |
US20080065701A1 (en) * | 2006-09-12 | 2008-03-13 | Kent Lindstrom | Method and system for tracking changes to user content in an online social network |
US7680882B2 (en) * | 2007-03-06 | 2010-03-16 | Friendster, Inc. | Multimedia aggregation in an online social network |
US20100162375A1 (en) * | 2007-03-06 | 2010-06-24 | Friendster Inc. | Multimedia aggregation in an online social network |
US7596583B2 (en) * | 2007-03-29 | 2009-09-29 | International Business Machines Corporation | Dynamic learning in redesigning a composition of web services |
US20090037277A1 (en) * | 2007-05-31 | 2009-02-05 | Mark Zuckerberg | System and methods for auction based polling |
US20090070412A1 (en) * | 2007-06-12 | 2009-03-12 | D Angelo Adam | Providing Personalized Platform Application Content |
US20090049525A1 (en) * | 2007-08-15 | 2009-02-19 | D Angelo Adam | Platform for providing a social context to software applications |
US20090094224A1 (en) * | 2007-10-05 | 2009-04-09 | Google Inc. | Collaborative search results |
US20090234813A1 (en) * | 2007-10-19 | 2009-09-17 | Oracle International Corporation | Enhance Search Experience Using Logical Collections |
US20090249290A1 (en) * | 2007-10-22 | 2009-10-01 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20090249446A1 (en) * | 2007-10-22 | 2009-10-01 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20110246444A1 (en) * | 2007-10-22 | 2011-10-06 | Open Text Corporation | Method and system for managing enterprise content |
US20110238649A1 (en) * | 2007-10-22 | 2011-09-29 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20110238650A1 (en) * | 2007-10-22 | 2011-09-29 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20090144392A1 (en) * | 2007-10-26 | 2009-06-04 | Facebook, Inc. | Sharing Digital Content On A Social Network |
US7756824B2 (en) * | 2007-10-26 | 2010-07-13 | Microsoft Corporation | Spreadsheet collaboration between rich and browser clients |
US20090112937A1 (en) * | 2007-10-26 | 2009-04-30 | Microsoft Corporation | Spreadsheet collaboration between rich and browser clients |
US20090182589A1 (en) * | 2007-11-05 | 2009-07-16 | Kendall Timothy A | Communicating Information in a Social Networking Website About Activities from Another Domain |
US7797274B2 (en) * | 2007-12-12 | 2010-09-14 | Google Inc. | Online content collaboration model |
US20090157608A1 (en) * | 2007-12-12 | 2009-06-18 | Google Inc. | Online content collaboration model |
US20090182763A1 (en) * | 2008-01-15 | 2009-07-16 | Microsoft Corporation | Multi-client collaboration to access and update structured data elements |
US20100057679A1 (en) * | 2008-08-28 | 2010-03-04 | Oracle International Corporation | Search using business intelligence dimensions |
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327848A1 (en) * | 2000-08-29 | 2009-12-31 | David Glazer | Method, system, apparatus and content model for the creation, management, storage, and presentation of dynamic objects |
US8972841B2 (en) | 2000-08-29 | 2015-03-03 | Open Text S.A. | Method, system, apparatus and content model for the creation, management, storage, and presentation of dynamic objects |
US8739017B2 (en) | 2000-08-29 | 2014-05-27 | Open Text S.A. | Method, system, apparatus and content model for the creation, management, storage, and presentation of dynamic objects |
US20110238651A1 (en) * | 2000-08-29 | 2011-09-29 | Open Text Corporation | Method, system, apparatus and content model for the creation, management, storage, and presentation of dynamic objects |
US10817572B2 (en) | 2004-09-03 | 2020-10-27 | Open Text Sa Ulc | Systems and methods for providing access to objects and searchable attributes of objects in a collaboration place |
US20110239135A1 (en) * | 2004-09-03 | 2011-09-29 | Open Text Corporation | Systems and methods for collaboration |
US8484292B2 (en) | 2004-09-03 | 2013-07-09 | Open Text S.A. | System and methods for managing co-editing of a document by a plurality of users in a collaboration place |
US10664529B2 (en) | 2004-09-03 | 2020-05-26 | Open Text Sa Ulc | Systems and methods for escalating a collaboration interface |
US20100192072A1 (en) * | 2004-09-03 | 2010-07-29 | Open Text Corporation | Systems and methods of collaboration |
US20100241972A1 (en) * | 2004-09-03 | 2010-09-23 | Spataro Jared M | Systems and methods for collaboration |
US8713106B2 (en) | 2004-09-03 | 2014-04-29 | Open Text S.A. | Systems and methods for providing a collaboration place interface including data that is persistent after a client is longer in the collaboration place among a plurality of clients |
US8856237B2 (en) | 2004-09-03 | 2014-10-07 | Open Text S.A. | Systems and methods for providing a client-server infrastructure for asynchronous and synchronus collaboration including co-editing activity collision prevention |
US10108613B2 (en) | 2004-09-03 | 2018-10-23 | Open Text Sa Ulc | Systems and methods for providing access to data and searchable attributes in a collaboration place |
US20110239134A1 (en) * | 2004-09-03 | 2011-09-29 | Open Text Corporation | Systems and methods for collaboration |
US11977585B2 (en) | 2004-09-03 | 2024-05-07 | Open Text Sa Ulc | Systems and methods for escalating a collaboration interface |
US20110238759A1 (en) * | 2004-09-03 | 2011-09-29 | Open Text Corporation | Systems and methods for collaboration |
US20060064434A1 (en) * | 2004-09-21 | 2006-03-23 | International Business Machines Corporation | Case management system and method for collaborative project teaming |
US9189756B2 (en) * | 2004-09-21 | 2015-11-17 | International Business Machines Corporation | Case management system and method for collaborative project teaming |
US20090249446A1 (en) * | 2007-10-22 | 2009-10-01 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20110238649A1 (en) * | 2007-10-22 | 2011-09-29 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20110238650A1 (en) * | 2007-10-22 | 2011-09-29 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US8464206B2 (en) | 2007-10-22 | 2013-06-11 | Open Text S.A. | Method and system for managing enterprise content |
US20090249290A1 (en) * | 2007-10-22 | 2009-10-01 | Paul Thomas Jenkins | Method and system for managing enterprise content |
US20090182610A1 (en) * | 2008-01-11 | 2009-07-16 | Oracle International Corporation | System and method for asset registration workflows utilizing an eventing infrastructure in a metadata repository |
US9589250B2 (en) * | 2008-01-11 | 2017-03-07 | Oracle International Corporation | System and method for asset registration workflows utilizing an eventing infrastructure in a metadata repository |
US8805774B2 (en) * | 2008-02-19 | 2014-08-12 | International Business Machines Corporation | Method and system for role based situation aware software |
US20090210408A1 (en) * | 2008-02-19 | 2009-08-20 | International Business Machines Corporation | Method and system for role based situation aware software |
US20090235167A1 (en) * | 2008-03-12 | 2009-09-17 | International Business Machines Corporation | Method and system for context aware collaborative tagging |
US10282197B2 (en) * | 2008-07-14 | 2019-05-07 | Borland Software Corporation | Open application lifecycle management framework |
US20140101632A1 (en) * | 2008-07-14 | 2014-04-10 | Borland Software Corporation | Open application lifecycle management framework |
US8381167B2 (en) * | 2009-01-29 | 2013-02-19 | Hewlett-Packard Development Company, L.P. | Business service discovery |
US20100191555A1 (en) * | 2009-01-29 | 2010-07-29 | Emil Shmul | Business service discovery |
US8510806B2 (en) * | 2009-10-22 | 2013-08-13 | Sap Ag | System and method of controlling access to information in a virtual computing environment |
US8280966B2 (en) | 2009-10-22 | 2012-10-02 | Sap Ag | System and method of controlling access to information in a virtual computing environment |
US20110099231A1 (en) * | 2009-10-22 | 2011-04-28 | Sap Ag | System and Method of Controlling Access to Information in a Virtual Computing Environment |
US20110099608A1 (en) * | 2009-10-22 | 2011-04-28 | Sap Ag | System and Method of Controlling Access to Information in a Virtual Computing Environment |
US20110125800A1 (en) * | 2009-11-20 | 2011-05-26 | International Business Machines Corporation | Service registry system and method for saving and restoring a faceted selection |
US9137206B2 (en) * | 2009-11-20 | 2015-09-15 | International Business Machines Corporation | Service registry for saving and restoring a faceted selection |
US10990577B2 (en) | 2009-11-20 | 2021-04-27 | International Business Machines Corporation | Service registry for saving and restoring a faceted selection |
US20110126088A1 (en) * | 2009-11-23 | 2011-05-26 | R-Squared Services and Solutions | Method and system for adding combination fields to sharepoint (tm) |
US9298841B2 (en) * | 2009-11-23 | 2016-03-29 | Ims Health Incorporated | Method and system for adding combination fields to sharepoint (TM) |
US20110191320A1 (en) * | 2010-02-02 | 2011-08-04 | Game Plan Technologies, Inc. | Digital asset management system |
US20140289134A1 (en) * | 2010-06-25 | 2014-09-25 | Adobe Systems Incorporated | Method and system for managing content for an electronic collaboration tool |
US9116911B2 (en) | 2010-11-02 | 2015-08-25 | International Business Machines Corporation | Remote file sharing based on content filtering |
US8812439B2 (en) * | 2011-03-22 | 2014-08-19 | Oracle International Corporation | Folder structure and authorization mirroring from enterprise resource planning systems to document management systems |
US20120246115A1 (en) * | 2011-03-22 | 2012-09-27 | Oracle International Corporation | Folder structure and authorization mirroring from enterprise resource planning systems to document management systems |
US9762428B2 (en) | 2012-01-11 | 2017-09-12 | Bazaarvoice, Inc. | Identifying and assigning metrics to influential user generated content |
US20140095231A1 (en) * | 2012-09-28 | 2014-04-03 | Tata Consultancy Services Limited | Guided analytics |
US10664509B1 (en) * | 2013-08-05 | 2020-05-26 | Google Llc | Processing non-uniform datasets |
US20170024437A1 (en) * | 2015-07-21 | 2017-01-26 | Autodesk, Inc. | Platform for authoring, storing, and searching workflows |
US10083204B2 (en) * | 2015-07-21 | 2018-09-25 | Autodesk, Inc. | Platform for authoring, storing, and searching workflows |
US20220253773A1 (en) * | 2019-10-25 | 2022-08-11 | Julia Co., Ltd | Information management system, server, and user terminal |
Also Published As
Publication number | Publication date |
---|---|
US20110238649A1 (en) | 2011-09-29 |
US20110238650A1 (en) | 2011-09-29 |
EP2270724A3 (en) | 2013-01-16 |
EP2270725A3 (en) | 2013-01-16 |
WO2009055465A2 (en) | 2009-04-30 |
US8880461B2 (en) | 2014-11-04 |
US20110246444A1 (en) | 2011-10-06 |
US20090249290A1 (en) | 2009-10-01 |
EP2203877A2 (en) | 2010-07-07 |
WO2009055465A3 (en) | 2009-09-24 |
EP2203877A4 (en) | 2012-08-01 |
EP2270725A2 (en) | 2011-01-05 |
US8464206B2 (en) | 2013-06-11 |
EP2270724A2 (en) | 2011-01-05 |
US20090249446A1 (en) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8880461B2 (en) | Method and system for managing enterprise content | |
US10304021B2 (en) | Metadata-configurable systems and methods for network services | |
US8219974B2 (en) | Enforcing legal holds of heterogeneous objects for litigation | |
US8090754B2 (en) | Managing relationships of heterogeneous objects | |
KR101033446B1 (en) | User interfaces for data integration systems | |
RU2546322C2 (en) | Cooperation capability enhancement using external data | |
US7831567B2 (en) | System, method, and software for managing information retention using uniform retention rules | |
US20090150906A1 (en) | Automatic electronic discovery of heterogeneous objects for litigation | |
US20090150168A1 (en) | Litigation document management | |
US20080295101A1 (en) | Electronic document manager | |
JP2013530464A (en) | Integrated workflow and database transactions | |
US11468229B2 (en) | Describing changes in a workflow based on changes in structured documents containing workflow metadata | |
EP3400563A1 (en) | Computer-implemented method for complex dynamic case management | |
Pialorsi | Microsoft SharePoint 2013 Developer Reference | |
US12095886B2 (en) | Entity card utilization | |
Fielder et al. | Systems and methods for composable analytics | |
Keen et al. | Building IBM business process management solutions using WebSphere V7 and business space | |
Zhu et al. | IBM FileNet P8 Platform and architecture | |
Londer et al. | Microsoft SharePoint Foundation 2010 Step by Step | |
Horvath | Collaborative Spaces for Increased Traceability in Knowledge-Intensive Document-Based Processes | |
Goodyear et al. | SharePoint 2013 Enterprise Content Management Features | |
NZ537183A (en) | Method and system and computer program for the management of information in a computer network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: OPEN TEXT CORPORATION, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JENKINS, PAUL THOMAS;BARKLEY, DANIEL WRAY;BOENDER, ROBERT W.;AND OTHERS;REEL/FRAME:023328/0240;SIGNING DATES FROM 20081024 TO 20090616 |
|
AS | Assignment |
Owner name: OPEN TEXT S.A., LUXEMBOURG Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OPEN TEXT CORPORATION;REEL/FRAME:027187/0422 Effective date: 20111007 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: OPEN TEXT SA ULC, CANADA Free format text: CERTIFICATE OF AMALGAMATION;ASSIGNOR:IP OT SUB ULC;REEL/FRAME:067400/0239 Effective date: 20160708 Owner name: OT IP SUB, LLC, DELAWARE Free format text: IP BUSINESS SALE AGREEMENT;ASSIGNOR:OPEN TEXT S.A.;REEL/FRAME:067400/0172 Effective date: 20160701 Owner name: IP OT SUB ULC, CANADA Free format text: CERTIFICATE OF CONTINUANCE;ASSIGNOR:OT IP SUB, LLC;REEL/FRAME:067400/0155 Effective date: 20160702 |
|
AS | Assignment |
Owner name: CROWDSTRIKE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OPEN TEXT CORP.;REEL/FRAME:068122/0301 Effective date: 20240716 |