<?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=Category%3AHowTo</id>
	<title>Category:HowTo - 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=Category%3AHowTo"/>
	<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;action=history"/>
	<updated>2026-04-06T21:48:13Z</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=Category:HowTo&amp;diff=4283&amp;oldid=prev</id>
		<title>Asp-luqman: /* Windows, tabs and fields, reports and alerts */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=4283&amp;oldid=prev"/>
		<updated>2024-02-19T01:19:47Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Windows, tabs and fields, reports and alerts&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 01:19, 19 February 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot; &gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_client_event_handler_actions]] : how to create client side event handlers (pre/post save)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_client_event_handler_actions]] : how to create client side event handlers (pre/post save)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_jrxml_make_barcode_barberque]] : how to using jrxml with barbeque&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_jrxml_make_barcode_barberque]] : how to using jrxml with barbeque&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[How_to_setup_salary_payment_broadcast_email]] : Broadcast Email Salary Payment&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Production ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Production ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-4090:rev-4283 --&gt;
&lt;/table&gt;</summary>
		<author><name>Asp-luqman</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=4090&amp;oldid=prev</id>
		<title>Asp-luqman: /* Data model - Database */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=4090&amp;oldid=prev"/>
		<updated>2023-02-15T07:38:00Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Data model - Database&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 07:38, 15 February 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l59&quot; &gt;Line 59:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 59:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_define_an_on_Create_Default]]: helpfull for when initializing data when creating new records&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_define_an_on_Create_Default]]: helpfull for when initializing data when creating new records&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_exclude_Database_Physical_Objects_From_Model]]: if you want to prevent certain database elements to show up in the application dictionary&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_exclude_Database_Physical_Objects_From_Model]]: if you want to prevent certain database elements to show up in the application dictionary&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[How_to_referece_xml_rounding]]: if you want add new referece to rounding&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Client side development ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Client side development ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-3894:rev-4090 --&gt;
&lt;/table&gt;</summary>
		<author><name>Asp-luqman</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=3894&amp;oldid=prev</id>
		<title>Asp-luqman at 08:17, 28 September 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=3894&amp;oldid=prev"/>
		<updated>2022-09-28T08:17:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 08:17, 28 September 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot; &gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_client_event_handler_actions]] : how to create client side event handlers (pre/post save)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_client_event_handler_actions]] : how to create client side event handlers (pre/post save)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_jrxml_make_barcode_barberque]] : how to using jrxml with barbeque&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_jrxml_make_barcode_barberque]] : how to using jrxml with barbeque&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Production ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Post_in_work_effort]] :Post in work effort&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Data model - Database ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Data model - Database ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-3727:rev-3894 --&gt;
&lt;/table&gt;</summary>
		<author><name>Asp-luqman</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=3727&amp;oldid=prev</id>
		<title>Asp-luqman at 23:32, 2 June 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=3727&amp;oldid=prev"/>
		<updated>2022-06-02T23:32:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 23:32, 2 June 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot; &gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 38:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_automatically_populate_search_keys]] : how to Automatically Populate Search Keys&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_automatically_populate_search_keys]] : how to Automatically Populate Search Keys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_client_event_handler_actions]] : how to create client side event handlers (pre/post save)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_client_event_handler_actions]] : how to create client side event handlers (pre/post save)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[How_to_create_jrxml_make_barcode_barberque]] : how to using jrxml with barbeque&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Data model - Database ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Data model - Database ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-3578:rev-3727 --&gt;
&lt;/table&gt;</summary>
		<author><name>Asp-luqman</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=3578&amp;oldid=prev</id>
		<title>Asp-luqman: /* Server side development */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=3578&amp;oldid=prev"/>
		<updated>2022-04-11T04:06:21Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Server side development&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 04:06, 11 April 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l91&quot; &gt;Line 91:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 91:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**[[How_to_create_a_HQL_Based_Table]]: tables defined based on a query.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**[[How_to_create_a_HQL_Based_Table]]: tables defined based on a query.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**[[How_to_Create_a_Table_Based_on_a_User_Defined_Datasource]]: completelly implemented in Java, it allows to retrieve data from any source.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**[[How_to_Create_a_Table_Based_on_a_User_Defined_Datasource]]: completelly implemented in Java, it allows to retrieve data from any source.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;**[[How_To_Using_Auxiliary_Input]]: Using Auxiliary Input . So that the default value can be adjusted according to the tabs in windows&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_Discount_and_Promotion_Type]]: how to define and implement a new Discount and Promotion Type.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_Discount_and_Promotion_Type]]: how to define and implement a new Discount and Promotion Type.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-2728:rev-3578 --&gt;
