After you create your slot component, you can use ATG Scenarios to determine under what circumstances a gear will be displayed in a slot. The Creating Scenarios chapter in the ATG Personalization Guide for Business Users provides information about how to create a scenario.

For example, you could create a scenario that adds a poll to a portal user’s home page upon login, and removes the poll after the user has voted in the poll. To do this, create a new scenario with the Logs in event followed by the Add items to slot action segment, and the Poll vote event followed by the Remove items from slot action segment:

The following JSP example shows how you might use a slot to render a gear. It assumes you’ve created a slot named /com/acme/slots/MyGearSlot. The TargetingFirst servlet bean is used to display the appropriate gear.

<%@ page import="atg.portal.servlet.*,atg.portal.framework.*" %>
<%@ taglib uri="/paf-taglib" prefix="paf" %>
<%@ taglib uri="/dsp" prefix="dsp" %>

<dsp:page>

 <dsp:droplet name="/atg/targeting/TargetingFirst">
 <dsp:param name="targeter" bean="/com/acme/slots/MyGearSlot"/>
 <dsp:oparam name="output">


 <dsp:getvalueof id="gearId" param="element.repositoryId"
 idtype="java.lang.String">

<%
 //Obtain request/response
 PortalServletResponse portalServletResponse =
 (PortalServletResponse)request.getAttribute(Attribute.PORTALSERVLETRESPONSE);
 PortalServletRequest portalServletRequest =
 (PortalServletRequest)request.getAttribute(Attribute.PORTALSERVLETREQUEST);

 Portal portal = portalServletRequest.getPortal();
 if(portal != null) {
 Gear gear = portal.getGearById(gearId);

 if(gear != null) {
 //Create Gear Context
 GearContextImpl gearContext =
 new GearContextImpl((GearContext)portalServletRequest);
 gearContext.setGear(gear);
 gearContext.setGearMode(GearMode.CONTENT);

 //Dispatch Gear
 RequestDispatcher dispatcher =
 portalServletRequest.getRequestDispatcher(gearContext);
 if(dispatcher != null)
 dispatcher.include(request,response);
 }
 }
%>

 </dsp:getvalueof>

 </dsp:oparam>
</dsp:droplet>

</dsp:page>
 
loading table of contents...