SlideShare une entreprise Scribd logo
1  sur  79
Confluence 4 and Beyond



  Sherif Mansour
  Confluence Product Manager, Atlassian


  Charles Miller
  Confluence Architect, Atlassian
                                          2
Agenda
• Confluence 4 for
 • Users
 • Plugin Developers
• Beyond the 4.0 editing experience
 • Releases
 • Other 4.0 developer improvements
                                      3
Confluence 4.0




                 4
Confluence 4.0




                 4
5
Fir! class   experiences


                           5
Fir! class   experiences


                           5
First class for content




                          6
First class for content
 • Value increases with content




                                  6
First class for content
 • Value increases with content


 • Start of collaboration cycle




                                  6
7
You




      7
You




      7
You




      7
8
9
Brilliantly Simple




                     9
10
Packed with Power




            visual macros   advanced tables


                                              10
11
Intelligent and Fast




   h1. Hi -> Hi
   *bold * -> bold
       :) ->



autoformat wiki markup       autocomplete +   paste images
                               shortcut luv
                                                             11
12
Familiarly Social




                    12
First Class Content Creation
Experience




                               13
First Class Content Creation
Experience

       Brilliantly Simple    Packed with Power



      Intelligent and Fast    Familiarly Social




                                                  13
14
14
15
Confluence 2.x
                 15
Confluence 2.x   Confluence 3.x
                                  15
Confluence 2.x   Confluence 3.x   Confluence 4.x
                                                   15
Confluence 4.x




                 16
Confluence 4.x




                 16
Confluence 4.x




                 17
Confluence 4.x




                 17
Confluence 4.x




                 17
Confluence 4.x




                 17
Confluence 4.x




                 You control this experience




                                               17
Confluence 4.x




                 17
Confluence 4.x




                 17
Confluence 4.x




                 17
Confluence 4.x




     • No macro parameter knowledge required


     • No need for the user to know about the macro


     • Create a more WYSIWYG experience


     • You control the experience, seamless integration
                                                          18
Confluence 4.x

1. Insert menu

2. Formatting menu

3. Custom property
   panel buttons

4. Rendered images as
   macro placeholders

5. Footer actions

6. Default parameter in
  placeholder
                          19
Confluence 4.x

1. Insert menu

2. Formatting menu

3. Custom property
   panel buttons

4. Rendered images as
   macro placeholders          2:15 pm
                               Thursday
5. Footer actions

6. Default parameter in   Ryan Thomas
  placeholder
                                          19
20
Fir! class




             20
Beyond 4.0
• 4.1 - Page Layouts



• 4.2 - Template Improvements




                                21
Confluence 4 and Beyond



  Sherif Mansour
  Confluence Product Manager, Atlassian

   Charles Miller
   Confluence Architect, Atlassian
                                          22
Confluence 4 and Beyond



  Sherif Mansour
  Confluence Product Manager, Atlassian

   Charles Miller
   Confluence Architect, Atlassian
                                          22
Two cool things for 4.0
…that aren’t the rich text editor




     Charles Miller
     Confluence Architect, Atlassian
                                       23
Closure Templates



                    24
Closure Templates
• Language-neutral
• Compiled to Javascript for the client
• Component-based




               http://code.google.com/closure/templates/index.html
                                                                     25
Defining a template
example.soy

     {namespace Confluence.Templates.Example}
     /**
      * Renders a Hello message.
      * @param name the name of the user
      */
     {template .helloWorld}
         <div>Hello {$name}!</div>
     {/template}


      https://developer.atlassian.com/display/CONFDEV/Templating+in+JavaScript+with+Soy   26
Looping and Branching
{foreach $child in $children}
     {call .pageInfo data="$child"}
        {param oddRow: index($child) % 2 /}
     {/call}
{ifEmpty}
     {getText(‘page.has.no.children’)}
{/foreach}



                                              27
Invoking a template
example.js

      var data = {name: “John Smith”}

      Confluence.Templates.Example.helloWorld(data);




       https://developer.atlassian.com/display/CONFDEV/Templating+in+JavaScript+with+Soy   28
Compiling a template
   atlassian-plugin.xml
          <web-resource key="example-resources">
              <transformation extension="soy">
                 <transformer key="soyTransformer"/>
              </transformation>

              <resource type="download" name="example-soy.js"
                        location="/soy/example.soy"/>
          </web-resource>




https://developer.atlassian.com/display/PLUGINFRAMEWORK/Web+Resource+Transformer+Plugin+Module   29
Closure (Soy) Templates
• Bundled plugin in Confluence 4.0
• Server-side templates supported in 4.1




                                           30
JSON-RPC



           31
RPC
 • SOAP

    • Complicated XML protocol

    • Made easy with tool support

 • XML-RPC

    • Simpler XML protocol

    • Widely available libraries

https://developer.atlassian.com/display/CONFDEV/Confluence+XML-RPC+and+SOAP+APIs   32
REST
• Data transport agnostic (usually XML/JSON)
• Pure HTTP, no need for library support
• Limited Confluence API




                                               33
JSON-RPC
• Simple JSON protocol
• RPC, not REST
• Easy to use from the browser




                                 34
Standard JSON-RPC
• Too much protocol overhead
• Still requires a client-side library




                     http://groups.google.com/group/json-rpc   35
JSON-RPC plugin
• Exposes all XML-RPC/SOAP services as JSON-RPC
• Authentication via web login session
• Supports both standard JSON-RPC and a web-friendly
  “light” protocol




             https://plugins.atlassian.com/plugin/details/40277   36
JSON-RPC Light Request
   POST /rpc/json-rpc/confluenceservice-v2/getSpace

        [ "DOC" ]




                                                      37
