<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Compiere from the Source</title>
    
    
    <link rel="alternate" type="text/html" href="http://www.compieresource.com/" />
    <id>tag:typepad.com,2003:weblog-78093239800272652</id>
    <updated>2009-03-25T21:50:21-07:00</updated>
    <subtitle>Information from the founders Jorg Janke and Kathy Pink</subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/CompiereSource" /><feedburner:info uri="compieresource" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>CompiereSource</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry>
        <title>Agile Development - the cure all?</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CompiereSource/~3/-xElo09Bi2E/agile-development---the-cure-all.html" />
        <link rel="replies" type="text/html" href="http://www.compieresource.com/2009/03/agile-development---the-cure-all.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a01157257981d970b011571634b2d970c</id>
        <published>2009-03-25T21:50:21-07:00</published>
        <updated>2009-03-25T21:50:21-07:00</updated>
        <summary>I just completed a 2 day class in Agile Development aimed at Product Managers. While I have a good understanding of the concepts and practices of Agile Development, it is always a good idea to validate what you know (or think you know). Also it helps to understand how others are using the processe and what issues and concerns they have. What surprised me was that some people look to the Agile Development methodology as the 'cure all' or panacea for their devleopment woes. No development methodology can make a disfunctional organization functional. What Agile can do for you is...</summary>
        <author>
            <name>J Janke</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="General" />
        
        
<content type="html" xml:lang="en-us" xml:base="http://www.compieresource.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I just completed a 2 day class in &lt;strong&gt;Agile Development &lt;/strong&gt;aimed at Product Managers.&amp;#0160; While I have a good understanding of the concepts and practices of Agile Development, it is always a good idea to validate what you know (or think you know).&amp;#0160; Also it helps to understand how others are using the processe and what issues and concerns they have.&lt;/p&gt;
&lt;p&gt;What surprised me was that some people look to the &lt;strong&gt;Agile Development &lt;/strong&gt;methodology as the &amp;#39;cure all&amp;#39; or panacea for their devleopment woes.&amp;#0160; No development methodology can make a disfunctional organization functional.&lt;/p&gt;&lt;p&gt;What &lt;strong&gt;Agile &lt;/strong&gt;can do for you is provide transparency and visibility to the development team that allows for predictablity with respect to the team's performance. So basically, at the end of each iteration (recommended length is 2 weeks) you have the following information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How good your estimates are&lt;/li&gt;
&lt;li&gt;If you are falling behind &lt;/li&gt;
&lt;li&gt;What any roadblocks are&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The big benefit is that you know this information after 2 weeks and can make the necessary adjustments (either in resources, scope or expectations), as opposed to at 6 or 12 months with the traditional waterfall approach. If you need to request resources, you have the information to support your request.&lt;/p&gt;
&lt;p&gt;As someone who has done my fair share of testing, I appreciate that the testing is an ongoing part of each interation.&amp;nbsp; Gone are the days of development finishing and then passing it off to QA.&amp;nbsp;Usually with less time than planned to complete testing and no margin for rework if development assumptions were off.&lt;/p&gt;
&lt;p&gt;With &lt;strong&gt;Agile &lt;/strong&gt;you constantly validate the requirements and functionality through scrum meetings, demos and constant testing.&amp;nbsp; At the end of each iteration there must be some demonstrable progress.&amp;nbsp; In the early stages that may just be a code review, but as you progress it will be functionalty.&lt;/p&gt;
&lt;p&gt;Developers get better at estimating effort.&amp;nbsp; Business Analysts get better at describing the functional requirements and expectations are constantly checked.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Lastly, Product Owners and Project Managers are better armed with the necessary information if adjustments need to be made and these adjustments can be made earlier in the cycle.&lt;/p&gt;
&lt;p&gt;In then end, I realize more and more how effective the &lt;strong&gt;Agile &lt;/strong&gt;process can be for &lt;strong&gt;ERP &lt;/strong&gt;Implementations.&amp;nbsp; Involve interested parties early, keep them involved, constantly validate and make adjustments.&amp;nbsp; The Big Bang approach of working in isolation with a small group and then presenting an ERP is gone.&amp;nbsp; It has proved historically to be ineffective and inefficient.&amp;nbsp; Time to use a different approach.....Agile.&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/CompiereSource/~4/-xElo09Bi2E" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.compieresource.com/2009/03/agile-development---the-cure-all.html</feedburner:origLink></entry>
    <entry>
        <title>Cloud Hype and Reality</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CompiereSource/~3/_EEsLnl1NmI/cloud-hype-and-reality.html" />
        <link rel="replies" type="text/html" href="http://www.compieresource.com/2009/03/cloud-hype-and-reality.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a01157257981d970b011571634b2e970c</id>
        <published>2009-03-13T15:25:28-07:00</published>
        <updated>2009-03-13T15:25:28-07:00</updated>
        <summary>Cloud computing is "in" - and actually with the latest price change from Amazon it is becoming a bit more real. I signed up with Amazon, installed the Java tools, created my own image, changed it via Windows Remote Desktop, saved that image and re-started that image - in half a day. Far easier than I thought - just another half day to install database, application, etc. As they have nice Java interfaces for the operations, I think that the entire process can be automated (or you could use the Management Console). Realistically, the Amazon Elastic Compute Cloud (EC2) is...</summary>
        <author>
            <name>J Janke</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="General" />
        
        
<content type="html" xml:lang="en-us" xml:base="http://www.compieresource.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Cloud computing is &amp;quot;in&amp;quot; - and actually with the latest price change from Amazon it is becoming a bit more real.&lt;/p&gt;
&lt;p&gt;I signed up with Amazon, installed the Java tools, created my own image, changed it via Windows Remote Desktop, saved that image and re-started that image - in half a day.&amp;#0160; Far easier than I thought - just another half day to install database, application, etc.&amp;#0160; As they have nice Java interfaces for the operations, I think that the entire process can be automated (or you could use the Management Console).&lt;/p&gt;
&lt;p&gt;Realistically, the Amazon Elastic Compute Cloud (EC2) is just an alternative to dedicated hosting - but rather than paying for 24h/day, you pay just for the time you have your instance up.&amp;#0160; You still need to maintain the operating system, application, configure firewalls, implement a back-up strategy - the tasks which are included in a Software-As-A-Service (SAAS) model.&amp;#0160; Main benefit is that you can select from quite a few starting points, Amazon Machine Images (AMIs) - from several free Linux O/S as well as Windows or commercial vendors (Oracle, RedHat, IBM, JBoss, Compiere, ...) combining convenience and license payment.&lt;/p&gt;
&lt;p&gt;We will be using it for our automated build with one instance and one instance per configuration for regression and load testing and are &amp;quot;burning&amp;quot; currently max 2 hours per day for the 3 configurations (4 planned).&amp;#0160; As these tasks are not essential, delays and non-availability is not an issue.&amp;#0160; As these are test instances, we just load the image, run it and remove it - no need to save as we are starting the tests always from a clean install.&amp;#0160; &lt;br /&gt;As you know, persistency is &amp;quot;a bit&amp;quot; of an issue as you need to create a new AMI for any change to your configuration.&amp;#0160; If the instance crashes, you are back to the last saved image - only S3 storage is persistent.&amp;#0160; For 24/7 production use, you must solve external database backup and recovery.&amp;#0160; You might want also to save certain log files externally.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Looking at the cost side:&amp;nbsp; Assuming a "serious" configuration (64 bit O/S, 7.5 GB RAM, 2 virtual cores, 850 GB disk)&amp;nbsp; the hourly costs are $0.40 for free operating systems, $0.50 for Windows (or whatever you agree with RedHat for their cloud starter version) - resulting in $288/month for a free Linux image or $360/month for Windows - basically a slightly more than what you would pay for dedicated hosting with a longer contract.&amp;nbsp; Note that in addition to the $228/360 per month you need to pay also for S3 storage and bandwidth.&lt;/p&gt;
&lt;p&gt;With the new "reserved instance" pricing (only available for the free Linux AMIs), you can reduce the costs. So rather paying $228 ($0.40*24h*30days), you'll pay $184 for a 1 year contact or $141 for a 3 year contract per month (plus storage &amp;amp; bandwidth).&amp;nbsp; The reserved instance plan makes sense if you use it for more than 12 hours/day with a one year and 6 hours for a three year plan.&lt;/p&gt;
&lt;p&gt;Our way forward is to get experience with using EC2 for build &amp;amp; test, automating deployment and see what the real costs for data transfer and storage/snapshots will be.&amp;nbsp; As we will use it for just a few hours per day, Windows is our choice - not everyone thinks that access via a ssh terminal is state-of-the-art and wants to set up remote X through firewalls.&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/CompiereSource/~4/_EEsLnl1NmI" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.compieresource.com/2009/03/cloud-hype-and-reality.html</feedburner:origLink></entry>
    <entry>
        <title>Agile ERP Development</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CompiereSource/~3/v0x3dm5nKjU/agile-erp-development.html" />
        <link rel="replies" type="text/html" href="http://www.compieresource.com/2009/01/agile-erp-development.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a01157257981d970b011571634b56970c</id>
        <published>2009-01-23T01:47:50-08:00</published>
        <updated>2009-01-23T01:47:50-08:00</updated>
        <summary>When exposed to the German education system, you'll pick up the importance of methodology and planning. In the Business Administration classes, we learned how important it is to do your strategic planning (10+ years) and operational (2+ years). OK, in the late 70s the world turned a bit slower. So when introduced to the presessors of RUP (Rational Unified Process), a heavy top-down, big-bang approach seemed very sensible. Well, it worked (somehow) and I thought I just have to improve my planning skills and spend days with Rational Rose trying to get the full round-trip to work. When starting Compiere...</summary>
        <author>
            <name>J Janke</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="General" />
        
        
