Node.js / UPS
by Matthias Wessendorf
Hi,
I tried to build the 1.0.0.Final TAG, but I am getting:
[INFO] --- frontend-maven-plugin:0.0.15:npm (npm install) @
unifiedpush-admin-ui ---
[INFO] Running 'npm install --color=false' in
/Users/matzew/TEMP/CAT_IDs/admin-ui
[INFO] npm WARN package.json ups-admin-ui(a)0.0.0 No repository field.
[INFO]
[INFO] --- frontend-maven-plugin:0.0.15:grunt (grunt build) @
unifiedpush-admin-ui ---
[INFO] Running 'grunt dist --no-color' in
/Users/matzew/TEMP/CAT_IDs/admin-ui
[INFO] >> Local Npm module "grunt-cli" not found. Is it installed?
[INFO]
[INFO] Running "bower:install" (bower) task
[INFO] Fatal error: Unable to find suitable version for angular
[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
Does the "Unable to find suitable version for angular" mean, we are no
longer able to build the console?
In worst case I could just comment out the module, on the root pom, and it
would be included from my local (or remote) repo, but the actual message is
a bit of a scary thing :-)
-Matthias
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
10 years
Cordova Oauth2 plugin release
by Erik Jan de Wit
Hi,
We have released a new plugin for oauth2 version 1.0 this first version
support google, keycloak and facebook as oauth providers for android and
iOS. More to come stay tuned...
Cheers,
Erik Jan
10 years
AGPUSH-1075 / Automatic DB Migrations
by Douglas Campos
Howdy!
I was looking at Erik's PR[1] and was wondering about the implications
of automatic DB migrations during app startup. I've got a lot of burns
from this in the past, including:
- DDL statements being disabled in production
- Massive lock on a DB during an accidental restart which triggered the
changes to happen
- failed migration which ended up with the app having a model mismatch.
I love migrations, I'm just throwing this here to make sure we're aware
of the potential problems that incur with us running them automagically
during app startup.
Erik pointed out this shouldn't be a problem for openshift-like
deployments, but what about the "enterprise" side of the house?
Thoughts?
[1]:https://github.com/aerogear/aerogear-unifiedpush-server/pull/448
--
qmx
10 years
Android 2.0.0 Release and Travis
by Summers Pittman
As we mentioned in the meeting, we are having some blocking issues with
Travis and the build. Basically running the emulator and the build uses
more than 3 GiB of memory that we get from the VM and it gets killed.
Passos and I are trying to refactor the build to get around this but it
is still being difficult.
In the meanwhile, dev must still go on (we've lost most of a week on
this issue). We would like to shift the focus from fixing Travis to
getting our docs finalized and publishing a RC of AGDROID. The only
difference between the RC and Final will be reliable continuous integration.
Wdyt?
--
Summers Pittman
>>Phone:404 941 4698
>>Java is my crack.
10 years
Unable to resolve realm public key remotely
by Amit Ranjan
I am trying to deploy aerogear-unifiedpush-server-1.0.2 on
wildfly-8.1.0.Final. Following is my setup: Aerogear + wildfly deployed on
server Linux 2.6.32-358.el6.x86_64. I am trying to access the server through
web browser running on my windows dev machine.
I am getting following error when trying to access https//ip:8443/ag-push.
However, I can access the https://ip:8443/auth for aerogere relm.
11:42:20,307 ERROR [io.undertow.request] (default task-1) UT005023:
Exception handling request to /ag-push/index.htm:
java.lang.RuntimeException: Unable to resolve realm public key remotely
at
org.keycloak.adapters.AdapterDeploymentContext.resolveRealmKey(AdapterDeploymentContext.java:94)
[keycloak-adapter-core-1.0.4.Final.jar:]
at
org.keycloak.adapters.AdapterDeploymentContext.resolveDeployment(AdapterDeploymentContext.java:55)
[keycloak-adapter-core-1.0.4.Final.jar:]
at
org.keycloak.adapters.undertow.ServletKeycloakAuthMech.authenticate(ServletKeycloakAuthMech.java:54)
[keycloak-undertow-adapter-1.0.4.Final.jar:]
at
io.undertow.security.impl.SecurityContextImpl$AuthAttempter.transition(SecurityContextImpl.java:281)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.impl.SecurityContextImpl$AuthAttempter.transition(SecurityContextImpl.java:298)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.impl.SecurityContextImpl$AuthAttempter.access$100(SecurityContextImpl.java:268)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.impl.SecurityContextImpl.attemptAuthentication(SecurityContextImpl.java:131)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.impl.SecurityContextImpl.authTransition(SecurityContextImpl.java:106)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.impl.SecurityContextImpl.authenticate(SecurityContextImpl.java:99)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:54)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
org.keycloak.adapters.undertow.ServletPreAuthActionsHandler.handleRequest(ServletPreAuthActionsHandler.java:69)
[keycloak-undertow-adapter-1.0.4.Final.jar:]
at
org.keycloak.adapters.undertow.ServletPreAuthActionsHandler.handleRequest(ServletPreAuthActionsHandler.java:69)
[keycloak-undertow-adapter-1.0.4.Final.jar:]
at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
[undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
[undertow-core-1.0.15.Final.jar:1.0.15.Final]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[rt.jar:1.7.0_09-icedtea]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[rt.jar:1.7.0_09-icedtea]
at java.lang.Thread.run(Thread.java:722)
[rt.jar:1.7.0_09-icedtea] Caused by:
org.apache.http.conn.HttpHostConnectException: Connection to
https://125.21.243.59:8443 refused
at
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:151)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:125)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
[httpclient-4.2.1.jar:4.2.1]
at
org.keycloak.adapters.AdapterDeploymentContext.resolveRealmKey(AdapterDeploymentContext.java:65)
[keycloak-adapter-core-1.0.4.Final.jar:]
... 32 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
[rt.jar:1.7.0_09-icedtea]
at
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
[rt.jar:1.7.0_09-icedtea]
at
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
[rt.jar:1.7.0_09-icedtea]
at
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
[rt.jar:1.7.0_09-icedtea]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
[rt.jar:1.7.0_09-icedtea]
at java.net.Socket.connect(Socket.java:579)
[rt.jar:1.7.0_09-icedtea]
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
[jsse.jar:1.7.0_09-icedtea]
at
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:549)
[httpclient-4.2.1.jar:4.2.1]
at
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
[httpclient-4.2.1.jar:4.2.1]
... 40 more
Would be really greatful if you can help me out on this.
--
View this message in context: http://aerogear-dev.1069024.n5.nabble.com/Unable-to-resolve-realm-public-...
Sent from the aerogear-dev mailing list archive at Nabble.com.
10 years
[UPS] Geolocation Support
by Sebastien Blanc
Hi Folks !
During our last f2f we agreed on adding some geolocation support for the
next UnifiedPush Release (1.1). I would like to start here a thread to
discuss this topic.
Let's keep in mind : *Crawl, Walk, Run*
I would like to start with a concrete proposition and initiate the
discussions from there :
<https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#installations>
Installations
<https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#model-change>Model
Change
The idea is to add 2 new fields to the Installation Object :
double longitude;
double latitude;
These field *should* be optional !
<https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#registration>
Registration
When the device registers, along with alias, categories etc ... it will
also be possible to pass a latitude and longitude.
Later, we will probably offer a endpoint to update these properties. PUT
/registry/device/{token}
<https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#sender>Sender
<https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#server-side>Server
Side
We need to extend the current sender API to be able to add geolocation as a
criteria. I see that as something like :
{
"message":{
"alert":"HELLO!
},
"criteria":{
"geolocation":
{
"latitude" : 40.2566
"longitude": 2.36556
"within" : 5
"unit" : "Km" // optional, default is Km
}
}
}
In this example, the Push Notification will be sent only to devices within
a radius of 5 km of the supplied location.
On the implementation side, I think it make sense to use Hibernate Search
since it has nice support forSpatial queries
<https://docs.jboss.org/hibernate/search/4.2/reference/en-US/html/spatial....>
.
<https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#sender-client>Sender
Client
The different Sender Clients (Java, Node.js, .net) should be updated
accordingly.
<https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#client-sdks>Client
SDKs
In this fisrt iteration, the registration code would to be updated to
include latitude and longitude for :
- iOS (Including Safari ? )
- Android ( Including Chrome Apps ?)
- JS UPS-SPS Lib
- Cordova Plugin
- Amazon
- Windows
Retrieving the current position of the device is not in scope of this first
version, later we could offer some features around that.
There are some jiras to track these tasks :
https://issues.jboss.org/browse/AGPUSH-828
Comments and questions welcome !
Sebi
10 years, 1 month