Inter-application workflow performance analytics
Methods, systems and computer program products for shared content management systems that provide performance analytics pertaining to a project. Embodiments include establishing one or more network communication links between a content management system that manages a plurality of shared content objects and a plurality of applications that cause modifications to the shared content objects in accordance with workflows of the project. Iteraction events that correspond to modifications over the shared content objects are recorded such that interaction events associated with the plurality of applications are selected based at least in part on attributes associated with the interaction events. Relationships between the recorded interaction events such as time durations between certain of the interaction events are calculated. Project performance measurements are generated based on the calculations and/or based on other relationships between the interaction events. The calculations may span across many different applications and/or many different departments and/or many different enterprises.
1 . A computer-implemented method for displaying inter-application workflow performance measurements based on computer-generated application interaction data to a user, the computer-implemented method being executed in a networked computing environment and comprising:
capturing, at a computerized content management system (CCMS), first electronic signals representing communications between the CCMS and a plurality of heterogeneous computer-executable applications through respective network communication links of the networked computing environment, wherein the communications are transmitted to and from the CCMS without human interaction and the computer-executable applications are invoked by respective computing devices of respective users to collaborate on a plurality of computer-readable digital content objects managed by the CCMS and to generate respective interaction events that are recorded to a storage device of the CCMS;
capturing, at one or more application programing interfaces (APIs) of the CCMS from a first user computing device and a second user computing device of the networked computing environment, and based at least in part upon the communications, second electronic signals representing on-line collaboration between the first user computing device and the second user computing device on a shared computer-readable digital content object of the plurality of computer-readable digital content objects, wherein the first and second user computing devices collaborate on the shared computer-readable digital content object managed by the CCMS at least by:
respectively identifying a directory or folder managed by the CCMS;
respectively accessing a corresponding electronic file within the folder or directory for the shared computer-readable digital content object managed by the CCMS; and
performing at least one of a content modification operation and a content generation operation on the shared computer-readable digital content object managed by the CCMS;
reducing consumption of CCMS computing resources in fulfillment of a request from the first user computing device for inter-application performance measurements at least by:
aggregating, by an instance of a software service hosted by the CCMS, a smaller subset of interaction events involving heterogenous computer-executable applications of a set of recorded interaction events based at least in part upon a request attribute and the second electronic signals, wherein
the request attribute is retrieved from a first inter-process communication issued by the first user computing device and determined from the first electronic signals, and
the instance of the software service is instantiated on the CCMS and is remote from the multiple user computing devices that invoke a plurality of computer-executable heterogeneous applications to collaborate on the shared computer-readable digital content object;
populating a plurality of event attributes into a data structure, the plurality of event attributes retrieved from the smaller subset of the set of recorded interaction events and respectively corresponding to respective interaction events in the smaller subset;
loading the plurality of event attributes from the data structure into memory of the CCMS;
generating the inter-application performance measurements at least by
analyzing the plurality of event attributes in the memory, and
querying one or more metric definitions for the inter-application performance measurement;
rendering one or more user interface elements in a view of a computer-generated user interface for the first user computing device, the one or more user interface elements comprising inter-application performance measurements based at least in part on the plurality of event attributes retrieved from the smaller subset of the set of recorded interaction events; and
displaying the computer-generated user interface comprising the inter-application performance measurements to the user of the first user computing device.
2 . The computer-implemented method of claim 1 , further comprising:
analyzing at least the plurality of event attributes associated with the smaller subset of the set of recorded interaction events, wherein
the inter-application performance measurements are generated based at least in part upon an analysis result of analyzing at least the plurality of event attributes associated with the smaller subset of the set of recorded interaction events.
3 . The computer-implemented method of claim 2 , further comprising:
selecting, by the instance of the software service or a separate instance of the software service or another software service, policy information from a plurality of policies stored in a central store of the CCMS based at least in part upon the request attribute, wherein
the smaller subset of interaction events is aggregated from the set of recorded interaction events at least by applying the policy information to the plurality of event attributes associated with the smaller subset of the set of recorded interaction events.
4 . The computer-implemented method of claim 3 , wherein the policy information comprises at least one of
a plurality of workflow definitions of a plurality of work flows for the collaboration on the shared computer-readable digital content object,
a definition of an interaction between at least two computer-executable applications of the plurality of heterogeneous computer-executable applications, and
a metric definition pertaining to the inter-application performance measurements.
5 . The computer-implemented method of claim 3 , further comprising:
identifying the plurality of policies from the central store that is stored on the CCMS; and
normalizing application information pertaining to the plurality of heterogeneous computer-executable applications and the CCMS into normalized application information that is stored in an application registry.
6 . The computer-implemented method of claim 5 , further comprising:
normalizing policy data in at least one policy of the plurality of policies into normalized policy data that is used in aggregating the smaller subset of the set of recorded interaction events, wherein
the plurality of event attributes comprise a link attribute and is stored in a storage device accessible by the CCMS and remote from the plurality of heterogeneous computer-executable applications and the central store,
the policy information is stored in the central store remote from the plurality of heterogeneous computer-executable applications and the CCMS, and
the application registry is remote from the central store and the CCMS.
7 . The computer-implemented method of claim 1 , further comprising:
in response to an instruction for loading the view in a first user of the computer-generated interface to be displayed through the first user computing device that invokes a first computer-executable application and based at least in part upon the request attribute of a first communication from the first user computing device,
aggregating, by the instance of the software service, the smaller subset of the set of recorded interaction events at least by aggregating, from the communications represented in the first electronic signals, the second electronic signals representing the collaboration performed by the first user computing device and the second user computing device on the shared computer-readable digital content object in a networked computing environment, wherein the collaboration comprises:
performing, by the first user computing device, a first modification or generation of contents of the shared computer-readable digital content object in a first interaction event as indicated in the first communication; and
performing, by the second user computing device, a second modification or generation of the contents of the shared computer-readable digital content object in a second interaction event as indicated in a second communication of the communications; and
displaying the inter-application performance measurements in the view in the computer-generated user interface, based at least in part upon the plurality of event attributes associated with the smaller subset of the set of recorded interaction events, wherein
the request attribute pertains to the request from the first user computing device for the inter-application performance measurements, and
the smaller subset of the set of recorded interaction events is performed across multiple computer-executable applications including first and second computer-executable applications, that are respectively invoked by the first and second user computing devices to collaborate on the shared computer-readable digital content object.
8 . The computer-implemented method of claim 1 , wherein the request attribute pertains to the request for the inter-application performance measurements and comprises at least one of a link attribute that comprises information linking the shared computer-readable digital content object to a user or a workflow for a first computer-executable application invoked by the first user computing device or a second computer-executable application invoked by the second user computing device to collaborate on the shared computer-readable digital content object.
9 . The computer-implemented method of claim 1 , wherein the smaller subset of set of recorded interaction events comprises a user-to-user interaction event.
10 . The computer-implemented method of claim 1 , further comprising:
detecting at least one communication from the communications, wherein the at least one communication codifies at least one event attribute of the plurality of event attributes;
retrieving the at least one event attribute of the plurality of event attributes from the at least one communication and one or more additional attributes, wherein the one or more additional attributes comprise at least one of
a user attribute pertaining to a user of a first computer-executable application invoked by the first user computing device for the collaboration or a second computer-executable application invoked by the second user computing device for the collaboration,
an object attribute pertaining to the shared computer-readable digital content object, an application attribute pertaining to the first or the second computer-executable application, and
an interaction definition attribute pertaining to the collaboration on the shared computer-readable digital content object; and
populating an event record based at least in part upon the at least one event attribute retrieved from the at least one communication and the one or more additional attributes.
11 . The computer-implemented method of claim 1 , wherein the computer generated user interface displayed to the user of the first computing device comprises a graphical visualization of heterogenous computer-executable applications and associated inter-application performance measurements.
12 . A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a set of acts for displaying inter-application workflow performance measurements based on computer-generated application interaction data to a user, the set of acts being executed in a networked computing environment and comprising:
capturing, at a computerized content management system (CCMS), first electronic signals representing communications between the CCMS and a plurality of heterogeneous computer-executable applications through respective network communication links of the networked computing environment, wherein the communications are transmitted to and from the CCMS without human interaction and the computer-executable applications are invoked by respective computing devices of respective to collaborate on a plurality of computer-readable digital content objects managed by the CCMS and to generate respective interaction events that are recorded to a storage device of the CCMS;
capturing, at one or more application programming interfaces (APIs) of the CCMS from a first user computing device and a second user computing device of the networked computing environment, and based at least in part upon the communications, second electronic signals representing on-line collaboration between the first user computing device and the second user computing device on a shared computer-readable digital content object of the plurality of computer-readable digital content objects, wherein the first and the second user computing devices collaborate on the shared computer-readable digital content object managed by the CCMS at least by:
respectively identifying a directory or folder managed by the CCMS;
respectively accessing a corresponding electronic file within the folder or directory for the shared computer-readable digital content object; and
performing at least one of a content modification operation and a content generation operation on the shared computer-readable digital content object managed by the CCMS;
reducing consumption of CCMS computing resources in fulfillment of a request from the first user computing device for inter-application performance measurements at least by:
aggregating, by an instance of a software service hosted by the CCMS, a smaller subset of interaction events involving heterogenous computer-executable applications of a set of recorded interaction events based at least in part upon a request attribute and the second electronic signals, wherein
the request attribute is retrieved from a first inter-process communication issued by the first user computing device and determined from the first electronic signals, and
the instance of the software service is instantiated on the CCMS and is remote from the multiple user computing devices that invoke a plurality of heterogeneous computer-executable applications to collaborate on the shared computer-readable digital content object;
populating a plurality of event attributes into a data structure, the plurality of event attributes retrieved from the smaller subset of the set of recorded interaction events and respectively corresponding to respective interaction events in the smaller subset;
loading the plurality of event attributes from the data structure into memory of the CCMS;
generating the inter-application performance measurement at least by
analyzing the plurality of event attributes in the memory and
querying one or more metric definitions for the inter-application performance measurement;
rendering one or more user interface elements in a view of a computer-generated user interface for the first user computing device, the one or more user interface elements comprising inter-application performance measurements based at least in part on the plurality of event attributes retrieved from the smaller subset of the set of recorded interaction events, and
displaying the computer-generated user interface comprising the inter-application performance measurements to the user of the first user computing device.
13 . The non-transitory computer readable medium of claim 12 , the set of acts further comprising:
analyzing at least the plurality of event attributes associated with the smaller subset of the set of recorded interaction events, wherein the inter-application performance measurements are generated based at least in part upon an analysis result of analyzing at least the plurality of event attributes associated with the smaller subset of the set of recorded interaction events.
14 . The non-transitory computer readable medium of claim 13 , the set of acts further comprising:
selecting, by the instance of the software service or a separate instance of the software service or a different software service, policy information from a plurality of policies stored in a central store of the CCMS based at least in part upon the request attribute, wherein
the smaller subset of interaction events is aggregated from the set of recorded interaction events at least by applying the policy information to the plurality of event attributes associated with the smaller subset of the set of recorded interaction events.
15 . The non-transitory computer readable medium of claim 14 , wherein the policy information comprises at least one of
a plurality of workflow definitions of a plurality of work flows for the collaboration on the shared computer-readable digital content object,
a definition of an interaction between at least two computer-executable applications of the plurality of heterogeneous computer-executable applications, and
a metric definition pertaining to the inter-application performance measurements.
16 . The non-transitory computer readable medium of claim 14 , the set of acts further comprising:
identifying the plurality of policies from the central store that is stored on the CCMS;
normalizing application information pertaining to the plurality of heterogeneous computer-executable applications and the CCMS into normalized application information that is stored in an application registry; and
normalizing policy data in at least one policy of the plurality of policies into normalized policy data that is used in aggregating the smaller subset of the set of recorded interaction events, wherein
the plurality of event attributes comprise a link attribute and is stored in a storage device accessible by the CCMS and remote from the plurality of heterogeneous computer-executable applications and the central store,
the policy information is stored in the central store remote from the plurality of heterogeneous computer-executable applications and the CCMS, and
the application registry is remote from the central store and the CCMS.
17 . The non-transitory computer readable medium of claim 12 , wherein the computer-generated user interface displayed to the user of the first computing device comprises a graphical visualization of heterogenous computer-executable applications and associated inter-application performance measurements.
18 . A system of a networked computing environment for displaying inter-application workflow performance measurements based on computer-generated application interaction data to a user, the system comprising:
a non-transitory storage medium having stored thereon a sequence of instructions; and
one or more processors that execute the sequence of instructions, wherein execution of the sequence of instructions causes the one or more processors to perform a set of acts, the set of acts comprising:
capturing, at a computerized content management system (CCMS), first electronic signals representing communications between the CCMS and a plurality of heterogeneous computer-executable applications through respective network communication links of the networked computing environment, wherein the communications are transmitted to and from the CCMS without human intervention and the computer executable applications are invoked by respective user computing devices of respective users to collaborate on a plurality of computer-readable digital content objects managed by the CCMS and to generate respective interaction events that are recorded to a storage device of the CCMS;
capturing, at one or more application programing interfaces (APIs) of the CCMS from a first user computing device and a second user computing device of the networked computing environment and based at least in part upon the communications, second electronic signals representing collaboration between the first user computing device and the second user computing device on a shared computer-readable digital content object of the plurality of computer-readable digital content objects, wherein the first and the second user computing devices collaborate on the shared computer-readable digital content object managed by the CCMS at least by:
respectively identifying a directory or folder managed by the CCMS,
respectively accessing a corresponding electronic file within the folder or directory for the shared computer-readable digital content object, and
performing, at least one of a content modification operation and a content generation operation on the shared computer-readable digital content object managed by the CCMS;
reducing consumption of CCMS computing resources in fulfillment of a request from the first user computing device for inter-application performance measurements at least by:
aggregating, by an instance of a software service hosted by the CCMS, a smaller subset of interaction events involving heterogeneous computer-executable applications of a set of recorded interaction events based at least in part upon a request attribute and the second electronic signals, wherein
the request attribute is retrieved from a first inter-process communication issued by the first user computing device and determined from the first electronic signals, and
the instance of the software service is instantiated on the CCMS and is remote from the multiple user computing devices that invoke a plurality of computer-executable heterogeneous applications to collaborate on the shared computer-readable digital content object;
populating a plurality of event attributes into a data structure, the plurality of event attributes retrieved from the smaller subset of the set of recorded interaction events and respectively corresponding to respective interaction events in the smaller subset;
loading the plurality of event attributes from the data structure into memory of the CCMS;
generating the inter-application performance measurements at least by
analyzing the plurality of event attributes in the memory,
querying one or more metric definitions for the inter-application performance measurement;
rendering one or more user interface elements in a view of a computer-generated user interface for the first user computing device, the one or more user interface elements comprising inter-application performance measurements based at least in part on the plurality of event attributes retrieved from the smaller subset of the set of recorded interaction events; and
displaying the computer-generated user interface comprising the inter-application performance measurements to the user of the first user computing device.
19 . The system of claim 18 , the set of acts further comprising:
analyzing at least the plurality of event attributes associated with the smaller subset of the set of recorded interaction events, wherein the inter-application performance measurements are generated based at least in part upon an analysis result of analyzing at least the plurality of event attributes associated with the smaller subset of the set of recorded interaction events.
20 . The system of claim 19 , the set of acts further comprising:
selecting, by the instance of the software service or a separate instance of the software service or a different software service, policy information from a plurality of policies stored in a central store of the CCMS based at least in part upon the request attribute, wherein
the smaller subset of interaction events is aggregated from the set of recorded interaction events at least by applying the policy information to the event attribute associated with the smaller subset of set of recorded interaction events.
21 . The system of claim 20 , wherein the policy information comprises at least one of
a plurality of workflow definitions of a plurality of work flows for the collaboration on the shared computer-readable digital content object,
a definition of an interaction between at least two computer-executable applications of the plurality of heterogeneous computer-executable applications, and
a metric definition pertaining to the inter-application performance measurements.
22 . The system of claim 20 , the set of acts further comprising:
identifying the plurality of policies from the central store that is stored on the CCMS;
normalizing application information pertaining to the plurality of heterogeneous computer-executable applications and the CCMS into normalized application information that is stored in an application registry;
normalizing policy data in at least one policy of the plurality of policies into normalized policy data that is used in aggregating the smaller subset of the set of recorded interaction events, wherein
the plurality of event attributes comprise a link attribute and is stored in a storage device accessible by the CCMS and remote from the plurality of heterogeneous computer- executable applications and the central store,
the policy information is stored in the central store remote from remote from the plurality of heterogeneous computer-executable applications and the CCMS, and
the application registry is remote from the central store and the CCMS.
23 . The system of claim 18 , wherein the computer generated user interface displayed to the user of the first computing device comprises a graphical visualization of heterogenous computer-executable applications and associated inter-application performance measurements.