&lt;/table&gt;</summary>
		<author><name>Asp-luqman</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=2728&amp;oldid=prev</id>
		<title>Wikiadmin: /* Migration - Classic User Interface */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=2728&amp;oldid=prev"/>
		<updated>2021-12-16T01:07:59Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Migration - Classic User Interface&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 01:07, 16 December 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l117&quot; &gt;Line 117:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 117:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The dbsourcemanager is a critical component of Openbravo. It is responsible for updating the database when installing modules and upgrading. As Openbravo continuously improves the dbsourcemanager it can be very helpfull to use the latest version of this component in older versions of Openbravo. This [[How_to_use_a_new_version_of_DBSourceManager|how-to]] describes how to do this.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The dbsourcemanager is a critical component of Openbravo. It is responsible for updating the database when installing modules and upgrading. As Openbravo continuously improves the dbsourcemanager it can be very helpfull to use the latest version of this component in older versions of Openbravo. This [[How_to_use_a_new_version_of_DBSourceManager|how-to]] describes how to do this.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Other Topics ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Other Topics ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-2725:rev-2728 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=2725&amp;oldid=prev</id>
		<title>Wikiadmin at 01:03, 16 December 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=2725&amp;oldid=prev"/>
		<updated>2021-12-16T01:03:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 01:03, 16 December 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot; &gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_add_a_button_to_the_toolbar]]: buttons can be added to the toolbar shown in form/grid view for specific windows&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_add_a_button_to_the_toolbar]]: buttons can be added to the toolbar shown in form/grid view for specific windows&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_main_view]]: helps you to create a completely new custom view using client side javascript&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_main_view]]: helps you to create a completely new custom view using client side javascript&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;How_to_create_a_Report_using_Process_Definition&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/del&gt;]: define a new report through the Openbravo user interface&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;http://wiki.openbravo.com/wiki/&lt;/ins&gt;How_to_create_a_Report_using_Process_Definition &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;How to create a Report&lt;/ins&gt;]: define a new report through the Openbravo user interface&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_an_Alert]]: alerts are used to notify users of changes in business data&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_an_Alert]]: alerts are used to notify users of changes in business data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_use_property_fields]]: how to show related information in a grid/form and to show a child table in the top of a window&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_use_property_fields]]: how to show related information in a grid/form and to show a child table in the top of a window&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-1099:rev-2725 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=1099&amp;oldid=prev</id>
		<title>Wikiadmin at 00:42, 11 July 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=1099&amp;oldid=prev"/>
		<updated>2021-07-11T00:42:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 00:42, 11 July 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot; &gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_add_a_button_to_the_toolbar]]: buttons can be added to the toolbar shown in form/grid view for specific windows&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_add_a_button_to_the_toolbar]]: buttons can be added to the toolbar shown in form/grid view for specific windows&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_main_view]]: helps you to create a completely new custom view using client side javascript&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_main_view]]: helps you to create a completely new custom view using client side javascript&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://wiki.infinite-erp.co.id/index.php/&lt;/del&gt;How_to_create_a_Report_using_Process_Definition]: define a new report through the Openbravo user interface&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/ins&gt;How_to_create_a_Report_using_Process_Definition&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]: define a new report through the Openbravo user interface&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_an_Alert]]: alerts are used to notify users of changes in business data&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_an_Alert]]: alerts are used to notify users of changes in business data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_use_property_fields]]: how to show related information in a grid/form and to show a child table in the top of a window&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_use_property_fields]]: how to show related information in a grid/form and to show a child table in the top of a window&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=65&amp;oldid=prev</id>
		<title>Wikiadmin: /* Windows, tabs and fields, reports and alerts */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=65&amp;oldid=prev"/>
		<updated>2018-10-14T13:57:51Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Windows, tabs and fields, reports and alerts&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 13:57, 14 October 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot; &gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_add_a_button_to_the_toolbar]]: buttons can be added to the toolbar shown in form/grid view for specific windows&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_add_a_button_to_the_toolbar]]: buttons can be added to the toolbar shown in form/grid view for specific windows&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_main_view]]: helps you to create a completely new custom view using client side javascript&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_implement_a_new_main_view]]: helps you to create a completely new custom view using client side javascript&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://wiki.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;openbravo&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;com&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/del&gt;/How_to_create_a_Report_using_Process_Definition &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;How to create a Report&lt;/del&gt;]: define a new report through the Openbravo user interface&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://wiki.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;infinite-erp&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;co.id&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;index.php&lt;/ins&gt;/How_to_create_a_Report_using_Process_Definition]: define a new report through the Openbravo user interface&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_an_Alert]]: alerts are used to notify users of changes in business data&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_create_an_Alert]]: alerts are used to notify users of changes in business data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_use_property_fields]]: how to show related information in a grid/form and to show a child table in the top of a window&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How_to_use_property_fields]]: how to show related information in a grid/form and to show a child table in the top of a window&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-35:rev-65 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=35&amp;oldid=prev</id>
		<title>Wikiadmin: Created page with &quot;The Openbravo how-tos describe Openbravo development topics using a focused development goal.  The  first how-to on creating and packag...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Category:HowTo&amp;diff=35&amp;oldid=prev"/>
		<updated>2018-10-14T13:14:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;The Openbravo how-tos describe Openbravo development topics using a focused development goal.  The &lt;a href=&quot;/index.php/How_To_Create_and_Package_a_Module&quot; title=&quot;How To Create and Package a Module&quot;&gt; first how-to&lt;/a&gt; on creating and packag...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The Openbravo how-tos describe Openbravo development topics using a focused development goal.&lt;br /&gt;
