Introduction / FirstSpirit ServerManager / Schedule entry planning / Project-based actions / Execute generation

Execute generation

Table of contents

This action is used to carry out full or partial generation of the selected project (see also Scheduling).

Full generation generates all content of the project, and partial generation generates only the selected “Start nodes” and their child nodes.

For further information about the generation in FirstSpirit please see also Generation (→FirstSpirit Online Documentation).

Prefix for absolute pathsUse ACl databaseType of path generationDefine start points for the generationSuccessful only ifGenerate mediaGenerate release versionGenerate only if necessaryPerform full generationStart points can be defined by the userExecute partial generationClear generation directory beforehand

"Properties" tab

FullGeneration

Perform FullGeneration: if this option is selected, the project is generated in its entirety when the schedule entry is executed.

Important In addition to the time-consuming full generation of a project you can also determine the changed content of a project (in relation to the last successful generation) using the FirstSpirit Access API and generate only this changed content (“Delta generation”).
For a comparison of the generation types and a configuration example for delta generation see Generation (→FirstSpirit Online Documentation).

PartialGeneration

Execute PartialGeneration for following start nodes: if this option is selected, only the nodes shown in the following “Start points” (start nodes) table are generated (including all subordinate start nodes):

Start points: this table shows all start nodes to be generated when the action is executed. The selected elements are performed recursively; for instance, if the Media folder is added, all subordinate elements (Media and other folders) are also considered part of the generation schedule.

Clicking on the Add button opens a dialog displaying all of the project's available and not yet selected start nodes (current version of the project). Nodes that have never been released and can thus lead to problems in generation will now be specially visualized in the dialog (“Start nodes have been specified whose release versions are not accessible!”)

Clicking on the Delete button will delete the selected start node.

Can be defined by user? (for interactive schedule entries only): the option "Can be defined by user" can be selected if it is a partial generation. The project administrator can allow the user to specify custom start nodes for generation when the schedule entry is executed by selecting this option. These changes only affect the current generation schedule.

Start nodes for media generation can also be defined within a generation schedule entry.

Background: when deploying project content, referenced media, such as that within an image input component on a page, are also generated and deployed. Media that are not explicitly referenced are not automatically included during generation. In some applications, for instance, if media are used within a script, these media must also be included in the generation schedule.

The generation of media can be assigned to individual generation schedules. The purpose of the new option is to make it possible to deploy individual sub areas faster. Saving the processor intensive media generation into separate generation schedule entries improves performance, especially when executing multiple small partial generation schedules, since for each generation only the desired media are included. However, this option is also ideal for deploying media in a remote project (“Remote media”, see Remote projects), for instance.

Important Media for which the option “Parse file” is selected (see File level (→Documentation FirstSpirit SiteArchitect)) are not generated/deployed if they are under the selected start node and are not referenced on any page of the generation.

Additional properties

Generate only if necessary: if this option is selected, the system checks if any changes were made to the project since generation was last executed before this generation is started. Generation only takes place if a new revision was generated in the project (cf. also delta generation).

Please note that it is not practical to use this option together with manual generation of a revision before generation is started (required in some configurations).

Clear generation directory beforehand: if this option is selected, the generation directory is cleared before generation begins.

Generate release version: In a release-based project (i.e. option Use Release function), FirstSpirit differentiates between the released and the current project state. If a project uses this option, changes in the project must be released by a user with appropriate privileges (e.g. an editor-in-chief) in order to be visible in the released state. A non-released project state, e.g. a page in the Page Content store, will not be included in the next generation. (Instead, the latest released state of the page will be observed.)

If this option is activated, the released state of the project will be generated (default setting).

If the option is deactivated, the current state of the project will be observed during generation (even if this state contains changes that are not yet released at the time).

