Posts

Showing posts from 2012

atg locked caching - how locked caching works with atg repositories

Suggested use : when data changed frequently. Disadvantage  : can lead to deadlocks. <item-descriptor name="..." cache-mode="locked"> Locked caching is based on write locks and read locks.If no servers have a write lock for an item,any number of servers may have a read lock on that item.When a server requests a write lock,all other servers are instructed to release their read locks.Once an item is write locked,no other servers may get a read lock or write lock until the first server releases its write lock.In other words,once a server has a write lock on an item,all access to that item is blocked until the write is completed. A server requests a read lock the first time it tries to access an item.Once the server has a read lock on the item,it holds that read lock until the lock manager notifies the server to release its read lock.At that time ,it drops the item from its cache. A write lock is requested whenever a server calls getItemForUpdate

ATG Full Deployment Vs Incremental Deployment

Full Deployment Full deployment can be useful in the case when the assets on the target sites are modified manually or are corrupted. Target site might become inconsistent if a failure occurs during rollback,doing a full deployment,the previous set of assets created by different projects will become the  active assets of target site. Always gives the fresh latest version data to the target It can be time consuming as the all target data first purged then deployed again with previously deployed projects. It consumes number of resources on the target. Incremental Deployment It’s useful in the case when the assets which are deployed to the target are less in number after the first deployment. Whenever you have a need to rollback to the previous completed project then the incremental deployment is preferred to do because the full deployment will try to delete the all data from the target which can not be restored again. 1.   Faster than full deployment sin

NIIT National Chess Championship Rules and Regulations

  1.  Any 4 players can play in each round of Team Championship.However, all       6 players  are eligible to take part in the Individual Round.  2. Team can be formed with both Male & Female members.  3. Those players who are within the first 20 ranking of the     Individual Championship will be eligible to play against     Anand. They will be allowed to bring in 2 more players from    his/her organisation to assist him/her. These 2 additional     players    should be from HR & Top Management, preferably.     These 2 additional players cannot be from the original playing     squad.  4. All Playing Conditions, Rules & Regulations will be decided by      State Chess Association(In Bangalore -> United Karnataka Chess     Association (R)) as per  the International Playing terms& conditions.  5. The Winning Team of Team Championship will get a direct entry     into 2012/13 National Team Championship.  6. The Winner of Individual Championship will ge

hitRatio missRatio and usedratio in repository caching

The missRatio indicates that the items in cache are not used or missed. That is your queries are returning totally different rows of data everytime and hence having a chance for them is useless. Look for a high missRatio and disable cache for these items. Same way if the missRatio is too low or the hitRatio is too high something like 90-95%, that means that we have almost all the data in the cache itself. This indicates that either our cache size is too big or the data in the table is not in large numbers. The usedRatio indicates the percent of the maximum cache size now in use. If this is too high, that means that most items in the cache are being used now. So we can increase the cache size. The usedRatio is the percent of  entryCount/cache size.  gives the number of entries currently in the cache. If this is same as your cache size consider increasing the cache size.

google search results showing wrong posts

I primarily write blogs on atg topics and some general topics which i think  will help others,one fine day i noticed few of my posts are not displaying correctly  in google search results,while given a search criteria i am seeing  different posts  of mine displaying in the search results whereas my actual post for that search  criteria is not shown,due to this some of our new visitors may leave the site .This is a painful situation and we are helpless since google has its  own algorithm for displaying and filtering search results,to correct this  we can do some research on what went wrong and modify accordingly which is a permanent solution but time consuming.But most of the time we will leave this to google trusting it will correct this automatically. Instead you can  try some of the options below,which is not only a workaround but will make your site highly navigational and user friendly The first thought is how quickly we can redirect users back to actual posts he is loo

Logging without Extending GenericService

ATG has a built in logging mechanism provided by the class atg.nucleus.GenericService,the logging can be done through the methods logDebug(),logInfo() etc.Most of the frame work/Out Of the Box classes like DynamoServlet,GenericFormHandler,CartModifierFormHandler etc are extending the Generic Service class. But if you are writing a component class which cannot extend GenericService in its hierarchy,we need to do a small tweak like below. Create a component from the Out Of Box class 'atg.nuceus.logging.ApplicationLoggingImpl' . # /com/test/TestLogger #Thu Jul 12 21:22:19 GMT+05:30 2012 $class=atg.nucleus.logging.ApplicationLoggingImpl $scope=global loggingDebug=true Now create your own component class. Inject the logger into these POJO classes . package test; import atg.nucleus.Nucleus; import atg.nucleus.logging.ApplicationLoggingImpl; public class Testbean { private ApplicationLoggingImpl logger; public ApplicationLoggingImpl getLogger() { return logger;