JSON-RPC Light Response
   POST /rpc/json-rpc/confluenceservice-v2/getSpace
        { key : "DOC",
          name : "Documentation Space",
          url : "http://wiki.example.com/display/DOC",
          homePage : "Home",
          description : "Product Documentation" }




                                                         38
Calling from jQuery
jQuery.ajax({
    url: Confluence.getContextPath() +
          “/rpc/json-rpc/confluenceservice-v2/getSpace”,
    type: “POST”,
    dataType: “json”,
    contentType: "application/json",
    data: JSON.stringify([ AJS.Meta.get(“space-id”) ]),
    success: function(data) { show_space(data) },
    error: function(data) { show_error(data) }
});




                                                           39
Confluence JSON-RPC Plugin
• Available from plugins.atlassian.com
• Compatible with Confluence 3.5 or later
• Will be bundled with Confluence 4.1




                                            40
Putting them together…



                         41
42
43
Retrieve with JSON-RPC
jQuery.ajax({
        url: Confluence.getContextPath() +
              "/rpc/json-rpc/confluenceservice-v2/getPageHistory",
        type: "POST",
        dataType: "json",
        contentType: "application/json",
        data: JSON.stringify([ AJS.Meta.get("page-id") ]),
        success: function(data) { show_history_popup(data) },
        error: function(data) { show_error_popup(data) }
    });




                                                                     44
