Sling documentation has Sling event handling details however there is also support of sling Event Filtering which can be used, Is there any specific reason this is omitted in documentation.
Apache Sling uses and exposes the OSGi Event Admin API package in order to support events. The implementation of the Event Admin API package is provided by the Apache Felix project, the OSGi Framework behind Apache Sling.
The ability to filter events is described in the OSGi specification (see the org.osgi.service.event.EventConstants#EVENT_FILTER) and an example of usage is provided in the Apache Felix documentation regarding registering an event handler.
The specific reason for omitting documenting the filtering feature in Apache Sling is likely that it is already documented in the respective project/specification.
Related
Does Adobe Experience Manager support OAuth 2.0 as a client? I mean AEM connecting with an external application which plays a role of authorization server and resource provider.
I could not find any examples of such usage - AEM is usually presented as an authorization server and resource provider for other client applications.
AEM provides an number of authorization integrations. Maybe you can switch to SAML, which works pretty good out-of-the-box. I once integrated AEM with Keycloak with good results (but using SAML).
Regarding OAuth most documentation is dominated by AEM as an OAuth provider. They integrated Apache Oltu (which is end-of-life anyway).
But AEM provides an OAuth client as well. But it needs a custom extension for each provider. Out-of-the-box are only implementations for Twitter and Facebook available. But there seems also Github and IMS (Identity Management from Adobe Managed Services) to be available.
Please check also Package Share. But I don't know what is available there. And you probably need support from Adobe, to judge the quality and usefulness of such packages.
If you have to implement your own Provider-Extension, the best starting point I found was here:
https://aemcorner.com/adobe-granite-oauth-authentication-handler/
You are basically free to build whatever you want, as AEM is basically nothing else but a Java application. But you might want to keep in mind, that the standard applications of AEM are delivering rendered HTML from the dispatcher in the end. You want to have as little load on the publishers as possible.
So, when authorisation of resources is a technical- or business concern, you might need to dive deeper into SPAs or at least async loading of resources as JSON.
As quote from the documentation:
The built-in web administration GUI is deprecated in InfluxDB 1.2 and is disabled by default. We recommend using the HTTP API or the Command Line Interface to interact with InfluxDB.
Why does it encourage using HTTP API (HTTP method) and CLI, instead of the intuitive Web GUI? What is the benefit of applying this?
The old admin interface is removed in 1.3 since it was largely undeveloped internally. Instead, we've moved all that functionality and much more to Chronograf. Going forward that's where all UI for the various parts of the stack will live. It's also open source.
i am actually analyzing JIRA for my company regarding the functionalities and the different APIs. At the Atlassian Homepage i found two official provided APIs (JAVA API or JIRA REST API).
My further intentions are to program an interface between my stand-alone application and JIRA. The idea is for instance to control the user-management (add, delete, modify user, etc.), project-management (create project, delete, etc.) and other things from this application. Therefore i need a way to interact with JIRA.
Normally i would avoid the REST API and prefer the JAVA API, because other interfaces are even managed by the JAVA API, but i can't find any examples for connecting, adding or modifying workItems in JIRA. I have just found the java api documentation.
https://developer.atlassian.com/jiradev/jira-apis/java-api-policy-for-jira
Would you suggest only the JAVA REST API or are there any good examples for the JAVA API?
Thanks a lot!
It really depends on what you are trying to achieve. The Java API is mostly used to build Jira plugins, while the REST API is used when you want to integrate external applications.
In your case the normal choice would be the REST API.
I have been playing around with the RPC package in Dart which makes it easy to add a Document Discovery service to Dart server.
After a bit of Googling I found out about the API Discovery Service https://developers.google.com/discovery/ which explained how to create client code for a given Discovery Document.
I then found Google Cloud Endpoint which looks like the server end of the a Document Discovery service. Is this true.
My real question is that I would like to use the Document Discovery service on a standard web site that is based on (say) Spring and running (say) an embedded Jetty server? Is this possible or would my application be intertwined with the App Engine Technology?
You application just needs to provide a Document Discovery service.
It shouldn't be to hard to get the information what is expected out of the source of https://pub.dartlang.org/packages/discovery_api_client_generator which is the Dart client which generates Dart client code from discovery documents. As far as I know your service doesn't even need to provide the discovery documents. The discovery_api_client_generator package can also use discovery documents stored locally but the service is of course the preferred way if you want to make it available to everyone.
I would see it as equivalent to SOAP which also allows to create client code from meta-information provided as XML.
Also the shelf_rpc package doesn't need to run on AppEngine or Managed VM. You can run it locally or on any server you want.
As far as I know Spring Integration has out of the box JMX support. What documentation says is that I can obtain numerous statistics regarding channels, routers, etc.
I have the following configuration added to Spring context file:
<context:mbean-server />
<context:mbean-export/>
However, only one element has been auto detected for JMX exposure. It is a simple delayer.
I have multiple flows defined and no more elements are exposed through JMX.
I have no clue what is wrong.
Are there any other configuration changes I need to make?
Thank you for any help.
You need to use <int-jmx:mbean-export> instead.
Sorry for the short answer, but there is no more to say, if already have taken a look into Docs.
However here is a sample on the matter.
UPDATE
H-m. No, wrong sample. See Spring Integration tests.
UPDATE2
<context:mbean-export/> registers MBeans for those Spring Beans which are #ManagedResource. The <int-jmx:mbean-export> goes a bit further and wraps to MBeans almost all Spring Integration components: channels, MessageHandlers, MessageSources.
And yes, adds for them #ManagedMetrics.