Performance based approval in CMS workflow process

A method for testing a new workflowed item associated with a workflow process in a content management system (CMS) is provided. The method may include adding a workflow stage to the workflow process in the content management system (CMS). The method may also include adding a test associated with the workflow stage. The method may further include determining if a criteria threshold is met based on the test associated with the workflow stage. Additionally, the method may include publishing the new workflowed item based on the criteria threshold being met.

FIELD OF THE INVENTION

The present invention relates generally to the field of computing, and more particularly to a workflow process.

BACKGROUND

A content management system (CMS) is a computer program that allows publishing, editing and modifying content as well as maintenance from a central interface. Such systems of content management typically provide procedures to manage workflow in a collaborative environment. As such, most content management systems (CMS) may utilize a workflow system to ensure content and changes are reviewed and approved appropriately. However, at the same time, the business may want to improve the performance of its assets, such as focusing on improving click-throughs and ultimately conversions leading to sales. As a result, marketers may run randomized experiments with two variants (i.e., A/B tests) and multi-variate tests to try to test and identify changes that may improve performance of an item.

SUMMARY

According to one embodiment, a method for testing a new workflowed item associated with a workflow process in a content management system (CMS) is provided. The method may include adding a workflow stage to the workflow process in the content management system (CMS). The method may also include adding a test associated with the workflow stage. The method may further include determining if a criteria threshold is met based on the test associated with the workflow stage. Additionally, the method may include publishing the new workflowed item based on the criteria threshold being met.

According to another embodiment, a computer system for testing a new workflowed item associated with a workflow process in a content management system (CMS). The computer system may include one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method. The method may include adding a workflow stage to the workflow process in the content management system (CMS). The method may also include adding a test associated with the workflow stage. The method may further include determining if a criteria threshold is met based on the test associated with the workflow stage. Additionally, the method may include publishing the new workflowed item based on the criteria threshold being met.

According to yet another embodiment, a computer program product for testing a new workflowed item associated with a workflow process in a content management system (CMS) is provided. The computer program product may include one or more computer-readable tangible storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor. The computer program product may include program instructions to add a workflow stage to the workflow process in the content management system (CMS). The computer program product may also include program instructions to add a test associated with the workflow stage. The computer program product may further include program instructions to determine if a criteria threshold is met based on the test associated with the workflow stage. Additionally, the computer program product may include program instructions to publish the new workflowed item based on the criteria threshold being met.

DETAILED DESCRIPTION

Embodiments of the present invention relate generally to the field of computing, and more particularly to a workflow process. The following described exemplary embodiments provide a system, method and program product to, among other things, test a workflowed item in production using a variant test, such as an A/B test, along with performance criteria thresholds.

As previously described, content management systems (CMS) may utilize a workflow system to ensure content and changes are reviewed and approved appropriately. However, at the same time, the business may want to improve the performance of its assets, such as focusing on improving click-throughs and ultimately conversions leading to sales. As a result, marketers may run randomized experiments with two variants (i.e., A/B tests) and multi-variate tests to try to test and identify changes that may improve performance of an item. However, these tests are typically either run outside of the workflow approval governance model (with variant elements not approved or published until tests indicate they should replace current elements). Additionally, many ‘duplicate’ elements may be treated as published and then removed after tests are completed. As such, this incompatibility between the two models of content management may not be ideal for managing, maintaining and governing the content within the system. As such, it may be advantageous, among other things, to implement a new CMS performance-test workflow stage which may be applied to any currently “workflowed” item type.

According to at least one embodiment, a new type of stage in a CMS's workflow process where a content item, presentational change, project (i.e., a collection of content item changes), or other workflowed item is tested in production using an A/B test (or similar type of test) and particular performance criteria thresholds. If the particular criteria thresholds are met by the workflowed item, the workflowed item may be moved to the next workflow stage automatically and the workflowed item may be published.

The following described exemplary embodiments provide a system, method and program product to, among other things, test a workflowed item in production using a variant test, such as an A/B test, along with performance criteria thresholds. According to at least one embodiment, a new type of CMS workflow stage (i.e., the Performance-Test) which may be applied to any currently “workflowed” item type (i.e., the Item) may be introduced. As such, the Performance-Test stage may typically be placed in a workflow between the Draft and the Published stages, but can be used as part of any arbitrary workflow. Additionally, a “tentative approval” may place the Item in the Performance-Test stage. Therefore, when the Item is in the Performance-Test stage, the Item's draft may be treated as one half of an A/B test, with the original version of the Item being the other half. As such, some proportion of the CMS's end-users may see the draft version, and the rest of the CMS's end-users may see the currently published version.

