AW Talk is the official development team blog for AribaWeb, the Open Source component-based web application development framework for creating rich, AJAX-enabled applications with the absolute minimum of code (and no hand-coded Javascript).

AribaWeb 101: Application branding

Based on our google group inputs I decided to put together this quick article where I will try to give you some guidelines how AribaWeb can be easily customized and I hope you will find the process easy just like anybody else. 

Before we start dig into more details I would like to highlight two kinds of customization or branding if you wish I see myself:

  • CSS and components branding
  • Re-branding core layout component the AribaBasicPageWrapper.htm 

CSS and components branding

If you did your little homework and checked our examples folder you have probably noticed there is some branding folder where you can put your own styles. If not please check out the GuestBook example.



Branding folder is the place where you put your special file called application.css which can let you override existing application styles. By default all application styles are loaded from file called widgets.css and when application startups it tries to check if you have this branding folder in place to replace and extends existing styles.

The same applies for images or any kinds of resources because when you do branding you want your own graphics right ? Just put new image file you want to replace in this folder and application will load it instead of existing one. For example if you check another example src/site you will see exactly what I am talking about. This site is regular MetaUI application that changed completely the application look  [you can see the result: www.aribaweb.org - yes this our regular MetaUI application - just rendered as static pages. ]

Here you can see fully loaded folder with overridden css file as well as rebranded images. 



 













So the process I would define as follow:
  1. Using some inspector in your internet browser locate style you want to change
  2. Look up the style in the widgets.css and see if the styles does not appear on several places in this file
  3. Define your own custom version and put it into new file application.css under this branding folder
  4. You can also check the specific component you want to change e.g. AWTextField.awl how are styles defined in this file instead of inspecting styles in your browser.

There is one more important thing to add to this. They are components that are completely  client side-side driven and you might want to customize them as well. Such component is Calendar.awl. 

As can can see on this picture the branding framework let you structure your client side resources also by locale. In this specific case I wanted to have different week and month names for my locale. So I extended its client side part and next en_US I have also my custom part cs.















Re-branding core layout component the AribaBasicPageWrapper.htm 

If you have higher expectation then there is a another way where you can completely change the way AribaWeb looks like besides changing its styles. 
I think I mentioned this several times. When you look at the BasicPageWrapper.awl you will notice it references the file called AribaBasicPageWrapper.htm which defines whole structure for your applications. If you want to customize it then simply copy this file into your branding folder and this file will be picked instead one that is in the core jar file. 

Other areas

If this is not enough then you can try to push the branding to its limits and you can have several brands so each user can have its own UI when she or he logs in. For this please check out code in AWSession/AWBrandManager where the brandName and brandVersion is used. Describing this in detail would be probably too much for this little blog article than I initially wanted.