<content type="html" xml:lang="en-us" xml:base="http://www.compieresource.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;When exposed to the German education system, you&amp;#39;ll pick up the importance of methodology and planning.&amp;#0160; In the Business Administration&amp;#0160;classes, we learned how important it is to do your strategic planning (10+ years) and operational (2+ years).&amp;#0160; OK, in the late 70s&amp;#0160;the world turned a bit slower.&amp;#0160; So when introduced to the presessors of RUP (Rational Unified Process), a heavy top-down, big-bang approach seemed very sensible.&amp;#0160; Well, it worked (somehow) and I thought I just have to improve my planning skills and spend&amp;#0160;days with Rational Rose trying to get the full round-trip to work.&lt;/p&gt;
&lt;p&gt;When starting Compiere in 1999, I know I had to do something else.&amp;#0160; Especially with Open Source,&amp;#0160;the traditional Big Bang approaches did not seem to work.&amp;#0160; So, I thought, I have to start &amp;quot;without a methodology&amp;quot;.&amp;#0160; After a while, we managed to publish stable daily releases and incorporated feedback very quickly.&amp;#0160; Initially users and customers were concerned about using the daily releases in production, but our track record was persuasive. So, it became standard procedure to use a daily build in production, especially if an important bug fix /improvement was made available.&lt;/p&gt;
&lt;p&gt;One day, a friend told me that &amp;quot;our agile approach&amp;quot; was working nicely.&amp;#0160; I was surprised that what we did had a name - so looked it up and was astonished to find the pricipals I was living actually written down. Happy to have found a&amp;#0160;name&amp;#0160;for what I was practicing for quite a while, I signed the &lt;a href="http://agilemanifesto.org/principles.html" target="agile"&gt;Agile Manifesto&lt;/a&gt; in &lt;a href="http://agilemanifesto.org/sign/display.cgi?ms=000000006" target="agile"&gt;early 2002&amp;#0160;&lt;/a&gt;&amp;#0160;&lt;/p&gt;&lt;p&gt;As agile became more popular over the years, I saw quite a few "agile" projects. The ones which failed usually used "agile" as an excuse for no planning. Not knowing what the requirements (= intended outcome) are or even stressing that they don't want to know -&amp;nbsp;is nice if you are just exploring or playing around, but in my experience the main cause for project failures.&lt;/p&gt;
&lt;p&gt;As the founders of Compiere, Kathy and I will now concentrate on the "last mile" - the implementation of Compiere.&amp;nbsp; In our trainings, we stressed the importance of Conference Room Pilots (basically an agile way of doing ERP implementations). To facilitate this process, we are looking for an Agile Project Management tool.&amp;nbsp; There are quite a few good products out there.&amp;nbsp; Our finalists are &lt;a href="http://www.rallydev.com/"&gt;Rally&lt;/a&gt;, &lt;a href="http://www.versionone.com/"&gt;Version One&lt;/a&gt; and &lt;a href="http://www.targetprocess.com/"&gt;Target Process&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All of them have free Community Editions.&amp;nbsp; We concentrated on the professional editions as we&amp;nbsp;require for the support of multiple projects (= implementations).&amp;nbsp; So, as usual, we came up with our list of requirements and evaluated the products.&amp;nbsp; Well, this is tough - Kathy as the "requirements queen" and implementation project lead spent quite some time evaluating the products.&amp;nbsp; Yes, there are differences, but from a business analyst point of view, you can achieve what we wanted with all products.&amp;nbsp; Some menu systems were more helpful than others, but for the functionality we need they all are all quite suitable.&amp;nbsp; The UI is always important, but also there after getting used to, there are not many differences.&lt;/p&gt;
&lt;p&gt;So, seems it comes down to integration (Eclipse, SVN) and ultimately also Compiere.&amp;nbsp; Well, I have not finished that yet - so our decision will be in our next blog.&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/CompiereSource/~4/v0x3dm5nKjU" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.compieresource.com/2009/01/agile-erp-development.html</feedburner:origLink></entry>
    <entry>
        <title>Agile ERP Implementatation</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CompiereSource/~3/L1Qto52FY5g/agile-erp-implementatation.html" />
        <link rel="replies" type="text/html" href="http://www.compieresource.com/2009/01/agile-erp-implementatation.html" thr:count="1" thr:updated="2009-04-18T06:22:59-07:00" />
        <id>tag:typepad.com,2003:post-6a01157257981d970b011572579a57970b</id>
        <published>2009-01-13T18:38:35-08:00</published>
        <updated>2009-01-13T18:38:35-08:00</updated>
        <summary>For some time the 'buzz' in development is Agile (aka Extreme) development. Its basic concept is that this method of development promotes project management processes that encourage frequent inspection and adaptation, a leadership philosophy that encourages team work, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. What is these same concepts and ideals were applied to the implementation process for an ERP application? Would this work for all ERP applications? Frankly, No. The application would need to be flexible and allow...</summary>
        <author>
            <name>J Janke</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="General" />
        
        
