Java HTML JavaScript CSS FreeMarker Shell Other
Latest commit 48a96ac Mar 23, 2017 @matzew matzew committed on GitHub Merge pull request #804 from josemigallas/agpush-2052
Only one request when changing between tabs
Permalink
Failed to load latest commit information.
admin-ui Merge pull request #804 from josemigallas/agpush-2052 Mar 23, 2017
common [maven-release-plugin] prepare for next development iteration Sep 21, 2016
configuration renaming for clarity Mar 22, 2016
databases Adding UPS/Galera sample, based on @lucidfrontier45's gist Mar 8, 2017
dependencies [maven-release-plugin] prepare for next development iteration Sep 21, 2016
dist [maven-release-plugin] prepare for next development iteration Sep 21, 2016
docker-compose Adding docker compose file for AG-DEV and reference in README Dec 9, 2015
jaxrs ⚠️ using regex for IP validation, since InetAddress.getByName() seems… Feb 23, 2017
migrator [maven-release-plugin] prepare for next development iteration Sep 21, 2016
model 🤖 Using new FCM format in tests Feb 9, 2017
node.js some cleanup Jun 26, 2015
push add socks support to APNS Feb 24, 2017
servers Removing Openshift2 bits from the master branch Jan 24, 2017
service add socks support to APNS Feb 24, 2017
.gitignore Remove Device form Topic based on previous categories Jun 20, 2016
.travis.yml Remove workaround for travis-ci/travis-ci#5227 Jun 28, 2016
LICENSE.txt Adding License file Aug 1, 2014
NOTICE.txt AGPUSH-696: use Exo2 font-face distributed with admin-ui Jun 5, 2014
README.md Removing Openshift2 bits from the master branch Jan 24, 2017
TESTS.md Adding ref. link to multicast Mar 24, 2016
pom.xml Removing Openshift2 bits from the master branch Jan 24, 2017
ups-ui-screenshot.png updated UI screenshot in README Jun 2, 2015

README.md

AeroGear UnifiedPush Server

Build Status License Maven Central

The AeroGear UnifiedPush Server is a server that allows sending push notifications to different (mobile) platforms and has support for:

Project Info

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)

Getting started

Or for the on-premise version, execute the following steps to get going!

  • Get the latest WAR files
  • Setup a database of your choice
  • Start the {Wildfly-10|EAP 7} server (e.g. $SERVER_HOME/bin/standalone.sh -c standalone-full.xml -b 0.0.0.0)
  • Deploy the two WAR files to the server

Now go to http://localhost:8080/ag-push and enjoy the UnifiedPush Server. NOTE: the default user/password is admin:123

Getting Started with Clustered Servers

In order to test on a cluster of WildFly servers, the default configuration serves pretty well, you just need to change startup script a bit - in following scenario we will use servers colocated on one node with configured port-offset:

./bin/standalone.sh -c standalone-full-ha.xml -Djboss.node.name=node1 -Djboss.messaging.cluster.password=somepassword -Djboss.socket.binding.port-offset=100 -Djava.net.preferIPv4Stack=true

And in a second terminal:

./bin/standalone.sh -c standalone-full-ha.xml -Djboss.node.name=node2 -Djboss.messaging.cluster.password=somepassword -Djboss.socket.binding.port-offset=200 -Djava.net.preferIPv4Stack=true

Note: on OS X, you need to enable multicast first:

# Adds a multicast route for 224.0.0.1-231.255.255.254
sudo route add -net 224.0.0.0/5 127.0.0.1

Docker-Compose

For your convenience, we do have an easy way of launch with our Docker compose file

Documentation

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

Generate REST Documentation

Up to date generated REST endpoint documentation can be found in jaxrs/target/miredot/index.html. It is generated with every jaxrs module build.

Who is using it?

We have a list of users in our wiki. If you are using the UnifiedPush Server, please add yourself to the list!

Development

The above Getting started section covers the latest release of the UnifiedPush Server. For development and deploying SNAPSHOT versions, you will find information in this section.

Deployment

For deployment of the master branch to a specific server (Wildfly-10 or EAP7), you need to build the WAR files and deploy them to a running and configured server.

First build the entire project:

mvn clean install

Note, this will build the also the WAR files for both, WildFly-10 and EAP7.

Deployment to WildFly-10/EAP7

For WildFly, invoke the following commands afer the build has been completed. This will deploy both WAR files to a running and configured Wildfly server.

cd servers
mvn wildfly:deploy -Pwildfly

AdminUI and its release

The sources for administration console UI are placed under admin-ui.

For a build of the admin-ui during release, you can just run a Maven build, the admin-ui will be compiled by frontend-maven-plugin during admin-ui module build.

For instructions how to develop admin-ui, refer to admin-ui/README.md.

These instructions contains also specific instructions how to upgrade NPM package dependencies.

Note that the {{frontend-maven-plugin}} may fail if you killed the build during its work - it may leave the downloaded modules in inconsistent state, see admin-ui/README.md.

Cleaning the Admin UI build

In order to clean the state of Admin UI build caches, run maven build with the following parameter

mvn clean install -Dfrontend.clean.force

Try this if the build fails e.g. after bower.json or package.json modifications to make sure no cache is playing with you.

Releasing the UnifiedPush Server

The content of the Release Process is valid for this project as well. However, to build the distribution bundle, you need to include these profiles:

mvn release:GOAL -Pdist,test

Deprecation Notices

1.1.0

Chrome Packaged Apps

The Chrome Packaged App Variant will be removed. Google has deprecated the chrome.pushMessaging API in favor of the chrome.gcm API.

This change allows the UnifiedPush Server to now use the Android Variant for both Android and Chrome Apps.

If you are using this functionality, please convert your applications to use the new API and recreate your variants.

Contributing

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

How to develop and run tests

There is a dedicated guide to running and developing tests in TESTS.md

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.