Generate Media in the generation directory: if this option is selected, all referenced media are generated automatically in the generation directory during the generation process.               
If the option is not selected, no media are generated in the generation directory during the generation process (exception: parsed media). This may reduce the I/O load and the amount of disk space required in the generation directory. This option does not prevent media from being transmitted, since when internal FirstSpirit deployment mechanisms (in the file system, by FTP or by CRC) are used for deployment, all referenced media that are not in the generation directory are streamed over the Berkeley DB back end. This does not apply to other, external transmission mechanisms (e.g. via rsync, see Secure deployment via rsync and ssh). (Note: if this option is not selected, it is not possible to browse through the generation directory (fs5staging).)

Use ACL database: if this option is selected, information is stored during generation in a local database called the “FirstSpirit Access Control Database” (“ACL database”) for each page reference in the site store and for each medium in the media store. This database is used to provide information on FirstSpirit objects, such as access permissions that were stored for an object. The data receives a time stamp, which is used as the file date when the file is generated in future. As long as the content of the file does not change, neither does its file date. The advantage of this is that the live server views the files as unchanged too, so they do not have to be recompiled, for example.
The Access Control Database is automatically synchronized with the currently released project status when the content is generated.
For more information on the ACL database, see the "Documentation for the FirstSpirit security module".

PathGeneration: a method for path generation can be selected from this list. There are currently four different generation types:

  • Advanced URLs: for this method, the display names of the FirstSpirit objects are used as the basis for URL generation (see also Advanced URLs (→FirstSpirit Online Documentation)).
  • Default URLs: for this method, each language of the project has its own subdirectory on the web server (de, en, etc., see also Generation (→FirstSpirit Online Documentation)).
  • Multiview URLs: for this method, there is no language-specific subdirectory; instead, the files for each language are labeled with the respective language code. In this case, the language code is appended after the file extension (e.g. index.html.de, index.html.en) (see page Options).
  • Infix URLs: there is also no language-specific subdirectory for this method; instead, the files for each language are labeled with the respective language code. In this case, the language code is appended before the file extension (e.g. index.de.html, index.en.html).

Prefix for absolute paths: the prefix entered here is set as the default for all links to which the property of an absolute link is assigned in a template (in SiteArchitect).

Successful only if: there are two options: one decides when generation is successful and the other when it is not:

  • No fatal errors and remained within threshold values
  • No fatal errors

 In both cases, generation is canceled as soon as a fatal error occurs. If no fatal errors occur, generation using the option “No fatal errors” always applies, and the “No fatal errors and remained within threshold values” option is only considered successful if the following threshold values were not exceeded:

  • Threshold value for normal errors
  • Threshold value for warnings

"Extended" tab

Clusteringtemplate sets to be taken into accountvariables to be taken into account

Template sets

Template sets: In this area you can define for which template set in which language a generation is to be executed.

Variables

Variables: Use this field to set variables in the generation schedule. These variables will be taken into account while generating the project. They are available in the whole project so that they can be accessed in page and section templates for example.
The variables defined here are not available by default in the project settings (Project Settings (→Documentation FirstSpirit SiteArchitect)). For information on how the variables defined here can also be made available in the project settings Special cases (→FirstSpirit Online Documentation).
In addition, variables which are defined in generation schedules can overwrite for example variables that are defined in the project on menu levels. See also project-related (→FirstSpirit Online Documentation).

Variables with name and value can be defined for the generation schedule by means of the button “Add”. Already defined variables can be removed by using the button “Delete”. For more information about the usage of variables in FirstSpirit (definition, output, inheritance, overwriting) see also Variables (→FirstSpirit Online Documentation).

The reserved variable

media_resolution_tags

can be used to generate only resolutions in a media generation (Start point of the generation is in the Media Store) for which the specified tags are enabled (see page Resolutions). Multiple tags are separated by commas.

Clustering

Clustering: see page Configuration.
The #global.scheduleContext call can be used to access the execution context of a generation schedule entry and thus to access information such as the project name, schedule entry start time, generation directory path, number of errors during generation, etc.
The de.espirit.firstspirit.access.schedule.ScheduleContext interface, which provides the necessary methods, is available in the FirstSpirit Access API.

© 2005 - 2022 Crownpeak Technology GmbH | All rights reserved. | FirstSpirit 2022.12 | Data privacy