Thursday, September 9, 2010

startSQLRepository can fail to mark ATG Content Administration projects as deployed

Maybe this will help someone dealing with issues in ATG Service 2006.3.2 or ATG Service 2007.1

Symptom:

The symptom is that a solution is reporting it is not visible in ATG SelfService.You search for the solution but cannot view it and get a message that it is not visible for the current user.

Also, if you look up the solution in dynamo administrator for the j2ee instance running SelfService, it will be missing the status property.

This is an indication that the solution is not marked as deployed in the SolutionSolutionStatus Item Descriptor of the ServiceSharedRepository.

The solution can have audience Everyone-External set, in both Knowledge and SelfService which can make the error a head scratcher.

One way to check this is by connecting to dynamo admin for SelfService and in the /atg/svc/shared/ServiceSharedRepository execute

solutionId = "soln_id" AND deployed = true

If you do not get any rows back, then you probably have this problem, unless you just have not invalidated the caches.

Resolution:

connect to the shared schema with a database tool

update svc_soln_sstatus

set deployed = 0

where soln_id = 'soln_id' and

soln_version = version

where soln_id is the solution having the issue.

and version is the number of the version of the solution that should have been marked as deployed. To find it checked the last_modify_date and status_id columns of the rows returned from the query:

select * from svc_soln_sstatus where

soln_id = 'soln_id'

Make sure to commit the update. And clear the repository caches before rechecking.

Really the two ways you will get the message that a solution is not visible are:

1 the audience property is empty or only contains audiences that the current SelfService user is not a member of.

2 the solution is not marked as deployed in the ServiceSharedRepository SolutionSolutionStatus deployed = 1

Cause:

I suspect bulk importing solutions in with repository XML using startSQLRepository can leave solutions in this state where they are deployed but their status property was not set as deployed. Also messing around with ATG Service data using straight SQL on the database is a dangerous game that can burn you in countless ways.

Disclaimer

I do not accept liability for the consequences of any actions taken on the basis of the information provided by this blog.

No comments:

About Me

My photo
Lead Java Developer Husband and Father

Tags