Various examples are disclosed in the following detailed description and the accompanying drawings:
Various embodiments or examples may be implemented in numerous ways, including as a system, a process, an apparatus, or a series of program instructions on a computer readable medium such as a computer readable storage medium or a computer network where the program instructions are sent over optical, electronic, or wireless communication links. In general, operations of disclosed processes may be performed in an arbitrary order, unless otherwise provided in the claims.
A detailed description of one or more examples is provided below along with accompanying figures. The detailed description is provided in connection with such examples, but is not limited to any particular example. The scope is limited only by the claims and numerous alternatives, modifications, and equivalents are encompassed. Numerous specific details are set forth in the following description in order to provide a thorough understanding. These details are provided as examples and the described techniques may be practiced according to the claims without some or all of the accompanying details. For clarity, technical material that is known in the technical fields related to the embodiments has not been described in detail to avoid unnecessarily obscuring the description.
Collections of files (e.g., groups of documents, images, graphics, video, audio, or other data that may be configured, represented, displayed, or otherwise presented together) may be displayed in a display or graphical user interface environment (“environment”) that is configured to present (i.e., display) the collection of files, selected files, and attachments to the files. In some examples, collections may be files that are grouped together on a common disk, folder, or other storage repository. Collections may also be groups of documents, images, graphics, video, audio, or other types of data files that may be logically represented together, sharing a common characteristic, having similar metadata, or the like. Data (e.g., form data, metadata, and the like) associated with each file within a collection, a file selected from the collection, or an attachment may be presented in an environment simultaneously or substantially simultaneously. In some examples, a collection may be viewed in a collection display pane while displaying one or more files selected from the collection in a preview display pane. Receiving input through an interface (e.g., graphical user interface (“GUI”), processor-to-processor interface, system interface, and others), modifications or changes (“modifications”) may be made to a collection or file within the collection using an interface configured to receive, implement, and save the modifications. In some examples, modifications (e.g., addition, deletion, or other modification of data) may be made to a file by making the modifications to a temporary or cached (“temporary”) file that are later copied to the selected file. Modifications may be made, but when a file or collection is closed or another file is selected (e.g., another file in a collection, an attachment), modifications may be made to a host file (i.e., root document) when the environment is closed. In other words, modifications may be made to a temporary file until a collection or file is closed, thus modifying a host file associated with the temporary file. The described techniques may be varied and are not limited to the examples provided.
In some examples, a command, signal, instruction, or other input (“input”) may be provided by a user and received by system 100 via user interface (“I/F”) module 106. When requested, files and temporary files may be stored in or retrieved from storage 104, which may be accessed by core application logic 102, encoding module 110, or file handling module 114. Storage 104 may be a local or remote database, repository, cache, data warehouse, storage area network, storage array, or other data structure used to store data associated with files. In some examples, data may be metadata, content, parameters, settings, formatting information, or other data used to determine how and what to present for a given file. In other examples, data may include other types of information.
Here, presentation of files and collections may be performed by retrieving files from storage 104. In some examples, file handling module 114 and encoding module 110 may be used to provide data that is rendered for display on a user interface by display module 108. In other examples, presentation of files and collections may be performed differently and is not limited to the examples provided above. Further, system 100 and its above-described elements may be implemented as applications, computer programs, software, or code used to implement the described techniques may be developed using various types of structured or unstructured programming and formatting languages such as C, C++, C#, .Net, Java, Cobol, FORTRAN, ADA, HTML, XML, XHTML, and others. The types of programming or formatting languages used are not intended to be either limiting or comprehensive and may be varied.
In some examples, when a collection is viewed in collection display pane 302, icons 304-312 and data (e.g., file descriptions 314-322) may be presented. However, in addition to providing iconic representations and descriptions of files, a selected file (e.g., file 1 as indicated by the shaded icon 304 and file description 314) may be viewed in preview display pane 324. Here, preview display pane 324 permits functions beyond viewing, including, but not limited to, modification and editing, deleting, adding, or otherwise working with attachments included with the file (file 326) being viewed in preview display pane 324. For example, file 326 is a form with several fields of information that may be entered using environment 300 and preview display pane 324. In addition to entering information into the fields of file 326, other functions may be performed, such as changing the page view (shown here as “1 of 3”), increasing or decreasing the scaling factor (shown here as “74.5%”), opening, saving, printing, and the like. Functions may be selected using menus (e.g., pull down menus) such as those shown in menu bar 330 or by manipulating icons such as those provided in sub-menu bar 332. For example, if an icon representing a “save” function is selected, modifications made to file 326 may be copied from a temporary file to the selected host file (i.e., “filel”). As another example, if a print function (e.g., an icon, drop-down menu selection, or other option) is selected, modifications made to file 326 may be copied from a temporary file to the selected host file, which is then sent to a printer queue associated with a printer. In still other examples, print functions associated with environment 300 may be implemented differently and are not limited to those described above. Further, environment 300 and the elements, functions, and other aspects shown and described above may be varied and are not limited in design, function, or implementation to the examples provided.
Here, pull-down menu 404 may be used to determine an initial view for a collection presentation. Further, pull-down menus 406-408 may be used to sort files in a collection based on an attribute such as a file name and in an ascending order, respectively. In other examples, attributes such as the file size, date of last modification, or other information may be used to sort the files in a collection and, thus, options providing for these attributes may be provided by pull-down menu 406. In still other examples, files may be sorted in different orders, including descending, alphabetical, alphanumerical, and the like. Interface 400 may be configured differently and is not limited to the aspects, features, or functionality shown and described.
In some examples, after a temporary file has been opened for a selected file, collection, or attachment, a determination is made as to whether an input has been received to modify the selected file (510). If no input has been received indicating a modification to the selected file (i.e., an open, temporary file), then a wait is incurred for the reception of an input indicating a modification (512). Alternatively, if an input is received indicating a modification, it is saved to the temporary file (514). Another determination is then made as to whether another input is received to close the selected file (516). If the received input indicates closure of the selected file, then the selected file is closed (518). Alternatively, a delay or wait is incurred if another input has not been received (512).
In some examples, a selected file may be closed, resulting in modifications being copied from the temporary file to the selected file (i.e., host file or root document). When another file is selected for presentation in, for example, preview display pane 324 (
Alternatively, if the received input does not identify the selection of another file or a file attachment, then a determination is made as to whether the input indicates whether the current selected file or current open collection is to be closed (610). If the input indicates closure of the selected file or current collection without identifying the selection of another file, collection, or attachment, then the modifications made to the temporary file for the current selected file are saved to the selected file (i.e., the host file or root document) (614). Once saved (i.e., the modifications are copied from the temporary file to the host file or root document), then the current selected file (i.e., temporary and host file or root document) or collection is closed (614). In other examples, the above-described process may be varied and is not limited to the description provided.
According to some examples, computer system 700 performs specific operations by processor 704 executing one or more sequences of one or more instructions stored in system memory 706. Such instructions may be read into system memory 706 from another computer readable medium, such as static storage device 708 or disk drive 710. In some examples, hard-wired circuitry may be used in place of or in combination with software instructions for implementation.
The term “computer readable medium” refers to any medium that participates in providing instructions to processor 704 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as disk drive 710. Volatile media includes dynamic memory, such as system memory 706. Transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 702. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, carrier wave, or any other medium from which a computer can read.
In some examples, execution of the sequences of instructions may be performed by a single computer system 700. According to some examples, two or more computer systems 700 coupled by communication link 720 (e.g., LAN, PSTN, or wireless network) may perform the sequence of instructions in coordination with one another. Computer system 700 may transmit and receive messages, data, and instructions, including program, i.e., application code, through communication link 720 and communication interface 712. Received program code may be executed by processor 704 as it is received, and/or stored in disk drive 710, or other non-volatile storage for later execution.
The foregoing examples have been described in some detail for purposes of clarity of understanding, but are not limited to the details provided. There are many alternative ways and techniques for implementation. The disclosed examples are illustrative and not restrictive.