The present invention relates to a process for propagating extension fields into a form message type. The present invention further relates to a process for adding new extension fields and enabling hidden extension fields into the form message type.
To add extension fields to various customer forms, invoices, or other templates, programs such as Adobe® LiveCycle® enterprise suite are often used. Such programs allow a user to modify XML-based form templates such as XDP files, which result in PDF files after being rendered by Adobe® Document Services, to achieve a desired outlook for the form template. These programs provide various predefined extension fields that may be merged with existing XML content to create a desired form. A user who wishes to customize a form with additional extension fields may enable or disable the predefined extension fields to output a desired form. If a user wishes to add an extension field to the form, they may parse through the predefined extension fields and enable it to be shown on the form template. If a user wishes to remove an existing extension field from a form, they may parse through the predefined extension fields and select the extension field to be hidden from the form template. After data is input into the desired extension fields, a form is generated corresponding to the input data for the displayed extension fields.
Although such programs may allow for the adding and removal of extension fields from a form template, these programs are restricted to simply enabling or disabling predefined extension fields in the program. A user who wishes to add a new extension field (and corresponding data) to a form template is restricted from creating their own extension field and must use a predefined extension field. If none of the predefined extension fields correspond to a desired extension field of the user, the user cannot customize the form template to include that desired extension field. These programs impose a significant limitation on the user for the customization of the form templates and restrict the user from adding, and subsequently editing, any extension field that is not already provided by the original program. The user is restricted to only adding extension fields that were developed and provided for at the creation of the original program which ignores the need for extension fields which may correspond to subsequently derived technology, information, or concepts. A user cannot use a field type that has not been predefined by the designer.
Thus there remains a need in the art, for a method and system that allows for the customizability of a form template by allowing for the creation of new extension fields and adding these newly created extension fields to the form template. There also remains a need in the art, for the subsequent removal and editing of such user created extension fields.
The subject invention will now be described in detail for specific preferred embodiments of the invention, it being understood that these embodiments are intended only as illustrative examples and the invention is not to be limited thereto.
Non-customizable programs restrict the creation and addition of user developed extension fields from being integrated into form templates. Embodiments of the present invention provide a program executed on a processor that allows for the addition of user-created extension fields that are integrated into a form template. The executed program further allows for the subsequent editing and removal of the user-created extension fields and may be displayed on a computer or a comparable device with a displayable interface. The present invention corresponds to a process that provides flexibility for the addition of new extension fields of different field types.
Window 120 may contain menu bar 150 displayed above panel 130. Menu bar 150 may be labeled as “Adapt” which may allow for the application to run in an adaptation mode. During adaptation mode, a user may make changes to the layout of form template 110 as well as adding additional extension fields to form template 110.
List box 180 may have an add button 182 which may allow for adding a new extension field to the selected section header in list box 170. If an extension field is added in list box 180, it may be displayed in panel 130. Selecting add button 182 may display key user tool 190. Key user tool 190 may display and edit the properties of a selected extension field, or through multiple user inputs, allow for a user to provide information about a newly added extension field, including the business context of the field (where the extension field is added), a field type, and a label for extension field. Types of business contexts may include sales orders, for example, or customer return receipts. If an existing extension field is selected in list box 180, then key user tool 190 may display the previously input field properties of the extension field. If a user wishes to edit the previously inputted field properties for an extension field, they may select an extension field in list box 180 and click on edit button 184 which may provide for editing the properties of the selected extension field. Key user tool 190 may be displayed with the previously input field properties of the extension, and a user may click on the desired input to edit it. Removal of an extension field from the selected section header in list box 170 may be made be clicking on a desired extension field in list box 180 and clicking on remove button 186. Removing an extension field from list box 180 may delete the extension field from panel 130 and may make the extension field unavailable if the user wishes to add it to form template 110.
When a new extension field is added in list box 180, the added extension field may generate a reference field 40 that points to the user interface 100 as illustrated in
When a new extension field is added, metadata objects 60-66 and the field definition of reference field 40 are read. Runtime artifacts 70 may be created by a field extensibility generator and may only be stored locally. A determination may be made as to the specific controller node 80 to add reference field 40, and the runtime model 90 to use. If an extension field or a business object is changed, runtime artifacts 70 may be deleted and regenerated.
If an extension field is edited in list box 180, reference field 40 may be adapted to reflect the changes to the extension field. The reference field 40 may subsequently point to a different field in the user interface and to a difference business object. Metadata objects 60-66 may change to reflect the changes to the field definition or other edited information. The metadata objects 60-66 may contain information as to the new business node reference field 40 is connected to, and where reference field 40 is added on interface 100. Previously generated runtime artifacts 70 may be deleted, and when the adapted metadata objects 60-66 and reference field 40 are read again, new runtime artifacts may be created.
When viewing the field properties of a newly added or existing extension field in key user tool 190, a user may select the “Further Usage” button 192 to drive the selected extension field into a specific form template 110.
The top of window 300 may display information about the selected form template 110 (such as language and country applicable, etc.). Window 300 may also display the title of the form template. A user may save any changes to form template 110 by using save button 302, close the template by using button 304, or publish the template with button 306.
Window 300 may display list box 310 which may display all of the section headers in form template 110. A user may subsequently scroll through the section headers and highlight a desired section header. Window 300 may also display list box 320, which may be displayed directly under list box 310. List box 320 may display extension fields that correspond to the selected header in list box 310. When window 300 is initially generated, after a customized extension field from key user tool 190 is used to drive a form template, list box 320 may display the customized extension field automatically at the top of the list of extension fields. The customized extension field may only be available to section headers in list box 320 that are applicable to the customized extension field. If a non-applicable section header is selected, the customized extension field may not be available to that section and may not be displayed in list box 320.
List box 320 may be divided into three separate columns. In a first column, a user may select the visibility of each of the extension fields. From a drop down list, a user may select for each extension field from three settings: “Show always”, “Show if exists”, and “Do not show”. The “Show always” setting may show the extension field even if no data was input by a user into the form template 110 in panel 130. The “Show if exists” setting may show the extension field only if data was input for the extension field in panel 130. The “Do not show” setting may not show the extension field even if input data was entered by a user in panel 130.
In a second column in list box 320, a label for each of the extension fields may be displayed. A third column in list box 320 may display a description of the extension field. A user may scroll through the extension fields to select and change the visibility of each respective extension field, including the initially selected extension field by key user tool 190. In an embodiment, list boxes 310 and 320 may be the same size. If there are more section headers or extension fields then allowed for in the area provided in list boxes 310 and 320, a scroll bar may allow for the additional viewing of non-displayed headers or extension fields.
Extension fields from each of the section headers may be removed in window 300 from form template 110, by using remove button 324. Extension fields made available to other relevant section headers may be added to those section headers by using the add button 322.
The selected form template 110 may be embedded in a print view in viewing pane 330. Viewing pane 330 may display form template 110 as a file such a PDF, a word document, or any other text-based document. Viewing pane 330 may display form template 110 using provided sample data. If a user wishes to change the data displayed in the viewing pane, the user may click on the “Change Sample Data” button 340, which may be displayed above viewing pane 330. Button 340 may be used to tailor form template 110 to each desired set of data. Viewing pane 330 may also contain a menu bar with a number of icons that provide for the printing, saving, and zooming, of the template. Viewing pane 330 may also contain a scroll bar which may allow a user to scroll and view the entire document which may not fit in the display area of the viewing pane.
When the visibility setting of an extension field in list box 320 is changed, the corresponding change may occur in the preview document in viewing pane 330 after refreshing application 20. A selection of “Show always” for the visibility of a selected extension field may add the extension field to the preview document in viewing pane 330. A selection of “Show if exists” may make the selected extension field visible in viewing pane 330 only if data was input to the interface in panel 130. A selection of the setting “Do not show” may hide the extension field in the preview document in viewing pane 330. A user may save their selection to form template 110 by the save button 302 or publish the template via button 306.
Any suitable technology may be used to implement embodiments of the present invention, such as general purpose computers. One or more system servers may operate hardware and/or software modules to facilitate the inventive processes and procedures of the present application, and constitute one or more example embodiments of the present invention. Further, one or more servers may include a computer readable storage medium, with instructions to cause a processor, e.g., processor 30, to execute a set of steps according to one or more example embodiments of the present invention.
Further, example embodiments of the present invention are directed to one or more processors, which may be implemented using any conventional processing circuit and device or combination thereof, e.g., a Central Processing Unit (CPU) of a Personal Computer (PC) or other workstation processor, to execute code provided, e.g., on a hardware computer-readable medium including any conventional memory device, to perform any of the methods described herein, alone or in combination. The one or more processors may be embodied in a server or user terminal or combination thereof. The user terminal may be embodied, for example, a desktop, laptop, hand-held device, Personal Digital Assistant (PDA), television set-top Internet appliance, mobile telephone, smart phone, etc., or as a combination of one or more thereof. The memory device may include any conventional permanent and/or temporary memory circuits or combination thereof, a non-exhaustive list of which includes Random Access Memory (RAM), Read Only Memory (ROM), Compact Disks (CD), Digital Versatile Disk (DVD), and magnetic tape.
It will be appreciated that all of the disclosed methods and procedures described herein can be implemented using one or more computer programs or components. These components may be provided as a series of computer instructions on any conventional computer-readable medium, including RAM, ROM, flash memory, magnetic or optical disks, optical memory, or other storage media. The instructions may be configured to be executed by a processor which, when executing the series of computer instructions, performs or facilitates the performance of all or part of the disclosed methods and procedures.
Several embodiments of the invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.