since ‎05-08-2015
‎10-12-2019
Gdubz-57m2mu
Level 4
Re: SRP API - "Contains" Search or Full Text UGC Filtering?
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
calvin.wong wrote... You can get the search queries, SQL2 for JSRP or Lucene for MSRP, if you enable DEBUG logging for com.adobe.cq.social.ugc.impl.LuceneUgcSearch. With the debug queries, you can try them directly in CRX/DE for JSRP or the Solr Admin console for MSRP. That's helpful, thank you Calvin!I'll try to figure out what I'm doing wrong from there. Will update this thread with my findings.

Views

287

Likes

0

Replies

0
SRP API - "Contains" Search or Full Text UGC Filtering?
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Is it possible to filter strings by "contains" or maybe a full text search for UGC?I've tried a ValueConstraint[1] but looks like I can only perform a "begins with" search based on the available ComparisonTypes[2]. Even still, this doesn't seem to work...final UgcFilter filter = new UgcFilter(); // ... final String titleFilterParam = request.getParameter("title"); ConstraintGroup optionalFilters = new ConstraintGroup(Operator.Or); Constraint titleFilter = new ValueConstraint("postTitle", titleFi...

Views

2.0K

Like

1

Replies

11
Re: MSRP - How to CRUD image/file attachments?
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
JK Kendall wrote... Hi Greg, Have you explored the file library component? - JK No, I haven't yet. We're updating our own custom components to utliize the new SRP API instead of custom JCR-based UGC with Forward/Reverse Replication workflows (it's awful...). Just trying to figure out how to handle file/attachment storage with the SRP API.This is a helpful link and I'll keep looking through the File Library Client API[1] but seeing the function names only helps so much. Seeing what SRP API method...

Views

344

Likes

0

Replies

0
MSRP - How to CRUD image/file attachments?
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Hi all,Does there exist an example usage of storing/reading an attachment through the SRP API?With the how-to samples on Github, specifically the TodoMVC sample[1], I've been able to figure out how to CRUD UGC in MongoDB through the SRP API in our custom components. However, I'm really not sure how to, or what the best practices are for, upload image attachments from custom UGC components.Right now I'm using the same method I wrote for storing the post but one level down, with a random md5 hash ...

Views

1.3K

Like

1

Replies

8
Re: MSRP Bug? - First time updating existing UGC documents duplicates "id" field
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
It would appear that even removing the "id" from the ModifiableValueMap just results in setting "id":null on the Mongo document after committing changes. So forget that idea, as it won't work.

Views

252

Likes

0

Replies

0
MSRP Bug? - First time updating existing UGC documents duplicates "id" field
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
So I noticed something when running a test on my local. If I were to get a ModifiableValueMap in order to update an existing UGC resource, using the example provided on Github[1], then when saving, the SRP API is essentially duplicating the "id" field. This field is not something I'm providing on initial UGC creation, my guess is that the SRP API is creating it. It exists in the ModifiableValueMap when I go to update a given value, and when saving my changes, the SRP API is adding it back as "cq...

Views

739

Likes

0

Replies

6
Re: MongoDB (MSRP) - "Social Data"
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
dwalling wrote... I hadn't read this article until you pointed it out, but its discussing well-known concepts IMO Regarding MSRP, the author_display_name field is deprecated and no longer being used. It will likely be removed in a future update. The reason is that architecturally we use the authorizableId as the handle to the user info, and can separately handle PII information that might be in a user profile separate from the UGC which doesn't have PII. The authorizableId is the link between th...

Views

427

Likes

0

Replies

0
Re: TarMK GC: Failed to remove old file
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Thanks for the advice PuzanovsP, I'll give it a try next time it happens. Shutting down and restarting my local instance seemed to resolve the log spam part of the issue (for now). Maybe there was some "can't delete, file still in use" situation going on.Sounds good, Scott!

Views

464

Likes

0

Replies

0
TarMK GC: Failed to remove old file
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Hi all,Left my local dev instance running overnight and now every 5 seconds the following 3 lines are spammed in my error log.16.11.2016 12:41:24.368 *WARN* [TarMK flush thread [C:\adobe\aem62publish\crx-quickstart\repository\segmentstore], active since Wed Nov 16 12:41:24 CST 2016, previous max duration 91775ms] org.apache.jackrabbit.oak.plugins.segment.file.FileStore TarMK GC: Failed to remove old file C:\adobe\aem62publish\crx-quickstart\repository\segmentstore\data00017a.tar. Will retry late...

Views

1.1K

Like

1

Replies

3
MongoDB (MSRP) - "Social Data"
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Has anyone at Adobe read this article[1] about MongoDB? Is this not a problem, given that pretty much all use cases for using MongoDB with AEM revolves around "social data"?Just a guess after looking at what's generated in MongoDB after leaving a test comment on /content/community-components/en/comments.html, it would appear that this suffers from the some of the same problems mentioned in that article...You need to perform a lookup of the "authorizableId_t" or "author_username" (whichever is th...

Views

821

Like

1

Replies

2
Modifying Default GET Behavior of Social Component
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Hi all,Just wondering what's the best way to modify the default GET behavior of a social component? In this particular case, it is a custom social component, similar to the TodoMVC sample[1]. This is great in that it shows the custom PostOperations extended from AbstractSocialOperation.However, let's say I've got 20,000 nodes created under my custom social component and on page load, I just want the ONE that was created by the logged in user, how can I change the default GET behavior of the comp...

Views

715

Like

1

Replies

1
Re: Java Deprecated Inheritance Feature
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Sorry, one more missing method that has been deprecated but I can't find a replacement for:boolean isResourceOwner(Resource resource)Again, this is marked as INTERNAL_USE_ONLY on the SocialUtils Refactoring documentation[1] but I'm struggling to find an alternative to, or if there is a public method of a different name that will accomplish the same thing as what is provided in the sample customization code[2].[1] https://docs.adobe.com/docs/en/aem/6-2/develop/communities/code-guide/socialutils.h...

Views

260

Likes

0

Replies

0
Re: User Synchronization vs StorageResourceProvider API
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
dwalling wrote... As general guidance, I would recommend using the profile tree in JCR only for attributes that change infrequently like passwords, address, possibly site preferences. These are things that are unlikely to change during a given login session and perhaps only change a few times per month or year. This will keep the load on SCD light and avoid an potential bottleneck problems. Other attributes that will change during a login session should be stored through the SRP APIs into the co...

Views

701

Likes

0

Replies

0
Re: Java Deprecated Inheritance Feature
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Wow, okay. Shortly after posting that, I stumbled across InternalSocialResourceUtilities[1] in the documentation and that appears to have the two of the three INTERNAL_USE_ONLY methods I mentioned in my last post. Still not sure what to do about mayPost(); though I guess I don't have to do that check and can just try to catch the error if it fails.My question regarding the deprecated ModifyingResourceProvider still stands though.[1] https://docs.adobe.com/docs/en/aem/6-2/develop/ref/javadoc/com/...

Views

257

Likes

0

Replies

0
Re: Java Deprecated Inheritance Feature
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Another deprecation warning I encountered:The method create(ResourceResolver, String, Map) from the type ModifyingResourceProvider is deprecated.This is from Line 108 of the TaskServiceImpl.java[1] example on the aem-scf-sample-components-customize github page[2]. It's using SocialResourceProvider (com.adobe.cq.social.srp.SocialResourceProvider), which I'm guessing extends/implements ModifyingResourceProvider (org.apache.sling.api.resource.ModifyingResourceProvider). Is there a recommended alter...

Views

261

Likes

0

Replies

0
Re: User Synchronization vs StorageResourceProvider API
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Bertrand de Coatpont wrote... hello Greg, great questions/thoughts. SCD has been designed and tested with much larger number of "members" (as we tend to name publish side users). It's much more lighweight than before, and only uses the author instance as a pivot (content is never stored as such on author). Also, please note that compared to previous versions of AEM Communities, the user node is quite lightweight also since we "moved" all the associated UGC into SRP storage (activities, messages,...

Views

439

Likes

0

Replies

0
Java Deprecated Inheritance Feature
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Hi there!I was attempting to recreate/experiment/learn more about the Social Component Framework and getting the following warning from Maven on build:[WARNING] C:\Projects\my-project\core\src\main\java\com\sample-project\my-project\core\servlets\SetStatusOperation.java [1:1]: Component com.sample-project.my-project.core.servlets.SetStatusOperation is using the deprecated inheritance feature and inherits from com.adobe.cq.social.scf.core.operations.AbstractSocialOperation. This feature will be r...

Views

940

Like

1

Replies

4
Re: Javax.Inject Dependency Error
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Assuming you're using the Maven AEM Project Archetype 10, then you need to add the following line to your "maven-bundle-plugin", under ... javax.inject;version=0.0.0,*See the commit diff from Issue #59 here: https://github.com/Adobe-Marketing-Cloud/aem-project-archetype/commit/e8239a911fe08029f7e7abfe210f1e49709f99c0That should be all you need!

Views

446

Likes

0

Replies

0
User Synchronization vs StorageResourceProvider API
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Hi all, just wanted to get everyone’s opinion on User Synchronization[1] (using Sling Content Distribution[2] (SCD)) in AEM 6.2.Right now in AEM 5.6.1 we’re using some custom Forward Replication/Reverse Replication (FR/RR) for all UGC, including user profile preferences. From our experience thus far, this is probably the worst thing in the world, and we’ve only got about 15-20k active users.I went ahead and setup User Synchronization in my local dev environment (1 author, 2 publishers) and it’s ...

Views

1.9K

Like

1

Replies

6
Re: AEM support for 1000+ jcr nodes - user profile/products
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Opkar Gill wrote... Reverse replication for users has been deprecated and you should use SCD to sync users across a TarMK farm. @Opkar Gill - I took a look at the documentation for User Sync with SCD. How is this different than Forward Replication/Reverse Replication? It doesn't use Replication Agents, so I'm guessing it's closer to the Sling layer and takes fewer resources to process maybe?Flow-wise it sounds exactly the same, just done through OSGi console configs instead of an admin/authoring...

Views

615

Likes

0

Replies

0
"Shell 1.0 components are deprecated." *WARN* Log Spam
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Anyone else run into a similar situation?12.10.2016 06:29:50.806 *WARN* [0:0:0:0:0:0:0:1 [1476271790802] GET /editor.html/content/my-project/en/home/sample.html HTTP/1.1] libs.granite.ui.components.foundation.admin.page.page$jsp @deprecated /libs/granite/ui/components/foundation/admin/page; Shell 1.0 components are deprecated. 12.10.2016 06:29:50.813 *WARN* [0:0:0:0:0:0:0:1 [1476271790802] GET /editor.html/content/my-project/en/home/sample.html HTTP/1.1] libs.granite.ui.components.foundation.adm...

Views

454

Likes

2

Replies

1
Re: Tag count and References issues for custom tags
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Hi Chandrakanth,I ran into this exact same issue earlier this year (see forum post). While I never ended up creating a /tagging (tagadmin) overlay, I did come up with a component that could be used on a custom admin page to get the accurate usage count.There were a couple HelpX articles created out of that post:https://helpx.adobe.com/experience-manager/using/tagmanager-api-search-tags.htmlhttps://helpx.adobe.com/experience-manager/using/customtags1.html (JSP version)https://helpx.adobe.com/expe...

Views

346

Likes

0

Replies

0
Re: Granite UI "Composite" Form Field
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Per kunal23's comment at the bottom of this post, I could do something like:...but I don't think that'll work when the TouchUI component dialog that I'm including requires a clientlib to work, unless I just need to include that clientlib in the new component's cq:dialog or something.

Views

419

Likes

0

Replies

0
Re: Granite UI "Composite" Form Field
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Yup, thanks so much Scott!Found (sort-of) what I was looking for here: http://experience-aem.blogspot.com/2016/08/aem-62-touch-ui-nested-composite-multifield-store-data-as-json.htmlThe only thing I'm still really unsure of is how to include one composite field in another. The example above has the multi-multifield hardcoded in the dialog. In my situation, that would lead to a LOT of copy/pasting the cq:dialog structure across multiple components. It seems like it was so much simpler with ExtJS x...

Views

404

Likes

0

Replies

0
Granite UI "Composite" Form Field
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Is there such a thing out of the box? Looking at the render.jsp of granite/ui/components/foundation/form/multifield, the comments say the following:"If the field is a composite, it is its responsibility to concatenate the fields into one, before the form gets submitted, and to separate them again on rendering."I'm just wondering if there's some example of this anywhere in the current codebase or if anyone has written one. I've searched for and read all of the forum posts and blog posts online ab...

Views

973

Like

1

Replies

3
Re: How to use an integer value in sightly to iterate loop as many time of value?
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
I don't think you can just do arbitrary number loops, it has to be over an array of SOMETHING. If you really need to, you can specify within the loop to do certain things if the index of that loop is greater than or less than a specific value.Check out the full List spec here (https://github.com/Adobe-Marketing-Cloud/htl-spec/blob/master/SPECIFICATION.md#226-list), and maybe take look at Repeat as well here (https://github.com/Adobe-Marketing-Cloud/htl-spec/blob/master/SPECIFICATION.md#227-repea...

Views

1.7K

Likes

0

Replies

0
Re: Granite UI Documentation Lacking
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Also, one last gripe. The classic widget API documentation wasn't perfect either, but it was so much better for finding out what properties are available on each dialog xtype.

Views

1.1K

Likes

0

Replies

2
Granite UI Documentation Lacking
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Was just going through ExtJS vs matching Granite UI components to find out what the TouchUI equivalents were of some of the xtypes that I'm familiar with. We use the "pathfield" xtype quite heavily in our current projects and I wanted to know more about its TouchUI counterpart: granite/ui/components/foundation/form/pathbrowser. So I pull up the Granite UI documentation and maybe I'm just missing it, but I don't see it anywhere.Also, when trying to use the search box in the Granite UI documentati...

Views

1.2K

Likes

0

Replies

3
Re: ConstraintViolationException {internal}policy is protected. | Eclipse AEM Dev Tools
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
smacdonald2008 wrote... I am checking with internal Adobe people. I have not seen this issue before. Thanks Scott! Our plan is to eventually refactor these to HTL and move structure/layout/policies to a project-specific /conf folder, but for now we need to move these as-is to continue supporting old content, until it can be updated.

Views

2.2K

Likes

0

Replies

2
Re: ConstraintViolationException {internal}policy is protected. | Eclipse AEM Dev Tools
Avatar

Gdubz-57m2mu

Gdubz-57m2mu
- Adobe Experience Manager
Also probably worth mentioning. If I create this dialog in CRX DE Lite and then "Import from server..." into Eclipse, it works just fine. The next time I make a change in Eclipse and it tries to then export the apps module back to the server, that's when there's a problem.

Views

2.2K

Likes

0

Replies

0