On Feb 15, 2009, at 2:05 PM, Bruno Busco wrote:
David,
while working on https://issues.apache.org/jira/browse/OFBIZ-2172 and
https://issues.apache.org/jira/browse/OFBIZ-2106
I came to a point where I think I need a clarification (or a link
where I can read some information).
I had the conviction that a WebSite entity was a way to model a
webapp in OFBiz.
An entity where all webapp parameters were hosted.
This was the reason why I extended the definition of a WebSiteId to
almost all webapp web.xml files (rev. 744502) and I created also the
correspondent WebSite entity in seed data to match with the new
WebSiteId (rev. 744518).
In this way every webapp has now a relative WebSite entity.
To a WebSite is associated a VisualThemeSetId that allows us to select
a set of VisualThemes and make them applicable to all selected
WebSites and thus to their relative webapps.
Could you please give me a hint about this my understanding becouse
now I have some questions:
1) If a WebSite entity is a webapp rappresentation shouldn't be
defined in the framework and not in the Content application?
The WebSite entity IS defined in the framework, in the "webapp"
component. It is extended in the content application to facilitate
associating content with it.
2) I am now going to replace the fields styleSheet, headerLogo,
headerMiddleBackground, headerRightBackground in the ProductStore
entity with a link to a VisualTheme but is this correct? Or should we
have The ProductStore pointing to a WebSite and the WebSite pointing
to the selected VisualTheme ? Should we add a VisualThemeId field to
the WebSite entity?
The WebSite points to the ProductStore, so no we would not want it
going the other way around. Right now we have the WebSite pointing to
a visual theme set so we know which themes are applicable for the
site. For most sites/webapps we want the user to be able to select the
theme, but not for ecommerce and that is where the ProductStore comes
in.
For ecommerce sites we typically won't want the user to select a
theme, but rather than should be configured in the back-end admin
apps. An ecommerce site will always have a ProductStore associated
with it, and we have been using that to parameterize visual and other
elements of ecommerce sites, so it makes sense to have there.
3) Right now, when the user selects a new VisualTheme, the Lookup
shows only the themes that are associated to the VisualThemeSet to
which is associated the WebSite associated to the current webapp
(sorry for the bad sentence). The selected theme is then used for all
the webapps that share the same GlobalDecorator. So I think this is
not really correct. Should, maybe, we select the Themes that should
appear int the LookUp in the GlobalDecorator itself and not using the
WebSite?
I don't like the idea of selecting a theme for each app, but I agree
we need something and the best thing to associate the theme selection
with would probably be a theme set.
In other words, when we save a selected theme it should be associated
with the user and with the theme set it applies to, so the user can
have one selection per theme set. In this way the GlobalDecorator
could get the user logged in as it does now, and also get the theme
set ID from the WebSite record and then lookup the theme to use based
on those.
Sorry for having put all this questions together.
I want to be sure my further contributions will go in the right
direction and do not generate issues.
No problem. Thank you for writing your questions in a good way and
after doing research. So many don't provide adequate detail or haven't
done any research, and when you do research and then write about what
you've found in relation to your questions it gives context and adds
details and makes it possible to actually answer the question without
guessing too much.
-David