SlideShare una empresa de Scribd logo
1 de 29
Creating
Simple Openbravo Workspace Widgets
Step by Step
Rob Goris
User Experience Architect
Openbravo
November 2010
Spotlight on Openbravo 3.0
What is this guide about?
This guide will show you how to create an Openbravo Workspace Widget and fill it
with content by pointing to a URL, by e.g. reusing a Google Gadget. Obviously,
creating a real cool widget that uses Openbravo data is a bit more difficult
but...let´s first learn the basics.
Before you start
Make sure you have done the following
Run Openbravo 3.0 – RC3 (or higher). See release notes [1] on how to download
and install this distribution.
Run Firefox. I just noticed that Chrome does not like super-long URLs in the text
field for the widget (issue logged [2]). IE and Safari should be okay.
Be logged on as System Administrator.
[1] http://wiki.openbravo.com/wiki/ERP/3.0/Release_Notes/3.0RC3
[2] https://issues.openbravo.com/view.php?id=15342
This is what we are going to do
(1) Create a module. You only need to create one module that can “store” multiple
widgets.
(2) Create simple widget(s) by copying and pasting URLs from sites or existing
widgets
(3) Add the widget(s) to your workspace
Be logged in
as System
Admin
Use QuickCreate menu
to start creating a new
module
Complete New Module
form and save it
“In
Development”
must be checked
Version must be
format X.Y.Z
Something unique such as
com.yourdomain.lastname.firstname
(most common is to use your domain the other
way round).
Now create a new Widget
using the QuickCreate
menu
You´re looking at the
bottom half of the form
now
In case you are serious about things
and want to register your module (to
share or sell the widget maybe), you
can register its module. You will use
your Forge credentials to register the
module in the Central Repository.
Let´s not do that for now. See
Appendix II for more info.
Complete the form
In this example we are going
to reuse an existing Google
Gadget called “Section
Summary” that shows
industry sector trends
Copy and paste this from the other
widgets or type it here without making
mistakes
org.openbravo.client.myob.URLWidgetP
rovider
Check this one to let
all users enjoy the
widget
Set a height
A little detour to iGoogle.
Here you want to reuse the
source for the Google Gadget
you like...
Using Firefox (and e.g. the
Firebug extension) find the code
for the specific widget that starts
with <iframe and ends with “>.
Now paste it in an editor...
That´s the one we
want!
Now only take the part
following the src between the
“ “ as shown below. This must
be a valid URL
And paste this in the child tab´s
URL field for the widget. Save.
Note: in Chrome there was a problem
with large URLs (issue logged)
Going back to the Workspace tab
we now find it in the list that
appears when you click the Add
Widget >> link. Press the Add
button.
And here it appears
We now have added some more
widgets: Motion Chart, Team
Calendar and Google Insights.
Ready.
Now let´s share them with the
team...
Click Admin MyOBs>>, choose
System and press Edit...
This opens a blank workspace
which is in fact the workspace of
all users you manage. Click the
Add Widget link to start adding
some widgets...
Add the widgets you want to
share and when you are done,
press the Publish button...
All users in the entity (SYSTEM in
our case) now have “received”
the widgets you published to
them. They will see them on next
login.
Let´s check this. Change the role
to e.g. Sales
Et voila. The widgets you choose
are now added to everybody´s
workspaces.
This user now has deleted the boring
widgets, added some others and
reshuffled the lot.
All set for a great day at work! :P
Now you´re all ready to create your own
Some more ideas: http://openbravouxlab.blogspot.com/2010/12/24-ideas-for-
openbravo-workspace.html
Share and discuss widgets:
http://forge.openbravo.com/plugins/espforum/view.php?group_id=100&forumid
=886353&topicid=7021092
On the next pages you find some URLs to copy and paste for your widgets
Appendix I
URLs of widgets to copy & paste
URL for Section Summary widget (to copy & paste)
http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&amp;exp_track_js=1&amp;url=http
%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Ffinance%2Ffinance_sectorsummary2.x
ml&amp;container=ig&amp;view=default&amp;lang=en&amp;country=US&amp;v=e8c095b
c03301f02&amp;parent=http://www.google.com&amp;libs=core:core.io:core.iglegacy:auth-
refresh&amp;is_signedin=1&amp;synd=ig&amp;view=default#st=c%3Dig%26e%3DAPu7icpb
7xTgjKdvNXJfxj0IMJDCA0zeOY1bBhxws1JqJBx0y9/G1PFVB2U1at0JIwe7tVTmLo3LRTil5iMTK0
wGsv9fiQ54/rJzRHfXevN3iuQQ5FqrlRuN5iSE8KIMLoq/Mdl8TLHw&amp;gadgetId=111621084
476111923813&amp;gadgetOwner=105787549640705078752&amp;gadgetViewer=105787
549640705078752&amp;rpctoken=-160603703&amp;ifpctok=-
160603703&amp;up_contracted=,
URL for Google Insights widget (to copy & paste)
http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&amp;exp_track_js=1&amp;url=http
%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_relatedsearch
es.xml&amp;container=ig&amp;view=default&amp;lang=en&amp;country=US&amp;v=db15
c13705c51f71&amp;parent=http://www.google.com&amp;libs=core:core.io:core.iglegacy:au
th-
refresh&amp;is_signedin=1&amp;synd=ig&amp;view=default#st=c%3Dig%26e%3DAPu7icqY
JZpX7/hKNLAlzjWsxByDwyuNglAkrW40kQX46nTTnRXfaXBzZActaN80RH7tc2odaoy6o6u5Ukq
SeasOsb1hci5gKldUillri%252BVllCCXT2RMJCDtJb3CZ6G6eZaku%252B0TL%252BlL&amp;gadg
etId=111149605494020903560&amp;gadgetOwner=105787549640705078752&amp;gadget
Viewer=105787549640705078752&amp;rpctoken=-670142023&amp;ifpctok=-
670142023&amp;up__location=empty&amp;up__max_results=10&amp;up__property=emp
ty&amp;up__results_type=RISING&amp;up__time_range=7-
d&amp;up__search_term=&amp;up__category=0
URL for Motion Chart widget (to copy & paste)
http://oj0ijfii34kccq3ioto7mdspc7r2s7o9.ig.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&amp;exp_track_js=1&amp;url=http
%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fmotionchart.xml&amp;container=ig&amp;view=default&amp;lang=en
&amp;country=US&amp;v=eb295ba2827b4b82&amp;parent=http://www.google.com&amp;libs=core:core.io:core.iglegacy
:auth-
refresh&amp;is_signedin=1&amp;synd=ig&amp;view=default#st=c%3Dig%26e%3DAPu7icrGCN0jrpKEpHVFALEBaoIesiFVp9
7nmTmWA8jixhSXupkbrNf8e%252Bqm56eYZPkRfW3LhvMSn6eVgF8SLMno8bVMacfitrbV9%252BqW8dRnRCKcI/7DNQQ%2
52Bww66AWz4enbDcz1ipHnH&amp;gadgetId=117646361720875919704&amp;gadgetOwner=105787549640705078752&
amp;gadgetViewer=105787549640705078752&amp;rpctoken=-677474934&amp;ifpctok=-
677474934&amp;up_initialstate=&amp;up_state=%257B%2522xZoomedIn%2522%253Afalse%252C%2522orderedByX%25
22%253Afalse%252C%2522xZoomedDataMax%2522%253A60000%252C%2522sizeOption%2522%253A%25224%2522%25
2C%2522dimensions%2522%253A%257B%2522iconDimensions%2522%253A%255B%2522dim0%2522%255D%257D%252
C%2522xZoomedDataMin%2522%253A5000%252C%2522yZoomedDataMin%2522%253A3%252C%2522yZoomedIn%2522
%253Afalse%252C%2522yLambda%2522%253A1%252C%2522colorOption%2522%253A%2522_UNIQUE_COLOR%2522%2
52C%2522duration%2522%253A%257B%2522multiplier%2522%253A1%252C%2522timeUnit%2522%253A%2522Y%2522
%257D%252C%2522xLambda%2522%253A1%252C%2522stateVersion%2522%253A3%252C%2522xAxisOption%2522%253
A%25222%2522%252C%2522showTrails%2522%253Atrue%252C%2522iconType%2522%253A%2522BUBBLE%2522%252C
%2522yZoomedDataMax%2522%253A10%252C%2522iconKeySettings%2522%253A%255B%255D%252C%2522playDuratio
n%2522%253A6.75%252C%2522orderedByY%2522%253Afalse%252C%2522time%2522%253A%25222001%2522%252C%2
522yAxisOption%2522%253A%25223%2522%252C%2522nonSelectedAlpha%2522%253A0.4%257D&amp;up__table_quer
y_url=http://spreadsheets.google.com/ccc%3Fkey%3Dra6s2uZY0Glui6gLseGGl4w%26hl%3Den_GB&amp;up_title=&amp;up
__table_query_refresh_interval=300
URL for Google Docs widget (to copy & paste)
https://docs.google.com/API/IGoogle?up_numDocuments=5&amp;up_viewPreference=ope
ned_by_me&amp;lang=en&amp;country=us&amp;.lang=en&amp;.country=us&amp;synd=ig
&amp;mid=130&amp;ifpctok=-
4110339548844836371&amp;exp_rpc_js=1&amp;exp_track_js=1&amp;exp_ids=17259&am
p;parent=http://www.google.com&amp;libs=7ndonz73vUA/lib/liberror_tracker.js,iHKb-
4mKuMY/lib/librpc.js,VKkU-3_4mDA/lib/libcore.js,OqjxSeEKc8o/lib/libdynamic-
height.js,a5j4V1JuNVE/lib/libsetprefs.js&amp;view=home&amp;is_signedin=1
How to create the URL for the Google Calendar widget
Go to https://www.google.com/calendar/embedhelper
Log in to your Google Account (if you had not already)
Pick the calendar you want to display and choose the settings
Copy the part of the code between “ and the > as show below and paste it in the URL field on the Widget>URL tab
Appendix II
Registering, create and publish widgets as modules
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 Repository
1) Register your module
In 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 module
http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/How_To_Create_and_Package_a_Module
3) Publishing modules
http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Publishing_Modules

Más contenido relacionado

La actualidad más candente

Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"IT Event
 
DODN2009 - Jump Start Silverlight
DODN2009 - Jump Start SilverlightDODN2009 - Jump Start Silverlight
DODN2009 - Jump Start SilverlightClint Edmonson
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!David Gibbons
 
Orangescrum In App Chat Add-on User Manual
Orangescrum In App Chat Add-on User ManualOrangescrum In App Chat Add-on User Manual
Orangescrum In App Chat Add-on User ManualOrangescrum
 
Getting started-with-oracle-so a-9
Getting started-with-oracle-so a-9Getting started-with-oracle-so a-9
Getting started-with-oracle-so a-9Amit Sharma
 
21 android2 updated
21 android2 updated21 android2 updated
21 android2 updatedGhanaGTUG
 
Orangescrum Mobile API Add on User Manual
Orangescrum Mobile API Add on User ManualOrangescrum Mobile API Add on User Manual
Orangescrum Mobile API Add on User ManualOrangescrum
 
Devoxx 09 (Belgium)
Devoxx 09 (Belgium)Devoxx 09 (Belgium)
Devoxx 09 (Belgium)Roger Kitain
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoJuliano Martins
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5Ketan Raval
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5ketanraval
 
Orangescrum Client management Add on User Manual
Orangescrum Client management Add on User ManualOrangescrum Client management Add on User Manual
Orangescrum Client management Add on User ManualOrangescrum
 
Zepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalZepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalMax Pronko
 
How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]M-Connect Media
 
Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2Mathew Beane
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Katy Slemon
 
How to Build a Yahoo! SearchMonkey App
How to Build a Yahoo! SearchMonkey AppHow to Build a Yahoo! SearchMonkey App
How to Build a Yahoo! SearchMonkey Apppost.chris
 
Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101Johnny Sung
 
Developing Android Apps
Developing Android AppsDeveloping Android Apps
Developing Android AppsClaire Lee
 
Orangescrum Time Log Add-on User Manual
Orangescrum Time Log Add-on User ManualOrangescrum Time Log Add-on User Manual
Orangescrum Time Log Add-on User ManualOrangescrum
 

La actualidad más candente (20)

Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
 
DODN2009 - Jump Start Silverlight
DODN2009 - Jump Start SilverlightDODN2009 - Jump Start Silverlight
DODN2009 - Jump Start Silverlight
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!
 
Orangescrum In App Chat Add-on User Manual
Orangescrum In App Chat Add-on User ManualOrangescrum In App Chat Add-on User Manual
Orangescrum In App Chat Add-on User Manual
 
Getting started-with-oracle-so a-9
Getting started-with-oracle-so a-9Getting started-with-oracle-so a-9
Getting started-with-oracle-so a-9
 
21 android2 updated
21 android2 updated21 android2 updated
21 android2 updated
 
Orangescrum Mobile API Add on User Manual
Orangescrum Mobile API Add on User ManualOrangescrum Mobile API Add on User Manual
Orangescrum Mobile API Add on User Manual
 
Devoxx 09 (Belgium)
Devoxx 09 (Belgium)Devoxx 09 (Belgium)
Devoxx 09 (Belgium)
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile Híbrido
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
Orangescrum Client management Add on User Manual
Orangescrum Client management Add on User ManualOrangescrum Client management Add on User Manual
Orangescrum Client management Add on User Manual
 
Zepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalZepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_Final
 
How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]
 
Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.
 
How to Build a Yahoo! SearchMonkey App
How to Build a Yahoo! SearchMonkey AppHow to Build a Yahoo! SearchMonkey App
How to Build a Yahoo! SearchMonkey App
 
Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101
 
Developing Android Apps
Developing Android AppsDeveloping Android Apps
Developing Android Apps
 
Orangescrum Time Log Add-on User Manual
Orangescrum Time Log Add-on User ManualOrangescrum Time Log Add-on User Manual
Orangescrum Time Log Add-on User Manual
 

Similar a Creating Openbravo Workspace Widgets

Debugging - Figuring it out yourself (WordCamp Dublin 2019)
Debugging - Figuring it out yourself (WordCamp Dublin 2019)Debugging - Figuring it out yourself (WordCamp Dublin 2019)
Debugging - Figuring it out yourself (WordCamp Dublin 2019)Damien Carbery
 
WordPress basic fundamental of plugin development and creating shortcode
WordPress basic fundamental of plugin development and creating shortcodeWordPress basic fundamental of plugin development and creating shortcode
WordPress basic fundamental of plugin development and creating shortcodeRakesh Kushwaha
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53Ivy Rueb
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PAThomas Daly
 
Module 4: Introduction to ASP.NET 3.5 (Material)
Module 4: Introduction to ASP.NET 3.5 (Material)Module 4: Introduction to ASP.NET 3.5 (Material)
Module 4: Introduction to ASP.NET 3.5 (Material)Mohamed Saleh
 
A peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentA peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentR-Cubed Design Forge
 
Write your first WordPress plugin
Write your first WordPress pluginWrite your first WordPress plugin
Write your first WordPress pluginAnthony Montalbano
 
HTML5 Up and Running
HTML5 Up and RunningHTML5 Up and Running
HTML5 Up and RunningCodemotion
 
A Git MVP Workflow
A Git MVP WorkflowA Git MVP Workflow
A Git MVP WorkflowBurt Lum
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development Mage Guru
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Joke Puts
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
Android howto hellowidget
Android howto hellowidgetAndroid howto hellowidget
Android howto hellowidgetHiron Das
 
Learn reactjs, how to code with example and general understanding thinkwik
Learn reactjs, how to code with example and general understanding   thinkwikLearn reactjs, how to code with example and general understanding   thinkwik
Learn reactjs, how to code with example and general understanding thinkwikHetaxi patel
 
Implementing auto complete using JQuery
Implementing auto complete using JQueryImplementing auto complete using JQuery
Implementing auto complete using JQueryBhushan Mulmule
 
Grails beginners workshop
Grails beginners workshopGrails beginners workshop
Grails beginners workshopJacobAae
 

Similar a Creating Openbravo Workspace Widgets (20)

Debugging - Figuring it out yourself (WordCamp Dublin 2019)
Debugging - Figuring it out yourself (WordCamp Dublin 2019)Debugging - Figuring it out yourself (WordCamp Dublin 2019)
Debugging - Figuring it out yourself (WordCamp Dublin 2019)
 
WordPress basic fundamental of plugin development and creating shortcode
WordPress basic fundamental of plugin development and creating shortcodeWordPress basic fundamental of plugin development and creating shortcode
WordPress basic fundamental of plugin development and creating shortcode
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-53
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 
Module 4: Introduction to ASP.NET 3.5 (Material)
Module 4: Introduction to ASP.NET 3.5 (Material)Module 4: Introduction to ASP.NET 3.5 (Material)
Module 4: Introduction to ASP.NET 3.5 (Material)
 
A peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentA peek into the world of WordPress plugin development
A peek into the world of WordPress plugin development
 
Write your first WordPress plugin
Write your first WordPress pluginWrite your first WordPress plugin
Write your first WordPress plugin
 
HTML5 Up and Running
HTML5 Up and RunningHTML5 Up and Running
HTML5 Up and Running
 
A Git MVP Workflow
A Git MVP WorkflowA Git MVP Workflow
A Git MVP Workflow
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development
 
Wordpress as a framework
Wordpress as a frameworkWordpress as a framework
Wordpress as a framework
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
 
Dojo tutorial
Dojo tutorialDojo tutorial
Dojo tutorial
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
Android howto hellowidget
Android howto hellowidgetAndroid howto hellowidget
Android howto hellowidget
 
Android how to hellowidget
Android how to hellowidgetAndroid how to hellowidget
Android how to hellowidget
 
Learn reactjs, how to code with example and general understanding thinkwik
Learn reactjs, how to code with example and general understanding   thinkwikLearn reactjs, how to code with example and general understanding   thinkwik
Learn reactjs, how to code with example and general understanding thinkwik
 
Implementing auto complete using JQuery
Implementing auto complete using JQueryImplementing auto complete using JQuery
Implementing auto complete using JQuery
 
Grails beginners workshop
Grails beginners workshopGrails beginners workshop
Grails beginners workshop
 

Último

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 

Último (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 

Creating Openbravo Workspace Widgets

  • 1. Creating Simple Openbravo Workspace Widgets Step by Step Rob Goris User Experience Architect Openbravo November 2010 Spotlight on Openbravo 3.0
  • 2. What is this guide about? This guide will show you how to create an Openbravo Workspace Widget and fill it with content by pointing to a URL, by e.g. reusing a Google Gadget. Obviously, creating a real cool widget that uses Openbravo data is a bit more difficult but...let´s first learn the basics. Before you start Make sure you have done the following Run Openbravo 3.0 – RC3 (or higher). See release notes [1] on how to download and install this distribution. Run Firefox. I just noticed that Chrome does not like super-long URLs in the text field for the widget (issue logged [2]). IE and Safari should be okay. Be logged on as System Administrator. [1] http://wiki.openbravo.com/wiki/ERP/3.0/Release_Notes/3.0RC3 [2] https://issues.openbravo.com/view.php?id=15342
  • 3. This is what we are going to do (1) Create a module. You only need to create one module that can “store” multiple widgets. (2) Create simple widget(s) by copying and pasting URLs from sites or existing widgets (3) Add the widget(s) to your workspace
  • 4. Be logged in as System Admin Use QuickCreate menu to start creating a new module
  • 5. Complete New Module form and save it “In Development” must be checked Version must be format X.Y.Z Something unique such as com.yourdomain.lastname.firstname (most common is to use your domain the other way round).
  • 6. Now create a new Widget using the QuickCreate menu You´re looking at the bottom half of the form now In case you are serious about things and want to register your module (to share or sell the widget maybe), you can register its module. You will use your Forge credentials to register the module in the Central Repository. Let´s not do that for now. See Appendix II for more info.
  • 7. Complete the form In this example we are going to reuse an existing Google Gadget called “Section Summary” that shows industry sector trends Copy and paste this from the other widgets or type it here without making mistakes org.openbravo.client.myob.URLWidgetP rovider Check this one to let all users enjoy the widget Set a height
  • 8. A little detour to iGoogle. Here you want to reuse the source for the Google Gadget you like...
  • 9. Using Firefox (and e.g. the Firebug extension) find the code for the specific widget that starts with <iframe and ends with “>. Now paste it in an editor... That´s the one we want!
  • 10. Now only take the part following the src between the “ “ as shown below. This must be a valid URL
  • 11. And paste this in the child tab´s URL field for the widget. Save. Note: in Chrome there was a problem with large URLs (issue logged)
  • 12. Going back to the Workspace tab we now find it in the list that appears when you click the Add Widget >> link. Press the Add button. And here it appears
  • 13. We now have added some more widgets: Motion Chart, Team Calendar and Google Insights. Ready. Now let´s share them with the team...
  • 14. Click Admin MyOBs>>, choose System and press Edit...
  • 15. This opens a blank workspace which is in fact the workspace of all users you manage. Click the Add Widget link to start adding some widgets...
  • 16. Add the widgets you want to share and when you are done, press the Publish button...
  • 17. All users in the entity (SYSTEM in our case) now have “received” the widgets you published to them. They will see them on next login.
  • 18. Let´s check this. Change the role to e.g. Sales
  • 19. Et voila. The widgets you choose are now added to everybody´s workspaces.
  • 20. This user now has deleted the boring widgets, added some others and reshuffled the lot. All set for a great day at work! :P
  • 21. Now you´re all ready to create your own Some more ideas: http://openbravouxlab.blogspot.com/2010/12/24-ideas-for- openbravo-workspace.html Share and discuss widgets: http://forge.openbravo.com/plugins/espforum/view.php?group_id=100&forumid =886353&topicid=7021092 On the next pages you find some URLs to copy and paste for your widgets
  • 22. Appendix I URLs of widgets to copy & paste
  • 23. URL for Section Summary widget (to copy & paste) http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&amp;exp_track_js=1&amp;url=http %3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Ffinance%2Ffinance_sectorsummary2.x ml&amp;container=ig&amp;view=default&amp;lang=en&amp;country=US&amp;v=e8c095b c03301f02&amp;parent=http://www.google.com&amp;libs=core:core.io:core.iglegacy:auth- refresh&amp;is_signedin=1&amp;synd=ig&amp;view=default#st=c%3Dig%26e%3DAPu7icpb 7xTgjKdvNXJfxj0IMJDCA0zeOY1bBhxws1JqJBx0y9/G1PFVB2U1at0JIwe7tVTmLo3LRTil5iMTK0 wGsv9fiQ54/rJzRHfXevN3iuQQ5FqrlRuN5iSE8KIMLoq/Mdl8TLHw&amp;gadgetId=111621084 476111923813&amp;gadgetOwner=105787549640705078752&amp;gadgetViewer=105787 549640705078752&amp;rpctoken=-160603703&amp;ifpctok=- 160603703&amp;up_contracted=,
  • 24. URL for Google Insights widget (to copy & paste) http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&amp;exp_track_js=1&amp;url=http %3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_relatedsearch es.xml&amp;container=ig&amp;view=default&amp;lang=en&amp;country=US&amp;v=db15 c13705c51f71&amp;parent=http://www.google.com&amp;libs=core:core.io:core.iglegacy:au th- refresh&amp;is_signedin=1&amp;synd=ig&amp;view=default#st=c%3Dig%26e%3DAPu7icqY JZpX7/hKNLAlzjWsxByDwyuNglAkrW40kQX46nTTnRXfaXBzZActaN80RH7tc2odaoy6o6u5Ukq SeasOsb1hci5gKldUillri%252BVllCCXT2RMJCDtJb3CZ6G6eZaku%252B0TL%252BlL&amp;gadg etId=111149605494020903560&amp;gadgetOwner=105787549640705078752&amp;gadget Viewer=105787549640705078752&amp;rpctoken=-670142023&amp;ifpctok=- 670142023&amp;up__location=empty&amp;up__max_results=10&amp;up__property=emp ty&amp;up__results_type=RISING&amp;up__time_range=7- d&amp;up__search_term=&amp;up__category=0
  • 25. URL for Motion Chart widget (to copy & paste) http://oj0ijfii34kccq3ioto7mdspc7r2s7o9.ig.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&amp;exp_track_js=1&amp;url=http %3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fmotionchart.xml&amp;container=ig&amp;view=default&amp;lang=en &amp;country=US&amp;v=eb295ba2827b4b82&amp;parent=http://www.google.com&amp;libs=core:core.io:core.iglegacy :auth- refresh&amp;is_signedin=1&amp;synd=ig&amp;view=default#st=c%3Dig%26e%3DAPu7icrGCN0jrpKEpHVFALEBaoIesiFVp9 7nmTmWA8jixhSXupkbrNf8e%252Bqm56eYZPkRfW3LhvMSn6eVgF8SLMno8bVMacfitrbV9%252BqW8dRnRCKcI/7DNQQ%2 52Bww66AWz4enbDcz1ipHnH&amp;gadgetId=117646361720875919704&amp;gadgetOwner=105787549640705078752& amp;gadgetViewer=105787549640705078752&amp;rpctoken=-677474934&amp;ifpctok=- 677474934&amp;up_initialstate=&amp;up_state=%257B%2522xZoomedIn%2522%253Afalse%252C%2522orderedByX%25 22%253Afalse%252C%2522xZoomedDataMax%2522%253A60000%252C%2522sizeOption%2522%253A%25224%2522%25 2C%2522dimensions%2522%253A%257B%2522iconDimensions%2522%253A%255B%2522dim0%2522%255D%257D%252 C%2522xZoomedDataMin%2522%253A5000%252C%2522yZoomedDataMin%2522%253A3%252C%2522yZoomedIn%2522 %253Afalse%252C%2522yLambda%2522%253A1%252C%2522colorOption%2522%253A%2522_UNIQUE_COLOR%2522%2 52C%2522duration%2522%253A%257B%2522multiplier%2522%253A1%252C%2522timeUnit%2522%253A%2522Y%2522 %257D%252C%2522xLambda%2522%253A1%252C%2522stateVersion%2522%253A3%252C%2522xAxisOption%2522%253 A%25222%2522%252C%2522showTrails%2522%253Atrue%252C%2522iconType%2522%253A%2522BUBBLE%2522%252C %2522yZoomedDataMax%2522%253A10%252C%2522iconKeySettings%2522%253A%255B%255D%252C%2522playDuratio n%2522%253A6.75%252C%2522orderedByY%2522%253Afalse%252C%2522time%2522%253A%25222001%2522%252C%2 522yAxisOption%2522%253A%25223%2522%252C%2522nonSelectedAlpha%2522%253A0.4%257D&amp;up__table_quer y_url=http://spreadsheets.google.com/ccc%3Fkey%3Dra6s2uZY0Glui6gLseGGl4w%26hl%3Den_GB&amp;up_title=&amp;up __table_query_refresh_interval=300
  • 26. URL for Google Docs widget (to copy & paste) https://docs.google.com/API/IGoogle?up_numDocuments=5&amp;up_viewPreference=ope ned_by_me&amp;lang=en&amp;country=us&amp;.lang=en&amp;.country=us&amp;synd=ig &amp;mid=130&amp;ifpctok=- 4110339548844836371&amp;exp_rpc_js=1&amp;exp_track_js=1&amp;exp_ids=17259&am p;parent=http://www.google.com&amp;libs=7ndonz73vUA/lib/liberror_tracker.js,iHKb- 4mKuMY/lib/librpc.js,VKkU-3_4mDA/lib/libcore.js,OqjxSeEKc8o/lib/libdynamic- height.js,a5j4V1JuNVE/lib/libsetprefs.js&amp;view=home&amp;is_signedin=1
  • 27. How to create the URL for the Google Calendar widget Go to https://www.google.com/calendar/embedhelper Log in to your Google Account (if you had not already) Pick the calendar you want to display and choose the settings Copy the part of the code between “ and the > as show below and paste it in the URL field on the Widget>URL tab
  • 28. Appendix II Registering, create and publish widgets as modules
  • 29. 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 Repository 1) Register your module In 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 module http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/How_To_Create_and_Package_a_Module 3) Publishing modules http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Publishing_Modules