Magnolia 5.5 reached end of life on November 15, 2019. This branch is no longer supported, see End-of-life policy.
This release introduces a completely new authoring interface, the Content Editor, with lots of white space and undisturbed flow of content. Use the content editor to write news articles, blog posts and press releases – anything that is a mix of structured form fields and free-flow composition. You can publish content directly from the editor which helps get new information out without delay.
Also in this release, developers will enjoy the new JavaScript template models and more ways to reuse configuration in light modules.
Content Editor is a new editing interface that lets authors create content easily and publish it instantly. The new editor provides ample white space and an undisturbed flow of content. It is ideally suited for long-form content where you mix structured form fields and free-flowing composition such as news articles, blog posts, product pages and press releases.
The new Stories app provides a ready-to-use implementation of the content editor and is included in the Magnolia enterprise bundles. Customize the Stories app to suit your needs, or use it as a blueprint to create your own content editor app. The Magnolia travel demo provides sample content and pages to demonstrate the capabilities of the content editor.
Benefits:
If a user has the publisher role, they can now reclaim a publication task that was assigned to another user. This avoids one person becoming a bottleneck in the publication workflow.
For example, if a publisher assigns a task to himself and then goes on vacation, leaving the task incomplete, another user can claim the task for himself. The absentee publisher is informed of the change in the Pulse.
Magnolia speaks the language of front-end developers. Now you can supply a JavaScript template model in a light module. Develop and deploy faster without the need for Java, Maven or WAR deployment.
See: How to work with JavaScript models
Your ability to reuse configuration has improved, boosting productivity for front-end development with Magnolia.
You can now reuse configuration easily with YAML !inherit
and !include
directives. Both inherited and included definitions can be modified and overridden. You can !include
from YAML-based files and !inherit
from registered definitions (such as YAML or JCR definitions).
Benefits:
Use cases:
!inherit
A new !inherit
directive allows a YAML file to inherit any other registered definition from any source: Blossom, Java code, JCR or YAML. The result is a new definition that you can modify further. In this way, the new YAML !inherit
directive is very similar to the JCR extends
property.
Reference the inherited definition by its identifier.
Example: Define a new renderer json
. Inherit everything from the freemarker
renderer but specify a different contentType
.
!inherit:freemarker contentType: application/json
!include
The existing !include
directive has been improved. Now you can override the included values. For example, a YAML file that defines an link field can be included in two different dialogs: one dialog definition modifies the required
property to make the field required and another dialog that keeps the field optional.
Reference the included definition using its resource path. You can include a complete definition at the top of your new definition or a fragment at a sub-level. Example: Define a new form. Include a tab and actions from other definitions. Modify a property.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Log in - Magnolia Bitbucket</title><script>
window.WRM=window.WRM||{};window.WRM._unparsedData=window.WRM._unparsedData||{};window.WRM._unparsedErrors=window.WRM._unparsedErrors||{};
WRM._unparsedData["com.atlassian.bitbucket.server.bitbucket-webpack-INTERNAL:user-keyboard-shortcuts-enabled.data"]="true";
WRM._unparsedData["com.atlassian.analytics.analytics-client:programmatic-analytics-init.programmatic-analytics-data-provider"]="false";
WRM._unparsedData["com.atlassian.plugins.atlassian-plugins-webresource-plugin:context-path.context-path"]="\u0022\u0022";
WRM._unparsedData["com.atlassian.plugins.atlassian-clientside-extensions-runtime:runtime.atlassianDevMode"]="false";
WRM._unparsedData["com.atlassian.bitbucket.server.bitbucket-webpack-INTERNAL:date-format-preference.data"]="\u0022\u0022";
WRM._unparsedData["com.atlassian.analytics.analytics-client:policy-update-init.policy-update-data-provider"]="false";
WRM._unparsedData["com.atlassian.bitbucket.plugins.bitbucket-slack-server-integration-plugin:slack-link-error-resources.slack-link-error"]="{}";
WRM._unparsedData["com.atlassian.bitbucket.server.feature-wrm-data:user.time.zone.onboarding.data"]="true";
if(window.WRM._dataArrived)window.WRM._dataArrived();</script>
<link rel="stylesheet" href="/s/5f5fe464516a6c5b9c455381415ace6d-CDN/-2080960375/5e527f2/k9vk2f/aad85a899ed1c68cf9653e735ad438ff/_/download/contextbatch/css/_super/batch.css" data-wrm-key="_super" data-wrm-batch-type="context" media="all">
<link rel="stylesheet" href="/s/7364439700d47cabba95f7a8e86d29af-CDN/-2080960375/5e527f2/k9vk2f/6f9d8fea346063f8a3e3e0b41d4ef6db/_/download/contextbatch/css/bitbucket.page.login,-_super/batch.css" data-wrm-key="bitbucket.page.login,-_super" data-wrm-batch-type="context" media="all">
<link rel="stylesheet" href="/s/e3c5630b7437bc5c57d4bf22bb4c345e-CDN/-2080960375/5e527f2/k9vk2f/2dc868d2ee4aa15648ae7b05871d11ce/_/download/contextbatch/css/bitbucket.layout.focused,bitbucket.layout.base,atl.general,-_super/batch.css?slack-enabled=true" data-wrm-key="bitbucket.layout.focused,bitbucket.layout.base,atl.general,-_super" data-wrm-batch-type="context" media="all">
<script src="/s/23341bfef727890d6f6bfaa16c5d0b5c-CDN/-2080960375/5e527f2/k9vk2f/aad85a899ed1c68cf9653e735ad438ff/_/download/contextbatch/js/_super/batch.js?locale=en-US" data-wrm-key="_super" data-wrm-batch-type="context" data-initially-rendered></script>
<script src="/s/74e6e9fc9e664540e2f615c400d6cd56-CDN/-2080960375/5e527f2/k9vk2f/6f9d8fea346063f8a3e3e0b41d4ef6db/_/download/contextbatch/js/bitbucket.page.login,-_super/batch.js?locale=en-US" data-wrm-key="bitbucket.page.login,-_super" data-wrm-batch-type="context" data-initially-rendered></script>
<script src="/s/f2a79cf770d189c8097469c65fb4da87-CDN/-2080960375/5e527f2/k9vk2f/2dc868d2ee4aa15648ae7b05871d11ce/_/download/contextbatch/js/bitbucket.layout.focused,bitbucket.layout.base,atl.general,-_super/batch.js?locale=en-US&slack-enabled=true" data-wrm-key="bitbucket.layout.focused,bitbucket.layout.base,atl.general,-_super" data-wrm-batch-type="context" data-initially-rendered></script>
<meta name="application-name" content="Bitbucket"><link rel="shortcut icon" type="image/x-icon" href="/s/-2080960375/5e527f2/k9vk2f/1.0/_/download/resources/com.atlassian.bitbucket.server.bitbucket-webpack-INTERNAL:favicon/favicon.ico" /><link rel="search" href="https://git.magnolia-cms.com/plugins/servlet/opensearch-descriptor" type="application/opensearchdescription+xml" title="Bitbucket code search"/></head><body class="aui-page-focused aui-page-focused-small aui-page-size-small bitbucket-theme user-login"><ul id="assistive-skip-links" class="assistive"><li><a href="#content">Skip to content</a></li></ul><div id="page"><!-- start #header --><header id="header" role="banner"><section class="notifications"></section><nav class="aui-header aui-dropdown2-trigger-group" aria-label="site"><div class="aui-header-inner"><div class="aui-header-before"><button class=" aui-dropdown2-trigger app-switcher-trigger aui-dropdown2-trigger-arrowless" aria-controls="app-switcher" aria-haspopup="true" role="button" data-aui-trigger href="#app-switcher"><span class="aui-icon aui-icon-small aui-iconfont-appswitcher">Linked Applications</span></button><div id="app-switcher" class="aui-dropdown2 aui-style-default" role="menu" hidden data-is-user-admin="false" data-is-switcher="true"><div class="app-switcher-loading">Loading…</div></div></div><div class="aui-header-primary"><span id="logo" class="aui-header-logo bitbucket-header-logo"><a href="https://git.magnolia-cms.com"><img src="/s/-2080960375/5e527f2/k9vk2f/1.0/_/download/resources/com.atlassian.bitbucket.server.bitbucket-webpack-INTERNAL:bitbucket-logo/images/logo/bitbucket.svg" alt="Bitbucket"/></a></span><ul class="aui-nav"></ul></div><div class="aui-header-secondary"><ul class="aui-nav"><li class=" help-link"title="Help"><a class=" aui-dropdown2-trigger aui-dropdown2-trigger-arrowless" aria-controls="com.atlassian.bitbucket.server.bitbucket-server-web-fragments-help-menu" aria-haspopup="true" role="button" tabindex="0" data-aui-trigger><span class="aui-icon aui-icon-small aui-icon-small aui-iconfont-question-circle">Help</span></a><div id="com.atlassian.bitbucket.server.bitbucket-server-web-fragments-help-menu" class="aui-dropdown2 aui-style-default" role="menu" hidden data-aui-dom-container="body"><div class="aui-dropdown2-section help-items-section"><ul class="aui-list-truncate" role="presentation"><li role="presentation"><a href="https://docs.atlassian.com/bitbucketserver/docs-089/Bitbucket+Data+Center+and+Server+documentation?utm_campaign=in-app-help&amp;utm_medium=in-app-help&amp;utm_source=stash" title="Go to the online documentation for Bitbucket" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:general-help">Online help</a></li><li role="presentation"><a href="https://www.atlassian.com/git?utm_campaign=learn-git&utm_medium=in-app-help&utm_source=stash" title="Learn about Git commands & workflows" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:learn-git">Learn Git</a></li><li role="presentation"><a href="/getting-started"class="getting-started-page-link" title="Overview of Bitbucket features" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:getting-started-page-help-link">Welcome to Bitbucket</a></li><li role="presentation"><a href="/#"class="keyboard-shortcut-link" title="Discover keyboard shortcuts in Bitbucket" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:keyboard-shortcuts-help-link">Keyboard shortcuts</a></li><li role="presentation"><a href="https://go.atlassian.com/bitbucket-server-whats-new?utm_campaign=in-app-help&utm_medium=in-app-help&utm_source=stash" title="Learn about what's new in Bitbucket" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:whats-new-link">What's new</a></li><li role="presentation"><a href="https://go.atlassian.com/bitbucket-server-community?utm_campaign=in-app-help&utm_medium=in-app-help&utm_source=stash" title="Explore the Atlassian community" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:community-link">Community</a></li><li role="presentation"><a href="/about" title="About Bitbucket" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:about">About</a></li></ul></div></div></li><li class=" alerts-menu"title="View system alerts"><a href="#alerts" id="alerts-trigger"class="alerts-menu" title="View system alerts" data-web-item-key="com.atlassian.bitbucket.server.bitbucket-server-web-fragments:global-alerts-menu-item">Alerts</a></li></ul></div></div> <!-- End .aui-header-inner --></nav> <!-- End .aui-header --></header><!-- End #header --><!-- Start #content --><section id="content" role="main" tabindex="-1" data-timezone="-120" ><div class="aui-page-panel content-body" ><div class="aui-page-panel-inner"><main role="main" id="main" class="aui-page-panel-content" ><h2>Log in</h2><form class="aui top-label prevent-double-submit " action="/j_atl_security_check" method="post" accept-charset="UTF-8"><div class="field-group"><label for="j_username" >Username</label><input class="text long-field" type="text" id="j_username" name="j_username" autofocus accesskey="u"/></div><div class="field-group"><label for="j_password" >Password</label><input class="text long-field" type="password" id="j_password" name="j_password" accesskey="p"/></div><div class="aui-group"><fieldset class="group checkbox"><div class="checkbox"><input class="checkbox" type="checkbox" id="_atl_remember_me" name="_atl_remember_me" checked="checked" accesskey="r"/><label for="_atl_remember_me" >Keep me logged in</label></div></fieldset></div><div class="aui-group"><input name="next" type="hidden" value="/projects/DOCUMENTATION/repos/having-fun-with-yaml/raw/light-modules/module-a/dialogs/components/lazy-component.yaml?at=master"/><input name="queryString" type="hidden" value="next=%2Fprojects%2FDOCUMENTATION%2Frepos%2Fhaving-fun-with-yaml%2Fraw%2Flight-modules%2Fmodule-a%2Fdialogs%2Fcomponents%2Flazy-component.yaml%3Fat%3Dmaster"/><input class="aui-button aui-button-primary" type="submit" id="submit" name="submit" value="Log in" accesskey="s"/><a id="forgot" class="aui-button aui-button-link" name="forgot" href="/passwordreset" autocomplete="off" tabindex="0">Unable to access your account?</a></div></form></main></div></div></section><!-- End #content --><!-- Start #footer --><footer id="footer" role="contentinfo"><section class="notifications"></section><section class="footer-body"><ul><li data-key="footer.license.message">Git repository management for enterprise teams powered by <a href="https://www.atlassian.com/software/bitbucket/">Atlassian Bitbucket</a></li></ul><ul><li>Atlassian Bitbucket <span title="5e527f230b23d8b06680fcead51b9e55061f12eb" id="product-version" data-commitid="5e527f230b23d8b06680fcead51b9e55061f12eb" data-system-build-number="5e527f2"> v8.9.0</span></li><li data-key="footer.links.documentation"><a href="https://docs.atlassian.com/bitbucketserver/docs-089/Bitbucket+Data+Center+and+Server+documentation?utm_campaign=in-app-help&utm_medium=in-app-help&utm_source=stash" target="_blank">Documentation</a></li><li data-key="footer.links.jac"><a href="https://jira.atlassian.com/browse/BSERV?utm_campaign=in-app-help&utm_medium=in-app-help&utm_source=stash" target="_blank">Request a feature</a></li><li data-key="footer.links.about"><a href="/about">About</a></li><li data-key="footer.links.contact.atlassian"><a href="https://www.atlassian.com/company/contact?utm_campaign=in-app-help&utm_medium=in-app-help&utm_source=stash" target="_blank">Contact Atlassian</a></li></ul><div id="footer-logo"><a href="https://www.atlassian.com/" target="_blank">Atlassian</a></div></section></footer><!-- End #footer --></div><script>require('bitbucket/internal/layout/base/base').onReady(null, "Magnolia Bitbucket" ); require('bitbucket/internal/widget/keyboard-shortcuts/keyboard-shortcuts').onReady();</script><script type="text/javascript">require('bitbucket/internal/page/login/login').onReady();</script></body></html>
blackOrWhite
field from the include.
With Magnolia 5.5.6 the syntax has changed slightly. The old syntax still works. When using the new version, you can modify and override the included part of the definition, see syntax versions.
See: YAML include
Known issue: - MAGNOLIA-7126Getting issue details... STATUS
To get a better understanding of any object, you can use the new
cmsfn.dump
function in a template script to output an object's structure and content. By default the function looks down to the 3rd level of an object and produces the output in plain text, optionally in a simple HTML format.
Example:
${cmsfn.dump(content, 3, true)}
As a frontend developer, you can configure virtual URI mappings in a YAML definition file inside a light module folder.
Example:
class: info.magnolia.virtualuri.mapping.DefaultVirtualUriMapping fromUri: /ee toUri: forward:/enterprise-edition
info.magnolia.core:magnolia-virtual-uri
in the main
reactor.As we made the new mappings safer to use, host-based URI mappings currently require their toUri
property to be also configured (outside of the domain mappings); otherwise, they are ignored. Such fallback may not always be desired. We will amend this to make the fallback target URI optional again. See
-
MAGNOLIA-7158Getting issue details...
STATUS
Use the placeholder
property to give the user a hint about what they should enter into text and link fields. For example, you can show the expected format for a phone number or give a hint about the importance of entering metadata for SEO purposes. A placeholder text can prevent input errors before they happen.
The placeholder
property is available in text field and link field definitions. The property allows you to define a text (i18n compliant) to be displayed in a field before a user enters something. The earlier purpose-built PlaceholderTextFieldDefinition class is now deprecated.
Released almost simultaneously with Magnolia 5.5.6, version 1.9 of the LDAP Connector module is now configured under the appropriate node in /server/security/userManagers
. The configuration also allows a more convenient customization of its properties.
5.5.6 changelog with all the changes.
The Magnolia team would also like to thank everyone who reported issues, contributed patches, or simply commented on issues for this release. Your continued interest helps us make Magnolia better. Special thanks go to: Marcel Boer, Marcus Büttner, Andrea Castelli, Chris Jennings, Jens Kolb and Ronald Ten Berge.