Web database system, processing execution method, and program
The web database system enables simultaneous editing across multiple interfaces by detecting and managing concurrent edits, improving usability and data integrity by preventing data loss during multiple user interactions.
Patent Information
- Application Number
- JP2022184258
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-17
- Publication Date
- 2024-12-16
- Estimated Expiration
- 2042-11-17
AI Technical Summary
Conventional web database systems fail to provide adequate usability when multiple users attempt to edit the same record simultaneously, leading to loss of edited content and inconvenience due to error messages that require users to reload and re-enter data.
A web database system that allows simultaneous editing through multiple interfaces, incorporating a determination unit to detect editing operations and a processing execution unit to manage concurrent edits, displaying messages to users when conflicts arise, thereby preventing data loss.
Enhances the usability of web databases by allowing seamless concurrent editing across multiple interfaces, reducing the need for users to reload and re-enter data, and maintaining data integrity.
Smart Images

Figure 0007600201000001 
Figure 0007600201000002 
Figure 0007600201000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a web database system, a processing execution method, and a program. [Background technology]
[0002] Conventionally, web databases that allow editing operations to be performed simultaneously through multiple interfaces have been known. For example, Non-Patent Document 1 describes a technique in which when user B edits and saves a record in a web database that user A is editing, and user A subsequently tries to save the record, an error message prompting reloading is displayed on the screen of user A. For example, Non-Patent Document 2 describes a technique in which, when user Y edits a web document while user X is editing the same web document, information that allows identification of the part edited by user Y is displayed on the screen of user X. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] "Can multiple users edit the same record at the same time?", Internet, searched November 7, 2022, online, https: / / jp.cybozu.help / k / ja / trouble_shooting / app_qa / edit_record_multiple_people.html [Non-Patent Document 2] "Concurrent editing and merging changes", Internet, retrieved November 7, 2022, online, https: / / ja.confluence.atlassian.com / doc / concurrent-editing-and-merging-changes-144719.html Summary of the Invention [Problem to be solved by the invention]
[0004] However, with the technology of Non-Patent Document 1, User A cannot notice the edits made by User B until an error message is displayed. If User A reloads the page in response to the error message, the edits that User A has entered up to that point will be erased, and User A will need to re-enter the edits to the record. The technology of Non-Patent Document 2 is not related to editing web databases in the first place, and therefore cannot improve the convenience of web databases. For this reason, conventional technologies have not been able to sufficiently improve the convenience of web databases.
[0005] One of the objectives of this disclosure is to improve the usability of web databases. [Means for solving the problem]
[0006] A web database system according to one aspect of the present disclosure is a web database system capable of performing editing operations on a web database simultaneously through multiple interfaces, and includes a determination unit that determines whether the web database has been edited or is being edited in a first interface of the multiple interfaces, and a processing execution unit that executes a predetermined process related to the web database in a second interface of the multiple interfaces when it is determined that the web database has been edited or is being edited in the first interface. Effect of the Invention
[0007] According to the present disclosure, the convenience of web databases is improved. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 illustrates an example of an overall configuration of a web database system. [Diagram 2] FIG. 13 is a diagram showing an example of a table format screen. [Diagram 3] FIG. 13 is a diagram illustrating an example of a record details screen. [Figure 4]FIG. 13 is a diagram illustrating an example of an edit mode. [Diagram 5] 1 is a diagram showing an example of actions taken by a first user and a second user in a time series manner. FIG. [Figure 6] 13 is an example of a record details screen on the second user side in behavior pattern 1. [Figure 7] 13 is an example of a record details screen on the second user side in the action pattern 2. [Figure 8] FIG. 2 is a diagram illustrating an example of functions realized in a web database system. [Figure 9] FIG. 2 is a diagram illustrating an example of a web database. [Figure 10] FIG. 1 illustrates an example of a process executed in a web database system. [Figure 11] FIG. 1 illustrates an example of a process executed in a web database system. [Figure 12] FIG. 11 illustrates an example of an automatic reflection process. [Figure 13] FIG. 11 is a diagram illustrating an example of an edited portion display process. [Figure 14] FIG. 11 illustrates an example of an editing and display process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] [1. Overall structure of the web database system] An example of an embodiment of a web database system according to the present disclosure will be described. Fig. 1 is a diagram showing an example of the overall configuration of a web database system. For example, the web database system 1 includes a server 10, a first user terminal 20A, and a second user terminal 20B. Each of the server 10, the first user terminal 20A, and the second user terminal 20B is connected to a network N such as the Internet or a LAN.
[0010] The server 10 is a server computer. For example, the server 10 includes a control unit 11, a storage unit 12, and a communication unit 13. The control unit 11 includes at least one processor. The storage unit 12 includes a volatile memory such as a RAM, and a non-volatile memory such as a flash memory. The communication unit 13 includes at least one of a communication interface for wired communication and a communication interface for wireless communication.
[0011] The first user terminal 20A is a computer of a first user. The second user terminal 20B is a computer of a second user different from the first user. Hereinafter, when there is no need to distinguish between the first user and the second user, they are simply referred to as users. When there is no need to distinguish between the first user terminal 20A and the second user terminal 20B, they are referred to as user terminals 20. When there is no need to distinguish between the control units 21A and 21B, the storage units 22A and 22B, the communication units 23A and 23B, the operation units 24A and 24B, and the display units 25A and 25B, they are referred to as the control unit 21, the storage unit 22, the communication unit 23, the operation unit 24, and the display unit 25, respectively.
[0012] For example, the user terminal 20 is a personal computer, a tablet terminal, or a smartphone. For example, the user terminal 20 includes a control unit 21, a storage unit 22, a communication unit 23, an operation unit 24, and a display unit 25. The hardware configurations of the control unit 21, the storage unit 22, and the communication unit 23 may be similar to those of the control unit 11, the storage unit 12, and the communication unit 13, respectively. The operation unit 24 is an input device such as a mouse, a touch panel, or a keyboard. The display unit 25 is a liquid crystal display or an organic EL display.
[0013] The programs stored in the storage units 12, 22 may be supplied via the network N. The hardware configuration of each of the server 10 and the user terminal 20 is not limited to the example in Fig. 1. For example, a reading unit (e.g., an optical disk drive or a memory card slot) that reads a computer-readable information storage medium, or an input / output unit (e.g., a USB terminal) for direct connection to an external device may be included. In this case, the programs stored in the information storage medium may be supplied via the reading unit or the input / output unit.
[0014] Furthermore, the number of user terminals 20 may be any number and is not limited to two. For example, the web database system 1 may include only one user terminal 20, or may include three or more user terminals 20. The number of users using the web database system 1 may also be any number. For example, the number of users using the web database system 1 may be only one, or may be three or more. The number of users and the number of user terminals 20 may be the same or different. One user may use multiple user terminals 20, or one user terminal 20 may be shared by multiple users.
[0015] Furthermore, the web database system 1 only needs to include at least one computer. The computers included in the web database system 1 are not limited to the example of FIG. 1. For example, the web database system 1 does not need to include the user terminal 20. In this case, the user terminal 20 exists outside the web database system 1, and the web database system 1 includes only the server 10. The web database system 1 may include the server 10 and other server computers. The web database system 1 may include only other computers other than the server computers.
[0016] [2. Overview of Web Database Systems] The web database system 1 allows editing operations of a web database simultaneously through multiple interfaces. An interface is a means for accepting editing operations. The interface here is not limited to physical hardware, but also includes software-based user interfaces. In this embodiment, the term interface may be read as any interface for editing a web database.
[0017] In this embodiment, a case will be described in which the user terminal 20 corresponds to the interface, but the display unit 25 may correspond to the interface instead of the user terminal 20. When the interface refers to a software user interface rather than physical hardware such as the user terminal 20 or the display unit 25, for example, a browser window, a tab in the window, or a screen of an application other than a browser corresponds to the interface. In this embodiment, two interfaces are given as an example, but there may be three or more interfaces capable of simultaneous editing operations.
[0018] A web database is a database available via a network N. A computer that stores a web database is different from a computer that accesses the web database. A web database is also called an online database. In this embodiment, a cloud-type web database is taken as an example, but various types of web databases are available. For example, the web database may be an on-premise type.
[0019] Editing a web database means updating all or part of the web database. For example, if a web database contains at least one record, changing, deleting, or adding a record corresponds to editing the web database. In a web database that does not have the concept of records, changing, deleting, or adding at least a portion of the data that constitutes the web database corresponds to editing the web database. An editing operation is a user operation performed to edit a web database.
[0020] In this embodiment, an example is taken of the case where the web database system 1 is applied to a business support service. Examples of application to other services will be described in the modified examples below. The business support service is a service that supports the business of an organization or an individual. Hereinafter, the web database of the business support service will be described using screen transitions on the display unit 25A of the first user terminal 20A as an example. For example, when the first user logs in to the business support service, a table format screen for displaying the web database in table format is displayed on the display unit 25A.
[0021] FIG. 2 is a diagram showing an example of a table format screen. In the example of FIG. 2, a web database called an app is taken as an example. The app is an example of a web database that has a database function for registering, viewing, or searching data, and a communication function for smoothly carrying out business. In the example of FIG. 2, an app for managing applications to the Patent Office is explained as a web database. For example, table T10 showing a list of records in the web database is displayed on the table format screen SC1.
[0022] A record is an individual unit of data that makes up a web database. Data entered into a field in a web database is compiled into a single record. In the example of Figure 2, the rows of table T10 correspond to records. A field is each item that makes up a record. In the example of Figure 2, the columns of table T10 correspond to fields. For example, items such as "control number," "name of invention," "country," "application type," "request date," and "application date" correspond to fields.
[0023] In this embodiment, the record also includes other data that is not displayed in table T10. The first user can select a record for which the user wishes to check detailed information from table T10. In the example of FIG. 2, an icon I100 for selecting a record is displayed in table T10. For example, when the first user selects icon I100 for a record with management number "1002," a record detail screen showing details of this record is displayed on display unit 25A.
[0024] Fig. 3 is a diagram showing an example of a record details screen. For example, the input form F20 of the record details screen SC2 displays the field values of the record with the management number "1002" selected by the first user. The record details screen SC2 also displays other data that is not displayed in the table T10 of Fig. 2. In the example of Fig. 3, a list of files registered in the record and comments registered in the record are displayed as the other data.
[0025] In this embodiment, in principle, a record cannot be edited unless the first user selects the edit button B21. However, it is possible for the first user to input a comment even if the first user does not select the edit button B21. Hereinafter, the state before the edit button B21 is selected is referred to as the browse mode. The state after the edit button B21 is selected is referred to as the edit mode. For example, when the first user selects the edit button B21, the record details screen SC2 enters the edit mode.
[0026] FIG. 4 is a diagram showing an example of the edit mode. For example, in the edit mode, some images such as the edit button B21 are erased, and a cancel button B22 and a save button B23 are displayed. In the edit mode, the first user can change the value of the input form F20 or upload a file to be shared. In the example of FIG. 4, the first user inputs "cloud system and program" as a new value for the field "name of invention" in the input form F20.
[0027] For example, the first user can input edits to multiple fields. When the first user selects the cancel button B22, the edit mode is canceled. When the edit mode is canceled, the edits input up to that point are discarded. When the first user selects the save button B23, the record is edited based on the edits input by the first user. In the example of FIG. 4, the value of the field "Name of invention" becomes "Cloud system and program." When editing is completed, the edit mode returns to the view mode.
[0028] 2 to 4, the screen transitions in the display unit 25A are shown as an example, but the display unit 25B is also capable of similar screen transitions. That is, the second user can also edit a record by displaying the table format screen SC1 and the record detail screen SC2 on the display unit 25B in the same manner as in the flows shown in FIGS. 2 to 4. In this embodiment, since the same record can be edited simultaneously on the first user terminal 20A and the second user terminal 20B, the second user can also edit the same record as the record that the first user has edited or is currently editing.
[0029] Fig. 5 is a diagram showing an example of actions performed by each of a first user and a second user in a time series. In the example of Fig. 5, a behavior pattern in a case where a first user edits a record before a second user edits the record is shown. The behavior pattern in a case where a second user edits a record before a first user edits the record can be considered by exchanging the first user and the second user in Fig. 5.
[0030] The behavior pattern 1 is an example of a behavior pattern when the second user selects the edit button B21 to switch to the edit mode after the first user selects the save button B23. The behavior pattern 2 is an example of a behavior pattern when the second user selects the edit button B21 to switch to the edit mode before the first user selects the save button B23. In this embodiment, the display of the record details screen SC2 on the second user side is different between the behavior pattern 1 and the behavior pattern 2.
[0031] Fig. 6 is an example of the record details screen SC2 on the second user side in the behavior pattern 1. As shown in Fig. 6, in the case of the behavior pattern 1, when the second user selects the edit button B21 to switch to the edit mode, a message M24 prompting the second user terminal 20 to reload is displayed. For example, the message M24 may include content that warns the second user. The message M24 includes a cancel button B240 for canceling the transition to the edit mode and a reload button B241 for executing the reload.
[0032] For example, when the second user selects the cancel button B240, the message M24 is erased and the transition to the edit mode is canceled. In this case, the second user can also execute reloading from the browser menu or a predetermined key on the operation unit 24B. When reloading is executed, the edit contents by the first user are reflected on the record details screen SC2. When the second user then selects the edit button B21, the message M24 is not displayed and the record details screen SC2 transitions to the edit mode.
[0033] For example, when the second user selects the reload button B241, the record details screen SC2 is reloaded and the record details screen SC2 in edit mode is displayed on the display unit 25B. In this case, the edited content by the first user is reflected in the record details screen SC2 in edit mode. The second user can perform editing operations from the record details screen SC2 in edit mode with the edited content by the first user reflected.
[0034] Note that the message M24 may be displayed on the display unit 25B before the second user selects the edit button B21. For example, polling is performed periodically between the server 10 and the second user terminal 20B to detect the editing of the record by the first user. If the editing of the record by the first user is detected before the second user selects the edit button B21, the message M24 is displayed on the display unit 25B even if the second user does not select the edit button B21. In this case, the second user can notice the need for reloading before selecting the edit button B21.
[0035] FIG. 7 is an example of the record details screen SC2 on the second user side in the behavior pattern 2. As shown in FIG. 7, in the case of the behavior pattern 2, when the record details screen SC2 is in the edit mode, the editing by the first user is not completed. When the second user selects the save button B23, the editing by the first user is completed, so a message M25 prompting the second user terminal 20B to reload is displayed. For example, the message M25 may include a notification to the second user instead of a warning.
[0036] In the example of Fig. 7, message M25 is similar to message M24 in that it includes a cancel button B250 and a reload button B251, but the specific wording differs from message M24. For example, message M25 displays the name of the first user, but message M24 does not. For example, message M24 mentions the record change history, but message M25 does not. Other wording also differs between messages M24 and M25.
[0037] For example, when the second user selects the cancel button B250, the message M25 is erased and the screen returns to the record details screen SC2 immediately before the second user selected the save button B23. In this case, the second user can also execute reloading from the browser menu or a predetermined key on the operation unit 24B. When reloading is executed, the edit contents by the first user are reflected on the record details screen SC2.
[0038] The edited contents of the second user input before reloading may be carried over to the record details screen SC2 after reloading, or the second user may save the edited contents in a text editor or the like and copy and paste them after reloading. If the second user then selects the Save button B23, the record is edited based on the edited contents of the second user without displaying the message M25. If the second user edits the same field as the first user, the edited contents of the first user will be overwritten by the edited contents of the second user.
[0039] For example, when the second user selects the reload button B251, the record details screen SC2 is reloaded. In this case, the edited contents of the second user input before the reload may be stored in the server 10 or the second user terminal 20B and carried over to the record details screen SC2 after the reload, or the second user may save the edited contents in a text editor or the like and copy and paste them after the reload. When the second user then selects the save button B23, the record is edited based on the edited contents of the second user without displaying the message M25.
[0040] Like the message M24, the message M25 may be displayed on the display unit 25B before the second user selects the Save button B23. In this case, polling may be performed periodically between the server 10 and the second user terminal 20B. If editing of the record by the first user is detected before the second user selects the Save button B23, the message M25 is displayed on the display unit 25B even if the second user does not select the Save button B23. In this case, the second user can notice the need for reloading before selecting the Save button B23.
[0041] As described above, when a first user edits a record while a second user is viewing or editing the same record, the web database system 1 displays messages M24 and M25 on the record details screen SC2 of the second user. This allows the second user to realize the need for reloading at an early stage, improving the usability of the web database. The web database system 1 will be described in detail below.
[0042] [3. Functions realized by the web database system] FIG. 8 is a diagram showing an example of functions realized by the web database system 1. As shown in FIG.
[0043] [3-1. Functions realized by the server] The server 10 includes a data storage unit 100, a display control unit 101, an editing unit 102, a determination unit 103, and a process execution unit 104. The data storage unit 100 is realized by the storage unit 12. The display control unit 101, the editing unit 102, the determination unit 103, and the process execution unit 104 are realized by the control unit 11.
[0044] [Data storage section] The data storage unit 100 stores at least one web database DB. In this embodiment, for the sake of simplicity, only one web database DB will be described, but the data storage unit 100 may store multiple web database DBs.
[0045] FIG. 9 is a diagram showing an example of a web database DB. For example, the web database DB stores a database name and record data related to records. The database name is information that can identify the web database DB. The web database DB may be identified by other information such as a link, instead of the database name. Any data may be stored in the web database DB, and the data stored in the web database DB is not limited to the example of FIG. 9. For example, the web database DB may store data related to the change history of the record, or data related to access authority.
[0046] Record data is data related to a record. For example, the record data includes a record ID that can uniquely identify a record, data that is displayed in table T10, and data that is not displayed in table T10. For example, the data that is displayed in table T10 includes the names of each of a plurality of fields and the values of the fields. For example, the data that is not displayed in table T10 includes a file registered in the record and a comment registered in the record. In this embodiment, the record data includes version information of the record. For example, the version information indicates the most recent edit date and time of the record.
[0047] The version information is not limited to the latest edit date and time, and may be any information that can identify whether the record is the latest or not. For example, the version information may be a value that is incremented or decremented each time an edit is made. When the record details screen SC2 is displayed on the user terminal 20, the version information is also sent to the user terminal 20. If the version information held on the server 10 side matches the version information held on the user terminal 20 side, this means that the record displayed on the record details screen SC2 is the latest. If they do not match, this means that the record displayed on the record details screen SC2 is not the latest.
[0048] In addition, version information may exist for each of the parts that make up the record. For example, version information may exist for each field of the record. In this way, it is possible to specifically identify which part of the record has been updated. In addition to the version information, the record data may include editor information that can identify the user who edited the record. The editor information may also exist for each of the parts that make up the record. In this way, it is possible to specifically identify who updated which part of the record.
[0049] Furthermore, the data storage unit 100 can store any data. The data stored in the data storage unit 100 is not limited to the web database DB. For example, the data storage unit 100 stores a user database that stores information about users who use the business support service. For example, the user database stores data such as a user ID that can identify a user, a user name, a password, a user organization, a user position, and a user affiliation. For example, the data storage unit 100 stores data required for displaying various screens such as a table format screen SC1 and a record details screen SC2.
[0050] [Display control section] The display control unit 101 causes the user terminal 20 to display a screen showing all or part of the contents of the web database DB. In this embodiment, a record details screen SC2 is described as an example of this screen, but all or part of the web database DB may be displayed on a table format screen SC1 or another screen. For example, the other screen may be a screen that displays all or part of the contents of the web database DB in a format other than a table format, or a screen that displays details of multiple records together. It may be possible to edit the web database DB from the other screen.
[0051] For example, the display control unit 101 generates display data for the record details screen SC2 and transmits it to the user terminal 20. The display data may be in any format as long as it is data necessary for displaying some screen. In this embodiment, a browser is used, so HTML data will be described as an example of display data. The display data may be XML data, image data such as JPG, or data in other formats. When an application dedicated to business support services is used instead of a browser, the display data may correspond to data for displaying some screen in the application.
[0052] For example, when a user selects an icon I100 on the table format screen SC1, the user terminal 20 transmits a display request for a record details screen SC2 to the server 10. The display request may be data in a predetermined format for displaying the record details screen SC2, and may include, for example, a URL corresponding to the record details screen SC2. The display request also includes record identification information that can identify the record selected by the user. The record identification information is included in the display data of the table format screen SC1. For example, the record ID assigned to the record may correspond to the record identification information, or the value of a field such as the management number in FIG. 2 may correspond to the record identification information.
[0053] For example, when the server 10 receives a display request for the record details screen SC2, the display control unit 101 acquires record data corresponding to the record identification information included in the display request from the web database DB. The display control unit 101 generates display data for the record details screen SC2 based on the acquired record data. The display data also includes version information of the record. For example, the display control unit 101 sets the values of each field included in the record data in the input form F20.
[0054] In this embodiment, when the record details screen SC2 is just displayed, it is in the view mode, not the edit mode, so the input form F20 has the disabled attribute so that values cannot be entered. The display control unit 101 transmits display data in which the other parts except for the comments are also set to the disabled attribute to the user terminal 20, thereby causing the record details screen SC2 in the view mode to be displayed on the user terminal 20. When the view mode and the edit mode are not to be used separately, the disabled attribute may not be set.
[0055] For example, when a user selects the edit button B21 on the record details screen SC2, the user terminal 20 transmits a transition request to the server 10 to the edit mode. The transition request may be data in a predetermined format for instructing a transition from the browse mode to the edit mode, and may include, for example, a URL in which information indicating that a transition to the edit mode has been instructed and version information of the record displayed on the record details screen SC2 are indicated as arguments. Note that when the edit button B21 is selected, the transition to the edit mode may be made only by control on the user terminal 20 side without transmitting a transition request from the user terminal 20 to the server 10. In this case, the change from a disabled attribute to an enabled attribute, which will be described later, is also performed only by control on the user terminal 20 side.
[0056] For example, when the server 10 receives a request to switch to the edit mode, a determination is made by the determination unit 103, which will be described later. If it is not necessary to display the message M24 by the process execution unit 104, which will be described later, the display control unit 101 generates display data for the record details screen SC2 in the edit mode and displays it on the user terminal 20. On the record details screen SC2 in the edit mode, the input form F20 and the like, which had the disabled attribute in the browse mode, become enabled attributes. Similarly, when the user selects the save button B23, a determination is made by the determination unit 103, which will be described later, and if it is not necessary to display the message M24 by the process execution unit 104, which will be described later, the display control unit 101 generates display data for the record details screen SC2 in the browse mode in which the edits are reflected, and displays it on the user terminal 20.
[0057] [Editorial Department] The editing unit 102 edits the web database DB based on the user's operation. In this embodiment, since editing is possible on a record-by-record basis, the editing unit 102 edits a record specified by the user in the web database DB based on the user's operation. For example, when the user selects the edit button B21 to put the record details screen SC2 into the edit mode, the editing unit 102 edits the record based on the editing content input by the user from the record details screen SC2 in the edit mode. A publicly known method can be used as the method for editing the record. A publicly known method can also be used as the editing method when editing is not performed on a record-by-record basis. The editing unit 102 may edit the web database DB in response to a request from the user terminal 20. When the editing unit 102 edits the web database DB, it updates the version information.
[0058] [Judgment section] The determination unit 103 determines whether or not the web database DB has been edited or is being edited in a first interface among the multiple interfaces. Edited means that an editing operation has been performed and the editing contents have been saved. Editing means that an editing operation is being performed and the editing contents have not been saved. In this embodiment, editing is performed on a record-by-record basis, so the determination unit 103 determines whether or not the same record in the web database DB as the record being displayed or edited in the second interface has been edited or is being edited in the first interface. In this embodiment, the determination of whether or not editing is being performed is not performed, and a case will be described in which the determination unit 103 determines whether or not the web database DB has been edited in the first interface. The determination of whether or not editing is being performed will be described in a modified example described later.
[0059] In this embodiment, the first user terminal 20A and the second user terminal 20B are described as an example of the first interface and the second interface, respectively. For example, when the first user selects the save button B23, the first user terminal 20A transmits a save request to the server 10 to save the edited contents of the record. The save request may be data in a predetermined format, and may include, for example, the edited contents of the record. The determination unit 103 determines whether the web database DB has been edited in the first user terminal 20A by determining whether a save request has been received from the first user terminal 20A.
[0060] In the example of FIG. 4, the save request includes the text "Cloud system and program", which is the value of the field "Name of invention" entered by the first user. The save request may include data of a portion of the record that has not been edited by the first user. The above-mentioned editing unit 102 edits the record in the web database DB based on the save request. Thereafter, the determination unit 103 may execute polling with the second user terminal 20B. The polling in this embodiment refers to checking version information rather than ensuring data consistency.
[0061] The determination unit 103 may determine whether the version information of the record stored in the web database DB matches the version information of the record stored in the second user terminal 20B. The determination unit 103 may determine whether the values of each field of the record stored in the web database DB matches the values of each field of the record displayed on the record details screen SC2 instead of the version information. The determination unit 103 determines whether the record displayed on the record details screen SC2 of the second user is the latest. If this record is not the latest, it means that the first user has edited it.
[0062] [Processing execution section] When it is determined that the web database DB has been edited or is being edited in the first interface, the process execution unit 104 executes a predetermined process related to the web database DB in a second interface of the multiple interfaces. In this embodiment, editing is performed on a record-by-record basis, so the process execution unit 104 executes a predetermined process when it is determined that the same record has been edited or is being edited in the first interface.
[0063] In this embodiment, the process execution unit 104 executes a predetermined process based on the edited content in the first interface when the web database DB is being displayed in the second interface, but the predetermined process may be executed when the web database DB is not being displayed in the second interface. For example, the predetermined process may be executed when the screen corresponding to the second interface is minimized and not being displayed, when the power of the screen is off, or when the screen is locked. In addition, the predetermined process may be executed regardless of the edited content in the first interface.
[0064] In the examples of Figures 2 to 7, the first user terminal 20A corresponds to the first interface and the second user terminal 20B corresponds to the second interface, so when it is determined that the web database DB has been edited or is being edited in the first user terminal 20A, the processing execution unit 104 executes a predetermined process related to the web database DB in the second user terminal 20B.
[0065] The predetermined process is a process that is executed when it is determined that the web database DB has been edited or is being edited in the first interface. In this embodiment, when it is determined that the web database DB is being edited or has been edited in the first interface, the process execution unit 104 executes, as the predetermined process, an edit display process that displays, in the second interface, information that can identify that the web database DB is being edited or has been edited in the first interface. Therefore, the parts that explain the edit display process can be read as the predetermined process.
[0066] In this embodiment, the editing display process is a process for displaying, in the second interface, information that can identify that the web database DB has been edited in the first interface. For example, the editing display process is a process for displaying messages M24 and M25. The editing display process may be a process for displaying images other than the messages M24 and M25. For example, the editing display process may be executed using a notification in the business support service, a push notification of the user terminal 20, a pop-up, an e-mail, or other message tools. The editing display process may not necessarily display an image for reloading, such as the reload buttons B241 and B251, and may simply display an image indicating that the web database DB has been edited in some way.
[0067] In this embodiment, the process execution unit 104 executes the edit display process based on the situation related to the web database DB in the second interface. The situation here means whether the web database DB is before editing or being edited. The situation may correspond to the extent to which editing has been performed by the second user. The process execution unit 104 may not execute the edit display process in a certain situation, and may execute the edit display process in a specific situation. In this embodiment, the process execution unit 104 executes the edit display process so that different images are displayed depending on the situation.
[0068] For example, before the second user selects the edit button B21 (i.e., before switching to edit mode), the process execution unit 104 executes an edit display process to display a message M24. After the second user selects the edit button B21 (i.e., after switching to edit mode), the process execution unit 104 executes an edit display process to display a message M25. The process execution unit 104 only needs to display different images before the second user selects the edit button B21 and after the second user selects the edit button B21, and may change the notification method itself in addition to using different messages M24 and M25.
[0069] [3-2. Functions realized on user terminals] The first user terminal 20A and the second user terminal 20B have similar functions. Therefore, the first user terminal 20A and the second user terminal 20B will not be distinguished from each other and will be described as functions of the user terminal 20. The user terminal 20 includes a data storage unit 200, a display control unit 201, and an operation reception unit 202. The data storage unit 200 is realized by the storage unit 22. The display control unit 201 and the operation reception unit 202 are realized by the control unit 21.
[0070] [Data storage section] The data storage unit 200 stores data necessary for editing the web database DB. For example, the data storage unit 200 stores a browser for displaying various screens related to the business support service. For example, the data storage unit 200 stores an application for the business support service.
[0071] [Display control section] The display control unit 201 causes various screens in the business support service to be displayed on the display unit 25. For example, the display control unit 201 causes the display unit 25 to display a table format screen SC1 or a record details screen G2 based on display data received from the server 10.
[0072] [Operation reception section] The operation reception unit 202 receives various operations in the business support service. The operation contents are appropriately transmitted to the server 10.
[0073] [4. Processing performed in the web database system] 10 and 11 are diagrams showing an example of processing executed in the web database system 1. In Fig. 10 and Fig. 11, the processing will be described as that of the user terminal 20 without distinguishing between the first user terminal 20A and the second user terminal 20B.
[0074] 10, the user terminal 20 executes a login process for logging in to the business support service with the server 10 (S1). When the login is successful and the user requests the display of the web database DB, the user terminal 20 displays a table format screen SC1 on the display unit 25 (S2). When the user selects an icon I100, the user terminal 20 transmits a display request for a record details screen SC2 to the server 10 (S3).
[0075] When the server 10 receives the display request for the record details screen SC2, it generates display data for the record details screen SC2 in the browse mode based on the web database DB and transmits it to the user terminal 20 (S4). This display data includes version information of the record that is the subject of the display request. When the user terminal 20 receives the display data for the record details screen SC2, it causes the display unit 25 to display the record details screen SC2 in the browse mode (S5).
[0076] The server 10 acquires the version information from the user terminal 20 and judges whether the record displayed on the record details screen SC2 is the latest (S6). In S6, the server 10 acquires the version information from the user terminal 20 at regular time intervals (for example, about 0.5 seconds to a few seconds or about 10 seconds to 30 seconds). In S6, if the server 10 judges that the record displayed on the record details screen SC2 is the latest (S6: latest), it proceeds to the process of S10 described below and does not execute the processes of S7 to S9.
[0077] If it is determined in S6 that the record displayed on the record details screen SC2 is not the latest (S6: old), the server 10 executes an edit display process for displaying the message M24 with the user terminal 20 (S7). The user terminal 20 identifies the user's operation (S8). If the user selects the reload button B241 (S8: reload), a reload is executed with the server 10 (S9). If the user selects the cancel button B240 (S8: cancel), the message M24 is erased and this process ends. In this case, if the user reloads using another method, the process from S10 onwards may be executed.
[0078] When the user selects the edit button B21, the user terminal 20 transmits a request to switch to edit mode to the server 10 (S10). When the server 10 receives the request to switch to edit mode, it determines whether the record displayed on the record details screen SC2 is the latest based on the web database DB (S11). The process in S11 is the same as the process in S6. If it is determined that the record displayed on the record details screen SC2 is the latest (S11: latest), the process proceeds to S15 described below, and the processes in S12 to S14 are not executed.
[0079] In S11, if it is determined that the record displayed on the record details screen SC2 is not the latest (S11: old), the same processes as S7 to S9 are executed in S12 to S14. When the reloading in S14 is executed, the process proceeds to S15. Moving to FIG. 11, the user terminal 20 sets the record details screen SC2 to an edit mode between the server 10 (S15). When the edit mode is entered in S15, an edit operation by the user is accepted. The user inputs data into the input form F20, etc.
[0080] The server 10 executes the process of S16 which is the same as the process of S6. If it is determined that the record displayed on the record details screen SC2 is the latest (S16: latest), the process proceeds to the process of S20 described below, and the processes of S17 to S19 are not executed. If it is determined in S16 that the record displayed on the record details screen SC2 is not the latest (S16: old), the server 10 executes an edit display process between the server 10 and the user terminal 20 to display the message M25 (S17).
[0081] The user terminal 20 identifies the user's operation (S18). If the user selects the reload button B251 (S18: reload), the user terminal 20 executes reloading with the server 10 (S19). If the user selects the cancel button B250 (S18: cancel), the process of S19 is not executed and this process ends. In this case, if the user executes reloading by another method, the process from S20 onwards may be executed.
[0082] When the user selects the save button B23, the user terminal 20 transmits a save request to the server 10 (S20). When the server 10 receives the save request, it judges whether or not the record displayed on the record details screen SC2 is the latest based on the web database DB (S21). The process of S21 is similar to the process of S16. If it is judged that the record displayed on the record details screen SC2 is the latest (S21: latest), the server 10 edits the record in accordance with the save request (S22), and this process ends. If it is judged in S21 that the record displayed on the record details screen SC2 is not the latest (S21: old), the processes of S17 to S19 are executed.
[0083] The web database system 1 of this embodiment executes a predetermined process for the web database DB in the second interface when it is determined that the web database DB has been edited or is being edited in the first interface. This improves the convenience of the web database DB. For example, when the web database DB is edited in the first user terminal 20A, the second user can notice the need for reloading at an early stage by displaying messages M24 and M25 in the second user terminal 20B. As a result, when the second user selects the save button B23, an error message is displayed, preventing the edited contents from being wasted, and the convenience of the web database DB is improved. For example, when the web database DB is being edited in the first user terminal 20A, even if a similar message is displayed in the second user terminal 20B, the second user can notice the need for reloading at an early stage, preventing the edited contents entered by the second user from being wasted, and the convenience of the web database DB is improved.
[0084] Furthermore, when the web database DB is being displayed in the second interface, the web database system 1 executes a predetermined process based on the edited content in the first interface. This improves the convenience of the web database DB. For example, when the record detail screen SC2 is being displayed on the second user terminal 20B, messages M24 and M25 are displayed, so that the second user can notice the need for reloading while checking the record detail screen SC2, thereby improving the convenience.
[0085] Furthermore, the web database system 1 executes a predetermined process when it is determined that the same record as the record being displayed or edited in the second interface is being displayed or edited in the first interface. By making the data to be determined by the determination unit 103 record by record, the convenience of the web database DB is improved. For example, when the first user edits the first record and the second user edits the second record, there is no need to reload, so messages M24 and M25 are not displayed, and messages M24 and M25 are displayed only when there is a need to reload, thereby preventing unnecessary display.
[0086] Furthermore, when it is determined that the web database DB has been edited in the first interface, the web database system 1 executes, as a predetermined process, an edit display process for displaying, in the second interface, information that enables identification that the web database DB has been edited in the first interface. This makes it easier for the second interface to notice that the web database DB has been edited in the first interface, thereby improving the usability of the web database DB. For example, by displaying messages M24 and M25 as this information, the second user can notice the need for reloading at an early stage, thereby improving the usability of the web database DB.
[0087] Furthermore, the web database system 1 executes an editing and display process based on the situation related to the web database DB in the second interface. This enables flexible display according to the situation, thereby improving the convenience of the web database DB. For example, before the second user starts editing a record, a message M24 is displayed, and when the second user is editing a record, a message M25 is displayed. By using different displays, the second user can be given an awareness according to the situation.
[0088] [5. Modifications] The present disclosure is not limited to the above-described embodiment, and may be modified as appropriate without departing from the spirit and scope of the present disclosure.
[0089] [5-1. Variation 1] For example, in the example described in the embodiment, even if the first user and the second user edit the same record, the first user and the second user may edit different parts. In this case, even if the second user edits the record without reloading and without noticing the edit by the first user, the edit content of the first user will not be overwritten, so the message M25 may not be displayed.
[0090] The process execution unit 104 of the first modification executes a predetermined process based on the edited content in the first interface and the edited content in the second interface when the web database DB has been edited or is being edited in the second interface as well. In the first modification, as in the embodiment, the first user terminal 20A, the second user terminal 20B, and the edit display process are described as examples of the first interface, the second interface, and the predetermined process, respectively. As described in the embodiment, the first interface, the second interface, and the predetermined process are not limited to these examples.
[0091] For example, the process execution unit 104 judges whether or not the edited part of the record by the first user and the edited part of the record by the second user match. The edited part is a field of the record or a part other than a field (for example, a comment or a file sharing part). If the process execution unit 104 judges that the edited part of the record by the first user and the edited part of the record by the second user do not match, the process execution unit 104 does not execute the edit display process, and if the process execution unit 104 judges that the edited part of the record by the first user and the edited part of the record by the second user match, the process execution unit 104 executes the edit display process. The process execution unit 104 may change the contents of the message M24, etc., based on the above judgment result, rather than on whether or not to execute the edit display process.
[0092] The process executed by the process execution unit 104 is not limited to the above example. For example, even if the first user and the second user edit the same part of the same record, the edited contents may be the same. In this case, even if the second user does not execute reloading, the edited contents of the first user are not substantially overwritten, so there is a possibility that the message M25 does not need to be displayed on the second user terminal 20B.
[0093] Therefore, when it is determined that the edited portion of the record by the first user and the edited portion of the record by the second user match, the process execution unit 104 may further determine whether or not the value input by the first user is the same as the value input by the second user. When it is determined that the value input by the first user is the same as the value input by the second user, the process execution unit 104 may not execute the edit display process, and when it is determined that the value input by the first user is not the same as the value input by the second user, the process execution unit 104 may execute the edit display process.
[0094] The web database system 1 of the first modification executes a predetermined process based on the edited content in the first interface and the edited content in the second interface when the web database DB has been edited or is being edited in the second interface as well. This allows the predetermined process to be executed flexibly, improving the convenience of the web database DB. For example, the second user does not need to reload the data, reducing the burden on the second user.
[0095] [5-2. Variation 2] For example, in the embodiment, the editing and displaying process has been described as an example of the predetermined process executed by the process executing unit 104. The predetermined process is not limited to the editing and displaying process as long as it is a process executed based on the determination result of the determining unit 103. In Modification 2, another example of the predetermined process will be described.
[0096] The process execution unit 104 of the second modification executes an automatic reflection process as a predetermined process, which automatically reflects the edited contents in the first interface in the second interface. The automatic reflection process is a process in which the edited contents in the first interface are displayed in the second interface without requiring an operation in the second interface. The automatic reflection process is executed by performing polling to ensure consistency of records between the server 10 and the user terminal 20. The polling may be executed by using a program such as a script on a browser. In the second modification, as in the embodiment, the first user terminal 20A and the second user terminal 20B are described as examples of the first interface and the second interface, respectively. As described in the embodiment, the first interface and the second interface are not limited to these examples.
[0097] Fig. 12 is a diagram showing an example of the automatic reflection process. In the example of Fig. 12, a record detail screen SC2 in the browse mode is displayed on the second user terminal 20. In this case, when the first user edits a record, the process execution unit 104 executes the automatic reflection process by automatically changing the value of the record edited by the first user in the record detail screen SC2 in the browse mode to the value input by the first user. In this case, a message indicating that the automatic reflection process has been executed may be displayed on the record detail screen SC2.
[0098] Note that, even when the record details screen SC2 in edit mode is displayed on the second user terminal 20, the process execution unit 104 may execute the same automatic reflection process as in Fig. 12. For example, when the first user edits a record, the process execution unit 104 may execute the automatic reflection process by automatically changing the value of the field edited by the first user on the record details screen SC2 in edit mode to the value input by the first user.
[0099] Furthermore, by combining the first and second modifications, the process execution unit 104 may execute an automatic reflection process based on the edited content of the first user and the edited content of the second user. For example, the process execution unit 104 may not execute the automatic reflection process when it is determined that the edited part of the record by the first user and the edited part of the record by the second user match, and may execute the automatic reflection process when it is determined that the edited part of the record by the first user and the edited part of the record by the second user do not match.
[0100] For example, by combining the first and second modified examples, the process execution unit 104 may not execute the automatic reflection process when it is determined that the value input by the first user and the value input by the second user are not the same, and may execute the automatic reflection process when it is determined that the value input by the first user and the value input by the second user are the same. The process execution unit 104 may execute the edit display process together with the automatic reflection process, or may not execute the edit display process when the automatic reflection process is executed. The process execution unit 104 may not execute the edit display process regardless of whether the automatic reflection process is executed or not.
[0101] The web database system 1 of the modified example 2 executes an automatic reflection process as a predetermined process, whereby edited contents are automatically reflected without the need to reload, improving the convenience of the web database DB.
[0102] [5-3. Variation 3] For example, the process execution unit 104 may execute processes other than the edit display process and the automatic reflection process as the predetermined process. The process execution unit 104 in Modification 3 executes, as the predetermined process, an edit location display process for displaying an edit location in the first interface in an identifiable manner in the second interface. In Modification 3, as in the embodiment, the first user terminal 20A and the second user terminal 20B will be described as examples of the first interface and the second interface, respectively. As described in the embodiment, the first interface and the second interface are not limited to these examples.
[0103] FIG. 13 is a diagram showing an example of the edited portion display process. In the example of FIG. 13, the record details screen SC2 in the browse mode is displayed on the second user terminal 20B. In this case, when the first user edits the record, the process execution unit 104 executes the edited portion display process by changing the background color of the input form F20 of the field edited by the first user in the record details screen SC2 in the browse mode. FIG. 13 shows a case where the automatic reflection process of the modified example 2 is executed and the edited portion display process is also executed, but the automatic reflection process of the modified example 2 may not be executed and only the edited portion display process may be executed.
[0104] The edited part display process may be any process for visually recognizing an edited part, and is not limited to the example in Fig. 13. For example, the edited part display process may be to change the color of the frame rather than the background of the input form F20, to increase the size of the input form F20, to display an image such as a speech bubble near the input form F20, or to change the color of the value in the input form F20. The process execution unit 104 may execute the edited part display process by executing a combination of a plurality of processes exemplified above.
[0105] Also, when the record details screen SC2 in edit mode is displayed on the second user terminal 20B, the process execution unit 104 may execute the edited part display process similar to that of Fig. 13. For example, when the first user edits a record, the process execution unit 104 may execute the edited part display process by changing the background color of the input form F20 of the field edited by the first user on the record details screen SC2 in edit mode.
[0106] Furthermore, by combining the first and third modifications, the process execution unit 104 may execute an edited portion display process based on the edited content of the first user and the edited content of the second user. By combining the second and third modifications, the process execution unit 104 may execute an automatic reflection process together with the edited portion display process. By combining the first to third modifications, the process execution unit 104 may execute an edited portion display process together with an edited portion display process and an automatic reflection process.
[0107] The web database system 1 of the third modification executes, as a predetermined process, an edited portion display process for displaying an edited portion in the first interface in a identifiable manner in the second interface. This makes it easier to notice the edited portion, thereby improving the usability of the web database DB.
[0108] [5-4. Variation 4] For example, in the embodiment and the first to third modifications, a case has been described in which the process execution unit 104 executes a predetermined process when a record is edited by a first user. The process execution unit 104 may execute the predetermined process on the condition that the record is being edited by the first user. In other words, the process execution unit 104 may execute the predetermined process before the editing of the record by the first user is completed.
[0109] The determination unit 103 of the fourth modification determines whether or not the web database DB is being edited in the first interface. When it is determined that the web database DB is being edited in the first interface, the process execution unit 104 executes, as a predetermined process, an edit display process for displaying, in the second interface, information that can identify that the web database DB is being edited in the first interface. In the third modification, similarly to the embodiment, the first user terminal 20A and the second user terminal 20B will be described as examples of the first interface and the second interface, respectively.
[0110] For example, if the determination unit 103 has not received an editing request from the first user terminal 20A, it does not determine that the web database DB is being edited, and if the determination unit 103 has received an editing request from the first user terminal 20A, it determines that the web database DB is being edited. In the fourth modification, a case will be described in which the determination unit 103 also executes the process of identifying the first user who is editing, but the determination unit 103 does not need to identify who is editing.
[0111] FIG. 14 is a diagram showing an example of the edit display process. In the example of FIG. 14, the record detail screen SC2 in the browse mode is displayed on the second user terminal 20. In this case, when the first user starts editing the record, the process execution unit 104 executes the edit display process by displaying a message M26 indicating that the first user is editing on the record detail screen SC2 in the browse mode. The message M26 may not include the name of the first user, but may only include that someone is editing. If two or more users are editing, a message M26 according to the number of users may be displayed. The message M26 may include the name of the second user.
[0112] The edit display process may be any process for visually recognizing that editing is in progress, and is not limited to the example in Fig. 14. For example, the edit display process may be to display another image such as an icon instead of the message M26, or to display a push notification. The process execution unit 104 may execute the edit display process by executing a combination of a plurality of the processes exemplified above.
[0113] Also, when the record details screen SC2 in edit mode is displayed on the second user terminal 20, the process execution unit 104 may execute an edit display process similar to that of Fig. 14. For example, when the first user starts editing a record, the process execution unit 104 may execute an edited part display process by displaying a message M26 or another image on the record details screen SC2 in edit mode.
[0114] Furthermore, by combining the first and fourth modifications, the process execution unit 104 may execute an edit display process based on the edited content of the first user and the edited content of the second user. By combining the second and fourth modifications, the process execution unit 104 may execute an edit display process together with an automatic reflection process. By combining the third and fourth modifications, the process execution unit 104 may execute an edit display process together with an edited portion display process. By combining the first to fourth modifications, the process execution unit 104 may execute an automatic reflection process, an edited portion display process, and an edit display process based on the edited content of the first user and the edited content of the second user.
[0115] When it is determined that the web database DB is being edited in the first interface, the web database system 1 of the fourth modification executes, as a predetermined process, an edit display process for displaying, in the second interface, information that enables identification that the web database DB is being edited in the first interface. This allows the user to recognize that editing is being performed in another interface, thereby improving the convenience of the web database DB.
[0116] [5-5. Variation 5] For example, if the second user has a higher position than the first user, the edited content of the second user may be given priority over the edited content of the first user. Conversely, if the first user has a higher position than the second user, the edited content of the first user may be given priority over the edited content of the second user. For this reason, a predetermined process may be executed taking into consideration the relative relationship (e.g., a relationship of ups and downs or strengths and weaknesses) of some user attribute related to each of the first user and the second user.
[0117] The process execution unit 104 of the fifth modified example executes a predetermined process based on a first user attribute related to a first user in the first interface and a second user attribute related to a second user in the second interface. Hereinafter, when the first user attribute and the second user attribute are not distinguished from each other, they are simply referred to as user attributes. User attributes are information that can classify users. For example, organization, job title, department, year of joining the company, or management authority (role) of the web database DB correspond to user attributes. It is assumed that the user attributes are recorded in advance in the data storage unit 100.
[0118] For example, the process execution unit 104 determines whether to execute a predetermined process based on the first user attribute and the second user attribute. Taking a job title as an example, the process execution unit 104 may not execute a predetermined process when the job title indicated by the first user attribute is higher than the job title indicated by the second user attribute, and may execute a predetermined process when the job title indicated by the first user attribute is lower than the job title indicated by the second user attribute. Conversely, the process execution unit 104 may not execute a predetermined process when the job title indicated by the first user attribute is lower than the job title indicated by the second user attribute, and may execute a predetermined process when the job title indicated by the first user attribute is higher than the job title indicated by the second user attribute.
[0119] The web database system 1 of the fifth modification executes a predetermined process based on the first user attribute and the second user attribute. This allows the predetermined process to be executed in consideration of the relationship between the first user attribute and the second user attribute, thereby improving the convenience of the web database DB.
[0120] [5-6. Other Modifications] For example, modifications 1 to 5 may be combined.
[0121] For example, in the embodiment and the first to fifth modifications, a case is exemplified where a first user has edited or is editing a record while a second user is viewing or editing a record, but a similar process may be executed when a user has multiple windows or tabs open. For example, when a user is viewing or editing a record in a second window, the user may do other work and forget the existence of the second window, and may have edited or is editing the same record in a first window, messages M24 and M25 may be displayed in the second window, or an automatic reflection process may be executed. The same applies to tabs. In this case, each of the multiple windows or tabs opened by the same user corresponds to an interface.
[0122] For example, the predetermined process may be an exclusion process that prevents the web database DB from being edited. The exclusion process may be executed by preventing the second user from selecting the edit button B21 or the save button B23 while the first user is editing a record. For example, the web database system 1 may be applied to services other than the business support service. For example, the web database system 1 may be applied to a service in which a web database DB storing data unrelated to business is provided. For example, the web database system 1 may be applied to a service in which a web database DB storing content such as videos for entertainment is provided.
[0123] For example, each function described above may be realized by any device in the web database system 1. For example, a function described as being realized by the server 10 may be realized by the user terminal 20. In this case, a function similar to that of the server 10 may be realized by being executed by a browser script or an application installed in the user terminal 20. For example, a function described as being realized by the user terminal 20 may be realized by the server 10. For example, each function may be realized by one computer instead of being shared among multiple computers. [Explanation of symbols]
[0124] 1 Web database system, 10 Server, 11, 21, 21A, 21B Control unit, 12, 22, 22A, 22B Storage unit, 13, 23, 23A, 23B Communication unit, 20 User terminal, 20A First user terminal, 20B Second user terminal, 24, 24A, 24B Operation unit, 25, 25A, 25B Display unit, N Network, DB Web database, 100 Data storage unit, 101 Display control unit, 102 Edit unit, 103 Judgment unit, 104 Processing execution unit, 200 Data storage unit, 201 Display control unit, 202 Operation reception unit, F20 Input form, B21 Edit button, B22 Cancel button, B23 Save button, M24, M25, M26 Message, SC1 Table format screen, SC2 Record detail screen, T10 Table, B240, B250 Cancel button, B241,B251 Reload button, I100 icon.
Claims
1. A web database system capable of simultaneously editing and manipulating a web database through multiple interfaces, comprising: a determination unit that determines whether a first interface has been edited or is being edited by determining whether a save request or an edit request for the web database is received from a first interface of the plurality of interfaces, and determines whether the second interface is being edited by determining whether the edit request is received from a second interface of the plurality of interfaces; a process execution unit that, when it is determined that the web database has been edited or is being edited in the first interface and when it is determined that the web database is being edited in the second interface, executes a predetermined process related to the web database in the second interface based on the edited content in the first interface and the edited content in the second interface; A web database system including:
2. A web database system capable of simultaneously editing and operating a web database through a plurality of interfaces, comprising: a determination unit that determines whether the web database has been edited or is being edited in a first interface of the plurality of interfaces; a processing execution unit that, when it is determined that the web database has been edited or is being edited in the first interface, executes a predetermined process related to the web database in the second interface based on a first user attribute related to a first user in the first interface and a second user attribute related to a second user in a second interface of the plurality of interfaces; A web database system including:
3. the processing execution unit executes, as the predetermined processing, an editing portion display processing for displaying an editing portion in the first interface in a identifiable manner in the second interface; 3. The web database system according to claim 1 or 2.
4. the determination unit determines whether a record in the web database that is the same as a record being displayed or edited in the second interface has been edited or is being edited in the first interface; the process execution unit executes the predetermined process when it is determined that the same record has been edited or is being edited in the first interface.
3. The web database system according to claim 1 or 2.
5. The determination unit determines whether the web database is being edited or has been edited in the first interface; When it is determined that the web database is being edited or has been edited in the first interface, the process execution unit executes, as the predetermined process, an edit display process for displaying, in the second interface, information that can identify that the web database is being edited or has been edited in the first interface.
3. The web database system according to claim 1 or 2.
6. The process execution unit executes the editing and display process based on a state related to the web database in the second interface. The web database system of claim 5.
7. a web database that allows editing operations to be performed simultaneously through a plurality of interfaces, the method comprising: determining whether a first interface has been edited or is being edited by determining whether a save request or an edit request for the web database is received from a first interface of the plurality of interfaces; and determining whether the second interface is being edited by determining whether the edit request is received from a second interface of the plurality of interfaces; a process execution step of executing a predetermined process related to the web database in the second interface based on the edited content in the first interface and the edited content in the second interface when it is determined that the web database has been edited or is being edited in the first interface and when it is determined that the web database is being edited in the second interface; A method for performing a process comprising the steps of:
8. a web database capable of being edited simultaneously through a plurality of interfaces, the web database comprising: a determination unit that determines whether a save request or an edit request for the web database is received from a first interface of the plurality of interfaces, thereby determining whether the first interface has been edited or is being edited, and that determines whether the second interface is being edited, by determining whether the edit request is received from a second interface of the plurality of interfaces; a processing execution unit that, when it is determined that the web database has been edited or is being edited in the first interface and when it is determined that the web database is being edited in the second interface, executes a predetermined process related to the web database in the second interface based on the editing content in the first interface and the editing content in the second interface; A program that makes a computer function as a
Citation Information
Patent Citations
Distributed data base update method
JP1995064843A
Technique for Concurrency Control
US20220012226A1
Deadlock detection in distributed databases
US20220350677A1
