US9747259B2 - Searching, reviewing, comparing, modifying, and/or merging documents - Google Patents
Searching, reviewing, comparing, modifying, and/or merging documents Download PDFInfo
- Publication number
- US9747259B2 US9747259B2 US14/322,848 US201414322848A US9747259B2 US 9747259 B2 US9747259 B2 US 9747259B2 US 201414322848 A US201414322848 A US 201414322848A US 9747259 B2 US9747259 B2 US 9747259B2
- Authority
- US
- United States
- Prior art keywords
- differences
- file
- user interface
- files
- difference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 230000004048 modification Effects 0.000 claims abstract description 103
- 238000012986 modification Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims description 100
- 230000008859 change Effects 0.000 claims description 89
- 230000004044 response Effects 0.000 claims description 74
- 230000002441 reversible effect Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 5
- 238000012552 review Methods 0.000 abstract description 140
- 230000000670 limiting effect Effects 0.000 description 158
- 230000015654 memory Effects 0.000 description 37
- 238000007792 addition Methods 0.000 description 19
- 238000012217 deletion Methods 0.000 description 15
- 230000037430 deletion Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012553 document review Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013474 audit trail Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G06F17/2211—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G06F17/2288—
-
- G06F17/241—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
Definitions
- This application relates generally to document search, document review, document comparison, efficient document modification, and/or merging of documents, and to various scenarios based on reviewing, comparing, efficiently modifying, and/or merging documents.
- a first document may be created in a source format (e.g., Microsoft® Word®) in a first repository, such as a directory or folder related to a mobile or desktop device associate with the author and/or containing other electronic documents.
- a source format e.g., Microsoft® Word®
- a first repository such as a directory or folder related to a mobile or desktop device associate with the author and/or containing other electronic documents.
- the first document As the first document is shared or as copies are propagated to other users, e.g., such as by placing on a network share, via email, etc., the first document may be eventually rendered in a format different from the source format (e.g., such as portable document format (PDF), hypertext markup language (HTML), etc.).
- PDF portable document format
- HTML hypertext markup language
- the copies of the first document may become the subject of further revisions, for example, such as additions, deletions, modifications, comments, updates, links, additions of metadata, or otherwise, and so on.
- the author or other user is typically required to open one document with its native application (e.g., Microsoft® Word®) and select a second document from within that native application, to generate a comparison document.
- such conventional solutions are typically limited to comparing one version of a document with the original document or another version of the document.
- each of the documents to be compared must be supported by the native application.
- a Word® document cannot be compared to another document of a disparate format unless that disparate format is supported in the native application.
- a comparison of one document may only able to be compared to one other document at a time, especially in the case of proprietary document formats. Accordingly, where changes or differences may exist between the first document and any of a number of the propagated copies, the ability to track, review, compare, efficiently modify, and/or merge such changes or differences is typically limited to documents of the same format, and/or limited to, time-consuming manual one-on-one comparisons.
- conventional solutions for finding and replacing data associated with media content across numerous data repositories, and/or in disparate formats and/or platforms are similarly limited.
- a reviewer upon receiving a document for review electronically, a reviewer typically does not directly edit a document, and/or insert the desired changes or comments.
- a document-editing tool typically must be set in a mode so that the tool tracks changes made by the reviewer. If a reviewer performs the review using a tool that allows only annotation but not editing of the document, every change and/or comment needs to be specifically marked using the tool instead of simply updating the document.
- each reviewer sends the reviewed document back to the author either through the same or a different electronic system. The author can either print the original and reviewed documents and compares them outside the electronic system or can compare two documents at a time (either the original document and one reviewed document or two reviewed documents).
- data associated with media content can be searched, selected, reviewed, compared, modified, replaced, and/or merged with other data associated with media content.
- a computer readable storage medium comprises computer executable instructions that, in response to execution, cause a system comprising at least one processor to perform operations.
- the operations can comprise receiving a first selection of a first file and receiving a second selection of second files.
- the operations can further comprise parsing the first file and the second files and determining a set of differences between the first file and the second files.
- the operations can comprise presenting a list of the set of differences and/or generating, in response to a request, a new file comprising a subset of data in the first file or one of the second files, where the request is based on a subset of the set of differences.
- a computer readable storage medium comprises computer executable instructions that, in response to execution, cause a system comprising at least one processor to perform operations.
- the operations can comprise receiving a search location and a search property.
- the operations can further comprise searching the search location for a set of data locations satisfying the search property.
- the operations can further comprise presenting the set of data locations satisfying the search property and displaying the search property and a subset of surrounding content in a data location of the set of data locations in response to the data location of the set of data locations being selected.
- methods comprise receiving, by a system comprising a processor, a first selection of a first file and a second selection of second files via a user interface.
- the methods further comprise parsing, by the system, the first file and the second files and determining a set of differences between the first file and the second files.
- the methods additionally comprise presenting, by the system, a list of the set of differences via the user interface.
- the methods further comprise generating, by the system, in response to a request received via the user interface, a new file comprising a subset of data in the first file or in one of the second files, where the request received via the user interface is based on a first subset of the set of differences, and where the first subset of the set of differences is able to be viewed, selected, or accepted as a set via the user interface to facilitate the request.
- methods comprise receiving, by a system comprising a processor, search location data representing a search location and search property data representing a search property via the user interface.
- the methods comprise using the search location, searching, by the system, for a set of data locations satisfying the search property.
- the methods further comprise presenting, by the system, the set of data locations satisfying the search property via the user interface.
- the methods can comprise, in response to a data location of the set of data locations being selected via the user interface, displaying, by the system, data representing the search property and a subset of surrounding content in the data location of the set of data locations.
- a system comprises a memory that stores computer-executable components, and a processor, communicatively coupled to the memory, that executes or facilitates execution of the computer-executable components.
- the computer-executable components can comprise a selection component configured to receive a search location and a search property; a parsing component configured to search the search location for a set of data locations that satisfy the search property; and a presentation component configured to display the set of data locations satisfying the search property, wherein the presentation component is further configured to display the search property and a subset of surrounding content in a data location of the set of data locations in response to the data location of the set of data locations being selected.
- a system comprises a memory that stores computer-executable components, and a processor, communicatively coupled to the memory, that executes or facilitates execution of the computer-executable components.
- the computer-executable components can comprise a selection component configured to receive a first selection of a first file and a second selection of second files via a user interface; a parsing component configured to determine a set of differences between the first file and the second files; a presentation component configured to display a list of the set of differences via the user interface; and/or an output component configured to generate, in response to a request received via the user interface, a new file comprising a subset of data in the first file or in one of the second files, where the request received via the user interface is based on a first subset of the set of differences.
- FIG. 1 illustrates an exemplary system that facilitates review, comparison, modification, and/or merging of data in the form of media content such as documents, images, graphical symbols in accordance with various embodiments described.
- FIG. 2 illustrates an exemplary system for efficiently reviewing and/or modifying documents such as by searching and replacing data associated with media content in accordance with various embodiments described.
- FIG. 3 illustrates an exemplary system that facilitates search, review, comparison, modification, replacement, and/or merging of data associated with media content in accordance with various embodiments described.
- FIG. 4 depicts an exemplary user interface component that facilitates selection of data associated with media content for review, comparison, modification, and/or merging in accordance with various embodiments described.
- FIG. 5 depicts an exemplary user display view, showing changes or differences attributed to various reviewers with various actions that can be performed by a user to view, accept, reject changes or differences, make modifications, and/or create a merged document in accordance with various embodiments described.
- FIG. 6 depicts an exemplary user display view, showing changes or differences attributed to various reviewers, where, in response to a user hovering a mouse over or clicking on an individual change or difference in a list of a set of changes or differences, embodiments can indicate that a reviewer has added or deleted text in accordance with various aspects described.
- FIG. 7 depicts a further non-limiting user interface that facilitates selection of data associated with media content for review, comparison, modification, and/or merging in accordance with various embodiments described.
- FIG. 8 depicts further non-limiting aspects of an exemplary user interface that facilitates selection of data associated with media content for review, comparison, modification, and/or merging in accordance with various embodiments described.
- FIG. 9 depicts an exemplary user display view, showing status of changes or differences as a result of accepting all non-conflicting changes or differences in accordance with various embodiments described.
- FIG. 10 depicts an exemplary user display view, showing status of changes or differences and an exemplary warning as a result of conducting a conflicting change or edit in accordance with various embodiments described.
- FIG. 11 depicts an exemplary user interface component that facilitates selection of data associated with media content for review, comparison, modification, and/or merging in relation to sections in accordance with various embodiments described.
- FIG. 12 depicts further non-limiting aspects of an exemplary user interface that facilitates selection of data associated with media content for review, comparison, modification, and/or merging in relation to sections in accordance with various embodiments described.
- FIG. 13 depicts still further non-limiting aspects of an exemplary user interface that facilitates selection of data associated with media content for review, comparison, modification, and/or merging in relation to sections in accordance with various embodiments described.
- FIG. 14 depicts non-limiting aspects of another exemplary user interface that facilitates efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations in accordance with various embodiments described.
- FIG. 15 depicts further non-limiting aspects of an exemplary user interface that facilitates efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations in accordance with various embodiments described.
- FIG. 16 depicts an exemplary non-limiting device or system suitable for performing various aspects of the disclosed subject matter
- FIG. 17 illustrates an exemplary non-limiting flow diagram of methods for performing aspects of embodiments described herein.
- FIG. 18 depicts an exemplary non-limiting flow diagram illustrating various aspects of exemplary methods described herein.
- FIG. 19 is a block diagram representing exemplary non-limiting networked environments in which various embodiments described herein can be implemented.
- FIG. 20 is a block diagram representing an exemplary non-limiting computing system or operating environment in which one or more aspects of various embodiments described herein can be implemented.
- ком ⁇ онент can be a processor, a process running on a processor, an object, an executable, a program, a storage device, and/or a computer.
- an application running on a server and the server can be a component.
- One or more components can reside within a process, and a component can be localized on one computer and/or distributed between two or more computers.
- these components can execute from various computer readable media having various data structures stored thereon such as with a module, for example.
- the components can communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network, e.g., the Internet, a local area network, a wide area network, etc. with other systems via the signal).
- a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network, e.g., the Internet, a local area network, a wide area network, etc. with other systems via the signal).
- a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry; the electric or electronic circuitry can be operated by a software application or a firmware application executed by one or more processors; the one or more processors can be internal or external to the apparatus and can execute at least a part of the software or firmware application.
- a component can be an apparatus that provides specific functionality through electronic components without mechanical parts; the electronic components can include one or more processors therein to execute software and/or firmware that confer(s), at least in part, the functionality of the electronic components.
- a component can emulate an electronic component via a virtual machine, e.g., within a cloud computing system.
- exemplary and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples.
- any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
- the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive—in a manner similar to the term “comprising” as an open transition word—without precluding any additional or other elements.
- the words “set” or “sub-set” is used herein to refer to one or more of a component or item in which the term modifies or refers to and/or can include reference to, depending on the context, the empty set.
- the terms, “modify,” “modification,” and the like can refer to, depending on context, efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations, whereas in other contexts, the terms can be associated with editing, adding, deleting, etc. content associated with an individual change or difference of a list of a set of change or differences presented via a user interface.
- data associated with media content can be searched, selected, reviewed, compared, modified, replaced, and/or merged with other data associated with media content, for example, virtually without limitation, and/or without the various limitations posed by conventional solutions.
- the disclosed embodiments can facilitate a document author searching, reviewing, comparing, replacing, and/or merging data associated with media content, for example, for data comprising media content such as documents having any number of revisions, (e.g., additions, deletions, modifications, comments, updates, links, additions of metadata, or otherwise, and so on, etc.) and/or any number of reviewers all at the same time electronically, instead of comparing only one piece of data associated with media content (e.g., a reviewed document) with another piece of data associated with media content (e.g., a base document) at a time.
- a document author searching, reviewing, comparing, replacing, and/or merging data associated with media content
- data comprising media content such as documents having any number of revisions, (e.g., additions, deletions, modifications, comments, updates, links, additions of metadata, or otherwise, and so on, etc.) and/or any number of reviewers all at the same time electronically, instead of comparing only one piece of data associated with media content (
- a first item of data associated with media content e.g., a base document
- a number of second items of data associated with media content e.g., one or more second documents
- Various embodiments facilitate providing a virtually unlimited number of sets, combinations, and/or permutations of changes or differences between the base document and the one or more second documents that can be viewed, hidden, selected, accepted, rejected, and so on, etc., to facilitate efficient review, comparison, modification, and/or merging of data associated with media content, as further described herein.
- Other non-limiting implementations facilitate efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations.
- Non-limiting aspects of one or more of the various embodiments include allowing reviewers to make changes directly to a document under review without having to switch on a mechanism to track changes, enabling authors to view the changes made by multiple reviewers all at once in one application, enabling selective view or hide changes by one or more reviewers, enabling acceptance or review multiple changes by a reviewer in one click, enabling acceptance of non-conflicting changes in one click, enabling control of the granularity for viewing changes individually or as a group, and/or enabling automatic tracking of documents being reviewed to facilitate the document review, compare and merge process.
- FIG. 1 illustrates an exemplary system 100 that facilitates search, review, comparison, modification, replacement, and/or merging of data in the form of media content such as documents, images, graphical symbols, and the like.
- Media content is used herein to include audio, video, graphical, textual, and symbolic imagery.
- the example embodiments and aspects related to the examples may be described in relation to a document for ease of description, the example embodiments described herein can include any type of media such as video, audio, captured images, any combination of video, audio and graphical images, and the like.
- data associated with media content can describe information, such as a section, paragraph, sentence, one or more words and/or a title in a textual document, a portion of video and/or a graphical image, for example.
- the system 100 can comprise a review component 102 that communicates with various devices, servers, and/or data sources to parse data associated with media content that is stored and/or being generated.
- the review component 102 can be located in any one device, server and/or data source and/or external thereto.
- the review component 102 can be communicatively connected with a client device 104 and/or a target device 106 , in which both can include a mobile phone, personal digital assistant (PDA), laptop, personal computer, any combination and the like.
- the review component 102 can be communicatively connected to a server 108 and/or data source(s) 110 .
- the data source 110 can be a cloud infrastructure that enables access to data storage, for example.
- the review component 102 is able to access and parse data associated with media content that includes libraries, files, documents, and data thereof from a memory 114 , the data sources 110 , the client device 104 , a target device 106 , and the server 108 associated with a data store 112 , as well as other review components or set of data stores in communication with the review component 102 .
- the data associated with media content can be stored in a memory 114 , or elsewhere, such as in a separate repository, such as a database, where it can be accessed or shared across various other types of media content (e.g., documents).
- the review component 102 can access or share data associated with media content stored among various media content, and also with media content being generated.
- a document can be created through user input that includes a set of data associated with media content, such as digital text.
- the review component 102 is operable to present one or more further sets of data associated with media content, for example, from other documents that can be stored in the memory 114 , the data sources 110 , client device 104 , target device 106 , the server 108 , the data store 112 , and like sources, and/or portions thereof.
- each set of data associated with media content that is presented, all of one or more of the sets of sets of data associated with media content, and/or portions thereof can be parsed by the review component 102 to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- the review component 102 is operable to efficiently and selectively modify (e.g., efficient and selective search-and-replace) any of a number of the further sets of data associated with media content.
- review component 102 can include a processor 116 operatively coupled to one or more of a selection component 118 , a parsing component 120 , a presentation component 122 , output component 124 , and/or a modification component 126 .
- selection component 118 can be configured to receive one or more selections of data associated with media content, via a user interface such as a graphical user interface (GUI) to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content. Accordingly, selection component 118 can be configured to receive a first selection of a first file and a second selection of second files via the user interface, for example, where the first and second files can comprise data associated with media content. In a non-limiting aspect, the second selection of second files can comprise a selection of a set of three or more files.
- GUI graphical user interface
- the first file can comprise a base document
- the second files can comprise any number of other documents, for which review component 102 can facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- selection component 118 can be further configured to receive an annotation related to the first file or one or more of the second files, wherein the annotation comprises authorship information.
- the selection component 118 can receive information (e.g., indicating authorship, or otherwise, etc.), and/or the system 100 can detect and/or provide such information, for example, such that the information can be utilized to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- selection component 118 can be further configured to receive a selection of files to be merged into the first file to create one or more new file(s).
- selection component 118 can be configured to receive a selection of a base document and any number of other documents, for which review component 102 can facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files, where the one or more new file(s) comprise all of the differences between the first file and the second files (e.g., all of the differences between the base document and the number of other documents), or at least a portion thereof.
- the differences between the first file and the second files can comprise any of a number of revisions, deletions, additions, and/or comments associated with the data associated with media content (e.g., data of the first file, data of the base document, etc.).
- selection component 118 can also be configured to receive a choice of files (e.g., any number of other documents, etc.), where, for example, each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.), and for which review component 102 can facilitate selection of the respective content and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- files e.g., any number of other documents, etc.
- each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.)
- review component 102 can facilitate selection of the respective content and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- a parsing component 120 can be configured to parse data associated with media content of the first file (e.g., data of the first file, data of the base document, etc.) and one or more second files (e.g., any number of other documents, etc.) to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- parsing component 120 can be configured to parse data associated with media content, such as sections, paragraphs, pages, titles, or any portion of a document or data associated with media content that are being generated or already stored in a memory.
- parsing component 120 can be further configured to determine a set of differences between the first file and the second files.
- differences between a first file and any number of second files can comprise any of a number of revisions, deletions, additions, and/or comments associated with the data associated with media content (e.g., data of the first file, data of the base document, etc.).
- parsing component 120 can be configured to determine any of a number of revisions, deletions, additions, and/or comments associated with the data associated with media content (e.g., data of the first file, data of the base document, etc.).
- parsing component 120 can be configured to determine the set of differences, for example, based on a predetermined value of a change threshold (e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.) that can be associated with a degree of difference between a portion of the first file and a corresponding portion of one of the second files.
- a change threshold e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.
- a first portion of a first document (e.g., data of the first file, data of the base document, etc.) can be determined by parsing component 120 to relate to, or be associated with, a second portion of a set of second documents, and, according to the predetermined value of a change threshold, can be determined to be a difference between the first document and one or more of the second documents (e.g., a difference between the base document and a number of the other documents).
- a change threshold (e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.) can comprise or be associated with a match of one or more words of the one or more second documents with at least a portion of the first document (e.g., data of the first file, data of the base document, etc.), a match and/or correspondence of a particular degree of data of the one or more second documents with at least the portion of the first document (e.g., section, paragraph, a sentence, etc.), a match and/or correspondence of a particular degree of a section title or content of a set of second documents with a section title of a the first document (e.g., data of the first file, data of the base document, etc.), a relevance score based on one or more of a set of predetermined criteria satisfying a condition, a frequency of reuse across different documents of a set of second documents satisfying a condition, a percentage of usage of at least a portion of a first document (e.g.,
- a predetermined value of a change threshold (e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.) associated with a degree of difference between a portion of the first file and a corresponding portion of one of the second files can be based on user input, that can be adjusted, for example, via the user interface. For instance, by adjusting the predetermined value of the change threshold to require a higher degree of match and/or correspondence, the parsing component 120 can be configured to determine the set of differences, for example, on a different level of granularity (e.g., word level, phrase level, sentence level, paragraph level, section level, etc.).
- a different level of granularity e.g., word level, phrase level, sentence level, paragraph level, section level, etc.
- parsing component 120 can determine that a paragraph has changed (e.g., or is a difference, comparing data of the first file, data of the base document, etc., with data of one or more of the second files, data of one or more of the second documents, etc.) if the predetermined value of a change threshold (e.g., a paragraph change threshold) of 60%, for instance, has been met.
- a change threshold e.g., a paragraph change threshold
- selection component 118 can be configured to receive a choice of files (e.g., any number of other documents, etc.), where, for example, each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.), and for which review component 102 can facilitate selection of the respective content and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- files e.g., any number of other documents, etc.
- each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.)
- review component 102 can facilitate selection of the respective content and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- parsing component 120 can be configured to determine a set of differences including determining a correspondence between the respective content and one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- review component 102 can be further configured facilitate selection of the respective content and/or merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.), based at least in part on the correspondence.
- a presentation component 122 can be configured to display a list of the set of differences between the first file (e.g., data of the first file, data of the base document, etc.) and one or more second files (e.g., any number of other documents, etc.) via the user interface to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- presentation component 122 can be further configured to display an option to accept and/or reject an individual difference in the list of the set of differences.
- presentation component 122 can be further configured to provide an opportunity to undo one or more of an acceptance or a rejection of an individual difference in the list of the set of differences.
- presentation component 122 can be configured to provide an opportunity to undo one or more of an acceptance or a rejection of an individual difference in the list of the set of differences, regardless of the order in which the one or more of the acceptance or the rejection of the individual difference was undertaken. That is, whereas conventional solutions providing ability to undo accepted or rejected changes in the reverse time order of which the changes were accepted or rejected, without the ability to select and undo such changes out of order, various embodiments as described herein facilitate undoing one or more of individual accepted or rejected changes independent of the order in which such individual changes were accepted or rejected. As a result, various embodiments can facilitate intermediate states of data associated with media content based on the ability to accept, reject, undo, and/or redo various changes or differences in the list of differences out of order and without regarding to constraints of a time-based queue.
- presentation component 122 can be configured to display the list of the set of differences via the user interface as a series of listings of respective content in reverse chronological order of timestamps associated with the respective content via the user interface.
- each of the series of listings can be associated with any of a number of timestamps (e.g., date/time created, date/time last modified, date/time last synched, date/time last accessed, date/time last reviewed, and so on, etc.), without limitation.
- presentation component 122 can display the series of listings of respective content in a selected order (e.g., in reverse chronological order, in chronological order, and another order, etc.) of timestamps associated with the respective content.
- presentation component 122 can also be configured to present, via the user interface, the series of listings with one or more of information associated with author, last modification, and/or location associated with the respective content.
- presentation component 122 can be further configured to display detailed revision information associated with the individual difference in the list of the set of differences, for example, in response to receipt of an indication of interest via the user interface.
- review component 102 can be operable to receive user input (e.g., user input associated with mouse, keyboard, touch screen, and/or other human interface devices, etc.), such as, for example, mousing over or clicking on an individual difference in the list of the set of differences to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- presentation component 122 can display detailed revision information associated with the individual difference.
- such detailed revision information can include, but is not limited to, additions, deletions, revisions, and/or comments associate with the individual difference.
- the detailed revision information can be displayed by presentation component 122 , for example, as data presented in pop-up window, in a panel of a multipanel GUI, in an output window, etc., and so on.
- presentation component 122 can be further configured to display a subset of the list of the set of differences.
- review component 102 can be operable to receive various commands (e.g., via a GUI), and/or other selections to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- presentation component 122 can display a subset of the list of the set of differences, for example, based on receipt of a command to accept, reject, display, or hide a subset of the set of differences associated with the authorship information.
- a command can be received by review component 102 , for example, to accept all changes or differences associated with a particular file of the second files (e.g., changes or differences associated with a particular author or reviewer, changes or differences made before or after a certain date or time, such as a file last modified date, changes or differences based on a file location associated with one or more of the second files, and so on, etc.), and in response thereto, presentation component 122 can display a reduced set of differences between the first file (e.g., data of the first file, data of the base document, etc.) and one or more second files (e.g., any number of other documents, etc.).
- other commands can be received by review component 102 , without limitation, and presentation component 122 can display an appropriate listing of the set of differences to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- presentation component 122 can be configured to present an option to one or more of accept or reject an individual difference in the list of the set of differences via the user interface.
- review component 102 is operable to receive selections, commands, requests, and/or other indications, and so on associated with options provided to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- presentation component 122 can, via the user interface, present the option to accept or reject an individual change or difference in the list of the set of differences, and in response to an invocation of the option to accept or reject the individual difference, review component 102 can annotate the status of the option to accept or reject (e.g., annotate that the change or difference is accepted or rejected, pending, etc.) the individual difference, and the presentation component 122 can display such status via the user interface.
- review component 102 can annotate the status of the option to accept or reject (e.g., annotate that the change or difference is accepted or rejected, pending, etc.) the individual difference, and the presentation component 122 can display such status via the user interface.
- annotations can comprise, but are not limited to, changing of a background, a font, a style, a format, or a behavior of text associated with the individual difference in the user interface, for example, for data associated with media content related to the first file (e.g., data of the first file, data of the base document, etc.) and/or one or more second files (e.g., any number of other documents, etc.).
- first file e.g., data of the first file, data of the base document, etc.
- second files e.g., any number of other documents, etc.
- presentation component 122 can be configured to present various notifications or other user interface prompts or cues to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- presentation component 122 can be configured to present a notification about a conflicting change or edit via the user interface.
- review component 102 is operable to receive selections, commands, requests, and/or other indications, and so on associated with options provided to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- review component 102 and/or a portion or portions thereof, or components associated therewith, etc., can be configured to determine that a change or edit attempted for a set of differences would result in a conflicting change or edit, for example, as further described below regarding FIG. 10 , etc. Accordingly, in response to a determination that a change or edit attempted for a set of differences would result in a conflicting change or edit, presentation component 122 can, via the user interface, present a notification about a conflicting change or edit via the user interface, for example, so as to inform a user that further review may be necessary.
- notifications can comprise or be associated with changing of a background, a font, a style, a format, or a behavior of text associated with the conflicting change or edit, a pop-up message, for example, without limitation.
- output component 124 can be configured to generate one or more new files comprising some or all of the differences between the first file and the second files (e.g., all of the differences between the base document and the number of other documents), or at least a portion thereof.
- review component 102 is operable to receive selections, commands, requests, and/or other indications, and so on associated with options provided to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- output component 124 can generate one or more new files comprising a subset of data in the first file or in one or more of the second files.
- review component 102 can receive a request via the user interface, (e.g., a request based on a first subset of the set of differences, etc.), and in response thereto, output component 124 can generate one or more new files comprising a subset of data in the first file or in one or more of the second files.
- a request based on a first subset of the set of differences can include, without limitation, a request to generate one or more new files comprising all non-conflicting changes or differences between the first file and the one or more second files (e.g., where a portion of the first file is not changed or different from more than one of the one or more second files), a request to generate one or more new files comprising, for example, all changes or differences attributable to a particular author or reviewer, all changes or differences occurring before or after a particular time, all changes or differences associated with a particular data location, and so on, etc.
- output component 124 can generate the one or more new files comprising the subset of the set of differences, where the subset of the set of differences comprises only changes or differences between the first file and no more than one of the second files (e.g., all non-conflicting changes or differences).
- output component 124 can generate one or more new files, in response to review component 102 receiving the request as indicated by singular action undertaken by a user via the user interface.
- various embodiments described herein can provide a button or other user interface component to facilitate generating the one or more new files comprising all non-conflicting changes or differences between the first file and the one or more second files that, in response to being selected by user via the user interface, can cause output component 124 to generate one or more new files.
- Similar interface components associated with review component 102 can be configured to facilitate output component 124 generation of the one or more new files according to other aspects described herein.
- output component 124 can be configured to generate the one or more new files comprising the subset of data in the first file or in one or more of the second files, where the request received via the user interface is based on a subset of the set of differences, and where subset of the set of differences is able to be viewed, selected, and/or accepted and so on as a set via the user interface to facilitate the request.
- the first subset of the set of differences can be associated with all changes or differences attributable to a particular author or reviewer, all changes or differences occurring before or after a particular time, all changes or differences associated with a particular data location, and so on, etc.
- review component 102 is operable to receive a request to generate the one or more new files comprising based on such subsets of the set of differences capable of being viewed, selected, and/or accepted and so on as a set.
- output component 124 can be configured to generate the one or more new files as one or more of a redlined file comprising annotations that indicate the subset of the set of differences (e.g., those changes or differences between the first file and the one or more second files) and/or a clean file without the annotations.
- review component 102 and/or a portion thereof is operable to receive user input (e.g., user input associated with mouse, keyboard, touch screen, and/or other human interface devices, etc.) associated with selections, commands, requests, and/or other indications, and so on to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- user input e.g., user input associated with mouse, keyboard, touch screen, and/or other human interface devices, etc.
- modification component 126 can be configured to receive a command via the user interface to facilitate one or more of accepting, rejecting, displaying, and/or hiding a subset of the set of differences associated with information (e.g., indicating authorship, or otherwise, etc.) related to the first and/or one or more of the second files. Accordingly, in a further non-limiting aspect of modification component 126 , a subset of the set of changes or differences can be accepted, rejected, displayed, and/or hid, as further described above, via the user interface, based on authorship information, based on information associated with a date and/or time, based on information associated with a file location, and so on, etc.
- information e.g., indicating authorship, or otherwise, etc.
- modification component 126 can be further configured to restore the list of the set of differences via the user interface, for example, in response to receiving a request to undo all accepted and rejected changes associated with the list of the set of differences.
- review component 102 and/or a portion thereof e.g. modification component 126 , etc. is operable to receive input via the user interface to add or delete content associated with the individual difference of the list of the set of differences (e.g., such as by a user selecting the individual change or difference and/or editing content associate with individual difference).
- presentation component 122 can be further configured to present the content via the user interface differently, for example, based on the whether the content is an addition or deletion.
- differing presentations can comprise, but are not limited to, changing of a background, a font, a style, a format, or a behavior of text associated with the content in the user interface, for instance, depending on whether the content constitutes an addition or a deletion.
- One or more of the selection component 118 , the parsing component 120 , the presentation component 122 , the output component 124 , and/or the modification component 126 can be operatively interconnected to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- system 100 is operable to generate the one or more new files as described herein and/or to modify one or more portion of one or more files or a number of portions of a number of files with a single click or other input as facilitated by system 100 .
- the one or more new files as described herein and/or the modified files can be stored in a content repository, memory or data store of the data sources 110 , client device 104 , target device 106 , server 108 , memory 114 , and/or elsewhere.
- any one of the documents that have been modified and/or created can be retrieved from their respective memories and the to facilitate further operations associated with searching, reviewing, comparison, modification, replacing, and/or merging data associated with media content of the first and second files.
- FIG. 2 illustrates an exemplary system 200 for efficiently searching, reviewing, replacing, and/or modifying documents.
- exemplary system 200 comprising modification component 126 can comprise, additionally and/or alternatively, a search and replace component (S/R 202 ) that facilitates efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations (e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.).
- data sources or locations e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.
- system 200 can comprise or be associated with a review component 102 that can include a processor 116 operatively coupled to one or more of a selection component 118 , a parsing component 120 , a presentation component 122 , output component 124 , and/or a modification component 126 comprising search and replace component 202 .
- a review component 102 can include a processor 116 operatively coupled to one or more of a selection component 118 , a parsing component 120 , a presentation component 122 , output component 124 , and/or a modification component 126 comprising search and replace component 202 .
- selection component 118 can, additionally and/or alternatively, be configured to receive one or more of a search location and a search property.
- search location can comprise information about location of data associated with media content related to files located on one or more data sources or locations (e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.).
- a search location can comprise one or more of a file or folder.
- a set of data locations can comprise one or more of a set of instances in a file or a set of instances in a set of files.
- a search property can comprise data and/or information about which information about the instances and/or files in the search location is sought.
- selection component 118 can, additionally and/or alternatively, be configured to receive data to replace the search property in a subset of the set of data locations (e.g., a set of instances in a file or a set of instances in a set of files, etc.).
- review component 102 comprising selection component 118 , modification component 126 , and/or search and replace component 202 , is operable to receive a search location and a search term or phrase, for which to search documents residing at the search location.
- parsing component 120 can, additionally and/or alternatively, be configured to one or more of search the search location for a set of data locations that satisfy the search property, parse data associated with media content to facilitate determining whether the location satisfies the search property, and so on, etc.
- parsing component 120 can be configured to one or more of parse one or more files residing at the search location, identify one or more instances in a file or a set of instances in a set of files that satisfy the search property, and so on.
- presentation component 122 can, additionally and/or alternatively, be configured to display the set of data locations satisfying the search property.
- presentation component 122 can, additionally and/or alternatively, display the set of data locations satisfying the search property, where presentation component 122 is further configured to display the search property and a subset of surrounding content in a data location of the set of data locations in response to the data location of the set of data locations being selected.
- displaying the data representing the search property and the subset of surrounding content can comprise displaying, via the user interface, data representing an image, a word, a phrase, a sentence, or a paragraph associated with the search property and comprising a portion of data associated with media content at the respective data location of the set of data locations.
- presentation component 122 can display the search property as it exists in the file (e.g., at one or more instances in the file that the search property is satisfied) along with contextual data and/or information that surrounds the one or more instances in the file the search property is satisfied.
- presentation component 122 can, additionally and/or alternatively, be configured to display the set of data locations satisfying the search property in a selectable and expandable tree view.
- review component 102 comprising selection component 118 , presentation component 122 , modification component 126 , and/or search and replace component 202 , can facilitate efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations (e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.).
- data sources or locations e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.
- each of the data locations of the set of data locations can be selected, reviewed, compared, and/or identified for replacement of the search property by the data received (e.g., data received by selection component 118 to replace the search property in a subset of the set of data locations) independently of the desired actions for the other data locations of the set of data locations.
- review component 102 is operable to receive selections, commands, requests, and/or other indications, and so on associated with options provided to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- modification component 126 comprising search and replace component 202 , can be further configured to replace the search property with the data in the subset of the set of data locations in response to receipt of a selection (e.g., review component 102 , portions thereof, etc.) of the subset of the set of data locations.
- a selection e.g., review component 102 , portions thereof, etc.
- system 200 is operable to modify data associated with media content across various data sources without to facilitate efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations (e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.).
- a user can desire modification (e.g., search-and-replace of data associated with media content) of particular instances of a sentence or a portion thereof pertaining to safety protocols, and system 200 can locate instances that satisfy a search property based on a provided search location.
- system 200 is operable to receive a selection input indicating which of those data locations of the set of data locations to modify. Based on the selection, the system 200 , or a portion or portions thereof (e.g., output component 124 , etc.), is operable to modify each of the selected data locations with the data received by selection component 118 to replace the search property in a subset of the set of data locations in order to make all of the selected instances the same, substantially the same substantially alike, or similar to the first content.
- review component 102 or a portion or portions thereof (e.g., presentation component 122 , etc.), is operable to generate a document view that operates in conjunction with aspects described herein that facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content, such as .doc, .pdf, and the like, for example, as further described herein regarding FIGS. 4-13 .
- a user display view (not shown) comprising a document view can have a first view area, a second view area, and a third view area.
- the first view area can be generated to display a list of the selections corresponding to the first and second files, respective authorship information for the first and second files, to provide user interface components to facilitate one or more of accepting or rejecting a set of changes or differences (and/or undoing the same), accepting all non-conflicting changes or differences, generating the one or more new documents, and so on, etc.
- the second view area can be generated to display a list of the set of changes or differences, change or difference summary information, information associated with the series of listings such as one or more of information associated with author, last modification, and/or location associated with the respective content, etc., and/or can be used to provide user interface components that facilitate one or more of accepting or rejecting of individual changes or differences in the list of the set of changes or differences (and/or undoing the same).
- the third view area can be generated to display, for example, detailed revision information associated with the individual change or difference in the list of the set of changes or differences, for example, in response to receipt of an indication of interest via the user interface, as described above. Further non-limiting embodiments of interface components that facilitate efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations are further described herein, for example, regarding FIGS. 14-15 .
- FIG. 3 illustrates a system 300 that includes review component 102 that facilitates search, review, comparison, modification, replacement, and/or merging of data associated with media content (e.g., digital documents, images, audio, video, etc.).
- System 300 is operable to search, parse, review, compare, modify, replace, and/or merge data associated with media content, for example.
- the system 300 comprises the review component 102 and can further comprise one or more of a reference component 302 , a scanning component 304 , and/or a charging component 306 .
- review component 102 can include memory 114 , processor 116 , selection component 118 , the parsing component 120 , the presentation component 122 , the output component 124 , and/or the modification component 126 .
- the presentation component 122 can further comprise one or more view area component(s) (VACs) 308 .
- VACs view area component(s)
- a first view area component, a second view area component, and a third view area component can be configured to generate a first, a second, and a third view area as described above.
- reference component 302 is operable to generate references to different portions, sections, or otherwise, data associated with media content (e.g., a document, video and the like) with other portions, sections or otherwise for other data associated with media content.
- the reference component 302 is operable to identify audit trails or different versions of portions of data associated with media content and record the different versions of the set of portions of data associated with media content with a tag or with metadata comprised in a reference.
- portions of data associated with media content can be one or more words, sentences, paragraphs, sections, heading or titles of a document that are different from other portions, sections or otherwise for other data associated with media content.
- reference component 302 can reference the former with the latter, for example, to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- portions of data associated with media content from a document can be presented by the presentation component 122 with a reference to a storage location of the respective document (e.g., the one of the one or more second files), in which the reference or tag includes the respective storage location.
- portions of data associated with media content from a document can be parsed by the parsing component 120 , such that the respective document (e.g., the one of the one or more second files) can be pre-parsed and indexed by parsing component 120 to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- one or more of the modification component 126 , the presentation component 122 , and/or a portion or portions thereof are operable to, with the reference component 302 , render a document view that can be dynamically compared, modified (e.g., a first file having one or more changes or differences accepted and/or rejected, having content added and/or deleted, being commented, and so on, etc.) based in part on the references that have been generated.
- modified e.g., a first file having one or more changes or differences accepted and/or rejected, having content added and/or deleted, being commented, and so on, etc.
- the respective portions of the data associated with media content can be retrieved from their respective repositories and the document can be synthesized or otherwise pieced together according to the references or tags therein.
- the modification component 126 can be configured to modify the presentation of the each portion of data associated with media content (e.g., one or more of the first file and/or one or more second files) according to the references or tags at each portion of the data associated media content (e.g., one or more of the first file and/or one or more second files).
- each tag or reference can include a genealogy of changes to data associated with media content (e.g., one or more of the first file and/or one or more second files).
- a user can be presented via the presentation component 122 different portions of data associated with media content, for example, from other documents based on content provided or selected.
- System 300 can receive a modification input that selects all or a portion of data associated with media content (e.g., a portion of a first file).
- the reference component 302 can provide references to corresponding portions of other data associated with other media content (e.g., respective portions of one or more of the one or more second files).
- the reference component 302 is operable to generate tags or references that can include a genealogy of changes to data associated with media content, where each tag or reference is operable to link to different portions or updates generated along the lifespan of a modified or created document.
- the tag or references are indicators of a version history or properties of the modified documents or portions of the documents.
- the system 300 can further comprise a scanning component 304 that can be configured to one or more of receive a scanned document image, recognize data associated with the scanned document with an optical recognition algorithm, such as optical character recognition or a like pattern recognition engine for recognizes characters, numbers, and/or images.
- the scanning component 304 can employ the analyzed data as the first file or one of the one or more second files, described above.
- the data associated with the scanned document can be employed to further facilitate search, review, compare, modify, replacement, and/or merge of data associated with media content by system 300 .
- the system 300 can be extended with a charging component 306 to facilitate providing services over a public network, e.g., such as in providing software as a service, cloud-based services, software subscriptions, business-to-business software services, and/or content management system (CMS) services, etc. with an option for reimbursement on use.
- a charging component 306 can be configured to generate a cost, either automatically or through user input control and can be further configured to receive payment related to usage of system 300 by a user.
- review component 102 enables data associated with media content across various repositories, libraries and/or devices to be searched, parsed, reviewed, compared, modified, replaced, and/or merged with other data associated with media content.
- the system 300 illustrates further that system 300 is operable as a cloud-based system or any other system that capable of communicating data associated with media content among multiple repositories or data stores.
- the review component 102 can operate in a cloud network 310 that can provide different repositories associated with different clients and/or different data associated with media content (e.g., one or more of the first file and/or one or more second files).
- a client device 312 can be allocated to a data store 314
- a client device 316 can be allocated to a different data store 318 , which may or may not be shared with other clients or customer devices.
- client device 316 could have access to the repositories of client device 312 , for example, so that the charging component 306 can facilitate tracking of the content sections (e.g., a paragraph, a section of a document, a portion of an audio or video track, etc.) that may be under copyright protection within the various types of data associated with media content.
- the charging component 306 can track usage of portions of data associated with media content (e.g., one or more of the one or more second files) that make up another portion of data associated with content (e.g., the first file merged with portions of one or more second files, etc.), such as, for example, compilations of copyrighted work.
- charging component 306 can generate a cost to receive payment that relates to authorship associated with a client associated with client device 312 and/or a number of selected portions of data associated with media content from data store 314 that client device 316 employs, modifies, copies, compiles, and/or merges with other data associated with media content in data store 318 .
- client device 312 and the corresponding data store 314 can be completely separated from client device 316 and the data store 318 associated therewith.
- enhanced security and protection can be enabled among data associated with media content by the review component 102 , for example, for multiple client devices.
- each client device 312 and 316 can be enabled to easily move and/or share data across different cloud providers and/or within a respective local area network (LAN). For example, a customer can start using the system 300 on an existing corporate IT infrastructure and then seamlessly move to a cloud, and vice versa.
- LAN local area network
- a client associated with client device 312 can employ system 300 , for instance, to facilitate searching, parsing, reviewing, comparing, modifying, replacing, and/or merging of data associated with media content across various repositories, libraries, and/or devices.
- system 300 can employed as a CMS solution for a client associated with client device 312 .
- the client associated with client device 312 may change business addresses or other information and require the ability to efficiently and cost-effectively update a website associated with the client.
- System 300 is operable to enable the client to efficiently and selectively search-and-replace data associated with media content (e.g., web pages of a website) associated with files located on one or more data sources or locations (e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , cloud network 310 , the internet, and so on, etc.).
- media content e.g., web pages of a website
- data sources or locations e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , cloud network 310 , the internet, and so on, etc.
- system 300 facilitates efficient and selective search-and-replace of the data associated with media content (e.g., web pages of a website), for example, such as by receiving search location data representing a search location (e.g., a base uniform resource locator (URL) of the website), search property data representing a search property (e.g., old address), and data to replace the search property (e.g., current address).
- search location data representing a search location
- search property data representing a search property
- charging component 306 can be further configured to calculate a competitive cost based on, for example, length of use, time of execution for the task, and so on, etc.
- FIGS. 4-15 depict various non-limiting examples of GUIs and/or user interface components suitable for use with exemplary aspects of the disclosed subject matter.
- FIG. 4 depicts an exemplary user interface component 400 of a non-limiting system (e.g., system 100 , system 200 , system 300 , etc.) that facilitates selection of data associated with media content for search, review, comparison, modification, replacement, and/or merging with other data associated with media content.
- a non-limiting system e.g., system 100 , system 200 , system 300 , etc.
- the exemplary user interface component 400 is described as part of an add-on to an existing word processor (e.g., Microsoft® Word®) to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content in the form of one or more word processing documents.
- Microsoft® Word® existing word processor
- exemplary user interface component 400 can facilitate (e.g., via review component 102 , selection component 118 , portions thereof, etc.) a user providing a selection 402 of data associated with media content comprising a first file 404 as a base document for review, comparison, etc.
- exemplary user interface component 400 further enables a user to provide a selection 406 of one or more second items of data associated with media content comprising the one or more second files 408 , as well as to provide one or more annotations 410 of information (e.g., indicating authorship, or otherwise, etc.).
- the user can begin parsing (e.g., via review component 102 , parsing component 120 , portions thereof, etc.) the first file 404 and the one or more second files 408 by providing user input 412 to exemplary user interface component 400 and determining a set of differences between the first file and the one or more second files.
- parsing e.g., via review component 102 , parsing component 120 , portions thereof, etc.
- various embodiments described herein enables a user to compare data associated with media content, such as documents reviewed by multiple reviewers (e.g., the first file 404 and the one or more second files 408 ), all at the same time electronically instead of comparing only one reviewed document (e.g., only one of the one or more second files 408 ) with the base document (e.g., the first file 404 ) at a time.
- a non-limiting system e.g., system 100 , system 200 , system 300 , etc.
- FIG. 5 depicts an exemplary user display view 500 comprising a document view, showing changes or differences attributed to various reviewers with various actions that can be performed by a user to view, accept, reject changes or differences, make modifications, and/or create a merged document.
- a user display view 500 comprising a document view can have a first view area 502 , a second view area 504 , and a third view area 506 , for instance, as described above regarding FIGS. 1 and 2 , that facilitates search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- the first view area 502 can be generated to display a list of the selections corresponding to the first 404 and second files 408 , respective information 508 (e.g., indicating authorship, or otherwise, etc.) for the first 404 and second files 408 , to provide user interface components to facilitate one or more of accepting or rejecting a set of changes or differences (and/or undoing the same) 510 , accepting all non-conflicting changes or differences 512 , generating the one or more new documents 514 , and so on, etc.
- respective information 508 e.g., indicating authorship, or otherwise, etc.
- the second view 504 area can be generated to display a list 516 of the set of changes or differences, change or difference summary information 518 , information associated with the series of listings 520 such as one or more of information associated with author, last modification, and/or location associated with the respective content, etc., and/or can be used to provide user interface components 522 , 524 that facilitate one or more of accepting or rejecting of individual changes or differences in the list of the set of changes or differences (and/or undoing the same), as well as user interface components that facilitate configuring parsing component 120 regarding a predetermined value of a change threshold 526 (e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.) that can be associated with a degree of difference between a portion of the first file 404 and a corresponding portion of one of the second files 408 .
- a change threshold 526 e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.
- the third view area 506 can be generated to display, for example, detailed revision information 528 associated with the individual change or difference in the list 516 of the set of changes or differences, for example, in response to receipt of an indication of interest via the user interface (e.g., via clicking on user interface components 522 ), as described above.
- FIG. 5 depicts an exemplary user display view 500 , showing changes or differences attributed to various reviewers.
- User display view 500 indicates whether text was added 530 or deleted 532 by a user.
- FIG. 5 additionally depicts a non-limiting mechanism for marking text additions 530 to be visually distinguishing from text deletions 532 , as well as depicting numbered changes (e.g., information associated with the series of listings 520 ) made by a user along with the name or initials of the user.
- FIG. 5 further depicts an exemplary mechanism 526 for controlling the granularity of changes being viewed.
- a user can choose to consolidate multiple changes in a given paragraph as a single, complete paragraph change if more than 60% of the paragraph has changed, thus enabling a user to control the level of granularity of changes being viewed.
- non-limiting system e.g., system 100 , system 200 , system 300 , etc.
- a change or difference e.g., an individual change or difference in the list 516 of the set of changes or differences
- non-limiting system e.g., system 100 , system 200 , system 300 , etc.
- text additions and deletion can be shown in visually distinct colors, such as, for example, blue and red, respectively (not shown).
- a further disparate color can be used to depict comments not shown.
- FIG. 6 depicts an exemplary user display view 600 , showing changes or differences attributed to various reviewers, where, in response to a user hovering a mouse over or clicking on an individual change or difference 602 , 604 in a list 516 of a set of changes or differences, embodiments can indicate that a reviewer has added 602 (e.g., blue highlighting at 606 and 608 ) or deleted 604 text (e.g., red highlighting at 610 and 612 ). It should be noted that various visual effects could be substituted for colored highlighting depicted in FIG. 6 , including, but not limited to, alternatives such as animation of changed text, connecting of lines from the second view area 504 to respective portions of the third view area 506 , etc.
- exemplary user interface component 400 can facilitate (e.g., via review component 102 , selection component 118 , portions thereof, etc.) a user providing a selection 402 of data associated with media content comprising a first file 404 as a base document for review, comparison, etc.
- a user can select to show or hide all changes by one or more reviewer, as indicated in FIG. 5 , as a non-limiting example.
- a user can uncheck a checkbox in front of a reviewed document associated with a reviewer (e.g., at 508 ), and that reviewer's changes and comments can be hidden from the list 516 of the set of changes or differences.
- the changes and comments of the reviewer can begin be presented in the list 516 of the set of changes or differences.
- a user can accept all changes made by a particular reviewer in one click.
- the user can click on the associated “Accept all AB” user interface component (e.g., the “Accept all AB” hyperlink).
- a user can also accept all non-conflicting changes as further described herein.
- exemplary embodiments also enable a user to accept or reject individual changes, for example, by clicking on an “Accept” or a “Reject” option that can be presented when a particular change or difference is highlighted (e.g., at 602 , at 604 , etc.).
- similar options can also be used to toggle changes from an accepted state to a rejected state and vice versa.
- a change or difference that is accepted or rejected either individually or a part of any of the bulk operations e.g., except all, reject all, undo all, etc.
- associated circles depicting addition (+) or deletion ( ⁇ ) can be shaded with a color such as gray or other colors.
- a user can also undo all actions and reset the document review to start state in one click (e.g., clicking “Undo All Changes” user interface component or hyperlink at 510 ), as a non-limiting example.
- various embodiments also enable the user to generate a merged document in one click after the user is done accepting and/or rejecting changes recommended by or differences attributable to the reviewers. As a non-limiting example indicated in FIG.
- a user can clicks on the “Generate New Document With All Changes” user interface component or button, various embodiments described herein can merge all changes or differences accepted by the user attributable to different reviewers.
- a user can be provided an option to provide a document name or various embodiments can use an auto-generated document name.
- FIGS. 7-15 provide further exemplary implementations, and/or associated components while providing examples of further non-limiting aspects of the disclosed subject matter.
- exemplary system 100 can be implemented as a standalone application, for desktop devices, for mobile devices, and so on, and/or can be implemented partially or substantially over a network, such as in the case of cloud computing services, software as a service, and so on, etc.
- FIG. 7 depicts a further non-limiting user interface 700 that facilitates selection of data associated with media content for search, review, comparison, modification, replacement, and/or merging.
- FIG. 7 depicts an “Accept” and a “Reject” option at 702 that can be presented when a particular change or difference is highlighted (e.g., blue highlighting at 606 and 608 ) in response to a user hovering a mouse over or clicking on an individual change or difference 704 in a list 516 of a set of changes or differences, where embodiments can indicate that a reviewer has added (e.g., blue highlighting at 606 and 608 ) text 706 .
- a reviewer has added (e.g., blue highlighting at 606 and 608 ) text 706 .
- FIG. 8 depicts further non-limiting aspects of an exemplary user interface 800 that facilitates selection of data associated with media content for search, review, comparison, modification, replacement, and/or merging, where the status of individual changes or differences in the list 516 of a set of changes or differences is indicated.
- an accepted change or difference 802 can be displayed with persistent background highlighting of a certain color (e.g., green background in FIG. 8 )
- a rejected change or difference 804 can be displayed with persistent background highlighting of a disparate color (e.g., orange background in FIG. 8 ).
- FIG. 8 further depicts another non-limiting aspect of various embodiments described herein, where a user can be provided the ability to edit at 806 the data associated with media content (e.g., conduct additions, deletions, revisions, etc.) within exemplary user interface 800 to further facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- the user interface component e.g., “edit” user interface component or hyperlink 806
- various embodiments can provide the ability to edit the data associated with media content, e.g., such as, providing a pop-up, editing dialog box 808 , and so on, etc., in a further non-limiting aspect.
- the edited data associated with media content 810 can be displayed, and the user can be provided with the ability to further edit and/or undo 812 prior edits made by the user within exemplary user interface 800 .
- changes or differences made by or attributed to all the reviewers that do not conflict or otherwise overlap each other can be accepted, for example, in one click, as depicted in FIG. 5 (e.g., 512 ), such as by clicking the “Accept All Non-Conflicting Changes” user interface component (e.g., the “Accept All Non-Conflicting Changes” hyperlink 512 ).
- results are depicted below regarding FIG. 9 .
- FIG. 9 depicts an exemplary user display view 900 , showing status of changes or differences as a result of accepting all non-conflicting changes or differences in accordance with various embodiments described.
- the accepted non-conflicting changes or differences can be displayed with persistent background highlighting 902 of a certain color (e.g., green background as described above regarding FIG. 8 ).
- FIG. 9 further depicts distinctive symbols 904 identifying data associated with comments made about data associated with media content, and further illustrates the ability to distinguish conflicting changes or differences 906 , for example, by persisting the default background color of a non-accepted and non-rejected change or difference, by persisting the presentation of the ability to accept or reject the change or difference, and so on.
- FIG. 10 depicts an exemplary user display view 1000 , showing status of changes or differences and an exemplary warning notification presented via a user interface as a result of conducting a conflicting change or edit.
- conflicting changes or differences e.g., MP-2 and AB-3
- a user can be presented the option to accept or reject one or more of the conflicting changes or differences.
- a user opting to accept change or difference AB-3 at 1002 can be provided a warning notification 1004 that such an action would result in conducting a conflicting edit, according to various non-limiting, so as to inform a user that further review may be necessary.
- a user may opt to undo 1006 a prior acceptance, rejection, change, edit, and so on.
- FIG. 11 depicts an exemplary user interface component 1100 that facilitates selection of data associated with media content for search, review, comparison, modification, replacement, and/or merging in relation to sections and/or merging sections, for example.
- exemplary user interface component 1100 further enables a user to provide a selection 406 of one or more second items of data associated with media content comprising the one or more second files 408 , as well as to provide a selection 1102 of a folder comprising one or more second items of data associated with media content.
- the user can begin parsing (e.g., via review component 102 , parsing component 120 , portions thereof, etc.) the first file 404 and the one or more second files 408 by providing user input 412 to exemplary user interface component 400 and determining a set of differences between the first file and the one or more second files, for example, as further described herein.
- parsing e.g., via review component 102 , parsing component 120 , portions thereof, etc.
- selection component 118 can be configured to receive a choice of files (e.g., any number of other documents, such as via a selection 1102 of a folder, via a selection 406 of one or more second items of data associated with media content, etc.), where, for example, each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.), for example, as further depicted below regarding FIGS. 12-13 .
- files e.g., any number of other documents, such as via a selection 1102 of a folder, via a selection 406 of one or more second items of data associated with media content, etc.
- each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.), for example, as further depicted below regarding FIGS. 12-13 .
- review component 102 can facilitate selection of the respective content 802 , 804 and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- parsing component 120 can be further configured to determine a set of differences including determining a correspondence between respective content and one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- review component 102 can be further configured facilitate selection of the respective content and/or merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.), based at least in part on the correspondence.
- FIG. 12 depicts further non-limiting aspects of an exemplary user interface 1200 that facilitates selection of data associated with media content for search, review, comparison, modification, replacement, and/or merging in relation to sections (e.g., Safety Instructions section 1202 , etc.).
- FIG. 13 depicts still further non-limiting aspects of an exemplary user interface 1300 that facilitates selection of data associated with media content for search, review, comparison, modification, replacement, and/or merging in relation to sections (e.g., Safety Instructions section 1202 , Laboratory Maintenance and Biohazardous Materials Control section 1302 , etc.).
- the list 516 of the set of changes or differences can be presented according to corresponding sections (e.g., Safety Instructions section 1202 , Laboratory Maintenance and Biohazardous Materials Control section 1302 , etc.), where individual additions 1304 and/or deletions 1306 can be presented, indicated, and/or highlighted, as described herein.
- presentation component 122 can be configured to display the list of the set of differences via the user interface as a series of listings of respective content (e.g., corresponding to respective sections, Safety Instructions section 1202 , Laboratory Maintenance and Biohazardous Materials Control section 1302 , etc.) in reverse chronological order of timestamps associated with the respective content via the user interface.
- each of the series of listings can be associated with any of a number of timestamps (e.g., date/time created, date/time last modified, date/time last synched, date/time last accessed, date/time last reviewed, and so on, etc.), without limitation.
- presentation component 122 can display the series of listings of respective content in a selected order (e.g., in reverse chronological order, in chronological order, and another order, etc.) of timestamps associated with the respective content.
- presentation component 122 can also be configured to present, via exemplary user interface 1300 , the series of listings with one or more of information 1308 associated with author, last modification, and/or location associated with the respective content, as well as any other metadata associated with the respective content, without limitation.
- FIG. 14 depicts non-limiting aspects of another exemplary user interface 1400 that facilitates efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations.
- exemplary user interface 1400 can have a first view area 1402 that facilitates receiving search location data representing a search location via exemplary user interface 1400 .
- exemplary user interface 1400 can have a second view area 1404 that facilitates receiving search property data 1406 representing a search property via exemplary user interface 1400 .
- a user can input, or browse to and select, a location 1408 to search for search property data 1406 representing a search property.
- second view area 1404 can further provide various search options 1410 (e.g., search property specific options, data location specific options, etc.) via exemplary user interface 1400 .
- various embodiments as described herein can use the search location 1408 and can search for a set of data locations satisfying the search property.
- a search location can comprise a file or a folder, and the set of data locations can comprise a set of instances in a file or a set of instances in a set of files.
- exemplary user interface 1400 can have a third view area 1414 that facilitates presenting the set of data locations satisfying the search property via exemplary user interface 1400 .
- exemplary user interface 1400 presenting the set of data locations satisfying the search property in the third view area 1414 in a selectable and expandable tree view 1416 via exemplary user interface 1400 .
- each item of the selectable and expandable tree view 1416 can be independently selected, unselected, expanded, collapsed, reviewed, and so on, etc., to facilitate efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations.
- exemplary user interface 1400 can facilitate displaying 1420 data representing the search property 1422 and a subset of surrounding content 1424 in the data location of the set of data locations.
- exemplary user interface 1400 can facilitate displaying the data representing the search property and the subset of surrounding content, via exemplary user interface 1400 , such as by displaying data representing an image, a word, a phrase, a sentence, or a paragraph associated with the search property.
- exemplary user interface 1400 is depicted as displaying the data representing the search property and the subset of surrounding content in a pop-up window, further non-limiting embodiments can display such data representing the search property and the subset of surrounding content using other techniques, for example, including, but not limited to, preview panes, output windows, etc.
- exemplary user interface 1400 can have a fourth view area 1426 that facilitates receiving data to replace the search property in a subset of the set of data locations via exemplary user interface 1400 .
- FIG. 15 depicts further non-limiting aspects of an exemplary user interface that facilitates efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations.
- Various embodiments can receive data 1502 to replace the search property 1422 in a subset of the set of data locations exemplary user interface 1400 / 1500 .
- each item of the selectable and expandable tree view 1416 can be independently selected 1504 , unselected, expanded, collapsed, reviewed, and so on, etc., to facilitate efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations.
- various embodiments as described herein can replace the search property (e.g., 1422 ) with the data 1502 in the subset of the set of data locations in response to receiving a selection (e.g., 1504 ) of the subset via exemplary user interface 1400 / 1500 .
- FIG. 16 illustrates an exemplary non-limiting device or system 1600 suitable for performing various aspects of the disclosed subject matter.
- the device or system 1600 can be a stand-alone device or a portion thereof, a specially programmed computing device or a portion thereof (e.g., a memory retaining instructions for performing the techniques as described herein coupled to a processor), and/or a composite device or system comprising one or more cooperating components distributed among several devices, as further described herein.
- exemplary non-limiting device or system 1600 can comprise exemplary devices and/or systems, or portions thereof, regarding FIGS. 1-3 as described above, or as further described herein regarding FIGS. 4-15 and 17-20 , or portions thereof.
- device or system 1600 can include a memory 1602 that retains computer executable instructions that, in response to execution, cause a system comprising one or more processors (e.g., a system comprising one or more processors such as exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , client device 104 , target device 106 , server 108 , etc.) to perform operations, for example, such as: receiving a first selection of a first file; receiving a second selection of second files (e.g., receiving a selection of files to be merged into the first file to create a new file comprising all of the set of differences, receiving a choice of files, where each file of the files comprises respective content associated with a corresponding section of the first file, and where the respective content is capable of being selected to be merged into the corresponding section of the first file, etc.); parsing the first file and the second files and determining a set of differences between the first file and the second files (e.g.,
- device or system 1600 can include a memory 1602 that retains instructions for presenting a subset of the list of the set of differences based on receiving a command to accept, reject, display, or hide a second subset of the set of differences associated with authorship information related to one of the second files. Additionally, memory 1602 can retain instructions for one or more of presenting an option to accept or reject an individual difference in the list of the set of differences; and/or presenting an opportunity to undo an acceptance or a rejection of the individual difference in the list of the set of differences, regardless of an order in which the acceptance or the rejection of the individual difference was undertaken.
- memory 1602 can retain instructions with respect to facilitating various operations, for example, such as receiving a search location (e.g., one or more of a file or folder); receiving a search property; searching the search location for a set of data locations (e.g., one or more of a set of instances in a file or a set of instances in a set of files) satisfying the search property; presenting the set of data locations satisfying the search property (e.g., presenting the set of data locations satisfying the search property in a selectable and expandable tree view); and/or displaying the search property and a subset of surrounding content in a data location of the set of data locations (e.g., displaying an image, a word, a phrase, a sentence, or a paragraph associated with the search property) in response to the data location of the set of data locations being selected.
- a search location e.g., one or more of a file or folder
- receiving a search property searching the search location for a set of data locations (e.g., one
- memory 1602 can retain instructions for one or more of receiving data to replace the search property in a subset of the set of data locations; and/or replacing the search property with the data in the subset of the set of data locations in response to receiving a selection of the subset of the set of data locations.
- FIG. 17 illustrates an exemplary non-limiting flow diagram of methods 1700 for performing aspects of embodiments described herein
- exemplary methods 1700 can comprise receiving (e.g., receiving by a system comprising one or more processors such as exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) a first selection of a first file via a user interface at 1702 .
- exemplary methods 1700 can comprise, at 1704 , receiving, by the system, a second selection of second files via the user interface.
- the second files can comprise a set of three or more files.
- selection component 118 can be configured to receive one or more selections of data associated with media content, via a user interface such as a GUI to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- the first file and/or second files can include or be associated with data associated with media content and can comprise words, text, data, and so on, associated with a document or other media content including audio, video, digital images, etc.
- data associated with media content also include a word, words, sentences, paragraphs, sections, headings, titles, and/or any section of a media content (e.g., digital content, video, audio, text, and similar content).
- exemplary methods 1700 can further include receiving (e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) via the user interface an annotation related to the first file or one or more of the second files.
- an exemplary annotation can comprise authorship information.
- an exemplary annotation can comprise other information useful to discern changes or differences associated with the one or more second files from the data associated with media content related to the first file.
- exemplary methods 1700 can further comprise parsing (e.g., parsing by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) the first file and the second files and determining a set of differences between the first file and the second files.
- determining the set of differences can comprise determining the set of differences based on a predetermined value of a change threshold associated with a degree of difference between a portion of the first file and a corresponding portion of one of the second files.
- a predetermined value of a change threshold (e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.) can be associated with a degree of difference between a portion of the first file and a corresponding portion of one of the second files.
- a first portion of a first document (e.g., data of the first file, data of the base document, etc.) can be determined by parsing component 120 to relate to, or be associated with, a second portion of a set of second documents, and, according to the predetermined value of a change threshold, can be determined to be a difference between the first document and one or more of the second documents (e.g., a difference between the base document and a number of the other documents).
- a change threshold (e.g., a paragraph change threshold, a sentence change threshold, a section change threshold, etc.) can comprise or be associated with a match of one or more words of the one or more second documents with a portion of the first document (e.g., data of the first file, data of the base document, etc.), a match and/or correspondence of a particular degree of data of the one or more second documents with the portion of the first document (e.g., section, paragraph, a sentence, etc.), a match and/or correspondence of a particular degree of a section title or content of a set of second documents with a section title of a first document (e.g., data of the first file, data of the base document, etc.), a relevance score based on one or more of a set of predetermined criteria satisfying a condition, a frequency of reuse across different documents of a set of second documents satisfying a condition, a percentage of usage of a portion of a first document (e.g., data of the first file,
- exemplary methods 1700 can comprise determining (e.g., determining by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) a set of differences between the first file and the second files.
- parsing component 120 can be configured to determine a set of differences including determining a correspondence between the respective content and one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- review component 102 can be further configured facilitate selection of the respective content and/or merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.), based at least in part on the correspondence.
- exemplary methods 1700 can further comprise, at 1706 , determining a correspondence between the respective content and one or more corresponding section(s) of the first file (e.g., a base document, etc.), for example, to facilitate selecting of the respective content and/or merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.), based at least in part on the correspondence.
- determining a correspondence between the respective content and one or more corresponding section(s) of the first file e.g., a base document, etc.
- Exemplary methods 1700 can further comprise, at 1708 , presenting (e.g., presenting by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) a list of the set of differences via the user interface.
- presenting e.g., presenting by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.
- a presentation component 122 can be configured to display a list of the set of differences between the first file (e.g., data of the first file, data of the base document, etc.) and one or more second files (e.g., any number of other documents, etc.) via the user interface to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- the first file e.g., data of the first file, data of the base document, etc.
- second files e.g., any number of other documents, etc.
- exemplary methods 1700 can also comprise presenting, via the user interface (e.g., via presentation component 122 , etc.), authorship information with the list of the set of differences, for example, as further described herein. Accordingly, exemplary methods 1700 can further comprise receiving (e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) a command via the user interface to accept, reject, display, or hide a second subset of the set of differences associated with the authorship information.
- receiving e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.
- presentation component 122 can display a subset of the list of the set of differences, for example, based on receipt of a command to accept, reject, display, or hide a subset of the set of differences associated with the authorship information, to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- a command can be received by review component 102 , for example, to accept all changes or differences associated with a particular file of the second files (e.g., changes or differences associated with a particular author or reviewer, changes or differences made before or after a certain date or time, such as a file last modified date, changes or differences based on a file location associated with one or more of the second files, and so on, etc.), and in response thereto, presentation component 122 can display a reduced set of differences between the first file (e.g., data of the first file, data of the base document, etc.) and one or more second files (e.g., any number of other documents, etc.).
- other commands can be received by review component 102 , without limitation, and presentation component 122 can display an appropriate listing of the set of differences to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- exemplary methods 1700 can further comprise presenting (e.g., via presentation component 122 , etc.) a subset of the list of the set of differences via the user interface, based on the command and/or presenting (e.g., via presentation component 122 , etc.) an option to accept or reject an individual difference in the list of the set of differences via the user interface.
- exemplary methods 1700 can further comprise annotating (e.g., via presentation component 122 , etc.) the status of the option to accept or reject the individual difference via the user interface.
- exemplary methods 1700 can comprise altering (e.g., via presentation component 122 , etc.) a background, a font, a style, a format, or a behavior of text associated with the individual difference in the user interface, in response to the invocation of the option to accept or reject the individual difference.
- exemplary methods 1700 can also comprise presenting (e.g., via presentation component 122 , etc.) additional revision information associated with the individual difference in the list of the set of differences.
- exemplary methods 1700 in response to receiving an indication of interest via the user interface, can comprise presenting (e.g., via presentation component 122 , etc.) additional revision information associated with the individual difference in the list of the set of differences, for example, where the additional revision information comprises additional detail compared to a baseline amount of revision information.
- presentation component 122 can be configured to display the detailed revision information as data presented in pop-up window, in a panel of a multipanel GUI, in an output window, etc., and so on.
- the additional revision information can comprise additional detail of an associated changer difference in the list of the set of the changes or differences, whereas a baseline amount of revision information might include a paraphrased amount of the additional revision information.
- exemplary methods 1700 can comprise, additionally and/or alternatively, receiving the second selection of the second files comprising a choice of files, where each file of the files comprises respective content associated with a corresponding section of section of the first file, and where the respective content is selectable via the user interface to be merged into the corresponding section of the first file at 1704 .
- selection component 118 can be configured to receive a choice of files (e.g., any number of other documents, etc.), where, for example, each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.), and for which review component 102 can facilitate selection of the respective content and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- files e.g., any number of other documents, etc.
- each file of the files can comprise data associated with media content, where the data comprises respective content associated with one or more corresponding section(s) of the first file (e.g., a base document, etc.)
- review component 102 can facilitate selection of the respective content and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- exemplary methods 1700 can comprise, additionally and/or alternatively, presenting a series of listings of respective content in reverse chronological order of timestamps associated with the respective content via the user interface, and/or, presenting information associated with author, last modification, or location associated with the respective content via the user interface, to facilitate selection of the respective content and merging of the respective content into the one or more corresponding section(s) of the first file (e.g., a base document, etc.).
- the first file e.g., a base document, etc.
- exemplary methods 1700 can further comprise generating (e.g., generating by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) in response to a request received via the user interface, one or more new files comprising a subset of data in the first file or in one of the second files.
- output component 124 can be configured to generate one or more new files comprising some or all of the differences between the first file and the second files (e.g., all of the differences between the base document and the number of other documents), or at least a portion thereof, to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- a request received via the user interface can be based on a first subset of the set of differences, where the first subset of the set of differences is able to be viewed, selected, or accepted as a set via the user interface to facilitate the request.
- exemplary methods 1700 can comprise generating one or more of a redlined file comprising annotations that indicate the subset of the set of differences (e.g., those changes or differences between the first file and the one or more second files) and/or a clean file without the annotations.
- generating one or more new files can comprise generating one or more new files comprising the first subset of the set of differences, where the first subset of the set of differences comprises only differences between the first file and no more than one of the second files.
- output component 124 can generate one or more new files, in response to review component 102 receiving the request as indicated by singular action undertaken by a user via the user interface.
- various embodiments described herein can provide a button or other user interface component to facilitate generating the one or more new files comprising all non-conflicting changes or differences between the first file and the one or more second files that, in response to being selected by user via the user interface, can cause output component 124 to generate one or more new files.
- Similar interface components associated with review component 102 can be configured to facilitate output component 124 generation of the one or more new files according to other aspects described herein.
- output component 124 can be configured to generate the one or more new files comprising the subset of data in the first file or in one or more of the second files, where the request received via the user interface is based on a subset of the set of differences, and where subset of the set of differences is able to be viewed, selected, and/or accepted and so on as a set via the user interface to facilitate the request.
- the first subset of the set of differences can be associated with all changes or differences attributable to a particular author or reviewer, all changes or differences occurring before or after a particular time, all changes or differences associated with a particular data location, and so on, etc.
- exemplary methods 1700 can comprise, additionally and/or alternatively, receiving the second selection of the second files comprising a selection of files to be merged into the first file at 1704 .
- selection component 118 can be configured to receive a selection of a base document and any number of other documents, for which review component 102 can facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files, where the one or more new file(s) comprise all of the differences between the first file and the second files (e.g., all of the differences between the base document and the number of other documents), or at least a portion thereof.
- generating one or more new files can comprise generating one or more new files comprising all of the set of differences at 1710 .
- any number of second files can be selected and are merged into a first file.
- differences between the first file and the second files e.g., the differences between the base document and the number of other documents
- differences between the first file and the second files can comprise any of a number of revisions, deletions, additions, and/or comments associated with the data associated with media content (e.g., data of the first file, data of the base document, etc.).
- Exemplary methods 1700 can further comprise, at 1712 , presenting (e.g., presenting by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) an opportunity to undo one or more of an acceptance or a rejection of an individual difference in the list of the set of differences via the user interface, regardless of an order in which the acceptance or the rejection of the individual difference was performed by the system.
- presentation component 122 can be further configured to display an option to accept and/or reject an individual difference in the list of the set of differences to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- presentation component 122 can be further configured to provide an opportunity to undo one or more of an acceptance or a rejection of an individual difference in the list of the set of differences.
- presentation component 122 can be configured to provide an opportunity to undo one or more of an acceptance or a rejection of an individual difference in the list of the set of differences, regardless of the order in which the one or more of the acceptance or the rejection of the individual difference was undertaken.
- exemplary methods 1700 can further comprise restoring (e.g., restoring by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) the list of the set of differences via the user interface in response to receiving a request to undo all accepted and rejected changes associated with the list of the set of differences.
- modification component 126 can be further configured to restore the list of the set of differences via the user interface, for example, in response to receiving a request to undo all accepted and rejected changes associated with the list of the set of differences, to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- review component 102 and/or a portion thereof can be configured to receive user input (e.g., user input associated with mouse, keyboard, touch screen, and/or other human interface devices, etc.) associated with selections, commands, requests, and/or other indications, and so on to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content of the first and second files.
- user input e.g., user input associated with mouse, keyboard, touch screen, and/or other human interface devices, etc.
- modification component 126 can be configured to receive a command via the user interface to facilitate one or more of accepting, rejecting, displaying, and/or hiding a subset of the set of differences associated with information (e.g., indicating authorship, or otherwise, etc.) related to the first and/or one or more of the second files. Accordingly, in a further non-limiting aspect of modification component 126 , a subset of the set of changes or differences can be accepted, rejected, displayed, and/or hid, as further described above, via the user interface, based on authorship information, based on information associated with a date and/or time, based on information associated with a file location, and so on, etc.
- information e.g., indicating authorship, or otherwise, etc.
- exemplary methods 1700 can further comprise receiving (e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) input via the user interface to add or delete content associated with the individual difference.
- exemplary methods 1700 can also comprise presenting the added or deleted content via the user interface (e.g., via presentation components 122 , etc.) differently based on the whether the content is an addition or deletion.
- exemplary methods 1700 can further comprise determining (e.g., determining by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) that a change or edit attempted for a set of differences would result in a conflicting change or edit, for example, as further described above regarding FIGS. 1, 10 , etc. Accordingly, in response to a determination that a change or edit attempted for a set of differences would result in a conflicting change or edit, presentation component 122 can, via the user interface, present a notification about a conflicting change or edit via the user interface, for example, so as to inform a user that further review may be necessary.
- determining e.g., determining by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.
- presentation component 122 can, via the user interface, present a notification about a conflicting change or edit via the user interface, for example, so as to inform a user that further review may be necessary
- exemplary methods 1700 can further comprise presenting (e.g., presenting by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) a notification about a conflicting change or edit via the user interface, for example, in response to a determination that a change or edit attempted for a set of differences would result in a conflicting change or edit.
- notifications can comprise or be associated with changing of a background, a font, a style, a format, or a behavior of text associated with the conflicting change or edit, a pop-up message, for example, without limitation.
- FIG. 18 depicts an exemplary non-limiting flow diagram illustrating various aspects of exemplary methods 1800 described herein.
- Exemplary methods 1800 can comprise receiving (e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) search location data representing a search location via a user interface at 1802 .
- exemplary methods 1800 can further comprise receiving (e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) search property data representing a search property via the user interface.
- selection component 118 can, additionally and/or alternatively, be configured to receive one or more of a search location and a search property.
- search location can comprise information about location of data associated with media content related to files located on one or more data sources or locations (e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.).
- a search location can comprise one or more of a file or folder.
- a set of data locations can comprise one or more of a set of instances in a file or a set of instances in a set of files.
- a search property can comprise data and/or information about which information about the instances and/or files in the search location is sought.
- Exemplary methods 1800 can also comprise using the search location, searching (e.g., searching by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) for a set of data locations satisfying the search property, at 1806 .
- searching e.g., searching by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.
- exemplary methods 1800 can further comprise presenting (e.g., presenting by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) the set of data locations satisfying the search property via the user interface.
- presentation component 122 can, additionally and/or alternatively, be configured to display the set of data locations satisfying the search property in a selectable and expandable tree view.
- review component 102 comprising selection component 118 , presentation component 122 , modification component 126 , and/or search and replace component 202 , can facilitate efficient and selective search-and-replace of data associated with media content associated with files located on one or more data sources or locations (e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.).
- data sources or locations e.g., client device 104 , target device 106 , server 108 , data source(s) 110 , data store 112 , memory 114 , and so on, etc.
- each of the data locations of the set of data locations can be selected, reviewed, compared, and/or identified for replacement of the search property by the data received (e.g., data received by selection component 118 to replace the search property in a subset of the set of data locations) independently of the desired actions for the other data locations of the set of data locations.
- Exemplary methods 1800 can also comprise displaying (e.g., displaying by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) data representing the search property and a subset of surrounding content in a data location of the set of data locations, at 1810 , in response to the data location of the set of data locations being selected via the user interface.
- presentation component 122 can, additionally and/or alternatively, display the set of data locations satisfying the search property, where presentation component 122 can be further configured to display the search property and a subset of surrounding content in a data location of the set of data locations in response to the data location of the set of data locations being selected.
- displaying the data representing the search property and the subset of surrounding content can comprise displaying, via the user interface, data representing an image, a word, a phrase, a sentence, or a paragraph associated with the search property and comprising a portion of data associated with media content at the respective data location of the set of data locations.
- presentation component 122 can display the search property as it exists in the file (e.g., at one or more instances in the file that the search property is satisfied) along with contextual data and/or information that surrounds the one or more instances in the file the search property is satisfied.
- exemplary methods 1800 can further comprise receiving (e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) data to replace the search property in a subset of the set of data locations via the user interface.
- receiving e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.
- selection component 118 can, additionally and/or alternatively, be configured to receive data to replace the search property or data representing the search property in a subset of the set of data locations (e.g., a set of instances in a file or a set of instances in a set of files, etc.).
- exemplary methods 1800 can also comprise replacing (e.g., receiving by exemplary system 100 , exemplary system 200 , exemplary system 300 , exemplary system or device 1600 , etc.) the search property or data representing a search property with the data in the subset of the set of data locations in response to receiving a selection of the subset via the user interface, at 1814 .
- review component 102 comprising selection component 118 , modification component 126 , and/or search and replace component 202 , is operable to receive a search location and a search term or phrase, for which to search documents residing at the search location.
- parsing component 120 can, additionally and/or alternatively, be configured to one or more of search the search location for a set of data locations that satisfy the search property, parse data associated with media content to facilitate determining whether the location satisfies the search property, and so on, etc.
- parsing component 120 can be configured to one or more of parse one or more files residing at the search location, identify one or more instances in a file or a set of instances in a set of files that satisfy the search property, and so on.
- review component 102 is operable to receive selections, commands, requests, and/or other indications, and so on associated with options provided to facilitate search, review, comparison, modification, replacement, and/or merging of data associated with media content.
- modification component 126 comprising search and replace component 202 , can be further configured to replace the search property with the data in the subset of the set of data locations in response to receipt of a selection (e.g., review component 102 , portions thereof, etc.) of the subset of the set of data locations.
- the various embodiments for search, review, comparison, modification, replacement, and/or merging of data associated with media content described herein can be implemented in connection with any computer or other client or server device, which can be deployed as part of a computer network or in a distributed computing environment, and can be connected to any kind of data store.
- the various embodiments described herein can be implemented in any computer system or environment having any number of memory or storage units, and any number of applications and processes occurring across any number of storage units. This includes, but is not limited to, an environment with server computers and client computers deployed in a network environment or a distributed computing environment, having remote or local storage.
- FIG. 19 provides a non-limiting schematic diagram of an exemplary networked or distributed computing environment.
- the distributed computing environment comprises computing objects or devices 1910 , 1912 , etc. and computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc., which may include programs, methods, data stores, programmable logic, etc., as represented by applications 1930 , 1932 , 1934 , 1936 , 1938 .
- computing objects or devices 1910 , 1912 , etc. and computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc. may comprise different devices, such as PDAs, audio/video devices, mobile phones, MP3 players, laptops, etc., as well as various software and/or hardware objects supported by a given device.
- Computing objects or devices 1910 , 1912 , etc. and computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc. can communicate with one or more other computing objects or devices 1910 , 1912 , etc. and computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc. by way of the communications network 1940 , either directly or indirectly.
- network 1940 may comprise other computing objects and computing devices that provide services to an embodiment of the system of FIG. 19 , and/or may represent multiple interconnected networks, which are not shown.
- API application programming interface
- computing systems can be connected together by wired or wireless systems, by local networks or widely distributed networks.
- networks are coupled to the Internet, which provides an infrastructure for widely distributed computing and encompasses many different networks, though any network infrastructure can be used for exemplary communications made incident to the techniques as described in various embodiments.
- a host of network topologies and network infrastructures such as cloud technologies, software as a service, client/server, peer-to-peer, or hybrid architectures, can be utilized.
- a client/server architecture particularly a networked system
- a client usually refers to a computer that accesses network resources or services provided by another computer, e.g., a server.
- computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc. can be thought of as clients and computing objects or devices 1910 , 1912 , etc. can be thought of as servers where computing objects or devices 1910 , 1912 , etc.
- computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc. typically computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc. and computing objects or devices 1910 , 1912 , etc. interact with one another without classification as servers or clients, since at any given moment, the roles of a given node may change depending on the current functions of the node. Any of these computing devices may be processing data, or requesting services or tasks that may implicate one or more aspects of techniques as described herein for one or more embodiments.
- a server is typically a remote computer system accessible over a remote or local network, such as the Internet or wireless network infrastructures.
- the client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.
- Any software objects utilized pursuant to techniques as described herein can be provided standalone, or distributed across multiple computing devices or objects.
- the computing objects or devices 1910 , 1912 , etc. can be Web servers with which the computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc. communicate via any of a number of known protocols, such as HTTP.
- computing objects or devices 1910 , 1912 , etc. may also serve as computing objects or devices 1920 , 1922 , 1924 , 1926 , 1928 , etc., or vice versa, as may be characteristic of a distributed computing environment.
- various embodiments described herein apply to any device wherein it may be desirable to search, review, comparison, modification, replacement, and/or merging of data associated with media content described herein. It is understood, therefore, that handheld, portable and other computing devices and computing objects of all kinds are contemplated for use in connection with the various embodiments described herein, i.e., anywhere that a device may provide some functionality in connection with search, review, comparison, modification, replacement, and/or merging of data associated with media content described herein. Accordingly, the below general purpose remote computer described below in FIG. 20 is but one example, and the embodiments of the subject disclosure may be implemented with any client having network/bus interoperability and interaction.
- any of the embodiments can partly be implemented via an operating system, for use by a developer of services for a device or object, and/or included within application software that operates in connection with the operable component(s).
- Software may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices.
- client workstations such as client workstations, servers or other devices.
- network interactions may be practiced with a variety of computer system configurations and protocols.
- FIG. 20 thus illustrates an example of a suitable computing system environment 2000 in which one or more of the embodiments may be implemented, although as made clear above, the computing system environment 2000 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of any of the embodiments.
- the computing environment 2000 is not to be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 2000 .
- an exemplary remote device for implementing one or more embodiments herein can include a general purpose computing device in the form of a handheld computer 2010 .
- Components of handheld computer 2010 may include, but are not limited to, a processing unit 2020 , a system memory 2030 , and a system bus 2021 that couples various system components including the system memory to the processing unit 2020 .
- Computer 2010 typically includes a variety of computer readable media and can be any available media that can be accessed by computer 2010 .
- the system memory 2030 may include computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) and/or random access memory (RAM).
- ROM read only memory
- RAM random access memory
- memory 2030 may also include an operating system, application programs, other program modules, and program data.
- computer-readable media can be any available media that can be accessed by the computer including removable and non-removable media.
- Computer-readable media can comprise computer storage media and/or communication media.
- Computer storage media can include both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory, universal serial bus (USB) drives, or other memory technology, compact disk (CD), digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by the computer.
- Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
- a user may enter commands and information into the computer 2010 through input devices 2040 .
- a monitor or other type of display device is also connected to the system bus 2021 via an interface, such as output interface 2050 .
- computers may also include other peripheral output devices such as speakers and a printer, which may be connected through output interface 2050 .
- the computer 2010 may operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote computer 2070 .
- the remote computer 2070 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, or any other remote media consumption or transmission device, and may include any or all of the elements described above relative to the computer 2010 .
- the logical connections depicted in FIG. 20 include a network 2071 , such local area network (LAN) or a wide area network (WAN), but may also include other networks/buses.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in homes, offices, enterprise-wide computer networks, intranets and the Internet.
- an appropriate API e.g., an appropriate API, tool kit, driver code, operating system, control, standalone or downloadable software object, executable code, etc. which enables applications and services to use or access the various described embodiments from any platform.
- Embodiments may be contemplated from the standpoint of an API (or other software object), as well as from a software or hardware object that facilitates provision of disclosed techniques in accordance with one or more of the described embodiments.
- Various implementations and embodiments described herein may have aspects that are wholly in hardware, partly in hardware and partly in software, as well as in software.
- exemplary is used herein to mean serving as an example, instance, or illustration.
- the subject matter disclosed herein is not limited by such examples.
- any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
- the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, for the avoidance of doubt, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- an application running on computer and the computer can be a component.
- One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- a client side perspective is illustrated, it is to be understood for the avoidance of doubt that a corresponding server perspective exists, or vice versa.
- a corresponding device can be provided having storage and at least one processor configured to practice that method via one or more components.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (36)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/322,848 US9747259B2 (en) | 2013-07-03 | 2014-07-02 | Searching, reviewing, comparing, modifying, and/or merging documents |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361842761P | 2013-07-03 | 2013-07-03 | |
US14/322,848 US9747259B2 (en) | 2013-07-03 | 2014-07-02 | Searching, reviewing, comparing, modifying, and/or merging documents |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150012528A1 US20150012528A1 (en) | 2015-01-08 |
US9747259B2 true US9747259B2 (en) | 2017-08-29 |
Family
ID=52133531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/322,848 Active 2035-07-20 US9747259B2 (en) | 2013-07-03 | 2014-07-02 | Searching, reviewing, comparing, modifying, and/or merging documents |
Country Status (1)
Country | Link |
---|---|
US (1) | US9747259B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599722B1 (en) | 2019-05-17 | 2020-03-24 | Fmr Llc | Systems and methods for automated document comparison |
US10838996B2 (en) | 2018-03-15 | 2020-11-17 | International Business Machines Corporation | Document revision change summarization |
US10872062B2 (en) | 2017-10-27 | 2020-12-22 | Dropbox, Inc. | Moderated collaborative editing in collaborative content items |
US11194958B2 (en) * | 2018-09-06 | 2021-12-07 | Adobe Inc. | Fact replacement and style consistency tool |
US11265370B1 (en) * | 2021-07-27 | 2022-03-01 | Bank Of America Corporation | Machine to machine (M2M) data transfer between data servers |
US11630869B2 (en) | 2020-03-02 | 2023-04-18 | International Business Machines Corporation | Identification of changes between document versions |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9946791B1 (en) * | 2006-11-21 | 2018-04-17 | Google Llc | Making modified content available |
US20160050468A1 (en) * | 2014-08-14 | 2016-02-18 | Nagravision S.A. | Mitigation of collusion attacks against watermarked content |
US20160048510A1 (en) * | 2014-08-14 | 2016-02-18 | Thomson Reuters Global Resources (Trgr) | System and method for integration and operation of analytics with strategic linkages |
US10261663B2 (en) | 2015-09-17 | 2019-04-16 | Workiva Inc. | Mandatory comment on action or modification |
US10740297B2 (en) | 2015-12-17 | 2020-08-11 | Box, Inc. | Adaptive tool selection for conflict resolution in a multi-session collaboration setting |
US10891420B1 (en) * | 2016-08-26 | 2021-01-12 | Rowan TELS Corp. | Customization engine for the auto-generation of readable markup |
US11941344B2 (en) * | 2016-09-29 | 2024-03-26 | Dropbox, Inc. | Document differences analysis and presentation |
US10678866B1 (en) | 2016-09-30 | 2020-06-09 | Vasumathi Ranganathan | Rules driven content network for tracking, tracing, auditing and life cycle management of information artifacts |
GB201708767D0 (en) * | 2017-06-01 | 2017-07-19 | Microsoft Technology Licensing Llc | Managing electronic documents |
US10579265B2 (en) * | 2017-10-18 | 2020-03-03 | Adobe Inc. | Cloud-synchronized local storage management |
US10783138B2 (en) * | 2017-10-23 | 2020-09-22 | Google Llc | Verifying structured data |
CN110019092B (en) * | 2017-12-27 | 2021-07-09 | 华为技术有限公司 | Data storage method, controller and system |
US10929365B2 (en) * | 2018-06-26 | 2021-02-23 | Fuji Xerox Co., Ltd. | Automatic generation of animated previews for presenting document differences in enterprise messaging |
US11283677B2 (en) | 2018-12-07 | 2022-03-22 | Hewlett Packard Enterprise Development Lp | Maintaining edit position for multiple document editor |
US11070618B2 (en) * | 2019-01-30 | 2021-07-20 | Valve Corporation | Techniques for updating files |
US11227107B2 (en) * | 2019-02-21 | 2022-01-18 | Kirk T. Sanderson | Document reviewer |
JP2020144436A (en) * | 2019-03-04 | 2020-09-10 | 富士ゼロックス株式会社 | Management device, management system, and program |
US11928558B1 (en) * | 2019-11-29 | 2024-03-12 | Amazon Technologies, Inc. | Providing content reviews based on AI/ML output |
US20210209357A1 (en) * | 2020-01-06 | 2021-07-08 | Catachi Co. DBA Compliance.ai | Methods and systems for facilitating determination of differences between a pair of regulatory documents |
US20210209358A1 (en) * | 2020-01-06 | 2021-07-08 | Catachi Co. DBA Compliance.ai | Methods and systems for facilitating classification of portions of a regulatory document using multiple classification codes |
CN111325003B (en) * | 2020-02-17 | 2023-07-07 | 北京北信源软件股份有限公司 | File processing method, device, equipment and storage medium |
CN112001691A (en) * | 2020-07-01 | 2020-11-27 | 北京车行一六八信息技术有限公司 | Page auditing method and device, computer equipment and storage medium |
US11537786B2 (en) * | 2020-11-16 | 2022-12-27 | Dropbox, Inc. | Generating fillable documents and fillable templates in a collaborative environment |
US20240143911A1 (en) * | 2022-11-01 | 2024-05-02 | Everlaw, Inc. | Document difference viewing and navigation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584199B2 (en) * | 2004-06-28 | 2009-09-01 | Konica Minolta Business Technologies, Inc. | System and server for managing shared files |
US7949938B2 (en) * | 2007-03-20 | 2011-05-24 | International Business Machines Corporation | Comparing and merging multiple documents |
US20130283147A1 (en) * | 2012-04-19 | 2013-10-24 | Sharon Wong | Web-based collaborative document review system |
US8589426B1 (en) * | 2008-10-29 | 2013-11-19 | Sprint Communications Company L.P. | Simultaneous file editor |
US20140101526A1 (en) * | 2012-10-09 | 2014-04-10 | Robert E. Marsh | Method and computer-readable media for comparing electronic documents |
US20140359421A1 (en) * | 2013-06-03 | 2014-12-04 | International Business Machines Corporation | Annotation Collision Detection in a Question and Answer System |
-
2014
- 2014-07-02 US US14/322,848 patent/US9747259B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584199B2 (en) * | 2004-06-28 | 2009-09-01 | Konica Minolta Business Technologies, Inc. | System and server for managing shared files |
US7949938B2 (en) * | 2007-03-20 | 2011-05-24 | International Business Machines Corporation | Comparing and merging multiple documents |
US8589426B1 (en) * | 2008-10-29 | 2013-11-19 | Sprint Communications Company L.P. | Simultaneous file editor |
US20130283147A1 (en) * | 2012-04-19 | 2013-10-24 | Sharon Wong | Web-based collaborative document review system |
US20140101526A1 (en) * | 2012-10-09 | 2014-04-10 | Robert E. Marsh | Method and computer-readable media for comparing electronic documents |
US20140359421A1 (en) * | 2013-06-03 | 2014-12-04 | International Business Machines Corporation | Annotation Collision Detection in a Question and Answer System |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872062B2 (en) | 2017-10-27 | 2020-12-22 | Dropbox, Inc. | Moderated collaborative editing in collaborative content items |
US10838996B2 (en) | 2018-03-15 | 2020-11-17 | International Business Machines Corporation | Document revision change summarization |
US11194958B2 (en) * | 2018-09-06 | 2021-12-07 | Adobe Inc. | Fact replacement and style consistency tool |
US10599722B1 (en) | 2019-05-17 | 2020-03-24 | Fmr Llc | Systems and methods for automated document comparison |
US11630869B2 (en) | 2020-03-02 | 2023-04-18 | International Business Machines Corporation | Identification of changes between document versions |
US11265370B1 (en) * | 2021-07-27 | 2022-03-01 | Bank Of America Corporation | Machine to machine (M2M) data transfer between data servers |
Also Published As
Publication number | Publication date |
---|---|
US20150012528A1 (en) | 2015-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747259B2 (en) | Searching, reviewing, comparing, modifying, and/or merging documents | |
US10796255B2 (en) | Managing project tasks using content items | |
KR101608099B1 (en) | Simultaneous collaborative review of a document | |
US20190155870A1 (en) | Collaboration mechanism | |
US7590939B2 (en) | Storage and utilization of slide presentation slides | |
US10534842B2 (en) | Systems and methods for creating, editing and publishing cross-platform interactive electronic works | |
US10642888B2 (en) | Management and dynamic assembly of presentation material | |
US20090199090A1 (en) | Method and system for digital file flow management | |
US20120290926A1 (en) | Efficient document management and search | |
US20140310613A1 (en) | Collaborative authoring with clipping functionality | |
US20180181549A1 (en) | Automatically formatting content items for presentation | |
US11361035B2 (en) | Batch generation of links to documents based on document name and page content matching | |
JP2013505500A (en) | Automatic discovery of contextually related task items | |
US9244707B2 (en) | Transforming user interface actions to script commands | |
US20120226662A1 (en) | System and method for file management | |
US8965940B2 (en) | Imitation of file embedding in a document | |
US20240111944A1 (en) | System and Method for Annotation-Based Document Management | |
Hurt | Microsoft SharePoint as a Digital Asset Management (DAM) System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INFINOTE CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KAPADIA, YOGEN;REEL/FRAME:033235/0801 Effective date: 20140702 |
|
AS | Assignment |
Owner name: APPLIED MATERIALS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WONG, LOKE YUEN;CHANG, KE;OW, YUEH SHENG;AND OTHERS;SIGNING DATES FROM 20160119 TO 20160310;REEL/FRAME:038000/0377 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: GARTNER, INC., CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INFINOTE CORPORATION;REEL/FRAME:055291/0546 Effective date: 20200701 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |