2012-06-03 3 views
2

사용자 생성 콘텐츠 용 Tridion을 구성하고 텍스트 입력 필드를 사용하여 설명 작성자의 이름을 제공하는 기본/데모 템플릿을 사용하여 웹 페이지를 만들었습니다. 주석이 승인되지만 표시된 경우 사용자의 이름이 "null"로 표시됩니다. 문제는 검색하는 것이 아니라 이름을 저장하는 것이라고 생각합니다. Content Manager UI에서 주석을 작성한 다음 내 테스트 웹 페이지로 돌아 가면 중재자의 이름과 함께 주석이 표시됩니다.Tridion UGC 의견을 작성자에게 표시합니다.

공용 UGC 웹 서비스에는 AllowAnonymousClaimProcessor가 구성되어 있습니다. (이 없으면 주석이 전혀 저장되지 않습니다.) 로깅은 누락 된 taf : claim : contentdelivery : webservice : user를 추적 ID를 기반으로 변환하는 것으로 나타납니다.

물론 아이디어는 의견 작성자로 사용해서는 안됩니다. 로깅에서 웹 페이지의 텍스트 입력에서 나오는 "Test User"라는 문자열을 볼 수 있으며이 링크는 author = [email protected]에 매핑되는 것처럼 보입니다. 스토리지 계층은 ID가 null 인 사용자를 검색하여 하나를 찾습니다.

이것이 구성 문제라고 생각되지만, 실제로 볼 수 있듯이 복잡한 것이므로 어디를 더 볼 것인지 잘 모르겠습니다. 그것이 어떻게 작동해야하는지에 대한 설명은 진행할 실험에 대한 더 구체적인 제안만큼이나 환영 할 만하다.

로깅 출력이 이어집니다. 나는 그에게 많은 손질했지만 꽤 오랫동안 나는 비트 관련 증명할 수있는 알고하지 않는 한 여전히 예상대로

2012-06-03 13:00:10,662 WARN AmbientDataContext - There is no current ambient data context - the ambient data framework is not properly initialised 
2012-06-03 13:00:10,668 DEBUG AmbientDataContext - Setting current ambient data context: com.tridion.ambientdata.web.WebContext 
2012-06-03 13:00:10,903 DEBUG ClaimStore - put: uri=taf:response:cookie:generation, value=true 
2012-06-03 13:00:10,906 DEBUG WebContext - setCurrentClaimStore: [email protected], thread: Thread-1 
2012-06-03 13:00:10,922 DEBUG ClaimStore - put: uri=taf:request:uri, value=/odata.svc/ItemStats(PublicationId=19,Id=320,Type=16) 
2012-06-03 13:00:10,923 DEBUG ClaimStore - put: uri=taf:request:full_url, value=http://cdweb.visitorsweb.local/odata.svc/ItemStats(PublicationId=19,Id=320,Type=16) 
2012-06-03 13:00:10,936 DEBUG ClaimStore - put: uri=taf:request:headers, value={content-type=[Ljava.lang.String;@5a940f82, connection=[Ljava.lang.String;@2e864e43, host=[Ljava.lang.String;@737c2891, accept=[Ljava.lang.String;@5c4b82d2} 
2012-06-03 13:00:10,937 DEBUG ClaimStore - put: uri=taf:request:cookies, value={} 
2012-06-03 13:00:10,937 DEBUG ClaimStore - put: uri=taf:request:parameters, value={CONTENT_TYPE=[Ljava.lang.String;@6179d854, QUERY_STRING=[Ljava.lang.String;@669a4cb} 
2012-06-03 13:00:10,938 DEBUG ClaimStore - put: uri=taf:server:variables, value={REMOTE_USER=, PATH_TRANSLATED=C:\inetpub\LiveCDService\odata.svc, SERVER_PORT=80, SCRIPT_NAME=/odata.svc, REMOTE_ADDR=127.0.0.1, AUTH_TYPE=, SERVER_PROTOCOL=HTTP/1.1, REQUEST_METHOD=GET, DOCUMENT_ROOT=C:\inetpub\LiveCDService, REMOTE_HOST=127.0.0.1, SERVER_NAME=cdweb.visitorsweb.local, SECURE=false} 
2012-06-03 13:00:10,943 DEBUG ClaimStore - put: uri=taf:session:id, value=tridion_1d6b8066-4b45-4047-bf63-521eaeadb439 
2012-06-03 13:00:10,944 DEBUG ClaimStore - put: uri=taf:tracking:id, value=tridion_52d4956c-ae40-4c97-8eea-62d8ef7daa4c 
2012-06-03 13:00:10,953 DEBUG ClaimStore - put: uri=taf:session:attributes, value={Tridion.ContentDelivery.AmbientData.ClaimStore=Tridion.ContentDelivery.AmbientData.ClaimStore} 
2012-06-03 13:00:10,954 DEBUG AllowAnonymousPostClaimProcessor - No external user specified, using tracking id. 
2012-06-03 13:00:10,954 DEBUG ClaimStore - put: uri=taf:claim:contentdelivery:webservice:user, value=tridion_52d4956c-ae40-4c97-8eea-62d8ef7daa4c 
2012-06-03 13:00:10,964 DEBUG ClaimStore - put: uri=taf:claim:contentdelivery:webservice:post:allowed, value=false 
2012-06-03 13:00:11,275 DEBUG ODataService - ODATA.NET: Resource retrieval: ItemStats(PublicationId=19,Id=320,Type=16) 
2012-06-03 13:00:11,276 DEBUG WebContext - setCurrentClaimStore: [email protected], thread: Thread-2 
2012-06-03 13:00:11,289 DEBUG ODataWebserviceHandler - Requested a OData feed/entry: ItemStats(PublicationId=19,Id=320,Type=16) with type: application/json 
2012-06-03 13:00:11,289 DEBUG ODataWebserviceHandler - Setting $top to 25 
2012-06-03 13:00:11,291 DEBUG ResolverBase - Requested specific OData Entry 
2012-06-03 13:00:13,774 DEBUG PooledDataSourceBeanConfigurer - Initializing Pooled data source 
... snip 
2012-06-03 13:00:13,774 DEBUG EntityManagerFactoryBeanConfigurer - Registering EntityManagerFactory to Spring Context 
2012-06-03 13:00:13,778 INFO SpringConfigurationLoader - Finished loading spring application context 
2012-06-03 13:00:13,778 INFO ConfigurationStepLoader - Executing configuration step: BundleLoader 
2012-06-03 13:00:13,787 INFO BundleConfigurationLoader - Custom storage bindings defined, loading ugc_dao_bundle.xml 
2012-06-03 13:00:13,971 INFO BundleConfigurationLoader - Added 'Comment' for storage 'persistence' with 'com.tridion.storage.ugc.dao.persistence.JPACommentDAO'. 
2012-06-03 13:00:13,978 INFO BundleConfigurationLoader - Added 'Rating' for storage 'persistence' with 'com.tridion.storage.ugc.dao.persistence.JPARatingDAO'. 
2012-06-03 13:00:13,989 INFO BundleConfigurationLoader - Added 'UGCUser' for storage 'persistence' with 'com.tridion.storage.ugc.dao.persistence.JPAUserDAO'. 
2012-06-03 13:00:13,995 INFO BundleConfigurationLoader - Added 'UGCItemStats' for storage 'persistence' with 'com.tridion.storage.ugc.dao.persistence.JPAItemStatsDAO'. 
2012-06-03 13:00:14,002 INFO ConfigurationStepLoader - Executing configuration step: FactoryLoader 
2012-06-03 13:00:25,550 DEBUG ClaimStore - put: uri=taf:response:cookie:generation, value=true 
2012-06-03 13:00:25,550 DEBUG WebContext - setCurrentClaimStore: [email protected], thread: Thread-1 
2012-06-03 13:00:25,550 DEBUG ClaimStore - put: uri=taf:request:uri, value=/odata.svc/Comments 
2012-06-03 13:00:25,551 DEBUG ClaimStore - put: uri=taf:request:full_url, value=http://cdweb.visitorsweb.local/odata.svc/Comments 
2012-06-03 13:00:25,551 DEBUG ClaimStore - put: uri=taf:request:headers, value={expect=[Ljava.lang.String;@717535b6, content-type=[Ljava.lang.String;@461979eb, connection=[Ljava.lang.String;@32935741, host=[Ljava.lang.String;@67458657, accept=[Ljava.lang.String;@576eeb9, content-length=[Ljava.lang.String;@4332b67c} 
2012-06-03 13:00:25,551 DEBUG ClaimStore - put: uri=taf:request:cookies, value={} 
2012-06-03 13:00:25,552 DEBUG ClaimStore - put: uri=taf:request:parameters, value={CONTENT_TYPE=[Ljava.lang.String;@366aa95b, QUERY_STRING=[Ljava.lang.String;@1494b146} 
2012-06-03 13:00:25,552 DEBUG ClaimStore - put: uri=taf:server:variables, value={REMOTE_USER=, PATH_TRANSLATED=C:\inetpub\LiveCDService\odata.svc, SERVER_PORT=80, SCRIPT_NAME=/odata.svc, REMOTE_ADDR=127.0.0.1, AUTH_TYPE=, SERVER_PROTOCOL=HTTP/1.1, REQUEST_METHOD=POST, DOCUMENT_ROOT=C:\inetpub\LiveCDService, REMOTE_HOST=127.0.0.1, SERVER_NAME=cdweb.visitorsweb.local, SECURE=false} 
2012-06-03 13:00:25,553 DEBUG ClaimStore - put: uri=taf:session:id, value=tridion_d56681a1-15aa-4eed-acdf-e6c82e6a9488 
2012-06-03 13:00:25,553 DEBUG ClaimStore - put: uri=taf:tracking:id, value=tridion_79775c4b-54fe-4d5c-875d-bc0354ea77c3 
2012-06-03 13:00:25,553 DEBUG ClaimStore - put: uri=taf:session:attributes, value={Tridion.ContentDelivery.AmbientData.ClaimStore=Tridion.ContentDelivery.AmbientData.ClaimStore} 
2012-06-03 13:00:25,553 DEBUG AllowAnonymousPostClaimProcessor - No external user specified, using tracking id. 
2012-06-03 13:00:25,553 DEBUG ClaimStore - put: uri=taf:claim:contentdelivery:webservice:user, value=tridion_79775c4b-54fe-4d5c-875d-bc0354ea77c3 
2012-06-03 13:00:25,555 DEBUG ClaimStore - put: uri=taf:claim:contentdelivery:webservice:post:allowed, value=true 
2012-06-03 13:00:25,563 DEBUG ODataService - ODATA.NET: Inserting entity on path: Comments 
2012-06-03 13:00:25,563 DEBUG WebContext - setCurrentClaimStore: [email protected], thread: Thread-6 
2012-06-03 13:00:25,568 DEBUG WritableCommentEntryService - Parsing comment: {d:{"Id":0,"ItemPublicationId":19,"ItemId":320,"ItemType":16,"CreationDate":"\/Date(1338728425535+120)\/","LastModifiedDate":"\/Date(1338728425535+120)\/","User":{"Id":null,"Name":"Test Name","EmailAddress":"[email protected]","ExternalId":null},"Content":"This is a test comment, which will probably appear to be anonymous","Moderator":null,"ModeratedDate":null,"Score":0,"Status":0}}. 
2012-06-03 13:00:25,582 DEBUG UGCConfigurationLoader - Attempt loading default storage configuration file 
2012-06-03 13:00:25,671 DEBUG WritableCommentEntryService - Storing comment: Comment [commentId=0, content=This is a test comment, which will probably appear to be anonymous, itemPublicationId=19, itemId=320, itemType=16, [email protected], creationDate=Sun Jun 03 15:00:25 CEST 2012, lastModifiedDate=Sun Jun 03 15:00:25 CEST 2012, moderatedDate=null, moderator=null, score=0, status=0]. 
2012-06-03 13:00:31,952 DEBUG JPADAOFactory - Loaded BinaryDAO for storageId: defaultdb 
2012-06-03 13:00:31,971 DEBUG JPADAOFactory - Loaded BinaryMetaDAO for storageId: defaultdb 
2012-06-03 13:00:34,260 DEBUG JPADAOFactory - Loaded TrackedPageDAO for storageId: ugcdb 
...snip 
2012-06-03 13:00:34,260 DEBUG JPADAOFactory - Loaded XSLTDAO for storageId: ugcdb 
2012-06-03 13:00:34,260 DEBUG JPADAOFactory - Loaded CommentDAO for storageId: ugcdb 
2012-06-03 13:00:34,261 DEBUG JPADAOFactory - Loaded RatingDAO for storageId: ugcdb 
2012-06-03 13:00:34,261 DEBUG JPADAOFactory - Loaded UGCUserDAO for storageId: ugcdb 
2012-06-03 13:00:34,261 DEBUG JPADAOFactory - Loaded UGCItemStatsDAO for storageId: ugcdb 
2012-06-03 13:00:34,261 INFO ConfigurationStepLoader - Executing configuration step: TypeMappingCheckLoader 
2012-06-03 13:00:34,266 INFO ConfigurationStepLoader - Executing configuration step: ConfigurationItemTypeLoader 
2012-06-03 13:00:34,270 INFO ConfigurationItemTypeLoader - Loaded default storage: brokerdb 
2012-06-03 13:00:34,270 DEBUG ConfigurationItemTypeLoader - Loading default global typeMappings 
2012-06-03 13:00:34,270 DEBUG ConfigurationItemTypeLoader - Loaded mapping: page to storage: brokerdb 
2012-06-03 13:00:34,270 DEBUG ConfigurationItemTypeLoader - Loaded mapping: comment to storage: ugcdb 
2012-06-03 13:00:34,270 DEBUG ConfigurationItemTypeLoader - Loaded mapping: rating to storage: ugcdb 
2012-06-03 13:00:34,271 DEBUG ConfigurationItemTypeLoader - Loaded mapping: ugcuser to storage: ugcdb 
2012-06-03 13:00:34,271 DEBUG ConfigurationItemTypeLoader - Loaded mapping: ugcitemstats to storage: ugcdb 
2012-06-03 13:00:34,271 DEBUG ConfigurationItemTypeLoader - Loading publication storage mappings 
2012-06-03 13:00:34,271 INFO ConfigurationStepLoader - Executing configuration step: CacheLoader 
2012-06-03 13:00:34,272 INFO ConfigurationStepLoader - Executing configuration step: StorageWrapperLoader 
2012-06-03 13:00:34,283 DEBUG StorageManagerFactory - Default storage provider has caching set to: false 
2012-06-03 13:00:34,283 DEBUG StorageManagerFactory - Loaded following dao Properties[publication=0, typeMapping=UGCItemStats, storageId=ugcdb, cached=false] for publication/typeMapping/itemExtension: 0/UGCItemStats/null 
2012-06-03 13:00:34,283 DEBUG StorageManagerFactory - Loading a non cached DAO for publicationId/typeMapping/itemExtension: 0/UGCItemStats/null 
2012-06-03 13:00:34,284 DEBUG StorageManagerFactory - Wrapping DAO's, currently 0 wrappers installed 
2012-06-03 13:00:34,290 DEBUG StorageManagerFactory - Default storage provider has caching set to: false 
2012-06-03 13:00:34,290 DEBUG StorageManagerFactory - Loaded following dao Properties[publication=0, typeMapping=Comment, storageId=ugcdb, cached=false] for publication/typeMapping/itemExtension: 0/Comment/null 
2012-06-03 13:00:34,290 DEBUG StorageManagerFactory - Loading a non cached DAO for publicationId/typeMapping/itemExtension: 0/Comment/null 
2012-06-03 13:00:34,290 DEBUG StorageManagerFactory - Wrapping DAO's, currently 0 wrappers installed 
2012-06-03 13:00:34,291 DEBUG JPACommentDAO - Add comment to storage: Comment [commentId=0, content=This is a test comment, which will probably appear to be anonymous, itemPublicationId=19, itemId=320, itemType=16, [email protected], creationDate=Sun Jun 03 15:00:25 CEST 2012, lastModifiedDate=Sun Jun 03 15:00:25 CEST 2012, moderatedDate=null, moderator=null, score=0, status=0]. 
2012-06-03 13:00:34,295 INFO StorageManagerTransactionMonitor - Starting storage transaction monitoring 
2012-06-03 13:00:34,296 DEBUG StorageManagerFactory - Default storage provider has caching set to: false 
2012-06-03 13:00:34,296 DEBUG StorageManagerFactory - Loaded following dao Properties[publication=0, typeMapping=UGCUser, storageId=ugcdb, cached=false] for publication/typeMapping/itemExtension: 0/UGCUser/null 
2012-06-03 13:00:34,296 DEBUG StorageManagerFactory - Loading a non cached DAO for publicationId/typeMapping/itemExtension: 0/UGCUser/null 
2012-06-03 13:00:34,297 DEBUG StorageManagerFactory - Wrapping DAO's, currently 0 wrappers installed 
2012-06-03 13:00:34,297 DEBUG JPAUserDAO - Searching for user with id null in storage. 
2012-06-03 13:00:34,847 DEBUG ResolverBase - Entry: [email protected]046 was selected, checking if expanding is needed 
2012-06-03 13:00:34,858 DEBUG JPAUserDAO - User already in storage. No need to create new one. 
2012-06-03 13:00:34,894 DEBUG WebContext - setCurrentClaimStore: null, thread: Thread-2 
2012-06-03 13:00:34,912 DEBUG WebContext - setCurrentClaimStore: null, thread: Thread-1 
2012-06-03 13:00:34,967 DEBUG WebContext - setCurrentClaimStore: null, thread: Thread-6 
2012-06-03 13:00:34,968 DEBUG WebContext - setCurrentClaimStore: null, thread: Thread-8 
2012-06-03 13:00:34,991 DEBUG ClaimStore - put: uri=taf:response:cookie:generation, value=true 
2012-06-03 13:00:34,991 DEBUG WebContext - setCurrentClaimStore: [email protected], thread: Thread-1 
2012-06-03 13:00:34,991 DEBUG ClaimStore - put: uri=taf:request:uri, value=/odata.svc/Comments 
2012-06-03 13:00:34,993 DEBUG ClaimStore - put: uri=taf:request:full_url, value=http://cdweb.visitorsweb.local/odata.svc/Comments 
2012-06-03 13:00:34,993 DEBUG ClaimStore - put: uri=taf:request:headers, value={content-type=[Ljava.lang.String;@5358aac4, host=[Ljava.lang.String;@6233549b, accept=[Ljava.lang.String;@17f7be7b} 
2012-06-03 13:00:34,993 DEBUG ClaimStore - put: uri=taf:request:cookies, value={ASP.NET_SessionId=e3kzwdajhvc3ickvtjavm0co} 
2012-06-03 13:00:34,994 DEBUG ClaimStore - put: uri=taf:request:parameters, value={CONTENT_TYPE=[Ljava.lang.String;@9fa8988, $orderby=[Ljava.lang.String;@1f5b44d6, QUERY_STRING=[Ljava.lang.String;@21044daf, $filter=[Ljava.lang.String;@21882d18, $expand=[Ljava.lang.String;@734893da, $top=[Ljava.lang.String;@21e30857, $skip=[Ljava.lang.String;@40389922} 
2012-06-03 13:00:34,994 DEBUG ClaimStore - put: uri=taf:server:variables, value={REMOTE_USER=, PATH_TRANSLATED=C:\inetpub\LiveCDService\odata.svc, SERVER_PORT=80, SCRIPT_NAME=/odata.svc, REMOTE_ADDR=127.0.0.1, AUTH_TYPE=, SERVER_PROTOCOL=HTTP/1.1, REQUEST_METHOD=GET, DOCUMENT_ROOT=C:\inetpub\LiveCDService, REMOTE_HOST=127.0.0.1, SERVER_NAME=cdweb.visitorsweb.local, SECURE=false} 
2012-06-03 13:00:34,994 DEBUG ClaimStore - put: uri=taf:session:id, value=tridion_ee26e9d0-c82e-4731-8c62-2f6c324d256a 
2012-06-03 13:00:34,995 DEBUG ClaimStore - put: uri=taf:tracking:id, value=tridion_435315be-7eca-4bda-94c8-acefdd03b594 
2012-06-03 13:00:34,995 DEBUG ClaimStore - put: uri=taf:session:attributes, value={Tridion.ContentDelivery.AmbientData.ClaimStore=Tridion.ContentDelivery.AmbientData.ClaimStore} 
2012-06-03 13:00:34,996 DEBUG AllowAnonymousPostClaimProcessor - No external user specified, using tracking id. 
2012-06-03 13:00:34,996 DEBUG ClaimStore - put: uri=taf:claim:contentdelivery:webservice:user, value=tridion_435315be-7eca-4bda-94c8-acefdd03b594 
2012-06-03 13:00:34,996 DEBUG ClaimStore - put: uri=taf:claim:contentdelivery:webservice:post:allowed, value=false 
2012-06-03 13:00:34,997 DEBUG ODataService - ODATA.NET: Resource retrieval: Comments 
2012-06-03 13:00:34,997 DEBUG WebContext - setCurrentClaimStore: [email protected], thread: Thread-6 
2012-06-03 13:00:34,999 DEBUG ODataWebserviceHandler - Requested a OData feed/entry: Comments with type: application/json 
2012-06-03 13:00:35,000 DEBUG ResolverBase - Requested OData collection 
2012-06-03 13:00:35,003 DEBUG FilterValue - check if value: -1 is of Integer type 
2012-06-03 13:00:35,003 DEBUG FilterValue - value: -1 is Integer 

답변

13

이 문제에 대한 몇 일간의 작업 끝에이 문제에 대한 해결책은 웹 사이트와 방문자 웹 서비스의 cd_ambient_conf에 "ugc_ambient_cartridge.xml"을 구성해야한다는 것을 알게되었습니다.

사용자 주장의 정의가 "taf:claim:contentdelivery:webservice:user"인지 알아야하기 때문입니다.

+0

중간에 너무 노력 중입니다. 어제 Nuno의 구성 파일 사본을 가지고 결국 같은 결론에 도달했습니다. 실제로 설명서가 구성을 설명하는 방법은 아니지만 실제로 이것은 정답입니다. –

+0

문서 결함에 대한 명백한 사례처럼 보입니다. ( –

+0

정확한 정의 또는 범위 속성은 무엇입니까? 카트리지를 정의한 것처럼 보이지만 여전히 처음 사용자 인 null 사용자에게 문제가 있습니다. –

1

내가 솔직히 당신이 뭘 잘못했는지 단서가 없다 ... 내 시스템이 작동하고 , 나는 어떤 널 사용자를하지 않는다 - 대신 내가

2012-06-01 13:30:53,811 DEBUG UserManager - UserManager.checkUser: found user: USER: Id=125; PresentationId=1; Login= 

내가 주석을 만들 때 입력 한로드 된 의견이 올바른 텍스트를 표시 같은 것을 참조하십시오.

나는 또한 웹 사이트와 Odata (필요하다면 확실하지 않지만 작동하는 것을 바꾸지 않을 것임) 모두에서 알아 낸 바로 AllowAnonymousPostClaimProcessor을 사용하고 있습니다.

로그 및/또는 구성 파일을 이메일로 보낼 수 있는지 알려주세요.

관련 문제