Blog increase space between two widgets

Image
I have modified blog template   from three column to four column by adding one more sidebar.So now i can add more information  and ads to my blog,but unfortunately there is no widget/gadget spacing in the sidebar i added recently and as a result the ads added in these widgets are displaying very close to each other,not in a user friendly manner, like the screen shot above. I have added a small modifications inside the widget code.its nothing but adding a 'br' tag inside your HTML widget as shown below.Only thing you need to take care is to add this line below your ad code or in a seperate widget altogether and place that widget in between any two widgets. This tag will add two line breaks between  the widgets. See the screen shot below. Also see Blog option to delete images displaying ads side by side Remove duplicate title in blog

Blogger option to delete images from Picasa Albums

Image
Normally during blogging  you upload lot of images , but have  you ever  noticed where this images are getting stored,its getting  stored in the picasa web albums.Similiarly while deleting posts whether will the images are removed automatically ? No ,How can it be removed from the picasa web albums? When you delete a post,you will be shown a confirmation  page with the option 'Are you sure want to delete the Post?',then the entire post and below it will display all the images you uploaded with that post,if any , with a checkbox corresponding to each of it.You can select the checkbox to delete the images permanently from the picasa web albums . Another thing is when people want to remove one blog,they delete the entire blog one shot,but this will not remove the images from the picasa web albums.So if you are sure you dont want the images any more,better options is go to your individual posts and follow the above steps to delete images.I prefer this way tha

Initialize target environment and edit workflow to specify target

Image
Click the Make changes live button on the deployment administration configuration screen. In the New Site Initialization Options screen, leave Do a full deployment selected and click Make changes live. To follow the progress of the deployment, click Overview and open the Production site. Once the deployment is done, click back to deployment overview. Once the initialization process is done, you should see the following in the Deployment Overview screen: Edit workflows to specify Target Log on to URL: http:localhost:8180/dyn/admin. Click on ADMIN ACC and Start ACC in server VM. In ACC, select Workflow, publishing. Open and modify workflows under Commerce,Content Administration and Personalization folders. Select Target site in all the places where it is displaying in Red color. See also DeploymentTopology.xml

Manually Configure Deployment in CA Server

Image
In BCC Home page click Content Administration - > Admin Console,this will take you to Deployment Administration page. Click Configuration link in the left column under 'Deployment Administration'. Set up the Production Environment. Click on the Add site link and Enter the following information. Scroll down further to the Setting Repository Mappings area. Select /atg/commerce/catalog/ProductCatalog as the source repository and /atg/commerce/catalog/ProductCatalog_production as the destination repository. It should look like the image below. Click the Add button. Repeat the same step above for mapping other repositories  like ClaimableRepository, PersonalizationRepository, and SecurePriceLists(mapped to PriceLists_production) and yourRepository component. Click Save changes. Click on the Agents tab, pictured below. Click on the Add agent to site link. Enter the following information Agent

Deployment topology xml file

Image
Deployment topology can be defined in 2 ways: manually creating using BCC or using the deploymentTopology.xml.  Deployment topology file can be located in the path - <atgxxxdir>/Publishing/base/src/config/atg/epub/deploymentTopology.xml As described earlier, the structure of the deployment topology contains the target sites, Publishing agents and source – destination repository mapping. Please find below the reference for deployment topology file for a staging and production instance. <? Xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE publishing-deployment-topology SYSTEM "http://www.atg.com/dtds/publishing_deployment/publishing_deployment_1.0.dtd"> <publishing-deployment-topology> <target> <target-name> Production </target-name> <description> Production , full deployment </description> <target-deploy-type> WORKFLOW </target-de

Nested Servlet Beans and Referencing Parameters

Image
Because a servlet bean's parameters have scope only within the bean itself, when you nest one servlet bean inside another, the outer servlet bean is not affected by the parameter values in the inner servlet bean. However, it is possible for the inner bean to access the values of the outer bean's param eters by prepending two dots (..) to the parameter names to distinguish them from the inner bean's parameters of the same name . Suppose, in the previous example, you wanted to display both the product's name and corresponding skus from the inner ForEach . You could do something like this: <droplet bean="/atg/dynamo/droplet/ForEach">   <param name="array" VALUE="/myBean.products">     <oparam name="output">            <droplet bean="/atg/dynamo/droplet/ForEach">        <param name="array" VALUE="param:element.skus">         <oparam name="output">  

Luminate Issues Not displaying Ads in Images

Image
Luminate Ads are not displaying on my posts,Given below my discussion thread with Luminate Team. My Question Hi Luminate team, I am quite new to Luminate,recently i published my blog with Luminate,my blog is primarily targeted to ATG Commerce developers to solve their day to day issues during development and few general topics,currently i am getting a traffic of around 100-200 daily pageviews,but my revenue is shown as 0$,My Current reports says i have 181 image views and i am not seeing the luminate icon or any other ads coming on my images,i can see only the luminate icon when i put my image and publish my post for sometiem,but after that it disappears,is there anything i am missing or its the usual behaviour and will take some time to get the images start working,or is it region specific ? highly appreciate your response. Response from Luminate team I am seeing the icons and adds here: http://atgtipsandtweaks. blogspot.com/2012/06/atg- coupon

atg configure promotion for a Product/Sku - item discount percent off

Image
This is the continuation of the post  configuring pricelist . Before starting your development with Promotion please note the point, Promotion rules are cached for efficiency,as a developer who edit rules frequently,you should not turn off the caching mechanism.To do so,set the maximumCacheSize and maximumCacheEntries properties  of the atg/commerce/pricing/PMDLcache component to 0. Now go to ACC Pricing go to Promotion,Create a new promotion of type 'Item Discount - Percent Off' Now create a PMDL Rule,this is to specify the condition of the discount. Now set few properties according to your requirements.My values just for  reference. Automatically apply to all Orders - Global Promotion,make it true or false appropriately.Value - >false. Discount Percentage - give an integer value as your percentage of Discount for that item.Value ->  5 . Give to a customer more than once - Number of times per user Promotion can be given.Value -> tr

Pricelists in ATG - Basic Configurations

Image
Price Lists are created for sites when a contract lists specific pricing that is not promotional pricing or conditional pricing. In ACC open the tab Pricing and then click on Price Lists. You will need to check first to insure that a price list hasn’t already been created for your site. If no folder exists, create new price list folder by first selecting the folder you want your new price list to be placed into and then clicking on the icon at the top right of the screen to create the folder. When you have the folder selected click on the new folder you have created and then click on New Price List.Type in the Name. Base price field is optional. Select the End date and set it as a future date.Click OK. Now you can set/modify the price for the items you need. Search for the product: items of type Product whose Name contains (ignore case) name item you want to change. Enter a new price for the item.SAVE.Click OK. Now you will have to test your site to insure that the Pr

issue in display ads side by side in blogs

Image
I hope you know how to place two ads side by side,its pretty simple. Add two div tags,with float property of each set to right,left and margin pixel as 1px, see the screen shots below .W ell this works if there is no content below the ads. If we plan to place ads side by side above your content,and  if there is enough space between the two ads, content might overlap,it will automatically fit in between the ads. you can do some tweaks for this .I ncrease the margin pixel size of your container which holds the ads which will  eventually reduce the extra space between  ads. I modified the margin pixel size of the second container .See the modifications below. <div style='float:left; Margin: 1px;'> Your Ad Code </div> <div style='float:left; Margin: 40px;'> Your Ad Code </div> Now my ads are happily displaying side by side without any overlapping content !!!.  Also see the posts Blog option to delete images Luminat

Not able to create New Scenarios and Scenario Templates - Button is disbled

Image
How to enable the scenario buttons in ACC ? Normally Scenarios are not enabled by default in ATG,You need to do a small tweak here to start working with Scenarios,Scenario Templates. There are basically two places you need to do change before working with scenarios  Database changes Use any client tool(toad or sqlplus or heidisql for this)to connect your database,find the table  dss_server_id and modify the value like below. Note - Your server_id is the computer name,to find it,go to MyComputer->Properties->Computer name,and the port is the drp_prt, to find it go to atg component administration view navigate to /atg/dynamo/server/DrpServer -> port,ideally it should be 8850,unless specified other wise. Local Config Changes Create a file scenarioManager.xml inside the folder C:\ATG\ATGXXX\home\localconfig\atg\scenario Add the entry like below and restart your server. Go to ATG