8. Confluence 4.0
• No more wiki-markup!
• Better keyboard shortcut support.
• Legacy ‘insert wiki-markup’ support.
• We have many wiki-markup fanatics at
Atlassian - we have to satisfy them all.
8
Tuesday, November 2, 2010
9. New Storage Format
• No more wiki-markup!
• Content stored as XHTML with custom
namespaces.
• We provide an API to interact with the
Storage Format
9
Tuesday, November 2, 2010
10. Headings
10
h3. Creating a new macro in Confluence 4.0
Wiki Markup
<h3>Creating a new macro in Confluence 4.0</h3>
XHTML
Tuesday, November 2, 2010
11. Links
11
[Link To Home Page|Home]
Wiki Markup
<ac:link>
<ri:page ri:space-key="ds" ri:content-title="Home" />
<ac:link-body>Link To Home Page</ac:link-body>
</ac:link>
XHTML
Tuesday, November 2, 2010
13. Formatting Macros
13
{color:red}This is some text that should appear in red{color}
Wiki Markup
<span style="color: red;">This is some text that should
appear in red</span>
XHTML
Tuesday, November 2, 2010
14. Disabled Macros
14
{diabledMacro:param1|param2=value2}
And I have a body
{disabledMacro}
Wiki Markup
<ac:macro name="unmigrated-wiki-markup">
<ac:body><![CDATA[
{disabledMacro:param1|param2=value2}
And I have a body
{disabledMacro}
]]></ac:body>
</ac:macro>
XHTML
Tuesday, November 2, 2010
15. API
15
• The BodyContent class now has a BodyType
member.
• Current types are: Wiki, Mail and XHTML
• Initial values are populated as an upgrade task.
• Why? Selective and on-the-fly migration of
unmigrated and previous content versions.
Tuesday, November 2, 2010
17. API
• New bean XhtmlContent for
performing common operations on the
Storage Format.
• Allows you to migrate wiki-markup to
Storage Format.
• Ideally you will not need to touch XHTML
when performing operations with this API.
17
Tuesday, November 2, 2010
18. Migration
• If an instance is upgraded, we need to
migrate the content to the XHTML Storage
Format.
• The latest version of content will be
migrated and saved as a new version.
• We do this by using a custom renderer that
renders wiki-markup to XHTML.
18
Tuesday, November 2, 2010
19. Migration
• Anything that cannot be migrated gets
wrapped in a new macro: unmigrated-wiki-
markup
19
<ac:macro name="unmigrated-wiki-markup">
<ac:body><![CDATA[
{bad-wiki[markup|
]]></ac:body>
</ac:macro>
Tuesday, November 2, 2010
20. Macro Migration
• Macros also need to be migrated!
• Macros don’t have to be 4.0 macros to be
migrated (for now).
• Custom migration implementations are
available to plugins.
20
Tuesday, November 2, 2010
22. Macro Migration
• Automatic migration will select one of the
built in migrators depending on the body
type:
•PlainTextMacroMigrator
•RichTextMacroMigrator
• Custom migration can be used by
implementing the MacroMigrator
interface.
22
Tuesday, November 2, 2010
23. Example / Demo
• Upgrading my macros from 3.x to 4.0, and
fixing some things in migration.
•{mycheese}
•{mycolour}
red:Some red text
{mycolour}
23
Tuesday, November 2, 2010
24. Summary
24
• Confluence 4.0 is going to ROCK!
• XHTML Storage Format
• New API
• Migration
• Macro Migration
Tuesday, November 2, 2010
25. Confluence 4.0 Alpha
http://atlss.in/confdev4
• This is an ALPHA release for AtlasCampers!
• Provided to assist with plugin migration.
• Feedback - especially on migration and interacting
with the storage format - encouraged!
• Please, PLEASE do not install this on a production
instance...
• There is NO upgrade path from this alpha!
25
Tuesday, November 2, 2010