Skip to content

Commit

Permalink
Merge branch 'master' into feature/marketo-form
Browse files Browse the repository at this point in the history
  • Loading branch information
klcodanr committed Nov 11, 2019
2 parents 9e7cc33 + 41047ce commit 01f8ef3
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 2 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com)
<!-- Keep this up to date! After a release, change the tag name to the latest release -->
[unreleased changes details]: https://github.com/Adobe-Consulting-Services/acs-aem-commons/compare/acs-aem-commons-4.3.2...HEAD

### Fixed
- #2078 - Using the WorkflowPackageManager required read access to /(var/etc)/workflow/packages (fixes #2019)

## [4.3.4] - 2019-10-16

### Added
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@
import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.commons.JcrUtils;
import org.apache.sling.api.SlingConstants;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.commons.osgi.PropertiesUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -49,6 +51,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

Expand Down Expand Up @@ -85,6 +88,13 @@ public class WorkflowPackageManagerImpl implements WorkflowPackageManager {
private static final String[] DEFAULT_WF_PACKAGE_TYPES = {"cq:Page", "cq:PageContent", "dam:Asset"};

private String[] workflowPackageTypes = DEFAULT_WF_PACKAGE_TYPES;

private static final String SERVICE_NAME = "workflowpackagemanager-service";
private static final Map<String, Object> AUTH_INFO;

static {
AUTH_INFO = Collections.singletonMap(ResourceResolverFactory.SUBSERVICE, (Object) SERVICE_NAME);
}

@Property(label = "Workflow Package Types",
description = "Node Types allowed by the WF Package. Default: cq:Page, cq:PageContent, dam:Asset",
Expand All @@ -94,6 +104,11 @@ public class WorkflowPackageManagerImpl implements WorkflowPackageManager {

@Reference
private ResourceCollectionManager resourceCollectionManager;

@Reference
ResourceResolverFactory resourceResolverFactory;

private String bucketPath;

/**
* {@inheritDoc}
Expand All @@ -113,7 +128,7 @@ public final Page create(final ResourceResolver resourceResolver, String bucketS
final Session session = resourceResolver.adaptTo(Session.class);
final PageManager pageManager = resourceResolver.adaptTo(PageManager.class);

String bucketPath = getBucketPath(resourceResolver);


if (StringUtils.isNotBlank(bucketSegment)) {
bucketPath += "/" + bucketSegment;
Expand Down Expand Up @@ -274,5 +289,14 @@ private String getBucketPath(final ResourceResolver resourceResolver) {
protected final void activate(final Map<String, String> config) {
workflowPackageTypes =
PropertiesUtil.toStringArray(config.get(PROP_WF_PACKAGE_TYPES), DEFAULT_WF_PACKAGE_TYPES);
try (ResourceResolver resolver = resourceResolverFactory.getServiceResourceResolver(AUTH_INFO)) {
bucketPath = getBucketPath(resolver);
log.debug("using {} as bucket path for wf packages",bucketPath);
} catch (LoginException e) {
log.error("Cannot determine bucket path for WorkflowPackageManager, do not activate this service",e);
// this service must not get activated
throw new IllegalStateException(e);
}

}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="sling:OsgiConfig"
user.mapping="[com.adobe.acs.acs-aem-commons-bundle:ensure-oak-index=acs-commons-ensure-oak-index-service,com.adobe.acs.acs-aem-commons-bundle:email-service=acs-commons-email-service,com.adobe.acs.acs-aem-commons-bundle:httpcache-jcr-storage-service=acs-commons-httpcache-jcr-storage-service,com.adobe.acs.acs-aem-commons-bundle:review-task-asset-mover=acs-commons-review-task-asset-mover-service,com.adobe.acs.acs-aem-commons-bundle:error-page-handler=acs-commons-error-page-handler-service,com.adobe.acs.acs-aem-commons-bundle:form-helper=acs-commons-form-helper-service,com.adobe.acs.acs-aem-commons-bundle:dispatcher-flush=acs-commons-dispatcher-flush-service,com.adobe.acs.acs-aem-commons-bundle:package-replication-status-event-listener=acs-commons-package-replication-status-event-service,com.adobe.acs.acs-aem-commons-bundle:component-error-handler=acs-commons-component-error-handler-service,com.adobe.acs.acs-aem-commons-bundle:system-notifications=acs-commons-system-notifications-service,com.adobe.acs.acs-aem-commons-bundle-twitter:twitter-updater=acs-commons-twitter-updater-service,com.adobe.acs.acs-aem-commons-bundle:workflow-remover=acs-commons-workflow-remover-service,com.adobe.acs.acs-aem-commons-bundle:bulk-workflow=acs-commons-bulk-workflow-service,com.adobe.acs.acs-aem-commons-bundle:bulk-workflow-runner=workflow-process-service,,com.adobe.acs.acs-aem-commons-bundle:ensure-service-user=acs-commons-ensure-service-user-service,com.adobe.acs.acs-aem-commons-bundle:shared-component-props=acs-commons-shared-component-props-service,com.adobe.acs.acs-aem-commons-bundle:manage-controlled-processes=acs-commons-manage-controlled-processes-service,com.adobe.acs.acs-aem-commons-bundle:automatic-package-replicator=acs-commons-automatic-package-replicator-service,com.adobe.acs.acs-aem-commons-bundle:on-deploy-scripts=acs-commons-on-deploy-scripts-service,com.adobe.acs.acs-aem-commons-bundle:remote-assets=acs-commons-remote-assets-service]"/>
user.mapping="[com.adobe.acs.acs-aem-commons-bundle:ensure-oak-index=acs-commons-ensure-oak-index-service,com.adobe.acs.acs-aem-commons-bundle:email-service=acs-commons-email-service,com.adobe.acs.acs-aem-commons-bundle:httpcache-jcr-storage-service=acs-commons-httpcache-jcr-storage-service,com.adobe.acs.acs-aem-commons-bundle:review-task-asset-mover=acs-commons-review-task-asset-mover-service,com.adobe.acs.acs-aem-commons-bundle:error-page-handler=acs-commons-error-page-handler-service,com.adobe.acs.acs-aem-commons-bundle:form-helper=acs-commons-form-helper-service,com.adobe.acs.acs-aem-commons-bundle:dispatcher-flush=acs-commons-dispatcher-flush-service,com.adobe.acs.acs-aem-commons-bundle:package-replication-status-event-listener=acs-commons-package-replication-status-event-service,com.adobe.acs.acs-aem-commons-bundle:component-error-handler=acs-commons-component-error-handler-service,com.adobe.acs.acs-aem-commons-bundle:system-notifications=acs-commons-system-notifications-service,com.adobe.acs.acs-aem-commons-bundle-twitter:twitter-updater=acs-commons-twitter-updater-service,com.adobe.acs.acs-aem-commons-bundle:workflow-remover=acs-commons-workflow-remover-service,com.adobe.acs.acs-aem-commons-bundle:bulk-workflow=acs-commons-bulk-workflow-service,com.adobe.acs.acs-aem-commons-bundle:bulk-workflow-runner=workflow-process-service,,com.adobe.acs.acs-aem-commons-bundle:ensure-service-user=acs-commons-ensure-service-user-service,com.adobe.acs.acs-aem-commons-bundle:shared-component-props=acs-commons-shared-component-props-service,com.adobe.acs.acs-aem-commons-bundle:manage-controlled-processes=acs-commons-manage-controlled-processes-service,com.adobe.acs.acs-aem-commons-bundle:automatic-package-replicator=acs-commons-automatic-package-replicator-service,com.adobe.acs.acs-aem-commons-bundle:on-deploy-scripts=acs-commons-on-deploy-scripts-service,com.adobe.acs.acs-aem-commons-bundle:remote-assets=acs-commons-remote-assets-service,com.adobe.acs.acs-aem-commons-bundle:workflowpackagemanager-service=acs-commons-workflowpackagemanager-service]"/>
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,14 @@
jcr:primaryType="cq:ClientLibraryFolder"
jsProcessor="[default:none,min:gcc]"
categories="[acs-commons.widgets.showhidedialogfields]"/>

<!--
Wrapper Client Library definition:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:ClientLibraryFolder"
jsProcessor="[default:none,min:gcc]"
allowProxy="{Boolean}true"
categories="[cq.authoring.dialog,granite.ui.coral.foundation.addon.coral2]"
embed="[acs-commons.widgets.showhidedialogfields]"/>
-->
2 changes: 2 additions & 0 deletions ui.content/src/main/content/META-INF/vault/filter.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
</filter>
<filter root="/etc/rep:policy"/>
<filter root="/etc/workflow/instances/rep:policy"/>
<filter root="/etc/workflow/packages/rep:policy"/>
<filter root="/home/groups/rep:policy"/>
<filter root="/home/users/rep:policy"/>
<filter root="/home/users/system/acs-commons"/>
Expand All @@ -101,4 +102,5 @@
<include pattern="/var/acs-commons/mcp"/>
</filter>
<filter root="/var/workflow/instances/rep:policy"/>
<filter root="/var/workflow/packages/rep:policy"/>
</workspaceFilter>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal"
jcr:primaryType="rep:ACL">
<allow
jcr:primaryType="rep:GrantACE"
rep:principalName="acs-commons-workflowpackagemanager-service"
rep:privileges="{Name}[jcr:read]"/>
</jcr:root>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal"
jcr:primaryType="rep:SystemUser"
jcr:uuid="e7ba4bca-1a46-3e8f-ab05-dab75889c48a"
rep:authorizableId="acs-commons-workflowpackagemanager-service"
rep:principalName=" acs-commons-workflowpackagemanager-service"
/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal"
jcr:primaryType="rep:ACL">
<allow
jcr:primaryType="rep:GrantACE"
rep:principalName="acs-commons-workflowpackagemanager-service"
rep:privileges="{Name}[jcr:read]"/>
</jcr:root>

0 comments on commit 01f8ef3

Please sign in to comment.