The Client Context is a mechanism that provides you with certain information about the current page and visitor. It can be opened using Ctrl-Alt-c (windows) or control-option-c (Mac):
In both the publish and author environment it shows information about:
- The visitor; depending on your instance certain information is requested, or derived.
- Page tags and the number of times that these tags have been accessed by the current visitor (this is shown when you move the mouse over a specific tag) .
- Page information.
- Information about the technical environment; such as the IP address, browser and screen resolution.
- Any segments that are currently resolved.
The icons (only available in the author environment) allow you to configure the details of the client context:
A new page will open allowing you to edit, add or remove a profile property.
You can select from a list of profiles and load the profile you want to test.
You can reset the profile to that of the current user.
The Client Context can show the following properties (depending on what has been selected using Edit):
This provides information about the social activity of the user on various platforms; for example, the AEM forums, blogs, ratings, etc.
Allows authors to simulate a specific experience for a campaign. This component overrides normal campaign resolution and experience selection to enabled the testing of various permutations.
Campaign resolution is normally based on the priority property of the campaign. The experience is normally selected based on segmentation.
Shows shopping cart information including product entries (title, quantity, priceFormatted, etc.), resolved promotions (title, message, etc.) and vouchers (code, description, etc.).
The cart session store also notifies the server about resolved promotion changes (based on segmentation changes) using the ClientContextCartServlet.
Is a generic component that displays the content of a store. It is a lower-level version of the Generic Store Properties component.
The Generic Store must be configured with a JS renderer that will display the data in a custom manner.
Generic Store Properties
Is a generic component that displays the content of a store. It is a higher-level version of the Generic Store component.
The Generic Store Properties component includes a default renderer that lists the configured properties (together with a thumbnail).
Shows the latitude and longitude of the client. It uses the HTML5 geolocation API to query the browser for the current location. This results in a popup being shown to the visitor, where the browser asks them if they agree to sharing their location.
When displayed in the Context Cloud, the component uses a Google API to display a map as thumbnail. The component is subject to the Google API usage limits.
In AEM 6.1, the Geolocation store no longer provides the reverse geocoding feature. Therefore, the Geolocation store no longer retrieves details about the current location, such as the city name or country code. Segments that use this store data will not function properly. The Geolocation store only contains the latitude and longitude of a location.
A component that displays content that is dependent on your installation.
The JSONP standard is a complement to JSON that allows the circumvention of the same origin policy (making it impossible for a web app to communicate with servers that are on another domain). It consists in wrapping the JSON object in a function call in order to be able load it as a <script> from the other domain (which is an allowed exception to the same origin policy).
The JSONP Store is like any other store, but it loads information that comes from another domain without the need of having a proxy for that information on the current domain. See the example in Storing Data in Client Context Via JSONP.
The JSONP Store does not cache the information in the cookie, but retrieves that data on each page load.
Shows information collected in the user profile. For example, gender, age, email address, amongst others.
For example, whether the mouse is currently over the left or right hand portion of the window. This segment is primarily used for testing as changes can be seen immediately.
Currently this is a demo feature that relies on pre-configured data set on the profile nodes of our demonstration users. For example, see:
/email@example.com/profile => friends property
Shows tags set on the current page and those gathered while surfing the site. Moving the mouse over a tag shows the number of times that the current user has accessed pages holding that specific tag.
Tags set on DAM assets that are displayed on the visited pages will not be counted.
Keeps track of products the shopper has viewed. Can be queried for the most-recently-viewed product, or the most-recently-viewed product which is not already in the cart.
This session store has no default client context component.
For additional information, see Client Context in Detail.
Page Data is no longer in the client context as a default component. If needed, you can add this by editing the client context, adding the Generic Store Properties component, then configuring this to define the Store as pagedata.
The Client Context allows you to interactively change details:
- Changing the profile being used in the Client Context allows you to see the differing experiences that the various user will see for the current page.
- As well as changing the user profile you can change some profile details to see how the page experience differs under various conditions.
Editing a client context can be used to set (or reset) the values of certain properties, add a new property or remove one that is no longer needed.
After you have opened the ClientContext design page, you can also Add a completely new property using the available components (the components are listed on both the sidekick or from the Insert New Component dialog that is opened after a double-click on the Drag components or assets here box):
After you have opened the ClientContext design page, you can also Remove a property if no longer required. This includes properties supplied out-of-the-box; Reset will reinstate these if they have been removed.
Follow this example to use the JSONP Store context store component to add external data to Client Context. Then, create a segment based on the information from that data. The example uses the JSONP service that WIPmania.com provides. The service returns geolocation information based on the IP address of the web client.
This example uses the Geometrixx Outdoors sample website to access Client Context and to test the created segment. You can use a different web site as long as the page has enabled Client Context. (See Adding Client Context To a Page.)
Add the JSONP Store component to Client Context and use it to retrieve and store geolocation information about the web client.
In the JSONP Service URL box, enter the following URL, and then click Fetch Store:
The component calls the JSONP service and lists all of the properties that the returned data contains. The properties that are in the list are those that will be available in Client Context.
Use the data from the session store that you created using the JSONP store component. The segment uses the latitude from the session store and the current date to determine whether it is winter time at the client's location.