DETAILED ACTION
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This action is in response to the following communication: Amendment to application No. 17/918,742 filed on 07/24/2025.
3. Claims 1, 9, 17 and 21 have been amended.
Claims 1-21 now remain pending.
Claims 1, 9 and 17 are independent claims.
Response to Arguments
4. Applicant’s arguments with respect to newly amended independent claims 1, 9 and 17 and claims 2-8, 10-16 and 18-21 on pages 9-12 of the response have been fully considered but they are not persuasive and are moot in view of the new ground(s) of rejection - see Bill (Art newly made of record) as applied below, as they further teach such use.
Claim Rejections - 35 USC § 103
5. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
6. Claims 1-3, 5-11, 13-19 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Gupta et al., U.S. Patent No. 10,382,262 (hereinafter Gupta) in view of Bill et al., U.S. Patent No. 11,740,913 (hereinafter Bill).
In regards to claim 1, Gupta teaches:
A method, performed by at least one processor, for adding user-defined custom fields to a user interface (UI) view of a previously-developed application, the method comprising: (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) and (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) (emphasis added).
outputting a first screen for creating or editing a UI view of the previously-developed application; receiving a user selection to add a new user input field to the UI view (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) and (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) (emphasis added).
storing one or more parameters of the new user input field in association with a reserved field of a reserved database corresponding to the previously-developed application, such that values input to the new user input field during execution of the user interface view are saved to the reserved field (column 10, lines 36-39, see each version is configured using a corresponding configuration template that is applied by the client device 302 in response to receiving a modification request submitted by an end-user through the applications designer 112), (column 15, lines 7-19, see the data indicating the request to adjust the first configuration of the application comprises a data type adjustment for a data field of the application; and generating the second configuration template comprises: identifying, by the server system, one or more database objects that are determined to have data dependencies to the data field of the application, and adjusting, by the server system, a configuration of the one or more database objects according to the request to adjust the first configuration of the application) and (column 6, lines 38-52, see for instance, if the application configuration request 102 indicates that a new data field is to be added to the application, the application configuration module 122 may identify content from the content library 126 that corresponds to the new data field. As an example, if a data field to be added references a specific collection of container objects, application templates, or other types of files, the application configuration module 122 may identify corresponding collection of content within the content library 126. In another instance, if the application configuration request 102 indicates that an existing data field is to be adjusted such that it references additional content, the application configuration module 122 may similarly identify content from the content library 126 that corresponds to the new content to be referenced) (emphasis added).
Gupta doesn’t explicitly teach:
the reserved database comprises a predetermined number of reserved fields which were left as unmapped fields that were un-associated to any user input fields during the application development such that they are available to be mapped to new user input fields added to the previously-developed application after the application development.
However, Bill teaches such use: (column 3, lines 48-60, see some embodiments of a method include using a graphical user interface (GUI) of a computing device to provide simultaneous views of a first data schema and a second data schema, within a customer relationship management (CRM) database, for example. The method enables a first mapping of a first object of the first data schema to a second object of the second data schema. Using the method, the user can make any number of subsequent mappings. The method displays, within the GUI, a visual logic connector of the first mapping of the first object of the first data schema to the second object of the second data schema. Subsequent mappings are displayed, each with a unique visual logic connector), (Abstract, see The GUI can display mapped or unmapped fields to facilitate the mapping of additional fields or objects. The GUI displays visual logic connectors between objects and entities to summarize the relationship and number of mappings between the objects and entities. Objects and entities can be expanded and collapsed to show more granular relationship information. Instance-enabled canonical entities can be created to conceptually group fields) and (column 25, lines 8-11, see filtering, by the one or more computing devices, the first data schema or the second data schema to display mapped or unmapped fields).
Gupta and Bill are analogous art because they are from the same field of endeavor, software development.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Gupta and Bill before him or her, to modify the system of Gupta to include the teachings of Bill, as a system for user data mapping, and accordingly it would enhance the system of Gupta, which is focused on dynamic application configuration, because that would provide Gupta with the ability to resolve issues related to integrating data that may have different semantics or applications in various supply chain channels, as suggested by Bill (column 3, lines 48-60, column 23, lines 36-40).
In regards to claim 2, Gupta teaches:
the receiving the user selection to add a new user input field to the UI view comprises receiving a user input of a field type, from among a plurality of predetermined field types, for the new user input field (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) and (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) (emphasis added).
In regards to claim 3, Gupta teaches:
the plurality of predetermined field types comprises a text field type, a number field type, a dropdown field type, and a radio button field type (Fig. 1B, see preconfigured content library 126) and (column 9, lines 30-63, see the end-user can also use the interface 200C to create one or more entirely new customizable fields. For example, the customizable fields can include text fields (e.g., single-line entry), number fields (e.g., numeric entry of integer or decimal formats, etc.), paragraph fields (e.g., multi-line text entry), date and/or time fields, single or multiple selection list fields (e.g., of user-specified text option), among others).
In regards to claim 5, Gupta teaches:
the stored one or more parameters comprises the field type, and the stored one or more parameters are stored in association with the reserved field at an application level (column 8, lines 1-8, see for instance, if the application configuration request 102 includes instructions specifying the creation and addition of a new data field to the application, the server 120 can update a stored application container 115 associated with the application to include additional content and configuration files associated with the new data field, which are invoked by the server 120 and from an associated data repository) and (column 9, lines 37-44, see when specifying configurations each field, the end-user can specify, for example, field requirements (e.g., a required format for entry), instructional text to display below the field, an assistance tool to display next to the field label, and/or a placeholder text to display within the field. After specifying the fields to include in the form, and the configurations for each field, the end-user can preview the form as it would be displayed in a configured application).
In regards to claim 6, Gupta teaches:
receiving a user input selecting a resource level, from among a plurality of predetermined resource levels, for the new user input field, wherein the application comprises a plurality of predetermined reserved databases respectively corresponding to the plurality of predetermined resource levels, each of the plurality of predetermined reserved databases comprising a predetermined number of reserved fields (Fig. 1B, see preconfigured content library 126), (column 6, lines 6-12, see an end-user associated with one of the client devices 110 adjusts a configuration of the application while the application is being accessed on one or more of the other client devices. The adjustment, in this example, is therefore processed by the system 100 while the application is still being accessed in a production environment), (column 3, lines , see in some implementations, the data indicating the request to adjust the first configuration of the application includes a data type adjustment for a data field of the application. In such implementations, generating the second configuration template includes: identifying, by the server system, one or more database objects that are determined to have data dependencies to the data field of the application, and adjusting, by the server system, a configuration of the one or more database objects according to the request to adjust the first configuration of the application) and (column 6, lines 35-52, see at stage (3), the application configuration module 122 generates a new configuration template 104 for the application based on information included within the received application configuration request 102. For instance, if the application configuration request 102 indicates that a new data field is to be added to the application, the application configuration module 122 may identify content from the content library 126 that corresponds to the new data field. As an example, if a data field to be added references a specific collection of container objects, application templates, or other types of files, the application configuration module 122 may identify corresponding collection of content within the content library 126. In another instance, if the application configuration request 102 indicates that an existing data field is to be adjusted such that it references additional content, the application configuration module 122 may similarly identify content from the content library 126 that corresponds to the new content to be referenced) (emphasis added).
In regards to claim 7, Gupta teaches:
receiving a user input defining a label for the new user input field, wherein the label is saved in association with the new user input field at a view level, such that different labels may be defined for the new user input field in different views (Fig. 1B, see 112a, User input adjusting application configuration, LABEL, STATUS, TYPE, list, add new field, 112a), (column 9, lines 37-44, see when specifying configurations each field, the end-user can specify, for example, field requirements (e.g., a required format for entry), instructional text to display below the field, an assistance tool to display next to the field label, and/or a placeholder text to display within the field. After specifying the fields to include in the form, and the configurations for each field, the end-user can preview the form as it would be displayed in a configured application) and (column 8, lines 1-8, see for instance, if the application configuration request 102 includes instructions specifying the creation and addition of a new data field to the application, the server 120 can update a stored application container 115 associated with the application to include additional content and configuration files associated with the new data field, which are invoked by the server 120 and from an associated data repository) (emphasis added).
In regards to claim 8, Gupta teaches:
outputting a list of previously-created customer user input fields, stored in association with corresponding reserved fields in the reserved database, selectable by a user to add to the UI view (column 6, lines 35-52, see at stage (3), the application configuration module 122 generates a new configuration template 104 for the application based on information included within the received application configuration request 102. For instance, if the application configuration request 102 indicates that a new data field is to be added to the application, the application configuration module 122 may identify content from the content library 126 that corresponds to the new data field. As an example, if a data field to be added references a specific collection of container objects, application templates, or other types of files, the application configuration module 122 may identify corresponding collection of content within the content library 126. In another instance, if the application configuration request 102 indicates that an existing data field is to be adjusted such that it references additional content, the application configuration module 122 may similarly identify content from the content library 126 that corresponds to the new content to be referenced), (column 9, lines 5-8, see in some instances, if the end-user has already created other applications, he/she is directed to an interface that lists the previously configured applications), (column 3, lines , see in some implementations, the data indicating the request to adjust the first configuration of the application includes a data type adjustment for a data field of the application. In such implementations, generating the second configuration template includes: identifying, by the server system, one or more database objects that are determined to have data dependencies to the data field of the application, and adjusting, by the server system, a configuration of the one or more database objects according to the request to adjust the first configuration of the application) and (column 10, lines 52-67, see as shown in the figure, the system 300 is capable of generating and storing the templates 312A-C in a manner that supports reversion to the most recent version of the application. For example, the system 300 enables a reversion from version 310B to 310A when configuring the version 310B, and a reversion from version 310C to 310B when configuring the version 310C. This is accomplished by storing application configurations in self-contained application container 115 (described and depicted with respect to FIG. 1A). As described above, the contents of a stored application in the container 115 can be updated each time a current configuration of the application is updated based on user input provided by the end-user through the application designer 112. Prior versions of the application containers 115 can be remotely stored on the server 120 for use in a subsequent reversion to a corresponding application version).
In regards to claim 9, Gupta teaches:
An apparatus for adding user-defined custom fields to a user interface (UI) view of a previously-developed application, the apparatus comprising: a memory storing instructions; and at least one processor configured to execute the instructions to: (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) and (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) (emphasis added).
output a first screen for creating or editing a UI view of the previously- developed application; receive a user selection to add a new user input field to the UI view (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) and (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) (emphasis added).
storing one or more parameters of the new user input field in association with a reserved field of a reserved database corresponding to the previously-developed application, such that values input to the new user input field during execution of the user interface view are saved to the reserved field (column 10, lines 36-39, see each version is configured using a corresponding configuration template that is applied by the client device 302 in response to receiving a modification request submitted by an end-user through the applications designer 112), (column 15, lines 7-19, see the data indicating the request to adjust the first configuration of the application comprises a data type adjustment for a data field of the application; and generating the second configuration template comprises: identifying, by the server system, one or more database objects that are determined to have data dependencies to the data field of the application, and adjusting, by the server system, a configuration of the one or more database objects according to the request to adjust the first configuration of the application) and (column 6, lines 38-52, see for instance, if the application configuration request 102 indicates that a new data field is to be added to the application, the application configuration module 122 may identify content from the content library 126 that corresponds to the new data field. As an example, if a data field to be added references a specific collection of container objects, application templates, or other types of files, the application configuration module 122 may identify corresponding collection of content within the content library 126. In another instance, if the application configuration request 102 indicates that an existing data field is to be adjusted such that it references additional content, the application configuration module 122 may similarly identify content from the content library 126 that corresponds to the new content to be referenced) (emphasis added).
Gupta doesn’t explicitly teach:
the reserved database comprises a predetermined number of reserved fields which were left as unmapped fields that were un-associated to any user input fields during the application development such that they are available to be mapped to new user input fields added to the previously-developed application after the application development.
However, Bill teaches such use: (column 3, lines 48-60, see some embodiments of a method include using a graphical user interface (GUI) of a computing device to provide simultaneous views of a first data schema and a second data schema, within a customer relationship management (CRM) database, for example. The method enables a first mapping of a first object of the first data schema to a second object of the second data schema. Using the method, the user can make any number of subsequent mappings. The method displays, within the GUI, a visual logic connector of the first mapping of the first object of the first data schema to the second object of the second data schema. Subsequent mappings are displayed, each with a unique visual logic connector), (Abstract, see The GUI can display mapped or unmapped fields to facilitate the mapping of additional fields or objects. The GUI displays visual logic connectors between objects and entities to summarize the relationship and number of mappings between the objects and entities. Objects and entities can be expanded and collapsed to show more granular relationship information. Instance-enabled canonical entities can be created to conceptually group fields) and (column 25, lines 8-11, see filtering, by the one or more computing devices, the first data schema or the second data schema to display mapped or unmapped fields).
Gupta and Bill are analogous art because they are from the same field of endeavor, software development.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Gupta and Bill before him or her, to modify the system of Gupta to include the teachings of Bill, as a system for user data mapping, and accordingly it would enhance the system of Gupta, which is focused on dynamic application configuration, because that would provide Gupta with the ability to resolve issues related to integrating data that may have different semantics or applications in various supply chain channels, as suggested by Bill (column 3, lines 48-60, column 23, lines 36-40).
In regards to claim 10, Gupta teaches:
the at least one processor is further configured to execute the instructions to receive a user input of a field type, from among a plurality of predetermined field types, for the new user input field (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) and (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) (emphasis added).
In regards to claim 11, Gupta teaches:
the plurality of predetermined field types comprises a text field type, a number field type, a dropdown field type, and a radio button field type (Fig. 1B, see preconfigured content library 126) and (column 9, lines 30-63, see the end-user can also use the interface 200C to create one or more entirely new customizable fields. For example, the customizable fields can include text fields (e.g., single-line entry), number fields (e.g., numeric entry of integer or decimal formats, etc.), paragraph fields (e.g., multi-line text entry), date and/or time fields, single or multiple selection list fields (e.g., of user-specified text option), among others).
In regards to claim 13, Gupta teaches:
the stored one or more parameters comprises the field type, and the stored one or more parameters are stored in association with the reserved field at an application level (column 8, lines 1-8, see for instance, if the application configuration request 102 includes instructions specifying the creation and addition of a new data field to the application, the server 120 can update a stored application container 115 associated with the application to include additional content and configuration files associated with the new data field, which are invoked by the server 120 and from an associated data repository) and (column 9, lines 37-44, see when specifying configurations each field, the end-user can specify, for example, field requirements (e.g., a required format for entry), instructional text to display below the field, an assistance tool to display next to the field label, and/or a placeholder text to display within the field. After specifying the fields to include in the form, and the configurations for each field, the end-user can preview the form as it would be displayed in a configured application).
In regards to claim 14, Gupta teaches:
the at least one processor is further configured to execute the instructions to: receive a user input selecting a resource level, from among a plurality of predetermined resource levels, for the new user input field, wherein the application comprises a plurality of predetermined reserved databases respectively corresponding to the plurality of predetermined resource levels, each of the plurality of predetermined reserved databases comprising a predetermined number of reserved fields (Fig. 1B, see preconfigured content library 126), (column 6, lines 6-12, see an end-user associated with one of the client devices 110 adjusts a configuration of the application while the application is being accessed on one or more of the other client devices. The adjustment, in this example, is therefore processed by the system 100 while the application is still being accessed in a production environment), (column 3, lines , see in some implementations, the data indicating the request to adjust the first configuration of the application includes a data type adjustment for a data field of the application. In such implementations, generating the second configuration template includes: identifying, by the server system, one or more database objects that are determined to have data dependencies to the data field of the application, and adjusting, by the server system, a configuration of the one or more database objects according to the request to adjust the first configuration of the application) and (column 6, lines 35-52, see at stage (3), the application configuration module 122 generates a new configuration template 104 for the application based on information included within the received application configuration request 102. For instance, if the application configuration request 102 indicates that a new data field is to be added to the application, the application configuration module 122 may identify content from the content library 126 that corresponds to the new data field. As an example, if a data field to be added references a specific collection of container objects, application templates, or other types of files, the application configuration module 122 may identify corresponding collection of content within the content library 126. In another instance, if the application configuration request 102 indicates that an existing data field is to be adjusted such that it references additional content, the application configuration module 122 may similarly identify content from the content library 126 that corresponds to the new content to be referenced) (emphasis added).
In regards to claim 15, Gupta teaches:
the at least one processor is further configured to execute the instructions to: receive a user input defining a label for the new user input field, wherein the label is saved in association with the new user input field at a view level, such that different labels may be defined for the new user input field in different views (Fig. 1B, see 112a, User input adjusting application configuration, LABEL, STATUS, TYPE, list, add new field, 112a), (column 9, lines 37-44, see when specifying configurations each field, the end-user can specify, for example, field requirements (e.g., a required format for entry), instructional text to display below the field, an assistance tool to display next to the field label, and/or a placeholder text to display within the field. After specifying the fields to include in the form, and the configurations for each field, the end-user can preview the form as it would be displayed in a configured application) and (column 8, lines 1-8, see for instance, if the application configuration request 102 includes instructions specifying the creation and addition of a new data field to the application, the server 120 can update a stored application container 115 associated with the application to include additional content and configuration files associated with the new data field, which are invoked by the server 120 and from an associated data repository) (emphasis added).
In regards to claim 16, Gupta teaches:
the at least one processor is further configured to execute the instructions to output a list of previously-created customer user input fields, stored in association with corresponding reserved fields in the reserved database, selectable by a user to add to the UI view (column 6, lines 35-52, see at stage (3), the application configuration module 122 generates a new configuration template 104 for the application based on information included within the received application configuration request 102. For instance, if the application configuration request 102 indicates that a new data field is to be added to the application, the application configuration module 122 may identify content from the content library 126 that corresponds to the new data field. As an example, if a data field to be added references a specific collection of container objects, application templates, or other types of files, the application configuration module 122 may identify corresponding collection of content within the content library 126. In another instance, if the application configuration request 102 indicates that an existing data field is to be adjusted such that it references additional content, the application configuration module 122 may similarly identify content from the content library 126 that corresponds to the new content to be referenced), (column 9, lines 5-8, see in some instances, if the end-user has already created other applications, he/she is directed to an interface that lists the previously configured applications), (column 3, lines , see in some implementations, the data indicating the request to adjust the first configuration of the application includes a data type adjustment for a data field of the application. In such implementations, generating the second configuration template includes: identifying, by the server system, one or more database objects that are determined to have data dependencies to the data field of the application, and adjusting, by the server system, a configuration of the one or more database objects according to the request to adjust the first configuration of the application) and (column 10, lines 52-67, see as shown in the figure, the system 300 is capable of generating and storing the templates 312A-C in a manner that supports reversion to the most recent version of the application. For example, the system 300 enables a reversion from version 310B to 310A when configuring the version 310B, and a reversion from version 310C to 310B when configuring the version 310C. This is accomplished by storing application configurations in self-contained application container 115 (described and depicted with respect to FIG. 1A). As described above, the contents of a stored application in the container 115 can be updated each time a current configuration of the application is updated based on user input provided by the end-user through the application designer 112. Prior versions of the application containers 115 can be remotely stored on the server 120 for use in a subsequent reversion to a corresponding application version).
In regards to claim 17, Gupta teaches:
A non-transitory computer-readable recording medium having recoded thereon instructions executable by at least one processor to perform a method for (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) and (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) (emphasis added).
adding user- defined custom fields to a user interface (UI) view of a previously-developed application, the method comprising: outputting a first screen for creating or editing a UI view of the previously-developed application; receiving a user selection to add a new user input field to the UI view (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) and (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) (emphasis added).
storing one or more parameters of the new user input field in association with a reserved field of a reserved database corresponding to the previously-developed application, such that values input to the new user input field during execution of the user interface view are saved to the reserved field (column 10, lines 36-39, see each version is configured using a corresponding configuration template that is applied by the client device 302 in response to receiving a modification request submitted by an end-user through the applications designer 112), (column 15, lines 7-19, see the data indicating the request to adjust the first configuration of the application comprises a data type adjustment for a data field of the application; and generating the second configuration template comprises: identifying, by the server system, one or more database objects that are determined to have data dependencies to the data field of the application, and adjusting, by the server system, a configuration of the one or more database objects according to the request to adjust the first configuration of the application) and (column 6, lines 38-52, see for instance, if the application configuration request 102 indicates that a new data field is to be added to the application, the application configuration module 122 may identify content from the content library 126 that corresponds to the new data field. As an example, if a data field to be added references a specific collection of container objects, application templates, or other types of files, the application configuration module 122 may identify corresponding collection of content within the content library 126. In another instance, if the application configuration request 102 indicates that an existing data field is to be adjusted such that it references additional content, the application configuration module 122 may similarly identify content from the content library 126 that corresponds to the new content to be referenced) (emphasis added).
Gupta doesn’t explicitly teach:
the reserved database comprises a predetermined number of reserved fields which were left as unmapped fields that were un-associated to any user input fields during the application development such that they are available to be mapped to new user input fields added to the previously-developed application after the application development.
However, Bill teaches such use: (column 3, lines 48-60, see some embodiments of a method include using a graphical user interface (GUI) of a computing device to provide simultaneous views of a first data schema and a second data schema, within a customer relationship management (CRM) database, for example. The method enables a first mapping of a first object of the first data schema to a second object of the second data schema. Using the method, the user can make any number of subsequent mappings. The method displays, within the GUI, a visual logic connector of the first mapping of the first object of the first data schema to the second object of the second data schema. Subsequent mappings are displayed, each with a unique visual logic connector), (Abstract, see The GUI can display mapped or unmapped fields to facilitate the mapping of additional fields or objects. The GUI displays visual logic connectors between objects and entities to summarize the relationship and number of mappings between the objects and entities. Objects and entities can be expanded and collapsed to show more granular relationship information. Instance-enabled canonical entities can be created to conceptually group fields) and (column 25, lines 8-11, see filtering, by the one or more computing devices, the first data schema or the second data schema to display mapped or unmapped fields).
Gupta and Bill are analogous art because they are from the same field of endeavor, software development.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Gupta and Bill before him or her, to modify the system of Gupta to include the teachings of Bill, as a system for user data mapping, and accordingly it would enhance the system of Gupta, which is focused on dynamic application configuration, because that would provide Gupta with the ability to resolve issues related to integrating data that may have different semantics or applications in various supply chain channels, as suggested by Bill (column 3, lines 48-60, column 23, lines 36-40).
In regards to claim 18, Gupta teaches:
the receiving the user selection to add a new user input field to the UI view comprises receiving a user input of a field type, from among a plurality of predetermined field types, for the new user input field (Fig. 1B, see 112a, User input adjusting application configuration, Type, list, add new field, 112a) and (column 6, lines 13-25, see as depicted in FIG. 1B, the system 100 generally processes the adjustments to the application… an end-user submits a user input through a configuration interface 112 a of the application designer 112. The configuration interface 112 a can be used to, for example, adjust names of data fields that are displayed on the application, create a new data field and/or a data association) (emphasis added).
In regards to claim 19, Gupta teaches:
the plurality of predetermined field types comprises a text field type, a number field type, a dropdown field type, and a radio button field type (Fig. 1B, see preconfigured content library 126) and (column 9, lines 30-63, see the end-user can also use the interface 200C to create one or more entirely new customizable fields. For example, the customizable fields can include text fields (e.g., single-line entry), number fields (e.g., numeric entry of integer or decimal formats, etc.), paragraph fields (e.g., multi-line text entry), date and/or time fields, single or multiple selection list fields (e.g., of user-specified text option), among others).
In regards to claim 21, Gupta doesn’t explicitly teach:
the first screen indicates a number of the unmapped fields from among the predetermined number of reserved fields included in the reserved database corresponding to the previously-developed application.
However, Bill teaches such use: (column 3, lines 48-60, see some embodiments of a method include using a graphical user interface (GUI) of a computing device to provide simultaneous views of a first data schema and a second data schema, within a customer relationship management (CRM) database, for example. The method enables a first mapping of a first object of the first data schema to a second object of the second data schema. Using the method, the user can make any number of subsequent mappings. The method displays, within the GUI, a visual logic connector of the first mapping of the first object of the first data schema to the second object of the second data schema. Subsequent mappings are displayed, each with a unique visual logic connector), (Abstract, see The GUI can display mapped or unmapped fields to facilitate the mapping of additional fields or objects. The GUI displays visual logic connectors between objects and entities to summarize the relationship and number of mappings between the objects and entities. Objects and entities can be expanded and collapsed to show more granular relationship information. Instance-enabled canonical entities can be created to conceptually group fields) and (column 25, lines 8-11, see filtering, by the one or more computing devices, the first data schema or the second data schema to display mapped or unmapped fields).
Gupta and Bill are analogous art because they are from the same field of endeavor, software development.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Gupta and Bill before him or her, to modify the system of Gupta to include the teachings of Bill, as a system for user data mapping, and accordingly it would enhance the system of Gupta, which is focused on dynamic application configuration, because that would provide Gupta with the ability to resolve issues related to integrating data that may have different semantics or applications in various supply chain channels, as suggested by Bill (column 3, lines 48-60, column 23, lines 36-40).
7. Claims 4, 12 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Gupta in view of Bill in view of Bird et al., US 2011/0296372 (hereinafter Bird).
In regards to claims 1, 2, 9 and 10 the rejections above are incorporated accordingly.
In regards to claim 4, Gupta and Bill, in particular Gupta doesn’t explicitly teach:
the received user input is a drag- and-drop user input in which a graphical user interface (GUI) object corresponding to the field type is dragged from a list of the plurality of predetermined filed types to an editable display area for defining user input fields of the UI view.
However, Bird teaches such use (p. 6, [0043-0044], see the software application creation wizard may also present a confirmation screen where the user can verify that their responses thus far have been correct. If the user confirms, the wizard may present an arrangement screen that illustrates a default arrangement of data entry elements for the information items specified by the user. The user may be able to drag and drop the data entry elements to rearrange them on the arrangement screen. The user may then be able to select to end the software application creation wizard, automatically creating the software application based on the provided responses and deploying the created software application. In automatically creating the software application, the deployment environment may create or modify one or more tables implemented in the database modules based on the responses, create or modify one or more of the data entry and presentation screens implemented by the screen modules based on the user responses) and (p. 6, [0047], see the development tool that may be provided by the deployment environment will now be discussed in detail. The development tool may include a graphical interface, which may be a WYSIWYG (what you see is what you get) editor that provides a plurality of controls (such as buttons, drag and drop elements, menu bars, etc.) that a user can utilize to create and customize one or more screens for a software application… These elements include, but are not limited to, text (inputting and/or formatting), graphical elements (inserting and/or modifying), browser based form controls (fields, buttons, etc.) (emphasis added).
Gupta, Bill and Bird are analogous art because they are from the same field of endeavor, software development.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Gupta, Bill and Bird before him or her, to modify the system of Gupta and Bill, in particular Gupta to include the teachings of Bird, as a system for application deployment, and accordingly it would enhance the system of Gupta, which is focused on dynamic application configuration, because that would provide Gupta with the ability to utilize drag-and-drop techniques, as suggested by Bird (p. 6, [0043-0044], p. 12, [0092]).
In regards to claim 12, Gupta and Bill, in particular Gupta doesn’t explicitly teach:
the received user input is a drag- and-drop user input in which a graphical user interface (GUI) object corresponding to the field type is dragged from a list of the plurality of predetermined filed types to an editable display area for defining user input fields of the UI view.
However, Bird teaches such use (p. 6, [0043-0044], see the software application creation wizard may also present a confirmation screen where the user can verify that their responses thus far have been correct. If the user confirms, the wizard may present an arrangement screen that illustrates a default arrangement of data entry elements for the information items specified by the user. The user may be able to drag and drop the data entry elements to rearrange them on the arrangement screen. The user may then be able to select to end the software application creation wizard, automatically creating the software application based on the provided responses and deploying the created software application. In automatically creating the software application, the deployment environment may create or modify one or more tables implemented in the database modules based on the responses, create or modify one or more of the data entry and presentation screens implemented by the screen modules based on the user responses) and (p. 6, [0047], see the development tool that may be provided by the deployment environment will now be discussed in detail. The development tool may include a graphical interface, which may be a WYSIWYG (what you see is what you get) editor that provides a plurality of controls (such as buttons, drag and drop elements, menu bars, etc.) that a user can utilize to create and customize one or more screens for a software application… These elements include, but are not limited to, text (inputting and/or formatting), graphical elements (inserting and/or modifying), browser based form controls (fields, buttons, etc.) (emphasis added).
Gupta, Bill and Bird are analogous art because they are from the same field of endeavor, software development.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Gupta, Bill and Bird before him or her, to modify the system of Gupta and Bill, in particular Gupta to include the teachings of Bird, as a system for application deployment, and accordingly it would enhance the system of Gupta, which is focused on dynamic application configuration, because that would provide Gupta with the ability to utilize drag-and-drop techniques, as suggested by Bird (p. 6, [0043-0044], p. 12, [0092]).
In regards to claim 20, Gupta and Bill, in particular Gupta doesn’t explicitly teach:
the received user input is a drag-and-drop user input in which a graphical user interface (GUI) object corresponding to the field type is dragged from a list of the plurality of predetermined filed types to an editable display area for defining user input fields of the UI view.
However, Bird teaches such use (p. 6, [0043-0044], see the software application creation wizard may also present a confirmation screen where the user can verify that their responses thus far have been correct. If the user confirms, the wizard may present an arrangement screen that illustrates a default arrangement of data entry elements for the information items specified by the user. The user may be able to drag and drop the data entry elements to rearrange them on the arrangement screen. The user may then be able to select to end the software application creation wizard, automatically creating the softwar