AeroGear SimplePush Common

A SimplePush Server Implementation.

License

License

Categories

Categories

JBoss Container Application Servers
GroupId

GroupId

org.jboss.aerogear
ArtifactId

ArtifactId

aerogear-simplepush-common
Last Version

Last Version

0.12.1
Release Date

Release Date

Type

Type

jar
Description

Description

AeroGear SimplePush Common
A SimplePush Server Implementation.
Project URL

Project URL

http://aerogear.org
Project Organization

Project Organization

JBoss by Red Hat

Download aerogear-simplepush-common

How to add to project

<!-- https://jarcasting.com/artifacts/org.jboss.aerogear/aerogear-simplepush-common/ -->
<dependency>
    <groupId>org.jboss.aerogear</groupId>
    <artifactId>aerogear-simplepush-common</artifactId>
    <version>0.12.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.jboss.aerogear/aerogear-simplepush-common/
implementation 'org.jboss.aerogear:aerogear-simplepush-common:0.12.1'
// https://jarcasting.com/artifacts/org.jboss.aerogear/aerogear-simplepush-common/
implementation ("org.jboss.aerogear:aerogear-simplepush-common:0.12.1")
'org.jboss.aerogear:aerogear-simplepush-common:jar:0.12.1'
<dependency org="org.jboss.aerogear" name="aerogear-simplepush-common" rev="0.12.1">
  <artifact name="aerogear-simplepush-common" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jboss.aerogear', module='aerogear-simplepush-common', version='0.12.1')
)
libraryDependencies += "org.jboss.aerogear" % "aerogear-simplepush-common" % "0.12.1"
[org.jboss.aerogear/aerogear-simplepush-common "0.12.1"]

Dependencies

compile (2)

Group / Artifact Type Version
org.jboss.aerogear : aerogear-crypto jar 0.1.5
bouncycastle : bcprov-jdk16 jar 140

test (2)

Group / Artifact Type Version
org.easytesting : fest-assert jar 1.4
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

Deprecated

SimplePush is no longer maintained by Mozilla, see: https://twitter.com/MozillaWebpush/status/896095563942318080

Aerogear SimplePush Server Build Status

This project is a Java server side implementation of the SimplePush Protocol specification from Mozilla that describes a JavaScript API and a protocol which allows backend/application developers to send notification messages to their web applications. Originally SimplePush was introduced for Firefox OS but there are plans to establish the API on the desktop and mobile browsers as well.

Firefox OS v1.1 uses SimplePush as its Push Notification technology. Firefox OS Push Notifications are designed for one thing – waking up apps. They do not deal with data, desktop notifications and other features, since there are other Web APIs that provide them. From the very beginning SimplePush was designed to explicitly not carry any payload. Instead a version number is sent to the client. Based on that version number the client can perfom an action, e.g. refresh a view of data.

Mozilla published a very detailed article that explains the API in depth.

Project Info
License: Apache License, Version 2.0
Build: Maven
Documentation: https://aerogear.org/push/
Issue tracker: https://issues.jboss.org/browse/AGPUSH
Mailing lists: aerogear-users (subscribe)
aerogear-dev (subscribe)

AeroGear SimplePush consists of the following modules:

  • common
    Just common classes used by multiple modules in the project.

  • datastores
    Contains implementations of various datastores. Please see the specific datastore's readme for further details.

  • protocol
    The SimplePush Server Protocol provides interfaces for the protocol.

  • server-api
    An API for AeroGear SimplePush Server

  • server-core
    An implementation of AeroGear SimplePush Server API.

  • server-netty
    The SimplePush Server implementation that uses Netty 4.x.

  • server-vertx
    The SimplePush Server implementation that uses vert.x.

  • wildfly-module
    A WildFly/AS7 module for the SimplePush Server.

Please refer to the above modules documentation for more information.

Docker

You can use Docker to build and run SimplePush server. Follow the instructions to install docker.

The Docker image provided contains CouchDB and Redis which enables the functional tests that use these databases to be run.

Build a SimplePush Container

Build using github path

docker build -t simplepush github.com/aerogear/aerogear-simplepush-server

Build using cloned project

docker build -t simplepush .

Run integration tests

docker run -it simplepush

Run standalone Netty server

docker run -p 7777:7777 -w /home/aerogear-simplepush-server/server-netty -it simplepush mvn exec:java

Manually running test

You may want to trigger test using a different branch, perhaps to run the integration tests against that code base. This can be done by starting the image using a shell:

docker run -it simplepush /bin/bash

You'll need to start the databases (currently CouchDB and Redis):

/startdbs.sh

Now, you can clone your fork and checkout a branch. To run all tests including the integration/functional tests:

mvn install -Pcouchdb,redis

Port forwarding for Mac OS X

You'll need to configure your VirtualBox to support port forwarding for port 7777:

VBoxManage modifyvm "boot2docker-vm" --natpf1 "guestnginx,tcp,,7777,,7777"

Documentation

For more details about the current release, please consult our documentation.

Development

If you would like to help develop AeroGear you can join our developer's mailing list, join #aerogear on Freenode, or shout at us on Twitter @aerogears.

Also takes some time and skim the contributor guide

Questions?

Join our user mailing list for any questions or help! We really hope you enjoy app development with AeroGear!

Found a bug?

If you found a bug please create a ticket for us on Jira with some steps to reproduce it.

org.jboss.aerogear

AeroGear

Modern App Dev begins here - RealTime GraphQL and Push

Versions

Version
0.12.1
0.12.0
0.11.0
0.10.0