Building a Distribution

65 views
Skip to first unread message

Christopher Dodunski

unread,
Aug 11, 2016, 5:46:01 AM8/11/16
to Hippo Community
Hello, just a simple question. :-)

If I am correct, according to the attached diagram, when I build a Hippo distribution by running the commands: "mvn verify" and "mvn -P dist" any bootstrap content such as Freemarker scripts and images are NOT included in the tar.gz distribution. If not, how do I make it so that it is?

Thank you in advance for answering.

application-server.png

Ard Schrijvers

unread,
Aug 11, 2016, 5:49:44 AM8/11/16
to hippo-c...@googlegroups.com
Hey Christopher,
I am also not sure how to interpret the red boxes in the diagram, but
bootstrap content is just included in the tar.gz.

Regards Ard

>
> Thank you in advance for answering.
>
> --
> Hippo Community Group: The place for all discussions and announcements about Hippo CMS (and HST, repository etc. etc.)
>
> To post to this group, send email to hippo-c...@googlegroups.com
> RSS: https://groups.google.com/group/hippo-community/feed/rss_v2_0_msgs.xml?num=50
> ---
> You received this message because you are subscribed to the Google Groups "Hippo Community" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hippo-communi...@googlegroups.com.
> Visit this group at https://groups.google.com/group/hippo-community.
> For more options, visit https://groups.google.com/d/optout.



--
Hippo Netherlands, Oosteinde 11, 1017 WT Amsterdam, Netherlands
Hippo USA, Inc. 71 Summer Street, 2nd Floor Boston, MA 02110, United
states of America.

US +1 877 414 4776 (toll free)
Europe +31(0)20 522 4466
www.onehippo.com

Christopher Dodunski

unread,
Aug 11, 2016, 6:46:19 AM8/11/16
to Hippo Community
Hi Ard,

Thanks for responding. Indeed, your answer seems in accord with Hippo documentation on the matter (with the possible exception of the above diagram). I had earlier created and deployed a distribution, but later repeated the process after having made changes to the bootstrap content (dev server). But these changes were not reflected on the production server, despite setting "repo.bootstrap=true" in setenv.sh.

Have I missed something?

marijan milicevic

unread,
Aug 11, 2016, 6:54:29 AM8/11/16
to hippo-c...@googlegroups.com
Hi,

yes, you did...I think I already posted you a link in one of earlier replies, here it goes again [1]. 
So, enabling bootstrap flag is only *part* of the process and will only load new created items, not existing ones, without telling it to do so...(see [1])
hth
cheers
marijan




 

--
Hippo Community Group: The place for all discussions and announcements about Hippo CMS (and HST, repository etc. etc.)

To post to this group, send email to hippo-community@googlegroups.com

RSS: https://groups.google.com/group/hippo-community/feed/rss_v2_0_msgs.xml?num=50
---
You received this message because you are subscribed to the Google Groups "Hippo Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hippo-community+unsubscribe@googlegroups.com.

Christopher Dodunski

unread,
Aug 17, 2016, 7:34:18 PM8/17/16
to Hippo Community
Thank you for responding.

I noticed that upon redeploying the updated distribution to the production server the MySQL database grew in size, so evidently new stuff was successfully transferred, despite the fact I couldn't see it in my browser (presumably because I hadn't followed the steps necessary to force Hippo to reload).

A question: Given the above observation, is it possible that simply emptying the production database would also result in Hippo reloading the complete distribution, and therefore present the website in its most recent form?

Thanks,

Chris.

Christopher Dodunski

unread,
Aug 19, 2016, 6:45:07 AM8/19/16
to Hippo Community
I dropped and recreated the production database, then started up Hippo CMS with the latest (tar.gz) distribution. Hippo then loaded and published the website in its most recent form. Not sure whether this is the ideal solution, but it worked.

Martijn van der Vorst

unread,
Aug 19, 2016, 7:03:43 AM8/19/16
to Hippo Community
Hi Christopher,

That works until you start actually entering content into production.

the 3 things to check when you want to bootstrap are:

  1. repo.bootstrap=true
  2. there are initialize items in the hippoecm-extension.xml that correspond with the xml files you want to bootstrap.
  3. you have added the "reload on startup" and "version" information to the initialize items see also [1]

Christopher Dodunski

