Creating Query and HTML Openbravo workspace widgets
Spotlight on Openbravo 3.0<br />Creating Openbravo HTML and Query Workspace WidgetsStep by Step<br />Rob Goris<br />User Experience Architect <br />Openbravo<br />January 2011<br />
What is this guide about?This guide will show you how to create HTML and Query Openbravo Workspace Widget sBefore you startMake sure you have done the followingRun Openbravo 3.0 – RC3 (or higher, RC4 is due for mid February 2011). See release notes  on how to download and install the RC3 distribution.Be logged on as System Administrator. http://wiki.openbravo.com/wiki/ERP/3.0/Release_Notes/3.0RC3<br />
This is what we are going to do(1) Create a Facebook HTML widget on user level. This is nothing more than just adding a widget and pasting HTML code. (2) Learn how Query widgets are defined(3) Learn how to create your own Query widget<br />
Creating a Facebook HTML widget on user levelIn this example we´re using a test server with RC4 that alreadyincludes a HTML widget.If you´re using RC3, you can install the HTML widget by downloading the module http://forge.openbravo.com/centralRepository?navigate=ModuleTab&projectId=947For your convenience, here is the Facebook html code:<iframe id="remote_iframe_135" name="remote_iframe_135" style="border:0;padding:0;margin:0;width:100%;height:300px;overflow:auto" frameborder="0" scrolling="auto" onload="_ifr_ol(this)" src="http://facebookiggadget.appspot.com/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=135&ifpctok=-3919049805214375051&exp_rpc_js=1&exp_track_js=1&exp_ids=17259&parent=http://www.google.com&libs=7ndonz73vUA/lib/liberror_tracker.js,iHKb-4mKuMY/lib/librpc.js,ebbdPN3h-1s/lib/libcore.js,a5j4V1JuNVE/lib/libsetprefs.js#up_session=%7B%22uid%22:%22759560595%22,%22session_key%22:%22325dfa8304d8fe1fddea85c5-759560595%22,%22secret%22:%221d47d1e357ea65c54297155981699a94%22,%22expires%22:0,%22access_token%22:%2283101558596%7C325dfa8304d8fe1fddea85c5-759560595%7C_6buUs2EdrOchxFyASN1PFRhrZU%22,%22sig%22:%22fba91ce92c443052ce71b0a0c4b1b866%22%7D&view=home&is_signedin=1"></iframe><br />
(2) Paste html code and Save <br />(1) Add the HTML widget to your workspace<br />
(3) Facebook widget ready! (You might need to log on to Facebook first if you were not already)<br />
Learning how Query widgets are definedIn this example we´re using a test server with RC4 that already includes a number of Query widgets.If you´re using RC3, you can install the Query widgets by downloading the module http://forge.openbravo.com/centralRepository?navigate=ModuleTab&projectId=920<br />
(1) Grab an existing Query/List Widget, such as Invoices to Pay<br />(2) On the Parameter tab you define parameters such as filters (that the user can edit)<br />(3) Go to Query<br />
(4) Here you find the HQL Query<br />(5) Click the Column tab to view the column definition<br />
(5) Here you define which columns to display and how<br />
Creating your own Query Widget(1) Create a module. You only need to create one module that can “store” multiple widgets. Make sure the module is in Development mode (tick the checkbox)(2) Create widget- Using the widget superclass Query/List- Define the parameters- Define the HQL query- Define the columns(3) Change to a non-admin role(4) Add the widget to your workspace(5) Click Edit button (pen icon on widget title bar) to change parameter settings<br />
Appendix IIRegistering, create and publish widgets as modules <br />
Publishing a Widget as a Module (Advanced Users)So you want to share these awesome widgets with the world? For free or...if they are really really good, even for money?You then need register, create and publish them as a module to the Central Repository1) Register your moduleIn the Module tab, press the Register Module button at the bottom of the form. You can use your Forge credentials in the registration popup that follows.2) Create and package a modulehttp://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/How_To_Create_and_Package_a_Module3) Publishing moduleshttp://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Publishing_Modules<br />
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.