Document Status Management System
By introducing a workflow stage marking system in electronic content editing applications, the problem of document status tracking in multi-person collaborative document editing is solved, and document management efficiency and workflow nature are improved.
Patent Information
- Application Number
- CN201980036521.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-05-31
- Filing Date
- 2019-05-16
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2039-05-16
AI Technical Summary
During the multi-person collaborative document editing process, it is difficult to effectively track and manage the status of individual fragments of content in the document, resulting in inefficient document management.
By introducing a workflow phase marking system in an electronic content editing application, users allow tagging content elements in a document and record their associated workflow phases. The system displays workflow phase indicators in the user interface, helping the user identify the current state of content elements and workflow phases.
The system improves the efficiency of document management, allowing multiple authors to access and manage specific snippets of document content in real time, reduces manual overhead, and promotes a more natural and efficient workflow.
Smart Images

Figure CN112204595B_ABST
Abstract
Description
Background Art
[0001] Electronic documents typically contain digital content, such as text, images, and electronic tables. During the drafting of a document, the content is significantly revised by multiple people over a period of time. Some document editing applications, such as some word processors, track the revisions made to a document by different users and store them in the files that make up the document. This metadata can then be displayed through a redlining mechanism, where an underline format is used to present newly added content, and a strikethrough format identifies deleted content.
[0002] Collaborative authoring and review processes are commonly used in the development and review of word processing documents. The collaborative document management process is facilitated by the presence of communication networks to bring together various participants to achieve common goals. For example, many documents generated in today's electronic society are created by one or more individuals and then further reviewed by several others. The document to be reviewed is created in the form of electronic content, which may be forwarded to others via an electronic network for review and revision.
[0003] Authors and reviewers participating in this sharing process typically insert marks and comments, and sometimes modifications, into individualized versions of the document, each with its own comments, marks, and other annotations. In such cases, the document creator or manager must then sort through each copy of the document and merge the comments (and / or changes) into a single edited copy. Some comments and changes may be the same across versions, but the manager of the document will still need to sort through the various feedback to produce a final draft.
[0004] Furthermore, in the case of multiple authors, the ability to easily confirm or track the status of individual pieces of content in a document can be time consuming. Thus, there remains an important area for new and improved ideas for the efficient development of documents and the management of teams of authors and / or reviewers collaborating on a single document. Summary of the invention
[0005] According to a first aspect of the present disclosure, a system for marking specific content in electronic content associated with an application includes: one or more processors; and one or more computer-readable media, which include instructions, which when executed by the one or more processors, cause the one or more processors to: during use of the application, determine that a first trigger event has occurred for a first content element, the first content element including a portion of the electronic content. The instructions also cause the one or more processors to: in response to the determination that the first trigger event has occurred, cause the application to present a first user interface element including a plurality of workflow stage options, the plurality of workflow stage options including a first workflow stage; and receive a first user input indicating a selection of the first workflow stage. In addition, the instructions also cause the one or more processors to: in response to receiving the first user input, record an association between the first workflow stage and the first content element; determine that the first workflow stage is associated with the first content element; and when information about the first content element is being accessed in response to the determination that the first workflow stage is associated with the first content element, display a first indicator corresponding to the first workflow stage.
[0006] According to a second aspect of the present disclosure, a method for marking specific content in electronic content associated with an application, executed on one or more computing devices, includes: during use of the application, determining that a first trigger event has occurred for a first content element, the first content element including a portion of the electronic content. The method also includes: in response to the determination that the first trigger event has occurred, causing the application to present a first user interface element including a plurality of workflow stage options, the plurality of workflow stage options including a first workflow stage. In addition, the method involves: receiving a first user input indicating a selection of the first workflow stage; and in response to receiving the first user input, recording an association between the first workflow stage and the first content element; determining that the first workflow stage is associated with the first content element. In addition, the method includes: when information about the first content element is being accessed in response to the determination that the first workflow stage is associated with the first content element, displaying a first indicator corresponding to the first workflow stage.
[0007] This summary is provided to introduce some concepts in a simplified form, which are further described in the detailed description below. This summary is neither intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The accompanying drawings depict one or more implementations according to the present teachings by way of example only and not limitation. In the drawings, like reference numerals refer to the same or similar elements. In addition, it should be understood that the accompanying drawings are not necessarily drawn to scale.
[0009] Figure 1 is a conceptual diagram illustrating a collaborative document processing environment;
[0010] Figure 2 is a display diagram illustrating an implementation of an example word processor document with a content element selection;
[0011] Figure 3 is a display diagram illustrating an implementation of a word processor having a first menu and a first submenu presented in response to a trigger generated by a text selection;
[0012] Figure 4 is a display diagram illustrating an implementation of a word processor having a second submenu;
[0013] Figure 5 is a display diagram illustrating an implementation of a word processor having a first stage indicator;
[0014] Figure 6 is a display diagram illustrating an implementation of a word processor having a second menu;
[0015] Figure 7 is a display diagram illustrating an implementation of a word processor having a second submenu;
[0016] Figure 8 is a display diagram illustrating an implementation of a word processor having a first dialog box;
[0017] Fig. 9 is a display diagram illustrating an implementation of a word processor having a second dialog box;
[0018] Fig.10 is a conceptual diagram illustrating a distributed computing environment for tagging specific content;
[0019] Fig.11 is a display diagram illustrating an implementation of a word processor having a third submenu;
[0020] Fig.12 is a display diagram illustrating an implementation of a word processor having a third dialog box;
[0021] Fig.13 is a display diagram illustrating an implementation of a word processor having a fourth dialog box;
[0022] Fig.14 is a flow chart illustrating an implementation of a process for managing multi-part documents;
[0023] Fig.15 is a block diagram of an exemplary computing device that may be used to provide implementations of the mechanisms described herein; and
[0024] Fig.16 is a block diagram illustrating components of an exemplary machine configured to read instructions from a machine-readable medium. DETAILED DESCRIPTION
[0025] In the detailed description below, many specific details are set forth by way of example in order to provide a thorough understanding of the relevant teachings. However, it should be appreciated that the present teachings may be practiced without such details. In other instances, well-known methods, processes, components and / or circuits have been described at a relatively high level without detail in order to avoid unnecessarily obscuring aspects of the present teachings.
[0026] As described above, applications such as word processors, publishers, electronic spreadsheets, presentations, and others can be used to generate electronic documents or content. For the purposes of this description, the term "electronic content" includes any digital data that can be presented (e.g., visually or audibly presented), including but not limited to electronic documents, media streams, web pages, hypertext documents, images, digital video or video recordings, digital audio or audio recordings, animations, markup language documents (such as Hypertext Markup Language (HTML) or Extensible Markup Language (XML) documents), forms with blank components to accept input data or data describing a GUI application, and other digital data. As an example, the electronic content may include words or other text-based documents.
[0027] The electronic content can be understood to include or be divided into one or more parts, which will be referred to as content elements. Therefore, the "content element" in this specification includes any part of the electronic content that is defined or distinguishable as a part. For example, the content element can be automatically distinguished according to the characteristics of the content element itself (for example, the letters, numbers, words, sentences, paragraphs, parts, images, symbols or chapters of the electronic document or other file format specifications), or the content element can be manually defined by the reviewer (for example, a reviewer-selected word set in the electronic document, a reviewer-selected part of the digital image, a reviewer-selected slide from a presentation). Examples of content elements include partial or multiple electronic texts or other materials in the electronic document, comments, dynamic content in the form of media stream parts, such as parts of digital video or frames or frames of digital video or digital audio, dynamic content in the form of animation clips or frames, electronic forms, form templates, form elements, form data, activatable element specifications or executable instructions, and various elements that can be presented or accessed by the reviewer in the electronic content, including examples of scripted and non-scripted dynamic content, etc.
[0028] Additionally, for purposes of this application, an end user is a person who creates, authored, views, develops, manages, reviews, amends, or deletes a piece of electronic content, including creating or updating comments associated with the electronic content. End users include users of applications and the devices and systems described herein. Additionally, for purposes of this description, the terms "software application," "software," or "application" refer to a computer program that performs useful work, typically unrelated to the computer itself. Some non-limiting examples of software applications include word processors, spreadsheets, accounting systems, and telecommunication programs, as well as gaming software, utility and productivity tools, mobile applications, presentation graphics, and other productivity software.
[0029] In different implementations, such as in Microsoft The procedures provided in ) and other applications provide commenting and annotation tools. For example, Microsoft Provides users with tools such as annotation, highlighting, underlining and other formatting options, tracking changes, and comparison to add comments or make changes to documents. In other applications, such as Google A "suggest mode" may be used to suggest modifications or provide feedback to a document. These are non-limiting examples, and any other electronic content editing or collaboration application may benefit from the disclosed implementations.
[0030] Once comments are added, if desired, the document viewed by other reviewers can present the information contained in the comments. Such tools can be used to facilitate collaborative workflows. For the purposes of this description, collaboratively developed data or documents include any activity in which multiple machines operate together, either autonomously or under the guidance of humans, to process information including electronic content. Processing the information may include the following activities: acquiring the information, enhancing the information (e.g., via the addition of metadata, such as comments), classifying the information, changing the information, deleting the information, rendering the information, aggregating information from multiple sources, converting the information from one form to another, and deriving new information from pre-existing information. An example of a collaborative process is the collaboration of multiple reviewers to view, comment on, and change a document as part of a shared review activity.
[0031] Where multiple authors and / or reviewers collaborate to produce a document, various portions of the document may be authored and / or revised at different times or during different stages of document development. For example, a first content element of a document may be finalized, a second content element of the same document may be in revision, and a third content element within the same document may be in an initial drafting stage. Additionally, it may be difficult for a single author involved in the development of a larger document to maintain a comprehensive log to identify the corresponding workflow stages of various portions of the document. In some cases, authors may insert ad hoc comments or tags that must be carefully removed or manually checked and edited prior to publishing the document, thereby reducing the efficiency of the process.
[0032] In addition, in the case where multiple authors collaborate on a shared document, an author or reviewer may wish to work privately and choose to lock or restrict access to the entire document in order to work on a single part or content element. In some cases, a document may be locked by a reviewer during a time period during which other end users intend to contribute to the development of the document, and / or when the reviewer neglects to unlock the document and is out of communication or otherwise unreachable within a time period, the document may be locked unintentionally. The remaining end users may not be able to access the real-time document during such a period. For the purpose of this description, a real-time document refers to a document that can be used to be developed simultaneously in real time by multiple users and / or across multiple locations. In some cases, authors will process their respective parts from local document copies, which must later be merged or manually added to the real-time document, which usually results in errors or confusion of content materials.
[0033] In such cases, the "big picture" progress or workflow of a document or file may be obscured as users attempt to communicate the workflow stage or status of each content element or make changes without notifying others or obtaining their permission. Individuals or end users often process electronic content at different rates and will produce various content elements across different levels or stages of completeness. Additionally, ad hoc document organization exercises and communications can be time consuming and result in duplicated or wasted effort, thereby reducing the efficiency of the collaborative document generation process.
[0034] Therefore, there is still a need for a document management system and process in which multiple authors can access specific fragments of document content and receive real-time updates of the workflow status or phases of the specific content. Utilizing the system and process proposed in this article, users can more easily identify, mark, filter, classify, access, edit, communicate and share ideas across multiple content elements. In addition, the ability of a unique author to track or monitor the phases of the various parts of his own document often leads to stopgap or temporary solutions, which increases manual overhead. As described below, the proposed system provides individuals and groups of users with the ability to more accurately communicate or specify the integrity level of different content fragments, and helps set expectations for their colleagues, reviewers, co-authors or other collaborators. This process can improve the management of electronic documents and promote more natural and effective workflows.
[0035] In order to better introduce the system and method to readers, Figure 1 Presents a method for implementing a content element management system (in Fig.10 1. An example of a representative collaborative document processing environment ("environment") 150 is shown schematically in FIG. 1. In various implementations, the environment can include multiple computing device end users, or simply "users." For example, in Figure 1 1 , a first user 110, a second user 120, a third user 130, and a fourth user 140 are shown. One or more users are able to interact with a user device or manipulate data presented via the user device. In this case, each user accesses the document 100 on a separate device. When users collaborate on a real-time document, various parts or fragments of the document can be modified or otherwise accessed at various times and across various devices. In one implementation, multiple users are able to access the same document simultaneously and make changes that are presented to other users in real time. Thus, the workflow occurs via multiple "streams" that are configured to push data and retrieve data from a central repository or cloud network.
[0036] In this example, a first user 110 has locked access to a first portion 112 of a document 100, as represented by a lock icon 114. While the first portion 112 is locked, other users may not be able to modify and / or view the first portion 112. A second user 120 is modifying a second portion 122 of the document 100, as represented by a drafting icon 124. Additionally, a third user 130 is finalizing a third portion 132 of the document 100, as represented by a finalize icon 134, and a fourth user 140 is reviewing a fourth portion 142 of the document 100, as represented by a review icon 144. As will be described in more detail below, in different implementations, one or more users can be provided with an opportunity to insert, add, attach, pair, mark, link, record, and / or associate a workflow stage to one or more content elements. The term "workflow stage" may also be more simply referred to as a "stage." In some implementations, a stage can grant or be associated with specific policy settings that apply only to selected content element(s). For example, in Figure 1 In FIG. 1 , the first user 110 has marked the first portion 112 with a workflow stage that locks or limits other users' access to the first portion 112. In this case, the first user 110 can continue to work privately while other users maintain access to the rest of the document. Figure 2-Figure 4 to present additional details regarding the process of assigning "phase tags" to content elements.
[0037] exist Figure 2-Figure 4 , an implementation of a display 200 for a computing device is illustrated. In different implementations, the display 200 can present various icons or graphical representations, interfaces, applications, or other device status information. As an example, the display 200 includes a first application 210. For simplicity, Figure 2 The first application 210 in the example is a word processor program that displays a document page ("document") 212. In one implementation, the first application 210 can be understood to represent Microsoft or another word processor, such as Apple Corel Google IBM Lotus Word and other text editing programs. However, in other implementations, the first application 210 may include Microsoft Office or Any other software applications within the product array, and any non- application.
[0038] During various user interactions with the first application 210, the first application 210 - initially installed or upon update - can provide the user with an opportunity to mark portions of the document 212 (such as content elements) with one or more workflow stage identifiers. These can typically include substantially concise labels or tags (usually under 5 words, or a graphical representation directly indicating the stage), but in other implementations, the stage labels may be longer or more descriptive, particularly when the user chooses to customize the system. In some implementations, the opportunity may be displayed or otherwise provided to the user in response to a triggering event. First reference Figure 2 It can be understood that the user has navigated to a portion of the text of the document 212 using any type of input (such as mouse clicks, keyboard strokes, touch screen interactions, and other command inputs) and selected a first content element ("first content") 250. For simplicity, the input unit is represented as a cursor 240 herein.
[0039] It should be understood that the first content 250 can refer to any portion of a document. For example, in a word processor document that includes multiple portions or pages of text or other data, the selected content may include words, sentences, chapters, images, or the entire document. In this case, the first content 250 includes the first paragraph of the chapter ("first chapter"). It can be seen that there is additional content 260 below that is not selected and is outside the specified first content 250.
[0040] Next reference Figure 3 , when the user selects the first content 250, hovers over the selected first content 250, clicks the selected first content 250, or otherwise indicates a desire to view tools and tasks associated with the selected first content 250, the system can interpret the action as a trigger event. In this case, in response to the trigger event, the first application 210 displays local controls in the form of a first menu 310, listing multiple options that may be related to the user's specific selected content or the fact that any content has been selected.
[0041] For the purposes of this description, "native controls" refers to mechanisms for communicating content to application users via a client application. For example, local controls can include pop-up windows that can be presented to a user via a local application user interface (UI), interactive buttons or other objects that can be displayed to a user via a local application UI, and mechanisms local to a particular application for presenting content associated with those local controls. Additionally, a "trigger event" or "starting event" refers to an event (or a particular sequence of events) associated with a particular use of an application that is used to trigger the display of local controls in a local application. Figure 3In the present invention, a trigger event may be understood to include a "click" or other input action (such as a left or right mouse button click, a touch screen tap, a data selection, or other input type). However, in other implementations, a trigger event may occur in response to the results of the system's automatic intelligent scanning or searching of documents and their various content elements. For example, the application can be configured to automatically search electronic content periodically, substantially continuously, or at intervals determined by the end user, and identify when a specific workflow stage should be assigned to a content element. Therefore, in some implementations, a trigger event may occur without input or interaction from the end user.
[0042] exist Figure 3 In the example of , the local control is presented as a graphical UI (GUI). Although the presented GUI is shown as a floating drop-down menu, in other implementations, the local control can include any other type of user interface, such as a pop-up window, a dialog box or window, a window extending from the main menu 302, or other application communication or presentation unit. Figure 3 In the example, the first menu 310 is covered on the main interface of the first application. Figure 3 The specific position of the first menu 310 shown in is intended to emphasize the relationship of the message of the first menu 310 to the first content 250. However, it should be understood that in other implementations, the first menu 310 can be displayed or generated anywhere on (one or more) screens associated with the client's system, including separated from, adjacent to, or surrounding the first application 210.
[0043] exist Figure 3 In the specific example shown in , first menu 310 includes a series or plurality of menu options ("options") 350. In some implementations, first menu 310 can include one or more options that are generally provided when a triggering event is registered by the system, regardless of whether a content element selection has been made, such as "cut," "copy," "paste," and other such options, but in other implementations, only options related to a particular content element selection may be provided. Figure 3 , it can be seen that the menu includes a content option 320 labeled "Collaboration Tools". It should be understood that in different implementations, the content option 320 can be labeled or identified by any other type of alphanumeric text or symbol. In other implementations, any other alphanumeric text or graphic can be displayed in conjunction with the selection.
[0044] The system can interpret the action as a trigger event when the user selects a content option 320, hovers over a content option 320, clicks on a content option 320, or otherwise indicates a desire to view tools and tasks associated with the content option 320. In this case, in response to the trigger event, the first application 210 displays a local control in the form of a first sub-menu 330, listing a plurality of content sub-options ("content sub-options") 360 associated with the content option 320.
[0045] It should be understood that in other implementations, the first menu 310 may not be presented, and the selection of the first content 250 may instead result in the direct presentation of the first submenu 330. In addition, the options and suboptions shown in the figure are for illustrative purposes only, and in different implementations, the types and labels of the options can vary. In this example, the content suboption 360 includes a first suboption 362 ("stage"), a second suboption 364 ("suggestions"), a third suboption 366 ("customization"), and a fourth suboption 368 ("settings"). In other implementations, the number of suboptions may be less or more, and / or the available suboptions may be different from those shown here. In other implementations, any other alphanumeric text or graphics may be displayed in conjunction with the selection.
[0046] In different implementations, each option type can be associated with various actions. For example, a stage option can direct the user to another menu or option (see Figure 4 ), in which workflow stage indicators can be assigned to content elements. In addition, a "suggestions" option can be configured to provide a mechanism for users to add comments, notes, ideas, or other information and associate that information with content elements so that the suggestions can be available and / or displayed with the content elements when viewing the content elements (see Fig.11 and Fig.12 ). The "Customize" option can allow a user to add or modify available options or policies, add or delete stages, modify the current stage indicator, change the default menu or directory for a stage, and select or upload a different graphical icon to represent a particular stage. Similarly, the "Settings" option can provide the user with the opportunity to adjust the display, content, format, communication, access, and other settings associated with the collaboration tool. It should be understood that the "Settings" option can be made available on all menus described herein, whether or not explicitly identified.
[0047] In addition, in various implementations, any menu or local controls and options described herein can also include or be associated with an optional tool overview or "help" tool. These options can be configured to provide an introduction or summary of the provided feature(s) or tool(s), including but not limited to presenting instructional guides, FAQs, search help topics, images, schematics, tutorial overviews, screenshots, photos, slides, videos, audio, and other such content or guides.
[0048] exist Figure 4 , it can be seen that the first sub-option 362 identified as "Phase" (referring to the workflow stage of the document) has been selected. In different implementations, the workflow stage of a content element can be assigned by a user. However, it should be understood that in other implementations, the system can be configured so that one or more workflow stages are automatically assigned to and / or updated for various content elements. In other words, in some implementations, the application itself (rather than the end user) can be configured to run an automatic scan or search of documents. Upon detecting a specified occurrence or condition associated with any content element, the system can automatically determine the appropriate workflow stage for the content element and add the tag to the content element.
[0049] In some implementations, the system can determine when various portions of electronic content fall into a particular classification and assign or suggest appropriate labels. As a non-limiting example, a machine learning algorithm can be implemented that automatically detects whether certain content elements (such as paragraphs) are written with a certain degree or threshold of accuracy, quality, length, or other factors, and in response, automatically sets the workflow stage to "final" (or other stage label) for those content elements. As another example, the application can automatically detect that a content element should be edited or modified, and automatically sets the workflow stage to "review required". In other cases, the application can detect comments or suggested edits or revisions to a content element, and automatically associate the workflow stage "collect feedback" with the content element. In addition, in some implementations, the application can present, suggest, or propose one or more workflow stages that should be applied across one or more content elements, and provide the user with an opportunity to confirm or select one of the proposed stages associated with (one or more) content elements.
[0050] In addition, some implementations can include provisions for presenting a summary or list of various workflow stages associated with some or all content elements in a document when navigating outside the document or within the document. For example, a summary of the stages can be presented in a sidebar, a canvas, or in other locations along a display adjacent to the document, can be used in a separate window that is updated in real time separately from the application, and / or can be sent by email via a daily summary (or other frequency, such as weekly, monthly, or when the status of one or more content elements undergoes some pre-specified changes). In some cases, the summary can identify how many content elements there are in a particular stage. In one implementation, each workflow stage indicator listed in the summary can be associated with a link that allows the user to navigate directly to the content element associated with the indicator. Therefore, in some implementations, the workflow stage indicator itself can be used to trigger the display of the corresponding content element. As an example, an application can be configured to automatically present a summary of the workflow status associated with some or all content elements in a document, regardless of whether the listed (one or more) content elements are being accessed, modified, or displayed. In one implementation, an end user may access a menu option in the application that triggers display of such a summary, while in other implementations, such presentation may occur when the document is opened by any (one or more) of its users or when a workflow stage is modified or added. Additionally, in various implementations, the application can be configured to send or display reminders for tasks specific to workflow stages selected or marked as content elements. For example, the application may present a dialog box to the user or generate an email or other communication to remind the user to review the content element associated with the "awaiting review" indicator.
[0051] In addition, as described above, the stage of a content element and / or its associated policy settings can be modified, removed, updated, or customized. In some implementations, a content element can be associated with multiple stage indicators, which can be added by a single user or by different users, or automatically assigned by the system. In one implementation, a user can also select or add a specific degree, level, or intensity for a specified stage on a scale that is directly related to the user's progress or status relative to the selected content. For example, in the case where the user selects "Draft", additional local controls can be provided through which the user can enter an estimated progress percentage, slide the status bar to a specific progress level or more accurately reflect the current stage of the content element, and / or estimate the completion time of the selected stage. This additional information can then be associated with the stage of the content element and presented in conjunction with the stage when necessary.
[0052] In various implementations, when a user selects one of the workflow phase classifications, the system can receive the input and associate the selected phase with the selected content element. The association can be recorded (locally on a computing device and / or in the cloud) and can be accessed or communicated whenever a first content element is accessed or a content element in a specified phase is searched.
[0053] It should be understood that in other implementations, the first submenu 330 may not be presented, and the selection of the first content 250 may instead result in the direct presentation of the second submenu 430. In other words, the stage sub-options may be presented to the user immediately after the triggering event. In this example, the stage sub-options 460 include a fifth sub-option 462 ("Working Privately"), a sixth sub-option 464 ("Drafting"), a seventh sub-option 466 ("Prepare Feedback"), and an eighth sub-option 468 ("Finalizing"). In other implementations, the number of sub-options may be less or more, and / or the available sub-options may be different from those shown here. In other implementations, any other alphanumeric text or graphics may be displayed in conjunction with the selection.
[0054] In some implementations, such as in Figure 4 , each stage sub-option can be displayed with an icon that allows a user to quickly identify the stage. In one implementation, stage sub-options previously customized by a user input or added can be provided. Such customization or personalization can facilitate fine-tuning of document workflow management for different types of documents or workflows. As a non-limiting example, a user may have previously accessed the "Settings" option for the collaboration tool and manually entered the workflow stage to mark content elements, such as a stage marked as "Check Source" or "Brainstorm" or "Retain" or "Insert Citation" or other such custom workflow stages, which can be presented as one of the stage sub-options in the second sub-menu 430.
[0055] In addition, one or more workflow stages can also be associated with a custom policy setting and / or a default policy setting. In some other implementations, the system may have available alternative stage indicia that can be added, swapped, or removed from the second submenu 430 for a personalized presentation of stage options that is more directly applicable to the user's needs. In some implementations, stage sub-options manually entered by the user can be added to a catalog of sub-options that can be stored or retained in local or cloud storage, and can be provided as potential stage selections in later workflows.
[0056] Next reference Figure 5 and Figure 6 The sequence of Figure 2-Figure 4). While browsing document 212, a user may select or interact with a section of the document that includes one or more portions - or all - of first content 250. In this example, a user (from Figure 2-Figure 4 The same user or a different user) has opened the document 212 and is viewing the portion of the document 212 that includes the first content 250.
[0057] As in Figure 5 , the cursor 240 has navigated over a portion of the first content 250. In this case, when the user moves the cursor 240 to any area of the display associated with the first content 250, the first application 210 displays a stage indicator box ("stage indicator") 510 in response. In this example, the stage indicator 510 is overlaid on a portion of the first content 250; however, in other implementations, the stage indicator 510 can be displayed elsewhere along the display interface. The stage indicator 510 can be configured to present or signal the stage of the content being viewed. Figure 5 , stage indicator 510 suggests that the content has been assigned a "stage: drafting" tag. In this way, the user can be informed or reminded of the various workflow stages of various content fragments as they move through the document. In some implementations, icon 564 can also or alternatively be presented as a stage indicator to facilitate quick and easy identification of the stage of the content.
[0058] In some cases, the system may determine that a triggering event has occurred before displaying the stage indicator. For example, the first application 210 or other component of the client system can detect or otherwise identify a usage pattern ("usage pattern"), telemetry, or user device behavior that can correspond to a triggering event. The triggering event can include, but is not limited to: selection of any portion of the first content 250, an attempt by a user to interact with or modify any portion of the first content 250, viewing the first content 250, and / or hovering or moving a cursor over the first content 250. The system can identify these actions as corresponding to a usage pattern or a particular event. Therefore, in some implementations, the system can be configured to determine that a triggering event has occurred during use of the first application 210 based on the occurrence of a detected particular usage pattern. In response to such a determination, the first application 210 can present or display a stage indicator. It should be understood that in some implementations, the stage indicator itself can include or be used as a local control (e.g., see Figure 6 ).
[0059] Furthermore, in other implementations, the triggering event or user interaction is not necessary to cause display of any stage indicator associated with the first content 250. In other words, in some implementations, after tagging has occurred, the label and / or graphical icon may be displayed in the document in a substantially continuous manner without any further events. In this case, any stage indicator is visible to all or some users whenever the document is viewed. Furthermore, the stage indicator can be displayed until a user with permission to edit the indicator removes the association, or after a set period of time has passed (e.g., see Figure 8 ).
[0060] Reference now Figure 6 In various implementations, the system may include provisions for modifying or generally managing stages that have been associated with content elements. Figure 6 240, the stage indicator 510 also functions as a local control. When the user navigates to the stage indicator 510 using the cursor 240, the system can determine that a triggering event has occurred, such as clicking the stage indicator 510 with a mouse, hovering over the stage indicator 510, pressing a key while hovering over the stage indicator 510, or otherwise entering a command to view tools and tasks that can be used with the stage indicator 510.
[0061] In this case, in response to the triggering event, the first application 210 displays another local control in the form of a second menu 610, which lists a number of options that may be related to the specific stage identified in the stage indicator or to the fact that an arbitrary stage is assigned to the content. Figure 6 In , the local control is presented as a floating drop-down menu. However, in other implementations, the local control can include a pop-up window, a dialog box or window, a window extending from a stage indicator, or can include any other application communication or presentation unit. Figure 6 As shown in the example of , the second menu 610 is covered on the main interface of the first application. Figure 6 The specific location of the second menu 610 shown in is intended to emphasize the relationship of the message of the second menu 610 to the first content 250. However, it should be understood that in other implementations, the second menu 610 can be displayed or generated anywhere else on the (one or more) screens associated with the client system, including separated from, adjacent to, or surrounding the first application 210.
[0062] exist Figure 6In the specific example shown, the second menu 610 includes a series of stage options 650. In some implementations, the second menu 610 can also include one or more options that are generally provided when a triggering event is registered by the system, regardless of whether a content element selection has been made, such as "cut", "copy", "paste", etc., but in other implementations, only options related to a particular stage indicator may be provided.
[0063] It should be understood that Figure 6 The options shown in are for illustration purposes only, and in different implementations, the types of options and indicators can vary. In this example, the stage options 650 include a first option 652 ("Change Stage"), a second option 654 ("Add Suggestion"), a third option 656 ("Direct Message"), a fourth option 658 ("Stage History"), and a fifth option 660 ("User List"). In other implementations, there may be fewer or more options, and / or the available options may be different than those shown here. In other implementations, any other alphanumeric text or graphics may be displayed in conjunction with the menu.
[0064] In different implementations, each option type can be associated with various actions. For example, the "Change Phase" option (first option 652) can direct the user to another menu or option (see Figure 4 ), where different stages can be assigned to content elements to replace or supplement previous stage selections. For example, a new second stage can be added to the same content element (e.g., by a second, different user) and displayed with it while continuing to display the previous stage, so that multiple stages can be associated with a content segment. In addition, an "add suggestion" option (second option 654) can be configured to provide a mechanism for the user to add comments, notes, ideas, or other information and associate that information with the stage currently attached to the content element. In such a case, the suggestions can be available and / or displayed with the stage indicator when viewing the content element.
[0065] In some implementations, the system can also include provisions for facilitating communication between members collaborating on a document. A "direct message" option (third option 656) can be configured as a tool for sending messages to one or more users of a document. Examples of the types of communications that can be provided to users are regular group messages, private messages, direct messages, quick polling messages, picture messages, video messages, user-created chat rooms, "pings," and other such communications. In different implementations, certain types of messages can be automatically sent by the client system without user input. Such messages or notifications can include data about the user of the document, the user's status (e.g., online, offline, typing), the status of the message (e.g., who read the message, whether the message was read), the user's location (e.g., Washington, DC, Seattle, London, etc.), the user's personal or status updates, and / or the status of the collaborative group (e.g., the number of users, whether the user is added to the group or deleted, etc.). When the user selects a message-based option, they can be presented with a data input box to enter a message. The message can be sent to all participants in the conversation, or only to selected participants. Additionally, participants may receive special notifications of messages (eg, sound, appearance, email).
[0066] The "stage history" record option (fourth option 658) shown here can be configured to facilitate viewing or accessing previous workflow stages assigned to a particular content fragment and / or other data of a particular content fragment that has been tagged into a document. This tool allows a user to examine changes and developments to a particular content element by different users at different points in time, stages and comments attached to a content element, and / or provides an opportunity to review or "catch up" on the progress of a content element. Such an option can reduce delays that may occur when a user attempts to make modifications that have previously been suggested and rejected, and / or reduce the chance of redundant suggestions or modifications. In some implementations, users can receive or access updates associated with content elements and keep up with modifications or suggestions to portions of a document that they have authored or are particularly interested in, rather than going through the entire document to obtain information relevant to their workflow.
[0067] In addition, in some implementations, the user may be presented with an option to view a list of users (fifth option 660) or a directory of participants in a collaborative workflow. The list can include contact information, records of each participant's contributions, stage changes, comments, suggestions, visits, the time each user made changes, content elements assigned to each participant, content elements modified by participants, and other such useful information for each content element. In addition, in some cases, a "list of users" or other similar options may allow searching for users who have performed certain tasks or made changes within a specified time period. Similarly, in one implementation, there are options to sort by specific categories or filter lists by desired categories. For example, in some implementations, the system may be configured to allow users to search for content based on their assigned workflow stages or by the person (i.e., which user) who set a content fragment to a specific stage.
[0068] As previously mentioned, different stages other than "drafting" can be selected to be associated with content elements in the electronic document. Figure 7 and Figure 8 When the user interacts with the first content 250 and / or when the first submenu 330 is displayed (see Figure 2-Figure 4 ), content sub-options 360 associated with content option 320 may also be displayed or provided. Figure 7 , it can be seen that the first sub-option 362 "Phase" has been selected, resulting in the display of the second sub-menu 430, listing the stage sub-options 460 associated with the first sub-option 362 (in Figure 3 and Figure 4 ). In this example, the stage sub-option 460 includes a fifth sub-option 462 ("Work Privately") and other options. The lock icon 114 is also presented next to the option.
[0069] In one implementation, the system can be configured to determine that a particular triggering event has occurred during use of the application. Figure 7 In , the event can correspond to the selection of the stage sub-option "Work Privately". In response to determining that a triggering event has occurred, the system can present or display a local control such as a user interface element or GUI. Figure 8 In the example, the GUI presented is a small pop-up window or dialog box, referred to herein as a first dialog window ("first dialog box") 800. In some implementations, the first dialog box 800 can overlay the first menu 310, the first submenu 330, and / or the second submenu 430 or be displayed simultaneously therewith. Figure 8 , the previous GUI has been removed and only the first dialog box 800 is shown with respect to the document 212 .
[0070] As previously described, in different implementations, the first application 210 can be configured to provide a mechanism by which a user can insert comments, annotations, ideas, or other information, and then associate the information with the stage of the content element. Then, when viewing the content element, the information can be displayed together with the stage indicator. In different implementations, the first dialog box 800 can include provisions for customizing the selected stage, associating additional information to the stage, and / or adjusting the policy settings associated with the stage. In some implementations, the first dialog box 800 includes a list or other representation of one or more tools or features available in conjunction with the selected stage. In this example, the first dialog box 800 includes a stage identifier ("Work Privately") 862, a notification header 802, a data input box 810, a control module 820, a first interactive button ("Options") 830, a second interactive button ("Set") 840, a third interactive button ("Cancel") 850, and a fourth interactive button ("Submit") 860. In other implementations, one or more of these aspects may be omitted, and / or additional aspects may be included. For example, there may be fewer or more options, and / or the available options may be different from those shown here.In some implementations, any other alphanumeric text or graphics may be displayed in conjunction with the menu.
[0071] The stage identifier 862 can be configured to remind or inform the user which stage has been assigned to the selected content element. Additionally, the notification header 802 can announce or identify the general features that are being provided. In this case, the notification header 802 asks "Any additional information required?", but in other implementations, the notification header 802 can display any other data or information. Adjacent to the notification header 802 is a data input box 810 that is configured to receive input that can be paired, linked, connected, coupled, combined, or otherwise associated with a stage previously assigned to a content element. In Figure 8 , the input "I need some time to work on this section, but will let you know when feedback is ready." Once the user has entered the desired information, they can select an interaction button (such as fourth interaction button 860) to submit and store the information, press Enter, or otherwise save the information. The comment or message can be sent to all participants in the conversation or only selected participants (based on default or customized settings), and / or presented when viewing the content element (see Fig. 9 ).
[0072] In different implementations, each interactive button can be associated with various actions. For example, the first interactive button 830 can be configured to route the user to another UI to make various modifications to the collaboration tool, change the phase, insert or upload a file or other data type, initiate or continue communication between collaboration participants, view a phase history or user list, customize the collaboration experience, or other such options. In addition, the second interactive button 840 can be configured to allow the user to adjust the display, content, format, user, access, and other settings associated with the collaboration tool or, more specifically, the phase indicator assigned to the selected content element. If the user no longer wishes to add additional information or make any changes, they can select a button (such as the third interactive button 850) and deselect and / or close the dialog window.
[0073] In some implementations, the system can be configured to regulate or further manage various collaboration tools associated with (one or more) content elements. Figure 8 A first dialog box 800 is shown having a control module 820. Although the specific settings or functionality provided by the control module 820 can vary, in general the control module 820 can be understood as providing a means for adding or adjusting constraints, rules, policies, or other restrictions directly associated with a phase indicator. Figure 8 , control module 820 is a timer management tool that can be used to implement a countdown clock or timer - or otherwise schedule the display or association of a particular stage indicator. Thus, in some implementations, a user can directly indicate how long a stage should be associated or marked with a content element, whether the stage should be retained until a certain event occurs and / or is detected, who can interact with the content element or modify the stage and corresponding information, specify which policy setting should be applied to which user, and other such instructions or functions.
[0074] Reference now Fig. 9 , shows an example of a content element presented with a stage indicator 962 and a corresponding information box 900. While browsing the document 212, the user can select or interact with a section of the document that includes one or more portions - or all - of the first content 250. In this example, the user has opened the document 212 and is viewing the portion of the document 212 that includes the first content 250.
[0075] exist Fig. 9, the stage indicator 962 suggests that the content has been assigned a "private work" tag. In this way, the user can be notified or reminded of the stage or condition of various content as various content fragments move through the document. In some implementations, icons (such as icon 114) can also or alternatively be presented as visual markers to quickly and easily identify the stage of the content. In some implementations, when the user moves the cursor 240 to any area of the display associated with the first content 250, the first application 210 displays both the stage indicator 962 and the information box 900 in response. However, in other implementations, the system can wait until it is determined that a specific triggering event has occurred before presenting the information box 900. In different implementations, the information box 900 can be configured to clarify or expand the stage of the content being viewed, or otherwise display data related to the assigned stage that the user has entered. In this example, the information box 900 is overlaid on a portion of the first content 250; however, in other implementations, the information box 900 can be displayed elsewhere along the display interface.
[0076] In some implementations, the system can automatically identify users who have assigned stage indicators ("markers"). Fig. 9 In FIG. 1 , the information box 900 includes a summary header 910 with the name of the marker and the stage of the workflow (“Doug is working privately”). In the event that the user has entered a message associated with the stage indicator, the information box 900 can also include an optional message dialog box 920. For illustrative purposes, Fig. 9 The message shown in Figure 8 The input provided in .
[0077] In addition, in some implementations, the information box 900 can also include provisions for directly interacting with the displayed information. For example, as previously described, the system can include provisions for facilitating communication between members collaborating on a document. In this case, a fifth interaction button 930 ("Respond to a message?") can be selected to allow the user to broadcast or send a response to one or more users or visitors of the document regarding the assigned stage indicator and / or the displayed message. The message can be attached to the stage currently associated with the content element, and in some implementations, the message can include provisions for initiating a chat or communication forum for a particular stage or comment.
[0078] Reference now Fig.10, depicts an example of a representative architecture of a content element management system ("system") 1000. In various implementations, system 1000 can be configured to present a user interface for receiving a workflow stage marker to be associated with a particular subset of data in a document. System 1000 can also be configured to present additional options based on the selected stage. It can be appreciated that system 1000 presented herein is merely an exemplary implementation, and that various other implementations are possible.
[0079] In various implementations, the system 1000 can include one or more end-user systems 1010. Fig.10 As shown in , the end-user system 1010 includes a first end-user system 1012 for a first user 1014. The first end-user system 1012 includes a display device 1016 used in conjunction with an application 1020 to display graphical elements generated by a user interface 1030 to the first user 1014. The first end-user system 1012 also includes one or more input devices 1018 for receiving commands or other inputs from the user 1014, thereby configuring the first end-user system 1012 to generate corresponding user inputs 1040 for the application 1020. Fig.10 In the specific example illustrated in , the end-user system 1010 also includes a second end-user system 1013 for a second user 1015. The second end-user system 1013 includes a display device 1017 and one or more input devices 1019, and is configured to be used in conjunction with the application 1020, similarly as described for the first end-user system 1012. Each user of the application 1020 (such as the first user 1014 and the second user 1015) can be associated with a different user identifier (such as a user name and / or number).
[0080] The user interface 1030 included in the application 1020 generates various graphical user interfaces for viewing and editing the electronic document 1050. For example, the user interface 1030 may be configured to generate the above-mentioned Figure 1-Figure 9 The various user interfaces described include, but are not limited to, menus, submenus, options, suboptions, stage indicators, dialog boxes, and other input or presentation interfaces. In addition, the user interface 1030 may be configured to generate the following relative Figure 11-Figure 14The user interface 1030 includes an element display component 1032 (or "content display component") configured to display content elements 1052 included in the electronic document 1050. The user interface 1030 also includes a content element selection component ("content selection component") 1034, which is configured to identify at least one selected content element 1035 from the content elements 1052 in response to a content element selection input 1044 included in the user input 1040. For example, the user 1014 can operate the input device 1014 (such as a mouse) to highlight the selected content element 1035, as shown in FIG. Figure 2 Element display component 1032 can be configured to graphically identify the selected content element 1035 as having been selected.
[0081] The user interface 1030 also includes a workflow stage selection component ("stage selection component") 1036 configured to display workflow stage options ("stage options") 1066 applicable to the selected workflow stage 1037. The workflow stage selection component 1036 is invoked in response to a trigger event input 1042 detected by a trigger event detector 1022 included in the application 1020. For example, the trigger event may be a right-click mouse input, such as in conjunction with a Figure 3 The workflow stage selection component 1036 is configured as described in conjunction with Figure 3 and Figure 4 1046, and identifies the selected workflow stage 1037 in response to the stage selection input 1046. In response to the identification of the selected workflow stage 1037, the workflow stage recorder 1024 included in the application 1020 records the association between the selected content element 1035 and the selected workflow stage 1037 as workflow stage data 1054 of the electronic document 1050. The resulting electronic document 1050 and / or the recorded association can be stored in or retrieved from the document repository 1070. The document repository 1070 can be located in a network or cloud repository or locally on the client computing device. In different implementations, the association can be stored in the file containing the electronic content, or stored as a separate file or data set linked to the electronic content.
[0082] The element display component 1032 is configured to display an indication that the displayed content element 1052 is associated with the corresponding workflow stage data 1054. For example, each of the workflow stage options 1066 can be associated with a corresponding one of the workflow stage indicators 1064, each of which identifies how the element display component 1032 should depict the association between the content element 1052 and one of the workflow stage options 1066. The workflow stage indicator 1064 can identify a color or image used to display the association of the content element with each workflow stage option 1066.
[0083] In some implementations, the display of the content element 1052 by the element display component 1032 can be further influenced by the workflow stage policy 1062 associated with one or more workflow stage options 1066. For example, as described above in conjunction with Figure 6-Figure 9 As discussed, some workflow stages can be further associated with specific access policies. In one implementation, one user of a collaborative document applying a workflow stage to a content element automatically reduces access to the particular content element to one or more other users. Some types of access that can be automatically modified by associating a workflow stage with a content element include limiting viewing access to the content element to a single user or less than all users in the collaboration group; limiting editing access to the content element to only a single user or less than all users in the collaboration group; modifying viewing access so that all changes made by the user responsible for marking the content element (the "tagger") are not apparent until the tagger removes the tag for the workflow stage; and / or modifying editing access so that edits made to the content element by non-taggers are automatically removed and stored in a copy of the content element and presented to the tagger as a suggestion or direct message.
[0084] It should be understood that the foregoing is merely one exemplary implementation of a collaborative document tagging system in which actions regarding electronic documents and actions associated with workflow stages of particular content segments are stored in a manner that associates the associations with the electronic documents. Other implementations of such a system will differ at least in the type of data stored, the manner in which such data is stored, and how such data is collected from end-user applications.
[0085] Therefore, in different implementations, Fig.10The diagram presented in can include additional components and modules not shown here. For example, the end-user system can be understood to include an operating system configured to help manage the communication between the various components in the system 1000. Similarly, the application 1020 can include provisions for the following operations: storing, retrieving and receiving associations between workflow stages and content elements, as well as determining the occurrence of triggering events, executing instructions, and displaying various UIs. In other implementations, the architecture described in this article can vary. For example, in some implementations, the trigger determination module or the trigger event detector can be independent of the application 1020.
[0086] In various implementations, the system may also include provisions for directly interacting with tagged or untagged content elements. As described above, the "suggestions" option can be configured to provide a mechanism for users to add comments, notes, thoughts, or other information and associate that information with a content element so that the suggestions are available and / or displayed with the content element when the content element is viewed. Figure 11-13 An example of this mechanism is presented in the sequence of .
[0087] First reference Fig.11 , when the user interacts with the first content 250 and / or displays the first submenu 330 (see Figure 2-Figure 4 ), the user may be provided with content sub-options 360 associated with content option 320. Fig.11 , it can be seen that the second sub-option 364 identified as "Suggestions" has been selected, resulting in the display of a fourth sub-menu providing a plurality of suggestion sub-options 1160. In this example, the suggestion sub-options 1160 include a ninth sub-option 1162 ("Edit"), a tenth sub-option 1164 ("Private Message Group Members"), an eleventh sub-option 1166 ("Start Group Chat"), and a twelfth sub-option 1168 ("Settings"). In other implementations, the number of sub-options may be fewer or more, and / or the available sub-options may be different from those shown here. In other implementations, any other alphanumeric text or graphics may be displayed in conjunction with the selection.
[0088] In some implementations, such as in Fig.11As shown in , each suggestion sub-option can be displayed with an icon that allows the user to quickly identify the category or task and / or function of the option. In one implementation, suggestion sub-options previously entered, added or otherwise customized by the user can be provided. For example, the user may have previously accessed the "Settings" option of the collaboration tool and manually entered and / or added various suggestion options, such as an option labeled "Insert Reference", which is configured to open another GUI including information necessary for entering and / or storing references to generate references. Other options may include: "Compare Changes" or "Reject Suggestions" or "Search Online" or any other review, edit or comment options, which can be presented as suggestion sub-options in the second sub-menu. Each option can also be customized to be associated with a specific policy setting and / or one or more default policy settings. In some implementations, the suggestion sub-options manually entered by the user can be added to a directory of sub-options that can be stored or retained in local or cloud storage, and can be provided as potential choices in a later workflow.
[0089] In addition, in some implementations, the system can include provisions for facilitating communication between members because suggestions or comments about specific content elements are more directly related. Various options can be provided, such as, but not limited to, "private message group members" or "start group chat" options. In some implementations, selection of these types of options can generate messages that include links or automatic navigation to the selected content elements, thereby providing context for the messages. In some implementations, direct message options can be provided to users. When users select communication-based options, they can be presented with a data input box to enter a message, or an email window can be opened to send a message. The message can be sent to all participants in the session, or only to selected participants. In addition, participants can receive selected content and / or suggested edits or comments in (one or more) messages, thereby simplifying and speeding up the collaboration and review process.
[0090] In various implementations, the first application 210 can present a mechanism by which a user can suggest changes, additions, deletions, formatting, or other edits to the selected content element. For example, the third dialog box 1200 can include provisions for editing a copy of the content element, where the changes can be temporarily made or presented for review by others without directly interacting with or modifying the text in the document itself. In some implementations, after the edits are confirmed, the changes can be accepted and incorporated into the document. Fig.12 , has selected the suggested option labeled “Edit”. In response, the system may present a GUI, referred to herein as a third dialog window (“third dialog”) 1200 .
[0091] exist Fig.12 , the third dialog box 1200 includes a main header ("Suggest Edit") 1202, a data input box 1210, a first interactive button ("Submit") 1220, a second interactive button ("Cancel") 1230, and a third interactive button ("Add Note") 1240. In other implementations, one or more of these aspects may be omitted, and / or other aspects may be included. For example, there may be fewer or more options, and / or the available options may be different from those shown here. In some implementations, any other alphanumeric text or graphics may be displayed in conjunction with the menu.
[0092] The main header 1202 can remind or inform the user which option is selected, and / or identify the general features provided, but in other implementations, the main header 1202 can display any other data or information, or may not include these. Adjacent to the main header 1202 is a data input box 1210, which is configured to receive input that can be associated with a content element. In some implementations, the data input box 1210 can include text or data currently contained in the selected content element. For the sake of brevity, the main header 1202 can be displayed in the main header 1202. Fig.12 , ellipsis (“...”) is shown as text representing the first content 250 .
[0093] exist Fig.12 In the example of , the text that has been entered into the data input box 1210 is suggested as an additional sentence to follow the text currently contained in the selected content element. In this case, the input is "In addition, live streaming provides a powerful way to connect with users in real time." Once the user enters the desired suggestion, they can select an interactive button (such as the first interactive button 1220) to submit and store the information, press the Enter key, or otherwise save the information. The suggestion can be sent to all participants in the session, or only to selected participants (according to default or customized settings), and / or presented with the content element when viewing the document. If the user no longer wishes to make suggestions, they can select a button such as the second interactive button 1230 and deselect and / or close the dialog window.
[0094] In some implementations, the system may also include provisions for allowing supplemental information to be associated with a suggested edit. Fig.13 The diagram shows the response to Fig.12 1240 in the fourth dialog box ("fourth dialog box") 1300. In this case, the fourth dialog box 1300 is a GUI that provides commenting or tracking note tools. Although the specific settings or functions provided by the fourth dialog box 1300 can vary, it is generally Fig.13 The fourth dialog box 1300 in can be understood as a unit that provides a means for adding comments, ideas, reasons, references, messages, or other information directly associated with the editing suggestion input via the previous GUI.
[0095] exist Fig.13 , the fourth dialog box 1300 includes a tool header 1302 ("Suggested Edit→Annotation"), a data input box 1310, a first interactive button 1320, and a second interactive button 1330. In other implementations, one or more of these aspects may be omitted, and / or additional aspects may be included. For example, there may be fewer or more options, and / or the available options may be different from those shown here. In some implementations, any other alphanumeric text or graphics may be displayed in conjunction with the menu.
[0096] As an example, tool header 1302 can announce or identify the general features being provided. In this case, tool header 1302 asks "Any additional information required?", but in other implementations, tool header 1302 can display any other data or information. Adjacent to tool header 1302 is data input box 1310, which is configured to receive input that can be associated with the suggestion now coupled to the content element. Fig.13 , an exemplary input is "It seems like 'live streaming' is a more modern communication mechanism. Let me know what you think." Once the user has entered the desired information, they may select an interaction button (such as first interaction button 1320) to submit and store the information, press the enter key, or otherwise save the information. The annotation or message may be sent to all participants in the session or only selected participants (per default or customized settings), and / or presented with content elements when viewing the document. Additionally, if the user no longer wishes to add additional information or make any changes, they may select a button such as second interaction button 1330 and deselect and / or close the dialog window.
[0097] Reference now Fig.14 , depicts a flow chart illustrating an implementation of a method 1400 for marking specific content in electronic content associated with an application. Fig.14In the example of , it can be seen that a first step 1410 includes determining (during use of an application) that a first triggering event has occurred for a first content element, wherein the first content element comprises a portion of electronic content. A second step 1420 includes (in response to determining that the first triggering event has occurred) causing the application to present a first user interface element comprising a plurality of workflow stage options. In this case, the plurality of workflow stage options comprises a first workflow stage. In a third step 1430, a first user input indicating a selection of the first workflow stage may be received. A fourth step 1440 includes (in response to receiving the first user input) recording an association between the first workflow stage and the first content element. A fifth step 1450 includes determining that the first workflow stage is associated with the first content element. In a sixth step 1460, the method involves: when information about or associated with the first content element is being accessed (in response to determining that the first workflow stage is associated with the first content element), displaying a first indicator corresponding to the first workflow stage.
[0098] In other implementations, additional steps may be included. For example, in the event that first user input is received from a first user, another step may include reducing access to the first content element to a second user in response to determining that the first workflow stage is associated with the first content element. The method may also include storing information associated with the user's credentials. This can be used to generate a user list and / or for filtering or sorting during searches for specific content, stages, users, and other data. In some implementations, the method can include: receiving a second user input indicating a selection of a first indicator, and in response to receiving the second user input, causing the application to invoke a second user interface element that presents at least the first option. In the event that the first option includes a third user interface element that presents an editable copy of the first content element (see Fig.12 ), the method can further include: receiving a third user input, wherein the copy of the first content element is modified, and in response to receiving the third user input, recording an association between the third user input and the first content element. In addition, whenever the first indicator is displayed, the second indicator can be displayed corresponding to the third user input.
[0099] In different implementations, other steps can be included. For example, in the case where the first option includes a third user interface element, the third user interface element is configured to receive additional information associated with the first workflow stage (see Figure 8), the method can include receiving a third user input via a third user interface element, and in response to receiving the third user input, associating the third user input with the first workflow stage. Whenever the first indicator is displayed, a second indicator can be displayed corresponding to the third user input. In other implementations, the method includes: receiving a third user input indicating a selection of a first option, the first option including a second workflow stage different from the first workflow stage, and replacing the first workflow stage with the second workflow stage, allowing a user to update the progress of content to which they have previously assigned a stage. In one implementation, the method can include: determining that the second workflow stage is associated with the first content element; and when information about or associated with the first content element is accessed in response to determining that the second workflow stage is associated with the first content element, displaying a second indicator corresponding to the second workflow stage.
[0100] In some implementations, the method may include: during use of the application, determining that a second triggering event has occurred for a second content element, the second content element comprising a portion of electronic content, and in response to determining that the second triggering event has occurred, causing the application to present a first user interface element comprising a plurality of workflow stage options, wherein the plurality of workflow stage options include the second workflow stage. The system is then capable of receiving a second user input indicating a selection of the second workflow stage, and in response to receiving the second user input, recording an association between the second workflow stage and the second content element. In addition, it may be determined that the second workflow stage is associated with the second content element, thereby causing display of a second indicator corresponding to the second workflow stage when information about or associated with the second content element is accessed in response to determining that the second workflow stage is associated with the second content element.
[0101] In another example, where the first option includes a second user interface element, the second user interface element is configured to receive information specifying a limited time period for displaying the first indicator, the method can include: receiving a third user input specifying the time period, and in response to receiving the third user input, associating the time period with the first indicator (see Figure 8 ). In this case, the first indicator can be displayed when information about or associated with the first content element is being accessed but only during the specified time period. Other steps and features described herein may also be included in the method in different implementations, and in some implementations, certain steps may be omitted.
[0102] As previously mentioned, providing one or more users with a mechanism to mark or indicate specific electronic content fragments by stage (including but not limited to: working privately, in progress, preparing feedback, finalizing, suggesting, etc.) rather than the entire document or file will significantly improve workflow efficiency. In addition, by enabling specific workflow actions or modes based on the selected stage, users can be given greater work flexibility. For example, if a user marks a content fragment as "working privately", other users may not be able to make changes or view updates until the user removes the stage indication and / or reclassifies the content as being in a different stage. This type of access management can help users feel more comfortable when developing their content, and / or reduce the possibility of other users interfering with the user's work on a specific part of the document. The system also allows users to provide additional context about why a specific content element is in the current stage or initiate a chat or online session, and provide updates on workflow stages in a fast, simple and effective manner.
[0103] In this paper, we present the Figure 1-Figure 14 Detailed examples of the described systems, devices, and techniques are used to illustrate the present disclosure and its benefits. Such usage examples should not be interpreted as limitations on the logical process implementation of the present disclosure, nor should variations of the user interface methods from those described herein be considered outside the scope of the present disclosure. In some implementations, in Figure 1-Figure 14 The various features described in the invention are implemented in various modules, which may also be referred to as and / or include logic, components, units and / or mechanisms. The modules may constitute software modules (eg, codes embodied on a machine-readable medium) or hardware modules.
[0104] In some examples, the hardware module can be implemented mechanically, electronically, or in any appropriate combination thereof. For example, the hardware module may include a dedicated circuit or logic configured to perform certain operations. For example, the hardware module may include a dedicated processor, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). The hardware module may also include a programmable logic or circuit temporarily configured by software to perform certain operations, and may include a portion of machine-readable medium data and / or instructions for such configuration. For example, the hardware module may include software contained in a programmable processor configured to execute a set of software instructions. It will be appreciated that the decision to mechanically implement the hardware module in a dedicated and permanently configured circuit or in a temporarily configured circuit (e.g., configured by software) may be driven by cost, time, support, and engineering considerations.
[0105] Therefore, the phrase "hardware module" should be understood to include a tangible entity that can perform certain operations, and can be configured or arranged in a certain physical manner, that is, a physical structure, a permanently configured entity (e.g., hardwired) and / or a temporary configuration (e.g., programming) that operates in a certain way or performs certain operations described in this article. As used in this article, a "hardware-implemented module" refers to a hardware module. Considering an example in which a hardware module is temporarily configured (e.g., programmed), each hardware module does not need to be configured or instantiated at any one time instance. For example, in the case where a hardware module includes a programmable processor configured by software to become a special-purpose processor, the programmable processor can be configured as different special-purpose processors (e.g., including different hardware modules) at different times. Software can therefore configure one or more specific processors, for example, to constitute a specific hardware module at one time instance, and to constitute different hardware modules at different time instances. A hardware module implemented using one or more processors can be referred to as a "processor implementation" or "computer implementation."
[0106] Hardware modules can provide information to other hardware modules and receive information from other hardware modules. Therefore, the described hardware modules can be considered to be communicatively coupled. In the case of multiple hardware modules being present at the same time, communication can be achieved by signal transmission (e.g., through appropriate circuits and buses) between or among two or more hardware modules. In implementations in which multiple hardware modules are configured or instantiated at different times, for example, communication between such hardware modules can be achieved by storing and retrieving information in a memory device accessible to multiple hardware modules. For example, one hardware module can perform an operation and store the output in a memory device, and then another hardware module can access the memory device to retrieve and process the stored output.
[0107] In some examples, at least some operations of the method may be performed by one or more processors or processor-implemented modules. In addition, the one or more processors may also operate in a "cloud computing" environment or as "software as a service" (SaaS) to support the performance of related operations. For example, at least some operations may be performed by multiple computers and / or between multiple computers (as an example of a machine including a processor), where these operations may be accessed via a network (e.g., the Internet) and / or via one or more software interfaces (e.g., application program interface (API)). The performance of certain operations may be distributed between processors, not only residing in a single computer, but deployed across multiple machines. The processor or the processor-implemented module may be located in a single geographic location (e.g., in a home or office environment or a server farm), or may be distributed across multiple geographic locations.
[0108] Fig.15 is a block diagram 1500 illustrating an example software architecture 1502, portions of which may be used in conjunction with the various hardware architectures described herein, which may implement any of the features described above. Fig.15 is a non-limiting example of a software architecture, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. Software architecture 1502 may be implemented in a system such as Fig.16 1600, which includes, among other things, a document repository 1070, a processor, memory, and input / output (I / O) components. Representative hardware layers 1504 are illustrated as and can represent, for example, Fig.16 The machine 1600 of the embodiment of the present invention. The representative hardware layer 1504 includes a processing unit 1506 and associated executable instructions 1508. The executable instructions 1508 represent executable instructions of the software architecture 1502, including implementations of the methods, modules, etc. described herein. The hardware layer 1504 also includes a memory / storage device 1510, which also includes executable instructions 1508 and accompanying data. The hardware layer 1504 may also include other hardware modules 1512. The instructions 1508 stored by the processing unit 1506 may be part of the instructions 1508 stored by the memory / storage device 1510.
[0109] Exemplary software architecture 1502 can be conceptualized as layers, each providing various functions. For example, software architecture 1502 may include layers and components such as operating system (OS) 1514, library 1516, framework 1518, application 1520, and presentation layer 1544. In operation, applications 1520 and / or other components within these layers may invoke API calls 1524 to other layers and receive corresponding results 1526. The illustrated layers are representative in nature, and other software architectures may include additional or different layers. For example, some mobile or dedicated operating systems may not provide framework / middleware 1518.
[0110] OS1514 can manage hardware resources and provide public services. OS1514 can include, for example, kernel 1528, service 1530 and driver 1532. Kernel 1528 can serve as an abstraction layer between hardware layer 1504 and other software layers. For example, kernel 1528 can be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. Service 1530 can provide other public services for other software layers. Driver 1532 can be responsible for controlling the underlying hardware layer 1504 or interface with it. For example, driver 1532 can include display driver, camera driver, memory / storage device driver, peripheral device driver (e.g., via universal serial bus (USB)), network and / or wireless communication driver, audio driver, etc., depending on hardware and / or software configuration.
[0111] The library 1516 may provide a common infrastructure that can be used by the application 1520 and / or other components and / or layers. The library 1516 generally provides functions for being used by other software modules to perform tasks, rather than interacting directly with the OS 1514. The library 1516 may include a system library 1534 (e.g., a C standard library), which may provide functions such as memory allocation, string manipulation, and file operations. In addition, the library 1516 may include an API library 1536, such as a media library (e.g., supporting the presentation and manipulation of image, sound, and / or video data formats), a graphics library (e.g., an OpenGL library for rendering 2D and 3D graphics on a display), a database (e.g., SQLite or other relational database functions), and a web library (e.g., WebKit, which may provide web browsing functions). The library 1516 may also include a variety of other libraries 1538, thereby providing many functions for the application 1520 and other software modules.
[0112] Framework 1518 (sometimes also referred to as middleware) provides a higher-level common infrastructure that can be used by applications 1520 and / or other software modules. For example, framework 1518 can provide various graphical user interface (GUI) functions, advanced resource management, or advanced location services. Framework 1518 can provide a wide range of other APIs for applications 1520 and / or other software modules.
[0113] Applications 1520 include built-in applications 1540 and / or third-party applications 1542. Examples of built-in applications 1540 may include, but are not limited to, contact applications, browser applications, location applications, media applications, messaging applications, and / or game applications. Third-party applications 1542 may include any application developed by an entity other than the vendor of a particular platform. Applications 1520 may use the functionality available via OS 1514, library 1516, framework 1518, and presentation layer 1544 to create a user interface to interact with a user.
[0114] Some software architectures use virtual machines, as illustrated by virtual machine 1548. Virtual machine 1548 provides an execution environment in which applications / modules can run as if they were on a hardware machine (such as Fig.16 The virtual machine 1548 may be hosted by a host OS (e.g., OS 1514) or a hypervisor and may have a virtual machine monitor 1546 that manages the operation of the virtual machine 1548 and interoperation with the host operating system. A software architecture that may be different from the software architecture 1502 outside the virtual machine is executed within the virtual machine 1548, such as an OS 1550, a library 1552, a framework 1554, an application 1556, and / or a presentation layer 1558.
[0115] Fig.16 1 is a block diagram illustrating components of an exemplary machine 1600, which is configured to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any of the features described herein. The exemplary machine 1600 is in the form of a computer system in which instructions 1616 (e.g., in the form of software components) for causing the machine 1600 to perform any of the features described herein can be executed. In this way, the instructions 1616 can be used to implement the modules or components described herein. The instructions 1616 cause the unprogrammed and / or unconfigured machine 1600 to operate as a specific machine configured to perform the described features. The machine 1600 can be configured to operate as a standalone device, or can be coupled (e.g., networked) to other machines. In a network deployment, the machine 1600 can operate as a server machine or a client machine in a server-client network environment, or as a node in a peer-to-peer or distributed network environment. The machine 1600 may be embodied as, for example, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a gaming and / or entertainment system, a smart phone, a mobile device, a wearable device (e.g., a smart watch), and an Internet of Things (IoT) device. Furthermore, while only a single machine 1600 is illustrated, the term "machine" includes a collection of machines that individually or collectively execute instructions 1616.
[0116] The machine 1600 may include a processor 1610, a memory 1630, and I / O components 1650, which may be communicatively coupled via, for example, a bus 1602. Bus 1602 may include multiple buses that couple various elements of the machine 1600 via various bus technologies and protocols. In an example, processor 1610 (including, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, or a suitable combination thereof) may include one or more processors 1612a to 1612n that can execute instructions 1616 and process data. In some examples, one or more processors 1610 may execute instructions provided or identified by one or more other processors 1610. The term "processor" includes a multi-core processor that includes cores that can execute instructions simultaneously. Although Fig.16 Multiple processors are shown, but machine 1600 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors each with a single core, multiple processors each with multiple cores, or any combination thereof. In some examples, machine 1600 may include multiple processors distributed among multiple machines.
[0117] The memory / storage 1630 may include a main memory 1632, a static memory 1634 or other memory, and a storage unit 1636, both of which are accessible by the processor 1610, such as via the bus 1602. The storage unit 1636 and the memory 1632, 1634 store instructions 1616 that embody any one or more of the functions described herein. The memory / storage 1630 may also store temporary, intermediate, and / or long-term data for the processor 1610. The instructions 1616 may also reside, in whole or in part, within the memory 1632, 1634, within the storage unit 1636, within at least one of the processors 1610 (e.g., within a command buffer or cache memory), within a memory of at least one I / O component 1650, or any suitable combination thereof during execution thereof. Therefore, the memory 1632, 1634, the storage unit 1636, the memory in the processor 1610, and the memory in the I / O component 1650 are examples of machine-readable media.
[0118] As used herein, "machine-readable medium" refers to a device capable of temporarily or permanently storing instructions and data that cause the machine 1600 to operate in a particular manner. As used herein, the term "machine-readable medium" does not include transient electrical or electromagnetic signals per se (such as on a carrier wave propagating through the medium); therefore, the term "machine-readable medium" may be considered to be tangible and non-transitory. Non-limiting examples of non-transitory tangible machine-readable media may include, but are not limited to: non-volatile memory (such as flash memory or read-only memory (ROM)), volatile memory (such as static random access memory (RAM) or dynamic RAM), cache memory, cache memory, optical storage media, magnetic storage media and devices, network accessible or cloud storage devices, other types of storage devices, and / or any suitable combination thereof. The term "machine-readable medium" applies to a single medium or a combination of multiple media for storing instructions (e.g., instructions 1616) for execution by the machine 1600, such that the instructions, when executed by one or more processors 1610 of the machine 1600, cause the machine 1600 to perform one or more features described herein. Thus, a “machine-readable medium” may refer to a single storage device, as well as a “cloud-based” storage system or storage network that includes multiple storage devices or devices.
[0119] I / O components 1650 may include various hardware components suitable for receiving input, providing output, generating output, sending information, exchanging information, capturing measurements, etc. The specific I / O components 1650 included in a particular machine will depend on the type and / or function of the machine. For example, a mobile device such as a mobile phone may include a touch input device, while a headless server or IoT device may not include such a touch input device. Fig.16 The specific examples of I / O components illustrated in the figure are not limiting, and other types of components may be included in the machine 1600. The grouping of I / O components 1650 is only to simplify the discussion, and the grouping is not limiting. In various examples, the I / O components 1650 may include a user output component 1652 and a user input component 1654. The user output component 1652 may include, for example, a display component (e.g., a liquid crystal display (LCD) or a projector) for displaying information, an acoustic component (e.g., a speaker), a tactile component (e.g., a vibration motor or a force feedback device), and / or other signal generators. The user input component 1654 may include, for example, an alphanumeric input component (e.g., a keyboard or a touch screen), a pointing component (e.g., a mouse device, a touch pad, or another pointing instrument), and / or a tactile input component configured to receive various user inputs (e.g., a physical button or touch screen that provides the location and / or force of a touch or touch gesture), such as a user command and / or selection.
[0120] In some examples, I / O components 1650 may include biometric components 1656 and / or position components 1662, as well as a variety of other environmental sensor components. Biometric components 1656 may include, for example, components for detecting body expressions (e.g., facial expressions, vocal expressions, hand or body gestures, or eye tracking), measuring biosignals (e.g., heart rate or brain waves), and identifying people (e.g., via voice-based, retinal, and / or face-based identification). Position component 1662 may include, for example: a position sensor (e.g., a global positioning system (GPS) receiver), an altitude sensor (e.g., a barometric pressure sensor from which altitude can be derived), and / or an orientation sensor (e.g., a magnetometer).
[0121] The I / O components 1650 may include a communication component 1664 that implements a variety of techniques operable to couple the machine 1600 to network(s) 1670 and / or device(s) 1680 via respective communication couplings 1672 and / or 1682. The communication component 1664 may include one or more network interface components or other suitable devices for interfacing with the network(s) 1670. The communication component 1664 may include, for example, components suitable for providing wired communication, wireless communication, cellular communication, near field communication (NFC), Bluetooth communication, Wi-Fi, and / or communication via other modalities. The device(s) 1680 may include other machines or various peripherals (e.g., via USB coupling).
[0122] In some examples, the communication component 1664 can detect an identifier or include a component suitable for detecting an identifier. For example, the communication component 1664 can include a radio frequency identification (RFID) tag reader, an NFC detector, an optical sensor (e.g., a one-dimensional or multi-dimensional barcode or other optical code), and / or an acoustic detector (e.g., a microphone to identify an audio signal of a tag). In some examples, location information can be determined based on information from the communication component 1664, such as, but not limited to, a geographic location via an Internet Protocol (IP) address, a location via Wi-Fi, cellular, NFC, Bluetooth, or other wireless station identification, and / or signal triangulation.
[0123] Although various implementations have been described, this description is intended to be exemplary rather than restrictive, and it should be understood that within the scope of the implementation, more implementations are possible. Although many possible combinations of features are shown in the drawings and discussed in this detailed description, many other combinations of the disclosed features are also possible. Unless explicitly limited, any feature of any implementation can be combined or replaced with any other feature or element in any other implementation. Therefore, it will be understood that any feature shown and / or discussed in this disclosure can be implemented together in any suitable combination. Therefore, unless in accordance with the attached claims and their equivalents, the implementation is not limited. Similarly, various modifications and changes can be made within the scope of the attached claims.
[0124] Although what is considered to be the best mode and / or other examples have been described above, it should be understood that various modifications may be made therein, and the subject matter disclosed herein may be implemented in various forms and examples, and these teachings may be applied to many applications, only some of which are described herein. The appended claims are intended to claim any and all applications, modifications, and variations that fall within the true scope of the present teachings.
[0125] Unless otherwise stated, all measurements, values, ratings, positions, amplitudes, dimensions and other specifications set forth in this specification (including the appended claims) are approximate and not exact. They are intended to have a reasonable range consistent with the functions to which they are related and the customary practices in the fields to which they are related.
[0126] The scope of protection is limited only by the appended claims. When interpreted in light of this specification and subsequent prosecution history, the scope is intended and should be interpreted to be as broad as consistent with the ordinary meaning of the language used in the claims and to encompass all structural and functional equivalents.
[0127] Except as stated immediately above, nothing described or illustrated is intended or should be construed as dedicating any component, step, feature, object, benefit, advantage, or equivalent to the public, regardless of whether recited in the claims.
[0128] It will be understood that the terms and expressions used in this article have the common meaning consistent with such terms and expressions relative to the corresponding corresponding areas of inquiry and research, unless the specific meaning is set forth in addition in this article. Relation terms such as first and second etc. can be used only to distinguish an entity or action from another entity or action, without requiring or implying any actual such relationship or order between these entities or actions. The term "include", "comprise" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including the list of elements not only include those elements, but also include other elements that are not clearly listed or inherent to such process, method, article or device. In the absence of other constraints, the element starting with "one" or "an" does not exclude the presence of other identical elements in the process, method, article or device including the element.
[0129] An outline of the disclosure is provided to allow the reader to quickly determine the nature of the technical disclosure. This document is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the aforementioned detailed description, it can be seen that in order to streamline the disclosure, the various features are grouped together in various examples. The method of the present disclosure should not be interpreted as reflecting the intention that the claims require more features than the features explicitly stated in each claim. On the contrary, as reflected in the attached claims, the subject matter of the invention lies in less than all the features of a single disclosed example. Therefore, the attached claims are hereby incorporated into the specific implementation, wherein each claim is independently a subject matter claimed separately.
Claims
1. A system for marking specific content in electronic content associated with an application, the system comprising: one or more processors; as well as One or more computer-readable media comprising instructions that, when executed by the one or more processors, cause the one or more processors to: automatically analyzing an electronic document comprising a plurality of content elements using a machine learning algorithm, wherein each content element comprises a portion of electronic content that is less than all of the electronic document, wherein the machine learning algorithm is configured to receive the electronic document as an input, analyze the plurality of content elements, and output a plurality of first workflow stages, and wherein each of the plurality of first workflow stages is associated with a respective content element of the plurality of content elements; automatically recording an association between each of the plurality of first workflow stages and the corresponding content element; receiving a first user input from a first computing device in response to a first user selecting a first content element of a plurality of content elements of an electronic document in the application; In response to the first user input, determining that a first trigger event has occurred for the first content element by detecting a usage pattern of the first user based on the first user input; responsive to the determination that the first triggering event has occurred, causing the application to present a first user interface element including a plurality of workflow stage options, the plurality of workflow stage options including a first workflow stage; receiving a second user input indicating a selection of the first workflow stage; In response to receiving the second user input, recording an updated association between the first workflow stage and the first content element; and In response to the first content element being accessed on a second computing device after recording the association between the first workflow stage and the first content element, causing the application to display a first indicator corresponding to the first workflow stage on the second computing device.
2. The system of claim 1, wherein: The first user input is received from the first user; and The instructions further cause the one or more processors to: Responsive to the determination that the first workflow stage is associated with the first content element, access to the first content element by a second user is reduced.
3. The system according to claim 1, wherein: The instructions also cause the one or more processors to store information associated with the user's credentials.
4. The system according to claim 1, wherein: The instructions further cause the one or more processors to: receiving a third user input indicating a selection of the first indicator; and In response to receiving the third user input, the application is caused to invoke a second user interface element that presents at least the first option.
5. The system according to claim 4, wherein: The first option includes a third user interface element presenting an editable copy of the first content element; and The instructions further cause the one or more processors to: receiving a fourth user input in which the copy of the first content element is modified; In response to receiving the fourth user input, recording an association between the fourth user input and the first content element; as well as While the first indicator is being displayed, a second indicator corresponding to the fourth user input is displayed.
6. The system of claim 4, wherein: The first option includes a third user interface element configured to receive additional information to be associated with the first workflow stage; and The instructions further cause the one or more processors to: receiving a fourth user input via the third user interface element; in response to receiving the fourth user input, associating the fourth user input with the first workflow stage; as well as While the first indicator is being displayed, a second indicator corresponding to the fourth user input is displayed.
7. The system according to claim 4, wherein: The instructions further cause the one or more processors to: receiving a fourth user input indicating a selection of the first option, the first option comprising a second workflow stage different from the first workflow stage; and The first workflow stage is replaced with the second workflow stage.
8. The system according to claim 7, wherein: The instructions further cause the one or more processors to: determining that the second workflow stage is associated with the first content element; and The application is caused to display a second indicator corresponding to the second workflow stage while information about the first content element is being accessed in response to the determination that the second workflow stage is associated with the first content element.
9. The system according to claim 1, wherein: The instructions further cause the one or more processors to: during use of the application, determining that a second triggering event has occurred for a second content element, the second content element comprising a portion of the electronic content; responsive to the determination that the second triggering event has occurred, causing the application to present the first user interface element including the plurality of workflow stage options, the plurality of workflow stage options including a second workflow stage; receiving a third user input indicating a selection of the second workflow stage; In response to receiving the third user input, recording an association between the second workflow stage and the second content element; determining that the second workflow stage is associated with the second content element; as well as The application is caused to display a second indicator corresponding to the second workflow stage while information about the second content element is being accessed in response to the determination that the second workflow stage is associated with the second content element.
10. The system of claim 4, wherein: The first option includes a second user interface element configured to receive information specifying a limited time period during which the first indicator is to be displayed; and The instructions further cause the one or more processors to: receiving a fourth user input specifying the time period; in response to receiving the fourth user input, associating the time period with the first indicator; as well as The application is caused to display the first indicator when information about the first content element is accessed during a specified time period.
11. A method for marking specific content in electronic content associated with an application, performed on one or more computing devices, the method comprising: automatically analyzing an electronic document comprising a plurality of content elements using a machine learning algorithm, wherein each content element comprises a portion of electronic content that is less than all of the electronic document, wherein the machine learning algorithm is configured to receive the electronic document as an input, analyze the plurality of content elements, and output a plurality of first workflow stages, and wherein each of the plurality of first workflow stages is associated with a respective content element of the plurality of content elements; automatically recording an association between each of the plurality of first workflow stages and the corresponding content element; receiving a first user input from a first computing device in response to a first user selecting a first content element of a plurality of content elements of an electronic document in the application; In response to the first user input, determining that a first trigger event has occurred for the first content element by detecting a usage pattern of the first user based on the first user input; responsive to the determination that the first triggering event has occurred, causing the application to present a first user interface element including a plurality of workflow stage options, the plurality of workflow stage options including a first workflow stage; receiving a second user input indicating a selection of the first workflow stage; In response to receiving the second user input, recording an updated association between the first workflow stage and the first content element; and In response to the first content element being accessed on a second computing device after recording the association between the first workflow stage and the first content element, causing the application to display a first indicator corresponding to the first workflow stage on the second computing device.
12. The method according to claim 11, wherein: The first user input is received from the first user; as well as The method further comprises: Responsive to the determination that the first workflow stage is associated with the first content element, access to the first content element by a second user is reduced.
13. The method according to claim 11, further comprising: Stores information associated with a user's credentials.
14. The method according to claim 11, further comprising: receiving a third user input indicating a selection of the first indicator; as well as In response to receiving the third user input, the application is caused to invoke a second user interface element that presents at least the first option.
15. The method according to claim 14, wherein: The first option includes a third user interface element presenting an editable copy of the first content element; as well as The method further comprises: receiving a fourth user input in which the copy of the first content element is modified; In response to receiving the fourth user input, recording an association between the fourth user input and the first content element; and While the first indicator is being displayed, a second indicator corresponding to the fourth user input is displayed.
Citation Information
Patent Citations
Techniques pertaining to document creation
US20140201131A1
Systems for modular document editing
US20170076101A1