unread,
Aug 21, 2016, 8:19:32 PM8/21/16
to Hippo Community
Hi,

Thanks for replying.

This hippoecm-extension.xml file references many xml files (see below). The link you provided isn't clear on which items need to have 'hippo:reloadonstartup' and 'hippo:version' added to them.

I simply followed the Hippo "Build A Website" tutorial and ended up with a working GoGreen demo site, which I then planned to customise into a true production website. Are all these steps in relation to bootstrapping necessary whenever a production Hippo website is to be built and hosted? Just wondering whether I am on the right path. :-)

<sv:value>configuration/modules/autoexport-module.xml</sv:value> <sv:value>namespaces/myhippoproject.xml</sv:value> <sv:value>namespaces/myhippoproject/basedocument.xml</sv:value> <sv:value>hst/hosts.xml</sv:value> <sv:value>hst/channels.xml</sv:value> <sv:value>hst/sites.xml</sv:value> <sv:value>hst/configurations.xml</sv:value> <sv:value>hst/configurations/myhippoproject/workspace.xml</sv:value> <sv:value>hst/configurations/myhippoproject/workspace/sitemap.xml</sv:value> <sv:value>hst/configurations/myhippoproject/workspace/pages.xml</sv:value> <sv:value>hst/configurations/myhippoproject/workspace/sitemenus.xml</sv:value> <sv:value>hst/configurations/myhippoproject/workspace/containers.xml</sv:value> <sv:value>hst/configurations/myhippoproject/sitemap.xml</sv:value> <sv:value>hst/configurations/myhippoproject/sitemenus.xml</sv:value> <sv:value>hst/configurations/myhippoproject/prototypepages.xml</sv:value> <sv:value>hst/configurations/myhippoproject/abstractpages.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages.xml</sv:value> <sv:value>hst/configurations/myhippoproject/components.xml</sv:value> <sv:value>hst/configurations/myhippoproject/templates.xml</sv:value> <sv:value>hst/configurations/myhippoproject/catalog.xml</sv:value> <sv:value>security/user-editor.xml</sv:value> <sv:value>security/user-author.xml</sv:value> <sv:value>security/user-liveuser.xml</sv:value> <sv:value>security/user-previewuser.xml</sv:value> <sv:value>security/user-configuser.xml</sv:value> <sv:value>security/user-sitewriter.xml</sv:value> <sv:value>security/group-sitewriters.xml</sv:value> <sv:value>security/group-liveusers.xml</sv:value> <sv:value>security/group-previewusers.xml</sv:value> <sv:value>security/configuser-read-everywhere.xml</sv:value> <sv:value>security/webfiles.xml</sv:value> <sv:value>configuration/queries/templates/new-resource-bundle.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/pagenotfound.xml</sv:value> <sv:value>configuration/queries/templates/new-untranslated-folder.xml</sv:value> <sv:value>hst/configurations/myhippoproject/abstractpages/base.xml</sv:value> <sv:value>configuration/queries/templates/new-banner-document.xml</sv:value> <sv:value>configuration/queries/templates/new-banner-folder.xml</sv:value> <sv:value>hst/configurations/default/templates.xml</sv:value> <sv:value>namespaces/myhippoproject/bannerdocument.xml</sv:value> <sv:value>hst/configurations/default/catalog.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/homepage.xml</sv:value> <sv:value>configuration/queries/templates/new-events-document.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/eventslist.xml</sv:value> <sv:value>configuration/queries/templates/new-events-folder.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/eventspage.xml</sv:value> <sv:value>namespaces/myhippoproject/eventsdocument.xml</sv:value> <sv:value>namespaces/myhippoproject/faqlist.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/faqlist.xml</sv:value> <sv:value>configuration/queries/templates/new-faq-list-document-folder.xml</sv:value> <sv:value>configuration/queries/templates/new-faq-item.xml</sv:value> <sv:value>namespaces/myhippoproject/faqitem.xml</sv:value> <sv:value>configuration/queries/templates/new-faq-item-folder.xml</sv:value> <sv:value>configuration/queries/templates/new-faq-list.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/faqpage.xml</sv:value> <sv:value>configuration/queries/templates/new-news-document.xml</sv:value> <sv:value>namespaces/myhippoproject/newsdocument.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/newslist.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/newspage.xml</sv:value> <sv:value>configuration/queries/templates/new-news-folder.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/search.xml</sv:value> <sv:value>configuration/queries/templates/new-content-folder.xml</sv:value> <sv:value>configuration/queries/templates/new-content-document.xml</sv:value> <sv:value>namespaces/myhippoproject/contentdocument.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/contentpage.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/contentlist.xml</sv:value> <sv:value>configuration/queries/templates/new-video-document.xml</sv:value> <sv:value>namespaces/myhippoproject/video.xml</sv:value> <sv:value>configuration/queries/templates/new-video-folder.xml</sv:value> <sv:value>namespaces/myhippoproject/blogpost.xml</sv:value> <sv:value>tags.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/blog.xml</sv:value> <sv:value>configuration/queries/templates/new-blogauthor-document.xml</sv:value> <sv:value>configuration/modules/essentials-eventbus-listener.xml</sv:value> <sv:value>namespaces/myhippoproject/account.xml</sv:value> <sv:value>namespaces/myhippoproject/author.xml</sv:value> <sv:value>configuration/queries/templates/new-poll-folder.xml</sv:value> <sv:value>configuration/queries/templates/new-blog-document.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/blogpage.xml</sv:value> <sv:value>configuration/queries/templates/new-poll-document.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/bloglist.xml</sv:value> <sv:value>configuration/queries/templates/new-blog-folder.xml</sv:value> <sv:value>configuration/queries/templates/new-blogauthor-folder.xml</sv:value> <sv:value>configuration/queries/templates/new-myhippoproject-imageset-folder.xml</sv:value> <sv:value>configuration/queries/templates/new-myhippoproject-imageset-image.xml</sv:value> <sv:value>namespaces/myhippoproject/imageset.xml</sv:value> <sv:value>configuration/frontend/cms.xml</sv:value> <sv:value>hst/configurations/myhippoproject/abstractpages/twocolumns.xml</sv:value> <sv:value>namespaces/myhippoproject/product.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/productslist.xml</sv:value> <sv:value>hst/configurations/myhippoproject/pages/productpage.xml</sv:value>