&lt;br /&gt;
The [[How_To_Create_and_Package_a_Module | first how-to]] on creating and packaging a module is '''important''' for all other how-tos as it describes the steps which must be done before another how-to can be executed. &lt;br /&gt;
&lt;br /&gt;
When you need to setup your development environment it makes sense to start with the [[How_to_setup_Eclipse_IDE|how-to setup the Eclipse IDE]] howto. It explains how to download and configure the development projects so you can run Openbravo locally on your development machine.&lt;br /&gt;
&lt;br /&gt;
And ofcourse we all should do [http://en.wikipedia.org/wiki/Test-driven_development test-driven development], so make sure to look at this howto: [[How_to_create_testcases]].&lt;br /&gt;
&lt;br /&gt;
All how-tos follow a common structure:&lt;br /&gt;
# Start with the definition of the objective of the how-to&lt;br /&gt;
# Describe the steps of the how-to&lt;br /&gt;
# Present the achieved result of the how-to&lt;br /&gt;
&lt;br /&gt;
== Visualization ==&lt;br /&gt;
&lt;br /&gt;
Openbravo is fully skinnable making it possible to change the colours, icons etc. through your own module. The [[How_to_create_a_New_Skin | create a new skin]] how to explains how to adapt the current visualization in a custom module.&lt;br /&gt;
&lt;br /&gt;
== Windows, tabs and fields, reports and alerts ==&lt;br /&gt;
&lt;br /&gt;
Openbravo Windows can be configured and changed without rebuilding the application, or can be fully customized using a modular approach. There are several how-tos which give a great insight in the customizability of Openbravo ranging from small changes to a window to complete new windows:&lt;br /&gt;
* [[How_to_Create_a_Window|Create]] or [[How_to_change_an_existing_Window|Change]] a window: how to add a new window to the system through the application dictionary or change an existing one&lt;br /&gt;
* [[How_to_add_a_field_to_a_Window_Tab]]: describes how to add a new field to an existing window&lt;br /&gt;
* [[How_to_add_a_canvas_field_to_a_Form_or_Grid]]: add a calculated field or button as a field/column in the Form/Grid&lt;br /&gt;
* [[How to create client side callout onchange function]]&lt;br /&gt;
* [[How_to_create_a_Callout]]: a callout adds logic to a field which is executed when the field is accessed/changed in the user interface&lt;br /&gt;
* [[How_to_create_a_Navigation_Bar_Component]]: with a small coding effort in java and javascript you can add new buttons to the main navigation bar&lt;br /&gt;
* [[How_to_add_a_button_to_the_toolbar]]: buttons can be added to the toolbar shown in form/grid view for specific windows&lt;br /&gt;
* [[How_to_implement_a_new_main_view]]: helps you to create a completely new custom view using client side javascript&lt;br /&gt;
* [http://wiki.openbravo.com/wiki/How_to_create_a_Report_using_Process_Definition How to create a Report]: define a new report through the Openbravo user interface&lt;br /&gt;
* [[How_to_create_an_Alert]]: alerts are used to notify users of changes in business data&lt;br /&gt;
* [[How_to_use_property_fields]]: how to show related information in a grid/form and to show a child table in the top of a window&lt;br /&gt;
* [[How To Define Display Logic For Tabs]]: how a tab can be shown or hidden based on field values&lt;br /&gt;
* [[How_to_define_Display_Logic_Evaluated_at_Server_Level]]: how a field can be hidden in view definition based on preferences at view generation time&lt;br /&gt;
* [[How_to_add_a_rich_text_field_and_column]]: how to add a rich text field and column&lt;br /&gt;
* [[How_to_add_a_masked_text_field]]: how to create a masked field in a tab&lt;br /&gt;
* [[How_to_embed_a_Widget_into_a_Window_Tab]]: widgets can also be included within forms&lt;br /&gt;
* [[How_to_retrieve_parents_node_by_level_in_a_tree]] : how to retrieve parents node by level in a tree&lt;br /&gt;
* [[How_to_automatically_populate_search_keys]] : how to Automatically Populate Search Keys&lt;br /&gt;
* [[How_to_create_client_event_handler_actions]] : how to create client side event handlers (pre/post save)&lt;br /&gt;
&lt;br /&gt;
== Data model - Database ==&lt;br /&gt;
&lt;br /&gt;
Openbravo's data model can easily be extended to accomodate for new requirements. Changes in the data model are automatically propagated to the rest of the system. Meaning that important Openbravo functionality is out-of-the-box available for your new tables and columns. For example, your new tables are automatically available through the REST webservices, entities are generated and new windows can be defined. &lt;br /&gt;
&lt;br /&gt;
The following how-tos give insight in the development steps involved in changing the data model:&lt;br /&gt;
* [[How_to_create_a_Table]]: helps you to add a new table to the system&lt;br /&gt;
* [[How_to_add_Columns_to_a_Table]]: describes adding new columns to an existing table using modularity&lt;br /&gt;
* [[How_to_create_a_Computed_Column]]: Openbravo allows you to define columns which are computed using a sql expression, these columns do not exist in the datbase schema but are computed when reading a record from the database.&lt;br /&gt;
&lt;br /&gt;
And there are several how-to's focusing on database oriented development:&lt;br /&gt;
* [[How_to_create_a_Trigger]]: although most of the logic should be implemented in java using the [[Data_Access_Layer|Data Access Layer]], it is still possible to develop logic in the database using triggers, this how-to helps you here&lt;br /&gt;
* [[How_to_create_a_Stored_Procedure]]: stored procedures are one of the mechanisms Openbravo provides to implement business logic. Stored procedures are executed by the database engine and are implemented in the standard PL/pgSQL (for PostgreSQL) or PL/SQL (for Oracle) language.&lt;br /&gt;
* [[How_to_use_an_Extension_Point]]: the extension point concept allows a module to extend/plug in their own custom behavior inside existing stored procedures&lt;br /&gt;
* [[How_to_add_a_Constraint]]: gives an example of adding a constraint to an existing column&lt;br /&gt;
* [[How_to_define_an_on_Create_Default]]: helpfull for when initializing data when creating new records&lt;br /&gt;
* [[How_to_exclude_Database_Physical_Objects_From_Model]]: if you want to prevent certain database elements to show up in the application dictionary&lt;br /&gt;
&lt;br /&gt;
== Client side development ==&lt;br /&gt;
&lt;br /&gt;
In Openbravo 3.0 it is now possible to develop code which runs on the client (browser) and adapt the client side logic through modules. Before working through a howto it can make sense to take a look at the documentation on [[Client_Side_Development_and_API|client side development]]. The following howtos describe different client side development topics:&lt;br /&gt;
* [[How_to_add_a_button_to_the_toolbar]]: describes how to add a new button with server side actions to the toolbar shown in forms and grids&lt;br /&gt;
* [[How_to_create_a_Navigation_Bar_Component]]: helps you to add a new component to the main navigation bar shown in the top of the application&lt;br /&gt;
* [[How_to_implement_a_new_main_view]]: develop a completely new totally custom view which can be opened from the menu and quick launch&lt;br /&gt;
&lt;br /&gt;
== Server side development ==&lt;br /&gt;
&lt;br /&gt;
Openbravo offers a complete environment on the server to implement your own business logic. Openbravo automatically takes care of most infrastructure tasks for you, but you can override existing behavior where needed! There are many how-tos on server side development:&lt;br /&gt;
* '''Data Access Layer''' articles: the following articles explain how to work with Data Access Layer (DAL)&lt;br /&gt;
** [[How_to_work_with_the_Data_Access_Layer]]: a quick introduction into the [[Data_Access_Layer|Data Access Layer]]&lt;br /&gt;
** [[How_to_implement_a_business_event_handler]]: implement your own business logic when entities are updated/deleted/inserted, trigger-like support&lt;br /&gt;
** [[How_to_develop_a_DAL_background_process]]: develop a process which is run in the background at preset intervals&lt;br /&gt;
** [[How_to_do_a_complex_query_using_the_DAL-1]]: describes how a complex SQL query can be done using HQL&lt;br /&gt;
** [[How_to_do_a_complex_query_using_the_DAL-2]]: another example, giving insight in how to translate SQL to HQL&lt;br /&gt;
** [[How_to_call_a_stored_procedure_from_the_DAL]]: calling the database in the same transaction as your server side logic&lt;br /&gt;
* '''Process Definition''': these how to's explain how different kinds of ''Process Definitions'' are implemented:&lt;br /&gt;
** [[How to create a Standard Process Definition]]: how to create a Standard Process definition with parameter defined in Application Dictionary&lt;br /&gt;
** [[How_to_create_a_Pick_and_Execute_Process]]: how to create a Pick and Execute process&lt;br /&gt;
** [[How_to_create_a_Manual_UI_Process]]: how to create a Manual UI Process&lt;br /&gt;
** [[How_to_create_a_Multi_Selector]]: how to create a Multi Selector to be used as parameter in a Process Definition.&lt;br /&gt;
** [[How_to_create_a_Report_using_Process_Definition]]&lt;br /&gt;
* '''Background Processes''': how background processes are created.&lt;br /&gt;
** [[How_to_create_a_Background_Process]]: describes how the class defined in the previous how-to can be scheduled through the Openbravo user interface&lt;br /&gt;
** [[How_to_create_a_Java_Process]]: describes the structure of a java class which can be run as a process in the background&lt;br /&gt;
* '''Trees''': these how to's explain how to create new tree types within modules:&lt;br /&gt;
** [[How_to_Define_a_Table_as_a_Tree]]: allows to show the ''Tree Grid View'' and makes the table available to create a ''Tree Selector''.&lt;br /&gt;
** [[How_to_Create_a_Tree_Selector]]: allows to define a reference to a ''Tree Table''.&lt;br /&gt;
** [[How_to_Restrict_the_Movements_of_Nodes_in_a_Tree]]: defines the logic to handle the hierarchical structure in a tree.&lt;br /&gt;
** [[How_to_Create_a_Custom_Tree]]: allows to create tree having a different data structure to the default ones (&amp;lt;code&amp;gt;AD_Tree_Node&amp;lt;/code&amp;gt; or ''Link to Parent'').&lt;br /&gt;
* '''Tables''': tables are used as origin of data to populate grids in standard windows and processes. By default they are based on database tables. But in some cases it makes sense to implement a different definition:&lt;br /&gt;
**[[How_to_create_a_Table]]: standard one based on a database table&lt;br /&gt;
**[[How_to_create_a_HQL_Based_Table]]: tables defined based on a query.&lt;br /&gt;
**[[How_to_Create_a_Table_Based_on_a_User_Defined_Datasource]]: completelly implemented in Java, it allows to retrieve data from any source.&lt;br /&gt;
&lt;br /&gt;
* [[How_to_implement_a_new_Discount_and_Promotion_Type]]: how to define and implement a new Discount and Promotion Type.&lt;br /&gt;
* [[How to Create Your Own Import Process with IDL]]: how to implement an IDL process.&lt;br /&gt;
* [[How_to_send_emails_on_events]]: how to send events to send email and how to listen to those events.&lt;br /&gt;
* [[How_to_implement_Create_New_In_Selectors]]: explains how to implement a selector that is also able to create new recods.&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
&lt;br /&gt;
Openbravo automatically provides webservices on the complete data model. If you add new tables/columns to Openbravo then they are automatically available through the REST webservices. Openbravo supports multiple technologies: [[XML_REST_Web_Services|XML]] and [[JSON_REST_Web_Services|JSON]]. You can also add new webservices to Openbravo, this is explained in this [[How_to_create_a_new_REST_webservice|how-to]].&lt;br /&gt;
&lt;br /&gt;
== Modularity ==&lt;br /&gt;
&lt;br /&gt;
Openbravo provides a complete infrastructure to work with modules and package your modules including related data. Several related topics are discussed in the &lt;br /&gt;
* [[How_To_Create_and_Package_a_Module]]: helps you to package your functionality in a module&lt;br /&gt;
* [[How_to_publish_a_Module]]: to make your modules available to the Openbravo community&lt;br /&gt;
* [[How_to_create_a_Dataset]]: describes how to add data to your module&lt;br /&gt;
* [[How_To_Create_a_Configuration_Script]]: to adapt existing modules, or even the core module&lt;br /&gt;
* [[How_to_create_build_validations_and_module_scripts]]: create scripts which validate the module environment or scripts that are run when a module is installed&lt;br /&gt;
&lt;br /&gt;
== Migration - Classic User Interface ==&lt;br /&gt;
&lt;br /&gt;
Openbravo 2.50 is widely used and a common scenario is to upgrade from 2.50 to 3.00. At Openbravo we have paid specific attention to support existing modules, logic and concepts. This [[How_to_Migrate_2.50_Modules_to_3.0|how to]] helps you to migrate your existing code from 2.50 to 3.00.&lt;br /&gt;
&lt;br /&gt;
Openbravo 3.00 allows you to run specific windows in classic mode within the new layout or even still run the application completely in classic mode, see this [[How_To_Switch_to_Classic_Mode|how-to]].&lt;br /&gt;
&lt;br /&gt;
The dbsourcemanager is a critical component of Openbravo. It is responsible for updating the database when installing modules and upgrading. As Openbravo continuously improves the dbsourcemanager it can be very helpfull to use the latest version of this component in older versions of Openbravo. This [[How_to_use_a_new_version_of_DBSourceManager|how-to]] describes how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Topics ==&lt;br /&gt;
&lt;br /&gt;
Articles in this section cover miscellaneous topics related to Openbravo development:&lt;br /&gt;
&lt;br /&gt;
* [[How_To_Log]]. Guides about how and what to log.&lt;br /&gt;
* [[How To Configure Log]]. Explains how log file is configured and how to change debug level for a class/package.&lt;br /&gt;
* [[How_To_Upgrade_a_Library]]. Describes the process to upgrade or include a new library.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developers_Guide]]&lt;/div&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
</feed>