goran_teodorovi
I'm new here

Advanced URLs / partial deployment

Jump to solution

There are two microsites in one project. With two languages (en, de). With two folders to destinguish the projects. So the need for partial deployment. In "generate" Advanced URLs is chosen, to have meaningful page names. The structure is shown on page below. So if folder has index page, it should create index.html in the end, but because of two languages, it creates index.html and index-2.html. To destinguish languages i've created two folders (en, de) and folder variable to be set on these folders (value: en / de)  that matches the languages and used stopGenerate if there is no match between generating language and containing folder. Stop generate works, there i only one file generated in each folder (in en folder there is index.html, but in de there is index-2.html). And i would like to have index.html i both folders, so to have the same name, and i believe it is possible since the files are not in the same folder.

One line from log file:

(de.espirit.firstspirit.generate.path.RegistryUrlFactory😞 URI conflict detected for SSNodeEntry-1361469-1290154-DE-, unified URI: /Prvi/en/index-2.html

Images and log file are attached bellow. Hope someone will have a solution for this.

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hi Goran,

the reason for the index_1.html files being created is that the calculation of the URL (or more precisely: the file path) is done before the template code is evaluated and the URL is considered "used" even if you use stopGenerate.

As I understand, you have created the de and en subfolder because the menu structure is different for the two languages, correct? Those en/de folders are not identical to the "microsites" (i.e. one de and one en microsite) but the microsites separated on another level, right?

Some ideas:

1. Use the SEO-URLs mechanism

Under "Global settings => URL settings => SEO URLs" you can define separate (starting) paths for each combination of language and template set for folders. The idea is to kind of "move the 'wrong' files out of the way". For the folder "Prvi/en", you could for example define the path as /Prvi/en for the english language and as as "Prvi/en-de-unused" for de - and vice versa for the folder Prvi/de. See also here: Documentation FirstSpirit SiteArchitect - Adding / editing a URL

2. Use two partly generations in the schedule

It might also work to split the partly generation of one microsite into two partly generations using the en flder as start node for one and the de folder for the other generation task. You could then limit each generation task to the desired languages, see here: Documentation for Administrators - Execute generation

Regards,

Michael

View solution in original post

0 Kudos
1 Reply
mbergmann
Crownpeak employee

Hi Goran,

the reason for the index_1.html files being created is that the calculation of the URL (or more precisely: the file path) is done before the template code is evaluated and the URL is considered "used" even if you use stopGenerate.

As I understand, you have created the de and en subfolder because the menu structure is different for the two languages, correct? Those en/de folders are not identical to the "microsites" (i.e. one de and one en microsite) but the microsites separated on another level, right?

Some ideas:

1. Use the SEO-URLs mechanism

Under "Global settings => URL settings => SEO URLs" you can define separate (starting) paths for each combination of language and template set for folders. The idea is to kind of "move the 'wrong' files out of the way". For the folder "Prvi/en", you could for example define the path as /Prvi/en for the english language and as as "Prvi/en-de-unused" for de - and vice versa for the folder Prvi/de. See also here: Documentation FirstSpirit SiteArchitect - Adding / editing a URL

2. Use two partly generations in the schedule

It might also work to split the partly generation of one microsite into two partly generations using the en flder as start node for one and the de folder for the other generation task. You could then limit each generation task to the desired languages, see here: Documentation for Administrators - Execute generation

Regards,

Michael

0 Kudos