Adding a new site - BloomReach Experience - Open Source CMS

This article covers a Hippo CMS version 11. There's an updated version available that covers our most recent release.

04-07-2016

Adding a new site

This page assumes you already are familiar with 1) Adding a new language to an already existing site as adding a new site is very similar.

Steps in the CMS

Assume we already have a content folder  myproject. Now, depending on whether the new site needs to be translated or not, you need add a root 'folder' or 'non-translated folder' in the CMS Content Perspective. Do this by clicking  Add root folder . Assume we add  mysecondproject

Now, add some initial folder structure and documents. This may be similar to the already existing site, or completely different, depending on your use case.

If you need this new site to be translated, repeat the steps at  1) Adding a new language to an already existing site after you finished this page.

Steps in the HST-2 configuration

1 Add a new hst:configuration for the new site mysecondproject .

Assume we already had different translations for  myproject and have the following  hst:configuration:

+ hst:hst
    + hst:configurations
        + hst:default
        + common
        |   + hst:pages
        |   + hst:components
        |   + hst:templates
        |   + hst:catalog
        + myproject
        |   - hst:inheritsfrom = ../common
        |   + hst:sitemap
        |   + hst:sitemenus
        + monprojet
            - hst:inheritsfrom = ../common
            + hst:sitemap
            + hst:sitemenus

Depending on your domain specific use case, we can or cannot reuse the common part for the already existing site myproject. Assume, the new site  mysecondproject has the same  hst:componentshst:templates and  hst:catalog but it has different  hst:pages. We can thus reuse everything except the  hst:pages. If we first move hst:pages to a new hst:configuration   sharedpages, and make sure we do multiple inheritance, we can later on easily add  mysecondproject. Thus

Step 1 Split off hst:pages from  common

+ hst:hst
    + hst:configurations
        + hst:default
        + common
        |    + hst:components
        |    + hst:templates
        |    + hst:catalog
        + sharedpages
        |    +hst:pages
        + myproject
        |    - hst:inheritsfrom = {../sharedpages , ../common}
        |    + hst:sitemap
        |    + hst:sitemenus
        + monprojet
             - hst:inheritsfrom = {../sharedpages , ../common}
             + hst:sitemap
            `+ hst:sitemenus

hst:inheritsfrom for myproject and monprojet now has two values

The hst:inheritsfrom is a multi-valued property. So, with {../sharedpages , ../common} we mean to specify two property values.

Step 2 Add mysecondproject

+ hst:hst
    + hst:configurations
        + hst:default
        + common
        |    + hst:components
        |    + hst:templates
        |    + hst:catalog
        + sharedpages
        |    + hst:pages
        + myproject
        |    - hst:inheritsfrom = {../sharedpages , ../common}
        |    + hst:sitemap
        |    + hst:sitemenus
        + monprojet
        |    - hst:inheritsfrom = {../sharedpages , ../common}
        |    + hst:sitemap
        |    + hst:sitemenus
        + mysecondproject
             - hst:inheritsfrom = {../common}
             + hst:sitemap
             + hst:sitemenus
             + hst:pages

Now, add  mysecondproject, also see  1) Adding a new language to an already existing site

2 Add a new hst:site for the new site

This is the same as described at  1) Adding a new language to an already existing site

Assume you already had:

+ hst:hst [hst:hst]
      + hst:sites [hst:sites]
          + myproject [hst:site]
          + monprojet [hst:site]

After adding the mysecondproject, you'll have something like:

+ hst:hst [hst:hst]
    + hst:sites [hst:sites]
        + myproject [hst:site]
        + monprojet [hst:site]
        + mysecondproject [hst:site]

Make sure that for  mysecondproject, you change the hippo:content property to the absolute JCR path /content/documents/mysecondproject you created at the beginning of this page. 

3 Create the host or "URL space" for the new site.

Assume you already had

+ hst:hst [hst:hst]
    + hst:hosts [hst:virtualhosts]
        + prod [hst:virtualhostgroup]
            + com [hst:virtualhost]
            |   + myproject [hst:virtualhost]
            |       + www [hst:virtualhost]
            |           +  hst:root [hst:mount]
            + fr [hst:virtualhost]
                + monprojet [hst:virtualhost]
                    +  www [hst:virtualhost]
                        +  hst:root [hst:mount]

now, adding the new site as a new host can be done as follows:

+ hst:hst [hst:hst]
    +hst:hosts [hst:virtualhosts]
       +prod [hst:virtualhostgroup]
           + com [hst:virtualhost]
           |   + myproject [hst:virtualhost]
           |   |   + www [hst:virtualhost]
           |   |       + hst:root [hst:mount]
           |   + mysecondproject [hst:virtualhost]
           |       + www [hst:virtualhost]
           |           + hst:root [hst:mount]
           + fr [hst:virtualhost]
               + monprojet [hst:virtualhost]
                   + www [hst:virtualhost]
                       + hst:root [hst:mount]

Above, we have added the host  www.mysecondproject.com. Make sure the  hst:mountpoint for 

/hst:hst/hst:hosts/prod/com/mysecondproject/www/hst:root 

points to the site node  /hst:hst/hst:sites/mysecondproject created in the step 2.

If you do not want the new site to have a different hostname, but a different URL, you can instead configure it as follows (again make sure the  hst:mountpoint is correct)

hst:hst [hst:hst]
  +hst:hosts [hst:virtualhosts]
     +prod [hst:virtualhostgroup]
         + com [hst:virtualhost]
         |   + myproject [hst:virtualhost]
         |       + www [hst:virtualhost]
         |           + hst:root [hst:mount]
         |               + second [hst:mount]
         + fr [hst:virtualhost]
             + monprojet [hst:virtualhost]
                 + www [hst:virtualhost]
                     + hst:root [hst:mount]

Now, the new site is available at  www.myproject.com/second

Optional : Add the new channel to the channel manager overview

The steps above do not make the new site visible in the Channels Perspective. This can be done by following the steps at  HST-2 Channel Manager

To add the new site to the Channels Perspective, follow  HST-2 Channel Manager

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?