<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=How_to_change_an_existing_Window</id>
	<title>How to change an existing Window - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=How_to_change_an_existing_Window"/>
	<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=How_to_change_an_existing_Window&amp;action=history"/>
	<updated>2026-04-06T20:16:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=How_to_change_an_existing_Window&amp;diff=59&amp;oldid=prev</id>
		<title>Wikiadmin: Created page with &quot;== Introduction == Application elements (windows, tabs and Datab...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=How_to_change_an_existing_Window&amp;diff=59&amp;oldid=prev"/>
		<updated>2018-10-14T13:50:56Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Introduction == Application elements (&lt;a href=&quot;/index.php?title=Database_Model/org.openbravo.model.ad.ui/AD_Window&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Database Model/org.openbravo.model.ad.ui/AD Window (page does not exist)&quot;&gt;windows&lt;/a&gt;, &lt;a href=&quot;/index.php?title=Database_Model/org.openbravo.model.ad.ui/AD_Tab&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Database Model/org.openbravo.model.ad.ui/AD Tab (page does not exist)&quot;&gt;tabs&lt;/a&gt; and Datab...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
Application elements ([[Database_Model/org.openbravo.model.ad.ui/AD_Window |windows]], [[Database_Model/org.openbravo.model.ad.ui/AD_Tab |tabs]] and [[Database_Model/org.openbravo.model.ad.ui/AD_Field |fields]]) are liable to change repeatedly during the development or maintenance phases of a project. Openbravo ERP is able to cope with these changes because its architecture is suited to iterative&lt;br /&gt;
development. The definitions of all generated Windows, tabs and fields are stored as metadata in the Application Dictionary (AD).&lt;br /&gt;
&lt;br /&gt;
Changing the window of an existing application is a simple process of changing the AD definition.&lt;br /&gt;
&lt;br /&gt;
When using the Openbravo 3 UI this is all that is needed, the changes can be seem immediately when switching role and then opening the changed window again.&lt;br /&gt;
&lt;br /&gt;
When using classic Window additionally a compile step is needed as it was during the Openbravo 2.50 cycle.&lt;br /&gt;
&lt;br /&gt;
This HowTo explains how to modify existing elements of a window. If only new elements (like new fields) should be added to a window the use of a Template (as explained here) is not needed. Instead those new elements can just be added using a normal module as explain in the other HowTo on [[How_to_add_a_field_to_a_Window_Tab |How to add a field to a Window Tab]].&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&lt;br /&gt;
The objective of this how-to is to illustrate how to make changes to existing generated windows in terms of appearance and behavior. The window used in the example is the Physical Inventory window and the changes illustrated will be:&lt;br /&gt;
&lt;br /&gt;
* Hide a field&lt;br /&gt;
* Re-sequence the layout&lt;br /&gt;
&lt;br /&gt;
Physical Inventory is a window that belongs to the Openbravo ERP core module. It comprises of:&lt;br /&gt;
&lt;br /&gt;
* 1 Window - Physical Inventory.&lt;br /&gt;
* 2 Tabs - Header and Lines.&lt;br /&gt;
* A Header Tab has 19 Fields 10 of which are displayed (A few are displayed conditionally)&lt;br /&gt;
&lt;br /&gt;
Before any changes the header tabs has the following appearance:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:HowtoChangeExistingWindow1.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To customize these window in a Modularity Context a new module of Type '''Template'''/'''Industry Template''' is needed.&lt;br /&gt;
&lt;br /&gt;
If these changes are just planned as local customization then there's an easy way of creating such a module. Navigating to '''General Setup || Application || System Info'' and marking the '''Customization Allowed''' CheckBox automatically creates a new module of type Template which can be used directly.&lt;br /&gt;
&lt;br /&gt;
If the changes are planned to be published then a new module needs to be created and its ''Type'' set to ''Template''. This new template needs to have dependency added to it on all other modules which contain elements which are to be customized. In this HowTo this is only a dependency on the ''Core'' module as the ''Physical Inventory'' window is defined there.&lt;br /&gt;
&lt;br /&gt;
== Changing the window ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Navigate to the ''Application Dictionary || Windows, Tabs and Fields'' window and select the record for ''Physical Inventory''.&lt;br /&gt;
&lt;br /&gt;
In the ''Fields'' tab we can now do the changes needed to adapt the layout as wanted:&lt;br /&gt;
&lt;br /&gt;
* ''Description'' field, unmark the ''Displayed'' checkbox to hide the field from the tab.&lt;br /&gt;
* ''Organization'' field, change sequence number to ''45'' and mark the ''Start in new line'' checkbox. This moves the field below all other normally displayed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For testing the changed layout switch away from the ''System Administrator'' role to i.e. the ''F&amp;amp;B International Group Admin'' role and open the ''Physical Inventory'' window again. As the instance contains our module marked as ''InDevelopment'' the window layout is reloaded each time the window is opened we can be the changed layout immediate as seen below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:HowtoChangeExistingWindow2.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To apply the same layout changes to the window in ''classic UI mode'' the windows needs to be recompiled, the changes deployed to tomcat and tomcat restarted. The compile &amp;amp; deploy step can be done by using ''ant smartbuild'' which will recompile all changed windows and deploy the changes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Exporting the changes ==&lt;br /&gt;
&lt;br /&gt;
The final step is to export the changes into the module so they are persisted. When exporting changes into a template is it '''very important''' that '''only''' the '''template is in development''' and the module which contains the changed object (i.e. window) is not.&lt;br /&gt;
&lt;br /&gt;
After ensuring that the export of the changes consists of the following two steps:&lt;br /&gt;
&lt;br /&gt;
# ''ant export.database'', same steps as for any other module&lt;br /&gt;
# ''ant export.config.script'', analyses the changes done and creates a special file ''configScript.xml'' in the module to contain them.&lt;br /&gt;
&lt;br /&gt;
This concludes this HowTo. Further technical information on ''Template'' and the ''Configuration Script'' they contain can be found in [[How_To_Create_a_Configuration_Script | this]] document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
</feed>