<content type="html" xml:lang="en-us" xml:base="http://www.compieresource.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;For some time the &amp;#39;buzz&amp;#39; in development is &lt;strong&gt;Agile &lt;/strong&gt;(aka Extreme) development.&amp;#0160; Its basic concept is that this method of development promotes project management processes that encourage frequent inspection and adaptation, a leadership philosophy that encourages team work, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.&amp;#0160; What is these same concepts and ideals were applied to the &lt;strong&gt;implementation &lt;/strong&gt;process for an &lt;strong&gt;ERP &lt;/strong&gt;application?&lt;/p&gt;
&lt;p&gt;Would this work for all ERP applications?&amp;#0160; Frankly, No.&amp;#0160; The application would need to be flexible and allow the user to make changes to the basic set up parameters at any time.&amp;#0160; How else can you make adapations?&amp;#0160; &lt;br /&gt;By its design, Compiere is ideal for using this methodology for implementation.&lt;/p&gt;&lt;p&gt;The basic &lt;strong&gt;Agile &lt;/strong&gt;concept is to concentrate on the most critical point(s) at that time and solve it in a time period of about 2 weeks.&amp;nbsp; The delivery of every 2 weeks allows customers to see the progress and adjust the plan based on what was learned.&lt;/p&gt;
&lt;p&gt;A critical view is that Agile projects concentrate on short term tactics and are not appliable to complex projects like ERP implementations.&amp;nbsp; I regard that actually as a misuse of the Agile methodology.&amp;nbsp; A prerequisite is always that you keep the big picture in mind.&amp;nbsp; So the initial planning of a traditional project and an agile project is the same.&amp;nbsp; But rather going into analysis-paralysis, Agile projects concentrate on fast delivery.&lt;/p&gt;
&lt;p&gt;Many implementations fail not because of the software, or the knowledge of the implementation team or the desire of the business community.&amp;nbsp; They fail because the implementation uses the 'big bang' approach.&amp;nbsp; Nothing is released for review or comment until everything is completed.&amp;nbsp; If there are issues it can be too late to address them (or to costly to).&amp;nbsp; By using the Agile approach, there is constant and regular disclosure and feedback to ensure that all objectives are met, or if all objectives cannot be met in the prescribed time frame, the objectives are appropriately prioritized.&lt;/p&gt;
&lt;p&gt;Crucial to the success of any implementation is communication. Thanks to the populariity of Agile Development, there a many tools to help in communication and scheduling.&amp;nbsp; These tools can also be used for an implementation.&lt;/p&gt;
&lt;p&gt;If you do not already have a tool there are many to choose from.&amp;nbsp; When selecting a tools some things to consider are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On Premise or On-Demand&lt;/li&gt;
&lt;li&gt;Support multiple distinct prjoects&lt;/li&gt;
&lt;li&gt;Porject level security&lt;/li&gt;
&lt;li&gt;Customizable user interface (this is important as you will probably want to change some of terminology like Sprint or Interation so they are more applicable to an implmentation like Phase.)&lt;/li&gt;
&lt;li&gt;Ability to Customize workflows&lt;/li&gt;
&lt;li&gt;Interface for external party interaction&lt;/li&gt;
&lt;li&gt;Easy to use interface (this is of course subjective)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Many of the tools provide this and more.&amp;nbsp; Some have community editions with limited functionality or limited to a single project that can be used to evaluate the product.&amp;nbsp; Take advantage of the online demos and tutorials to make a better evaluation.&lt;/p&gt;
&lt;p&gt;In the end it needs to be a tool that the team will use and will provide the necessary communication portal to help ensure a successful implementation.&lt;/p&gt;
&lt;p&gt;Our three&amp;nbsp;finalists of our current evaluation are:&lt;br /&gt;- VersionOne &lt;a href="http://www.versionone.com/"&gt;http://www.versionone.com/&lt;/a&gt; &lt;br /&gt;- Target Process &lt;a href="http://targetprocess.com/"&gt;http://targetprocess.com/&lt;/a&gt;&lt;br /&gt;- Rally &lt;a href="http://www.rallydev.com/"&gt;http://www.rallydev.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In my next blog, I will share my findings and our decision of what tools we will use.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For further reading on Agile check out the following:&lt;/p&gt;
&lt;p&gt;The Agile Manifesto: &amp;nbsp;&lt;a href="http://agilemanifesto.org/principles.html"&gt;http://agilemanifesto.org/principles.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Overview in Wikipedia: &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;http://en.wikipedia.org/wiki/Agile_software_development&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Agile Organizations:&amp;nbsp;&lt;a href="http://www.agilealliance.org/"&gt;http://www.agilealliance.org/&lt;/a&gt;&amp;nbsp;and &lt;a href="http://agilemethodology.org/"&gt;http://agilemethodology.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;as well as a Waterfall vs. Agile comparison: &lt;a href="http://agileintro.wordpress.com/2008/01/04/waterfall-vs-agile-methodology/"&gt;http://agileintro.wordpress.com/2008/01/04/waterfall-vs-agile-methodology/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/CompiereSource/~4/L1Qto52FY5g" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.compieresource.com/2009/01/agile-erp-implementatation.html</feedburner:origLink></entry>
    <entry>
        <title>Creating User Friendly Applications</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CompiereSource/~3/xmc8qAR_C7w/creating-user-friendly-applications.html" />
        <link rel="replies" type="text/html" href="http://www.compieresource.com/2008/12/creating-user-friendly-applications.html" thr:count="1" thr:updated="2009-02-26T14:14:41-08:00" />
        <id>tag:typepad.com,2003:post-6a01157257981d970b011572579a9b970b</id>
        <published>2008-12-21T22:28:33-08:00</published>
        <updated>2008-12-21T22:28:33-08:00</updated>
        <summary>One challenge when creating an application or an extension to an application is making it easy for a new user to use and for existing users to learn new tasks. Compiere's Application Dictionary is a powerful tool as it is the engine that dynamically creates your user interface. The functionality available in the Application Dictionary allows you to create these types of applications with very little additional effort. The main features are found in Elements, Context, Table and Column and Window, Tab and Field. Elements In Compiere, each field on a table (and subsequently a window) references an Element. The...</summary>
        <author>
            <name>J Janke</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="How-To" />
        
        
<content type="html" xml:lang="en-us" xml:base="http://www.compieresource.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;One challenge when creating an application or an extension to an application is making it easy for a new user to use and for existing users to learn new tasks.&amp;#0160; Compiere&amp;#39;s Application Dictionary is a powerful tool as it is the engine that dynamically creates your user interface.&amp;#0160;&lt;/p&gt;
&lt;p&gt;The functionality available in the Application Dictionary allows you to create these types of applications with very little additional effort. The main features are found in Elements, Context, Table and Column and Window, Tab and Field.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Elements&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In Compiere, each field on a table (and subsequently a window) references an Element.&amp;nbsp;The Elements allow you to centrally maintain field names, bubble help and online help.&amp;nbsp; For each Element the Name is used for the field label in the window, the text entered in the Description field is used for bubble help, the text entered in the Comment field is used to generate the online help.&amp;nbsp; Therefore when you create new Elements, if you have also entered values in the Description and Comment you automatically get help.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There may be instances where for a given window you want a different field label or&amp;nbsp; help.&amp;nbsp;This can be accomplished in two ways.&amp;nbsp; One way is to define a &lt;strong&gt;Context &lt;/strong&gt;(e.g. Sales).&amp;nbsp; In Context you define the new names/labels to use.&amp;nbsp; Then you assign the Context to the Window.&amp;nbsp; This method is best if there are multiple windows that will use the same Context.&amp;nbsp; A good example of this is in the Sales windows (Sales Order, Shipment and Customer Invoice) where you want the Business Partner field to display as Customer.&lt;/p&gt;
&lt;p&gt;The second way is in the Field entity in Window Tab and Field, change the Name, Description and/or Comment and then deselect the &lt;strong&gt;Centrally Maintained &lt;/strong&gt;flag. This will prevent the system from synchronizing the terminology from the element to the window.&lt;/p&gt;
&lt;p&gt;Another common customization is to display fields under specific conditions and hide them in other conditions.&amp;nbsp; This can be accomplished by using the &lt;strong&gt;Display Logic &lt;/strong&gt;in the Field entity of Window, Tab &amp;amp; Field.&amp;nbsp; An example of this can be seen in the Sales Order window where the Rate Type field only displays if the currency of the price list is not the primary accounting schema currency.&lt;br /&gt;&lt;br /&gt;Perhaps there are fields on a window that you do no want to display at all.&amp;nbsp;In Window Tab and Field open the desired field and select the displayed checkbox.&amp;nbsp;There are a few considerations if you do this however.&amp;nbsp; If the field is required, make sure there is a default value.&amp;nbsp; When you choose not to display a field, the screen layout may be compromised so you may have to make other adjustments.&lt;/p&gt;
&lt;p&gt;Sometimes there are fields that users should see but you do not want them to be able to update them. This is a common requirement in Sales Orders where users can see the price list but they should not be able to change it.&amp;nbsp; There are two ways to accomplish this.&amp;nbsp; One is in Window Tab and Field select the Read Only checkbox.&amp;nbsp; If you have some users who should be able to update the price list and other who should not you would then need to create a copy of the Sales Order window, one with the checkbox selected and the other not selected and allow access to the appropriate window to each user.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The second way is to use the Read Only in Table &amp;amp; Column.&amp;nbsp; For the given column (in this example M_PriceList enter the following in the &lt;strong&gt;Read Only&lt;/strong&gt; logic field &lt;code&gt;#@AD_Role_ID&lt;/a&gt;@=102 | #@AD_Role_ID@=222&lt;/code&gt;.&amp;nbsp; This will check the role that the user logged in with and if the ID is one of the values selected, the field will allow updates and if not it will be read only.
&lt;p&gt;
&lt;p&gt;These are just a few ways you can use the Application Dictionary to create an application that best suites your needs.&amp;nbsp; Just remember, if you change any entities that are defined as Compiere or Dictionary make sure you select the customization flag in Change Audit so your changes are preserved during migration.&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/CompiereSource/~4/xmc8qAR_C7w" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.compieresource.com/2008/12/creating-user-friendly-applications.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 --><!-- nhm:dynamic-ssi -->
