Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.
The Magnolia Travel demo demonstrates key features of Magnolia. Use it to learn what Magnolia can do, how authors manage content, and how developers create Magnolia projects. For developers, the Travel demo provides a best-practice example of the new Magnolia Templating Essentials (MTE), YAML configuration and resource loading. In producing the demo, we attempted to strike a balance between demonstrating many Magnolia features in a realistic context, while staying as small and simple as possible.Clone the Travel demo project in Git:
About the website
Magnolia Travel is the website of a fictional travel agency that sells package tours. This business scenario helps showcase the benefits of Magnolia.
The demo illustrates important Magnolia features such as publishing, user roles, content and authoring, multiple sites that reuse the same content, personalization, marketing tags and more - all in a modern, attractive, responsive design. Site content is managed in both a traditional page hierarchy and as a content pool in the Tours and Tour categories content apps.
As you browse the site, imagine what your products or services could look like in a site like this. Tours could be replaced with whatever products, information or departments are important in your organization.
The homepage has a typical structure with a top navigation and footer that is shared across all pages. The navigation contains two dropdowns.
- Tours is a list of tour categories, which we call tour types, like Beach, Cultural or Family tours.
- Destinations is a list of tour destinations like North America and Europe.
The Website pages demonstrate key features of Magnolia:
- The home page contains a big carousel featuring hand-picked tours. Under the carousel, three icons link to some of the tour types that are available in the dropdown menu.
- The About page is an example of a conventional or simple page. It is the parent of a typical website tree of pages. The meta links in the footer also link to simple pages.
- The overview pages for each tour type and destination category have the same format. Each has an image, title and description, followed by a block of featured tours in the category, and then a block of all tours in the category. Go to Beach and Cultural in the Tours menu and Europe in the Destinations menus to see examples. Note the tour type icons below the title in the teasers. Tours can belong to multiple tour type categories and will display in all overview pages.
- The format of the detail page of each tour is also the same. Click View Tour in any teaser to access the detail page. Tour type icons display in the title and lead to type overview pages. Below the tour details at the bottom of the page there are card blocks of other tours within in the categories that a visitor might be interested in.
- The Members page allows users of a public Magnolia site to register and access restricted content. User registration is powered by Magnolia's Public User Registration module.
- The Contact page includes a sample online form powered by Magnolia's Form module.
- Search results display on a dedicated page. Enter a term in the box to see the results.
To view the content structure and source, login to AdminCentral with username and password
- Open the Pages app and expand the
- The pages under
metaare a simple hierarchy. Content for these pages is added in the page editor. The
metaparent page is not displayed in navigation because the Hide page option is enabled in the Page properties dialog.
tourdisplay the content for all tours. This content is added and stored in apps. Based on the URL, the content page retrieves the appropriate content item from the app and displays it.
- The pages under
- Open the Tour Categories app to see the tour types and destinations.
These are the tour type and destination categories that link the tours together.
- Open the Tours content app to see the tours.
This is where the bulk of the site content resides. In a way, the site builds itself - the navigation, category overview pages and tour pages are dynamically generated based on the content added in this app.
Some of the key Magnolia features are showcased in the Travel demo.
Magnolia has a powerful and flexible security mechanism based on roles, groups and users. You can specify which apps and actions, and even which content within an app, a user can access. You can also limit who can request and publish workflows.
Open the Security app to explore. Log out as
superuser and log in as
eric). Notice that fewer apps are available, for example the Security app is no longer available.
The Travel demo includes three users to illustrate typical roles: (Password is always the same as the user name.)
eric: An editor who can edit all content. In the Pages app in CE he cannot access the Publish action. In EE he can submit items for publication with the Publish action, but he cannot actually publish content.
peter: A publisher who can also edit all content. In the Pages app in CE he can access the Publish action. In EE he can also view items submitted for publication in the Pulse, and approve (publish) or reject them.
tina: A tour editor who cannot access content in the Pages app.
Publication and Workflow
Magnolia's publication takes advantage of the Workflow system. While any workflow can be implemented, in the Travel demo you can try the standard "four-eye" publishing workflow which comes with Magnolia out-of-the-box. Eric the editor can edit content, and submit it for approval. Peter the publisher receives notifications in the Pulse, and can review the changes made, and finally publish the changes to the public instances - or reject them.
The Travel demo supports two content languages, English and German.
To see this in action, edit the
- Use the language selector in the top bar to change from English to German. The content of the page is now displays in German.
- Click on Main bar and then on the edit icon in the Jumbotron bar. Use the language selector in the Text and Image dialog to view and edit the content in either language.
Admincentral can also be translated into multiple languages,
Log in as
eric-de) to see the administration interface in German. Each user can set their language in their user profile.
The Travel demo is a good example of efficient content reuse and demonstrates how this can easily be accomplished using content apps to store tours.
A tour is stored in one location, but the information is used throughout the site, from the homepage, to the category overviews, to the tour pages.
As a best practice, content should be added and maintained in one location and used throughout the website, or in external apps, widgets or feeds. It should never be necessary to add the same content multiple times,
Compare the information in the Tours app to the content on the site pages to see how it is reused.
Multisite is an Enterprise Edition Pro feature.
The Travel demo has a simple additional site, SportStation, which demonstrates sharing of web resources, components, and tour content across sites.
A Magnolia instance can host multiple sites that share configuration, resources and content. This is useful in a variety of situations - from campaigns and landing pages to managing sites for all departments, branches or subsidiaries of your organization. This feature is often used to simplify and consolidate management of the many websites company accumulates over time.
To view the SportStation site, edit the
sportstation page in the Pages app and click Preview page in the editor.
- SportStation offers only Active tours and uses the same content as Travel.
- Site styling is similar to Travel because the same web resources are used.
- The home page features a carousel of hand-picked active tours and then a tour list of all tours in the Active category, displayed in teaser blocks. The tour list is the same as as that used on category overview pages in Travel.
- The tour detail pages are very similar to those in Travel but do not include icons linking to tour types or destinations, nor are their related tours at the bottom of the page.
Magnolia sites can be personalized for individual visitors based on visitor traits such as cookies, location, date, information in a user profile, or information shared via social networks.
The Travel demo illustrates page personalization with three variants of the contact page in both EE versions. Different contact information displays in the second Text and image component depending on the location trait of the visitor.
To view the personalized pages:
- In the Pages app expand the
Variantsnodes. There is one variant for each geographic region.
- Select the
contactpage and click Preview as Visitor in the action bar.
- In the overlay select different sample users to view the page variants.
In Magnolia EE Pro, the Travel demo illustrates component personalization on the home page using the Tour type cookie.
To view the personalized components:
- In the Pages app open the
travelpage in the editor.
- Click in the top bar to view the page in the browser.
- Click Cultural in the Which tour type are you? component.
- View any tour page and click the logo to navigate back to the home page.
- The question is hidden and the Featured tours (by tour type) component displays cultural tours below the carousel.
Marketing Tags is an Enterprise Edition Std feature.
To see this in action:
- Open the Marketing Tags app in the Tools group.
- Edit any tag to view the configuration options.
- Click Show provider dashboard to view the provider dashboard (as configured in the tag). You can also view the dashboard in your browser.
- View the page source of any page on the public instance to confirm that the tag is added to the HTML.