page image nodes with unpublished status | Community
Skip to main content
sreenu539
Level 7
Jul 26, 2018 4:41 AM UTC
Solved

page image nodes with unpublished status

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

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
arunpatidar
arunpatidarAccepted solution
New Participant
Jul 26, 2018 8:40 AM UTC

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);

                    

                  }

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

Thanks

Arun

Arun Patidar

2 replies

sreenu539
sreenu539Author
Level 7
Aug 3, 2018 10:12 PM UTC

Thanks Arun.

Translate
arunpatidar
arunpatidarAccepted solution
New Participant
Jul 26, 2018 8:40 AM UTC

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);

                    

                  }

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

Thanks

Arun

Translate
Arun Patidar