Display with Closure
    function show_history_popup(historyData) {
       popup = AJS.ConfluenceDialog({
                   width : 865,
                   height: 530,
                   id: "page-history-dialog",
                   onCancel: cancel
               });
       ...
       popup.addPanel(
          Confluence.Templates.Plugins.Pagehistory.popup(
             { histories: historyData })
       popup.show();
}


                                                            45
Display with Closure
pagehistory-template.soy
      /**
       * Displays the page history popup
       *
       * @param histories array of the history objects to list
       */
      {template .popup}
              <form name="diff" method="GET" action="{contextPath}/pages/diffpagesbyversion.action">

                  <input type="submit" value="{getText('compare.selected')}">
                  <input type="hidden" name="pageId" value="{$histories[0].id}">
                      <table id="page-history-container" width="100%" cellspacing="0" class="tableview">
                           <tr>
                              <th>&nbsp;</th>
                              <th>{getText('heading.version.number')}</th>
                              <th>{getText('heading.version.date')}</th>
                              <th>{getText('heading.comment')}</th>
                            </tr>

                             {foreach $history in $histories}
                                 {call .historyRow data="$history"}
                                     {param current: isFirst($history)/}
                                 {/call}
                             {/foreach}
                        </table>
              </form>
      {/template}                                                                                          46
Cheat it into the menu…
$("#action-view-history-link").click(function(e) {
     show_history();
     e.preventDefault();
});




                                                     47
48
Download the code


https://bitbucket.org/cmiller_atlassian/atlascamp-pagehistory-demo




                                                                     49
Thank you
• Learn more about Confluence 4:
   1.http://atlss.in/confluence4
   2.Hands-on Developer Sessions
   3.“Pimp my Confluence Plugin” - Thursday, 2:15pm


• Questions?
  charles@atlassian.com, sherif@atlassian.com         50
Thank you!

Contenu connexe

Tendances

Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsOpening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsBastian Hofmann
 
CUST-1 Share Document Library Extension Points
CUST-1 Share Document Library Extension PointsCUST-1 Share Document Library Extension Points
CUST-1 Share Document Library Extension PointsAlfresco Software
 
Vaadin7
Vaadin7Vaadin7
Vaadin7jojule
 
Chrome Extensions for Hackers
Chrome Extensions for HackersChrome Extensions for Hackers
Chrome Extensions for HackersCristiano Betta
 
Easy rest service using PHP reflection api
Easy rest service using PHP reflection apiEasy rest service using PHP reflection api
Easy rest service using PHP reflection apiMatthieu Aubry
 
RESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP FrameworkRESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP FrameworkBo-Yi Wu
 
Rails for Mobile Devices @ Conferencia Rails 2011
Rails for Mobile Devices @ Conferencia Rails 2011Rails for Mobile Devices @ Conferencia Rails 2011
Rails for Mobile Devices @ Conferencia Rails 2011Alberto Perdomo
 

Tendances (9)

Web services tutorial
Web services tutorialWeb services tutorial
Web services tutorial
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsOpening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
CUST-1 Share Document Library Extension Points
CUST-1 Share Document Library Extension PointsCUST-1 Share Document Library Extension Points
CUST-1 Share Document Library Extension Points
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Chrome Extensions for Hackers
Chrome Extensions for HackersChrome Extensions for Hackers
Chrome Extensions for Hackers
 
Easy rest service using PHP reflection api
Easy rest service using PHP reflection apiEasy rest service using PHP reflection api
Easy rest service using PHP reflection api
 
RESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP FrameworkRESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP Framework
 
Rails for Mobile Devices @ Conferencia Rails 2011
Rails for Mobile Devices @ Conferencia Rails 2011Rails for Mobile Devices @ Conferencia Rails 2011
Rails for Mobile Devices @ Conferencia Rails 2011
 

Similaire à AtlasCamp 2011: Confluence 4 and Beyond

Remixing Confluence With Speakeasy
Remixing Confluence With SpeakeasyRemixing Confluence With Speakeasy
Remixing Confluence With Speakeasynabeelahali
 
Remixing Confluence with Speakeasy - AtlasCamp 2011
Remixing Confluence with Speakeasy - AtlasCamp 2011Remixing Confluence with Speakeasy - AtlasCamp 2011
Remixing Confluence with Speakeasy - AtlasCamp 2011Atlassian
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Arun Gupta
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Docker, Inc.
 
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...NETWAYS
 
How to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share featureHow to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share featureAngel Borroy López
 
ITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesOrtus Solutions, Corp
 
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012 Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012 Atlassian
 
An Introduction to Tornado
An Introduction to TornadoAn Introduction to Tornado
An Introduction to TornadoGavin Roy
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
 
Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2Hugo Hamon
 
The Ring programming language version 1.5.4 book - Part 43 of 185
The Ring programming language version 1.5.4 book - Part 43 of 185The Ring programming language version 1.5.4 book - Part 43 of 185
The Ring programming language version 1.5.4 book - Part 43 of 185Mahmoud Samir Fayed
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersRob Windsor
 
RichFaces: rich:* component library
RichFaces: rich:* component libraryRichFaces: rich:* component library
RichFaces: rich:* component libraryMax Katz
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4pietrobr
 
Semantic technologies in practice - KULeuven 2016
Semantic technologies in practice - KULeuven 2016Semantic technologies in practice - KULeuven 2016
Semantic technologies in practice - KULeuven 2016Aad Versteden
 
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...Codemotion
 

Similaire à AtlasCamp 2011: Confluence 4 and Beyond (20)

Remixing Confluence With Speakeasy
Remixing Confluence With SpeakeasyRemixing Confluence With Speakeasy
Remixing Confluence With Speakeasy
 
Remixing Confluence with Speakeasy - AtlasCamp 2011
Remixing Confluence with Speakeasy - AtlasCamp 2011Remixing Confluence with Speakeasy - AtlasCamp 2011
Remixing Confluence with Speakeasy - AtlasCamp 2011
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
 
How to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share featureHow to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share feature
 
ITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul Services
 
Symfony2 revealed
Symfony2 revealedSymfony2 revealed
Symfony2 revealed
 
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012 Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
 
An Introduction to Tornado
An Introduction to TornadoAn Introduction to Tornado
An Introduction to Tornado
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
 
Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2
 
The Ring programming language version 1.5.4 book - Part 43 of 185
The Ring programming language version 1.5.4 book - Part 43 of 185The Ring programming language version 1.5.4 book - Part 43 of 185
The Ring programming language version 1.5.4 book - Part 43 of 185
 
TIAD : Automating the modern datacenter
TIAD : Automating the modern datacenterTIAD : Automating the modern datacenter
TIAD : Automating the modern datacenter
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
RichFaces: rich:* component library
RichFaces: rich:* component libraryRichFaces: rich:* component library
RichFaces: rich:* component library
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4
 
Semantic technologies in practice - KULeuven 2016
Semantic technologies in practice - KULeuven 2016Semantic technologies in practice - KULeuven 2016
Semantic technologies in practice - KULeuven 2016
 
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

AtlasCamp 2011: Confluence 4 and Beyond

  • 1.
  • 2. Confluence 4 and Beyond Sherif Mansour Confluence Product Manager, Atlassian Charles Miller Confluence Architect, Atlassian 2
  • 3. Agenda • Confluence 4 for • Users • Plugin Developers • Beyond the 4.0 editing experience • Releases • Other 4.0 developer improvements 3
  • 6. 5
  • 7. Fir! class experiences 5
  • 8. Fir! class experiences 5
  • 9. First class for content 6
  • 10. First class for content • Value increases with content 6
  • 11. First class for content • Value increases with content • Start of collaboration cycle 6
  • 12. 7
  • 13. You 7
  • 14. You 7
  • 15. You 7
  • 16. 8
  • 17. 9
  • 19. 10
  • 20. Packed with Power visual macros advanced tables 10
  • 21. 11
  • 22. Intelligent and Fast h1. Hi -> Hi *bold * -> bold :) -> autoformat wiki markup autocomplete + paste images shortcut luv 11
  • 23. 12
  • 25. First Class Content Creation Experience 13
  • 26. First Class Content Creation Experience Brilliantly Simple Packed with Power Intelligent and Fast Familiarly Social 13
  • 27. 14
  • 28. 14
  • 29. 15
  • 31. Confluence 2.x Confluence 3.x 15
  • 32. Confluence 2.x Confluence 3.x Confluence 4.x 15
  • 39. Confluence 4.x You control this experience 17
  • 43. Confluence 4.x • No macro parameter knowledge required • No need for the user to know about the macro • Create a more WYSIWYG experience • You control the experience, seamless integration 18
  • 44. Confluence 4.x 1. Insert menu 2. Formatting menu 3. Custom property panel buttons 4. Rendered images as macro placeholders 5. Footer actions 6. Default parameter in placeholder 19
  • 45. Confluence 4.x 1. Insert menu 2. Formatting menu 3. Custom property panel buttons 4. Rendered images as macro placeholders 2:15 pm Thursday 5. Footer actions 6. Default parameter in Ryan Thomas placeholder 19
  • 46. 20
  • 48. Beyond 4.0 • 4.1 - Page Layouts • 4.2 - Template Improvements 21
  • 49. Confluence 4 and Beyond Sherif Mansour Confluence Product Manager, Atlassian Charles Miller Confluence Architect, Atlassian 22
  • 50. Confluence 4 and Beyond Sherif Mansour Confluence Product Manager, Atlassian Charles Miller Confluence Architect, Atlassian 22
  • 51. Two cool things for 4.0 …that aren’t the rich text editor Charles Miller Confluence Architect, Atlassian 23
  • 53. Closure Templates • Language-neutral • Compiled to Javascript for the client • Component-based http://code.google.com/closure/templates/index.html 25
  • 54. Defining a template example.soy {namespace Confluence.Templates.Example} /** * Renders a Hello message. * @param name the name of the user */ {template .helloWorld} <div>Hello {$name}!</div> {/template} https://developer.atlassian.com/display/CONFDEV/Templating+in+JavaScript+with+Soy 26
  • 55. Looping and Branching {foreach $child in $children} {call .pageInfo data="$child"} {param oddRow: index($child) % 2 /} {/call} {ifEmpty} {getText(‘page.has.no.children’)} {/foreach} 27
  • 56. Invoking a template example.js var data = {name: “John Smith”} Confluence.Templates.Example.helloWorld(data); https://developer.atlassian.com/display/CONFDEV/Templating+in+JavaScript+with+Soy 28
  • 57. Compiling a template atlassian-plugin.xml <web-resource key="example-resources"> <transformation extension="soy"> <transformer key="soyTransformer"/> </transformation> <resource type="download" name="example-soy.js" location="/soy/example.soy"/> </web-resource> https://developer.atlassian.com/display/PLUGINFRAMEWORK/Web+Resource+Transformer+Plugin+Module 29
  • 58. Closure (Soy) Templates • Bundled plugin in Confluence 4.0 • Server-side templates supported in 4.1 30
  • 59. JSON-RPC 31
  • 60. RPC • SOAP • Complicated XML protocol • Made easy with tool support • XML-RPC • Simpler XML protocol • Widely available libraries https://developer.atlassian.com/display/CONFDEV/Confluence+XML-RPC+and+SOAP+APIs 32
  • 61. REST • Data transport agnostic (usually XML/JSON) • Pure HTTP, no need for library support • Limited Confluence API 33
  • 62. JSON-RPC • Simple JSON protocol • RPC, not REST • Easy to use from the browser 34
  • 63. Standard JSON-RPC • Too much protocol overhead • Still requires a client-side library http://groups.google.com/group/json-rpc 35
  • 64. JSON-RPC plugin • Exposes all XML-RPC/SOAP services as JSON-RPC • Authentication via web login session • Supports both standard JSON-RPC and a web-friendly “light” protocol https://plugins.atlassian.com/plugin/details/40277 36
  • 65. JSON-RPC Light Request POST /rpc/json-rpc/confluenceservice-v2/getSpace [ "DOC" ] 37
  • 66. JSON-RPC Light Response POST /rpc/json-rpc/confluenceservice-v2/getSpace { key : "DOC", name : "Documentation Space", url : "http://wiki.example.com/display/DOC", homePage : "Home", description : "Product Documentation" } 38
  • 67. Calling from jQuery jQuery.ajax({ url: Confluence.getContextPath() + “/rpc/json-rpc/confluenceservice-v2/getSpace”, type: “POST”, dataType: “json”, contentType: "application/json", data: JSON.stringify([ AJS.Meta.get(“space-id”) ]), success: function(data) { show_space(data) }, error: function(data) { show_error(data) } }); 39
  • 68. Confluence JSON-RPC Plugin • Available from plugins.atlassian.com • Compatible with Confluence 3.5 or later • Will be bundled with Confluence 4.1 40
  • 70. 42
  • 71. 43
  • 72. Retrieve with JSON-RPC jQuery.ajax({ url: Confluence.getContextPath() + "/rpc/json-rpc/confluenceservice-v2/getPageHistory", type: "POST", dataType: "json", contentType: "application/json", data: JSON.stringify([ AJS.Meta.get("page-id") ]), success: function(data) { show_history_popup(data) }, error: function(data) { show_error_popup(data) } }); 44
  • 73. Display with Closure function show_history_popup(historyData) { popup = AJS.ConfluenceDialog({ width : 865, height: 530, id: "page-history-dialog", onCancel: cancel }); ... popup.addPanel( Confluence.Templates.Plugins.Pagehistory.popup( { histories: historyData }) popup.show(); } 45
  • 74. Display with Closure pagehistory-template.soy /** * Displays the page history popup * * @param histories array of the history objects to list */ {template .popup} <form name="diff" method="GET" action="{contextPath}/pages/diffpagesbyversion.action"> <input type="submit" value="{getText('compare.selected')}"> <input type="hidden" name="pageId" value="{$histories[0].id}"> <table id="page-history-container" width="100%" cellspacing="0" class="tableview"> <tr> <th>&nbsp;</th> <th>{getText('heading.version.number')}</th> <th>{getText('heading.version.date')}</th> <th>{getText('heading.comment')}</th> </tr> {foreach $history in $histories} {call .historyRow data="$history"} {param current: isFirst($history)/} {/call} {/foreach} </table> </form> {/template} 46
  • 75. Cheat it into the menu… $("#action-view-history-link").click(function(e) { show_history(); e.preventDefault(); }); 47
  • 76. 48
  • 78. Thank you • Learn more about Confluence 4: 1.http://atlss.in/confluence4 2.Hands-on Developer Sessions 3.“Pimp my Confluence Plugin” - Thursday, 2:15pm • Questions? charles@atlassian.com, sherif@atlassian.com 50

Notes de l'éditeur

  1. \n
  2. Hello Everyone,\nIt&amp;#x2019;s really exciting to be here at AtlasCamp this year. I see some familiar faces which is great to see people returning and also see quite a few new faces, so I&amp;#x2019;m looking forward to meeting some of you over the next couple of days.\n\nFor those of you who don&amp;#x2019;t know me, I&amp;#x2019;m Sherif Mansour, a Product Manager on Confluence...\n
  3. ....and for the first half of this presentation, you&amp;#x2019;ll be hearing from me mostly about Confluence 4.0 and how we&amp;#x2019;ve created new and, I think awesome, experiences for your end users and for you as as plugin developers. \n\nFollowing that I&amp;#x2019;ll give you a sneak peak into what we have planned for beyond 4.0 and then I&amp;#x2019;ll had it over to Charles Miller, our product Architect, who will share with you what other plugin developer improvements we&amp;#x2019;ve made beyond the Confluence 4 editing experience. \n \n\n
  4. So first things first, the exciting news! Confluence finally 4.0 shipped last week! The team is really excited about this as we&amp;#x2019;ve been working on the release for more than a year now, and couldn&amp;#x2019;t wait to get the release into your hands.\n\n\n\n
  5. So first things first, the exciting news! Confluence finally 4.0 shipped last week! The team is really excited about this as we&amp;#x2019;ve been working on the release for more than a year now, and couldn&amp;#x2019;t wait to get the release into your hands.\n\n\n\n
  6. But before diving into the detail of the release and what it means for you, I wanted to take a step back, pause for a moment and talk about experiences... \n\nin particular first class experiences...\n\nNow, I don&amp;#x2019;t know about you guys, but I certainly didn&apos;t really first class experience flight here. I few with United airlines... I don&amp;#x2019;t think you could call a cracky old lady serving you some over-cooked chicken first-class, but...\n\nBut when you think about amazing first class experiences....what do you think? (pause) \n\nI was reading my feeds the other day and an article came up about Singapore Airlines and some of the awards they&amp;#x2019;ve won for their first class experience. \n\nThey&amp;#x2019;ve created these first class &amp;#x201C;suites&amp;#x201D; on some of their A380&amp;#x2019;s. These are individual private cabins with leather seats, mood lighting, a 23-inch wide LCD, your choice of different pillow types as well as a full-sized single bed. Talk about the first class experience, I was pretty impressed about what they&amp;#x2019;ve done. \n\nA first class experience is often memorable, its a pleasure to be in its something everyone wants... Now for airlines, we judge the airline mostly through the value for money and the flight experience because that is where you spend most of your time... \n\n....but what about for Confluence. If we were to create a first-class experience, where would it begin? \n
  7. But before diving into the detail of the release and what it means for you, I wanted to take a step back, pause for a moment and talk about experiences... \n\nin particular first class experiences...\n\nNow, I don&amp;#x2019;t know about you guys, but I certainly didn&apos;t really first class experience flight here. I few with United airlines... I don&amp;#x2019;t think you could call a cracky old lady serving you some over-cooked chicken first-class, but...\n\nBut when you think about amazing first class experiences....what do you think? (pause) \n\nI was reading my feeds the other day and an article came up about Singapore Airlines and some of the awards they&amp;#x2019;ve won for their first class experience. \n\nThey&amp;#x2019;ve created these first class &amp;#x201C;suites&amp;#x201D; on some of their A380&amp;#x2019;s. These are individual private cabins with leather seats, mood lighting, a 23-inch wide LCD, your choice of different pillow types as well as a full-sized single bed. Talk about the first class experience, I was pretty impressed about what they&amp;#x2019;ve done. \n\nA first class experience is often memorable, its a pleasure to be in its something everyone wants... Now for airlines, we judge the airline mostly through the value for money and the flight experience because that is where you spend most of your time... \n\n....but what about for Confluence. If we were to create a first-class experience, where would it begin? \n
  8. But before diving into the detail of the release and what it means for you, I wanted to take a step back, pause for a moment and talk about experiences... \n\nin particular first class experiences...\n\nNow, I don&amp;#x2019;t know about you guys, but I certainly didn&apos;t really first class experience flight here. I few with United airlines... I don&amp;#x2019;t think you could call a cracky old lady serving you some over-cooked chicken first-class, but...\n\nBut when you think about amazing first class experiences....what do you think? (pause) \n\nI was reading my feeds the other day and an article came up about Singapore Airlines and some of the awards they&amp;#x2019;ve won for their first class experience. \n\nThey&amp;#x2019;ve created these first class &amp;#x201C;suites&amp;#x201D; on some of their A380&amp;#x2019;s. These are individual private cabins with leather seats, mood lighting, a 23-inch wide LCD, your choice of different pillow types as well as a full-sized single bed. Talk about the first class experience, I was pretty impressed about what they&amp;#x2019;ve done. \n\nA first class experience is often memorable, its a pleasure to be in its something everyone wants... Now for airlines, we judge the airline mostly through the value for money and the flight experience because that is where you spend most of your time... \n\n....but what about for Confluence. If we were to create a first-class experience, where would it begin? \n
  9. But before diving into the detail of the release and what it means for you, I wanted to take a step back, pause for a moment and talk about experiences... \n\nin particular first class experiences...\n\nNow, I don&amp;#x2019;t know about you guys, but I certainly didn&apos;t really first class experience flight here. I few with United airlines... I don&amp;#x2019;t think you could call a cracky old lady serving you some over-cooked chicken first-class, but...\n\nBut when you think about amazing first class experiences....what do you think? (pause) \n\nI was reading my feeds the other day and an article came up about Singapore Airlines and some of the awards they&amp;#x2019;ve won for their first class experience. \n\nThey&amp;#x2019;ve created these first class &amp;#x201C;suites&amp;#x201D; on some of their A380&amp;#x2019;s. These are individual private cabins with leather seats, mood lighting, a 23-inch wide LCD, your choice of different pillow types as well as a full-sized single bed. Talk about the first class experience, I was pretty impressed about what they&amp;#x2019;ve done. \n\nA first class experience is often memorable, its a pleasure to be in its something everyone wants... Now for airlines, we judge the airline mostly through the value for money and the flight experience because that is where you spend most of your time... \n\n....but what about for Confluence. If we were to create a first-class experience, where would it begin? \n
  10. But before diving into the detail of the release and what it means for you, I wanted to take a step back, pause for a moment and talk about experiences... \n\nin particular first class experiences...\n\nNow, I don&amp;#x2019;t know about you guys, but I certainly didn&apos;t really first class experience flight here. I few with United airlines... I don&amp;#x2019;t think you could call a cracky old lady serving you some over-cooked chicken first-class, but...\n\nBut when you think about amazing first class experiences....what do you think? (pause) \n\nI was reading my feeds the other day and an article came up about Singapore Airlines and some of the awards they&amp;#x2019;ve won for their first class experience. \n\nThey&amp;#x2019;ve created these first class &amp;#x201C;suites&amp;#x201D; on some of their A380&amp;#x2019;s. These are individual private cabins with leather seats, mood lighting, a 23-inch wide LCD, your choice of different pillow types as well as a full-sized single bed. Talk about the first class experience, I was pretty impressed about what they&amp;#x2019;ve done. \n\nA first class experience is often memorable, its a pleasure to be in its something everyone wants... Now for airlines, we judge the airline mostly through the value for money and the flight experience because that is where you spend most of your time... \n\n....but what about for Confluence. If we were to create a first-class experience, where would it begin? \n
  11. We&amp;#x2019;ve been doing quite a bit of thinking with this and we strongly believe it has to start with the content creation process. \n\nYou see, when you when you take a step back and reflect on the single, most important asset in your wiki - it&amp;#x2019;s your content. Why? well, two reasons.\n\nThe first reason is fairly obvious: As more content is created in the wiki, the more valuable it is to you and the rest of your team or orgainsation. \n\nSecondly, the act of creating content in your wiki is really the instigator of what we call the &amp;#x201C;collaboration cycle&amp;#x201D;, it is what sparks other users who discover the content, then they jump in and contribute and the collaboration loop starts again.. The faster teams get through this loop the more productive they are.\n\nSo it&amp;#x2019;s very important to have a first-class content creation experience.\n\nSo how have we been doing to achieve this?\n
  12. We&amp;#x2019;ve been doing quite a bit of thinking with this and we strongly believe it has to start with the content creation process. \n\nYou see, when you when you take a step back and reflect on the single, most important asset in your wiki - it&amp;#x2019;s your content. Why? well, two reasons.\n\nThe first reason is fairly obvious: As more content is created in the wiki, the more valuable it is to you and the rest of your team or orgainsation. \n\nSecondly, the act of creating content in your wiki is really the instigator of what we call the &amp;#x201C;collaboration cycle&amp;#x201D;, it is what sparks other users who discover the content, then they jump in and contribute and the collaboration loop starts again.. The faster teams get through this loop the more productive they are.\n\nSo it&amp;#x2019;s very important to have a first-class content creation experience.\n\nSo how have we been doing to achieve this?\n
  13. We&amp;#x2019;ve been doing quite a bit of thinking with this and we strongly believe it has to start with the content creation process. \n\nYou see, when you when you take a step back and reflect on the single, most important asset in your wiki - it&amp;#x2019;s your content. Why? well, two reasons.\n\nThe first reason is fairly obvious: As more content is created in the wiki, the more valuable it is to you and the rest of your team or orgainsation. \n\nSecondly, the act of creating content in your wiki is really the instigator of what we call the &amp;#x201C;collaboration cycle&amp;#x201D;, it is what sparks other users who discover the content, then they jump in and contribute and the collaboration loop starts again.. The faster teams get through this loop the more productive they are.\n\nSo it&amp;#x2019;s very important to have a first-class content creation experience.\n\nSo how have we been doing to achieve this?\n
  14. We&amp;#x2019;ve been doing quite a bit of thinking with this and we strongly believe it has to start with the content creation process. \n\nYou see, when you when you take a step back and reflect on the single, most important asset in your wiki - it&amp;#x2019;s your content. Why? well, two reasons.\n\nThe first reason is fairly obvious: As more content is created in the wiki, the more valuable it is to you and the rest of your team or orgainsation. \n\nSecondly, the act of creating content in your wiki is really the instigator of what we call the &amp;#x201C;collaboration cycle&amp;#x201D;, it is what sparks other users who discover the content, then they jump in and contribute and the collaboration loop starts again.. The faster teams get through this loop the more productive they are.\n\nSo it&amp;#x2019;s very important to have a first-class content creation experience.\n\nSo how have we been doing to achieve this?\n
  15. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  16. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  17. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  18. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  19. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  20. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  21. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  22. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  23. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  24. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  25. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  26. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  27. A lot of what we&amp;#x2019;ve done in this area has started from YOUR FEEDBACK.\n\nCan I just get a show of hands for everyone in this room that is involved with Confluence? \n\nOkay, now keep your hand up if you are a wiki champion or administrator of some sort to internal users, your team or customers. \nNow how many of you also do plugin development for Confluence. \nSo, just what I thought, from just asking around in this room a lot of you play two roles.\n\nMany of you here are Confluence administrators and or wiki champions within your teams, organisations or for your customers. This involves more than just administering the system. Many of you are also the point of contact for your end users, everything from answering &amp;#x201C;how to questions&amp;#x201D; to helping people create content. \n \n A lot of the end-user feedback you&amp;#x2019;ve given us related to the user interface, the intuitiveness of the editor and macros. The more we can make your end users lives easier, the more we reduce the hand-holding you do today and the more productive you can they can be.\n\nThe second role a lot of you play in this room as that you build and extend confluence: for internal, external open source and commercial plugins. You take a look at our Atlassian Plugin exchange and a lot of the Confluence plugins out there are macros that interact or embed content into pages.\n\n A lot of the feedback you gave us in this area relates to providing a more natural experience in inserting and interacting with macros and about how we can make those macros more of a first-class citizen in the editor. \n\nSo over the next few minutes, I&amp;#x2019;m going to quickly cover what we&amp;#x2019;ve done in both these areas for you; How I think we&amp;#x2019;ve created a much better experience for your end users and a first class experience for your content macros. \n\n
  28. Let&amp;#x2019;s start off with how we&amp;#x2019;ve made your life easier for your end-users.\n\nNow to go through this section, I&amp;#x2019;m going to quickly run through the four main focus areas we had when building Confluence 4. Because most of this is covered in our release material, I&amp;#x2019;ll move pretty quickly through this and at the end of the presentation Charles will flash a link with more detail. \n
  29. Our first focus area has been simplicity. \n\nIn terms of simplicity, we&amp;#x2019;ve focused on helping you increase adoption with the teams that you work with and making your life easier as a wiki champion - less hand-holding. \n\n* We&amp;#x2019;ve simplified the editing experience to a single editor and new editor UI\n* Made a lot of the UI more intuitive, like inserting tables\n* We&amp;#x2019;ve made it easier to interact with content, moving some of the things you had to do with macros before (like aligning text) as part of the core editing experience. \n\n\n
  30. Our first focus area has been simplicity. \n\nIn terms of simplicity, we&amp;#x2019;ve focused on helping you increase adoption with the teams that you work with and making your life easier as a wiki champion - less hand-holding. \n\n* We&amp;#x2019;ve simplified the editing experience to a single editor and new editor UI\n* Made a lot of the UI more intuitive, like inserting tables\n* We&amp;#x2019;ve made it easier to interact with content, moving some of the things you had to do with macros before (like aligning text) as part of the core editing experience. \n\n\n
  31. The second focus area has been power. One of Confluence biggest differentiators is macros. And a lot of the feedback we get from you is that your end users find it difficult to interact with macros, change properties and visualise them on the page. We&amp;#x2019;ve made it easier for your average user to interact with macros and create dynamic pages with the introduction of visual macros: placeholder representations of macros on a page.\n\nWe&amp;#x2019;ve also enabled users to create advanced tables (merge/split table cells) as made it really easy for any user to turn an image into a link - something which really could only be done in the past by advanced users and required a lot of hand-holding for the average user.\n
  32. The second focus area has been power. One of Confluence biggest differentiators is macros. And a lot of the feedback we get from you is that your end users find it difficult to interact with macros, change properties and visualise them on the page. We&amp;#x2019;ve made it easier for your average user to interact with macros and create dynamic pages with the introduction of visual macros: placeholder representations of macros on a page.\n\nWe&amp;#x2019;ve also enabled users to create advanced tables (merge/split table cells) as made it really easy for any user to turn an image into a link - something which really could only be done in the past by advanced users and required a lot of hand-holding for the average user.\n
  33. Thirdly, we know many of you are power users and love wiki markup for the speed it lets you create content.\n\nWe wanted to make the content creation experience even faster:\n\n* We&amp;#x2019;ve introduced autoformatting for wiki markup\n* Autocomplete new content / linking to undefined pages, more keyboard shortcuts\n* Pasting images straight from your clipboard \n\nSo we&amp;#x2019;ve continued to make improvements in allowing you to have a super fast content creation experience. \n
  34. Thirdly, we know many of you are power users and love wiki markup for the speed it lets you create content.\n\nWe wanted to make the content creation experience even faster:\n\n* We&amp;#x2019;ve introduced autoformatting for wiki markup\n* Autocomplete new content / linking to undefined pages, more keyboard shortcuts\n* Pasting images straight from your clipboard \n\nSo we&amp;#x2019;ve continued to make improvements in allowing you to have a super fast content creation experience. \n
  35. Our last focus area has been allowing you to engage others whilst creating content. \n\nWe&amp;#x2019;ve introduce introduced @mentions into Confluence, providing a much more natural way to collaborate with your collogues. \n\n\n
  36. Our last focus area has been allowing you to engage others whilst creating content. \n\nWe&amp;#x2019;ve introduce introduced @mentions into Confluence, providing a much more natural way to collaborate with your collogues. \n\n\n
  37. So that&amp;#x2019;s Confluence 4 for your end users and how we&amp;#x2019;ve to create an awesome content creation experience that will make your life easier. \n\nHopefully a lot of that makes your life&apos;s easier as wiki champions and reduces the amount of hand-holding you have to do.\n
  38. So that&amp;#x2019;s Confluence 4 for your end users and how we&amp;#x2019;ve to create an awesome content creation experience that will make your life easier. \n\nHopefully a lot of that makes your life&apos;s easier as wiki champions and reduces the amount of hand-holding you have to do.\n
  39. So that&amp;#x2019;s Confluence 4 for your end users and how we&amp;#x2019;ve to create an awesome content creation experience that will make your life easier. \n\nHopefully a lot of that makes your life&apos;s easier as wiki champions and reduces the amount of hand-holding you have to do.\n
  40. So that&amp;#x2019;s Confluence 4 for your end users and how we&amp;#x2019;ve to create an awesome content creation experience that will make your life easier. \n\nHopefully a lot of that makes your life&apos;s easier as wiki champions and reduces the amount of hand-holding you have to do.\n
  41. So that&amp;#x2019;s trying to make the content creation experience first class for your end users. \n\nBut what have we done about creating a first class content creation experience for your macros? \n
  42. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  43. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  44. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  45. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  46. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  47. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  48. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  49. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  50. Before we jump into that detail, I just wanted to look back at the experience you&amp;#x2019;ve had as a plugin developer for creating content macros over our last few major releases and see how it has progressed. \n\nIn Confluence 2.x, you only had a wiki markup-only way of inserting macros. We gave users this big notation guide, a big bible that you had to memorise or check every second minute to know what you could do to create the macro: something that was a big hinderance to adoption, and really didn&amp;#x2019;t allow you to provide a good experience for you macro.\n\nIn Confluence 3.x we introduced the macro browser - simplified away to insert macros, mostly removing the need for the notation guide. The browser came with smart fields - allowing you to autocomplete some content to help you guide your users to create macros.\n\nWe also introduced macro autocomplete for power users to quickly insert these macros \n\nA much nicer experience than Confluence 2.x\n\nWhat about 4.0. What have we done in this area? \n\n
  51. Now, first off, you&amp;#x2019;ve still got the Macro browser in 4.0 - and it&amp;#x2019;s still very useful. It&amp;#x2019;s great for simple macros. The macro browser acts as a real really nice abstract way for you to quickly expose content macros to end-users and to guide them as to what parameters can be used.\n\nBut what if you want to build something more. What if you wanted to create a your own macro creation experience, not limited by the macro browser. What if we can enable you to create rich , intuitive interfaces so you can create higher value, first-class macros for your customers. \n\nThis is what we&amp;#x2019;ve tried to do in Confluence 4...\n
  52. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  53. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  54. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  55. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  56. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  57. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  58. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  59. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  60. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  61. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  62. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  63. To show you how we&amp;#x2019;ve done this, I&amp;#x2019;m going to show you one example of the JIRA plugin in Confluence. This plugin enables users to search, create and embed JIRA issues onto pages. \n\nLet&amp;#x2019;s talk a look at this experience in 4.0.\n\n1. It starts with the macro insertion process. The first thing you can do here is have your content macro appear in the insert menu. A much more intuitive way than through the macro browser.\n\n2. Once the user selects this, Confluence hands over control to you. From here you can do what you like. In this example, we load a custom AUI dialog. In this dialog we can implement all the business logic we want. \n\n* Notice here how we aren&amp;#x2019;t restricted by the macro browser UI. We can do many things like search for JIRA issues, view recent issues or even create a new issue. \n* Now in this step of the process you can do anything you like here. Gliffy, for example load their flash-based diagram editor.\n\n3. Once the user has performed the action, a visual macro is inserted into the page. In this case, the user does a JQL search for an issue and embeds that onto a page. These placeholders that appear... \n\nare visual representations of what is going to render on the page. Here, we have a pretty straight-forward placeholder. But once again, you can customize this placeholder to render an image enabling you to provide a more WYSIWYG experience if desired. Another example: , the Gliffy guys render the image on the page.\n\nThe second thing to note here is that each placeholder gets its own property panel. You can extend this panel to expose in-line functionality to your end users. \nIn this example, we allow the user to quickly view the issue in JIRA from the edit screen. \n\n4. Lastly, what about editing the macro once it&amp;#x2019;s on the page? you too can control this experience by loading the custom dialog you had. \n\nYou&amp;#x2019;ll notice here that the user can actually go through this whole process without:\n- knowing what they are inserting is a macro\n- and without the need to memorise all the params\n\nThis really enables you to create your content macro as a first-class citizen on the page. \n
  64. \n
  65. Who is this done? Well, we&amp;#x2019;ve introduced many new plugin points for plugin developers in Confluence 4. Using just a small combination of these plugin points, you can easily create a content macro that really feels like a first-class citizen of the editor.\n\nRyan Thomas, one of the Confluence 4 developers, will be diving into the detail of each of these plugin points tomorrow afternoon, so be sure to attend that talk for more detail.\n
  66. \n
  67. \n
  68. \n
  69. So beyond 4.0 - what can you expect? \n
  70. I&amp;#x2019;ll now hand it over to Charles Miller to talk about plugin developer improvements beyond 4.0\n
  71. I&amp;#x2019;ll now hand it over to Charles Miller to talk about plugin developer improvements beyond 4.0\n
  72. - RTE is focus of discussion of 4.0 and rightly so\n- Spotlight two developer-focused features in 4.0 that have nothing to do with the RTE\n- Intro self\n
  73. HTML generation in Javascript: string concatenation or dom manipulation\nOn server-side we&amp;#x2019;d not think of generating HTML in Java\nWe tried a few things - GWT too heavy - picked something more lightweight&amp;#x2026; also from Google.\n
  74. Used in GMail and Google Docs\nI&amp;#x2019;m going to call them Soy by accident\n
  75. \n
  76. Could spend all day going through features and you wouldn&amp;#x2019;t remember them anyway, so here&amp;#x2019;s a sample, the rest are on the website:\n - loop\n - branch (if/then/else also supported)\n - calling another template\n - built in functions (getText)\n
  77. \n
  78. Transformers for: i18n, minification, batching...\n
  79. \n
  80. RPC access to Confluence since 1.0\n140 methods - content creation/editing to administration\nGreat for scripting or external tools to talk to Connie\n
  81. Tendency: SOAP - used by rich clients, RPC - scripts.\n
  82. Can&amp;#x2019;t just reuse existing RPC endpoints - starting again from scratch\nMeans we have to redo all those 140 methods of functionality\nProtocol that is easy to use from the web.\n
  83. \n
  84. marshalling/unmarshalling requests\nstill some cool stuff like request batching so we support it\n
  85. - including those provided by plugins\n
  86. \n
  87. \n
  88. \n
  89. Very likely compatible pre-3.5 (back to 2.9?) but not tested\n
  90. Example plugin showing how to use JSON-RPC and Closure Templates together.\n\n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n