Furthermore, the Performance-Test stage may have associated with it some configurable Criteria and Thresholds. The Criteria may include click-through and sale rates, time on page, rendering performance, return rate, or any other measurable performance criteria. The Thresholds may include a percentage improvement in a combination of the Criteria, or no degradation in performance across the Criteria, or any other function of the Criteria measurements. The Performance-Test stage may also have a time Limit. The time limit may be the time for which the A/B test should be run. Therefore, after the Limit has been met, the performance of the Item (the Criteria) may be compared between the variations in the A/B test. As such, if the Thresholds are met by the new version of the Item, then the Item may be automatically moved to the next stage in the workflow (e.g. Published). However, if the Thresholds are not met, then the item may be automatically returned to the previous stage in the workflow (e.g. Draft). In an alternate embodiment, the duration of the test may be based on the number of views of the content, or statistical significance of the performance test measurements. For example, a popular content item part of a web-page may require less time to test than a less popular part.

Referring now toFIG. 1, an exemplary networked computer environment100in accordance with one embodiment is depicted. The networked computer environment100may include a computer102with a processor104and a data storage device106that is enabled to run a software program108. The networked computer environment100may also include a content management system (CMS)112, a server114running a CMS workflow process program116and a communication network110. The networked computer environment100may include a plurality of computers102and servers114, only one of which is shown. The communication network may include various types of communication networks, such as a wide area network (WAN), local area network (LAN), a telecommunication network, a wireless network, a public switched network and/or a satellite network. It should be appreciated thatFIG. 1provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.

The client computer102may communicate with content management system (CMS)112running on server computer114via the communications network110. The communications network110may include connections, such as wire, wireless communication links, or fiber optic cables. As will be discussed with reference toFIG. 3, server computer114may include internal components800aand external components900a, respectively, and client computer102may include internal components800band external components900b, respectively. Client computer102may be, for example, a mobile device, a telephone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing devices capable of accessing a network.

As previously described, the client computer102may access the content management system (CMS)112, running on server computer114via the communications network110. For example, a user using an application program108(e.g., Firefox®) (Firefox and all Firefox-based trademarks and logos are trademarks or registered trademarks of Mozilla and/or its affiliates) running on a client computer102may connect via a communication network110to the content management system (CMS)112which may be running on server computer114. The CMS workflow process program116, running on server computer114may introduce a “Performance Test stage” and “performance criteria threshold checking” to a workflow associated with the content management system (CMS)112. The “Performance Test stage” and “performance criteria threshold checking” may act as a means of verifying that any new content performs to some predefined target (such as click-throughs, sales, or engagement) or that edits to existing content either increase the performance, or do not decrease the performance.

A typical workflow may consist of multiple stages, such as a draft stage and a published stage. The workflow may allow new content to be created and edits to be made to existing content without the work-in-progress changes being exposed to the end-users. However, according to the present embodiment, the workflow may allow new content to be created and edits to be made to existing content with the work-in-progress changes being exposed in a controlled manner to the end-users. As such, movement between workflow stages may be controlled by managers and content authors in the CMS system112. As previously explained, the CMS authors and managers may access the CMS system112through any appropriate means, for example remotely over a network110using a web-browser108from a computer102if the CMS112has a web interface, or an application specific to the CMS112, or a plugin to a 3rd party editing tool.

Additionally, the end-users may be consumers of the content. Therefore, if the content being managed by the CMS112is web content or presentational information relating to web content, then the end-users may access the content remotely over a network110through a web browser108on a computer102or computing device102(mobile phone, tablet, etc.). Furthermore, web content or other content (e.g. audio or video) may also be accessed through applications108on computers102or devices102tailored to the content, such as ebook readers or television set-top boxes. According to one implementation of the present embodiment, the end-users may not necessarily be aware of the workflow process happening on the server. The method associated with the CMS workflow process program116is explained in further detail below with respect toFIG. 2.

FIG. 2, an operational flowchart200illustrating the steps carried out by a program to test a workflowed item in production using a variant test along with performance criteria thresholds is depicted. As previously described, the CMS workflow process program116(FIG. 1) may run as part of a content management system (CMS)112(FIG. 1), which would typically be running on a server114(FIG. 1). According to one implementation, the workflow process program116(FIG. 1) may be applied to one or more pieces of content in the CMS112(FIG. 1).

The content authors and managers may be responsible for defining the workflow (example “Draft; Test; and Publish” stages202-206depicted) and for defining which tests to run during the “Performance test stage”208. As such, at202, the item workflow may be started. Therefore, the CMS authors and managers may perform the “Item Workflow started” action. For example, the CMS authors and mangers may create a new content item or may initiate changes to existing content.

Then at204, the item workflow may enter the draft stage. As such, the CMS authors and managers may perform the authoring during the “Draft stage” of the workflow. Therefore, a manager may assign particulars associated with the item workflow such as permissible author. Then at206, the item workflow may be tentatively approved. Therefore, the CMS authors and managers may perform the “Tentatively approve” action associated with the item workflow and the “Tentative approval” may place the item workflow in the Performance-Test stage at208.

