Installation instructions:
==========================
+0) Make sure to have Payara 4.1.2.181 installed AND have javax.faces.jar
+ REPLACED with version 2.3.9 (2.4.0 seem to be a little to new) as the WAR
+ project requires JSF 2.3 (not JSF 2.2 what is shipped with Payara).
+ Paraya is currently required as a @NamedCache annotation alongside @Inject
+ is being used to inject the cache into the backing bean.
+
+ The server.log should reveal a line with "Initializing Mojarra 2.3.9". If
+ that is the case, half way is done and you can continue. Hint: "grep" on it!
+
+ A common mistake is to copy the required JARs not to ~/personal_domain/lib/
+ (or where ever your domain's lib path is) as the required JARs varies from
+ EJB/WAR project. The easiest but single-host deployment is to build the EAR
+ project by doing a "ant dist" in THIS project's root directory.
+
+ For the EJB projects, any EJB 3.0/JPA 2.2 container SHOULD work, Payara 4.1
+ has been tested/used by myself.
+
1) Create an empty database and setup proper permissions and user account. You
should create a separate database and user for each project you are going to
run on it for maximum security.
-2) Setup a JDBC pool. I took the simple driver:
+2) Setup a JDBC pool. This is an example for a MariaDB JDBC driver, a SQLite3
+ database resource works surely differently (other URL, user/password can be
+ anything non-empty). I would recommend SQLite3 for development (up to 1 mio.
+ records with almost no performance drop) and MariaDB/PostreSQL (later not
+ tested by myself) or any other DBMS (including MongoDB) for the "productive"
+ installation as this project only imports from the javax.persistence package
+ and not EclipseLink/Hibernate/DataNucleus specific packages.
Pool name: AddressbookPool
Resource type: java.sql.Driver
JNDI name: jdbc/addressbook
Pool name: AddressbookPool
-4) In juser-core project you will find a JAR named "commons-codec-1.10.jar" you
- need to copy this to your $GLASSFISH_DOMAIN/lib/ path to make password
- encryption working. Please setup sufficient access rights (CHMOD 0644 is
- enough).
+4) You DO have to copy A LOT JARs from my project's directories, including my
+ custom JARs as they contain the entity classes, custom exceptions, utility
+ classes, event classes/interfaces and many required more. Plus you also
+ need to copy all 3rd-party JARs or else it will end with the all-famous
+ NoClassDefError.
If you forgot this file to copy and you have copied it now, please restart
the Glassfish server so the JAR can be found and loaded.
Optional, but more secure/sometimes required advanced properties:
+mail.smtp.host : <hostname> (localhost is default)
mail.smtp.password : <email password>
mail.smtp.port : <email port>
mail.smtp.auth : true
JNDI name: jms/addressbook-user-activity-log
Physical destination name: addressbookUserActivityLog
Resource type: javax.jms.Queue
+
+9) From the WAR project, copy local_xx_XX.properties-dist to
+ local_de_DE.properties and local_en_US.properties. If for example your
+ application uses product_categories from jproduct-core, you may want to add
+ your custom i18n strings to the local properties files as this doesn't cause
+ any later merge conflicts as they are added to .gitignore file.