Niels van Kampenhout

unread,
Aug 23, 2016, 5:13:29 AM8/23/16
to Hippo Community
On Thu, Aug 11, 2016 at 11:49 AM, Ard Schrijvers <a.schr...@onehippo.com> wrote:
Hey Christopher,

On Thu, Aug 11, 2016 at 11:46 AM, Christopher Dodunski
<chrisfromhippo@christopher.net.nz> wrote:
> Hello, just a simple question.  :-)
>
> If I am correct, according to the attached diagram, when I build a Hippo distribution by running the commands: "mvn verify" and "mvn -P dist" any bootstrap content such as Freemarker scripts and images are NOT included in the tar.gz distribution.  If not, how do I make it so that it is?

I am also not sure how to interpret the red boxes in the diagram, but
bootstrap content is just included in the tar.gz.

About the diagram:

I think the colours are inaccurate and confusing. On [1] it says below the diagram:

(Legend: blue = Hippo out-of-the-box, light grey = third party, red = environment-specific)

However the bootstrap content, bootstrap configuration, and bootstrap web files jars are incorrectly shown as environment-specific. I probably intended to show that the bootstrap is project-specific, as opposed to the blue out-of-the box components. 

I'll update the diagram.

Thanks for your feedback.

Regards,
Niels

[1] https://www.onehippo.org/library/development/create-a-project-distribution.html
 

Regards Ard

>
> Thank you in advance for answering.
>
> --
> Hippo Community Group: The place for all discussions and announcements about Hippo CMS (and HST, repository etc. etc.)
>
> To post to this group, send email to hippo-community@googlegroups.com

> RSS: https://groups.google.com/group/hippo-community/feed/rss_v2_0_msgs.xml?num=50
> ---
> You received this message because you are subscribed to the Google Groups "Hippo Community" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hippo-community+unsubscribe@googlegroups.com.
--
Hippo Netherlands, Oosteinde 11, 1017 WT Amsterdam, Netherlands
Hippo USA, Inc. 71 Summer Street, 2nd Floor Boston, MA 02110, United
states of America.