Therefore, at208, the “Performance Test stage” may be introduced to the workflow. As such, the “Performance Test stage” may introduce a test, such as a variant test, which may compare a new workflowed item with an old workflow item. The variant test may act as a means of verifying that the new content performs to some predefined target (such as click-throughs, sales, or engagement) or that edits to existing content either increase the performance, or do not decrease the performance. For example, when the workflowed item (i.e., Item) is in the Performance-Test stage, the Item's draft may be treated as one half of an A/B test, with the original version of the Item being the other half. As such, some proportion of the CMS's end-users may see the draft version, and the rest may see the currently published version. According to the present embodiment, the A/B or multi-variate test may be performed entirely on the server hosting the content (which may be separate from however linked to the CMS112(FIG. 1)) or through a combination of function running on the end-users' devices102(FIG. 1) and the server114(FIG. 1). Additionally, according to the present embodiment, current technology and methods may be utilized for the A/B and multi-variate testing.

As previously described, the Performance-Test stage may have configurable Criteria and Thresholds (i.e., criteria threshold) associated with it. The Performance-Test stage may also have a time Limit, i.e. the time for which the A/B test should be run. After the Limit, the performance of the Item (the Criteria) may be compared between the variations in the A/B test, such as a comparison of the new workflowed item with the old workflowed item (as will be explained below with respect to step210).

Therefore, at210“performance criteria threshold checking” may be introduced to the workflow. Therefore, the method may determine whether the criteria thresholds are met. As previously explained, the Criteria may include click-through/sale rates, time on page, rendering performance, return rate, or any other measurable performance criteria. The Thresholds may include a percentage improvement in a combination of the Criteria, or no degradation in performance across the Criteria, or any other function of the Criteria measurements. If at210, the criteria thresholds are not met by the new version of the item, then the item may be automatically returned to the previous stage of the workflow (e.g., the method may continue back to the draft stage at step204). However, if at210, the criteria thresholds are met by the new version of the Item, then the Item may be automatically be moved to the next stage in the workflow (e.g. the method may enter the published stage at212). As such, at212, the workflowed item may be published. Therefore all of the end-users may see the new Item version that has been published. For example, the old workflow item may be removed from a website, while the new workflowed item may become primary and as such, may be added to the website. Then at214, the item workflow may end and the method has completed.

It may be appreciated thatFIG. 2provides only an illustration of one implementation and does not imply any limitations with regard to how different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements. For example, in an alternate implementation of the present embodiment where a Multi-Variate test may be used by the Performance-Test stage, i.e. a test where different combinations of changes are presented to different end-users, multiple draft items from the workflowed Item may be used. Furthermore, in another implementation, where the stage following the Performance-Test stage in the workflow is not Published. As such, there may be a further manual Approval stage. Therefore, Criteria results of the different versions and Thresholds may be presented to the content author or approver for comparison in order to make a decision. Additionally, according to another implementation of the present embodiment, the test may be presented to a predefined audience, rather than to a randomly selected group of end-users. According to yet another alternate implementation, the method may create two competing variations of a new workflowed item (e.g., article or marketing campaign) which may then us an A/B/C variant test against the two new items and the existing item (if one exists). Then based on the criteria (such as registered impressions), the successful item may be promoted as the primary and the other failed item may return to the start of its workflow to be reworked or removed.

User client computer102(FIG. 1), and network server114(FIG. 1) may include respective sets of internal components800a, band external components900a, billustrated inFIG. 3. Each of the sets of internal components800a, bincludes one or more processors820, one or more computer-readable RAMs822and one or more computer-readable ROMs824on one or more buses826, and one or more operating systems828and one or more computer-readable tangible storage devices830. The one or more operating systems828and software program108(FIG. 1) in client computer102is stored on one or more of the respective computer-readable tangible storage medium830for execution by one or more of the respective processors820via one or more of the respective RAMs822(which typically include cache memory). In the embodiment illustrated inFIG. 3, each of the computer-readable tangible storage medium830is a magnetic disk storage device of an internal hard drive. Alternatively, each of the computer-readable tangible storage medium830is a semiconductor storage device such as ROM824, EPROM, flash memory or any other computer-readable tangible storage device that can store a computer program and digital information.

Each set of internal components800a, balso includes a R/W drive or interface832to read from and write to one or more portable computer-readable tangible storage medium936such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device. A software program108such as CMS workflow process program116can be stored on one or more of the respective portable computer-readable tangible storage medium936, read via the respective R/W drive or interface832and loaded into the respective hard drive830.

Each set of internal components800a, balso includes network adapters or interfaces836such as a TCP/IP adapter cards, wireless Wi-Fi interface cards, or 3G or 4G wireless interface cards or other wired or wireless communication links. The software program108in client computer102and CMS workflow process program116can be downloaded to client computer102and server computer114, respectively from an external computer via a network (for example, the Internet, a local area network or other, wide area network) and respective network adapters or interfaces836. From the network adapters or interfaces836, the code software program108in client computer102and CMS workflow process program116in server computer114are loaded into the respective hard drive830. The network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.

Each of the sets of external components900a, bcan include a computer display monitor920, a keyboard930, and a computer mouse934. External components900a, bcan also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. Each of the sets of internal components800a, balso includes device drivers840to interface to computer display monitor920, keyboard930and computer mouse934. The device drivers840, R/W drive or interface832and network adapter or interface836comprise hardware and software (stored in storage device830and/or ROM824).