WO2020111197A1 - 文書整理支援システム - Google Patents
文書整理支援システム Download PDFInfo
- Publication number
- WO2020111197A1 WO2020111197A1 PCT/JP2019/046643 JP2019046643W WO2020111197A1 WO 2020111197 A1 WO2020111197 A1 WO 2020111197A1 JP 2019046643 W JP2019046643 W JP 2019046643W WO 2020111197 A1 WO2020111197 A1 WO 2020111197A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- document
- database
- file
- user
- program
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Definitions
- the present invention is for the rapid registration of electronic documents, management of bibliographic information, high-speed and continuous search/browsing of documents, editing of meta information (addition of memos in particular), and sharing of these data using the existing environment.
- the present invention relates to a document organization support system for integrally providing all functions related to organization, analysis, and sharing of electronic documents.
- the present invention has a wide range of applications regardless of the type of business, but it has a history of being originally developed with one of the important purposes being the document organization support in lawyer practice. Further, in order to clarify the problem and the significance of the invention, an explanation based on specific work is useful. Therefore, in the following, I will give an explanation with lawyer practice in mind, and then generalize the meaning.
- the document materials referred to here are (1) a copy of the document (paper or PDF) sent by the lawyer to the other party or the court, (2) a paper copy of the document submitted by the other party to the lawsuit, (3) a lawyer from the client. It refers to a large number of corporate documents that have been handed over to the company, (4) electronic data (word, Excel, PDF, etc.) sent by email from the client, and (5) documents such as precedents and papers. Hereinafter, it may be simply referred to as a “document”.
- case The work of a lawyer is often understood in units of "case” or “case” (hereinafter referred to as "case”). There are usually several tens to several hundreds of documents for one case, and sometimes an extremely large amount of documents such as thousands and tens of thousands. To utilize such a huge amount of documents, it is desirable that they are electronic documents. Therefore, when the original is a paper document, the lawyer creates (scans) one PDF file for each document and converts it into an electronic document. Digital native electronic data is used as it is as an electronic document.
- the electronic document may include or be associated with images and other digital data).
- No electronic system is known, and many lawyers have trouble managing and utilizing electronic documents.
- the technical problems to be solved by the present invention are classified into those at the individual level and those at the team level.
- a document in practice of lawyer is often specified by a combination of a plurality of pieces of meta information (Bibliographic information). Typically, a combination of three elements of title, creator, and creation date is used, and the number of sheets may be combined.
- a document code called a proof number (a combination of a symbol and a unique number, such as "Evidence No. 10") is attached in a lawsuit, and this is also used together.
- Fig. 2 shows an image of bibliographic information.
- the "creation date" data of the file is only a time stamp and does not match the creation date described in the document.
- the bibliographic information is not structured. Therefore, it is not possible to search or sort the bibliographic information individually.
- the present invention seeks to solve the above problems in a unified manner.
- data management an electronic document file is retained in the system while maintaining its originality, and a necessary/sufficient meta information (especially bibliographic information and associated memo) is registered/edited/searched.
- the interface provides a display function capable of searching, browsing, and editing a large amount of documents at high speed and continuously without screen transition.
- the present invention implements three core operations in the document examination: (1) machine search and visual selection of documents, (2) reading of document contents, and (3) addition/editing of meta information based on them. Make it fast, flexible and seamless.
- a lawyer finds it inconvenient to take all electronic document files into a database on the Web and to use each electronic document file without downloading it through the system.
- (3) [Needs for local use] It is very important for lawyers to be able to hold files locally. In the scene of (2), it is desirable that the folder+file exists locally. You may also want to handle very sensitive documents locally. Furthermore, since the file size of an electronic document may be very large (50 MB, etc.), it is desirable to keep the file locally even for browsing speed.
- NAS type and file synchronization service type. It is also an essential need to be able to retain all data locally as needed. Moreover, the members of the project can be different each time. That is, the data sharing form may change depending on the project. For example, NAS must be used at one time, and file synchronization service must be used at another time (the image of “Valve 2” in FIG. 3).
- a document rearrangement support system for lawyers should have a mechanism that can comprehensively support all of these data retention forms.
- a general technique employs a method of holding all data in a database server on a network (including the cloud) for data sharing by multiple people.
- forcing the use of servers on the network does not match each of the above requirements for data sharing.
- a method of setting a database file in a shared folder can be considered on the assumption that the NAS type or the file synchronization service is used.
- the database file is locked while one user is using the system. Therefore, it cannot withstand simultaneous use by multiple users.
- the file synchronization service when the edits in different environments conflict, the edit results are not integrated (when multiple edits conflict with one file, the files are duplicated).
- a second object of the present invention is to overcome such a technical problem in data sharing and to comprehensively realize the document organization support function shown in the first object in all of the above data sharing modes. It is in. Then, the first document organization support function is also realized at the team level.
- One embodiment of a document organizing system is A document organization system, A database program for managing at least one set of database files provided for each user, A display program for generating data for visualizing a part or all of the tables described by the set of database files; A browsing program for displaying the data generated by the display program on the screen of the user terminal, Including, The database program is By reading a part or all of the one set of database files on the memory of the user terminal, the virtual database is held on the memory.
- the virtual database is at least By dynamically generating the storage destination paths of the plurality of electronic documents associated with the unique document ID given by the database program or directly holding the storage destination paths of the electronic documents, Can be read, and Holds meta-information assigned to each of the electronic documents,
- the meta information is written as input data for each user after the writing by each user is completed. (1) After being written in the virtual database, it is written in one of the one set of database files corresponding to each user. Or (2) The virtual database is written in one of the one set of database files corresponding to each user, and then a part or all of the one set of database files is read again into the memory of the user terminal. Is rebuilt,
- the virtual database has a function of re-reading the set of database files and updating the held data on the memory at each predetermined event or at a predetermined timing (FIG. 4 ).
- the present system employs, as a data storage method, a method of using a unique user database file (user file) assigned to each user (a plurality of files depending on the configuration) (see FIG. 5).
- user file For the master file, see below).
- Each database file may be any file that can be read and written by the system, and any format including a text file is allowed.
- the present system retains the meta-information of the document in the database file, but (1) rarely performs file lock by reading and writing, and (2) limits the right of writing to the file to one user. By doing so, multiple users can use the system at any timing and realize consistent data sharing.
- the specific features are as follows.
- the first feature is that this system holds the read result of all or necessary parts of the user file in the memory. That is, the present system does not access the database file on the disk for displaying various data and performing retrieval processing after reading the user file and holding it in the memory. Therefore, the system rarely locks the database file for reading.
- the second feature is that this system integrates and structures the information read from each user file.
- the structured data on the memory thus created is defined as a "virtual database" in this specification.
- this system can handle the data on the memory as if it were one database system. For example, operations equivalent to SELECT, INSERT, UPDATE, and DELETE in SQL statements can be executed on a virtual database in memory (Fig. 4 "query ⁇ "), providing users with a quick and flexible search/edit function. To do. Also, such proper structuring is a premise of the feature that it can continue to operate without reading the database file.
- the third feature is that this system adopts a method of saving the editing results by each user only in the user file assigned to each user (Fig. 5).
- the main body that edits a specific database file is limited to one person, and database file editing by multiple users does not conflict.
- the NAS configuration it is possible to avoid simultaneous access to one file, and also in the file synchronization service configuration, it is possible to avoid editing conflict with the same file. Even in the configuration of copying on a portable medium, the editing result of each user can be saved independently.
- this system typically behaves as follows. First, the system reads all user files at startup (database file lock time is around 10 milliseconds). Based on this data, the system builds a virtual database in memory. The system provides the user with the browsing/searching function of the meta information of the document, but the virtual database provides all the necessary meta information and query processing functions (no disk access is required. ).
- the system Upon receiving the editing process, the system (mainly the browsing program) records the editing information in the user file a unique to the user A via the database program (“query ⁇ ” ⁇ “read/write” in FIG. 4). At this time, the database file is locked, but it usually stays within about 10 milliseconds.
- the database file In order to reflect the update result in the virtual database, there is a method of reloading all user files (that is, rebuilding the entire virtual database) ("read/write" ⁇ "build” in FIG. 4). There is also a method of directly changing only the relevant data on the virtual database on the memory (“query ⁇ ” in FIG. 4).
- the work can be consistent with the work of user A. That is, since the operation of the user A hardly locks the database file, it does not prevent the user B from reading the user file a to construct the virtual database. Further, since the editing result of the user A edits only the user file a, it does not interfere with the editing work by the user B (that is, the editing of the user file b).
- the final synchronization is realized as follows (Fig. 6). That is, when the user file a is edited by the editing of the user A, the user file a under the environment of the user B is synchronized at some point (shared in the case of NAS and at the same time). At this point, the system of User B can recognize the editing result of User A. Then, when the system of user B reads all user files (that is, reconstructs the virtual database), the system of user B reflects the editing result by user A (the virtual database becomes the latest state). ).
- the system of the present embodiment adopts a method of simply synchronizing some database files by a file synchronization service or NAS as a data sharing method, while the system as a whole has a transaction processing function. It behaves like a single database system that holds.
- the present invention solves the problem in the data sharing method.
- the processing of this system does not break down. That is, the record edit result by each user is independently stored in each user file.
- the system can resolve conflicts in user files with free rules, so that, for example, processing of combining and displaying edited results by different users is also easy.
- the user file it is usually effective to record only the difference information for record editing.
- the number of team members is from several people to several tens at the maximum.
- the number of people who can operate the system at the same time is further limited.
- the editing operation occurs only once per few seconds per user. Therefore, it is not expected that the database file will be frequently locked at such a frequency that the operation of this system will be hindered.
- the time required for this system to read a database file is less than 10 milliseconds per file. Therefore, if the number of team members exceeds 100, it is considered that there is no hindrance to the activation and basic operation of this system. It is also possible to limit the frequency of reading the disk file in order to increase the number of operable persons. That is, this system realizes the data display by the virtual database, and the editing result by the user in use can be directly reflected on the memory in the virtual database (query ⁇ in FIG. 4). Therefore, even if the reading frequency of the database file is suppressed considerably, the present system operates without any problems in practical use. As a result, there may be a design that prevents contention of file access by a large number of users, and slows down the operation due to frequent reading of many database files.
- this system can operate even standalone, and the number of users may be one.
- the present invention aims to provide a function capable of continuously searching, browsing, and editing an electronic document at high speed.
- the browsing program should be designed to provide all functions of narrowing search based on meta information, browsing documents, and editing meta information in a single window without screen transition.
- a compact search input field is provided at the top of the screen, and a table is drawn below it to display a list of compact bibliographic information for each row of the table. It is effective that the document image can be viewed immediately and the record can be edited directly from the bibliographic information column.
- the document image display function it is effective to have both a function of displaying in the same window (a guideline is about half the screen size) and a function of displaying in a large size in another window.
- the document organization system is When a new electronic document is registered in the virtual database, it may have a function of extracting necessary meta information from a character string included in the file name of the new electronic document based on a predetermined analysis rule.
- the document organization system is When a new electronic document is registered in the virtual database through the browsing program, a predetermined character string input by the user of the user terminal is analyzed based on a predetermined analysis rule (eg, "regular expression"). However, it may be configured to further have a function of extracting necessary meta information.
- a predetermined analysis rule eg, "regular expression”
- the extracted meta information may include at least the creation date and title of the electronic document.
- the browsing program has an input field for the user of the user terminal to input text data, and the meta information extracted from the file name of the electronic document is displayed in advance in the input field. It may be configured as follows. Further, the browsing program has a function of displaying the content of the electronic document to be registered in the same screen in a readable size without a screen transition while displaying the input field for inputting the meta information to be registered. May be provided.
- the browsing program has a function of displaying a list of registered electronic documents in a table format, and may be configured to display all meta information about one electronic document in one line in the table.
- the browsing program may further have a function of performing a narrowed search based on the meta information of the registered electronic document.
- the browsing program may have a function of editing at least one piece of meta information of the electronic document to be registered by operating the mouse on the table displayed on the screen.
- the document organization system may be configured so that a document code that can be customized and includes a branch number can be attached to the electronic document in a one-to-many manner.
- the browsing program has a function of displaying a list of all or some of the document symbols with a button on a single browsing screen and clicking the button to narrow the documents in the table to documents having the document symbol. Good.
- the document organization support system is a method for registering a document (registration of meta information and holding an electronic document file), high-speed and flexible search for a document (machine search and visual selection), electronic document searched for an electronic document. Seamlessly read, edit meta information based on the read result (edit bibliographic information and add memos), create reports linked to multiple documents, all functions are integrated. In addition, this can be performed flexibly, at high speed, and continuously for a large number of documents. This has an advantage incomparable to the "file + folder method" in the task of continuously searching, browsing, and analyzing huge documents and accumulating knowledge. It also has a high degree of advantage compared to general document management systems that do not consider document organization and analysis support.
- this system implements data synchronization by adapting to all the basic forms of data storage and sharing using files (local storage, NAS, file synchronization service) without installing a dedicated server.
- You can And it behaves like a single database system with transaction processing capabilities. This can meet the security requirements of using the existing environment of a small organization as it is or having all the data in its own organization. Then, when a configuration capable of holding all data locally is selected, all operations such as search, browse, and edit become particularly fast. Then, as a benefit of the data sharing function, the users can successively accumulate knowledge about the project in the system. This allows the team to significantly increase intellectual productivity.
- the document organization support system strongly supports the organization and analysis work of electronic documents performed by individual users, and realizes data sharing by being incorporated into various existing environments. As a result, the system greatly improves the intellectual productivity of individuals and teams.
- the present invention also provides a specific solution for avoiding database file locking when multiple users handle the same database. As a result, by simply sharing and synchronizing the database files of each user, the behavior similar to that of a single database system is realized. INDUSTRIAL APPLICABILITY The present invention has the significance of greatly increasing the form of data sharing in the operation of the document management/arrangement system.
- FIG. 1 It is a figure which shows the example of a non-individual document. It is a figure which shows the image of bibliographic information. Schematic diagram showing the general form of a project. a is a stand-alone type project, b is an intra-organization type project, and c is a cross-organization type project. It is a figure showing one embodiment of a document organization system concerning the present invention. It is a figure which shows the structure which employ
- FIG. 8 is a diagram showing an example of a screen display during registration work of an electronic document in the example. It is an example of a screen configuration showing a single-cut screen of a report article in the embodiment. It is a figure which shows the example of implementation of the table in an Example.
- -File + folder method An electronic document management method in which electronic document files are stored in folders based on appropriate classification, and no further technical ingenuity is added.
- ⁇ Document ID Numerical or character string data that is uniquely added to each document in the system.
- -Linking memo This is text information that describes the result of the user's examination of the document material in a short manner (generally less than 100 characters), and is associated with the document material in a one-to-one relationship. Position it as one of the meta information of the document. Meta information This is a general term that refers to additional information with respect to information, but in this specification refers to all information that is attached to a document on a one-to-one basis.
- search When the word "search” is used in this specification, it is assumed that the mechanical search (corresponding to a narrowed-down display on the system) of (1) is assumed ("mechanical” is specified as necessary). To). On the other hand, (2) is expressed as visual selection.
- search envisions the entire process of (1) and (2), searching for a document that combines both. -Project users may work on one activity individually or jointly by multiple people (one lawsuit case for an attorney). One unit of activities that are the subject of such efforts is collectively called a project. ⁇ Team/member (member) When multiple users collaborate on a project, the group of multiple users is a "team". Each individual is described as “member”, “member”, etc.
- ⁇ File synchronization service While saving the electronic document file in the cloud storage while keeping the folder structure, the folder structure and the electronic document file are synchronized with the specified folder in the local terminal of the owner or the user who is allowed to share.
- a service dropbox or the like having a function.
- -Project folder/shared folder In a typical implementation, a folder that is installed for each project is called a project folder. Database files and electronic document files are stored under it. Although it can be hierarchized, basically the highest-level folder (root folder) is assumed. When a project folder is shared or synchronized among users, it may be referred to as a shared folder.
- -Database file A readable and writable file for recording information for each project.
- -Master file A form of database file. Record initial information that is common to all users within the project. Typically, the bibliographic information of the document including the document ID is recorded.
- -User file A form of database file. Record update information for each user. In the mode in which the master file is not installed, the information held by the master file is also held in the user file.
- -Application folder A folder that is installed in the terminal to save the program and system settings when the distribution program (application) is installed in the terminal.
- -Setting file A file placed in the application folder when the distribution program is installed on the terminal. Record basic information about the system. For example, the user name and the list of projects to manage.
- the file format is not limited, but a text file or SQlite is suitable. Do not share.
- the present invention includes the following A. ⁇ C. Is a basic configuration of the embodiment.
- A. Database Program The system according to the embodiment of the present invention uses at least one database file (user file) for each user. User files are unique to each user, and are placed in a folder used for data sharing and are subject to synchronization. In addition to this, it is desirable (but not essential) to install at least one database file (master file) that holds initial data common to all users.
- a single file that has a relational database function represented by SQlite is generally suitable as the database file, but it is sufficient if the data can be read and written, and a text file or the like may be used.
- the database program has a function of reading and writing each database file and reading them into a memory and integrating them.
- the editing right of the master file is basically limited to a single user having the management authority.
- the right to edit a user file is limited to a single user to whom the file is assigned (the administrative user also does not have the right to edit another user's user file).
- various meta information about electronic documents shared by the team is recorded. Assuming that the master file is installed, first, at the time of document registration, a unique document ID is given to each document by the database program, and this is recorded in the master file. Then, in association with this document ID, various kinds of meta information input at the time of document registration are also recorded in the master file. As the core meta information, bibliographic information (title, date, creator, document code, number of sheets) necessary for identifying a document and a linked memo are assumed. If the user subsequently edits the meta information through the system, the result will be recorded only in the user file assigned to the user.
- each of the above information is recorded in the user file.
- the document ID is unique throughout the database file by including a unique PIN for each user.
- the database program reads all (sometimes some) of these database files at once, performs a predetermined integration process, and structures and holds them in the memory to store the database in the memory of the local terminal.
- the “database” thus read in the memory is defined as a “virtual database”.
- the display program described below issues a data read query to the virtual database in memory, and the virtual database responds to this. At this time, the system does not access any database files on disk.
- a data edit query is issued.
- the database program edits the user file on the disk and records the update information (may be recorded in the master file depending on the configuration and the operation content).
- the system can also directly update the record in the table held by the virtual database on the memory in advance. If this method is adopted, the editing result of the user is reflected in the virtual database without reloading the database file. This also has the effect of reducing the frequency of locking database files.
- the database program locks the database file for a moment at two timings: (1) constructing a virtual database and (2) reflecting the editing result by the user in the database file, but most of the other cases. Does not lock the database files for. Therefore, even if a plurality of users use the system at the same time, reading/writing, sharing, and synchronization of database files are not hindered.
- Database files may be shared by using NAS (network folder) or may be synchronized by file synchronization service. It may be copied peer-to-peer or, if the network is unavailable, in a primitive way it may be copied through a portable medium such as a USB memory disk.
- the electronic document is an electronic document recorded in a predetermined data format such as MS-Word, MS-Excel, and PDF, and a program for browsing these files is installed in advance in each user terminal. It is necessary (a dedicated execution program is not essential, and it is sufficient to use a general program having a browsing ability (such as a web browser)).
- the storage location of the electronic document only needs to be able to recognize the path from the terminal, and may be a network folder in the local area network or a local folder in the user terminal.
- the system needs to be able to recognize the location of electronic document data.
- the path of the electronic document is recorded in the database file (usually relative to the project root folder).
- the path of the electronic document can be dynamically generated by the system (eg, the save destination directory is fixed, the name of the electronic document file is made to match the document ID, etc.), and the path is stored in the database file. It is not always necessary to record the pass.
- the electronic document is directly stored in the database file.
- SQlite can store binary data.
- the virtual database may hold the path of the database file in which the electronic document is stored, or may be dynamically generated and read the electronic document from it.
- the display program is a program for issuing a query for searching a record in the database and receiving a search result and displaying it on the user terminal.
- One easy way to design is to run a web server program (local server) on a local terminal.
- the web server program receives the data in the table from the virtual database, then generates the data necessary for the web browser to draw the browsing screen, and delivers it to the web browser (even if the HTML format data is directly delivered. You can also use ajax to generate HTML in your browser).
- the reason for using the web server program is that there is an advantage that flexible expression capabilities such as HTML, CSS, and Javascript (registered trademark) can be utilized. Since it is designed to support the use of locally stored files, no externally installed web server is used.
- the display program need only be any display program that can issue a query to the virtual database or database program, and to execute the web server program on the local terminal or to convert it into a format that can be displayed on a web browser, Not required.
- the data read from all the database files can be read and held in the memory, the same result can be obtained without using the web server program, for example, by using various GUI libraries.
- using a local server is an example of an implementation that is easy to implement and highly useful.
- the browsing program is a browsing program corresponding to the protocol of the display program, and has a function of communicating with the display program, reading data from the virtual database through the database program, and editing a record. If the display program is a web server using the http protocol, a web browser can be used. A dedicated program for browsing (graphical user interface program) corresponding to the display program may be created.
- the present invention aims to provide a function capable of searching, browsing, and editing electronic documents at high speed and continuously. For this purpose, it is desirable to provide all the functions of search, document browsing, and record editing on a single screen without screen transition.
- a compact search input field is provided at the top of the screen, and a table is drawn below it to display a list of compact bibliographic information with a volume of about 1 per line.
- a configuration is conceivable in which the document image can be viewed immediately and the record can be edited directly from the bibliographic information column.
- a function is useful in which the contents of the electronic document are displayed in a size of about half the screen when the mouse hovers over the electronic document name listed as the search result. ..
- the display program accesses the electronic document file based on the path information stored in the virtual database, converts the contents into an image format, and hands it over to the browsing program.
- the ability to hold the electronic document file locally has the advantage of realizing electronic document browsing at high speed.
- a display program eg, local server
- a browsing program eg, web browser
- the functions of the display program and the browsing program can be distinguished.
- the display program and the browsing program are integrated.
- the mounting method is considered to be easy (substantially the same) in view of the present specification.
- individual users can always repeat the basic operations of searching/browsing/editing meta information (editing bibliography and adding notes) in the system at high speed and seamlessly. ..
- it adapts to the data storage environment that can differ from project to project and realizes flexible data sharing.
- Example I Basic hardware configuration, overall configuration, installation method, etc. 1. Hardware This system is typically expected to be used on a general PC. That is, as the user terminal, a computer (desktop personal computer, notebook personal computer, etc.) having a storage device such as a hard disk, a CPU, a display device, an input device such as a keyboard and a mouse can be used.
- a computer desktop personal computer, notebook personal computer, etc.
- a storage device such as a hard disk, a CPU, a display device, an input device such as a keyboard and a mouse
- the hardware configuration including the operating system (OS) is not particularly limited as long as it can hold the necessary files and execute the program.
- OS operating system
- This embodiment is operated on a PC on which Windows (registered trademark) 10 is installed. This is one of the major expected usage environments.
- a local server is executed and a web browser is used as a browsing screen (hereinafter referred to as “local server configuration”) (detailed later).
- the present inventor has implemented main functions such as database file operation, virtual database construction, and execution of a local server by using python (and some libraries such as bottle). It is considered that these functions can be implemented by any general programming language, not limited to python.
- the GUI is implemented by using JavaScript (registered trademark) on the assumption that a web browser is used. The reason why the local server configuration is used is that there is an advantage that the flexible expressive power of the web browser (HTML, CSS, JavaScript (registered trademark)) and the GUI function can be utilized.
- the local server configuration is only one of the effective and easy implementation examples.
- the configuration is free as long as it fulfills the functions of database file operation, virtual database construction, and browsing screen provision. For example, in the case of python, if a proper GUI library is used, a local server or web browser is not required.
- This system typically prepares a distribution program and pre-installs it on the user terminal (however, it may not be installed on the terminal as described in 7.).
- the installation program is distributed to users.
- the system provides a system folder (hereinafter, “application folder”) at a predetermined path in the user terminal, and a program and system setting file (hereinafter, “application folder”) are provided in the system folder.
- Setting file is installed.
- SQlite is used as the setting file, but a text file or the like will suffice.
- a local server program is included in the distribution program itself.
- the web browser need only be a general web browser capable of executing JavaScript (registered trademark) (for example, Chrome). Therefore, the present embodiment does not require the user to pre-install software other than the distribution program. Even when a script language such as python is used, the source can be made into a binary (execution file) by various libraries and the like, so that it is not essential to install the python interpreter in advance.
- the system simultaneously performs a project folder initialization process (described later). This allows the system to recognize the project folder. Then, it is rational for the system to access each file with a relative path from the project folder (root folder). Of course, subordinate root folders can be hierarchized.
- the project folder does not have to be prepared by the user in advance, and may be generated by the system.
- the above description is based on the premise of creating a new project. The case of participating in an existing project will be described later.
- the system can operate even if the project folder is not a single project folder. For example, sharing only database files with a file sync service, keeping sensitive electronic documents in a local folder that is not shared or synchronized, and letting the system recognize both folders (access each file with a relative path). Implementation is possible. However, since such a configuration is considered to be a little exceptional, in the present specification, a single folder configuration will be assumed.
- Sharing project folder Since this system can operate standalone, the project folder may be installed in a local terminal and used by one person. Also, the files in the project folder may be synchronized by data copy on a portable medium. However, when working on a project as a team, it is reasonable to share or synchronize the project folder itself.
- a specific folder on the network is used as a project folder and shared (all members access the same disk).
- the project folder is targeted for synchronization (the target folder is placed in the specified folder on each user terminal and synchronized. In this case, the disk is different for each user. From here, do not access the same folder). In this specification, both are referred to as “shared folder”.
- the path of the shared folder may be different for each user terminal (in the case of the NAS configuration, there will be a difference due to the assignment of the network drive letter, etc.)
- the location of the synchronization target folder is arbitrary. ).
- the system is made to recognize (register) the shared folder (root folder) used in the project for each user terminal.
- Network connection/Internet connection As mentioned above, since this system operates standalone, network connection is not essential. However, it is usually desirable to use a network for data sharing.
- the sharing method of the project folder may differ depending on the project. That is, the system grasps the project folder by the path in the user terminal. Therefore, the project folder need only be recognizable by the path and it does not matter to the system whether it is on the NAS or locally. As a result, this system realizes an advantage that it can adapt to a plurality of data sharing modes (as described above, the project mode is shown in FIG. 3).
- the program of the present system does not have to be installed in the terminal in advance.
- At least a general OS can be operated by a method of holding all the programs of this system in a project folder. This has the advantage that even users who are not licensed for this system can immediately join the project by simply sharing the folder.
- As a utilization method for example, as the form of this system, it is possible to prepare two types, a terminal installation type and a folder installation type. Then, a person who has licensed the folder installation type may join an unlicensed user to the project by the above method. This answers the need to open a project.
- the user identification function can be implemented by inputting user information at startup or by holding the user information locally (for example, a cookie is enough for a browser).
- a cookie is enough for a browser.
- Application setting file As described above, the setting file is installed when the software is installed in the terminal and records the information necessary for system operation. Although SQlite is used in this embodiment, a text file or the like will suffice. The number of setting files is arbitrary. Synchronizing configuration files with other users is not expected. The main data that is expected to be recorded in the setting file are listed below.
- the system stores the database file (FIG. 5) in the folder and shares or synchronizes the database file as necessary.
- the database file is set up for each project. Typically, it is saved in an appropriate folder under the project folder (root folder).
- the database file can be in any format, but from the viewpoint of data management efficiency, it is typically rational to use a single file having a relational database function such as SQlite. is there.
- a folder structure and main information to be recorded in the database file will be described on the assumption that the master file is installed.
- FIG. 7 is an example of a folder structure.
- "C: ⁇ Dropbox ⁇ Civil Case ⁇ Kyoto Case Project” is the project folder (that is, the root folder), and two folders, Document and programData, are placed under it (at initialization) Automatic installation).
- the Document folder is supposed to store document file data (it is rational to automatically copy or move a file in the folder by the system at the time of document registration).
- the folder called programData is a folder for saving database files.
- master.sqlite is the master file.
- usernameA.sqlite, usernameB.sqlite, usernameC.sqlite are user files (there are three users).
- the owner of the user file is determined by using the user name as is in the user file. When such a specifying method is used, the user name must always be unique (usually linked with license management).
- the electronic document files in the Document folder are normal electronic document files, so the user can also operate them. Therefore, for example, operations such as collectively copying all files to a portable medium and providing the files to a third party or printing out dozens of documents collectively can be easily performed on the folder.
- the flexibility of utilizing folders and files in this way is also a feature of this system.
- Master file is a file for storing data common to all users. An example of the data is shown below.
- Document code table-Document code ID -Document code name for example, "Archive”
- Abbreviated code display eg "Kou
- FIG. 8 is an example of a specific table structure based on this.
- the document code codeinfos table
- the full text information of the document will also be described later.
- the information in the above table is read into the memory once. This is the initial value of the virtual database.
- the update information of the user file is reflected here. Note that the document ID must be unique within a single project, but it is allowed to overlap between different projects (the document ID 100 of project A and the document ID 100 of project B may be different documents). ).
- User file One user file is assigned to each user. The following is an example of data that should be managed.
- FIG. 9 is an example of a specific table structure based on this.
- the information related to the report function is also recorded in the user file, which will be described in detail in the report item.
- the conflict is resolved by adopting only the update information with a new date and reflecting it in the virtual database, but it is also possible to utilize all the update information and combine and display with the user name.
- the information of the master file is once read into the memory, and the data in the memory is changed according to the update information (usually the difference information) of the user file to build a virtual database holding the latest information. be able to.
- each information to be recorded in the master file can be recorded in the user file.
- the document ID in this case is unique among all user files by including a unique PIN for each user.
- the virtual database all the document information contained in all user files may be put together into one table. Further, as long as the document ID is unique, the update information can be recorded/reflected by the same method as described above.
- the virtual database in the memory is updated by reading the master file and the user file. It is rational to perform this reading at a fixed frequency or at a fixed event. For example, when a certain period of time has passed without reading data, or when the user presses the reload button installed in the system. (Of course, the update frequency is reasonable because the database file is locked for a very short time. Range).
- the virtual database can be implemented by an associative array or the like.
- the data structure in this case is typically as follows.
- the highest-order key is the document ID
- the second-level key is the meta information such as the title (title) and the creation date (date). value is that value.
- Codes mean document codes (details will be described in VI. Document Code Function).
- FIG. 10 shows a “document DB” screen (a core screen that provides document organization/analysis related functions) in this embodiment.
- a “document DB” screen a core screen that provides document organization/analysis related functions
- the button called “Test Project” in the upper right corner is related to the project switching function (described later).
- the box where you can see the notation "Search title/creator/memo" is the search box. If you enter a character string and press the enter key, the title, creator, and memo (linking memo) information will be collectively displayed. Search and narrow down documents. There is also a sort function based on dates.
- search option provides more detailed search methods such as date specification and exclusion search. Some buttons, such as “Kosho,” provide a narrowing function based on the code. This area can be opened or closed by clicking the "Search Options" button.
- search/sort implementation methods There are roughly two types of search/sort implementation methods: (a) a method of filtering and sorting the associative array on the virtual database and then passing it to the browsing program (query for the virtual database), (b) already stored on the browsing program. A method for filtering and sorting the recorded record information (for example, on the memory of the browser, a filter sort function is executed for a record group held as an array type of JavaScript (registered trademark), and based on the result, To redraw the table). In this embodiment, (a) is mainly used, but (b) is also used in some cases.
- the table at the bottom is the area that displays the meta information of the document.
- One document is assigned to one row of the table, which is suitable for listing a large number of documents.
- a memo associated with various bibliographic information is displayed as a memo.
- a maximum of 500 documents are displayed in the initial state (additional display of 500 documents each is allowed). Since this search process is a search for data (virtual database) on the memory, the operation does not become heavy even if a large number of documents are collectively displayed.
- the advantage of being able to display a large number of records is great when used for handling a large number of documents (displaying a few tens of records is not enough). This is also one of the features of the present invention.
- the user when searching for a document, the user can visually and continuously view the document image and select the required document. Further, if necessary, the contents can be read and analyzed as they are.
- FIG. 11 is a diagram showing an example of a screen configuration regarding the memo function.
- the user can open the input window 203 by clicking the button 202 in FIG.
- the user edits the text data and clicks the OK button (or presses the enter key)
- the edited contents are confirmed.
- the HTML data held in the memory by the browser is immediately rewritten at this time (by JavaScript (registered trademark)).
- JavaScript registered trademark
- the present embodiment employs a configuration in which the database file and the electronic document are locally stored (including the combined use of the file synchronization service). Compared with the method of using the database on the server (which is on the network and also has disk access), the operation is faster for all operations such as document search, record editing, and document image display.
- Full-text search function Furthermore, it is desirable that the system has a full-text search function.
- the full-text search function is effective for searching for a desired document from a huge document group.
- the function of extracting the text information of the document and recording it in the database file is implemented. Extraction of text information can be implemented by using an appropriate library according to the file format. It is desirable to read the text information into the virtual database at the same time (it is simple text data, and it is unlikely that the amount of data will be enough to press the memory). Implement a function to display full-text search results corresponding to various search processes in the system.
- a function to display text information in the system in addition to the image display of the document.
- text information it is desirable to allow a keyword search and implement a function of extracting and displaying only a certain number of lines before and after the line where the keyword matches (for example, five lines before and after) and the number of characters.
- extraction processing can be implemented by, for example, dividing text information for each line break and organizing it into an array format, extracting elements including a keyword and five elements before and after the element, and connecting them.
- the system in the administrator user terminal performs initialization such as setting the master file in the folder (initialization of the project folder). Also, the path of the project is registered in the application setting file (in the installation folder). At this point, the system in the administrator user terminal becomes aware of the project (and the location of the folder).
- the project folders have been synchronized to the local terminals of general users by the file synchronization service.
- the general user specifies the shared folder on the system of his/her terminal and performs the participation operation in the project.
- the system on the terminal of the general user installs the user file having its own user name in the folder and recognizes the project (“participation” in the project). This user file will also be shared with all users through the file sync service.
- the administrator user proceeds with document registration work.
- the bibliographic data of the document will be recorded in the master file from time to time.
- the electronic document file is stored in a predetermined folder. Both of these master files and electronic document files are synchronized to all users' local terminals through a file synchronization service. At this point, each user's system can view the document.
- the present invention is intended for use in a plurality of projects.
- projects are characterized by high independence. That is, the documents in the project have a deep relationship with each other, but the document of the project A is rarely used in the project B.
- the document table can be made independent for each project, and an independent document ID can be given to each project.
- the document IDs are also numbered on a project-by-project basis (the document ID 100 of the project A and the document ID 100 of the project B are different documents).
- FIG. 12 is an interface for the project switching function implemented in this embodiment. It is located in the upper right corner of the screen. The part (button) that says “Kyoto” shows the current project name. Mouse hover over this button to see other projects below (individual research (local), in-house document management (NAS), etc.).
- a search function by project name is also provided (displaying is narrowed down by entering text in a box "Search by name”). Select the case name you want to switch to and click to switch to the project.
- the database file is reread and the virtual database of the project is reconstructed (in this embodiment, the virtual database holds only that of the active project in the memory). .. Then, the table display of the document information and the like are redrawn to that of the project.
- Project management function In addition to the above functions, it is desirable to provide a project management function. This may be done by providing an appropriate management screen in the system and allowing the user to edit the settings (reflected in the application setting file). In the embodiment, the screen transitions by clicking "Add/Edit" at the bottom of FIG.
- the new installation of the project of (1) corresponds to the initialization of the project folder by the administrator user as described in IV.
- Participation is to register an initialized project folder, which corresponds to the operation of participation by a general user in a project as described in IV.
- (2) corresponds to the case where the path of the project folder is changed afterwards (for example, the shared folder name is changed).
- the project name can be freely specified for each user.
- the project name is saved in the setting file, but since the setting file is not subject to synchronization, each user can add their own name. The user shall be able to edit the project name at any time through the system screen.
- the basic required document code is a combination of symbols and numbers. In addition to this basic form, it is necessary to consider the following three points. (1) A plurality of document codes may be added to one document. (2) The types of symbols vary depending on the project. (3) In the document code number, a "branch number" is used (example: Exhibit A10-2). The system needs to meet these needs.
- the document code name is a formal name of the document code (“Kosho”).
- the abbreviation of the code is an abbreviation for this (“A”).
- A In a general description method, a description in which numbers are concatenated in abbreviated display is used (eg, Exhibit A10).
- the abbreviated display is used for display in the document list table and file name analysis (described later).
- the document code ID is attached to the document code, the data is managed using the document code ID primarily in the documents table (master file) and the table on the virtual database. ing.
- character string data such as "[1, [10,5,2]]" is recorded in the codes field of the documents table (JSON format), It is reinterpreted into the array format on the program.
- a search function is provided by specifying the symbol and number.
- FIG. 13 shows a screen display example during the registration work.
- the system recognizes the file name of the file.
- the system directly reflects the file name (excluding the extension) in the input field 211.
- the system analyzes the text data existing in the input field 211 by a regular expression, extracts required meta information, and reflects it in the display field 212. Further, the user can edit the text information in the input field 211 as it is. Here, it is desirable to have the system constantly monitor the input field 211. In this embodiment, such an implementation is performed, and the analysis result of the display field 212 is updated in real time every time the user edits one character.
- the analysis result is displayed as in the input field 212. Then, when the user presses the enter key, the registration of the document is completed. If multiple files are selected at the time of file selection, the screen display immediately switches to the next document and continuous input is possible.
- the document In a general system that adopts the form moving method, it takes a lot of time to move the form. Also, the contents of the document may not be displayed during registration. However, according to the method of the present system, the input forms are integrated into one. Then, using the simple and clear input rule, the bibliographic information can be quickly entered while looking at the document image. Furthermore, the edited result can be visually confirmed immediately. If the user gets used to it, the document can be registered in a few seconds to about 10 seconds per case, and overwhelmingly high-speed registration can be realized as compared with the conventional system.
- the system be provided with an automatic document registration (or semi-automatic registration) function. Specifically, (1) file selection (plural) to immediately complete the registration work, (2) display the bibliographic information confirmation screen after file selection (plural), and after performing simple correction work, The registration is completed by (3), and (3) the system is made to circulate through a predetermined folder and the files located there are automatically registered in the system.
- the system provides a document code customization function. Therefore, it is desirable to design the above analysis rule so that it can correspond to the code after customization. Specifically, a regular expression may be dynamically generated based on the code information (code shortened display) after customization recorded in the table. Further, although the above-mentioned specific example is intended for lawyer business, the same framework can be easily applied to other industries. Even in this embodiment, since the document code can be customized, any combination of the document symbol and the number can be interpreted. Furthermore, the method of describing dates is generally common to other industries. Also, by arranging the bibliographic information and input rules to be managed in the first place, it can be applied to any work.
- Document Registration Right Holder In this embodiment, the document registration right holder is limited to the administrator user. However, when the master file is not installed and the document information is directly registered in each user file, it is not necessary to limit the document registration right holder. Even if the master file is installed, the document is temporarily registered in the user file, and then the temporary registration information is transferred to the master file when the administrator user starts the system. By this method, data registration by all users can be realized.
- Report function Significance and concept of report function
- the linked memo function of this system is planned to be input and displayed as a short comment for an electronic document. Further, it corresponds only to one-to-one with an electronic document. Therefore, the memo function alone cannot describe the detailed analysis of the electronic document group. Therefore, it is desirable to provide a function to separately create a report associated with a plurality of electronic documents. Especially for teams, it is of great value to be able to share long reports with text searchable content.
- the report may be associated with a plurality of documents or may not be associated with any document.
- the basic relationship between documents and reports is many-to-many.
- ⁇ Keep the text in the database record
- a possible mode is to associate the held data with each other based on the ID or the like. If the report includes additional digital data such as image data, it can be embedded in the text as a link (including automatic generation) assuming HTML.
- FIG. 14 is an example of a screen (article single-cut screen) of this embodiment. In this embodiment, the report is called “Note”.
- Report Body and ID Analysis Function It is desirable that the system has a function of analyzing the report body and extracting the ID. For example, suppose the following description is in the text. “It can be said that the facts of October 21, 2018 are as follows. First, X moved to his home (document ID 15400). Then Y visited there (document ID 12000, ID 937). Z makes a statement contrary to this, but it seems to be inconsistent with the document IDs 400 and XX (document ID 6256). "
- the system performs regular expression analysis on such description and recognizes the description of document ID XX as the document ID.
- the system can arrange the display of the report screen by retrieving data from the virtual database based on this information.
- the description of the document ID XX can be automatically converted into a button or a link capable of displaying an image of the document.
- the description itself can be converted into a short display of the bibliographic information of the document. It is also possible to provide a function of displaying a list of documents referred to by the report.
- each report is known, it is easy to specify from which report a certain document ID is referred. Therefore, it is possible to implement a function of providing a list of reports or links that refer to the document on the document list screen.
- Report search function It is desirable to provide a search function for reports. Typically, a method in which a user inputs text information in a predetermined form and, based on the text information, retrieves the text information of the title and the body can be considered. In this embodiment, the search (narrowing) result is displayed as a list of report titles and leads.
- Continuous editing function In this embodiment, a continuous editing function is implemented as an extension of the meta information editing function on the browsing screen.
- the system is shifted to the continuous edit mode.
- the system When the user displays the image of the document in the continuous edit mode, the system simultaneously puts the predetermined meta information column in the record into the edit state.
- the processing procedure is as follows. (1) The user opens the image of the document 100. Then, memo of the document 100 is in the edit state. (2) The user edits memo of the document 100 while viewing the image of the document 100. (3) The user finishes editing memo of the document 100 and presses the enter key in the same form.
- the user can edit the memo column while browsing the documents one after another.
- the user simply repeats inputting text data to memo and pressing the enter key.
- memo editing can be repeated at high speed and continuously.
- the following methods can be considered for the display method of the browsing screen.
- the display size of the document image is almost equal to the entire screen. This is because the user is supposed to work by looking at only one document at a time.
- the browsing program Since it is assumed that records are moved one after another as described above, it is desirable that the browsing program has an automatic scroll function. Every time you move one item, scroll the screen by one item.
- X. Batch Download Function In the present invention, it is assumed that the user handles a large number of documents at once. For example, there may be a situation in which dozens of documents are printed out at one time, or data of hundreds of electronic documents are collectively provided to the outside. In such cases, it is convenient for the user to be able to directly manipulate files on the folder.
- a batch download function for electronic document files is implemented in the system. Specifically, it is as follows.
- the file name to be downloaded is generated based on the record information (that is, the latest information) on the virtual database.
- the file name some choices. For example, the options are (1) the document code at the beginning, (2) the date at the beginning, and (3) the document ID at the beginning. This is because if the file names are sorted on the folder, the arrangement order according to the element described at the beginning can be realized. When handling files in a folder, even if there is a single bibliographic element, there is a great merit that the user can freely arrange the order.
- the character strings of the bibliographic information are linked in an appropriate order.
- the order of concatenation follows the method specified by the user. Combine rename operations when copying.
- an appropriate button may be installed on the document browsing screen.
- the present invention also envisages handling confidential documents. Therefore, it is desired to provide a function related to document encryption.
- a file synchronization service since the electronic document file is stored in the cloud, the need for encryption is further increased.
- allowing the user to enter the password each time the encrypted file is browsed greatly impairs the high-speed and continuous browsing characteristics of this system. Therefore, by introducing the following framework, it is possible to achieve both document encryption and continuous browsing.
- ⁇ framework ⁇ (1) Establish a strong password (“project password”) that is unique to each project. (2) Save the project password in the local terminal (for example, in the application folder). (3) At the time of document registration (or by user's operation etc.), the system automatically adds a project password to the electronic document file. (4) When the user browses the document, the browsing program automatically passes the project password to the electronic document file. (5) Providing a function of collectively generating files in which the project password of an electronic document file is released (for example, an option of the batch download function). In addition, it is desirable that whether to apply the encryption function can be selected for each project.
- the password is held only in the local terminal. Therefore, even if an unauthorized access is made to the cloud, for example, the confidentiality of the electronic document file is maintained.
- the user can handle the encrypted document while using the system without being aware of the existence of the password. That is, the password is automatically added when the document is registered. The password is automatically passed when you browse. If you want to use the electronic document file itself, you can use the password-released file. In this way, both convenience and security can be achieved.
- the project password should be automatically generated by the system. For example, a 16-digit strong one is generated. It is convenient to have a single password for each project, but implementation with multiple passwords is not impossible. Save the password in an appropriate location in the local terminal, such as in the application folder.
- an administrator user is required to generate a password, which is communicated to other users by an appropriate method, and other users perform password registration work on their own system.
- the password can be added or handed over by using an appropriate library. For example, in the case of a PDF file, which is the main data format, poppler is used to add a password, and PDF.pdf is used to pass the password when browsing. Libraries such as js are known.
- the method of deleting the waiting time of the user by confirming the record edit result on the memory on the web browser and updating the HTML in advance can be applied to a cloud type system using the web browser.
- the document registration function, report function, and batch download function can also be applied in any form, cloud type, server type, or local type.
- various devices according to each embodiment have universality not limited to the hardware configuration.
- this system accumulates a lot of knowledge (memo and reports) of the members regarding the project.
- a large amount of multifaceted awareness by multiple members is stored in the system, and members can freely search for it.
- the number of "individuality" documents will decrease.
- the present invention was created by the inventor, a lawyer himself, who made prototypes in actual practice and made improvements to make them. Partly for that reason, the lawyer business has been taken up and described as a major example in this specification.
- the present invention can be easily applied to a wide range of work by making some customization according to the work content. It is considered that the present invention has universality not limited to the type of business and has wide applicability.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
複数の電子文書の閲覧とメモの追加を高速にでき、複数のユーザーが同時にデーベースファイルにアクセスすることが無いようにする機構を備えたシステムを提供する。 ユーザー毎に設けられる1組のデータベースファイルを管理するデータベースプログラムと、前記1組のデータベースファイルによって記述されるテーブルの一部又は全部を視覚化するためのデータを生成する表示プログラムと、 前記表示プログラムによって生成されたデータを前記ユーザー端末の画面上に表示する閲覧プログラムと、 を含み、前記データベースプログラムは、前記1組のデータベースファイルの一部又は全部を前記ユーザー端末のメモリ上に読み込むことにより、仮想データベースをメモリ上に保持する機能を有する。
Description
本発明は、電子文書の迅速な登録、書誌情報の管理、文書の高速かつ連続的な探索・閲覧・メタ情報の編集(特にメモの付加)、更には既存環境を利用したこれらのデータの共有といった、電子文書の整理・分析・共有にかかわるすべての機能を統合的に提供するための文書整理支援システムに関する。
本発明は業務の種類を問わない広い応用範囲を有するが、もともと弁護士実務における文書整理支援を重要な目的の一つとして開発されてきた経緯がある。また、課題及び発明の意義を明らかにするために、具体的な業務に基づいた説明が有益である。そこで以下ではひとまず弁護士実務を念頭に置いた解説をおこない、その上で意義の一般化をおこなう。
弁護士の実務においては、膨大な文書資料が日常的に取り扱われている。ここでいう文書資料とは、(1)弁護士が相手方や裁判所に発信した文書の控え(紙又はPDF)、(2)相手方から訴訟に提出された文書の紙コピー、(3)依頼人から弁護士に渡された多数の企業内文書のコピー、(4)依頼人からメール添付で送付された電子データ(ワード、エクセル、PDFなど)、(5)判例・論文等の文献、などを指す。以下、単に「文書」ということもある。
弁護士の仕事は、「事件」あるいは「案件」という単位で把握されることが多い(以下、「案件」とする)。1つの案件に対しては、通常、数十点から数百点の文書が存在し、ときには数千点、数万点といった極めて膨大な分量に及ぶことがある。
こうした膨大な文書を活用するには、電子文書となっていることが望ましい。そのため、オリジナルが紙文書である場合、弁護士は文書1点ごとに1個のPDFファイルを作成(スキャン)し、電子文書化する。また、デジタルネイティブな電子データは、それ自体として電子文書としてそのまま利用する。
こうした膨大な文書を活用するには、電子文書となっていることが望ましい。そのため、オリジナルが紙文書である場合、弁護士は文書1点ごとに1個のPDFファイルを作成(スキャン)し、電子文書化する。また、デジタルネイティブな電子データは、それ自体として電子文書としてそのまま利用する。
標準的な弁護士実務において、こうした電子文書は、適当に分類されたフォルダ(ディレクトリ)内に、ファイル形式(これを「ファイル+フォルダ方式」とする)で保管される。
しかし、上記のような「ファイル+フォルダ方式」では、弁護士実務に必要な機能を充足できない。こうした多量の電子文書ファイル(以下、単に、電子文書という場合がある。なお、電子文書は画像その他のデジタルデータを含んでいるか又は関連付けられていてもよい。)を効果的に管理・活用するための電子的システムは知られておらず、多くの弁護士が、電子文書の管理・活用に頭を悩ませている。
本発明が解決しようとする技術的課題は、個人レベルにおけるものと、チームレベルにおけるものとに整理される。
I.個人レベルにおける課題
1.文書資料の扱い方の特徴
弁護士の文書資料の扱い方にはいくつかの特徴がある。
(1)〔メモの紐付け〕第一に、弁護士の思考・発信・文書作成等には、個別具体的な文書資料による裏付けが必要である。そのため、弁護士が案件に関する知見を蓄積する際には、そのメモと特定の文書資料とが、明確に紐付けられる必要がある(以下、弁護士が文書に紐付けた知見の記述を「紐付けメモ」と呼ぶ)。
(2)〔原本性〕第二に、文書資料は原本性の保持が必要となる。たとえば、証拠として外部へ提出する場合に、弁護士による書き込み、編集があっては困る。
(3)〔名称の無個性・膨大〕第三に、文書はしばしば膨大であり、かつ、名称が無個性である。たとえば、「準備書面」「捜査報告書」などといった、それ自体では全く内容を推測できないタイトルが多い。しかもそれが数百、数千、数万点に及ぶことがある(図1)。
(4)〔特定方法〕第四に、前記第三の事情を反映して、弁護士実務における文書は、複数のメタ情報(書誌情報)の組み合わせで特定されることが多い。典型的には、タイトル・作成者・作成日付の3要素の組み合わせが用いられ、更に枚数が組み合わせられることもある。訴訟内においては、特定の便宜のために、証拠番号(「甲10号証」などのように、記号に一意の番号を組み合わせたもの)という文書符号が付されるので、これも併用される。図2に書誌情報のイメージを示す。
(5)〔連続的探索〕第五に、閲覧は短時間だが、頻回に探すというケースが多い。すなわち、弁護士が知見を組み立てるためには、文書資料全体から、目的のために有意な記述を探し出す必要がある。しかし、前記第三の事情(名称の無個性)から、文書の中身を目視してみなければ、当該文書が求めるものかどうか判断できないことが多い。また、文書資料は、1個1個は比較的小粒で、記載されている情報量が少ないことが多い。そのため、多数の文書を高速かつ連続的に探索・閲覧する場面がしばしば出る。
1.文書資料の扱い方の特徴
弁護士の文書資料の扱い方にはいくつかの特徴がある。
(1)〔メモの紐付け〕第一に、弁護士の思考・発信・文書作成等には、個別具体的な文書資料による裏付けが必要である。そのため、弁護士が案件に関する知見を蓄積する際には、そのメモと特定の文書資料とが、明確に紐付けられる必要がある(以下、弁護士が文書に紐付けた知見の記述を「紐付けメモ」と呼ぶ)。
(2)〔原本性〕第二に、文書資料は原本性の保持が必要となる。たとえば、証拠として外部へ提出する場合に、弁護士による書き込み、編集があっては困る。
(3)〔名称の無個性・膨大〕第三に、文書はしばしば膨大であり、かつ、名称が無個性である。たとえば、「準備書面」「捜査報告書」などといった、それ自体では全く内容を推測できないタイトルが多い。しかもそれが数百、数千、数万点に及ぶことがある(図1)。
(4)〔特定方法〕第四に、前記第三の事情を反映して、弁護士実務における文書は、複数のメタ情報(書誌情報)の組み合わせで特定されることが多い。典型的には、タイトル・作成者・作成日付の3要素の組み合わせが用いられ、更に枚数が組み合わせられることもある。訴訟内においては、特定の便宜のために、証拠番号(「甲10号証」などのように、記号に一意の番号を組み合わせたもの)という文書符号が付されるので、これも併用される。図2に書誌情報のイメージを示す。
(5)〔連続的探索〕第五に、閲覧は短時間だが、頻回に探すというケースが多い。すなわち、弁護士が知見を組み立てるためには、文書資料全体から、目的のために有意な記述を探し出す必要がある。しかし、前記第三の事情(名称の無個性)から、文書の中身を目視してみなければ、当該文書が求めるものかどうか判断できないことが多い。また、文書資料は、1個1個は比較的小粒で、記載されている情報量が少ないことが多い。そのため、多数の文書を高速かつ連続的に探索・閲覧する場面がしばしば出る。
弁護士にとって有用な電子的文書整理システムは、このような特徴にマッチしなければならない。
2.ファイル+フォルダ方式の問題点
弁護士実務において一般的なのは「ファイル+フォルダ方式」であるが、これはその要求を満たさない。具体的には下記のような問題が生じる。
a)〔知見蓄積の困難〕前記のように、文書検討においては、特定の文書との紐付けを保持したメモ(紐付けメモ)を作ることが重要である。しかし、ファイル+フォルダ方式においては、それができない。ファイルに対してメモを書ける場所といえば実質的にファイル名しかないが、ファイル名を変更するのは閲覧・編集共に不自由であるし、ファイル名を汚染する。一方、別のテキストファイルなどに知見を書き留めていく方法では、いちいち文書を特定する記述が必要となって大変な手間である。
b)〔原本性保持の困難〕エクセルやワードなどの編集可能データを閲覧する際には、実行ファイルを起動するのが一般的である。その際に更新日時の変動や、誤編集などのリスクが生じる。
c)〔書誌情報の管理困難〕ファイル名にしか情報を記入できないので、記載できる分量には限界がある。また、作成日付・タイトル・作成者・文書符号などの書誌情報を区分できない(情報の構造化ができない)。書誌情報の補正・改善も、ファイル名の変更が繁雑であるため、しばしば放置される。枚数情報が管理されることはほとんど無い。なお、ファイルの「作成日」データはタイムスタンプに過ぎず、文書内に記述された作成日付と一致しない
d)〔書誌情報に基づく検索の困難〕上記c)の結果、書誌情報は構造化されないので、書誌情報を個別に検索したり、ソートすることができない。
e)〔内容に基づく検索の困難〕紐付けメモを管理できないとすると、検索及び目視選別の手がかりは、いずれも無個性なタイトル(あるいはわずかな書誌情報)を記述したファイル名だけになる。「事故の場面を記述した書類」といった内容ベースの探索はできない。
f)〔閲覧の遅延〕ファイルを開くためには、所定の実行ファイル(PDFリーダー、ワードなど)の起動を待たなければならない。かつ、そのウィンドウはせいぜい数個しか起動できない。名称が無個性で膨大な文書群から1個の文書を探索するという場面において、1個1個ファイルを開かねばならないことは致命的遅延である。また、OSが提供するプレビュー機能も便利なものではない。
弁護士実務において一般的なのは「ファイル+フォルダ方式」であるが、これはその要求を満たさない。具体的には下記のような問題が生じる。
a)〔知見蓄積の困難〕前記のように、文書検討においては、特定の文書との紐付けを保持したメモ(紐付けメモ)を作ることが重要である。しかし、ファイル+フォルダ方式においては、それができない。ファイルに対してメモを書ける場所といえば実質的にファイル名しかないが、ファイル名を変更するのは閲覧・編集共に不自由であるし、ファイル名を汚染する。一方、別のテキストファイルなどに知見を書き留めていく方法では、いちいち文書を特定する記述が必要となって大変な手間である。
b)〔原本性保持の困難〕エクセルやワードなどの編集可能データを閲覧する際には、実行ファイルを起動するのが一般的である。その際に更新日時の変動や、誤編集などのリスクが生じる。
c)〔書誌情報の管理困難〕ファイル名にしか情報を記入できないので、記載できる分量には限界がある。また、作成日付・タイトル・作成者・文書符号などの書誌情報を区分できない(情報の構造化ができない)。書誌情報の補正・改善も、ファイル名の変更が繁雑であるため、しばしば放置される。枚数情報が管理されることはほとんど無い。なお、ファイルの「作成日」データはタイムスタンプに過ぎず、文書内に記述された作成日付と一致しない
d)〔書誌情報に基づく検索の困難〕上記c)の結果、書誌情報は構造化されないので、書誌情報を個別に検索したり、ソートすることができない。
e)〔内容に基づく検索の困難〕紐付けメモを管理できないとすると、検索及び目視選別の手がかりは、いずれも無個性なタイトル(あるいはわずかな書誌情報)を記述したファイル名だけになる。「事故の場面を記述した書類」といった内容ベースの探索はできない。
f)〔閲覧の遅延〕ファイルを開くためには、所定の実行ファイル(PDFリーダー、ワードなど)の起動を待たなければならない。かつ、そのウィンドウはせいぜい数個しか起動できない。名称が無個性で膨大な文書群から1個の文書を探索するという場面において、1個1個ファイルを開かねばならないことは致命的遅延である。また、OSが提供するプレビュー機能も便利なものではない。
これらの結果、弁護士の電子文書検討は、本来求められる探索能力や、思考の密度・速度に対して、極めて不十分で、かつ遅延したものとしかならない。こうした管理・探索・閲覧上の不自由や、それによって膨大に生じる思考の中断の繰り返しは、弁護士の知的生産のボトルネックとなっている。
3.既存技術の難点
他方で、既存の一般的な文書管理システムは、このような課題を解決するものではない。それらは、組織内文書のライフサイクル管理(たとえば保存期間の管理)やワークフロー管理(たとえば承認・決裁)を主眼としたものであり、弁護士にとって必要な書誌情報(文書符号等)の管理や、高速かつ連続の検索・閲覧・メタ情報編集といったニーズを十分に満たしていない。
弁護士向けの案件管理システムも存在するが事情はさほど変わらない。そもそも文書管理能力を全く持たないものさえある。
他方で、既存の一般的な文書管理システムは、このような課題を解決するものではない。それらは、組織内文書のライフサイクル管理(たとえば保存期間の管理)やワークフロー管理(たとえば承認・決裁)を主眼としたものであり、弁護士にとって必要な書誌情報(文書符号等)の管理や、高速かつ連続の検索・閲覧・メタ情報編集といったニーズを十分に満たしていない。
弁護士向けの案件管理システムも存在するが事情はさほど変わらない。そもそも文書管理能力を全く持たないものさえある。
4.本発明のねらい
本発明は上記の課題を統一的に解決しようとする。
データ管理においては、電子文書ファイルを原本性を保ってシステム内に保持すると共に、これに対する必要十分なメタ情報(特に書誌情報と紐付けメモ)の登録・編集・検索機能を提供する。そして、インターフェースにおいては、画面遷移を排して、多量の文書を高速かつ連続に、探索・閲覧・編集させうる表示機能を提供する。
これによって、本発明は、(1)文書の機械検索及び目視選別、(2)文書内容の閲読、(3)それに基づくメタ情報の付加・編集、という文書検討における中核的な3つの動作を、高速、柔軟かつシームレスに実現させる。
本発明は上記の課題を統一的に解決しようとする。
データ管理においては、電子文書ファイルを原本性を保ってシステム内に保持すると共に、これに対する必要十分なメタ情報(特に書誌情報と紐付けメモ)の登録・編集・検索機能を提供する。そして、インターフェースにおいては、画面遷移を排して、多量の文書を高速かつ連続に、探索・閲覧・編集させうる表示機能を提供する。
これによって、本発明は、(1)文書の機械検索及び目視選別、(2)文書内容の閲読、(3)それに基づくメタ情報の付加・編集、という文書検討における中核的な3つの動作を、高速、柔軟かつシームレスに実現させる。
II.チームレベルにおける課題
ところで、弁護士は、複数人で共同して(「チーム」)、一つの案件や公益活動に従事することが多い(「プロジェクト」と総称する)。そこで、上記のような文書整理支援機能を、チームにまで拡張して実現させたいというニーズが生じる。すなわち、異なるユーザーの環境下で、同じデータを、同じように利用させたい。もちろんそれは、各メンバーが別々の環境で、かつ、任意の時点で実施した編集結果を、矛盾なく統合、保持できなければならない。本発明の課題の第2(チームレベルの課題)は、その実現手法にかかる。
ところで、弁護士は、複数人で共同して(「チーム」)、一つの案件や公益活動に従事することが多い(「プロジェクト」と総称する)。そこで、上記のような文書整理支援機能を、チームにまで拡張して実現させたいというニーズが生じる。すなわち、異なるユーザーの環境下で、同じデータを、同じように利用させたい。もちろんそれは、各メンバーが別々の環境で、かつ、任意の時点で実施した編集結果を、矛盾なく統合、保持できなければならない。本発明の課題の第2(チームレベルの課題)は、その実現手法にかかる。
1.電子文書の保存に関する弁護士の一般的意識
ここで、電子文書の保存方法に関する弁護士の一般的な意識を見ると、次の特徴を指摘できる。
(1)〔クラウド回避のニーズ〕弁護士が扱う文書は、しばしば個人情報、しかもセンシティブなものを多量に含んでいる。そのため、弁護士は、クラウド上に電子文書を保存すること(すなわち外部事業者に機密情報を預けること)を、できるだけ回避したいというニーズを持つ。
(2)〔ファイル保持のニーズ〕弁護士の保持する文書は膨大であり、かつ、必要に応じてコピー・加工できる必要がある。数十の文書を一度に印刷することもある。そのため、弁護士は、フォルダとファイルが見えなくなるシステムには不便を感じる。たとえばウェブ上のデータベースに全ての電子文書ファイルを取り込んでしまい、システムを通じて1個1個ダウンロードしなければ電子文書ファイルが利用できないような形態に、弁護士は不便を感じる。
(3)〔ローカル利用のニーズ〕弁護士にとって、ローカルにファイルを保持できることは非常に重要である。(2)の場面では、ローカル上にフォルダ+ファイルがあることが望ましい。また、非常に機密性の高い文書を、ローカルのみで扱いたいことがある。更に、電子文書のファイルサイズは非常に大きい(50MBなど)ことがあるので、閲覧速度のためにもローカルにファイルを保持したい。
ここで、電子文書の保存方法に関する弁護士の一般的な意識を見ると、次の特徴を指摘できる。
(1)〔クラウド回避のニーズ〕弁護士が扱う文書は、しばしば個人情報、しかもセンシティブなものを多量に含んでいる。そのため、弁護士は、クラウド上に電子文書を保存すること(すなわち外部事業者に機密情報を預けること)を、できるだけ回避したいというニーズを持つ。
(2)〔ファイル保持のニーズ〕弁護士の保持する文書は膨大であり、かつ、必要に応じてコピー・加工できる必要がある。数十の文書を一度に印刷することもある。そのため、弁護士は、フォルダとファイルが見えなくなるシステムには不便を感じる。たとえばウェブ上のデータベースに全ての電子文書ファイルを取り込んでしまい、システムを通じて1個1個ダウンロードしなければ電子文書ファイルが利用できないような形態に、弁護士は不便を感じる。
(3)〔ローカル利用のニーズ〕弁護士にとって、ローカルにファイルを保持できることは非常に重要である。(2)の場面では、ローカル上にフォルダ+ファイルがあることが望ましい。また、非常に機密性の高い文書を、ローカルのみで扱いたいことがある。更に、電子文書のファイルサイズは非常に大きい(50MBなど)ことがあるので、閲覧速度のためにもローカルにファイルを保持したい。
これらはいずれも絶対ではないが、少なくとも、クラウドの利用を「強制」するようなシステムは、弁護士のニーズに反することになる。また、典型的なブラウザ型の文書管理システムなども、弁護士のニーズに反している。
2.プロジェクトの一般的形態
以上のことを踏まえつつ、弁護士のプロジェクトの実態を見ていく。これを模式的に示したのが図3である。なお、プロジェクトのメンバーは、3人程度から20人程度のケースが多い。
以上のことを踏まえつつ、弁護士のプロジェクトの実態を見ていく。これを模式的に示したのが図3である。なお、プロジェクトのメンバーは、3人程度から20人程度のケースが多い。
(1)〔単独型〕第1に、弁護士は、単独でプロジェクトに取り組むことがある。図3プロジェクトaがそのイメージである。この場合、単独で取り組むのに機密情報をインターネット上にアップする必要はないから、クラウド回避のニーズにより、データはローカル端末上に保存されやすい。
(2)〔組織内型〕第2に、弁護士は、組織内でチームを作ることがある。図3プロジェクトbがそのイメージである。一般に弁護士事務所は、構成員10人以下の小規模なものが多く、専用システムの構築は難しい。また、クラウド回避のニーズがあるし、弁護士のみならず事務員も同じ文書を見る。そのため、弁護士は組織内での文書共有に、所内NAS(VPNを含む)を活用していることが多い。チームが組織内弁護士のみで構成される場合、データ共有は、NASによるのが自然である。
(3)〔組織横断型〕第3に、弁護士は、組織を横断してチームを作ることが多い。図3プロジェクトcがそのイメージである。この場合、弁護士は、所内NASやVPNを利用できないし、1個のプロジェクトのためだけに専用サーバーを持つこともできない。そのため、組織横断型においては、弁護士はファイル同期サービス(dropboxなど)を利用することが多い。また、メールや、USBメモリ・CDRなどの可搬媒体によるデータの受け渡しに頼ることもある。
(2)〔組織内型〕第2に、弁護士は、組織内でチームを作ることがある。図3プロジェクトbがそのイメージである。一般に弁護士事務所は、構成員10人以下の小規模なものが多く、専用システムの構築は難しい。また、クラウド回避のニーズがあるし、弁護士のみならず事務員も同じ文書を見る。そのため、弁護士は組織内での文書共有に、所内NAS(VPNを含む)を活用していることが多い。チームが組織内弁護士のみで構成される場合、データ共有は、NASによるのが自然である。
(3)〔組織横断型〕第3に、弁護士は、組織を横断してチームを作ることが多い。図3プロジェクトcがそのイメージである。この場合、弁護士は、所内NASやVPNを利用できないし、1個のプロジェクトのためだけに専用サーバーを持つこともできない。そのため、組織横断型においては、弁護士はファイル同期サービス(dropboxなど)を利用することが多い。また、メールや、USBメモリ・CDRなどの可搬媒体によるデータの受け渡しに頼ることもある。
3.求められるデータ共有形態
以上を総合すると、弁護士実務におけるデータ共有における主要な形態は、NAS型とファイル同期サービス型の2つであると考えられる。そして、必要に応じてローカルに全てのデータを保持できることも、本質的なニーズである。
しかも、プロジェクトのメンバーは毎回異なりうる。つまり、プロジェクトによって、データ共有形態が変わりうる。たとえば、あるときはNASを用い、あるときはファイル同期サービスを用いなければならない(図3「弁2」がそのイメージ)。
弁護士のための文書整理支援システムは、これらの全てのデータ保持形態に、包括的に対応できるような仕組みを持つべきである。
以上を総合すると、弁護士実務におけるデータ共有における主要な形態は、NAS型とファイル同期サービス型の2つであると考えられる。そして、必要に応じてローカルに全てのデータを保持できることも、本質的なニーズである。
しかも、プロジェクトのメンバーは毎回異なりうる。つまり、プロジェクトによって、データ共有形態が変わりうる。たとえば、あるときはNASを用い、あるときはファイル同期サービスを用いなければならない(図3「弁2」がそのイメージ)。
弁護士のための文書整理支援システムは、これらの全てのデータ保持形態に、包括的に対応できるような仕組みを持つべきである。
4.技術的課題
ここで技術的課題が生じる。
一般的な技術では、複数人間でのデータ共有のために、ネットワーク上(クラウドを含む)のデータベースサーバーに全てのデータを保持する方式を採用する。しかし、ネットワーク上のサーバーの利用を強制することは、データ共有形態に関する前記の各要求にマッチしていない。
他方、NAS型やファイル同期サービスの利用を前提に、共有されるフォルダ内にデータベースファイルを設置する方法が考えられる。
しかしNAS上で各ユーザーに同一ファイルにアクセスさせるような構成をとった場合、一般的な技術では、一人のユーザーがシステムを利用している間、当該データベースファイルがロックされてしまう。そのため、複数ユーザーでの同時利用に堪えない。
一方、ファイル同期サービスにおいても、別々の環境での編集が競合すると、その編集結果は統合されない(複数の編集が1ファイルに競合した場合、ファイルが複製されてしまう)。
ここで技術的課題が生じる。
一般的な技術では、複数人間でのデータ共有のために、ネットワーク上(クラウドを含む)のデータベースサーバーに全てのデータを保持する方式を採用する。しかし、ネットワーク上のサーバーの利用を強制することは、データ共有形態に関する前記の各要求にマッチしていない。
他方、NAS型やファイル同期サービスの利用を前提に、共有されるフォルダ内にデータベースファイルを設置する方法が考えられる。
しかしNAS上で各ユーザーに同一ファイルにアクセスさせるような構成をとった場合、一般的な技術では、一人のユーザーがシステムを利用している間、当該データベースファイルがロックされてしまう。そのため、複数ユーザーでの同時利用に堪えない。
一方、ファイル同期サービスにおいても、別々の環境での編集が競合すると、その編集結果は統合されない(複数の編集が1ファイルに競合した場合、ファイルが複製されてしまう)。
既存技術として、表計算プログラムの機能を拡張したデータベースプログラム(マイクロソフト社のAccessなど)も知られているが、これもファイル同期サービスを利用する場合、複数人の同時的な編集があると、編集結果を統合できない。
また、可搬媒体でのデータコピーという方法をとる場合は、ユーザーが同じデータベースファイルをばらばらに更新してしまう結果になるため、やはり編集結果を一つに統合することはできない。
すなわち、既存技術では、データ共有形態に関する本件の要求に対応することができない。
また、可搬媒体でのデータコピーという方法をとる場合は、ユーザーが同じデータベースファイルをばらばらに更新してしまう結果になるため、やはり編集結果を一つに統合することはできない。
すなわち、既存技術では、データ共有形態に関する本件の要求に対応することができない。
本発明の第2の課題は、このようなデータ共有における技術的問題点を克服し、第1の課題に示した文書整理支援機能を、上記の全てのデータ共有形態において包括的に実現することにある。そして、第1の文書整理支援機能をチームレベルにおいても実現させる。
ここまでの課題整理は、弁護士実務を念頭に置いて記述してきた。しかしこのような課題は弁護士業務に限定されずに存在することが分かる。同様の課題を抱えうる具体的業務を例示すれば、研究者のチーム又は個人、出版・編集業の資料管理、調査委員会や第三者委員会、情報公開を活用する市民団体、個人の資料整理、小規模組織の文書管理などがある。これらの業務においては、文書を整理し、必要に応じて共有しながら、活用する必要がある。
また、データ共有方法における課題は、小規模組織や小規模チームであれば常に抱えうるものである。小規模集団は、ローカルでのデータ保存をよくおこなう。そして、データ共有にあたっては、NASやファイル同期サービスを活用しているケースが多い。既存環境を、文書管理・整理のためにも、そのまま活用したいというニーズは常にある。そして、文書整理に重要性があるプロジェクト型の業務や、機密文書を扱うといった要因が加われば、データ共有手段を自由に選択したいというニーズは一層強いものとなる。
本発明に係る文書整理システムの一実施形態は、
文書整理システムであって、
少なくともユーザー毎に設けられる1組のデータベースファイルを管理するデータベースプログラムと、
前記1組のデータベースファイルによって記述されるテーブルの一部又は全部を視覚化するためのデータを生成する表示プログラムと、
前記表示プログラムによって生成されたデータをユーザー端末の画面上に表示する閲覧プログラムと、
を含み、
前記データベースプログラムは、
前記1組のデータベースファイルの一部又は全部を前記ユーザー端末のメモリ上に読み込むことにより、仮想データベースをメモリ上に保持する機能を有すると共に、
前記仮想データベースは、少なくとも、
前記データベースプログラムによって付与された一意の文書IDと関連づけられた複数の前記電子文書の保存先パスを動的に生成するか又は前記電子文書の保存先パスを直接保持することにより、前記電子文書の読み出しが可能であり、さらに、
前記電子文書のそれぞれに割り当てられたメタ情報を保持しており、
前記メタ情報は、前記各ユーザーによる書き込みが完了した以後、ユーザー毎の入力データとして
(1)前記仮想データベースに書き込まれた後、各ユーザーに対応する前記1組のデータベースファイルの1つに書き込まれるか、又は、
(2)前記各ユーザーに対応する前記1組のデータベースファイルの1つに書き込まれた後、前記1組のデータベースファイルの一部又は全部を再度前記ユーザー端末のメモリ上に読み込むことにより前記仮想データベースを再構築され、
前記仮想データベースは、所定のイベントごとに又は所定のタイミングで、前記1組のデータベースファイルを再読み込みして前記メモリ上の保持データを更新する機能を
具備することを特徴とする(図4)。
文書整理システムであって、
少なくともユーザー毎に設けられる1組のデータベースファイルを管理するデータベースプログラムと、
前記1組のデータベースファイルによって記述されるテーブルの一部又は全部を視覚化するためのデータを生成する表示プログラムと、
前記表示プログラムによって生成されたデータをユーザー端末の画面上に表示する閲覧プログラムと、
を含み、
前記データベースプログラムは、
前記1組のデータベースファイルの一部又は全部を前記ユーザー端末のメモリ上に読み込むことにより、仮想データベースをメモリ上に保持する機能を有すると共に、
前記仮想データベースは、少なくとも、
前記データベースプログラムによって付与された一意の文書IDと関連づけられた複数の前記電子文書の保存先パスを動的に生成するか又は前記電子文書の保存先パスを直接保持することにより、前記電子文書の読み出しが可能であり、さらに、
前記電子文書のそれぞれに割り当てられたメタ情報を保持しており、
前記メタ情報は、前記各ユーザーによる書き込みが完了した以後、ユーザー毎の入力データとして
(1)前記仮想データベースに書き込まれた後、各ユーザーに対応する前記1組のデータベースファイルの1つに書き込まれるか、又は、
(2)前記各ユーザーに対応する前記1組のデータベースファイルの1つに書き込まれた後、前記1組のデータベースファイルの一部又は全部を再度前記ユーザー端末のメモリ上に読み込むことにより前記仮想データベースを再構築され、
前記仮想データベースは、所定のイベントごとに又は所定のタイミングで、前記1組のデータベースファイルを再読み込みして前記メモリ上の保持データを更新する機能を
具備することを特徴とする(図4)。
上記の構成によれば、本システムは、データ保存方法として、各ユーザーに1個(構成により複数)割り当てられた、固有のユーザーデータベースファイル(ユーザーファイル)を用いる方式を採用している(図5。マスターファイルについては後述)。各データベースファイルは、システムが読み書き可能なファイルであればそれでよく、テキストファイルを含めた任意の形式が許容される。
そして、本システムは、上記データベースファイルに文書のメタ情報等を保持しつつも、(1)読み出し及び書き込みによるファイルロックをほとんど行わない、(2)ファイルへの書き込み権者を1ユーザーに限定する、ことで、複数ユーザーに任意のタイミングでシステムを使用させ、かつ、矛盾のないデータ共有を実現する。具体的な特徴は以下である。
第1の特徴は、本システムが、ユーザーファイルの、全部又は必要部分の読み出し結果を、メモリ上に保持することである。すなわち、本システムは、ユーザーファイルを読み出してメモリに保持したのちは、各種のデータ表示や検索処理にあたって、ディスク上にあるデータベースファイルにアクセスすることをしない。このため、本システムは、読み出しのためにデータベースファイルをロックすることがほとんどない。
第2の特徴は、本システムが、各ユーザーファイルから読み出した情報を統合し、構造化していることである。こうして作成されるメモリ上の構造化されたデータを、本明細書では「仮想データベース」と定義する。これによって、本システムは、メモリ上のデータを、あたかも1個のデータベースシステムのように扱うことができる。たとえばSQL文におけるSELECT、INSERT、UPDATE、DELETEに相当する操作を、メモリ上の仮想データベースに対して実行でき(図4「クエリα」)、ユーザーに対して迅速かつ柔軟な検索・編集機能を提供する。また、このような適切な構造化は、データベースファイルの読み出しをせずに稼働し続けられるという特徴の前提となっている。
第3の特徴は、本システムが、各ユーザーによる編集結果を、各ユーザーに割り当てられたユーザーファイルにのみ保存する方式を採用することである(図5)。この構成を用いることで、特定のデータベースファイルを編集する主体は1人に限定され、複数ユーザーによるデータベースファイル編集が競合することがない。このことにより、NAS構成においては1ファイルへの同時アクセスを回避でき、また、ファイル同期サービス構成においても、同一ファイルへの編集競合を回避できる。可搬媒体でコピーする構成においても、個々のユーザーの編集結果を独立に保存しうる。
以上を総合すると、本システムは典型的には次のように振る舞う。
まず、本システムは、起動時に全てのユーザーファイルを読み出す(データベースファイルのロック時間は10ミリ秒前後)。このデータに基づいて、システムは、メモリ上に仮想データベースを構築する。システムはユーザーに対して、文書のメタ情報の閲覧・検索機能を提供するが、必要なメタ情報、クエリ処理機能は全て仮想データベースが提供する(ディスクアクセスを要さない。図4「クエリα」)。
まず、本システムは、起動時に全てのユーザーファイルを読み出す(データベースファイルのロック時間は10ミリ秒前後)。このデータに基づいて、システムは、メモリ上に仮想データベースを構築する。システムはユーザーに対して、文書のメタ情報の閲覧・検索機能を提供するが、必要なメタ情報、クエリ処理機能は全て仮想データベースが提供する(ディスクアクセスを要さない。図4「クエリα」)。
ここで、ユーザーAがシステムを利用中に、ある文書のメタ情報に対して編集作業を行うとする(図4「操作」)。システム(主として閲覧プログラム)は、編集処理を受け付けると、データベースプログラムを介して、当該ユーザーA固有のユーザーファイルaに当該編集情報を記録する(図4「クエリβ」→「読み書き」)。この際にデータベースファイルのロックが生じるが、これも通常10ミリ秒前後におさまる。
仮想データベースに更新結果を反映するためには、全てのユーザーファイルの再読込(すなわち、仮想データベース全体の再構築)をする方法がある(図4「読み書き」→「構築」)。また、仮想データベース上の当該データのみを、メモリ上で直接変更する方法もある(図4「クエリα」)。
仮想データベースに更新結果を反映するためには、全てのユーザーファイルの再読込(すなわち、仮想データベース全体の再構築)をする方法がある(図4「読み書き」→「構築」)。また、仮想データベース上の当該データのみを、メモリ上で直接変更する方法もある(図4「クエリα」)。
ここで、他のユーザーBが同時にシステムを利用していても、その作業は、ユーザーAの作業と整合性を維持できる。すなわち、ユーザーAの操作はほとんどデータベースファイルをロックしないから、ユーザーBが仮想データベースを構築するためにユーザーファイルaを読み込むことを妨げない。また、ユーザーAの編集結果は、ユーザーファイルaのみを編集するから、ユーザーBによる編集作業(すなわちユーザーファイルbの編集)に干渉しない。
そして、最終的な同期は次のように実現する(図6)。すなわち、ユーザーAの編集によってユーザーファイルaが編集されると、いずれかの時点で(NASの場合は共有されて同時に)、ユーザーBの環境下のユーザーファイルaが同期されることとなる。この時点で、ユーザーBのシステムは、ユーザーAによる編集結果を認識できることになる。そして、ユーザーBのシステムが全ユーザーファイルの読み出し(すなわち仮想データベースの再構築)を行った時点で、ユーザーBのシステムはユーザーAによる編集結果を反映したものとなる(仮想データベースが最新状態となる)。
以上の構成から明らかな通り、特定ユーザーのユーザーファイルの同期タイミングが著しく遅れる(数日、数週間)ことも、本システムの稼働に本質的な影響を及ぼさない。なぜならそれは、当該ユーザーによる編集結果のみは反映されないという以上の意味を持たないからである。なお、データベースファイルの具体的な構造や読み出し・構造化のアルゴリズムは、実施例において説明する。
以上を総合すれば、本実施形態のシステムは、データ共有の方法として、ファイル同期サービスやNASによって、単にいくつかのデータベースファイルを同期するという方式を採用しながら、システム全体としては、トランザクション処理機能を保持した1個のデータベースシステムのように振る舞っている。
これによって、本発明はデータ共有方法における課題を解決している。
何点か補足する。
第1に、本システムにとって、ユーザーファイルの書き込み権限を制限することは、必須ではない。特定のユーザーや、特定のタイミングについて、他のユーザーファイルの編集権を付与することが考えられるし、あるいは、厳密な整合性を犠牲にして、書き込み制限を一切行わなくともシステム自体は稼働する。
第1に、本システムにとって、ユーザーファイルの書き込み権限を制限することは、必須ではない。特定のユーザーや、特定のタイミングについて、他のユーザーファイルの編集権を付与することが考えられるし、あるいは、厳密な整合性を犠牲にして、書き込み制限を一切行わなくともシステム自体は稼働する。
なお、データ管理を合理化するためには、ユーザーファイルの他に、全ユーザーに共通するデータを保存するデータベースファイルを設置することが有効である(詳しくは実施例において、「マスターデータべースファイル(マスターファイル)」として説明する)。
第2に、複数ユーザーが同時に同一レコードの編集処理をしても、本システムの処理は破綻しない。すなわち、各ユーザーによるレコード編集結果は、それぞれのユーザーファイルに独立して保存される。詳細は実施例で述べるが、システムはユーザーファイル内の競合を自由なルールで解決できるので、たとえば、異なるユーザーによる編集結果を全て結合して表示させるといった処理も容易である。なお、ユーザーファイルでは、レコード編集について差分情報のみを記録することが通常有効である。
第3に、本システムの典型的な利用形態においては、チームメンバーは数人から最大でも数十人程度である。同時にシステムを稼働させる人数は、更に限定される。また、文書整理というシステムの目的からして、編集操作は1ユーザーあたり最大でも数秒に1回しか発生しない。そのため、本システムの稼働に支障を来すような頻度で、データベースファイルのロックが頻発するという事態は想定されない。
第4に、本システムがデータベースファイルの読み出しに要する時間は、1ファイル当たり10ミリ秒に満たない程度である。したがって、チームメンバーが100人を超える程度であれば、本システムの起動や基本的な動作には支障が無いと考えられる。また、運用可能人数を増やすために、ディスクファイルの読み出しの頻度を制限することも考えられる。すなわち、本システムは仮想データベースによってデータ表示を実現しているし、使用中ユーザーによる編集結果は、仮想データベースに対してメモリ上で直接反映させることもできる(図4クエリα)。そこで、データベースファイルの読み出し頻度を相当おさえても、本システムは実用上支障なく稼働する。これにより、多人数ユーザーによるファイルアクセスの競合を防止したり、多数のデータベースファイルを頻繁に読み込むことによる動作の低速化を防ぐ設計がありうる。
第5に、データ保存の仕組みから明らかなように、本システムはスタンドアロンであっても動作するし、ユーザー数は1人であってもよい。
更に、本発明は、電子文書を高速かつ連続的に検索・閲覧し、かつ編集できる機能を提供することを狙いとする。このために、閲覧プログラムの設計として、単一のウィンドウにおいて、画面遷移なく、メタ情報に基づく絞り込み検索・文書の閲覧・メタ情報の編集の、全ての機能を提供させるべきである。具体的には画面最上部にコンパクトな検索入力欄を設け、その下にはテーブルを描画して、テーブル1行に1件の分量でコンパクトな書誌情報を一覧表示させ、更に、当該書誌情報から直ちに文書画像を閲覧でき、かつ、書誌情報欄から直接レコードを編集できるようにする構成が有効である。なお、文書画像表示機能については、同一ウィンドウ内に表示する機能(大きさは画面半分程度が目安となる)と、別ウィンドウで大きく表示する機能の双方を備えることが有効である。
本発明に係る文書整理システムは、
前記仮想データベースに新たな電子文書が登録される際、所定の解析規則に基づいて前記新たな電子文書のファイル名に含まれる文字列から必要なメタ情報を抽出する機能を具備してもよい。
前記仮想データベースに新たな電子文書が登録される際、所定の解析規則に基づいて前記新たな電子文書のファイル名に含まれる文字列から必要なメタ情報を抽出する機能を具備してもよい。
本発明に係る文書整理システムは、
前記閲覧プログラムを通じて前記仮想データベースに新たな電子文書が登録される際、前記ユーザー端末のユーザーによって入力された所定の文字列を所定の解析規則(例えば、「正規表現」など。)に基づいて解析し、必要なメタ情報を抽出する機能をさらに有するように構成してもよい。
前記閲覧プログラムを通じて前記仮想データベースに新たな電子文書が登録される際、前記ユーザー端末のユーザーによって入力された所定の文字列を所定の解析規則(例えば、「正規表現」など。)に基づいて解析し、必要なメタ情報を抽出する機能をさらに有するように構成してもよい。
この場合、前記抽出するメタ情報は、少なくとも、前記電子文書の作成日付、タイトルを含んでいてもよい。
前記閲覧プログラムは、前記ユーザー端末のユーザーによりテキストデータを入力させるための入力フィールドを有していると共に、前記入力フィールド内に、前記電子文書のファイル名から抽出したメタ情報を予め表示させておくように構成してもよい。また、前記閲覧プログラムは、登録対象のメタ情報を入力するための前記入力フィールドを表示中に、同一画面内に登録対象の電子文書の内容を画面遷移なくかつ閲読可能な大きさに表示する機能を具備してもよい。
前記閲覧プログラムは、登録された電子文書をテーブル形式で一覧表示する機能を具備すると共に、テーブル内の1行に1件の電子文書に関する全てのメタ情報を表示するように構成してもよい。この場合、前記閲覧プログラムは、さらに、登録された電子文書のメタ情報に基づいて絞り込み検索を行う機能を具備してもよい。
前記閲覧プログラムは、画面上に表示された前記テーブルに対するマウス操作を通じて登録対象となる電子文書のメタ情報の少なくとも1つを編集する機能を具備してもよい。
前記メタ情報の編集操作を単一の画面内において、画面遷移なく提供し、かつ、マウス操作を通じて文書画像を同一画面または別画面に閲読可能な大きさに表示する機能を具備してもよい。
本発明に係る文書整理システムは、カスタマイズ可能で枝番を含む文書符号を1対多で前記電子文書に付与可能であるように構成してもよい。
前記閲覧プログラムは、単一閲覧画面において、全部または一部の文書記号をボタンで一覧表示し、それをクリックすることでテーブル内の文書を、当該文書記号を有する文書に絞り込む機能を具備してもよい。
本発明に係る文書整理支援システムは、電子文書について、文書の登録(メタ情報の登録と、電子文書ファイルの保持)、文書の高速かつ柔軟な探索(機械検索及び目視選別)、探索した電子文書のシームレスな閲読、閲読結果に基づくメタ情報の編集(書誌情報の編集やメモの付加)、複数文書に紐付けられたレポートの作成、といったすべての機能を統合的に提供する。かつ、これを、大量の文書に対して、柔軟・高速かつ連続的に実施できる。
このことは、膨大な文書を連続的に探索・閲覧・分析し、知見を蓄積するという業務において、「ファイル+フォルダ方式」とは比較にならない優位を持つ。また、文書整理・分析支援を視野に入れない一般的な文書管理システムと比べても、高度な優位がある。
このことは、膨大な文書を連続的に探索・閲覧・分析し、知見を蓄積するという業務において、「ファイル+フォルダ方式」とは比較にならない優位を持つ。また、文書整理・分析支援を視野に入れない一般的な文書管理システムと比べても、高度な優位がある。
更に本システムは、専用のサーバーを設置することなく、ファイルを用いたデータ保存・共有における基本的な形態(ローカル保存・NAS・ファイル同期サービス)全てに順応して、データの同期を実現することができる。そして、トランザクション処理機能を有した単一のデータベースシステムのように振る舞う。これは、小規模組織の既存環境をそのまま利用したり、自組織内で全てのデータを持ちたいというセキュリティ上の要求も満たしうる。そして、ローカル上に全てのデータを保持できる構成を選択した場合には、検索・閲覧・編集等の全ての動作が特に高速となる。
そして、データ共有機能の恩恵として、ユーザーたちは、システム内に、当該プロジェクトに対する知見を次々に蓄積してゆくことができる。これによって、チームは知的生産性を大きく向上させることができる。
そして、データ共有機能の恩恵として、ユーザーたちは、システム内に、当該プロジェクトに対する知見を次々に蓄積してゆくことができる。これによって、チームは知的生産性を大きく向上させることができる。
以上によれば、本発明に係る文書整理支援システムは、個々のユーザーが行う電子文書の整理・分析作業を強力にサポートすると共に、多様な既存環境に溶け込んでデータ共有を実現する。これによって、本システムは個人及びチームの知的生産性を大きく向上させる。
また、本発明は、複数のユーザーが同一のデータベースを扱う場合において、データベースファイルのロックを回避するための具体的な解決策を提供している。これにより、単純に各ユーザーのデータベースファイルを共有・同期するのみで、単一のデータベースシステムと同様な振る舞いを実現させている。本発明は、文書管理・整理システムの運用におけるデータ共有の形態を大きく弾力化する意義を有する。
(発明の実施形態)
-用語の一覧-
本明細書で用いている用語を以下に一覧で示しておく。なお、用語の定義に関しては、本文内でも適宜言及している。
-用語の一覧-
本明細書で用いている用語を以下に一覧で示しておく。なお、用語の定義に関しては、本文内でも適宜言及している。
・ファイル+フォルダ方式
電子文書のファイルを適宜の分類のもとにフォルダに保管し、それ以上には技術的な工夫を加えないような電子文書管理方式。
・文書ID
システム内で、個々の文書に一意に付加される数値又は文字列データ。
・紐付けメモ
ユーザーが文書資料を検討した結果を短く(おおむね100文字以下)記述したテキスト情報であり、文書資料と1対1に紐付けられているもの。文書のメタ情報の1つと位置づける。
・メタ情報
情報に対する付加情報をいう一般用語であるが、本明細書では文書に対して1対1で付随する情報全般をいう。
主要な例:文書ID、タイトル、作成日付、作成者、文書符号、文書の枚数、紐付けメモ
・文書符号
記号と番号の組み合わせで文書に付加される情報。記号のみの場合もある。
具体例:甲10号証 資(※記号のみ)
・書誌情報
文書のメタ情報のうちで、特に文書の特定のために用いられやすい情報。本明細書では基本的に下記の6項目を想定する。(なお、文書IDは編集が許されない)
文書ID、タイトル、作成日付、作成者、文書符号、枚数
・文書の検索/目視選別/探索
文書を探す過程においては、(1)テキストや数値データによる機械的な検索(絞り込み表示)、(2)書誌情報や文書画像を目視することによる選別、という2つのプロセスがある。本明細書で、「検索」という言葉を用いる場合には、おおむね(1)の機械的な検索(システム上は絞り込み表示に相当)を想定している(必要に応じて「機械的」と明記する)。他方、(2)は目視選別と表現する。「探索」という表現は、(1)(2)の、双方を合わせた、文書を探すプロセス全体を想定する。
・プロジェクト
ユーザーは単独で、又は複数人で共同して、一つの活動に取り組むことがある(弁護士であれば1個の訴訟事件など)。そのような取り組みの対象となる活動の1単位を、プロジェクトと総称する。
・チーム/メンバー(構成員)
ユーザーが複数人で共同してプロジェクトに取り組む場合の、その複数人の総体を「チーム」とする。各個人については、「メンバー」「構成員」などと表記する。
・ファイル同期サービス
クラウド上のストレージにフォルダ構造を保ったまま電子文書ファイルを保存すると共に、オーナー又は共有を許されたユーザーのローカル端末内の所定フォルダに、当該フォルダ構造及び電子文書ファイルを同期させる機能を有するサービス(dropboxなど)をいう。
・プロジェクトフォルダ/共有フォルダ
典型的な実装において、プロジェクトごとに1個設置されるフォルダをプロジェクトフォルダという。配下にデータベースファイルや電子文書ファイルが保存される。階層化されうるが、基本的に最上位のフォルダ(ルートフォルダ)を想定する。プロジェクトフォルダをユーザー間で共有又は同期する場合には、特にそれを共有フォルダということがある。
・データベースファイル
プロジェクトごとの情報を記録するための読み書き可能なファイル。基本的にはマスターファイルとユーザーファイルの2種類が想定される。典型的にはSQliteが適するが、テキストファイルなどでも足りる。
・マスターファイル
データベースファイルの1形態。プロジェクト内で全ユーザーに共通する初期情報を記録する。典型的には文書IDを初めとする、文書の書誌情報を記録する。
・ユーザーファイル
データベースファイルの1形態。ユーザー毎の更新情報等を記録する。マスターファイルを設置しない形態においては、マスターファイルが保持するような情報も、ユーザーファイルに保持させる。
・アプリケーションフォルダ
配布プログラム(アプリケーション)を端末にインストールする構成をとった場合に、プログラムやシステムの設定を保存するために端末内に設置されるフォルダ。
・設定ファイル
配布プログラムを端末にインストールする構成をとった場合に、アプリケーションフォルダ内に設置されるファイル。システムの基本情報を記録する。たとえばユーザー名、管理するプロジェクトの一覧などである。ファイル形式は問わないが、テキストファイルあるいはSQliteなどが適する。共有対象としない。
電子文書のファイルを適宜の分類のもとにフォルダに保管し、それ以上には技術的な工夫を加えないような電子文書管理方式。
・文書ID
システム内で、個々の文書に一意に付加される数値又は文字列データ。
・紐付けメモ
ユーザーが文書資料を検討した結果を短く(おおむね100文字以下)記述したテキスト情報であり、文書資料と1対1に紐付けられているもの。文書のメタ情報の1つと位置づける。
・メタ情報
情報に対する付加情報をいう一般用語であるが、本明細書では文書に対して1対1で付随する情報全般をいう。
主要な例:文書ID、タイトル、作成日付、作成者、文書符号、文書の枚数、紐付けメモ
・文書符号
記号と番号の組み合わせで文書に付加される情報。記号のみの場合もある。
具体例:甲10号証 資(※記号のみ)
・書誌情報
文書のメタ情報のうちで、特に文書の特定のために用いられやすい情報。本明細書では基本的に下記の6項目を想定する。(なお、文書IDは編集が許されない)
文書ID、タイトル、作成日付、作成者、文書符号、枚数
・文書の検索/目視選別/探索
文書を探す過程においては、(1)テキストや数値データによる機械的な検索(絞り込み表示)、(2)書誌情報や文書画像を目視することによる選別、という2つのプロセスがある。本明細書で、「検索」という言葉を用いる場合には、おおむね(1)の機械的な検索(システム上は絞り込み表示に相当)を想定している(必要に応じて「機械的」と明記する)。他方、(2)は目視選別と表現する。「探索」という表現は、(1)(2)の、双方を合わせた、文書を探すプロセス全体を想定する。
・プロジェクト
ユーザーは単独で、又は複数人で共同して、一つの活動に取り組むことがある(弁護士であれば1個の訴訟事件など)。そのような取り組みの対象となる活動の1単位を、プロジェクトと総称する。
・チーム/メンバー(構成員)
ユーザーが複数人で共同してプロジェクトに取り組む場合の、その複数人の総体を「チーム」とする。各個人については、「メンバー」「構成員」などと表記する。
・ファイル同期サービス
クラウド上のストレージにフォルダ構造を保ったまま電子文書ファイルを保存すると共に、オーナー又は共有を許されたユーザーのローカル端末内の所定フォルダに、当該フォルダ構造及び電子文書ファイルを同期させる機能を有するサービス(dropboxなど)をいう。
・プロジェクトフォルダ/共有フォルダ
典型的な実装において、プロジェクトごとに1個設置されるフォルダをプロジェクトフォルダという。配下にデータベースファイルや電子文書ファイルが保存される。階層化されうるが、基本的に最上位のフォルダ(ルートフォルダ)を想定する。プロジェクトフォルダをユーザー間で共有又は同期する場合には、特にそれを共有フォルダということがある。
・データベースファイル
プロジェクトごとの情報を記録するための読み書き可能なファイル。基本的にはマスターファイルとユーザーファイルの2種類が想定される。典型的にはSQliteが適するが、テキストファイルなどでも足りる。
・マスターファイル
データベースファイルの1形態。プロジェクト内で全ユーザーに共通する初期情報を記録する。典型的には文書IDを初めとする、文書の書誌情報を記録する。
・ユーザーファイル
データベースファイルの1形態。ユーザー毎の更新情報等を記録する。マスターファイルを設置しない形態においては、マスターファイルが保持するような情報も、ユーザーファイルに保持させる。
・アプリケーションフォルダ
配布プログラム(アプリケーション)を端末にインストールする構成をとった場合に、プログラムやシステムの設定を保存するために端末内に設置されるフォルダ。
・設定ファイル
配布プログラムを端末にインストールする構成をとった場合に、アプリケーションフォルダ内に設置されるファイル。システムの基本情報を記録する。たとえばユーザー名、管理するプロジェクトの一覧などである。ファイル形式は問わないが、テキストファイルあるいはSQliteなどが適する。共有対象としない。
本発明は、以下のA.~C.を実施形態の基本構成とする、システムである。
A.データベースプログラム
本発明の実施形態のシステムは、少なくともユーザー毎に1個のデータベースファイル(ユーザーファイル)を用いる。ユーザーファイルは、ユーザー毎に固有であり、データ共有に用いるフォルダ内に配置して、同期の対象とする。これに加えて、全てのユーザーに共通する初期データを保持するデータベースファイル(マスターファイル)を少なくとも1個設置することが望ましい(必須ではない)。
A.データベースプログラム
本発明の実施形態のシステムは、少なくともユーザー毎に1個のデータベースファイル(ユーザーファイル)を用いる。ユーザーファイルは、ユーザー毎に固有であり、データ共有に用いるフォルダ内に配置して、同期の対象とする。これに加えて、全てのユーザーに共通する初期データを保持するデータベースファイル(マスターファイル)を少なくとも1個設置することが望ましい(必須ではない)。
データベースファイルは、一般的にはSQliteを代表とするリレーショナルデータベース機能を有した単一ファイルが適しているが、データが読み書きできればそれで足り、テキストファイルなどを用いても差し支えない。後述のように、データベースプログラムは、各データベースファイルを読み書きし、かつ、それらをメモリ上に読み込んで統合する機能を持つこととなる。
アクセス権については、全てのユーザーは、全てのデータベースファイルに対して読取権限を有するものとする(以下、図5参照)。一方、個々のファイルの編集が競合することを防ぐため、マスターファイルの編集権は、原則として管理権限を有する単一のユーザーに限定する。また、ユーザーファイルの編集権は、当該ファイルが割り当てられた単一ユーザーのみに原則として限定する(管理ユーザーも他人のユーザーファイルの編集権を持たない)。
データベースファイルには、チームにおいて共有される電子文書に関する各種のメタ情報等が記録される。マスターファイルを設置する態様を前提にすると、まず、文書登録時に、データベースプログラムによって文書ごとに一意の文書IDが付与され、これがマスターファイルに記録される。そしてこの文書IDと紐付けて、文書登録時に入力された各種のメタ情報が、同じくマスターファイルに記録される。中核的なメタ情報としては、文書の特定に必要な書誌情報(タイトル、日付、作成者、文書符号、枚数)と、紐付けメモが想定される。その後、ユーザーがシステムを通じてメタ情報に編集を加えた場合、その結果は、当該ユーザーに割り当てられたユーザーファイルのみに記録されることとなる。
マスターファイルを設置しない形態においては、上記の各情報は、ユーザーファイルに記録する。この場合の文書IDは、ユーザーごとに一意のPINを含ませるなどして、データベースファイル全体を通じて一意のものとする。
なお、いずれの形態であっても、電子文書そのものはフォルダ内にファイル形式で保存し、データベースファイルにはパス情報のみを記録することが合理的である。複数ユーザーでの共有を前提とする場合には、パスは共有フォルダをルートとする、相対パスとすることがふさわしい。
なお、いずれの形態であっても、電子文書そのものはフォルダ内にファイル形式で保存し、データベースファイルにはパス情報のみを記録することが合理的である。複数ユーザーでの共有を前提とする場合には、パスは共有フォルダをルートとする、相対パスとすることがふさわしい。
データベースプログラムは、これらのデータベースファイルの全部(場合により一部)を一括して読み出した上、所定の統合処理を行い、メモリ上に構造化して保持することで、ローカル端末のメモリ上にデータベースを構築する。このように、メモリ上に読み込まれた「データベース」を本願明細書では、「仮想データベース」と定義する。なお、メモリ上の仮想データベースのデータ型ないし構造化方法は種々ありうるが、一般には各種プログラミング言語で実装されている連想配列(キーによってバリューを引き出せる形式)を利用することが合理的である。
ユーザーがシステム上で検索操作を行った場合などには、後記表示プログラムはメモリ上の仮想データベースにデータの読み出しクエリを発行し、仮想データベースがこれに応答する。この際、システムは、ディスク上のデータベースファイルには一切アクセスしない。
他方、ユーザーがシステム上で編集操作を行うなどした場合は、データ編集のクエリが発行される。データベースプログラムはこれを受け付けると、ディスク上にあるユーザーファイルを編集して、更新情報を記録する(構成及び操作内容によってはマスターファイルに記録することもある)。
ここで、システムは、仮想データベースが保持するテーブル内のレコードを、先行してメモリ上で直接更新することもできる。この方式を採用すれば、データベースファイルを再読込せずとも、仮想データベースには当該ユーザーの編集結果が反映される。これには、データベースファイルのロック頻度を減らす効果もある。
このように、データベースプログラムは、(1)仮想データベースを構築する、(2)ユーザーによる編集結果をデータベースファイルに反映する、という2つのタイミングで、データベースファイルを一瞬だけロックするが、それ以外の殆どの時間はデータベースファイルをロックしない。そのため、複数ユーザーが同時にシステムを利用しても、データベースファイルの読み書き及び共有・同期は妨げられない。
データベースファイルは、NAS(ネットワークフォルダ)を用いることで共有してもよいし、ファイル同期サービスで同期してもよい。ピアツーピアでコピーしてもよく、また、ネットワークが利用できない場合、原始的な方法では、USBメモリーディスクなどの可搬媒体を通じてコピーしてもよい。
ここで、電子文書は、例えばMS-Word、MS-Excel、PDFなど所定のデータフォーマットで記録された電子文書であり、これらのファイルを閲覧するためのプログラムが各ユーザー端末に予めインストールされている必要がある(専用の実行プログラムは必須でなく、閲覧能力を有する一般的プログラム(ウェブブラウザなど)を援用することでも足りる)。
電子文書の保存場所は、端末からパスを認識できれば足り、ローカルエリアネットワーク内のネットワークフォルダでも、ユーザー端末内のローカルフォルダでもよい。
システムは電子文書データの所在を認識できる必要がある。典型的には、データベースファイル内に、電子文書のパスを記録する(通常はプロジェクトのルートフォルダからの相対パスによる)。ただし、電子文書のパスは、システムで動的に生成することも可能であり(例:保存先ディレクトリを固定し、電子文書ファイルの名前を文書IDと一致させておくなど)、データベースファイル内に必ずパスを記録しなければならないわけではない。
システムは電子文書データの所在を認識できる必要がある。典型的には、データベースファイル内に、電子文書のパスを記録する(通常はプロジェクトのルートフォルダからの相対パスによる)。ただし、電子文書のパスは、システムで動的に生成することも可能であり(例:保存先ディレクトリを固定し、電子文書ファイルの名前を文書IDと一致させておくなど)、データベースファイル内に必ずパスを記録しなければならないわけではない。
なお、データベースファイル内に、直接電子文書を保存する構成を採用してもよい。たとえば、SQliteはバイナリデータを保存できる。この場合、仮想データベースは、電子文書が保存されたデータベースファイルのパスを保持し、または、動的に生成して、そこから電子文書を読み出してもよい。この構成においては、電子文書データ保存専用のデータベースファイルを設けることが望ましい。
以上のようにユーザー毎に固有のデータベースファイルを各ユーザー端末間で同期しながら保持しつつ、それぞれのユーザー端末のメモリ上に仮想データベースを構築することにより、データベースサーバーを利用することなく全てのユーザー間で同一のテーブルを矛盾なく共有し、かつ、全てのユーザーが任意のタイミングでテーブルを編集することが可能となる。
B.表示プログラム
表示プログラムとは、データベースのレコードを検索するクエリを発行したり検索結果を受け取ってユーザー端末上に表示させたりするためのプログラムである。設計が容易な方法の1つは、ローカル端末上でウェブサーバープログラム(ローカルサーバー)を実行することである。この場合、ウェブサーバープログラムは仮想データベースからテーブル内のデータを受け取ったのち、ウェブブラウザが閲覧画面を描画するのに必要なデータを生成し、ウェブブラウザに引き渡す(HTML形式のデータを直接引き渡してもよいし、ajaxを用いるなどして、ブラウザでHTMLを生成してもよい)。ウェブサーバープログラムを用いる理由は、HTML,CSS,JavaScript(登録商標)等の柔軟な表現能力を援用できる利点があるからである。ローカルに保存されたファイルの利用に対応させる設計であるため、外部に設置されたウェブサーバーは用いない。
表示プログラムとは、データベースのレコードを検索するクエリを発行したり検索結果を受け取ってユーザー端末上に表示させたりするためのプログラムである。設計が容易な方法の1つは、ローカル端末上でウェブサーバープログラム(ローカルサーバー)を実行することである。この場合、ウェブサーバープログラムは仮想データベースからテーブル内のデータを受け取ったのち、ウェブブラウザが閲覧画面を描画するのに必要なデータを生成し、ウェブブラウザに引き渡す(HTML形式のデータを直接引き渡してもよいし、ajaxを用いるなどして、ブラウザでHTMLを生成してもよい)。ウェブサーバープログラムを用いる理由は、HTML,CSS,JavaScript(登録商標)等の柔軟な表現能力を援用できる利点があるからである。ローカルに保存されたファイルの利用に対応させる設計であるため、外部に設置されたウェブサーバーは用いない。
但し、表示プログラムは、仮想データベースやデータベースプログラムにクエリを発行しうる何らかの表示プログラムであれば足り、ローカル端末上でウェブサーバープログラムを実行することやウェブブラウザに表示可能な形式に変換することは、必須ではない。上記の通り、ローカル側のコンピューターに複数のデータベースファイルを保持してそれらをメモリ上で統合した仮想データベースとして利用する(かつ、データベースのフィールドを編集中にデータベースファイルをロックさせない状態を作る)ことが本発明の特徴であり、全てのデータベースファイルから読み出したデータをメモリ上に読み込んで保持できれば、ウェブサーバープログラムを用いず、例えば、各種のGUIのライブラリを利用することでも、同じ結果が得られる。この意味において、ローカルサーバーを利用することは、実施が容易で有用性の高い実装の一実施例という位置づけになる。
C.閲覧プログラム
閲覧プログラムは、表示プログラムのプロトコルに対応した閲覧プログラムであって、表示プログラムと通信し、データベースプログラムを通じて仮想データベースからデータを読み出したり、レコードを編集したりする機能を有する。表示プログラムがhttpプロトコルを用いたウェブサーバーであれば、ウェブブラウザが利用できる。表示プログラムに対応した閲覧のための専用プログラム(グラフィカルユーザーインターフェースプログラム)を作成してもよい。
閲覧プログラムは、表示プログラムのプロトコルに対応した閲覧プログラムであって、表示プログラムと通信し、データベースプログラムを通じて仮想データベースからデータを読み出したり、レコードを編集したりする機能を有する。表示プログラムがhttpプロトコルを用いたウェブサーバーであれば、ウェブブラウザが利用できる。表示プログラムに対応した閲覧のための専用プログラム(グラフィカルユーザーインターフェースプログラム)を作成してもよい。
本発明は、電子文書を高速かつ連続的に検索・閲覧し、かつ編集できる機能を提供することを狙いとする。このためには、単一の画面において、画面遷移なく、検索・文書閲覧・レコード編集の全ての機能を提供することが望ましい。具体的には画面最上部にコンパクトな検索入力欄を設け、その下にはテーブルを描画して、1行に1件程度の分量でコンパクトな書誌情報を一覧表示させ、更に、当該書誌情報から直ちに文書画像を閲覧でき、かつ、書誌情報欄から直接レコードを編集できるようにする構成が考えられる。
文書画像の閲覧については、例えば、検索結果としてリストアップされた電子文書名の上にマウスホバーするとその電子文書の中身が画面半分程度の大きさに表示されるように構成する機能が有用である。これを実現するには、仮想データベースが保持するパス情報に基づいて表示プログラムが当該電子文書ファイルにアクセスし、その内容を画像形式に変換して、閲覧プログラムに引き渡し、閲覧プログラムはその画像を同画面内で大きく表示させるなどの方法がある。また、ポップアップを固定する機能、別ウインドウで全画面閲覧する機能を併せて提供することが考えられる。ここで、電子文書ファイルをローカルに保持しうることは、電子文書閲覧を高速に実現する利点を生んでいる。
なお、典型的な実施形態においては、表示プログラム(たとえばローカルサーバー)と閲覧プログラム(たとえばウェブブラウザ)は区別しうる。もっとも、独自のGUIプログラムを用いる場合などには、表示プログラム及び閲覧プログラムの機能を、実質的に単一のプログラムの中で、一体として実現することも考えられる。したがって、実施形態の1つとして、表示プログラム及び閲覧プログラムが一体となったものも存在しうる。その実装方法は、本明細書を踏まえれば容易(実質的に同じ)と考えられる。
以上の実施形態によれば、個々のユーザーは、システム内において文書の検索・閲覧・メタ情報の編集(書誌の編集やメモ付け)という基本的な動作を、常に高速かつシームレスに繰り返すことができる。このことは、膨大な文書を連続的に探索・閲覧・分析し、知見を蓄積するという業務において、「ファイル+フォルダ方式」とは比較にならない優位を生み出す。また、文書整理・分析支援を視野に入れない一般的な文書管理システムと比べても、高度な優位がある。
そして、全てのユーザーは、上記作業によって各ユーザーが蓄積したメタ情報をほぼ同時に共有でき、チームとしての知的生産性を大きく向上させることができる。更にプロジェクトごとに相違しうるデータ保存環境に適応し、柔軟なデータ共有を実現する。
そして、全てのユーザーは、上記作業によって各ユーザーが蓄積したメタ情報をほぼ同時に共有でき、チームとしての知的生産性を大きく向上させることができる。更にプロジェクトごとに相違しうるデータ保存環境に適応し、柔軟なデータ共有を実現する。
以上が本発明の実施形態の骨格部分である。ここから実施例を示しながら、更に本発明について具体的に説明してゆく。実施例は開発されたプロトタイプの1つで、弁護士業務を念頭にカスタマイズされたものに基づいている。機能の主要部分は他の業務にも適用できるので、典型的な実施形態を示すのに十分である。
(実施例)
I.基本的なハードウェア構成、全体構成、導入方法等
1.ハードウェア
本システムは、典型的には一般的なPCでの利用が想定される。すなわち、ユーザー端末としては、ハードディスク等のストレージデバイス、CPU、表示デバイス、キーボード及びマウスなどの入力デバイスを備えたコンピューター(デスクトップパソコンやノートパソコン等)を用いることができる。
I.基本的なハードウェア構成、全体構成、導入方法等
1.ハードウェア
本システムは、典型的には一般的なPCでの利用が想定される。すなわち、ユーザー端末としては、ハードディスク等のストレージデバイス、CPU、表示デバイス、キーボード及びマウスなどの入力デバイスを備えたコンピューター(デスクトップパソコンやノートパソコン等)を用いることができる。
必要なファイルを保持し、プログラムを実行することができる限り、オペレーティングシステム(OS)を含めて、ハードウェア構成については特に限定されない。例えば、タブレットやスマートフォンなどで利用できるように設計・プログラミングすることも可能である。
本実施例は、ウィンドウズ(登録商標)10がインストールされたPCで稼働させている。これは想定される利用環境として主要なものの1つである。
2.プログラムの実装方法
本実施例では、ローカルサーバーを実行し、ウェブブラウザを閲覧画面として用いる形態(以下、「ローカルサーバー構成」とする)をとっている(後に詳述)。
本件発明者はpython(及びbottleをはじめとする一部のライブラリ)を用いてデータベースファイル操作、仮想データベース構築、ローカルサーバーの実行等の主要な機能を実装した。これらの機能は、pythonに限らず、一般的なプログラミング言語であれば、実装可能と考えられる。また、GUIは、ウェブブラウザの利用を前提に、JavaScript(登録商標)を利用して実装した。
ローカルサーバー構成を利用したのは、ウェブブラウザ(HTML,CSS、JavaScript(登録商標))の柔軟な表現力やGUI機能を援用できる利点があるからである。
ただし、ローカルサーバー構成は、効果的かつ容易な実装例の1つという位置づけにとどまる。データベースファイル操作、仮想データベース構築、閲覧画面の提供という機能を満たす限り構成は自由であり、たとえばpythonであれば、適宜のGUIライブラリを利用すれば、ローカルサーバーやウェブブラウザは必要ない。
本実施例では、ローカルサーバーを実行し、ウェブブラウザを閲覧画面として用いる形態(以下、「ローカルサーバー構成」とする)をとっている(後に詳述)。
本件発明者はpython(及びbottleをはじめとする一部のライブラリ)を用いてデータベースファイル操作、仮想データベース構築、ローカルサーバーの実行等の主要な機能を実装した。これらの機能は、pythonに限らず、一般的なプログラミング言語であれば、実装可能と考えられる。また、GUIは、ウェブブラウザの利用を前提に、JavaScript(登録商標)を利用して実装した。
ローカルサーバー構成を利用したのは、ウェブブラウザ(HTML,CSS、JavaScript(登録商標))の柔軟な表現力やGUI機能を援用できる利点があるからである。
ただし、ローカルサーバー構成は、効果的かつ容易な実装例の1つという位置づけにとどまる。データベースファイル操作、仮想データベース構築、閲覧画面の提供という機能を満たす限り構成は自由であり、たとえばpythonであれば、適宜のGUIライブラリを利用すれば、ローカルサーバーやウェブブラウザは必要ない。
3.ソフトウェアのセットアップ等
本システムは、典型的には配布プログラムを準備し、これを予めユーザー端末にインストールさせることが想定される(ただし、7.で述べるように端末にインストールしないこともできる)。
本実施例ではユーザーにインストールプログラムを配布する。ユーザーがインストールプログラムを実行すると、システムはユーザー端末内の所定のパスに、システム用のフォルダ(以下、「アプリケーションフォルダ」)を1個設け、その中にプログラム及びシステム用の設定ファイル(以下、「設定ファイル」)を設置する。本実施例では、設定ファイルとしてSQliteを利用しているが、テキストファイル等でも足りる。
本システムは、典型的には配布プログラムを準備し、これを予めユーザー端末にインストールさせることが想定される(ただし、7.で述べるように端末にインストールしないこともできる)。
本実施例ではユーザーにインストールプログラムを配布する。ユーザーがインストールプログラムを実行すると、システムはユーザー端末内の所定のパスに、システム用のフォルダ(以下、「アプリケーションフォルダ」)を1個設け、その中にプログラム及びシステム用の設定ファイル(以下、「設定ファイル」)を設置する。本実施例では、設定ファイルとしてSQliteを利用しているが、テキストファイル等でも足りる。
本実施例は、配布プログラムそのものの中にローカルサーバープログラムも含んでいる。また、ウェブブラウザはJavaScript(登録商標)を実行できる一般的なもの(たとえばChrome)であれば足りる。したがって、本実施例は、ユーザーに対して、配布プログラム以外のソフトウェアの事前インストールを要求しない。
なお、pythonのようなスクリプト言語を利用する場合でも、各種ライブラリなどでソースをバイナリ化(実行ファイル化)できるので、予めpythonインタープリターをインストールさせるといったことも必須ではない。
なお、pythonのようなスクリプト言語を利用する場合でも、各種ライブラリなどでソースをバイナリ化(実行ファイル化)できるので、予めpythonインタープリターをインストールさせるといったことも必須ではない。
4.プロジェクトフォルダの準備
本システムはプロジェクト単位での文書管理を前提としている。そこで、プロジェクトごとに単一のフォルダを準備し、その中にプロジェクト内の全てのデータ(データベースファイルや電子文書ファイル)を保持させる構成が合理的である。
この構成をとる場合、ユーザーは、プロジェクトごとに、利用対象となる単一のフォルダ(「プロジェクトフォルダ」)を準備する。そして、システムを起動して所要の登録操作を行い、システムに当該プロジェクトフォルダを認識させる(具体的には、当該ユーザー端末上での、当該プロジェクトフォルダのパスを、設定ファイルに記録する。通常は絶対パスが適している)。
本システムはプロジェクト単位での文書管理を前提としている。そこで、プロジェクトごとに単一のフォルダを準備し、その中にプロジェクト内の全てのデータ(データベースファイルや電子文書ファイル)を保持させる構成が合理的である。
この構成をとる場合、ユーザーは、プロジェクトごとに、利用対象となる単一のフォルダ(「プロジェクトフォルダ」)を準備する。そして、システムを起動して所要の登録操作を行い、システムに当該プロジェクトフォルダを認識させる(具体的には、当該ユーザー端末上での、当該プロジェクトフォルダのパスを、設定ファイルに記録する。通常は絶対パスが適している)。
このとき、システムは同時に、プロジェクトフォルダの初期化処理(後述)を行う。これによって、システムは当該プロジェクトフォルダを認識するようになる。
そして、システムには、当該プロジェクトフォルダ(ルートフォルダ)からの相対パスで各ファイルにアクセスさせる方法が合理的である。もちろん、ルートフォルダの配下は階層化できる。
そして、システムには、当該プロジェクトフォルダ(ルートフォルダ)からの相対パスで各ファイルにアクセスさせる方法が合理的である。もちろん、ルートフォルダの配下は階層化できる。
なお、以下の点を補足する。(1)プロジェクトフォルダは、ユーザーが事前に準備することは必須でなく、システムによって生成させてもよい。(2)上記は新規プロジェクトの作成を前提とした説明である。既存プロジェクトに参加する場合については後述する。(3)厳密には、プロジェクトフォルダが単一のものでなくともシステムは稼働しうる。たとえばデータベースファイルのみをファイル同期サービスで共有し、機密性の高い電子文書を共有・同期させないローカルフォルダに保持させ、システムには双方のフォルダを認識させる(各ファイルには相対パスでアクセスする)といった実装がありうる。もっとも、そのような構成はやや例外的と思われるので、本明細書では、単一フォルダ構成を前提として説明する。
5.プロジェクトフォルダの共有
本システムはスタンドアロンで動作しうるので、プロジェクトフォルダをローカル端末内に設置し、1人で利用してもよい。また、プロジェクトフォルダ内のファイルを、可搬媒体でのデータコピーなどで同期してもよい。しかし、チームでプロジェクトに取り組む場合には、プロジェクトフォルダそのものを共有又は同期する方法が合理的である。
本システムはスタンドアロンで動作しうるので、プロジェクトフォルダをローカル端末内に設置し、1人で利用してもよい。また、プロジェクトフォルダ内のファイルを、可搬媒体でのデータコピーなどで同期してもよい。しかし、チームでプロジェクトに取り組む場合には、プロジェクトフォルダそのものを共有又は同期する方法が合理的である。
典型的にはNASまたはファイル同期サービスを用いて、プロジェクトフォルダを全メンバーの間で共有又は同期する。NAS構成を用いるプロジェクトならば、ネットワーク上の特定のフォルダをプロジェクトフォルダとし、共有する(同一のディスクに全員がアクセスする)。ファイル同期サービスを利用するプロジェクトにおいては、プロジェクトフォルダを同期対象とする(各ユーザー端末上の所定フォルダに対象のフォルダが設置され、同期される。なお、この場合、ユーザーごとにディスクは別であるから、同一のフォルダにアクセスするわけではない)。本明細書では双方を「共有フォルダ」と称する。
なお、当然のことながら、共有フォルダのパスはユーザー端末毎に異なりうる(NAS構成ならばネットワークドライブレターの割当などによる相違が生じる。ファイル同期サービスにおいては、同期対象フォルダの設置場所が任意である)。
いずれにしても、システムに対しては、ユーザー端末ごとに、当該プロジェクトで利用する共有フォルダ(ルートフォルダ)を認識させる(登録する)。
いずれにしても、システムに対しては、ユーザー端末ごとに、当該プロジェクトで利用する共有フォルダ(ルートフォルダ)を認識させる(登録する)。
6.ネットワーク接続・インターネット接続
前記のように、本システムはスタンドアロンで稼働するから、ネットワーク接続は必須ではない。ただし、データ共有のためには、ネットワークを利用することが通常望ましい。
前記のように、本システムはスタンドアロンで稼働するから、ネットワーク接続は必須ではない。ただし、データ共有のためには、ネットワークを利用することが通常望ましい。
NAS構成をとっているプロジェクトについては、NAS上にプロジェクトフォルダがある。したがって、当該プロジェクトを利用するためには、NASのあるネットワークに接続している必要がある。
ファイル同期サービス構成をとっているプロジェクトについては、ローカル上にプロジェクトフォルダがある。したがって、ネットワーク(インターネット)接続は必須ではない。ただし、インターネット接続があれば、おおむね数秒から数分の遅延でデータの同期をすることができる。
他方、既述のように、同期が著しく(数日あるいは数週間)遅延したとしても、それは特定のユーザーの更新情報がシステムに反映されないという以上の意味はなく、本システムの稼働に本質的な影響を及ぼさない。この点で、ファイル同期サービスにおいて、インターネット接続をどのタイミングでするかには、かなりの自由度がある。いずれの同期方法を採用する場合でも、同期タイミングの自由度は大きく、任意のタイミングで同期することができる。
ファイル同期サービス構成をとっているプロジェクトについては、ローカル上にプロジェクトフォルダがある。したがって、ネットワーク(インターネット)接続は必須ではない。ただし、インターネット接続があれば、おおむね数秒から数分の遅延でデータの同期をすることができる。
他方、既述のように、同期が著しく(数日あるいは数週間)遅延したとしても、それは特定のユーザーの更新情報がシステムに反映されないという以上の意味はなく、本システムの稼働に本質的な影響を及ぼさない。この点で、ファイル同期サービスにおいて、インターネット接続をどのタイミングでするかには、かなりの自由度がある。いずれの同期方法を採用する場合でも、同期タイミングの自由度は大きく、任意のタイミングで同期することができる。
ここで、プロジェクトフォルダの共有方法は、プロジェクトによって相違して差し支えないことを改めて指摘する。すなわち、本システムは、プロジェクトフォルダを、当該ユーザー端末におけるパスによって把握している。したがって、プロジェクトフォルダは、パスによって認識可能であればそれでよく、それがNAS上にあるか、ローカル上にあるかは、システムにとって重要ではない。これによって、本システムは、複数のデータ共有形態に順応できるという長所を実現している(既述であるが、プロジェクトの形態について図3)。
7.ソフトウェアを事前にインストールしない構成について
なお、本システムのプログラムは、厳密には、端末に予めインストールしなくともよい。
少なくとも一般的なOSならば、本システムの全てのプログラムをプロジェクトフォルダ内に保持させる方法でも稼働する。このようにすると、本システムのライセンスを受けていないユーザーであっても、単にフォルダを共有するだけで、直ちにプロジェクトに参加できるようになる利点がある。活用法として、たとえば、本システムの形態として、端末インストール型と、フォルダインストール型の2種類を準備することが考えられる。そして、フォルダインストール型をライセンスされた者は、上記の方法で、ライセンスの無いユーザーをプロジェクトに参加させてよいものとする。これは、プロジェクトをオープンにしたいというニーズに答える。
なお、本システムのプログラムは、厳密には、端末に予めインストールしなくともよい。
少なくとも一般的なOSならば、本システムの全てのプログラムをプロジェクトフォルダ内に保持させる方法でも稼働する。このようにすると、本システムのライセンスを受けていないユーザーであっても、単にフォルダを共有するだけで、直ちにプロジェクトに参加できるようになる利点がある。活用法として、たとえば、本システムの形態として、端末インストール型と、フォルダインストール型の2種類を準備することが考えられる。そして、フォルダインストール型をライセンスされた者は、上記の方法で、ライセンスの無いユーザーをプロジェクトに参加させてよいものとする。これは、プロジェクトをオープンにしたいというニーズに答える。
ユーザー識別機能については、起動時にユーザー情報を入力させるか、ローカルにユーザー情報を保持させる方法で実現できる(たとえばブラウザならばクッキーで足りる)。
また、派生形態として、閲覧機能だけを有した(編集を許さない)ビューアープログラムのみを、共有フォルダ内に保持させるという設計もできる。これもプロジェクトのオープン化の一手法となる。もしここで編集権をごく少数のユーザーだけに保持させるようにすれば、本システムを一方向的な情報発信手段として使うこともできる。
また、派生形態として、閲覧機能だけを有した(編集を許さない)ビューアープログラムのみを、共有フォルダ内に保持させるという設計もできる。これもプロジェクトのオープン化の一手法となる。もしここで編集権をごく少数のユーザーだけに保持させるようにすれば、本システムを一方向的な情報発信手段として使うこともできる。
II.データの管理方法について
次に、アプリケーション用設定ファイル及びデータベースファイルの具体例を示しながら、本システムのデータの管理方法について説明する。
次に、アプリケーション用設定ファイル及びデータベースファイルの具体例を示しながら、本システムのデータの管理方法について説明する。
1.アプリケーション用設定ファイル(設定ファイル)
既述のように、設定ファイルは、ソフトウェアを端末にインストールした際に設置され、システム稼働に必要な情報を記録する。本実施例ではSQliteを用いているが、テキストファイルなどでも足りる。設定ファイルの個数は任意である。設定ファイルを他のユーザーと同期することは想定されない。
以下に、設定ファイルへの記録が想定されるデータで主要なものを挙げる。
既述のように、設定ファイルは、ソフトウェアを端末にインストールした際に設置され、システム稼働に必要な情報を記録する。本実施例ではSQliteを用いているが、テキストファイルなどでも足りる。設定ファイルの個数は任意である。設定ファイルを他のユーザーと同期することは想定されない。
以下に、設定ファイルへの記録が想定されるデータで主要なものを挙げる。
〔設定ファイルにおける主要なデータの例〕
基本データ
-ユーザー名
-ライセンス認証に利用する情報
プロジェクト関連(1プロジェクトごとに)
-プロジェクトID(当該端末内において一意のもの)
-プロジェクト名(ユーザーが任意に設定)
-プロジェクトのルートフォルダのパス
-プロジェクトへの最終アクセス日
基本データ
-ユーザー名
-ライセンス認証に利用する情報
プロジェクト関連(1プロジェクトごとに)
-プロジェクトID(当該端末内において一意のもの)
-プロジェクト名(ユーザーが任意に設定)
-プロジェクトのルートフォルダのパス
-プロジェクトへの最終アクセス日
特に重要なのはプロジェクト関連の情報である。これを保持することで、プロジェクト情報の管理機能や切替機能を容易に実装できる(後述)。ただし、前記の「フォルダインストール型」のように、実装方法によっては、アプリケーションフォルダ自体を設置しないこともありうる。
2.プロジェクトフォルダ及びデータベースファイルの概要
既述のように、本システムは、フォルダ内にデータベースファイル(図5)を保存して、必要に応じてこれを共有又は同期させている。ここまで説明したプロジェクトの概念から明らかなように、データベースファイルはプロジェクトごとに設置されることになる。典型的には、プロジェクトフォルダ(ルートフォルダ)の下位にある適宜のフォルダに保存される。
なお、既述のように、データベースファイルは任意の形式が許容されるが、データ管理の効率からすれば、典型的にはSQliteなどのリレーショナルデータベース機能を有した単一ファイルの利用が合理的である。
以下では、マスターファイルを設置する形態を前提にして、フォルダ構成や、データベースファイルに記録すべき主要な情報について説明する。
既述のように、本システムは、フォルダ内にデータベースファイル(図5)を保存して、必要に応じてこれを共有又は同期させている。ここまで説明したプロジェクトの概念から明らかなように、データベースファイルはプロジェクトごとに設置されることになる。典型的には、プロジェクトフォルダ(ルートフォルダ)の下位にある適宜のフォルダに保存される。
なお、既述のように、データベースファイルは任意の形式が許容されるが、データ管理の効率からすれば、典型的にはSQliteなどのリレーショナルデータベース機能を有した単一ファイルの利用が合理的である。
以下では、マスターファイルを設置する形態を前提にして、フォルダ構成や、データベースファイルに記録すべき主要な情報について説明する。
3.フォルダ構成
図7はフォルダ構成の一例である。この例では、「C:\Dropbox\民事事件\京都事件プロジェクト」がプロジェクトフォルダ(すなわちルートフォルダ)となっており、その配下に、DocumentとprogramDataという2つのフォルダが配置されている(初期化時に自動設置)。
図7はフォルダ構成の一例である。この例では、「C:\Dropbox\民事事件\京都事件プロジェクト」がプロジェクトフォルダ(すなわちルートフォルダ)となっており、その配下に、DocumentとprogramDataという2つのフォルダが配置されている(初期化時に自動設置)。
Documentフォルダは、文書ファイルデータを保存することが想定されている(文書登録時に、システムによって、当該フォルダ内にファイルを自動でコピーまたは移動することが合理的である)。
programDataというフォルダが、データベースファイル保存用のフォルダである。ここでは、master.sqliteがマスターファイルである。そして、usernameA.sqlite、usernameB.sqlite、usernameC.sqliteがユーザーファイルである(ユーザーは3人である)。この例では、ユーザーファイルにユーザー名をそのまま用いることで、ユーザーファイルの所有者を判定する。このような特定方法をとる場合、ユーザー名は常に一意とすることが必要である(通常はライセンス管理と連動させる)。
programDataというフォルダが、データベースファイル保存用のフォルダである。ここでは、master.sqliteがマスターファイルである。そして、usernameA.sqlite、usernameB.sqlite、usernameC.sqliteがユーザーファイルである(ユーザーは3人である)。この例では、ユーザーファイルにユーザー名をそのまま用いることで、ユーザーファイルの所有者を判定する。このような特定方法をとる場合、ユーザー名は常に一意とすることが必要である(通常はライセンス管理と連動させる)。
上記は一例であるが、フォルダ構成に関してはシステム上一定のものを予め定め、全てのプロジェクトフォルダを同じフォルダ構成で初期化することが合理的である。
なお、システムが利用しないフォルダは、ユーザーが自由に利用することができる。たとえば、京都事件プロジェクトの直下に、「草稿保存」などといったフォルダを設けて、文書作成用のワードファイルを管理するなどといった運用も許される。このように、本システムは、共有フォルダの本来的な機能をなんら制限しない。これにより、ユーザーは従来の共有フォルダ利用の延長線上で本システムを設置できる(いわば共生できる)。この点も本発明の特長である。
なお、システムが利用しないフォルダは、ユーザーが自由に利用することができる。たとえば、京都事件プロジェクトの直下に、「草稿保存」などといったフォルダを設けて、文書作成用のワードファイルを管理するなどといった運用も許される。このように、本システムは、共有フォルダの本来的な機能をなんら制限しない。これにより、ユーザーは従来の共有フォルダ利用の延長線上で本システムを設置できる(いわば共生できる)。この点も本発明の特長である。
また、Documentフォルダ内の電子文書ファイルは、通常の電子文書ファイルであるから、ユーザーが操作することもできる。したがって、たとえば全てのファイルを可搬媒体に一括でコピーして第三者に提供したり、、数十通の文書をまとめてプリントアウトするなどといった操作が、フォルダ上で容易に行える。このようにフォルダとファイルを活かすことのできる柔軟性も、本システムの特長である。
4.マスターファイル
マスターファイルは、全てのユーザーに共通するデータを保存するためのファイルである。以下にデータの例を示す。
マスターファイルは、全てのユーザーに共通するデータを保存するためのファイルである。以下にデータの例を示す。
〔マスターファイルにおける主要なデータ(テーブル)の例〕
文書テーブル
-文書ID
-タイトル
-作成者
-作成日付
-文書符号
-枚数
-紐付けメモ
-登録日・更新日
-文書の全文テキスト情報
-電子文書ファイルへの相対パス(プロジェクトフォルダをルートとするもの)
文書テーブル
-文書ID
-タイトル
-作成者
-作成日付
-文書符号
-枚数
-紐付けメモ
-登録日・更新日
-文書の全文テキスト情報
-電子文書ファイルへの相対パス(プロジェクトフォルダをルートとするもの)
文書符号テーブル
-文書符号ID
-文書符号名(例:「甲号証」)
-符号の短縮表示(例:「甲」)
-文書符号ID
-文書符号名(例:「甲号証」)
-符号の短縮表示(例:「甲」)
図8は、これに基づく具体的なテーブル構造の一例である。なお、文書符号(codeinfosテーブル)については、のちに文書符号のカスタマイズ機能(後述)として詳しく説明する。また、文書の全文テキスト情報についても、後述する。
仮想データベースの構築時には、一旦、上記のテーブル内の情報をメモリ上に読み込む。これが仮想データベースの初期値となる。後述のように、ここにユーザーファイルの更新情報を反映させる。
なお、文書IDは単一のプロジェクト内では一意でなければならないが、異なるプロジェクト間では重複することが許される(プロジェクトAの文書ID100と、プロジェクトBの文書ID100は、別の文書であってよい)。
仮想データベースの構築時には、一旦、上記のテーブル内の情報をメモリ上に読み込む。これが仮想データベースの初期値となる。後述のように、ここにユーザーファイルの更新情報を反映させる。
なお、文書IDは単一のプロジェクト内では一意でなければならないが、異なるプロジェクト間では重複することが許される(プロジェクトAの文書ID100と、プロジェクトBの文書ID100は、別の文書であってよい)。
5.ユーザーファイル
ユーザーファイルは、ユーザー1人に1個割り当てられる。以下に管理すべきデータの例を示す。
ユーザーファイルは、ユーザー1人に1個割り当てられる。以下に管理すべきデータの例を示す。
〔マスターファイルにおける主要なデータ(テーブル)の例〕
文書更新情報テーブル
-更新情報ID(このテーブルにおける主キー)
-更新対象となる文書ID(例:12000)
-更新対象となる文書レコードのフィールド名(例:title)
-更新後の値(例:陳述書)
-更新日時
文書更新情報テーブル
-更新情報ID(このテーブルにおける主キー)
-更新対象となる文書ID(例:12000)
-更新対象となる文書レコードのフィールド名(例:title)
-更新後の値(例:陳述書)
-更新日時
図9は、これに基づく具体的なテーブル構造の一例である。
なお、本実施例においては、レポート機能に関連する情報も、ユーザーファイルに記録しているが、これについてはレポートの項目で詳述する。
なお、本実施例においては、レポート機能に関連する情報も、ユーザーファイルに記録しているが、これについてはレポートの項目で詳述する。
ここで、本システムにおいて、ユーザーファイルを仮想データベースに反映する方法を具体化して述べる。
本実施例では、「document_updates」テーブルが、文書のメタ情報の更新情報を記録するテーブルとなっている。たとえばユーザーが、2018年11月15日午前12時に、id12000の文書のタイトルを『陳述書』に変更するという更新処理を行った場合、同テーブルには「doc_id:12000, key:”title” value:”陳述書” updated_at:2018/11/15/12:00 created_at:2018/11/15/12:00」というレコードが記録される。このレコードは、メモリ上への読み込み後、プログラムによって、「文書ID12000(doc_id)である文書のタイトル(key=>title)を、『陳述書』(value)に更新する。かつその更新は2018年11月15日午前12時(updated_at)のクエリである」と解釈される。これにしたがって、プログラムは、仮想データベースの初期値に更新を加える。
本実施例では、「document_updates」テーブルが、文書のメタ情報の更新情報を記録するテーブルとなっている。たとえばユーザーが、2018年11月15日午前12時に、id12000の文書のタイトルを『陳述書』に変更するという更新処理を行った場合、同テーブルには「doc_id:12000, key:”title” value:”陳述書” updated_at:2018/11/15/12:00 created_at:2018/11/15/12:00」というレコードが記録される。このレコードは、メモリ上への読み込み後、プログラムによって、「文書ID12000(doc_id)である文書のタイトル(key=>title)を、『陳述書』(value)に更新する。かつその更新は2018年11月15日午前12時(updated_at)のクエリである」と解釈される。これにしたがって、プログラムは、仮想データベースの初期値に更新を加える。
ここで、異なるユーザーファイルのdocument_updatesテーブルにおいて、同じdoc_id、同じkeyに対する更新処理が併存した場合が、本実施例における編集の競合である。本実施例では、日付の新しい更新情報のみを採用して仮想データベースに反映する方法で競合を解決するが、全ての更新情報を活かしてユーザー名と共に結合表示するといった解決も可能である。
以上の通り、マスターファイルの情報を一旦メモリ上に読み込み、ユーザーファイルの更新情報(通常は差分情報)にしたがってメモリ上の当該データを変更することで、最新の情報を保持した仮想データベースを構築することができる。
なお、マスターファイルを設置しない形態においては、マスターファイルに記録すべき各情報を、ユーザーファイルに記録することができる。この場合の文書IDは、ユーザーごとに一意のPINを含ませるなどして、全ユーザーファイルを通じて一意のものとする。仮想データベース上においては、全ユーザーファイルに含まれる全文書情報をまとめて1個のテーブルにすればよい。また、文書IDが一意である限り、更新情報の記録・反映も前記同様の方法で実現できる。
なお、マスターファイルを設置しない形態においては、マスターファイルに記録すべき各情報を、ユーザーファイルに記録することができる。この場合の文書IDは、ユーザーごとに一意のPINを含ませるなどして、全ユーザーファイルを通じて一意のものとする。仮想データベース上においては、全ユーザーファイルに含まれる全文書情報をまとめて1個のテーブルにすればよい。また、文書IDが一意である限り、更新情報の記録・反映も前記同様の方法で実現できる。
6.アクセス権について
アクセス権については既に詳しく述べたが(図5)、原則形態としては、各ユーザーは自身のユーザーファイルのみの編集権を有し、マスターファイルについては、管理ユーザーのみが編集権を有する。他方、読取権限は、全ユーザーが全ファイルに対して有する。
アクセス権については既に詳しく述べたが(図5)、原則形態としては、各ユーザーは自身のユーザーファイルのみの編集権を有し、マスターファイルについては、管理ユーザーのみが編集権を有する。他方、読取権限は、全ユーザーが全ファイルに対して有する。
7.仮想データベースについて
既述のように、メモリ上の仮想データベースは、マスターファイル及びユーザーファイルの読み出しによって更新される。この読み出しは、一定頻度あるいは一定のイベントごとに行うことが合理的である。たとえば読み出しが無いまま一定の時間が経過したときや、システム内に設置されたリロードボタンをユーザーが押したときである(当然ながらデータベースファイルのロックをごく短い時間に保つため、更新頻度は合理的な範囲にとどめる)。
既述のように、メモリ上の仮想データベースは、マスターファイル及びユーザーファイルの読み出しによって更新される。この読み出しは、一定頻度あるいは一定のイベントごとに行うことが合理的である。たとえば読み出しが無いまま一定の時間が経過したときや、システム内に設置されたリロードボタンをユーザーが押したときである(当然ながらデータベースファイルのロックをごく短い時間に保つため、更新頻度は合理的な範囲にとどめる)。
ここで、仮想データベースの構造について言及する。既述のように、仮想データベースは、連想配列などによって実装することができる。この場合のデータ構造は典型的には下記のようなものが考えられる
〔データ構造例(おおむね文書テーブルに相当するもの)〕
{...,
13000:{'author': '特許太郎',
'codes': [[1, [30,0,0]],[3,[10,5,2]]],
'created_at': '2018-09-21 09:24:49 +0000',
'date': [2018, 9, 20],
'id': 13000,
'link': 'Document\\H300920陳述書[ID16755].pdf',
'memo': '事故状況',
'num_pages': 3,
'textdata': '(文書のテキスト情報)',
'title': '陳述書',
'updated_at': '2018-09-21 09:24:49 +0000'},
13001:{.....},
13002:......
}
{...,
13000:{'author': '特許太郎',
'codes': [[1, [30,0,0]],[3,[10,5,2]]],
'created_at': '2018-09-21 09:24:49 +0000',
'date': [2018, 9, 20],
'id': 13000,
'link': 'Document\\H300920陳述書[ID16755].pdf',
'memo': '事故状況',
'num_pages': 3,
'textdata': '(文書のテキスト情報)',
'title': '陳述書',
'updated_at': '2018-09-21 09:24:49 +0000'},
13001:{.....},
13002:......
}
すなわち、最上位のキーを文書IDとし、第二階層のキーを、タイトル(title)、作成日(date)などのメタ情報とする。valueはその値である。
なお、codesは文書符号を意味する(詳細はVI.文書符号機能で述べる)。
なお、codesは文書符号を意味する(詳細はVI.文書符号機能で述べる)。
III.閲覧機能・検索機能等の構成
次に、実施例の画面をもとに、閲覧画面(閲覧プログラム)について説明する。検索機能についても言及する。
次に、実施例の画面をもとに、閲覧画面(閲覧プログラム)について説明する。検索機能についても言及する。
1.検索及びテーブル表示
図10は、本実施例における、「文書DB」画面(文書整理・分析関連の機能を提供する中核的画面)を示したものである。
最上部は、ページ切替のためのメニューバーとなっている。右上にある「テストプロジェクト」というボタンは、プロジェクト切替機能(後述)に関連する。
「タイトル・作成者・memoを検索」という表記が見えるボックスが検索ボックスであり、文字列を打ち込んでエンターキーを押下すると、タイトル・作成者・memo(紐付けメモ)の各情報を一括して検索し、文書を絞り込む。また、日付などによるソート機能もある。
図10は、本実施例における、「文書DB」画面(文書整理・分析関連の機能を提供する中核的画面)を示したものである。
最上部は、ページ切替のためのメニューバーとなっている。右上にある「テストプロジェクト」というボタンは、プロジェクト切替機能(後述)に関連する。
「タイトル・作成者・memoを検索」という表記が見えるボックスが検索ボックスであり、文字列を打ち込んでエンターキーを押下すると、タイトル・作成者・memo(紐付けメモ)の各情報を一括して検索し、文書を絞り込む。また、日付などによるソート機能もある。
「検索オプション」では、日付指定、除外検索など、より細かな検索方法を提供する。「甲号証」などとあるボタンは、符号に基づく絞り込み機能を提供する。このエリアは「検索オプション」ボタンのクリックによって開閉する。
検索・ソートの実装方法には大きく2種類あり、(a)仮想データベース上で連想配列をフィルタ・ソートした上で閲覧プログラムに引き渡す方法(仮想データベースに対するクエリ)、(b)閲覧プログラム上で既に保持しているレコード情報をフィルタ・ソートする方法(たとえばブラウザのメモリ上で、JavaScript(登録商標)の配列型として保持しているレコード群に対して、フィルタ・ソート関数を実行し、その結果に基づいてテーブルを再描画する)がある。本実施例では、(a)を中心とするが、(b)も一部の場面で併用している。
検索・ソートの実装方法には大きく2種類あり、(a)仮想データベース上で連想配列をフィルタ・ソートした上で閲覧プログラムに引き渡す方法(仮想データベースに対するクエリ)、(b)閲覧プログラム上で既に保持しているレコード情報をフィルタ・ソートする方法(たとえばブラウザのメモリ上で、JavaScript(登録商標)の配列型として保持しているレコード群に対して、フィルタ・ソート関数を実行し、その結果に基づいてテーブルを再描画する)がある。本実施例では、(a)を中心とするが、(b)も一部の場面で併用している。
下部のテーブルが、文書のメタ情報を表示するエリアである。テーブル1行に対して、1件の文書が割り当てられており、多数の文書を一覧するのに適している。行内には、各種の書誌情報と共に、memoとして紐付けメモも表示されている。
本実施例では、初期状態で最大500件の文書を表示させる(更に500件ずつの追加表示も許す)。この検索処理は、メモリ上のデータ(仮想データベース)に対する検索であるため、相当多数の文書を一括表示させても、動作は重くならない。膨大な文書を取り扱うという利用場面において、大量のレコードを表示できる利点は大きい(数十件程度の表示件数では不十分である)。この点も、本発明の特長の1つである。
本実施例では、初期状態で最大500件の文書を表示させる(更に500件ずつの追加表示も許す)。この検索処理は、メモリ上のデータ(仮想データベース)に対する検索であるため、相当多数の文書を一括表示させても、動作は重くならない。膨大な文書を取り扱うという利用場面において、大量のレコードを表示できる利点は大きい(数十件程度の表示件数では不十分である)。この点も、本発明の特長の1つである。
2.文書閲覧機能
「***規則の基本と対応例」と記載のあるところには、文書の画像が表示されている(ページをめくって読み進むこともできる)。
本実施例での表示方法は次の3種類を採用している。
すなわち、本実施例においては、初期状態では文書画像は表示されていない(メタ情報だけが一覧表示されている)。
「***規則の基本と対応例」と記載のあるところには、文書の画像が表示されている(ページをめくって読み進むこともできる)。
本実施例での表示方法は次の3種類を採用している。
すなわち、本実施例においては、初期状態では文書画像は表示されていない(メタ情報だけが一覧表示されている)。
ここで、左端にある「PDF」「DOC」などと記載されたボタンにマウスホバーすることで、図10の通り、表の下半分の領域が電子文書の画像表示となる。マウスホバーを解除すると、画像は消える。これは迅速なプレビュー機能として利用できる(1つめの表示方法)。
そして、文書をそのまま読み進めたい場合などは、マウスホバーしたのち、そのままボタンを左クリックする。すると文書の画像表示は固定され、マウスホバーを解除しても文書は消えない(2つめの表示方法)。この際、本実施例では、文書画像が中央に来るように、画面全体をスクロールさせる。
なお、1つめ、2つめの表示方法共に、文書画像の表示のために、後続のレコード表示(行)を隠す必要はない。たとえば、2つめの表示方法で文書画像を固定したのち、そのままスクロールして、後続のレコードを確認することができるし、文書画像を追加で開くこともできる。実装としては、テーブルの該当レコードの直後に「行(trタグ)」を動的に追加し、その中に画像情報を埋め込む方法がある。
なお、1つめ、2つめの表示方法共に、文書画像の表示のために、後続のレコード表示(行)を隠す必要はない。たとえば、2つめの表示方法で文書画像を固定したのち、そのままスクロールして、後続のレコードを確認することができるし、文書画像を追加で開くこともできる。実装としては、テーブルの該当レコードの直後に「行(trタグ)」を動的に追加し、その中に画像情報を埋め込む方法がある。
更に、修飾キーと組み合わせながらクリックすることで、別ウィンドウ(ブラウザによっては別タブ)をオープンして、全画面で文書を閲覧することができる(3つめの表示方法)。
このように構成することで、ユーザーは文書を探索する際に、高速かつ連続的に文書画像を目視して、必要な文書を選別することができる。また、必要に応じて、そのまま中身を閲読して分析することもできる。
3.メタ情報(レコード)編集機能
本実施例においては、同一画面上でのメタ情報(レコード)編集機能が提供されている。
図11はメモ機能に関する画面構成例を示す図である。ユーザーは図11ボタン202をクリックすることで、入力ウインドウ203をオープンさせることができる。ここでユーザーがテキストデータを編集し、OKボタンをクリック(又はエンターキーを押下)すると、編集内容が確定する。
本実施例ではこのとき直ちに、ブラウザがメモリ上に保持しているHTMLデータを書き換えている(JavaScript(登録商標)による)。これにより、ユーザーはレコード編集の際に待機させられることがなく(データベースファイルの更新を待たないし、仮想データベースの更新すら待たない)、高速かつ連続で編集作業を継続できる。
本実施例においては、同一画面上でのメタ情報(レコード)編集機能が提供されている。
図11はメモ機能に関する画面構成例を示す図である。ユーザーは図11ボタン202をクリックすることで、入力ウインドウ203をオープンさせることができる。ここでユーザーがテキストデータを編集し、OKボタンをクリック(又はエンターキーを押下)すると、編集内容が確定する。
本実施例ではこのとき直ちに、ブラウザがメモリ上に保持しているHTMLデータを書き換えている(JavaScript(登録商標)による)。これにより、ユーザーはレコード編集の際に待機させられることがなく(データベースファイルの更新を待たないし、仮想データベースの更新すら待たない)、高速かつ連続で編集作業を継続できる。
本実施例においては、それと並行して、データベースプログラムにクエリを発行し、ディスク上のユーザーファイルを更新する。また、同時に仮想データベースをメモリ上で更新し、該当データのみを書き換える(図11であれば、ID17511のレコードの、memoキーに保持されるvalueのみを「本文書はBBB資料である。」に変更する)。
もしユーザーファイルの更新に失敗した場合には(システムでエラーを検知する)、その時点で、ブラウザのデータ及び仮想データベースのデータを復旧させる(メモリ上でバックアップしておく)。
また、符号・タイトル・日付・作成者の各表示についてもダブルクリックすることで、同様の編集ウィンドウが開き、ユーザーによる編集が許される。
なお、本実施例では、データベースファイル及び電子文書をローカルに保存する構成(ファイル同期サービスの併用を含む)を採用している。サーバー上のデータベース(ネットワーク上であり、かつ、ディスクアクセスもある)を利用する方法と比較すると、文書の検索・レコードの編集・文書の画像表示など、全てにわたって動作が高速となる。
4.全文検索機能
更に、システムには全文検索機能を保持させることが望ましい。膨大な文書群から目当ての文書を探すためには、全文検索機能が有効である。
まず、文書登録時などに、当該文書のテキスト情報を抽出して、データベースファイルに記録する機能を実装する。テキスト情報の抽出はファイル形式に合わせ、適宜のライブラリを利用するこどで実装できる。
テキスト情報についても、仮想データベースに同時に読み込むことが望ましい(単純なテキストデータであり、メモリを圧迫するほどのデータ量となることは考えにくい)。システム内の各種の検索処理に対応して、全文検索結果を表示する機能を実装する。
更に、システムには全文検索機能を保持させることが望ましい。膨大な文書群から目当ての文書を探すためには、全文検索機能が有効である。
まず、文書登録時などに、当該文書のテキスト情報を抽出して、データベースファイルに記録する機能を実装する。テキスト情報の抽出はファイル形式に合わせ、適宜のライブラリを利用するこどで実装できる。
テキスト情報についても、仮想データベースに同時に読み込むことが望ましい(単純なテキストデータであり、メモリを圧迫するほどのデータ量となることは考えにくい)。システム内の各種の検索処理に対応して、全文検索結果を表示する機能を実装する。
なお、システム内には、文書の画像表示とは別に、テキスト情報を表示する機能を設けることが望ましい。また、テキスト情報については、キーワード検索を許し、かつ、キーワードがマッチした行の前後一定行数(たとえば前後5行)や文字数のみを抽出表示する機能を実装することが望ましい。このような抽出処理は、たとえば、テキスト情報を改行毎に分割して配列形式に整理し、キーワードを含む要素とその前後の5要素を抜き出し、連結させるなどの方法で実装できる。
IV.チームによる使用の具体的な流れ
ここで、チームがファイル同期サービスと共に本実施例のシステムを利用する場合をシミュレーションしてみる。
ここで、チームがファイル同期サービスと共に本実施例のシステムを利用する場合をシミュレーションしてみる。
〔前提事項〕前提として、本実施例では、電子文書の登録を管理者ユーザーのみの権限としている。本実施例はマスターファイルに文書の初期情報を記録するが、本実施例では、マスターファイルの編集権を完全に管理者ユーザーのみに限定しているからである。
〔シミュレーション〕典型的な流れを記述する。
まず1人の管理者ユーザーが、当該プロジェクトで用いるフォルダ(プロジェクトフォルダ)を作成する。管理者ユーザーは、ファイル同期サービスで所定の操作を行って、プロジェクトフォルダをチームメンバー(一般ユーザー)に共有する。更に、管理者ユーザーは、自身の端末上のシステムで所定の操作を行って、当該フォルダをシステムに登録する。
まず1人の管理者ユーザーが、当該プロジェクトで用いるフォルダ(プロジェクトフォルダ)を作成する。管理者ユーザーは、ファイル同期サービスで所定の操作を行って、プロジェクトフォルダをチームメンバー(一般ユーザー)に共有する。更に、管理者ユーザーは、自身の端末上のシステムで所定の操作を行って、当該フォルダをシステムに登録する。
ここで管理者ユーザー端末内のシステムは、当該フォルダにマスターファイルを設置するなどの初期化を実施する(プロジェクトフォルダの初期化)。また、アプリケーションの設定ファイル(インストールフォルダ内)に、当該プロジェクトのパス等を登録する。この時点で管理者ユーザー端末内のシステムはプロジェクト(及びフォルダの所在)を認識するようになる。
一方、一般ユーザーたちのローカル端末には、ファイル同期サービスによって、当該プロジェクトフォルダが同期されるに至っている。ここで一般ユーザーは、自身の端末のシステム上で、当該共有フォルダを指定して、プロジェクトへの参加操作を行う。これにより、一般ユーザーの端末上のシステムは、それぞれ当該フォルダ内に、自身のユーザー名を持ったユーザーファイルを設置し、かつ、プロジェクトを認識する(プロジェクトへの「参加」)。このユーザーファイルも、ファイル同期サービスを通じて、全ユーザーに共有されることになる。
その後、管理者ユーザーは文書登録作業を進めてゆく。文書の書誌データは随時マスターファイルに記録されていく。また、電子文書ファイルは所定のフォルダに保存される。これらのマスターファイルと電子文書ファイルは、いずれもファイル同期サービスを通じて、全ユーザーのローカル端末に同期される。この時点で、各ユーザーのシステムは文書を表示できるようになる。
ある程度の文書が登録されると、ユーザーたちは、おのおののシステムで文書の検索・閲読・分析作業に入る。このステップで、ユーザーたちは、それぞれ任意のタイミングで、閲覧画面を通じて、書誌情報の記述の改善や、メモの記述などを行う。これらのメタ情報に対する編集は、全て当該ユーザー(ユーザーAとする)自身のユーザーファイル(ユーザーファイルaとする)に記録される。更新されたユーザーファイルaは、ファイル同期サービスを通じて、随時全ユーザーの端末に共有される。この時点で他のユーザーは、更新後のユーザーファイルaを読み出せる。そして、ユーザーAの行った編集作業を自身のシステムの仮想データベースに反映できる。ファイル同期サービスによれば、遅延はおおむね数秒から数分である。
他方、既述のように、同期タイミングにはかなりの自由度があるから、たとえばオフラインで作業を進めて、数時間後や翌日に同期するといったこともできる。
他方、既述のように、同期タイミングにはかなりの自由度があるから、たとえばオフラインで作業を進めて、数時間後や翌日に同期するといったこともできる。
このようにして、全ユーザーはおのおのが自由なタイミングでシステムを利用して、知見の蓄積を行える。もちろん全ユーザーは、本システムの高速かつ連続の検索・閲覧・編集機能の恩恵を受けるので、作業は効率的に進めることができる。このようにして、チームは全体として高度の知的生産性を発揮する。
なお、新たにユーザーを追加したいときは、ファイル同期サービスでそのユーザーにフォルダを共有させた上、当該新ユーザーの端末上にインストールした本システムで、当該フォルダを指定して、所定の参加操作を行えばよい。
V.プロジェクトの管理・切替機能
次にプロジェクトの管理に関する機能を説明する。
次にプロジェクトの管理に関する機能を説明する。
1.プロジェクトの基本的考え方
既述のように、本発明は複数のプロジェクトでの利用を想定している。
一般に、プロジェクトは独立性が高いという特徴を持つ。すなわち、プロジェクト内の文書は相互に深い関係を有するのに対して、プロジェクトAの文書をプロジェクトBで利用するといった事態は稀である。
既述のように、本発明は複数のプロジェクトでの利用を想定している。
一般に、プロジェクトは独立性が高いという特徴を持つ。すなわち、プロジェクト内の文書は相互に深い関係を有するのに対して、プロジェクトAの文書をプロジェクトBで利用するといった事態は稀である。
そこで、本システムにおける文書の管理も、プロジェクト単位で独立させることが合理的である。すなわち、文書テーブルはプロジェクトごとに独立させ、プロジェクト単位で独立した文書IDが付与されるようにすることができる。この場合、文書IDの付番もプロジェクト単位で行う(プロジェクトAの文書ID100と、プロジェクトBの文書ID100は別の文書とする)。
システム上も、プロジェクトの区切りをはっきりさせる。すなわち、あるプロジェクトを利用している際の検索操作は、原則として当該プロジェクト内の文書のみを対象とする。そして、ユーザーが明示的に切替をしない限り(あるいは管理用画面などでない限り)、他のプロジェクトの情報はユーザーの目に入らないようにする。これにはユーザーの操作をシンプルかつ高速に保つ効果や、ユーザーの集中力を維持する効果もある。
このような原則的考え方にもとづいて、本システムのプロジェクト関連機能は実装されることが望ましい。なお、このような発想は一般的な文書管理システム(様々なフォルダを垣根なく自由に移動させるのが一般的である)には見られない。
2.プロジェクト切替機能
図12は、本実施例に実装されているプロジェクト切替機能のためのインターフェースである。画面右上に配置されている。
「京都事件」とある部分(ボタン)が現在のプロジェクト名を示す。このボタンにマウスホバーすると、下に他のプロジェクトが表示される(個人研究(ローカル)、所内文書管理(NAS)、など)。本実施例では、プロジェクト名での検索機能も提供している(「名前で検索」とあるボックスにテキストを入力すると、表示が絞り込まれる)。
切り替えたい対象の事件名を選択して、クリックすると、当該プロジェクトに切り替わる。
図12は、本実施例に実装されているプロジェクト切替機能のためのインターフェースである。画面右上に配置されている。
「京都事件」とある部分(ボタン)が現在のプロジェクト名を示す。このボタンにマウスホバーすると、下に他のプロジェクトが表示される(個人研究(ローカル)、所内文書管理(NAS)、など)。本実施例では、プロジェクト名での検索機能も提供している(「名前で検索」とあるボックスにテキストを入力すると、表示が絞り込まれる)。
切り替えたい対象の事件名を選択して、クリックすると、当該プロジェクトに切り替わる。
このとき、内部的には、データベースファイルの再読込を行い、当該プロジェクトの仮想データベースを再構築している(本実施例では、仮想データベースは、アクティブなプロジェクトのもののみをメモリ上に保持する)。
そして、文書情報のテーブル表示なども、そのプロジェクトのものに再描画される。
そして、文書情報のテーブル表示なども、そのプロジェクトのものに再描画される。
3.プロジェクト管理機能
上記のような機能に伴い、プロジェクトに関する管理機能を提供することが望ましい。これは、システム内に適宜の管理画面などを設けて、ユーザーによる設定編集を許せばよい(アプリケーションの設定ファイルに反映する)。実施例においては、図12最下部の「追加・編集」をクリックすることで画面遷移する。
上記のような機能に伴い、プロジェクトに関する管理機能を提供することが望ましい。これは、システム内に適宜の管理画面などを設けて、ユーザーによる設定編集を許せばよい(アプリケーションの設定ファイルに反映する)。実施例においては、図12最下部の「追加・編集」をクリックすることで画面遷移する。
典型的には、(1)プロジェクトの新規設置/参加、(2)プロジェクトフォルダのパスの再指定、(3)プロジェクト名の変更、という3つの機能を提供する。
(1)のプロジェクトの新規設置は、IVで述べたところの、管理者ユーザーによるプロジェクトフォルダの初期化にあたる。「参加」とは、初期化済みのプロジェクトフォルダを登録することであり、IVで述べたところの、一般ユーザーによるプロジェクトへの参加操作にあたる。
(2)は、プロジェクトのフォルダのパスが事後的に変わる場合に対応する(たとえば共有フォルダ名が変更されるケース)。(3)に関して、プロジェクト名は、ユーザーごとに自由に指定できるものとしておく。プロジェクト名は設定ファイルに保存するが、設定ファイルは同期対象ではないので、ユーザーごとに独自の名称を付加できる。ユーザーはシステム画面を通じて、いつでもプロジェクト名を編集できるものとする。
(1)のプロジェクトの新規設置は、IVで述べたところの、管理者ユーザーによるプロジェクトフォルダの初期化にあたる。「参加」とは、初期化済みのプロジェクトフォルダを登録することであり、IVで述べたところの、一般ユーザーによるプロジェクトへの参加操作にあたる。
(2)は、プロジェクトのフォルダのパスが事後的に変わる場合に対応する(たとえば共有フォルダ名が変更されるケース)。(3)に関して、プロジェクト名は、ユーザーごとに自由に指定できるものとしておく。プロジェクト名は設定ファイルに保存するが、設定ファイルは同期対象ではないので、ユーザーごとに独自の名称を付加できる。ユーザーはシステム画面を通じて、いつでもプロジェクト名を編集できるものとする。
VI.文書符号機能
文書管理・整理において、書誌情報として文書符号を保持することは重要な機能である。弁護士実務に限らず、比較的規模の大きい企業・団体や官公庁などでは組織内文書に文書符号を付する例が多いし、個人や小規模チームであっても独自の整理記号を導入するニーズがある。そこで、システムには、文章符号について十分な管理機能を保持させることが望ましい。
文書管理・整理において、書誌情報として文書符号を保持することは重要な機能である。弁護士実務に限らず、比較的規模の大きい企業・団体や官公庁などでは組織内文書に文書符号を付する例が多いし、個人や小規模チームであっても独自の整理記号を導入するニーズがある。そこで、システムには、文章符号について十分な管理機能を保持させることが望ましい。
1.基本的な要求
文書符号は、記号と番号が組み合わさったものである。この基本形態に加え、次の3点を考慮する必要がある。(1)文書符号は、1通の文書に複数付加されることがある。(2)記号の種類はプロジェクトによって変動する。(3)文書符号の番号では、「枝番」が用いられる(例:甲10の2)。
システムはこれらのニーズを満たす必要がある。
文書符号は、記号と番号が組み合わさったものである。この基本形態に加え、次の3点を考慮する必要がある。(1)文書符号は、1通の文書に複数付加されることがある。(2)記号の種類はプロジェクトによって変動する。(3)文書符号の番号では、「枝番」が用いられる(例:甲10の2)。
システムはこれらのニーズを満たす必要がある。
2.データの保存方法
以上より、システムにおいては、文書符号を固定するのではなく、必要に応じてカスタマイズできるようにする必要がある。そのため、文書符号はプログラム内に書き込むのではなく、外部的に管理できるようにする。
本実施例においては、マスターファイルの項で述べた、文書符号テーブルがこれにあたる(図8:codeinfosテーブル)。
以上より、システムにおいては、文書符号を固定するのではなく、必要に応じてカスタマイズできるようにする必要がある。そのため、文書符号はプログラム内に書き込むのではなく、外部的に管理できるようにする。
本実施例においては、マスターファイルの項で述べた、文書符号テーブルがこれにあたる(図8:codeinfosテーブル)。
〔再掲〕
文書符号テーブル
-文書符号ID
-文書符号名(例:「甲号証」)
-符号の短縮表示(例:「甲」)
文書符号テーブル
-文書符号ID
-文書符号名(例:「甲号証」)
-符号の短縮表示(例:「甲」)
文書符号名は、正式な文書符号の呼称である(「甲号証」)。 符号の短縮表示は、これの略記である(「甲」)。一般的な記述方法では、短縮表示に数字を連結させる記述が用いられる(例:甲10)。短縮表示は、文書一覧テーブルにおける表示や、ファイル名の解析(後述)に利用される。
上記のように文書符号には文書符号IDが付されているため、documentsテーブル(マスターファイル)においても、仮想データベース上のテーブルにおいても、一次的には文書符号IDを利用してデータは管理されている。
上記のように文書符号には文書符号IDが付されているため、documentsテーブル(マスターファイル)においても、仮想データベース上のテーブルにおいても、一次的には文書符号IDを利用してデータは管理されている。
仮想データベース上の最終的なデータ構造は、[1, [10,5,2]](=[文書ID, [基本番号,枝番1,枝番2]])というものである。文書ID1が「甲」ならば、この例は甲10の5の2(枝番)と解釈される。
データの保持方法は種々ありうるが、本実施例の実装では、documentsテーブルの、codesフィールドに、"[1, [10,5,2]]"といった文字列データを記録し(JSON形式)、プログラム上で配列形式に解釈しなおしている。
データの保持方法は種々ありうるが、本実施例の実装では、documentsテーブルの、codesフィールドに、"[1, [10,5,2]]"といった文字列データを記録し(JSON形式)、プログラム上で配列形式に解釈しなおしている。
3.関連機能
ユーザーによる文書符号のカスタマイズ機能は、適宜の管理画面を準備し、その画面を通じて、文書符号テーブルを編集させる機能を実装すれば足りる。この編集結果は、通常は、仮想データベースに即時に反映させる。
また、文書閲覧画面においては(実施例では「文書DB」)、文書符号に対する検索機能を実装することが望ましい。本実施例においては、メインの検索ボックスの直下に、文書符号名が表示されたラジオボタンを設置しており、これをクリックすることで、直ちに該当する文書記号の文書のみに表示を絞り込める。特定の文書記号のみの文書をまとめて閲覧するというニーズは多く、ワンクリックでの切替が可能であることは利便性を大きく高める。
ユーザーによる文書符号のカスタマイズ機能は、適宜の管理画面を準備し、その画面を通じて、文書符号テーブルを編集させる機能を実装すれば足りる。この編集結果は、通常は、仮想データベースに即時に反映させる。
また、文書閲覧画面においては(実施例では「文書DB」)、文書符号に対する検索機能を実装することが望ましい。本実施例においては、メインの検索ボックスの直下に、文書符号名が表示されたラジオボタンを設置しており、これをクリックすることで、直ちに該当する文書記号の文書のみに表示を絞り込める。特定の文書記号のみの文書をまとめて閲覧するというニーズは多く、ワンクリックでの切替が可能であることは利便性を大きく高める。
また、検索オプションエリアにおいて、記号と番号を指定しての検索機能を提供している。
VII.文書登録機能
次に、文書登録について説明する。
本システムは膨大な文書が登録されることを想定している。1万点の文書が登録されるときに、1通30秒かかるのと(83時間)、1通10秒で済むのと(28時間)では、大変な違いがある。また登録作業はしばしば退屈なものとなりやすく、登録作業者の心理的な快適性にも配慮する必要がある(作業効率にも影響する)。そこで、登録作業についてもシステムによって十分な支援が与えられることが望まれる。
次に、文書登録について説明する。
本システムは膨大な文書が登録されることを想定している。1万点の文書が登録されるときに、1通30秒かかるのと(83時間)、1通10秒で済むのと(28時間)では、大変な違いがある。また登録作業はしばしば退屈なものとなりやすく、登録作業者の心理的な快適性にも配慮する必要がある(作業効率にも影響する)。そこで、登録作業についてもシステムによって十分な支援が与えられることが望まれる。
既存技術における登録作業では、各書誌情報に対応する形で複数の入力フォームを設けて、ユーザーにそれぞれのデータを記入させるものが多かった(「フォーム移動方式」とする)。しかしこのような方法では、マウスクリックなどによるフォーム移動が何度も発生し、その点が時間のロス、作業の不快さを生む。逆に、書誌情報の登録をほとんどさせずに、単純にファイル名とタイムスタンプだけを利用するような形態もある。これは書誌情報の登録というニーズを満たさない。
より合理的かつ効果的な技術が望まれる。
より合理的かつ効果的な技術が望まれる。
1.ファイル名情報の利用機能
ここで、電子文書ファイル名に関する一般的な慣習に注目すると、そこにはタイトルと共に、一定程度の書誌情報が書き込まれることが多いことに気が付く。たとえば実務上よくあるのは、次のようなファイル名である。
甲50H301105陳述書.pdf
ここには「甲50」という文書符号、「H301105」という作成日付、「陳述書」というタイトル情報が含まれる。ファイルの命名方法に関して具体的な規約が存在するわけではないが、慣習上はおおむね似通った記述方式が用いられている。なお、作成者やメモは記述されないことが多いため、文書符号と作成日付以外はタイトルとなっていることが多い。
ここで、電子文書ファイル名に関する一般的な慣習に注目すると、そこにはタイトルと共に、一定程度の書誌情報が書き込まれることが多いことに気が付く。たとえば実務上よくあるのは、次のようなファイル名である。
甲50H301105陳述書.pdf
ここには「甲50」という文書符号、「H301105」という作成日付、「陳述書」というタイトル情報が含まれる。ファイルの命名方法に関して具体的な規約が存在するわけではないが、慣習上はおおむね似通った記述方式が用いられている。なお、作成者やメモは記述されないことが多いため、文書符号と作成日付以外はタイトルとなっていることが多い。
そこで、このような典型的なファイル名を捉えて、正規表現を用いて解析し、書誌情報として解釈できるようにすれば、登録作業を大きく効率化することができる。また、ファイル名の情報をそのまま活用できる点で無駄がない。
2.単一入力フォーム方式の採用及び入力規則
一方、入力方法に目を向けると、一般的な技術であるフォーム移動方式の難点は、多数の入力フォームの移動を繰り返しながらデータを入力しなければならない点にあった。
前記のように、そもそもファイル名にはある程度の法則性が存在し、かつそれは正規表現で解析できるようなものである。そこで、入力フォームについては、これをそもそも単一のものにしてしまうという解決策が考えられる。その入力フォームには、ファイル名を引き継ぐようにする。そして、上記の慣習的な記述方法を一歩拡大した入力規則を設け、ユーザーがそれに沿ってテキストデータを入力・補正すれば(いわゆるベタ打ち)、システムがそれを自動的に書誌として解析するという入力枠組みが成り立つ。この入力枠組みは、フォーム移動方式と比較すれば、圧倒的に高速な入力を期待できる。
一方、入力方法に目を向けると、一般的な技術であるフォーム移動方式の難点は、多数の入力フォームの移動を繰り返しながらデータを入力しなければならない点にあった。
前記のように、そもそもファイル名にはある程度の法則性が存在し、かつそれは正規表現で解析できるようなものである。そこで、入力フォームについては、これをそもそも単一のものにしてしまうという解決策が考えられる。その入力フォームには、ファイル名を引き継ぐようにする。そして、上記の慣習的な記述方法を一歩拡大した入力規則を設け、ユーザーがそれに沿ってテキストデータを入力・補正すれば(いわゆるベタ打ち)、システムがそれを自動的に書誌として解析するという入力枠組みが成り立つ。この入力枠組みは、フォーム移動方式と比較すれば、圧倒的に高速な入力を期待できる。
この解析規則(すなわち入力規則)の一例は次のようなものである。
〔解析(入力)規則〕
文書符号 → 文書記号の文字のあとに数値が続くもの
例: 甲120 乙15 資30
作成日付 → いくつかの付随条件のもとで数値が6つまたは8つ連続する(主要なパターンを例示する)
例: 20171121、171121、H291121、2017.11.21、H29.11.21
作成者 → @に続く文字
紐付けメモ→ >に続く文字
タイトル → 上記に該当しない文字列の全てをタイトルとみなす
〔解析(入力)規則〕
文書符号 → 文書記号の文字のあとに数値が続くもの
例: 甲120 乙15 資30
作成日付 → いくつかの付随条件のもとで数値が6つまたは8つ連続する(主要なパターンを例示する)
例: 20171121、171121、H291121、2017.11.21、H29.11.21
作成者 → @に続く文字
紐付けメモ→ >に続く文字
タイトル → 上記に該当しない文字列の全てをタイトルとみなす
なお、上記は骨子であり、誤認識を防ぐためには、若干の精緻化をすることが望ましい。
3.具体例
以下、実施例の画面例により説明する。ここでは、以下のファイル名:
「証拠の一覧表を改善するための三つの提言(判例時報)171121.pdf」
という電子文書をシステムに登録する場合を例にとって説明する。
図13は、登録作業中の画面表示例を示している。 最初に、ユーザーは、図13の画面で「ファイル選択」をクリックして、登録しようとするファイルを選択する(複数ファイルの同時選択を許すことが望ましい)。
これによりシステムは、当該ファイルのファイル名を認識する。そしてシステムは、入力フィールド211に、当該ファイル名(拡張子を除く)をそのまま反映させる。ここでシステムは、入力フィールド211に存在するテキストデータを正規表現で解析し、所要のメタ情報を取り出して、表示フィールド212に反映させる。
更にユーザーは、入力フィールド211のテキスト情報をそのまま編集することができる。ここで、システムには入力フィールド211を常時監視させることが望ましい。本実施例ではそのように実装し、ユーザーが1文字編集するたびに、表示フィールド212の解析結果をリアルタイムに更新させている。
以下、実施例の画面例により説明する。ここでは、以下のファイル名:
「証拠の一覧表を改善するための三つの提言(判例時報)171121.pdf」
という電子文書をシステムに登録する場合を例にとって説明する。
図13は、登録作業中の画面表示例を示している。 最初に、ユーザーは、図13の画面で「ファイル選択」をクリックして、登録しようとするファイルを選択する(複数ファイルの同時選択を許すことが望ましい)。
これによりシステムは、当該ファイルのファイル名を認識する。そしてシステムは、入力フィールド211に、当該ファイル名(拡張子を除く)をそのまま反映させる。ここでシステムは、入力フィールド211に存在するテキストデータを正規表現で解析し、所要のメタ情報を取り出して、表示フィールド212に反映させる。
更にユーザーは、入力フィールド211のテキスト情報をそのまま編集することができる。ここで、システムには入力フィールド211を常時監視させることが望ましい。本実施例ではそのように実装し、ユーザーが1文字編集するたびに、表示フィールド212の解析結果をリアルタイムに更新させている。
たとえばユーザーが、図13のように、
「証拠の一覧表を改善するための三つの提言@山本了宣171121 > 判例時報の論文 甲3」
という入力を終えると、入力フィールド212の通りに、解析結果が表示されている。そしてユーザーがエンターキーを押下すれば、文書の登録は完了する。ファイル選択時に複数ファイルを選択していた場合は、画面表示は直ちに次の文書に切り替わり、連続して入力を続けることができる。
「証拠の一覧表を改善するための三つの提言@山本了宣171121 > 判例時報の論文 甲3」
という入力を終えると、入力フィールド212の通りに、解析結果が表示されている。そしてユーザーがエンターキーを押下すれば、文書の登録は完了する。ファイル選択時に複数ファイルを選択していた場合は、画面表示は直ちに次の文書に切り替わり、連続して入力を続けることができる。
フォーム移動方式を採用する一般的なシステムにおいては、フォーム移動の手間が非常に大きい。また、登録中に文書の中身が表示できないことがある。しかし本システムの方法によれば、入力フォームは1個に集約される。そして、簡易明快な入力規則を用いて、文書画像を見ながら、迅速に書誌情報を記入できる。更に、編集結果は即時に目視確認できる。ユーザーは慣れれば1件あたり数秒から10秒前後で文書登録を行うことができ、従来のシステムと比較して圧倒的に高速な登録を実現できる。
4.自動登録方式への拡大
更に、システムには、文書の自動登録(または半自動登録)機能を設けることが望ましい。具体的には、(1)ファイル選択(複数)によって直ちに登録作業を完了させる、(2)ファイル選択(複数)後に書誌情報の確認画面を表示し、簡易な補正作業をさせた上で、それにより登録の完了とする、(3)システムに所定のフォルダを巡回させて、そこに所在するファイルを自動的にシステムに登録する、といった方法である。
更に、システムには、文書の自動登録(または半自動登録)機能を設けることが望ましい。具体的には、(1)ファイル選択(複数)によって直ちに登録作業を完了させる、(2)ファイル選択(複数)後に書誌情報の確認画面を表示し、簡易な補正作業をさせた上で、それにより登録の完了とする、(3)システムに所定のフォルダを巡回させて、そこに所在するファイルを自動的にシステムに登録する、といった方法である。
たとえば、数個のファイルのみを登録するような場合は、システムの登録画面を起動するよりも、ファイル名に直接書誌情報を書き込むほうが簡便な場合が多い。また、既に書誌情報の書き込まれたファイルを外部から大量に(たとえば数百個)引き継いだ場合などは、そこに記載された書誌情報を流用して、一括してシステムに登録できることが期待される。
この場合にも上記の入力規則は有効に機能する。
前述のように、一般的なファイル名では、日付・文書符号・タイトルの3要素が記入されていることが多く、かつ、日付・文書符号のパターンはほぼ確立している。したがって、命名者が本システムの入力規則を知らない場合でも、日付と文書符号はほとんどの場合に正しく認識される。そして、それ以外の情報は全てタイトルとして登録される。本システムの典型的な実装では、タイトル・メモ・作成者の3つをまとめて検索させるから、これでも大きな支障はない。(「@」「>」が利用されることは稀であり、誤認識のリスクは低い。)
前述のように、一般的なファイル名では、日付・文書符号・タイトルの3要素が記入されていることが多く、かつ、日付・文書符号のパターンはほぼ確立している。したがって、命名者が本システムの入力規則を知らない場合でも、日付と文書符号はほとんどの場合に正しく認識される。そして、それ以外の情報は全てタイトルとして登録される。本システムの典型的な実装では、タイトル・メモ・作成者の3つをまとめて検索させるから、これでも大きな支障はない。(「@」「>」が利用されることは稀であり、誤認識のリスクは低い。)
他方、命名者が本システムの入力規則を知っている場合には、ファイル名にも入力規則をそのまま持ち込めば良い。たとえば、「171121証拠の一覧表を改善するための三つの提言@山本了宣.pdf」などと初めから入力してしまえばよい。これは、書誌情報の入力作業をシステム画面から分離できる利点を示す。すなわち、ユーザーはシステムを起動することなく、ファイル名(それ自体は構造化されていないテキストデータ)を通じて、書誌情報(構造化されたデータ)が入力できることになる。これは書誌情報入力の手段、タイミングを柔軟にし、利便性を高める。たとえばフォルダ上での操作だけで登録作業を完了できることは、それ自体便利である。また、外部事業者に書誌情報の入力を委託する場合も、PDFファイルを渡して入力規則にしたがったファイル名に変更するよう依頼すればそれでよい。
5.符号のカスタマイズ機能との対応
なお、システムは、文書符号のカスタマイズ機能を提供する。したがって、上記解析規則は、カスタマイズ後の符号に対応できるように設計することが望ましい。具体的には、テーブルに記録されたカスタマイズ後の符号情報(符号の短縮表示)に基づき、動的に正規表現を生成させればよい。
また、上記の具体例は弁護士業務を想定したものであったが、同様の枠組みは他業種でも容易に適用できる。本実施例であっても、文書符号のカスタマイズを許すから、文書記号+番号の組み合わせがどのようなものでも解釈できる。更に日付の記述方法は他業種においてもおおむね共通している。また、そもそも管理する書誌情報や入力規則をアレンジすれば、どのような業務でも適用できる。
なお、システムは、文書符号のカスタマイズ機能を提供する。したがって、上記解析規則は、カスタマイズ後の符号に対応できるように設計することが望ましい。具体的には、テーブルに記録されたカスタマイズ後の符号情報(符号の短縮表示)に基づき、動的に正規表現を生成させればよい。
また、上記の具体例は弁護士業務を想定したものであったが、同様の枠組みは他業種でも容易に適用できる。本実施例であっても、文書符号のカスタマイズを許すから、文書記号+番号の組み合わせがどのようなものでも解釈できる。更に日付の記述方法は他業種においてもおおむね共通している。また、そもそも管理する書誌情報や入力規則をアレンジすれば、どのような業務でも適用できる。
6.文書登録権者について
本実施例においては、文書登録権者を管理者ユーザーに限定している。ただし、マスターファイルを設置せず、各ユーザーファイルに直接文書情報を登録させる構成をとる場合には、文書登録権者を制限する必要はない。また、マスターファイルを設置する構成をとる場合であっても、ユーザーファイル上に文書を仮登録させた上で、管理者ユーザーがシステムを起動した際に当該仮登録情報をマスターファイルに移行させるなどの方法で、全ユーザーによるデータ登録は実現できる。
本実施例においては、文書登録権者を管理者ユーザーに限定している。ただし、マスターファイルを設置せず、各ユーザーファイルに直接文書情報を登録させる構成をとる場合には、文書登録権者を制限する必要はない。また、マスターファイルを設置する構成をとる場合であっても、ユーザーファイル上に文書を仮登録させた上で、管理者ユーザーがシステムを起動した際に当該仮登録情報をマスターファイルに移行させるなどの方法で、全ユーザーによるデータ登録は実現できる。
VIII.レポート機能
1.レポート機能の意義と考え方
本システムの紐付けメモ機能は、電子文書に対する短いコメントとして入力・表示することが予定されている。また、電子文書と1対1にしか対応しない。そのため、メモ機能のみでは、電子文書群に対する詳細な分析を記述することはできない。そこで別途複数の電子文書と関連づけたレポートを作成する機能を設けることが望ましい。特にチームにおいては、内容をテキスト検索可能な長文のレポートを共有できることに高い価値がある。
1.レポート機能の意義と考え方
本システムの紐付けメモ機能は、電子文書に対する短いコメントとして入力・表示することが予定されている。また、電子文書と1対1にしか対応しない。そのため、メモ機能のみでは、電子文書群に対する詳細な分析を記述することはできない。そこで別途複数の電子文書と関連づけたレポートを作成する機能を設けることが望ましい。特にチームにおいては、内容をテキスト検索可能な長文のレポートを共有できることに高い価値がある。
なお、レポートは複数の文書と関連づけてもよいし、いずれの文書とも関連づけなくともよい。文書とレポートとの基本的な関係は多対多となる。なお、レポートの表現形式としては、
・データベースのレコード内にテキストを保持する、
・保持したデータをID等をもとに関連づけする
といった態様が考えられる。また、レポート内に画像データなど付加的なデジタルデータ等が含まれている場合、HTMLを前提にすると、リンク(自動生成を含む)としてテキスト内に埋め込みすることができる。
・データベースのレコード内にテキストを保持する、
・保持したデータをID等をもとに関連づけする
といった態様が考えられる。また、レポート内に画像データなど付加的なデジタルデータ等が含まれている場合、HTMLを前提にすると、リンク(自動生成を含む)としてテキスト内に埋め込みすることができる。
2.基本機能と保存形式等
基本的な機能として、新規投稿・編集・削除・コメントを実装することが望ましい。
レポートは、典型的には表題と本文(テキスト情報)で構成される。また、画像や他の電子文書ファイルの添付を許すことが望ましい。表現形式としては、いわゆるブログ記事などと似た実装となりうる。図14は本実施例の画面例(記事の単票画面)である。本実施例においては、レポートを「Note」と称している。
基本的な機能として、新規投稿・編集・削除・コメントを実装することが望ましい。
レポートは、典型的には表題と本文(テキスト情報)で構成される。また、画像や他の電子文書ファイルの添付を許すことが望ましい。表現形式としては、いわゆるブログ記事などと似た実装となりうる。図14は本実施例の画面例(記事の単票画面)である。本実施例においては、レポートを「Note」と称している。
レポートは全ユーザーが随時投稿するものであるから、そのデータはユーザーファイルに記録するのが自然である。本実施例におけるテーブルの実装は、図15のものである。notesテーブルにおいて、レポートに一意の文字列(article_code)、タイトル(title)、本文(body)などを管理している。コメントについては、notecommentsテーブルで別途管理している。なお、article_codeはユーザー名とシリアルナンバー(オートインクリメント)が組み合わせられた文字列形式であり、プロジェクト内で常に一意である。
3.レポート本文とID解析機能
そして、システムには、レポート本文を解析して、IDを抽出する機能を設けることが望ましい。たとえば本文に次のような記述があったとする。
「平成30年10月21日の事実経過は総合すると次のようなものと言える。
まずXが自宅へ移動した(文書ID15400)。次にYがそこへ訪れた(文書ID12000、ID937)。Zはこれに反する供述をするが→文書ID400、○○という点(文書ID6256)と矛盾すると思われる・・・。」
そして、システムには、レポート本文を解析して、IDを抽出する機能を設けることが望ましい。たとえば本文に次のような記述があったとする。
「平成30年10月21日の事実経過は総合すると次のようなものと言える。
まずXが自宅へ移動した(文書ID15400)。次にYがそこへ訪れた(文書ID12000、ID937)。Zはこれに反する供述をするが→文書ID400、○○という点(文書ID6256)と矛盾すると思われる・・・。」
このような記述に対して、システムは正規表現による解析を実施し、文書ID○○○の記述を文書IDとして認識する。システムはこの情報に基づいて仮想データベースからデータを取得することで、レポート画面の表示をアレンジできる。たとえば、文書ID○○○の記述を、文書を画像表示可能なボタン又はリンクに自動的に変換できる。記述自体を、文書の書誌情報の短縮表示等に変換することもできる。また、当該レポートが参照する文書の一覧表示等の機能を提供することもできる。
逆に、各レポートが参照する文書IDが分かっていれば、ある文書IDがどのレポートから参照されているかを特定することも容易である。そこで、文書一覧画面において、当該文書を参照しているレポートの一覧やリンクを提供する機能を実装することができる。
なお、レポートからの文書参照については、ノートの投稿・編集画面に専用の入力フォーム(選択形式のものなど)を設けたり、文書一覧表示をクリックして関連づけるといった実装もありうる。ただし、上記のように直接本文中にIDを書き込む実装が、実際には迅速であろうと考えられる。
4.レポートの検索機能
レポートについては、検索機能を設けることが望ましい。典型的には、所定のフォームにユーザーにテキスト情報を入力させ、これに基づいて、タイトル及び本文のテキスト情報を検索させる方法が考えられる。
本実施例においては、検索(絞り込み)結果は、レポートのタイトル及びリードの一覧として表示される。
レポートについては、検索機能を設けることが望ましい。典型的には、所定のフォームにユーザーにテキスト情報を入力させ、これに基づいて、タイトル及び本文のテキスト情報を検索させる方法が考えられる。
本実施例においては、検索(絞り込み)結果は、レポートのタイトル及びリードの一覧として表示される。
IX.連続編集機能について
閲覧画面におけるメタ情報編集機能の延長として、本実施例では、連続編集機能を実装する。
閲覧画面におけるメタ情報編集機能の延長として、本実施例では、連続編集機能を実装する。
ユーザーの利用場面として、たとえば文書符号甲1から30までの文書を、順に閲覧しながらメモを付加したいといったものがあり得る。すなわち、閲覧画面(図10)内において、同画面のテーブルに表示された文書の表示順に従って、次々に文書を閲覧し、かつ、メタ情報を編集したいというニーズが生じる。連続編集機能は、これを実現することをねらいとする。
具体的には次のように実装することが考えられる。
たとえば閲覧画面で適宜のボタンを押すことなどによって、システムを連続編集モードに移行させる。
連続編集モード下でユーザーが文書の画像を表示させると、システムは同時に、当該レコードにおける所定のメタ情報の欄を、編集状態にする。たとえば、memoのみを連続編集対象とする実装であれば、ちょうど図10と同じ表示になる。
以下、memoのみを連続編集対象とする実装を例に説明する。たとえば次のような処理手順となる。
(1)ユーザーが文書100の画像を開く。すると、文書100のmemoが編集状態となる。
(2)ユーザーは文書100の画像を見ながら、文書100のmemoを編集する。
(3)ユーザーが文書100のmemoの編集を終え、同フォーム内でエンターキーを押下する。
(4)文書100のmemoの編集は確定される。
(5)それと同時に、文書100の文書画像がとじる。
(6)システムは、直ちに文書101の文書画像を開く。同時に、文書101のmemoを編集状態にする。
(7)システムは、入力フォーカスを、文書101のmemo欄にうつす。
(8)ユーザーは、文書101の画像を見ながら、文書101のmemoを編集する→(2)と同様。そして(3)の手順へ
たとえば閲覧画面で適宜のボタンを押すことなどによって、システムを連続編集モードに移行させる。
連続編集モード下でユーザーが文書の画像を表示させると、システムは同時に、当該レコードにおける所定のメタ情報の欄を、編集状態にする。たとえば、memoのみを連続編集対象とする実装であれば、ちょうど図10と同じ表示になる。
以下、memoのみを連続編集対象とする実装を例に説明する。たとえば次のような処理手順となる。
(1)ユーザーが文書100の画像を開く。すると、文書100のmemoが編集状態となる。
(2)ユーザーは文書100の画像を見ながら、文書100のmemoを編集する。
(3)ユーザーが文書100のmemoの編集を終え、同フォーム内でエンターキーを押下する。
(4)文書100のmemoの編集は確定される。
(5)それと同時に、文書100の文書画像がとじる。
(6)システムは、直ちに文書101の文書画像を開く。同時に、文書101のmemoを編集状態にする。
(7)システムは、入力フォーカスを、文書101のmemo欄にうつす。
(8)ユーザーは、文書101の画像を見ながら、文書101のmemoを編集する→(2)と同様。そして(3)の手順へ
以上のようにして、ユーザーは、次々に文書を閲覧しながら、memo欄を編集できる。この操作手順において、ユーザーはmemoへのテキストデータの入力と、エンターキーの押下を繰り返しているだけである。これによって、高速かつ連続的にmemoの編集を繰り返すことができる。
なお、閲覧画面の表示方法については、以下の工夫をすることが考えられる。(1)文書画像の表示は、ほぼ全画面に等しいサイズとする。ユーザーは1度に1件の文書だけを見て作業することが想定されているからである。(2)上記の通り、次々にレコードを移動することを想定するから、閲覧プログラムには自動スクロール機能を持たせることが望ましい。1件移動するたびに1件分画面をスクロールさせる。
X.一括ダウンロード機能について
本発明では、ユーザーが大量の文書を一度に取り扱うことが想定される。たとえば、数十通の文書を一度にプリントアウトするとか、数百の電子文書のデータを外部にまとめて提供するといった場面がありうる。こうした場合、ユーザーは、フォルダ上でファイルを直接操作できるのが便利である。
本発明では、ユーザーが大量の文書を一度に取り扱うことが想定される。たとえば、数十通の文書を一度にプリントアウトするとか、数百の電子文書のデータを外部にまとめて提供するといった場面がありうる。こうした場合、ユーザーは、フォルダ上でファイルを直接操作できるのが便利である。
本実施例では、プロジェクトフォルダ内のDocumentフォルダを開けば、そこに全ての電子文書ファイルがある。しかし、フォルダを直接ユーザーに開かせることは必ずしも便利ではない。また、システムが保持する最新の書誌情報を、ファイル名にも反映させたい。
そこで、本実施例では、システム内に、電子文書ファイルの一括ダウンロード機能を実装している。具体的には次のようなものである。
〔機能〕
閲覧画面内で表示されているレコードのうちで、ユーザーが選択したもの(あるいは全部)について、その電子文書ファイルを一括ダウンロードさせる。デスクトップ上など、適宜のローカルフォルダを指定させる。
閲覧画面内で表示されているレコードのうちで、ユーザーが選択したもの(あるいは全部)について、その電子文書ファイルを一括ダウンロードさせる。デスクトップ上など、適宜のローカルフォルダを指定させる。
ダウンロードされるファイル名は、仮想データベース上のレコード情報(つまり最新情報)に基づいて生成する。
かつ、ファイル名にある程度の選択肢を持たせる。たとえば、(1)文書符号を先頭にする、(2)日付を先頭にする、(3)文書IDを先頭にする、といった選択肢である。なぜなら、フォルダ上でファイル名のソートをおこなえば、先頭に記述されている要素にしたがった並び順を実現できるからである。フォルダ内でファイルを扱う場合、単一の書誌要素であれ、ユーザーが並び順を自由にできるメリットは大きい。
例:(次の3形態を選択できる)
甲020_H301120陳述書@特許太郎ID2500.pdf
H301120_甲020陳述書@特許太郎ID2500.pdf
ID2500_H301120甲020陳述書@特許太郎.pdf
甲020_H301120陳述書@特許太郎ID2500.pdf
H301120_甲020陳述書@特許太郎ID2500.pdf
ID2500_H301120甲020陳述書@特許太郎.pdf
〔実装方法〕
「ダウンロード」について、プログラムの実装としては、コピー操作によるのが合理的である。ユーザーの視点から「ダウンロード」と記述したが、プログラム上の実装としてはコピーでよい。NAS構成でも「コピー」でよい。
「ダウンロード」について、プログラムの実装としては、コピー操作によるのが合理的である。ユーザーの視点から「ダウンロード」と記述したが、プログラム上の実装としてはコピーでよい。NAS構成でも「コピー」でよい。
ファイル名については、仮想データベース上のレコード情報をもとにして、適宜の順序で書誌情報の文字列を連結させる。連結順は、ユーザーの指定した方式に従う。コピー時にリネーム操作を組み合わせる。
インターフェースは、文書閲覧画面に適宜のボタンを設置するなどすればよい。
インターフェースは、文書閲覧画面に適宜のボタンを設置するなどすればよい。
なお、後記の自動暗号化・閲覧機能を採用する場合、パスワードの付加・解除機能もあわせて実装することが望ましい。
XI.自動暗号化・閲覧機能について
本発明は、機密文書の取扱いも想定する。したがって、文書の暗号化に関する機能を提供することが望まれる。特にファイル同期サービスを利用する場合などは、クラウド上に電子文書ファイルを保持するので、暗号化のニーズは一層高まる。
一方で、暗号化したファイルを閲覧するたびに、ユーザーに毎回パスワードを入力させることは、本システムの高速・連続閲覧という特性を大きく損なう。
そこで、下記のような枠組みを導入することで、文書の暗号化と、連続閲覧とを両立することができる。
本発明は、機密文書の取扱いも想定する。したがって、文書の暗号化に関する機能を提供することが望まれる。特にファイル同期サービスを利用する場合などは、クラウド上に電子文書ファイルを保持するので、暗号化のニーズは一層高まる。
一方で、暗号化したファイルを閲覧するたびに、ユーザーに毎回パスワードを入力させることは、本システムの高速・連続閲覧という特性を大きく損なう。
そこで、下記のような枠組みを導入することで、文書の暗号化と、連続閲覧とを両立することができる。
〔枠組み〕
(1)プロジェクトごとに固有の、強固なパスワード(「プロジェクトパスワード」)を定める。
(2)ローカル端末内(たとえばアプリケーションフォルダ内)に、プロジェクトパスワードを保存する。
(3)文書登録時に(あるいはユーザーの操作などにより)、システムによって、電子文書ファイルにプロジェクトパスワードを自動で付加する。
(4)ユーザーが文書を閲覧する際には、閲覧プログラムにおいて、当該電子文書ファイルに自動でプロジェクトパスワードを引き渡す。
(5)電子文書ファイルのプロジェクトパスワードを解除したファイルを一括生成する機能を提供する(たとえば一括ダウンロード機能のオプションとする)。
なお、暗号化機能を適用するか否かは、プロジェクトごとに選択可能とすることが望ましい。
(1)プロジェクトごとに固有の、強固なパスワード(「プロジェクトパスワード」)を定める。
(2)ローカル端末内(たとえばアプリケーションフォルダ内)に、プロジェクトパスワードを保存する。
(3)文書登録時に(あるいはユーザーの操作などにより)、システムによって、電子文書ファイルにプロジェクトパスワードを自動で付加する。
(4)ユーザーが文書を閲覧する際には、閲覧プログラムにおいて、当該電子文書ファイルに自動でプロジェクトパスワードを引き渡す。
(5)電子文書ファイルのプロジェクトパスワードを解除したファイルを一括生成する機能を提供する(たとえば一括ダウンロード機能のオプションとする)。
なお、暗号化機能を適用するか否かは、プロジェクトごとに選択可能とすることが望ましい。
〔効果〕
以上の枠組みにおいて、パスワードは、ローカル端末内にのみ保持されている。したがって、たとえばクラウド上に不正アクセスを受けた場合でも、電子文書ファイルの秘密は保持される。
他方、ユーザーはシステムの使用中に、パスワードの存在を一切意識することなく、暗号化された文書を取り扱える。すなわち、文書登録時にはパスワードが自動で付加される。閲覧時にもパスワードが自動で引き渡される。電子文書ファイル自体を利用したいときには、パスワード解除されたファイルを利用できる。
このようにして、利便性とセキュリティとを両立できる。
以上の枠組みにおいて、パスワードは、ローカル端末内にのみ保持されている。したがって、たとえばクラウド上に不正アクセスを受けた場合でも、電子文書ファイルの秘密は保持される。
他方、ユーザーはシステムの使用中に、パスワードの存在を一切意識することなく、暗号化された文書を取り扱える。すなわち、文書登録時にはパスワードが自動で付加される。閲覧時にもパスワードが自動で引き渡される。電子文書ファイル自体を利用したいときには、パスワード解除されたファイルを利用できる。
このようにして、利便性とセキュリティとを両立できる。
〔実装方法〕
プロジェクトパスワードは、システムによって自動生成することが望ましい。たとえば、16桁の強固なものを生成する。パスワードはプロジェクトごとに単一のものとするのが便利であるが、複数のものとする実装も不可能ではない。
パスワードはアプリケーションフォルダ内など、ローカル端末内の適宜の場所に保存する。チームでパスワードを共有する際は、たとえば管理者ユーザーにパスワードを生成させるものとし、それを適宜の方法で他のユーザーに伝達し、他のユーザーは自身のシステムでパスワードの登録作業をおこなう。
パスワードの付加や引き渡しは適宜のライブラリ等の利用によって実現できる。たとえば、主要なデータ形式であるPDFファイルならば、パスワードの付加についてはpoppler、閲覧時のパスワードの引渡についてはPDF.jsなどのライブラリが知られている。
もちろん、データ形式によってはこのような処理を実装できないことがありうる。もっとも、少なくとも主要なデータ形態であるPDFファイルで上記の実装が可能であるから、たとえば、機密文書は必ずPDF形式とする、といった規約にユーザーがしたがえば、実質的に支障はない。
そして、前記一括ダウンロード機能には、パスワードの一括付与及び一括解除機能をあわせて付与することが望ましい。これも一括ダウンロードプログラムに、適宜のライブラリ(popplerなど)を組み合わせればよい。
プロジェクトパスワードは、システムによって自動生成することが望ましい。たとえば、16桁の強固なものを生成する。パスワードはプロジェクトごとに単一のものとするのが便利であるが、複数のものとする実装も不可能ではない。
パスワードはアプリケーションフォルダ内など、ローカル端末内の適宜の場所に保存する。チームでパスワードを共有する際は、たとえば管理者ユーザーにパスワードを生成させるものとし、それを適宜の方法で他のユーザーに伝達し、他のユーザーは自身のシステムでパスワードの登録作業をおこなう。
パスワードの付加や引き渡しは適宜のライブラリ等の利用によって実現できる。たとえば、主要なデータ形式であるPDFファイルならば、パスワードの付加についてはpoppler、閲覧時のパスワードの引渡についてはPDF.jsなどのライブラリが知られている。
もちろん、データ形式によってはこのような処理を実装できないことがありうる。もっとも、少なくとも主要なデータ形態であるPDFファイルで上記の実装が可能であるから、たとえば、機密文書は必ずPDF形式とする、といった規約にユーザーがしたがえば、実質的に支障はない。
そして、前記一括ダウンロード機能には、パスワードの一括付与及び一括解除機能をあわせて付与することが望ましい。これも一括ダウンロードプログラムに、適宜のライブラリ(popplerなど)を組み合わせればよい。
ここまで、実施例に基づいて説明をおこなってきたが、以上の実施例の機能のうち、ハードウェア構成に関わらない部分、すなわち、文書一覧画面の表示形態・書誌情報の編集形態・文書登録機能・レポート機能等については、本発明のハードウェア構成に依存しないことに注意する必要がある。たとえば、文書一覧画面において、書誌情報を表示しつつ、検索・編集・閲覧の全てを画面遷移なく連続で実現する機能は、それ自体ユーザーに高度の利便性を提供するものであるが、このような表示・検索・編集機能は、クラウド型文書管理システムや、サーバー型データシステム、完全なローカル型個人向けデータベースシステムなどにおいてもそのまま適用可能である。また、ウェブブラウザ上において、レコード編集結果をメモリ上で確定してHTMLを先行更新することで、ユーザーの待機時間を削除する方法は、ウェブブラウザを利用するクラウド型のシステムにも適用できる。文書登録機能、レポート機能、一括ダウンロード機能についても、クラウド型・サーバー型・ローカル型を問わず、あらゆる形態で適用できる。この点で各実施例にかかる各種の工夫は、ハードウェア構成に限定されない普遍性を有している。
ユーザー(メンバー)たちが使用を重ねるにつれて、本システムには、プロジェクトに関するメンバーたちの知見(メモやレポート)が多数蓄積されていく。複数のメンバーによる多角的な気付きがシステム内に多量に保存され、しかも、それをメンバーが自由に検索することができるようになる。更に、文書の書誌情報やメモが充実することで、「無個性」な文書はどんどん減っていく。
このように、メンバーたちが本システムを使い込むほどに、そのプロジェクトの情報は豊かになってゆく。そのこと自体が、メンバーの思考を援助し、更に多くの知見を生み出してゆく。こうした好循環のもとで、本システムはチームの知的生産を大きく改善することができる。もちろん、個人利用であっても同じ恩恵がある。
本システムは、文書整理機能やインターフェース、データ共有方法において優れた特徴を持つが、最終的には、上記のように個人あるいはチームが大きな知恵を育てるための統合的な環境を提供することを究極のねらいとする。
本発明は、発明者である弁護士自身が、実際の実務の中で試作品を作成し、改良を重ねて考え出したものである。そのような由来もあって、本明細書では弁護士業務を主要な例として取り上げ、記述してきた。しかし、(1)一定量以上の電子文書をフォルダ内に管理したい(ファイルを持ちたい)、(2)文書群に適宜の書誌情報を付して、効果的に管理したい、(3)文書群に対して高速かつ連続的(あるいは快適)な探索・閲読・編集をしたい、(4)特別のサーバーやクラウドを用いずに、フォルダベースのユーザー既存環境内でのデータ保管・共有をしたい、(5)高速化などのためにローカル端末にデータを持ちたい、(6)文書符号を利用したい、といった要求のいくつかに合致したタスクであれば、本システムは高い有効性を持つ。たとえば、研究者のチーム又は個人、出版・編集業の資料管理、調査委員会や第三者委員会、情報公開を活用する市民団体、個人の資料整理、小規模組織の文書管理などが想定できる。
本発明は、業務内容に合わせて多少のカスタマイズを施すことで、幅広い業務に容易に適用しうる。本発明は業種に限定されない普遍性を持ち、広い活用可能性を持つものと考えられる。
Claims (16)
- 文書整理システムであって、
少なくともユーザー毎に設けられる1組のデータベースファイルを管理するデータベースプログラムと、
前記1組のデータベースファイルによって記述されるテーブルの一部又は全部を視覚化するためのデータを生成する表示プログラムと、
前記表示プログラムによって生成されたデータをユーザー端末の画面上に表示する閲覧プログラムと、
を含み、
前記データベースプログラムは、
前記1組のデータベースファイルの一部又は全部を前記ユーザー端末のメモリ上に読み込むことにより、仮想データベースをメモリ上に保持する機能を有すると共に、
前記仮想データベースは、少なくとも、
前記データベースプログラムによって付与された一意の文書IDと関連づけられた複数の前記電子文書の保存先パスを動的に生成するか又は前記電子文書の保存先パスを直接保持することにより、前記電子文書の読み出しが可能であり、さらに、
前記電子文書のそれぞれに割り当てられたメタ情報を保持しており、
前記メタ情報は、前記各ユーザーによる書き込みが完了した以後、ユーザー毎の入力データとして
(1)前記仮想データベースに書き込まれた後、各ユーザーに対応する前記1組のデータベースファイルの1つに書き込まれるか、又は、
(2)前記各ユーザーに対応する前記1組のデータベースファイルの1つに書き込まれた後、前記1組のデータベースファイルの一部又は全部を再度前記ユーザー端末のメモリ上に読み込むことにより前記仮想データベースを再構築され、
前記仮想データベースは、所定のイベントごとに又は所定のタイミングで、前記1組のデータベースファイルを再読み込みして前記メモリ上の保持データを更新する機能を具備することを特徴とする、
文書整理システム。 - 前記閲覧プログラムはスクリプト言語により記述されたプログラムを読み込むことにより、前記表示プログラムによって生成されたデータに基づいて生成された画面表示を変更し、それにより、前記メタ情報の閲覧又は編集を開始させる機能を実行させることを特徴とする請求項1記載の文書整理システム。
- 前記表示プログラムは、ウェブサーバープログラムであり、前記閲覧プログラムはウェブブラウザであることを特徴とする請求項2記載の文書整理システム。
- 前記1組のデータベースファイルは、初期情報を記録したマスターファイルを更に含むことを特徴とする請求項1乃至3のいずれか1項記載の文書整理システム。
- 前記メタ情報は、前記電子文書の作成日付、タイトル、種類、及び作成者に関する情報の少なくともいずれか1つを含むことを特徴とする、請求項1乃至4のいずれか1項記載の文書整理システム。
- 前記仮想データベースは、キーとバリューとで構成されたキーバリュー型データベーステーブルであることを特徴とする請求項1乃至5のいずれか1項記載の文書整理システム。
- 前記キーは、前記電子文書に割り当てられる一意の文書IDであることを特徴とする請求項6記載の文書整理システム。
- 前記1組のデータベースファイルは、前記データベースプログラムの起動中にも、他の端末とネットワークを通じて共有されることを特徴とする請求項1乃至7のいずれか1項記載の文書整理システム。
- 前記1組のデータベースファイルは、前記データベースプログラムの起動中にも、他の端末と任意のタイミングで同期されることを特徴とする請求項1乃至7のいずれか1項記載の文書整理システム。
- 前記1組のデータベースファイルの同期は、ピアツーピア、ローカルエリアネットワーク内に設けられた共有フォルダ又はクラウド上のサーバー、のいずれかを介して同期されることを特徴とする請求項9記載の文書整理システム。
- 前記表示プログラムは、前記閲覧プログラムにマウスホバー又はクリックで前記電子文書の内容を表示させるプログラムコードを実行させることを特徴とする請求項1乃至10のいずれか1項記載の文書整理システム。
- 複数の電子文書のいずれかと関連づけられた又はいずれとも関連づけられていないテキストデータを作成する機能を更に具備する請求項1乃至11のいずれか1項記載の文書整理システム。
- 前記表示プログラムと前記閲覧プログラムとは、同一のプログラムであることを特徴とする請求項1乃至12のいずれか1項記載の文書整理システム。
- 前記1組のデータベースファイルは、1つのプロジェクトに対応づけられると共に、1つのユーザー端末内に複数組設けられ、プロジェクト単位で独立した文書IDが付与されることを特徴とする請求項1乃至13のいずれか1項記載の文書整理システム。
- 前記閲覧プログラムは、単一プロジェクト内の電子文書のみを検索又は表示させることを特徴とする請求項1乃至14のいずれか1項記載の文書整理システム。
- 前記閲覧プログラムは、異なる組のデータベースファイルを読み込むことにより、異なるプロジェクト内の電子文書を検索又は表示させるために切り替える機能を有することを特徴とする請求項1乃至14のいずれか1項記載の文書整理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020520670A JP6834060B2 (ja) | 2018-11-30 | 2019-11-28 | 文書整理支援システム |
US17/298,253 US11797482B2 (en) | 2018-11-30 | 2019-11-28 | System for organizing document data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018226110 | 2018-11-30 | ||
JP2018-226110 | 2018-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020111197A1 true WO2020111197A1 (ja) | 2020-06-04 |
Family
ID=70853915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/046643 WO2020111197A1 (ja) | 2018-11-30 | 2019-11-28 | 文書整理支援システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11797482B2 (ja) |
JP (2) | JP6834060B2 (ja) |
WO (1) | WO2020111197A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220037091A (ko) * | 2020-09-17 | 2022-03-24 | 주식회사 한글과컴퓨터 | 컨테이너 포맷을 기반으로 전자 문서에 대한 지식 데이터화 파일을 생성하는 전자 장치 및 그 동작 방법 |
CN116795793A (zh) * | 2023-06-26 | 2023-09-22 | 珠海精实测控技术股份有限公司 | 基于标准化文件的数据交互方法、装置及存储介质 |
JP7369388B1 (ja) | 2022-11-28 | 2023-10-26 | 株式会社セルズ | 情報処理システム及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11940960B2 (en) | 2022-04-21 | 2024-03-26 | Folder Front, LLC | Intelligent folder-based data organization system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016115127A (ja) * | 2014-12-15 | 2016-06-23 | コニカミノルタ株式会社 | 文書管理プログラム、文書管理方法及び文書管理装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418435B1 (en) * | 1999-08-05 | 2008-08-26 | Oracle International Corporation | Multi-model access to data |
US20020002563A1 (en) * | 1999-08-23 | 2002-01-03 | Mary M. Bendik | Document management systems and methods |
US20050015608A1 (en) | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
CA2404337A1 (en) * | 2000-03-27 | 2001-10-04 | Documentum, Inc. | Method and apparatus for generating metadata for a document |
US20040205644A1 (en) * | 2000-12-29 | 2004-10-14 | International Business Machines Corporation | Method and system for allowing in place editing of office documents in a place |
JP4224289B2 (ja) * | 2002-11-20 | 2009-02-12 | 日本電信電話株式会社 | データの複製管理方法 |
JP2005332481A (ja) | 2004-05-19 | 2005-12-02 | Sony Corp | 記録装置および方法、記録媒体、並びにプログラム |
JP2006004298A (ja) | 2004-06-18 | 2006-01-05 | Fuji Xerox Co Ltd | 文書処理装置、文書処理方法及び文書処理プログラム |
US20060106801A1 (en) | 2004-11-12 | 2006-05-18 | International Business Machines Corporation | Securing location of an installed middleware application and securing location of containers contained within installed middleware application |
US8949769B2 (en) * | 2007-02-23 | 2015-02-03 | Microsoft Corporation | Spatial layout of hierarchical shared resources |
US8032569B2 (en) | 2007-06-28 | 2011-10-04 | Seiko Epson Corporation | Information management system, display system, management apparatus and program |
US7991790B2 (en) * | 2007-07-20 | 2011-08-02 | Salesforce.Com, Inc. | System and method for storing documents accessed by multiple users in an on-demand service |
US7890486B2 (en) * | 2007-08-06 | 2011-02-15 | Ronald Claghorn | Document creation, linking, and maintenance system |
US8417666B2 (en) * | 2008-06-25 | 2013-04-09 | Microsoft Corporation | Structured coauthoring |
US9098472B2 (en) * | 2010-12-08 | 2015-08-04 | Microsoft Technology Licensing, Llc | Visual cues based on file type |
KR102074006B1 (ko) | 2012-01-10 | 2020-02-25 | 유니콤 시스템스, 인코포레이티드. | 클라우드-기반 분산 데이터 시스템 |
US9075954B2 (en) * | 2012-08-29 | 2015-07-07 | Dropbox, Inc. | Requesting modification rights to a linked file set |
US8838681B2 (en) * | 2012-12-21 | 2014-09-16 | Dropbox, Inc. | Systems and methods for adding digital content to content management service accounts |
JP2014174721A (ja) | 2013-03-08 | 2014-09-22 | Genetec Corp | 情報共有システム |
US20140359465A1 (en) * | 2013-05-31 | 2014-12-04 | Nubo Software Ltd. | Method and Apparatus for Annotated Electronic File Sharing |
US10198449B2 (en) * | 2013-07-16 | 2019-02-05 | Dropbox, Inc. | Creating unique content item identifiers |
JP6293462B2 (ja) | 2013-11-25 | 2018-03-14 | 株式会社東芝 | ファイルアクセスシステム |
US20150281292A1 (en) * | 2014-03-25 | 2015-10-01 | PlusAmp, Inc. | Data File Discovery, Visualization, and Actioning |
US9864849B2 (en) * | 2015-12-29 | 2018-01-09 | Dropbox, Inc. | View-based expiration of shared content |
JP6800045B2 (ja) | 2017-02-24 | 2020-12-16 | セイコーソリューションズ株式会社 | 署名支援サーバ、中継サーバ、署名支援プログラム、及び中継プログラム |
US10496610B2 (en) | 2017-03-07 | 2019-12-03 | Code 42 Software, Inc. | Self destructing portable encrypted data containers |
US10866963B2 (en) * | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
-
2019
- 2019-11-28 JP JP2020520670A patent/JP6834060B2/ja active Active
- 2019-11-28 US US17/298,253 patent/US11797482B2/en active Active
- 2019-11-28 WO PCT/JP2019/046643 patent/WO2020111197A1/ja active Application Filing
-
2021
- 2021-02-02 JP JP2021015050A patent/JP7509704B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016115127A (ja) * | 2014-12-15 | 2016-06-23 | コニカミノルタ株式会社 | 文書管理プログラム、文書管理方法及び文書管理装置 |
Non-Patent Citations (3)
Title |
---|
MIYASHITA, KENSUKE: "Guidebook of UNIX 26", UNIX MAGAZINE, vol. 17, no. 3, 1 March 2002 (2002-03-01), pages 128 - 133 * |
NODA, YUKI ET AL.: "Perfect Master for Windows Server 2008 R2", PERFECT MASTER FOR WINDOWS SERVER 2008 R2, 6 August 2011 (2011-08-06), pages 353 - 359 * |
OKAZAKI, TOSHIHIKO: "Usage Guide for Norton Utilities 3", , WINDOWS VERSION, 14 April 1998 (1998-04-14), pages 121 - 132 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220037091A (ko) * | 2020-09-17 | 2022-03-24 | 주식회사 한글과컴퓨터 | 컨테이너 포맷을 기반으로 전자 문서에 대한 지식 데이터화 파일을 생성하는 전자 장치 및 그 동작 방법 |
KR102417779B1 (ko) | 2020-09-17 | 2022-07-06 | 주식회사 한글과컴퓨터 | 컨테이너 포맷을 기반으로 전자 문서에 대한 지식 데이터화 파일을 생성하는 전자 장치 및 그 동작 방법 |
JP7369388B1 (ja) | 2022-11-28 | 2023-10-26 | 株式会社セルズ | 情報処理システム及びプログラム |
JP2024077543A (ja) * | 2022-11-28 | 2024-06-07 | 株式会社セルズ | 情報処理システム及びプログラム |
CN116795793A (zh) * | 2023-06-26 | 2023-09-22 | 珠海精实测控技术股份有限公司 | 基于标准化文件的数据交互方法、装置及存储介质 |
CN116795793B (zh) * | 2023-06-26 | 2024-06-11 | 珠海精实测控技术股份有限公司 | 基于标准化文件的数据交互方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP7509704B2 (ja) | 2024-07-02 |
JPWO2020111197A1 (ja) | 2021-02-15 |
JP2021077401A (ja) | 2021-05-20 |
US11797482B2 (en) | 2023-10-24 |
US20220043772A1 (en) | 2022-02-10 |
JP6834060B2 (ja) | 2021-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12099974B2 (en) | Managing tasks in a content management system | |
US11900324B2 (en) | Managing projects in a content management system | |
WO2020111197A1 (ja) | 文書整理支援システム | |
US7865873B1 (en) | Browser-based system and method for defining and manipulating expressions | |
US7797336B2 (en) | System, method, and computer program product for knowledge management | |
US7769768B2 (en) | Methods, apparatus and computer programs for visualization and management of data organization within a data processing system | |
US20020103818A1 (en) | Information repository system and method for an internet portal system | |
US8990725B2 (en) | System and method for processes enabled by metadata associated with documents within a binder file | |
JP2011065546A (ja) | ファイル検索システム及びプログラム | |
JP2009069899A (ja) | オブジェクト文書作成システム | |
US20050166139A1 (en) | System and method for managing legal documents | |
US7899781B1 (en) | Method and system for synchronizing a local instance of legal matter with a web instance of the legal matter | |
Leone et al. | Concept and architecture of an pervasive document editing and managing system | |
JP2008541296A (ja) | パーソナル化可能情報ネットワーク | |
Owan et al. | A Digital Library for Researchers, Scientists, and Scholars: Mendeley Desktop Application | |
Wersin | Evaluation and comparison of content management systems | |
Smith et al. | Managing Lists and Libraries | |
Knaster | Saving Trees and File Space | |
Waugh | Name Authority Control: An institutional repository approach | |
Maltzahn et al. | Graffiti: A framework for testing collaborative distributed file system metadata | |
Barrow et al. | EndNote X5 | |
Reuters | EndNote X5 Help |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2020520670 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19891536 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19891536 Country of ref document: EP Kind code of ref document: A1 |