Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session
SOLVED

page image nodes with unpublished status

Avatar

Level 7

I know for a page or for a dam asset, can check cq:lastReplicationStatus to know whether a resource  ( page or dam asset only) replication status. (published, unpublished etc)

Is there a way to know when I trigger a workflow on a page and page has some images that are not yet published ?

Thanks,

Sree

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi Yes,

You can find assets reference in a page using AssetReferenceSearch and

Replication status of page or assets either by Replicator or Node API.

Example servlet which find all the assets referred in a page and their replication status

                  Resource resource = req.getResourceResolver().getResource(pagePath+"/"+JcrConstants.JCR_CONTENT);

                  Node node = resource.adaptTo(Node.class);

                  AssetReferenceSearch assetReference = new AssetReferenceSearch(node,"/content/dam",req.getResourceResolver());

                  for (Map.Entry<String, Asset> assetMap : assetReference.search().entrySet()) {

                  //    String val = assetMap.getKey();

                      Asset asset = assetMap.getValue();

                      Resource resource2 = req.getResourceResolver().getResource(asset.getPath()+"/"+JcrConstants.JCR_CONTENT);

                      Node assetsNode = resource2.adaptTo(Node.class);

                      String replicationStstus ="NOT REPLICATED YET";

                      if(assetsNode.hasProperty(REPLICATION_PROPERTY)) {

                       replicationStatus = assetsNode.getProperty(REPLICATION_PROPERTY).getString();

                      }

                      log.debug("Assets "+asset.getPath() + " --- Replication Status "+replicationStatus);

                    

                  }

Screen Shot 2018-07-26 at 10.41.20 AM.png

aem63app-repo/GetPageAsset.java at master · arunpatidar02/aem63app-repo · GitHub

Thanks

Arun



Arun Patidar

View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor

Hi Yes,

You can find assets reference in a page using AssetReferenceSearch and

Replication status of page or assets either by Replicator or Node API.

Example servlet which find all the assets referred in a page and their replication status

                  Resource resource = req.getResourceResolver().getResource(pagePath+"/"+JcrConstants.JCR_CONTENT);

                  Node node = resource.adaptTo(Node.class);

                  AssetReferenceSearch assetReference = new AssetReferenceSearch(node,"/content/dam",req.getResourceResolver());

                  for (Map.Entry<String, Asset> assetMap : assetReference.search().entrySet()) {

                  //    String val = assetMap.getKey();

                      Asset asset = assetMap.getValue();

                      Resource resource2 = req.getResourceResolver().getResource(asset.getPath()+"/"+JcrConstants.JCR_CONTENT);

                      Node assetsNode = resource2.adaptTo(Node.class);

                      String replicationStstus ="NOT REPLICATED YET";

                      if(assetsNode.hasProperty(REPLICATION_PROPERTY)) {

                       replicationStatus = assetsNode.getProperty(REPLICATION_PROPERTY).getString();

                      }

                      log.debug("Assets "+asset.getPath() + " --- Replication Status "+replicationStatus);

                    

                  }

Screen Shot 2018-07-26 at 10.41.20 AM.png

aem63app-repo/GetPageAsset.java at master · arunpatidar02/aem63app-repo · GitHub

Thanks

Arun



Arun Patidar