+4420 3290 2266

info@coldcore.com

Project Haala

Documentation

Workflow and user state Resources and site

In this picture the platform has mh2 site key as input and attempts to aquire some Label from a database. Site key is converted into a chain through the chain map. Working this chain backwards, the first available Label is selected. Note that pub is appended by the platform and not by the chain map.

User requests a file with a site key

  1. User requests a file and passes a site key parameter in URL (/my/file.css?site=mh2)
  2. The platform uses the chain map to get a chain by the key (mh2 → xx1.mh1.xx2.mh2)
  3. The platform loads a resource by the chain and returns it to the user

User requests a file

  1. User requests a file but does not pass any site key in URL
  2. The platform uses the chain stored previously in user session or builds one if it is the first visit (the platform then initializes itself creating the chain map and storing current chain in user session)
  3. The platform loads a resource by the chain and returns it to the user

User requests a page

  1. User requests a page (/home.htm)
  2. The platform uses the chain stored previously in user session or builds one if it is the first visit (the platform then initializes itself creating the chain map and storing current chain in user session)
  3. The controller responsible for the home page forwards to its JSP
  4. This JSP uses tag libraries to include JSP based on the chain

AOP

On the first user visit the platform initializes itself and stores all the data in user session. This is done with several aspects which execute on every request.

Remembering user choice

The platform stores a cookie with user current site key. The next time after initialization it will switch to the chain retrieved by the site key from this cookie.

Resolving a site

Domain may be configured to resolve a site chain based on user locale (to render in native language by geo location). After initialization the platform will try to resolve a site by browser locale, then by user IP locale, if all fails the platform will use domain default site key.

sitemap