> For the complete documentation index, see [llms.txt](https://docs.struct.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.struct.com/pim3/tutorials/example-projects/publications-3.15.md).

# Publications 3.15

Version 3.15 introduced new features like full screen editing, complete editor experience for all elements of template including header/footer.

### New and optimized experience building publication templates <a href="#new-and-optimized-experience-building-publication-templates" id="new-and-optimized-experience-building-publication-templates"></a>

Building a template for Publication can be quite complex with a lot of different features and ways of implementation to consider.

To simplify and accomodate this, only one template type exist. This template type can deliver any data output depending on how it is setup.

A template is now split in to main areas; Settings and Setup.

**Settings**

Settings contains all configuration of the template. All settings from description, reference, output, data input to advanced features like header/footer, table of contents and category pages.

These settings defines what input is possible for the template in design and what the final output of the template will be.

**Design**

The new and improved design of template supports building custom content, header/footer on all levels like product pages, table of content and category pages.

\
To improve performance especially around header/footer a new concept of elements have been introduced.

<figure><img src="https://3609403033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZJAMIKVcqchSDbt4A7DE%2Fuploads%2FfIAJQGEJiplU1DaNGewm%2Fscreenshot-2024-07-10-225333.png?alt=media&amp;token=b9e6a499-3fed-49dd-841f-a6e92f25632a" alt=""><figcaption><p>Elements</p></figcaption></figure>

This makes it possible to construct the content of the header/footer by placering any number of elements in its container.

These elements include text, html, image and background. The text element now supports full template conversion, using all data available through content. This can significantly improve performance as all elements, except html, can be directly drawn in the resulting PDF.

<figure><img src="https://3609403033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZJAMIKVcqchSDbt4A7DE%2Fuploads%2FexPy6JqazHfFF80XFtc5%2Fscreenshot-2024-07-10-230323.png?alt=media&amp;token=926f7a8a-1727-403b-954a-815d2f6b32c0" alt=""><figcaption><p>Element types</p></figcaption></figure>

Aside from performance improvement, all elements depending on data, now have full preview/data experience. This will make all work with elements like header/footer, table of content and category pages much easier, as actual data is available for the editor to see.

<figure><img src="https://3609403033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZJAMIKVcqchSDbt4A7DE%2Fuploads%2FrPAZHCJ4VNuNDgM66tqP%2Fscreenshot-2024-07-10-225347.png?alt=media&amp;token=c12629c9-d150-4427-9bbb-c8318fb7946b" alt=""><figcaption><p>Data</p></figcaption></figure>

### Direct integration with EasyCatalogue <a href="#direct-integration-with-easycatalogue" id="direct-integration-with-easycatalogue"></a>

Through the new Prints in Publication you can connect to Struct PIM directly from EasyCatalogue.

Download example template [here](https://techdoc.struct.com/media/fbofalnz/easy-catalogue-base.json) and import into your Struct PIM instance.

Notice when constructing a template for Easy Catalogue it is important to use below tag structure.

<figure><img src="https://3609403033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZJAMIKVcqchSDbt4A7DE%2Fuploads%2FqTQacklKwTEnJL4R2oyC%2Fscreenshot-2024-10-29-085447.png?alt=media&amp;token=49b53f79-7b60-4813-957f-67ce7a3af3fa" alt=""><figcaption><p>EasyCatalogue</p></figcaption></figure>

"Type"-property with "Product" identify where the initial rows start for EasyCatalogue to read.

"type"-property can be used for describing complex structures. Currently two types are supported:

* Complex\
  This enables EasyCatalogue to see this element as a complex object where below tags will be individual properties.
* Table\
  This enables EasyCatalogue to see this element as a table where below tags are individual rows.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.struct.com/pim3/tutorials/example-projects/publications-3.15.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
