The present disclosure relates generally to a development tool and, more particularly, to a development tool comprising a dual panel mapping modal.
The development of computer applications is a complex task that takes on many forms including, for example, building of data contract documents, data structures, fields, user interfaces, etc. In general, developers take their data structures and data fields and connect or map them to a block or field in the applications in which they are building. The data fields can be connected to snippets of code used for calculations, creating application logic or building out the user interface of their applications.
Currently, developers connect the data fields to their application fields one by one, which is a very cumbersome and time consuming process particularly when an error occurs in the mapping or linking of data structures to fields. By way of example, when an error does occur, a developer cannot tell where the error occurred and has to click on each and every field to determine where a problem exists. In this way, when a data structure is not properly mapped to a field, the developer needs to manually search for the appropriate field, which is provided in a different interface, compare the field to the data structure and then manually map the data structure to the field.
One specific example is connecting a data contract document (e.g., a tool that serves as a communication layer between a data source and the consumers of data) to user interface (UI) components on a tile document (e.g., a tool for building interfaces on the platform). If a developer made changes to either of the documents, an error would surface because the mapped lines would become invalid. When this error occurs, a developer cannot tell where the error was and has to select each and every field to determine where the problem exists, e.g., broken link in the mapping. Once the problem is found, the developer then needs to manually map the field to the document, which occurs in a different page. Accordingly, the developer is not provided with any simple means to easily compare data sets and fields and then make the appropriate mapping. In addition, the developer is not provided with any means to understand the full picture of their data in the documents and they are unable to tell where errors are coming from in order for them to be debugged.
In a first aspect of the present disclosure, a method comprises: displaying, by a computer system, a first display comprising data blocks of a data contract document and a second display comprising fields of an object model, in a single graphical user interface; and mapping, by the computer system, the data blocks in the first display to the fields of the object model in the second display by selection of the data blocks in the first display and selection of the fields in the second display.
In another aspect of the present disclosure, there is a computer program product for mapping data blocks of a data document to fields of an object model. The computer program product includes one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: display a list of one or more data contract documents; display data blocks of a data contract document selected from the list of the one or more data contract documents; display an object model comprising fields that are automatically generated from and associated with the data blocks of the selected data contract document; and map one or more of the data blocks to the fields of the object model; and save the data blocks that are mapped to the fields in a single save operation.
In a further aspect of the present disclosure, there is a computer system for mapping data blocks of a data document to fields of an object model. The system includes a processor, a computer readable memory, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: display, in a first display, data contract blocks of one or more data contract documents; display, in a second display, fields of an object model that are associated with the data contract blocks, the second display being in a same graphical user interface screen as the first display; assign no values to the data contact blocks that are not mapping to a corresponding field of the object model; update the object model to a set of fields which can be mapped to a selected data contract block; map at least one of the set of fields to the selected data contract block; and save, in a single operation, the mapped data contact blocks.
Aspects of the present disclosure are described in the detailed description which follows, in reference to the noted plurality of drawings by way of non-limiting examples of exemplary embodiments of the present disclosure.
The present disclosure relates generally to a development tool and, more particularly, to a development tool comprising a dual panel mapping modal and method of use. More specifically, the development tool comprises a dual window (panel) interface having side-by-side panels which display, at least, a data contract document and an object model. In embodiments, the panel of the data contract document may include data contract blocks and the panel of the object model may include fields that correspond to the data contract blocks. Advantageously, this side-by-side panel configuration allows the user to easily compare and map blocks of the data contract document to respective fields in the object model. This eliminates the need to individually select a data contract block, search for an individual object field on a different page, map the field to the data contract block and save the mapping one at a time.
In more specific embodiments, the single graphical user interface comprising the dual panel modal provides a user, e.g., software or application developer, with a simplified visual overview of data contract blocks of a data contract document and fields of an object model in a side-by-side fashion. In embodiments, the object model may include values (fields) for any particular document that is opened, whether it be a tile document, logiflow (e.g., a tool for defining and executing server side logic that is used to interact with external services, read and write data, validate and process data, and send notifications to end users and other services) or a business rule (e.g., a tool for implementing rules and business logic to perform). In any of these scenarios, the dual panel mapping modal provides the user with the capability to easily compare, map (e.g., bind) and/or edit data contract blocks in the data contract document to fields in the object model in a single view, amongst other features, without the need for complex searches or viewing of other pages.
Accordingly, the dual panel mapping modal provides many advantages in a technology field for developing computer applications, compared to current systems/processes/methods. These technological advantages include, amongst others:
(i) the ability to easily compare data contract blocks to fields (values) in an object model in a single view;
(ii) the ability to map data contract blocks to fields in an object model without the need to view other pages or perform complex searches;
(iii) the ability to easily determine whether a data contract block has already been matched to a field in the object model;
(iv) the ability to enter (e.g., associate) static values or dynamic values for individual data contract blocks;
(v) the ability to map external data links to the data contract blocks;
(vi) the ability to save all mapped values of plural data contract blocks in a single process;
(vii) the ability to easily determine whether an error in mapping occurred between a data contract block and a field in the object model, in a single view; and
(viii) overall, saving considerable time when developing computer applications.
As should be understood by those of skill in the art, the data contract document allows a user to build a tile or other document for a computer application. The tile, for example, includes components such as buttons, calculations, labels, tables, data fields, etc., used to build a front end module or computer application, e.g., profile page of a company. The data contract document defines the information of data fields in the front end module or computer application and links the data fields to one or more databases. For example, the data contract may be an agreement that describes the type of data to be exchanged between the database and the front end application. The object model, on the other hand, is built separately inside the tile and is used to convert the information from the data contract document to ensure that retrieved data from the database can be displayed and the computer application properly functions. So, in this way, it is possible to map between the database and the data contract document and from the data contract document to the tile, itself.
As shown in
The bus 110 permits communication among the components of computing device 105. For example, bus 110 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures to provide one or more wired or wireless communication links or paths for transferring data and/or power to, from, or between various other components of computing device 105.
The processor 115 may be one or more processors or microprocessors that include any processing circuitry operative to interpret and execute computer readable program instructions, such as program instructions for controlling the operation and performance of one or more of the various other components of computing device 105. In embodiments, processor 115 interprets and executes the processes, steps, functions, and/or operations of the present disclosure, which may be operatively implemented by the computer readable program instructions. For example, processor 115 enables the computing device 105 to display side-by-side panels for the user to view and, in embodiments, match or bind fields between the data contract document and the object model fields.
In embodiments, processor 115 may receive input signals from one or more input devices 130 and/or drive output signals through one or more output devices 135. The input devices 130 may be, for example, a keyboard, touch sensitive user interface (UI), etc., as is known to those of skill in the art such that no further description is required for a complete understanding of the present disclosure. The output devices 135 can be, for example, any display device, printer, etc., as is known to those of skill in the art such that no further description is required for a complete understanding of the present disclosure.
The storage device 120 may include removable/non-removable, volatile/non-volatile computer readable media, such as, but not limited to, non-transitory media such as magnetic and/or optical recording media and their corresponding drives. The drives and their associated computer readable media provide for storage of computer readable program instructions, data structures, program modules and other data for operation of computing device 105 in accordance with the different aspects of the present disclosure. In embodiments, storage device 120 may store operating system 145, application programs 150, and program data 155 in accordance with aspects of the present disclosure.
The system memory 125 may include one or more storage mediums, including for example, non-transitory media such as flash memory, permanent memory such as read-only memory (“ROM”), semi-permanent memory such as random access memory (“RAM”), any other suitable type of storage component, or any combination thereof. In some embodiments, an input/output system 160 (BIOS) including the basic routines that help to transfer information between the various other components of computing device 105, such as during start-up, may be stored in the ROM. Additionally, data and/or program modules 165, such as at least a portion of operating system 145, application programs 150, and/or program data 155, that are accessible to and/or presently being operated on by processor 115 may be contained in the RAM.
The communication interface 140 may include any transceiver-like mechanism (e.g., a network interface, a network adapter, a modem, or combinations thereof) that enables computing device 105 to communicate with remote devices or systems, such as a mobile device or other computing devices such as, for example, a server in a networked environment, e.g., cloud environment. For example, computing device 105 may be connected to remote devices or systems via one or more local area networks (LAN) and/or one or more wide area networks (WAN) using communication interface 140.
As discussed herein, computing system 100 may be configured to provide side-by-side panels which enable the user to view both data contract documents and object models, with the technological capability to map data block to a field in the object model. In addition, for example, computing system 100 may be configured to show an error in the mapping or linked data by highlighting any broken links, as well as fix these errors through a simple select and click operation. The computing system 100 may further be configured to save all of the mappings in a single save operation, saving considerable time and resources, amongst other features described herein. Accordingly, computing device 105 may perform tasks (e.g., process, steps, methods and/or functionality) in response to processor 115 executing program instructions contained in a computer readable medium, such as system memory 125.
The program instructions may be read into system memory 125 from another computer readable medium, such as data storage device 120, or from another device via the communication interface 140 or server within or outside of a cloud environment. In embodiments, an operator may interact with computing device 105 via the one or more input devices 130 and/or the one or more output devices 135 to facilitate performance of the tasks and/or realize the end results of such tasks in accordance with aspects of the present disclosure. In additional or alternative embodiments, hardwired circuitry may be used in place of or in combination with the program instructions to implement the tasks, e.g., steps, methods and/or functionality, consistent with the different aspects of the present disclosure. Thus, the steps, methods and/or functionality disclosed herein can be implemented in any combination of hardware circuitry and software.
Still referring to
In embodiments, the object fields may be automatically generated and mapped to the specific data contract blocks. For example, the object fields may be automatically generated from the data contract blocks by simply selecting which data contract documents are to be imported into panel 206. That is, once a data contract document is added to the tile, all of those fields in the data contract document may automatically be added as fields in the object model in panel 208. In embodiments, the object fields can be automatically mapped to the data contract blocks by string matching processes known to those of skill in the art such that no further explanation is required for a complete understanding of the present disclosure. In alternative embodiments, the object fields can be automatically mapped to the data contract blocks by previous users of the data contact document. In this way, the side-by-side panels 206, 208 show in a single, integrated interface linked or mapped data, thus eliminating the needless amount of back and forth that this tedious work was previously required by the user.
In further embodiments, and as described in more detail herein, the side-by-side panels 206, 208 allow the user to easily compare object fields to data contract blocks and determine which fields are mapped to which data contract block. If there is no mapping or if there is an error in the mapping, the user can select the appropriate field and data contract block for such mapping using a click and save operation. Moreover, should the user want to make any changes to any of the mappings, the user can simply open the dual panel modal, e.g., side-by-side panels 206, 208, and make such changes including, for example, remapping or clearing any of the mappings by the same select and save process.
The data contract blocks 400a and sub-blocks 410a include descriptions 430 corresponding to a field 420, e.g., item or value, of the object model in panel 208. These corresponding descriptions depict a pathway of the mapping or binding to the related field 420 of the object model in panel 208. The value of the data contract blocks 400a and sub-blocks 410a may also be a “No Value” as shown by reference number 425, which indicates that there is no mapped item to the fields ion the object model. Further, as shown in
As further shown in
Still referring to
This process can continue for additional data contract blocks 400a and sub-blocks 410a until all of the mappings are completed. Once all of the mappings are completed, the dual panel mapping modal will allow the user to save all of the mappings in a single, bulk save operation, at which time all of the pathway descriptions 430 may be updated. If there are any broken links, the data contract blocks 400a and sub-blocks 410a can be highlighted allowing the user to easily ascertain which blocks 400a, 410a are mapped to which fields in the object model and which links are broken (e.g., not properly mapped). Accordingly, the side-by-side panel configuration helps the user quickly scan which blocks are already mapped without having to select each block separately.
The method, and/or computer program product implementing the flow of
Also, in embodiments, the dual panel mapping modal can be implemented by a server or device which comprises modules, each of which may comprise one or more program modules such as program modules 165 described with respect to
Referring to
The foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present disclosure. While aspects of the present disclosure have been described with reference to an exemplary embodiment, it is understood that the words which have been used herein are words of description and illustration, rather than words of limitation. Changes may be made, within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the present disclosure in its aspects. Although aspects of the present disclosure have been described herein with reference to particular means, materials and embodiments, the present disclosure is not intended to be limited to the particulars disclosed herein; rather, the present disclosure extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims.