Need Help on ATG Repository Loader for loading PriceLists

551 views
Skip to first unread message

ag...@restorationhardware.com

unread,
Jan 14, 2009, 2:42:04 AM1/14/09
to ATG_Tech
Hi All,

We are working on a POC for loading multiple pricelists for the
products in our application.

We are trying to use the ATG Repository Loader ( RL ) concept as one
approach.

But we are facing the following issue while trying to invoke the RL
both from a Scheduler and RL Admin.

Issue: We are not able to read/add/update any item from the PriceLists
repository.
"atg.security.PermissionDeniedException: You do not have read access
to the priceList item descriptor."

I think the PriceLists repository is a Secured Repository.Is it
because of ACL permission? If yes, how can we resolve this?

We are able to create the PriceLists through ACC because we log in as
Admin. But how can we pass this information through the scheduler or
RL Admin ?

And more over, when we try to create the XML schema based on
PriceLists Repository using the generateXMLSchema command of ATG, we
are not getting the relationships in the Schema generated.



Can anyone please let me know the complete process to load the price
lists from the feed.

(Please verify the log for the same below.)


[FileSystemMonitorService] DEBUG 1 items found for update under path D:
\ATG\ATG9.0\SprintRL\public\price
[FileSystemMonitorService] Job ID RLJob3202 was assigned to requested
load operation for path D:\ATG\ATG9.0\SprintRL\public\price
[LoaderManager] DEBUG starting job: RLJob3202 [class:
atg.repository.loader.ArrayBackedJob]
[LoaderManager] DEBUG called begin on TransactionDemarcation:
Transaction: TransactionImple < ac, BasicAction: ad10e6a:
896:496d8a19:64a status: ActionStatus.RUNNING >
[LoaderManager] DEBUG starting UPDATE operation on file, D:\ATG
\ATG9.0\SprintRL\public\price\priceList.plxml for Job: RLJob3202
[class: atg.repository.loader.ArrayBackedJob]
[LoaderManager] DEBUG BaseJob.processOp: before UPDATE: transaction
demarcation transaction = TransactionImple < ac, BasicAction: ad10e6a:
896:496d8a19:64a status: ActionStatus.RUNNING >
[LoaderManager] DEBUG Xml2RepositoryContentHandler.processUpdate:
updating file, D:\ATG\ATG9.0\SprintRL\public\price\priceList.plxml
[LoaderManager] DEBUG Xml2RepositoryContentHandler.readerForInput: D:
\ATG\ATG9.0\SprintRL\public\price\priceList.plxml
isEnableHTMLParser=false isEnableTransforms=false
[UpdateService] DEBUG updateItem called, need to select item for
update
[RepositoryXMLTools] DEBUG in getRepositoryItems
[RepositoryXMLTools] DEBUG isRepositoryIdMatchCriteria: checking
matchProperties[0]=id
[RepositoryXMLTools] DEBUG Checking if id is to be included, the
orginal value is: priceList.id
[RepositoryXMLTools] DEBUG Trying to get the value for Element:
priceList:priceList.id
[RepositoryXMLTools] DEBUG Checking if description is to be included,
the orginal value is: priceList.description
[RepositoryXMLTools] DEBUG Checking if endDate is to be included, the
orginal value is: priceList.endDate
[RepositoryXMLTools] DEBUG Checking if displayName is to be included,
the orginal value is: priceList.displayName
[RepositoryXMLTools] DEBUG Checking if version is to be included, the
orginal value is: priceList.version
[RepositoryXMLTools] DEBUG Checking if creationDate is to be included,
the orginal value is: priceList.creationDate
[RepositoryXMLTools] DEBUG Checking if startDate is to be included,
the orginal value is: priceList.startDate
[RepositoryXMLTools] DEBUG Checking if locale is to be included, the
orginal value is: priceList.locale
[RepositoryXMLTools] DEBUG Checking if lastModifiedDate is to be
included, the orginal value is: priceList.lastModifiedDate
[RepositoryXMLTools] DEBUG Checking if itemAcl is to be included, the
orginal value is: priceList.itemAcl
[RepositoryXMLTools] DEBUG RQL Query Constructed is: id = ?0
[RepositoryXMLTools] DEBUG Values to be passed are : [pl10050]
[RepositoryXMLTools] DEBUG number of stringified values: 1
[RepositoryXMLTools] DEBUG stringified value[0]=pl10050
[LoaderManager] DEBUG failed UPDATE operation on file, D:\ATG
\ATG9.0\SprintRL\public\price\priceList.plxml for Job: RLJob3202
[class: atg.repository.loader.ArrayBackedJob]
[LoaderManager] handleException called for LoaderException: nested
exception class: atg.repository.xml.MatchException message: null
[LoaderManager] handleException called for exception class:
atg.repository.xml.MatchException message: null

itory.xml.MatchException;
SOURCE:CONTAINER:atg.repository.RepositorySecurityException;
SOURCE:atg.security.PermissionDeniedException: You do not have read
access to the priceList item descriptor.
sitory.xml.RepositoryXMLTools.getRepositoryItemsFromXML
(RepositoryXMLTools.java:1692)
sitory.xml.UpdateService.getItemForUpdate(UpdateService.java:1095)
sitory.xml.UpdateService.updateItem(UpdateService.java:691)
sitory.loader.Xml2RepositoryContentHandler.processUpdate
(Xml2RepositoryContentHandler.java:1028)
sitory.loader.BaseJob.processOp(BaseJob.java:741)
sitory.loader.ArrayBackedJob.runJob(ArrayBackedJob.java:227)
sitory.loader.JobThread.run(JobThread.java:136)
R:atg.repository.RepositorySecurityException;
SOURCE:atg.security.PermissionDeniedException: You do not have read
access to the priceList item descriptor.
ter.secure.GenericSecuredRepository.checkAccess
(GenericSecuredRepository.java:381)
ter.secure.GenericSecuredRepositoryView.executeQuery
(GenericSecuredRepositoryView.java:292)
sitory.rql.RqlStatement.executeQuery(RqlStatement.java:205)
sitory.xml.RepositoryXMLTools.selectRepositoryItems
(RepositoryXMLTools.java:1518)
sitory.xml.RepositoryXMLTools.getRepositoryItems
(RepositoryXMLTools.java:1836)
sitory.xml.RepositoryXMLTools.getRepositoryItemsFromXML
(RepositoryXMLTools.java:1685)

rity.PermissionDeniedException: You do not have read access to the
priceList item descriptor.



itory.RepositorySecurityException;
SOURCE:atg.security.PermissionDeniedException: You do not have read
access to the priceList item descriptor.
ter.secure.GenericSecuredRepository.checkAccess
(GenericSecuredRepository.java:381)
ter.secure.GenericSecuredRepositoryView.executeQuery
(GenericSecuredRepositoryView.java:292)
sitory.rql.RqlStatement.executeQuery(RqlStatement.java:205)
sitory.xml.RepositoryXMLTools.selectRepositoryItems
(RepositoryXMLTools.java:1518)
sitory.xml.RepositoryXMLTools.getRepositoryItems
(RepositoryXMLTools.java:1836)
sitory.xml.RepositoryXMLTools.getRepositoryItemsFromXML
(RepositoryXMLTools.java:1685)
sitory.xml.UpdateService.getItemForUpdate(UpdateService.java:1095)
sitory.xml.UpdateService.updateItem(UpdateService.java:691)
sitory.loader.Xml2RepositoryContentHandler.processUpdate
(Xml2RepositoryContentHandler.java:1028)
sitory.loader.BaseJob.processOp(BaseJob.java:741)
sitory.loader.ArrayBackedJob.runJob(ArrayBackedJob.java:227)
sitory.loader.JobThread.run(JobThread.java:136)
rity.PermissionDeniedException: You do not have read access to the
priceList item descriptor.


sionDeniedException: You do not have read access to the priceList item
descriptor.
ter.secure.GenericSecuredRepository.checkAccess
(GenericSecuredRepository.java:381)
ter.secure.GenericSecuredRepositoryView.executeQuery
(GenericSecuredRepositoryView.java:292)
sitory.rql.RqlStatement.executeQuery(RqlStatement.java:205)
sitory.xml.RepositoryXMLTools.selectRepositoryItems
(RepositoryXMLTools.java:1518)
sitory.xml.RepositoryXMLTools.getRepositoryItems
(RepositoryXMLTools.java:1836)
sitory.xml.RepositoryXMLTools.getRepositoryItemsFromXML
(RepositoryXMLTools.java:1685)
sitory.xml.UpdateService.getItemForUpdate(UpdateService.java:1095)
sitory.xml.UpdateService.updateItem(UpdateService.java:691)
sitory.loader.Xml2RepositoryContentHandler.processUpdate
(Xml2RepositoryContentHandler.java:1028)
sitory.loader.BaseJob.processOp(BaseJob.java:741)
sitory.loader.ArrayBackedJob.runJob(ArrayBackedJob.java:227)
sitory.loader.JobThread.run(JobThread.java:136)
:
sionDeniedException: You do not have read access to the priceList item
descriptor.
ter.secure.GenericSecuredRepository.checkAccess
(GenericSecuredRepository.java:381)
ter.secure.GenericSecuredRepositoryView.executeQuery
(GenericSecuredRepositoryView.java:292)
sitory.rql.RqlStatement.executeQuery(RqlStatement.java:205)
sitory.xml.RepositoryXMLTools.selectRepositoryItems
(RepositoryXMLTools.java:1518)
sitory.xml.RepositoryXMLTools.getRepositoryItems
(RepositoryXMLTools.java:1836)
sitory.xml.RepositoryXMLTools.getRepositoryItemsFromXML
(RepositoryXMLTools.java:1685)
sitory.xml.UpdateService.getItemForUpdate(UpdateService.java:1095)
sitory.xml.UpdateService.updateItem(UpdateService.java:691)
sitory.loader.Xml2RepositoryContentHandler.processUpdate
(Xml2RepositoryContentHandler.java:1028)
sitory.loader.BaseJob.processOp(BaseJob.java:741)
sitory.loader.ArrayBackedJob.runJob(ArrayBackedJob.java:227)
sitory.loader.JobThread.run(JobThread.java:136)
[LoaderManager] DEBUG ErrorPolicyImpl.checkIsExceptionFatal: checking
atg.repository.xml.MatchException
[LoaderManager] handleException: continuing job processing despite
exception. Replacing transaction.
[LoaderManager] DEBUG replacing transaction demarcation:
transaction=TransactionImple < ac, BasicAction: ad10e6a:
896:496d8a19:64a status: ActionStatus.RUNNING >

Belmont, Adam

unread,
Jan 14, 2009, 3:34:09 PM1/14/09
to atg_...@googlegroups.com
Right, you are using the SecureRepository if you're getting that error.

You'll either need to specify a user with credentials to repository
loader or import into a non-Secure price list repository.

Here's the docs on repository loader with the authentication arguments:

"-auth username:passwd

Supplies the username and password. By default, these are tested against
the /atg/dynamo/security/AdminUserAuthority. To specify a different user
authority, set the userAuthority property in
/atg/dynamo/repository/loader/RemoteManifestProcessorService."

http://www.atg.com/repositories/ContentCatalogRepository_en/manuals/ATG9
.0/repository/wwhelp/wwhimpl/api.htm?href=RepositoryGuide.1.284.html

Manny Parasirakis

unread,
Jan 14, 2009, 3:46:45 PM1/14/09
to atg_...@googlegroups.com
The AdminUserAuthority validates credentials against the list of ACC users.
If you want to validate against profile users, change the UserAuthority to
the ProfileUserAuthority or the InternalProfileUserAuthority.
Emmanuel Parasirakis (Manny) ATG
Software Architect 1 Main St, 6th Floor
ma...@atg.com Cambridge, MA 02142
617-386-1603 http://www.atg.com/

Cameron Tan

unread,
Apr 25, 2013, 1:20:50 PM4/25/13
to atg_...@googlegroups.com, ag...@restorationhardware.com
Hello - I was wondering if you can share the format of the file that was loaded into the repository loader.  I'm running into a problem with loading multiple prices in one file.  Is there a generic root node that you can specify to hold the child prices?

Thanks in advance,
Cameron
Reply all
Reply to author
Forward
0 new messages