README.md 3.2 KB
Newer Older
1
# Hippo Essentials
2
Hippo Essentials is for developers who want to setup a new [Hippo CMS](http://www.onehippo.org) project. It enables
Tobias Jeger's avatar
Tobias Jeger committed
3 4
them to kickstart their project in a matter of minutes, to benefit from our best practices and to easily add Enterprise
or community plugins from the Hippo Marketplace.
Marijan Milicevic's avatar
Marijan Milicevic committed
5 6

```
Tobias Jeger's avatar
Tobias Jeger committed
7 8
Please use the Hippo Essentials feedback form to inform us if you encounter any bugs/glitches or if you have any
suggestions for improvements.
Marijan Milicevic's avatar
Marijan Milicevic committed
9 10
```

11
# Getting Started
Jeroen Reijn's avatar
Jeroen Reijn committed
12

13
## Code checkout
Dirkjan van Diepen's avatar
Dirkjan van Diepen committed
14

15 16 17
To get started with the Hippo Essentials, checkout the code. You have two options to check out
the project. The example commands below use the potentially unstable trunk snapshot. Consider
using a tag instead.
Dirkjan van Diepen's avatar
Dirkjan van Diepen committed
18

19 20
### Read-only
```shell
21
git clone git@code.onehippo.org:cms-community/hippo-essentials.git
22
```
Dirkjan van Diepen's avatar
Dirkjan van Diepen committed
23

24
### Read-write (you'll need Hippo GIT account for this)
25
```shell
26
git clone git@code.onehippo.org:cms-community/hippo-essentials.git
Dirkjan van Diepen's avatar
Dirkjan van Diepen committed
27
```
28

29
### Build the essentials components:
30
```shell
31
cd hippo-essentials
32
mvn clean install
Marijan Milicevic's avatar
Marijan Milicevic committed
33
```
34

35
### Validate license headers:
36 37
```shell
mvn clean && mvn validate -Ppedantic
38 39
```

40
### Create and install archetype locally:
41
```shell
42 43
git clone git@code.onehippo.org:cms-community/hippo-project-archetype.git
cd hippo-project-archetype
44
mvn clean install
Marijan Milicevic's avatar
Marijan Milicevic committed
45
```
46

47
### Generate a new Hippo project from the archetype (use appropriate archetype version):
48
```shell
49
mvn archetype:generate -D "archetypeGroupId=org.onehippo.cms7" -D "archetypeArtifactId=hippo-project-archetype" -D "archetypeVersion=[archetype version]"
50 51
```

52 53 54 55
##Running locally


This project uses the Maven Cargo plugin to run the CMS, Website and Essentials dashboard locally in Tomcat.
Jeroen Reijn's avatar
Jeroen Reijn committed
56 57
From the project root folder, execute:

58
```shell
59 60
mvn clean verify
mvn -P cargo.run -Drepo.path=storage
61 62 63 64 65
```

The following URLs are available from this project:

 * CMS at http://localhost:8080/cms
66
 * Website at http://localhost:8080/site
Kenan Salic's avatar
Kenan Salic committed
67
 * Essentials dashboard at http://localhost:8080/essentials
68

69
Logs are located in `target/tomcat8x/logs`
Jeroen Reijn's avatar
Jeroen Reijn committed
70

71
##Using JRebel
Jeroen Reijn's avatar
Jeroen Reijn committed
72

73
Set the environment variable `REBEL_HOME` to the directory containing jrebel.jar.
Jeroen Reijn's avatar
Jeroen Reijn committed
74 75 76

Build with:

77 78
```shell
mvn clean install -Djrebel
79
```
Jeroen Reijn's avatar
Jeroen Reijn committed
80 81 82

Start with:

83 84
```shell
mvn -P cargo.run -Djrebel
85
```
Jeroen Reijn's avatar
Jeroen Reijn committed
86

87
##Best Practice for development
Jeroen Reijn's avatar
Jeroen Reijn committed
88

89
Use the option `-Drepo.path=/some/path/to/repository` during start up. This will avoid
Jeroen Reijn's avatar
Jeroen Reijn committed
90 91 92 93
your repository to be cleared when you do a mvn clean.

For example start your project with:

94 95
```shell
mvn -P cargo.run -Drepo.path=/home/usr/tmp/repo
96
```
Jeroen Reijn's avatar
Jeroen Reijn committed
97 98
or with jrebel:

99 100
```shell
mvn -P cargo.run -Drepo.path=/home/usr/tmp/repo -Djrebel
101 102
```
##Hot deploy
Jeroen Reijn's avatar
Jeroen Reijn committed
103 104 105

To hot deploy, redeploy or undeploy the CMS or site:

106 107 108
```shell
cd cms (or site)
mvn cargo:redeploy (or cargo:undeploy, or cargo:deploy)
109 110 111
```

##Automatic Export
Jeroen Reijn's avatar
Jeroen Reijn committed
112

113 114 115
Essentials depends on the automatic export feature being enabled, which is the archetype-generated Hippo
project's default setting. You can change the setting temporarily in the upper right corner in the CMS,
or permanently in your project's file
116
`./bootstrap/configuration/src/main/resources/configuration/modules/autoexport-module.xml`
Jeroen Reijn's avatar
Jeroen Reijn committed
117

118
##Copyright and license
Jeroen Reijn's avatar
Jeroen Reijn committed
119

120 121
Copyright 2013-2016 Hippo B.V.
Distributed under the [Apache 2.0 license](https://code.onehippo.org/cms-community/hippo-essentials/blob/master/LICENSE).
Marijan Milicevic's avatar
Marijan Milicevic committed
122