Skip to content

Commit a88b02a

Browse files
Merge pull request #97 from francoisledroff/GH-96
GH-96 adding `aem` docs
2 parents 36d9cd7 + c87a6c4 commit a88b02a

File tree

20 files changed

+375
-58
lines changed

20 files changed

+375
-58
lines changed

aem/README.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
# `aem`
22

3-
## Modules
4-
5-
This project is the multi-modules project hosting Adobe I/O Events and AEM connectors and package, it contains:
6-
7-
* [`aio-lib-osgi`](./lib_osgi) is a Java OSGI bundle embedding all the plain old Java `aio-lib-java-*` libraries (as well as their dependencies tree).
8-
* [`aio-aem-core`](./core_aem) is a Java OSGI bundle hosting OSGI Components wrapping [`aio-lib-java-core`](../core) and [`aio-lib-java-ims`](../ims)
9-
* [`aio-event-management`](./events_mgmt_aem) is a Java OSGI bundle hosting OSGI Components wrapping [`aio-lib-java-events-mgmt`](../events_mgmt_aem)
10-
* [`aio-event-publish`](./events_ingress_aem) is a Java OSGI bundle hosting OSGI Components wrapping [`aio-lib-java-events-ingress`](../events_ingress)
11-
* [`aio-event-osgimapping`](./events_osgi_mapping) is a Java OSGI bundle mapping osgi events to Adobe I/O Events
12-
* **[`aio-aem-events`](./aio-aem-events) is an AEM package containing all the OSGI bundles listed above, with their default configuration, enabling AEM and Adobe I/O Events integration.**
3+
This project is a multi-modules project hosting Adobe I/O Events and AEM connectors and package, it contains:
4+
5+
* **[`aio-aem-events`](./aio_aem_events) an AEM package containing all the OSGI bundles listed below, with their default configuration, enabling AEM and Adobe I/O Events integration.**
6+
* [`aio-lib-osgi`](./lib_osgi) a Java OSGI bundle embedding all the plain old Java `aio-lib-java-*` libraries (as well as their dependencies tree).
7+
* [`aio-aem-core`](./core_aem) a Java OSGI bundle wrapping [`aio-lib-java-core`](../core) and [`aio-lib-java-ims`](../ims)
8+
* [`aio-aem-events-mgmt`](./events_mgmt_aem) a Java OSGI bundle wrapping [`aio-lib-java-events-mgmt`](../events_mgmt_aem)
9+
* [`aio-aem-events-publish`](./events_ingress_aem) a Java OSGI bundle wrapping [`aio-lib-java-events-ingress`](../events_ingress)
10+
* [`aio-aem-events-osgi-mapping`](./events_osgi_mapping) a Java OSGI bundle mapping osgi events to Adobe I/O Events
1311

1412
## Builds
1513

aem/aio_aem_events/README.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,29 @@ configurations, enabling AEM and Adobe I/O Events integration.
55

66
## Configuration
77

8-
This package expects your Adobe Developer Console configured with OSGI configuration
9-
see [core_aem documentation](../core_aem/README.md)
8+
This package expects your Adobe Developer Console defined with an OSGI configuration
9+
see [aio-aem-core documentation](../core_aem/README.md)
1010

1111
## Status Checks
1212