US +1 877 414 4776 (toll free)
Europe +31(0)20 522 4466
www.onehippo.com
--
Hippo Community Group: The place for all discussions and announcements about Hippo CMS (and HST, repository etc. etc.)

To post to this group, send email to hippo-community@googlegroups.com

RSS: https://groups.google.com/group/hippo-community/feed/rss_v2_0_msgs.xml?num=50
---
You received this message because you are subscribed to the Google Groups "Hippo Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hippo-community+unsubscribe@googlegroups.com.
Message has been deleted

Christopher Dodunski

unread,
Aug 24, 2016, 8:39:37 PM8/24/16
to Hippo Community
Agree, accurate and descriptive diagrams are a highly effective means of revealing the architecture and inner workings of a system.  Of course, supporting text is equally important.  Generally, I find the Hippo documentation both extensive and detailed.  Clearly a lot of effort has been put into documentation.

I have a basic grasp on the concept of bootstrapping, also the general purpose of a repository.  But I have been struggling to get to grips with these constructs in the context of Hippo CMS, and this has proved a handicap to building and deploying a Hippo distribution (hence my post).  Any chance of expanding on the Hippo documentation on the related subjects of repository and bootstrapping?


Thanks & regards,


Chris.

Niels van Kampenhout

unread,
Aug 25, 2016, 4:47:07 AM8/25/16
to Hippo Community
Hi Chris,

We actually have quite some documentation on bootstrapping and related subjects, but it is a notoriously complex subject indeed and also very much depends on the implementation project, development and deployment processes, etc. Product improvements in this area are on our roadmap.

In the meantime, bootstrapping is explained from a technical p.o.v. on the following page and its subpages:


The following page and its subpages should give some insight in how bootstrapping relates to a project's lifecycle and deployment process:


We are always looking for possible ways to improve our documentation, so if you have specific suggestions you are very welcome to share them!

Thanks,
Niels

--

Christopher Dodunski

unread,
Aug 26, 2016, 8:20:46 PM8/26/16
to Hippo Community
Hi Niels,

Thank you for the links, I will do a little more reading. The challenge I'm facing is not a show-stopper - simply working to grow my working knowledge of Hippo, to grasp its architecture and exploit its many features.

The Hippo documentation is, largely, very good: both extensive and detailed. If I've had a frustration it has been following the many documented steps, in an intuitive and sequential manner, to achieve an objective (a production website). The trails, whilst helpful, are not complete instructions. This means jumping around a fair amount, in and out of trails and task specific, stand-alone documents.

An alternative approach:

1) Create a visual index page in the form of a flow chart.

2) Diamond nodes represent implementation options/decisions (e.g. MySQL database on the production server).

3) Rectangle nodes represent necessary steps (e.g. configure JNDI data source), and contain a hyperlink to a specific page in the Hippo documentation.

4) Possible routes to a production website (the usual objective) differ, depending on various implementation possibilities.

5) Like any flow chart, depending on route, not all steps are followed. Still, all necessary steps are included.

Do you think this intuitive approach to navigating (complex) documentation has merit?

Regards,

Chris.

Niels van Kampenhout

unread,
Aug 29, 2016, 12:19:13 PM8/29/16
to Hippo Community
Hi Chris,

Thank you very much for your feedback and suggestions!

You touch what is probably the most challenging aspect of any documentation effort: making navigation through extensive, complex documentation intuitive to a wide range of audiences. Also, in practice, ongoing maintenance of the current documentation often does not leave enough time to really work on such higher level aspects. However, it is a major goal for our education team to improve in this area.

I like your suggestion of using flow charts to visualize the Hippo learning path and help readers find their way through the documentation relevant to their goals. We will definitely add this to the list of ideas we are building at the moment!

Thanks,
Niels


Chris.

Christopher Dodunski

unread,
Aug 30, 2016, 7:23:32 AM8/30/16
to Hippo Community
You are welcome Niels, and I wish you and the rest of the Hippo team success in your efforts.

Regards,

Chris.

Niels van Kampenhout

unread,
Aug 31, 2016, 10:22:05 AM8/31/16
to Hippo Community
To get back to the original question, I updated the diagram together with some changes introduced in Hippo CMS 11.0 GA. Publication is pending the release of 11.0 GA (very soon).

Thanks,
Niels


Regards,

Chris.

Reply all
Reply to author
Forward
0 new messages