BLOG

NEXT STEPS

Archive for the ‘OFBiz Tutorials’ Category

OFBiz Tutorial: Managing Cross Sell Products in OFBiz

Wednesday, October 27th, 2010

Building off of other OFBiz catalog manager tutorials that Pranay and Vikas built earlier this year, today I will be diving into how you can manage cross sell information in OFBiz.  We’ll break this up into two separate sections: Adding Cross Sell Products and Editing Cross Sell Products once they are added.

Add Cross Sell Product(s)


Let’s first talk about prerequisite for managing this part of the catalog:

The user must at least have the role of catalog manager.  There are other roles that they can have that encompass catalog management, but they must have the ability to go here and manage this content.

The data must be setup so that the product’s association type is modeled correctly in the system.  Basically what this is saying is that some association types, while they may look like they would fit in here, will not have the product show up correctly on the front end if you do not do this properly.

Now that we know that – let’s discuss adding cross sell product associations to your products.

Go to the “Catalog” component and click on the “Advanced Search” Button within “Search Products”.

ofbiz-tutorial-cross-sell-1

Fill in the search values on the “Find” screen and click on the “Find” button.

Ofbiz Tutorial Cross Sell 2

A list of products will be displayed based on the search criterion.

Ofbiz Tutorial Cross Sell 3

Click on any of the products and the “Edit Product” page of the selected product will get displayed.

Ofbiz Tutorial Cross Sell 4

Click on the “Associations” tab.

Ofbiz Tutorial Cross Sell 5

Fill in the following details in the “Add Association” form :

    Product Id
    Product Id To
    Association Type Id (Select Association Type as ‘Complementary Or Cross Sell’)
    From Date
    Sequence Number
    Reason
    Instruction
    Quantity

Ofbiz Tutorial Cross Sell 6

Click on the “Create” button after entering the information.

ofbiz-tutorial-cross-sell-7a

Then you’ve got your association taken care of, and you will see it displayed on the “Associations from this Product to” section of your product management page:

Ofbiz Tutorial Cross Sell 8

If your front end supports it, you will see your cross sell items on the front end of your website in the “Recommended Products” section of your product detail or shopping cart pages.

Edit Cross Sell Product(s)

Now that you can add cross sell products to your product associations, let’s discuss how you can edit this information in OFBiz. The prerequisites are exactly the same as for adding cross sells into the system except to edit it, you need to already have created the cross sell product association :) .

Here are the steps for editing cross sell product associations:

Go to the “Catalog” component and click on the “Advanced Search” Button within “Search Products”.

ofbiz-tutorial-cross-sell-1

Fill in the search values on the “Find” screen and click on the “Find” button.

Ofbiz Tutorial Cross Sell 2

A list of the products will be displayed based on the search criterion.

Ofbiz Tutorial Cross Sell 3

Click on any of products and the “Edit Product” page of the selected product will get displayed.

Ofbiz Tutorial Cross Sell 4

Click on the “Associations” tab.
Ofbiz Tutorial Cross Sell 5

On the “Associations” page, click on the “Edit” button next to the complementary product in the “Associations from this Product to” section.

Ofbiz Tutorial Cross Sell 9

Update the following details in “Add Association” form:

    Thru Date
    Sequence Number
    Reason
    Instruction
    Quantity

Ofbiz Tutorial Cross Sell 5

Click on the “Update” button to save the details.

ofbiz-tutorial-cross-sell-11a

Use the “Delete” button to delete the associated cross sell product – if necessary.

Ofbiz Tutorial Cross Sell 12

Now you’ve got your association tuned (or deleted) depending on what you needed to do in your system.  The changes will be reflected on the “Associations from this Product to” section of Associations page and will also be reflected on your front end in the “Recommended Products” section of your product detail page or shopping cart pages.

More OFBiz tutorials to come in the not too distant future – stay tuned!

Tim Ruppert is Chief Operating Officer at HotWax Media, an OFBiz service provider, as well as an OFBiz project committer and active community member. Tim will join other HotWax Media employees and advisers in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.

Verified Agile Workflows and Processes

Monday, October 4th, 2010

October 4, 2010

verified agile workflow management system

Now that we’ve gone through the process of explaining the differences between standard Agile development methodologies and our custom workflow management system called Verified Agile, let’s dig into the different steps that we go through in order to be successful in this environment.

To kick off a project’s first iteration, we dig in on the requirements and create a number of Epics that encompass the entire set of information in contained in the requirements documentation.  If you are not familiar with an Epic it is simply a high level story used for capturing requirements that are often too complex or too large to estimate right away and will need to be detailed and broken down for estimation, planning and eventually implementation.  Once the first Epic is fully fleshed out, and the stories are defined, estimated and prioritized, we can start the process of planning and working through the stories in the next iteration.

As a side note, we do not try to get all Epics defined in one batch – that’s a bit too much like a waterfall process – it’s as iterative as the rest of the process and results in being able to put a working end to end system in front of the customer as early as possible.

As the stories are derived from the Epics and are ready for scheduling in the current iteration, we break down our stories into subtasks that can be easily assigned to different members of the team.  The Verified Agile process has the following steps once you’ve reached the scheduled story level:

    1. Analysis
    2. Acceptance Test Creation
    3. Design
    4. Development
    5. Technical Review
    6. Business Review
    7. Client Review

The steps take you through the process of understanding the story and ensuring that each and every base is covered.  Here is a bit more information on each of the subtask types:

Analysis:

This is an optional step that is there to bridge the gap that sometime exists between the story creation and the ability to build the acceptance test.  If the Epic breakdown is done very thoroughly, or the stories are of a lower complexity level, you almost never need this subtask.

Acceptance Test Creation:

The foundation of a test-driven development environment.  Here at HotWax Media, we build these before development in order to ensure that we are capture all of the nuances found in the story before we start development.

Design:

The other optional step that depends upon the complexity of the task.  Because we are focused on building enterprise application in Apache’s Open for Business, often times the description of the story and the acceptance test is all that we need to get started on development.  For more complex stories, we always perform this step to ensure that the code that is going to be written is following our best practices.

Development:

Self explanatory – where the implementation is executed.

Technical Review:

The first line of internal verification – did the implementation of this story match design in addition to our best practices?  These reviews are done by a team lead or expert reviewer which greatly increases the quality of our deliverables.

Business Review:

The second line of internal verification – does the workflow implemented match the acceptance test and business rules that were provided to us?  These review are done by a business analysts, technical project manager or account manager before it is put in front of the client.

Client Review:

The most import verification out there – does our output match the expectations of the customer?  If not, we start back at the beginning and go through all of the steps until the customer is satisfied.

Hopefully this overview of HotWax Media’s Workflows and Processes gives you insight into how we would approach your project and the steps that we put into place to ensure it’s success.  Next post I will go into more detail about how this all works in our tools and how that makes us prepared to guide your project to completion.

Tim Ruppert is Chief Operating Officer at HotWax Media, an OFBiz service provider, as well as an OFBiz project committer and active community member. Tim will join other HotWax Media employees and advisers in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.

Verified Agile Explained

Tuesday, September 14th, 2010
-Verified Agile Explained
The workflows that make up a verified agile process are not that different from the standard set you find in an OOTB agile implementations – with the twist being that technology now allows us to take our implementations to a merit-based, global team instead of being limited by proximity.  In my experience, it is always better to follow the agile doctrine strictly, and have each of your people and your customer sitting in the same room focused on the same topic.  In this age of constant connectivity and a flattened world, that just isn’t the way that people live their lives.  So here at HotWax Media, we’ve made accommodations to give both out customers and employees what they want: the additional flexibility to be where they need to, but not have their project skip a beat!
Agile’s proximity dogma is _the_ problem that geographically disparate teams have been battling with for years – but we are just now arriving at an era where our technical innovation, practice and patience have allowed us to reap the benefits of agile development methodologies across the globe.  In order to be able to offer our services to people all around the world, and still provide the level of quality and responsiveness that we’ve come to expect as professionals, we have added both additional processes and tools to agile workflows that ensure that we are on track and let us know exactly when we stray.
In my next sets of posts, I will start by digging into the details that define our verified agile workflows and processes as well as showing you how leveraging different nodes of a collaboration platform can make life easier on you and your customers.

OFBiz Project Management

In a continuation of my posts about Ecommerce ERP and our Verified Agile Process, managing your project to completion the way that HotWax Media does, I am going to dig into exactly what we mean by Verified Agile Process.

The workflows that make up a verified agile process are not that different from the standard set you find in a standard agile implementations – with the twist being that technology now allows us to take our implementations to a merit-based, global team instead of being limited by proximity.  In my experience, it is always better to follow the agile doctrine strictly, and have each of your people and your customer sitting in the same room focused on the same topic.  In this age of constant connectivity and a flattened world, that just isn’t the way that people live their lives.  So here at HotWax Media, we’ve made accommodations to give both our customers and employees what they want: the additional flexibility to be where they need to, but not have their project skip a beat!

Agile’s proximity dogma is THE problem that geographically disparate teams have been battling with for years – but we are just now arriving at an era where our technical innovation, practice and patience have allowed us to reap the benefits of agile development methodologies across the globe.  In order to be able to offer our services to people all around the world, and still provide the level of quality and responsiveness that we’ve come to expect as professionals, we have added both additional processes and tools to agile workflows that ensure that we are on track and let us know exactly when we stray.

In my next sets of posts, I will start by digging into the details that define our verified agile workflows and processes as well as showing you how leveraging different nodes of a collaboration platform can make life easier on you and your customers.

-Tim

Tim Ruppert is Chief Operating Officer at HotWax Media, an OFBiz service provider, as well as an OFBiz project committer and active community member. Tim will join other HotWax Media employees and advisors in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.

OFBiz Tutorial: Quick Updates For CMS Pages In OFBiz

Thursday, July 22nd, 2010

In my earlier posts we saw how can we setup different static pages for a site developed in OFBiz.

Now we will see how your client or a developer can directly make changes to the static pages. For this we use Content Manger application.

The following are easy steps which can be communicated to clients once the static content data setup is completed by the development team and the site is live. Later these changes can be easily managed by client.

  1. Log into backend managment app :https://localhost:8443/content/control/mainOfbiz Tutorial Quick Cms Updates 1
  2. Select Content from the menuOfbiz Tutorial Quick Cms Updates 2
  3. In the search options put in the appropriate search criteria and click on the Find button eg. STORE_POLICIES. Results will show the list of contents matching the search criteriaOfbiz Tutorial Quick Cms Updates 3
  4. Click on the Page name under the Data Resource ID Column to edit. (in this case STORE_POLICIES)Ofbiz Tutorial Quick Cms Updates 4
  5. Click the TEXT or HTML link in the top to view/edit the Text/Html text based on skills to update them one is text editor and other one is html text editorOfbiz Tutorial Quick Cms Updates 5
  6. Edit the text and press the Update button and the page will update the text on the site.

This was one of the process that can be used to update static page contents on the site without requiring any changes in code base. So now whenever it comes to updating text on static pages when the site is live, these changes can be done easily with Content Manger application.
If you want to get more details related to OOTB OFBiz processes contact HotWax Media today.


Pranay

Pranay Pandey is Manager, Enterprise Software Development at HotWax Media (OFBiz Service Provider) and has been involved with the OFBiz project since 2007. He contributes actively to OFBiz, and also trains HotWax Media developers in OFBiz techniques and best practices.

OFBiz Tutorial:Use Dependent Selects to Manage Country-State Select Boxes

Wednesday, July 14th, 2010

Javascript components for managing Dependent Selects is starting to find use in ecommerce applications we are developing. It all started with need for updating contents of State field, on change of Country in postal address forms.

More then a year ago we started using Ajax for updating State select box options on change of Country select box value. It was a step forward but I wasn’t satisfied. Recently I had time to build a Dependent Select javascript component that takes the process of managing dependent selects boxes to the next level. Please read my blog post, OFBiz Tutorial – Dependent Selects for Prototype, to know more about it. If you are wondering about a scenario from real world, Here you go.

Below is the piece of code from the Freemarker template for the Checkout page in OFBiz ecommerce application.  It renders Country and State select boxes with their options.

?View Code LANGUAGE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div>
      <label for="shipToCountryGeoId">Country</label>
<select id="shipToCountryGeoId" class="required select dependentSelectMaster" title="shipToCountry" name="shipToCountryGeoId">
        <option title="${country.geoId}" value="${country.geoId}">${country.get("geoName")?default(country.geoId)}</option>
        <!--#list-->
      </select></div>
<div id="shipToStates">
      <label for="shipToStateProvinceGeoId">State</label>
<select id="shipToStateProvinceGeoId" class="required shipToCountry" name="shipToStateProvinceGeoId">
        <option class="${country.geoId}" title="${stateAssoc.geoId}" value="${stateAssoc.geoId}">&lt;#if shippingAddress.stateProvinceGeoId?has_content &amp;&amp; shippingAddress.stateProvinceGeoId?default("") == stateAssoc.geoId&gt; SELECTED <!--#if-->&gt;${stateAssoc.geoName?default(stateAssoc.geoId)}</option>
            <!--#list-->
          <!--#if-->
        <!--#list-->
      </select></div>

Following Javascript code will unobtrusively manage the relationship between Country select box (master) and State select box (slave),

?View Code LANGUAGE
1
2
3
$('checkoutPanel').select('.dependentSelectMaster').reverse().each( function (elt) {
  new Dependent( $$( '.'+elt.title ).first() , elt );
})

Where ‘checkoutPanel’ is Id of wrapper div that encloses checkout html form. Apply ‘dependentSelectMaster’ class to select boxes that have dependent slave elements, making them the master. Slave select box is related to its master using title and class attribute of elements, A select box is slave if it has a class applied to it that is equal to title of master select box.

The javascript code snippet traverses DOM tree looking for master select boxes. Using title attribute of master select it finds all the slaves and creates Dependent select relationship between them. Its all clean and simple.

Needless to say, you’ll need to include Prototype.js and DependentSelect.js in your webpage. I hope you will find this short OFBiz tutorial useful.

- Anil

Anil Patel is Chief Development Officer at HotWax Media as well as an OFBiz project committer, PMC member, and active community contributor. He also studies karate! Anil will join other HotWax Media employees and advisors in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.