13-
This packages holds bundles that come with status servlet:
14-
* from [/bin/aio/workspace.json](http://localhost:4502/bin/aio/workspace.json)
15-
you can `GET` the status of your workspace configuration (see [core_aem documentation](../core_aem/README.md))
16-
17-
http://localhost:4502/bin/aio/provider_config.json
18-
http://localhost:4502/bin/aio/provider.json
19-
http://localhost:4502/bin/aio/publish_event.json
20-
http://localhost:4502/bin/aio/event_metadata.json
21-
http://localhost:4502/bin/aio/osgi_event_metadata.json
22-
13+
This packages holds bundles that come with a few status endpoints
14+
* [aio-aem-core](../core_aem) endpoints
15+
* from [/bin/aio/workspace.json](http://localhost:4502/bin/aio/workspace.json)
16+
you can `GET` the status of your workspace configuration
17+
* [aio-aem-events-mgmt](../events_mgmt_aem) endpoints
18+
* from [bin/aio/events/provider_config.json](http://localhost:4502/bin/aio/events/provider_config.json)
19+
you can `GET` the status of your Adobe I/O Events provider configuration,
20+
* from [bin/aio/events/provider.json](http://localhost:4502/bin/aio/events/provider.json)
21+
you can `GET` the status of your Adobe I/O Events provider registration,
22+
* from [bin/aio/events/event_metadata.json](http://localhost:4502/bin/aio/events/event_metadata.json)
23+
you can `GET` the status of your (12) Adobe I/O Events Event Metadata registration,
24+
* [aio-aem-events-publish](../events_ingress_aem) endpoint
25+
* from [/bin/aio/events/publish_ping.json](http://localhost:4502/bin/aio/events/publish_ping.json)
26+
you can `GET` the status of the Adobe I/O Events Publish service
27+
* [aio-aem-events-osgi-mapping](../events_osgi_mapping) endpoint
28+
* from [/bin/aio/events/osgi_event_mapping.json](http://localhost:4502/bin/aio/events/osgi_event_mapping.json)
29+
you can `GET` the status of your OSGI to Adobe I/O Events Mappings services.
30+
2331
## Builds
2432

2533
This Library is build with [maven](https://maven.apache.org/)

aem/aio_aem_events/pom.xml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -151,17 +151,17 @@
151151
</embedded>
152152
<embedded>
153153
<groupId>com.adobe.aio.aem</groupId>
154-
<artifactId>aio-event-management</artifactId>
154+
<artifactId>aio-aem-events-mgmt</artifactId>
155155
<target>/apps/aio-aem-events/install</target>
156156
</embedded>
157157
<embedded>
158158
<groupId>com.adobe.aio.aem</groupId>
159-
<artifactId>aio-event-publish</artifactId>
159+
<artifactId>aio-aem-events-publish</artifactId>
160160
<target>/apps/aio-aem-events/install</target>
161161
</embedded>
162162
<embedded>
163163
<groupId>com.adobe.aio.aem</groupId>
164-
<artifactId>aio-event-osgimapping</artifactId>
164+
<artifactId>aio-aem-events-osgi-mapping</artifactId>
165165
<target>/apps/aio-aem-events/install</target>
166166
</embedded>
167167
</embeddeds>
@@ -172,17 +172,17 @@
172172
<dependencies>
173173
<dependency>
174174
<groupId>com.adobe.aio.aem</groupId>
175-
<artifactId>aio-event-osgimapping</artifactId>
175+
<artifactId>aio-aem-events-osgi-mapping</artifactId>
176176
<version>${project.version}</version>
177177
</dependency>
178178
<dependency>
179179
<groupId>com.adobe.aio.aem</groupId>
180-
<artifactId>aio-event-publish</artifactId>
180+
<artifactId>aio-aem-events-publish</artifactId>
181181
<version>${project.version}</version>
182182
</dependency>
183183
<dependency>
184184
<groupId>com.adobe.aio.aem</groupId>
185-
<artifactId>aio-event-management</artifactId>
185+
<artifactId>aio-aem-events-mgmt</artifactId>
186186
<version>${project.version}</version>
187187
</dependency>
188188
<dependency>
@@ -226,19 +226,19 @@
226226
</embedded>
227227
<embedded>
228228
<groupId>com.adobe.aio.aem</groupId>
229-
<artifactId>aio-event-management</artifactId>
229+
<artifactId>aio-aem-events-mgmt</artifactId>
230230
<classifier>aem65</classifier>
231231
<target>/apps/aio-aem-events/install</target>
232232
</embedded>
233233
<embedded>
234234
<groupId>com.adobe.aio.aem</groupId>
235-
<artifactId>aio-event-publish</artifactId>
235+
<artifactId>aio-aem-events-publish</artifactId>
236236
<classifier>aem65</classifier>
237237
<target>/apps/aio-aem-events/install</target>
238238
</embedded>
239239
<embedded>
240240
<groupId>com.adobe.aio.aem</groupId>
241-
<artifactId>aio-event-osgimapping</artifactId>
241+
<artifactId>aio-aem-events-osgi-mapping</artifactId>
242242
<classifier>aem65</classifier>
243243
<target>/apps/aio-aem-events/install</target>
244244
</embedded>
@@ -250,19 +250,19 @@
250250
<dependencies>
251251
<dependency>
252252
<groupId>com.adobe.aio.aem</groupId>
253-
<artifactId>aio-event-osgimapping</artifactId>
253+
<artifactId>aio-aem-events-osgi-mapping</artifactId>
254254
<version>${project.version}</version>
255255
<classifier>aem65</classifier>
256256
</dependency>
257257
<dependency>
258258
<groupId>com.adobe.aio.aem</groupId>
259-
<artifactId>aio-event-publish</artifactId>
259+
<artifactId>aio-aem-events-publish</artifactId>
260260
<version>${project.version}</version>
261261
<classifier>aem65</classifier>
262262
</dependency>
263263
<dependency>
264264
<groupId>com.adobe.aio.aem</groupId>
265-
<artifactId>aio-event-management</artifactId>
265+
<artifactId>aio-aem-events-mgmt</artifactId>
266266
<version>${project.version}</version>
267267
<classifier>aem65</classifier>
268268
</dependency>

aem/core_aem/README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
# `com.adobe.aio.aem.core`
1+
# `aio-aem-core`
22

3-
`com.adobe.aio.aem.core` is a Java OSGI bundle hosting OSGI Components
3+
`aio-aem-core` is a Java OSGI bundle hosting OSGI Components
44
wrapping [`aio-lib-java-core`](../../core) and [`aio-lib-java-ims`](../../ims)
55

6-
## Expected `Workspace` osgi configuration
6+
It hosts the services to
7+
* get the Adobe Developer Console Workspace
8+
* get Access token (from JWT exchange token flow) from Adobe Identity Management System (IMS)
79

8-
This bundle expects a [`Workspace Configuration`](src/main/java/com/adobe/aio/aem/workspace/ocd/WorkspaceConfig.java)
10+
11+
## Configuration
12+
13+
This bundle expects a Adobe Developer Console [`Workspace` Configuration](src/main/java/com/adobe/aio/aem/workspace/ocd/WorkspaceConfig.java)
914
defined as an OSGI configuration.
1015
* for more details about the `Worskspace` configuration: check our [`aio-lib-java-core` documentation](../../core/README.md).
1116
* for more details about the `aio.encoded.pkcs8` private key configuration: check our [`aio-lib-java-ims` documentation](../../ims/README.md)
@@ -31,7 +36,7 @@ This bundle comes with a status servlet:
3136
from [/bin/aio/workspace.json](http://localhost:4502/bin/aio/workspace.json)
3237
you can `GET` the status of your workspace configuration.
3338

34-
If valid, the status json payload should like that :
39+
The response json payload should like this:
3540

3641
{
3742
"status": "up",

aem/events_ingress_aem/README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,40 @@
1-
# `com.adobe.aio.aem.event.publish`
1+
# `aio-aem-events-publish`
22

3-
`com.adobe.aio.aem.event.publish` is a Java OSGI bundle hosting OSGI Components
3+
`aio-aem-events-publish` is a Java OSGI bundle hosting OSGI Components
44
wrapping [`aio-lib-java-events-ingress`](../../events_ingress)
55

6+
It hosts the services to
7+
* publish events to Adobe I/O Events
8+
* either programmatically
9+
* or through Apache Sling Jobs (using the `aio/events` topic)
10+
11+
## Configuration
12+
13+
This bundle leverages
14+
* [aio-aem-core](../core_aem) which expects a Workspace Adobe Developer Console `Workspace` Configuration
15+
* [aio-aem-events-mgmt](../events_mgmt_aem) holding its own (optional) configurations
16+
17+
## Status Check
18+
19+
This bundle comes with a status endpoint:
20+
from [/bin/aio/events/publish_ping.json](http://localhost:4502/bin/aio/events/publish_ping.json)
21+
you can `GET` the status of the Adobe I/O Events Publish service
22+
(it will actually trigger the publication of a `ping` event)
23+
24+
The response json payload should like this:
25+
26+
{
27+
"status": "up",
28+
"details": {
29+
"aio_event_provider_status": ...,
30+
"aio_ping_published": true,
31+
"aio_publish_url": "https://eventsingress.adobe.io",
32+
"workspace_status": ...
33+
},
34+
"error": null
35+
}
36+
37+
638
## Builds
739

840
This Library is build with [maven](https://maven.apache.org/)

aem/events_ingress_aem/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<version>0.0.35-SNAPSHOT</version>
2323
</parent>
2424

25-
<artifactId>aio-event-publish</artifactId>
25+
<artifactId>aio-aem-events-publish</artifactId>
2626
<name>Adobe I/O - AEM Events Publishing - OSGI bundle</name>
2727
<description>Adobe I/O - AEM Events Publishing - OSGI bundle</description>
2828

@@ -35,7 +35,7 @@
3535
</dependency>
3636
<dependency>
3737
<groupId>com.adobe.aio.aem</groupId>
38-
<artifactId>aio-event-management</artifactId>
38+
<artifactId>aio-aem-events-mgmt</artifactId>
3939
<scope>provided</scope>
4040
<version>${project.version}</version>
4141
</dependency>

aem/events_ingress_aem/src/main/bnd/aio-event-publish.bnd renamed to aem/events_ingress_aem/src/main/bnd/aio-aem-events-publish.bnd

File renamed without changes.

aem/events_ingress_aem/src/main/java/com/adobe/aio/aem/event/publish/EventPublishServiceStatusServlet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.osgi.service.component.annotations.Reference;
2020

2121
@Component(immediate = true, service = Servlet.class)
22-
@SlingServletPaths("/bin/aio/publish_event.json")
22+
@SlingServletPaths("/bin/aio/events/publish_ping.json")
2323
public class EventPublishServiceStatusServlet extends StatusServlet {
2424

2525
@Reference

aem/events_mgmt_aem/README.md

Lines changed: 103 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,108 @@
1-
# `com.adobe.aio.aem.event.management`
1+
# `aio-aem-events-mgmt`
22

3-
`com.adobe.aio.aem.event.management` is a Java OSGI bundle hosting OSGI Components
4-
wrapping [`aio-lib-java-events-mgmt`](../../events_mgmt_aem)
3+
`aio-aem-events-mgmt` is a Java OSGI bundle hosting OSGI Components
4+
wrapping [`aio-lib-java-events-mgmt`](../../events_mgmt)
55

6+
It hosts the services to
7+
* register the AEM instance/cluster on which is is deployed as an Adobe I/O Events Provider
8+
* by default it will use the `author` [Externalizer](https://developer.adobe.com/experience-manager/reference-materials/6-5/javadoc/com/day/cq/commons/Externalizer.html) configuration to compute the AEM rootUrl,
9+
Adobe I/O Events provider instanceId, label and description
10+
* register its various event metadata (see configuration below) against Adobe I/O Events
11+
12+
## Configuration
13+
14+
This bundle leverages [aio-aem-core](../core_aem) which expects a Workspace Adobe Developer Console `Workspace` Configuration
15+
16+
This bundle will look up [Adobe I/O Event Metadata OSGI configuration](src/main/java/com/adobe/aio/aem/event/management/ocd/EventMetadataConfig.java):
17+
to drive the event metadata registration against Adobe I/O Events.
18+
19+
Confer the [aem-io-events](../aio_aem_events) package,
20+
where we added a [`ping` Event Metadata configuration](../aio_aem_events/src/cs/content/jcr_root/apps/aio-aem-events/osgiconfig/config/com.adobe.aio.aem.event.management.internal.EventMetadataSupplierImpl-ping.cfg.json)
21+
22+
{
23+
"aio.event.code": "ping",
24+
"aio.event.label": "ping",
25+
"aio.event.description": "ping event"
26+
}
27+
28+
For advanced use case you may also tune various other configurations: set for instance the externalizer name to `publish` instead of `author`.
29+
30+
## Status Check
31+
32+
This bundle comes with a few status endpoints:
33+
34+
### Adobe I/O Events Provider configuration check
35+
36+
From [bin/aio/events/provider_config.json](http://localhost:4502/bin/aio/events/provider_config.json)
37+
you can `GET` the status of your Adobe I/O Events provider configuration.
38+
39+
The response json payload should like this:
40+
41+
{
42+
"status": "up",
43+
"details": {
44+
"root_url": "https://author-p1234-e5678.adobeaemcloud.com/",
45+
"provider_input_model": {
46+
"label": "author-p1234-e5678",
47+
"description": "AEM author-p1234-e5678",
48+
"instance_id": "author-p1234-e5678",
49+
"provider_metadata": "aem",
50+
"docs_url": "https://developer.adobe.com/events/docs/guides/using/aem/"
51+
},
52+
"externalizer_name": "author"
53+
},
54+
"error": null
55+
}
56+
57+
### Adobe I/O Events Provider registration check
58+
59+
From [bin/aio/events/provider.json](http://localhost:4502/bin/aio/events/provider.json)
60+
you can `GET` the status of your Adobe I/O Events provider registration.
61+
62+
The response json payload should like this:
63+
64+
{
65+
"status": "up",
66+
"details": {
67+
"provider_already_registered": true,
68+
"registered_provider": {
69+
"id": "...",
70+
...
71+
},
72+
...
73+
},
74+
"error": null
75+
}
76+
77+
### Adobe I/O Events Event Metadata registration check
78+
79+
From [bin/aio/events/event_metadata.json](http://localhost:4502/bin/aio/events/event_metadata.json)
80+
you can `GET` the status of your Adobe I/O Events Event Metadata registration.
81+
82+
The response json payload should like this:
83+
84+
{
85+
"status": "up",
86+
"details": {
87+
"size": "12",
88+
"event_metadata": {
89+
"ping": {
90+
"configuredEventMetadata": {
91+
"event_code": "ping",
92+
...
93+
},
94+
"registeredEventMetadata": {
95+
"event_code": "ping",
96+
...
97+
},
98+
"error": null,
99+
"up": true
100+
},
101+
...
102+
}
103+
"error": null
104+
}
105+
6106
## Builds
7107

8108
This Library is build with [maven](https://maven.apache.org/)

aem/events_mgmt_aem/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<version>0.0.35-SNAPSHOT</version>
2323
</parent>
2424

25-
<artifactId>aio-event-management</artifactId>
25+
<artifactId>aio-aem-events-mgmt</artifactId>
2626
<name>Adobe I/O - AEM Events Management - OSGI bundle</name>
2727
<description>Adobe I/O - AEM Events Management - OSGI bundle</description>
2828

0 commit comments

Comments
 (0)