SlideShare a Scribd company logo
1 of 20
ATLASSIAN SUMMIT 2012


USER MACROS:
MAKING YOUR OWN CHANGES
TO CONFLUENCE
Steve Goldberg
Technical Writer

stevegoldberg@venda.com

                   All information contained within this document is confidential. © Venda Ltd. all rights reserved.
WTF ARE USER MACROS?
• Re-usable snippets that enhance the functionality of Confluence.

• Wiki markup, HTML, CSS, JavaScript, Velocity Templating
  Language, and other macros.

• Great for page templates, getting around quirks, and solving those “I
  wish there was a plugin for…” moments.

• Easy to get started.

• Free and support them yourself.


                 All information contained within this document is confidential. © Venda Ltd. all rights reserved.
FEATURES

• Supports wide range of common web techs and Velocity.

• Appear in the Macro Browser like regular macros.

• Input from editors when writing documentation.

• Input from Confluence.

• Conditional logic and variables.



                 All information contained within this document is confidential. © Venda Ltd. all rights reserved.
SIMPLE USER MACROS

• Stitch together existing macros, simple styling and objects.

• Example uses:
   • Add a bit of CSS to a single page

    • Captions for images and tables

    • Table column width setter

    • „Under development‟ note box.

                 All information contained within this document is confidential. © Venda Ltd. all rights reserved.
All information contained within this document is confidential. © Venda Ltd. all rights reserved.
SIMPLE USER MACROS: CAPTIONS



• Avoids using in-page styling.

• Style defined externally with stylesheet.

• Less hassle for editors.

• Less hassle when styling needs to change.



                  All information contained within this document is confidential. © Venda Ltd. all rights reserved.
COMPLEX MACROS: “PERMCHECK”

• Two similar questions I got asked:
   1. How can I know what permissions apply to space when I‟m not
      an admin?

   2. How can I know quickly if I can share this page with a client?




                All information contained within this document is confidential. © Venda Ltd. all rights reserved.
COMPLEX MACROS: “PERMCHECK” #2

•   Solution:
     • Make important space-level permissions visible.

    •   To do this, create a dynamically generated, informative widget
        visible on every page.




                  All information contained within this document is confidential. © Venda Ltd. all rights reserved.
COMPLEX MACROS: “PERMCHECK” #3
1. Declare a number of helpful variables.

2. Declare a number of variables with default values.

3. Build arrays.

4. Check arrays.

5. Work out permissions.

6. Build the widget.


                   All information contained within this document is confidential. © Venda Ltd. all rights reserved.
DECLARE A NUMBER OF HELPFUL VARIABLES
DECLARE A NUMBER OF DEFAULT VARIABLES
BUILD AN ARRAY WITH ALL THE SPACE
GROUP PERMISSIONS
BUILD AN ARRAY WITH ALL THE PAGE GROUP
PERMISSIONS
CHECK SPACE ARRAY FOR SPECIFIED GROUPS
CHECK PAGE ARRAY FOR SPECIFIED GROUPS
WORK OUT THE PERMISSIONS
BUILD THE WIDGET WITH HTML
WIDGET SUMMARY



• No plugin solution available/viable.

• Used own knowledge and community for support.

• Implemented it myself; support it myself.

• Free.



                 All information contained within this document is confidential. © Venda Ltd. all rights reserved.
MACROS ARE EASY

• Alleviate your frustration.

• Start with existing macros, basic HTML, and CSS.

• Improve upon it by reading up on more complex HTML, JavaScript,
  and Velocity.

• Use them for templates to push changes globally at once.




                  All information contained within this document is confidential. © Venda Ltd. all rights reserved.
MACRO COMMUNITY AND HELPFUL LINKS

Join me and others in aggregating, sharing, and improving macros:
•Macro introduction: http://confluence.atlassian.com/x/UolYDQ.
•Atlassian Answers: https://answers.atlassian.com/.
•VTL Guide: http://velocity.apache.org/engine/releases/velocity-1.6.

Submit your macros or fork mine:
•GitHub: https://github.com/stevegoldberg/ConfluenceMacros.

Thank you.



                  All information contained within this document is confidential. © Venda Ltd. all rights reserved.

More Related Content

Similar to User Macros: Making Your Own Improvements to Confluence - Atlassian Summit 2012

Building WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfBuilding WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfWP Engine
 
Benchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionBenchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionTechcello
 
How to benchmark the maturity of your saas solution
How to benchmark the maturity of your saas solutionHow to benchmark the maturity of your saas solution
How to benchmark the maturity of your saas solutionkanimozhin
 
Design Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS ModelDesign Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS ModelTechcello
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
The Superhero’s Method of Modern HTML5 Development by RapidValue Solutions
The Superhero’s Method of Modern HTML5 Development by RapidValue SolutionsThe Superhero’s Method of Modern HTML5 Development by RapidValue Solutions
The Superhero’s Method of Modern HTML5 Development by RapidValue SolutionsRapidValue
 
Web Tools for GemStone/S
Web Tools for GemStone/SWeb Tools for GemStone/S
Web Tools for GemStone/SESUG
 
Customer FX Technical Reference Sheet
Customer FX Technical Reference SheetCustomer FX Technical Reference Sheet
Customer FX Technical Reference SheetGoodCustomers
 
Design patterns for salesforce app decomposition
Design patterns for salesforce app decompositionDesign patterns for salesforce app decomposition
Design patterns for salesforce app decompositionSai Jithesh ☁️
 
DNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror StoriesDNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror StoriesWill Strohl
 
Fundamentals of Web
Fundamentals of WebFundamentals of Web
Fundamentals of WebSabir Haque
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptxNishchaiyaBayla1
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript WidgetsBob German
 
How to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility SummitHow to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility SummitRachel Cherry
 

Similar to User Macros: Making Your Own Improvements to Confluence - Atlassian Summit 2012 (20)

Managed WordPress Demystified
Managed WordPress DemystifiedManaged WordPress Demystified
Managed WordPress Demystified
 
Building WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfBuilding WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdf
 
Benchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionBenchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS Solution
 
How to benchmark the maturity of your saas solution
How to benchmark the maturity of your saas solutionHow to benchmark the maturity of your saas solution
How to benchmark the maturity of your saas solution
 
Design Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS ModelDesign Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS Model
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
The Superhero’s Method of Modern HTML5 Development by RapidValue Solutions
The Superhero’s Method of Modern HTML5 Development by RapidValue SolutionsThe Superhero’s Method of Modern HTML5 Development by RapidValue Solutions
The Superhero’s Method of Modern HTML5 Development by RapidValue Solutions
 
Web Tools for GemStone/S
Web Tools for GemStone/SWeb Tools for GemStone/S
Web Tools for GemStone/S
 
Customer FX Technical Reference Sheet
Customer FX Technical Reference SheetCustomer FX Technical Reference Sheet
Customer FX Technical Reference Sheet
 
Design patterns for salesforce app decomposition
Design patterns for salesforce app decompositionDesign patterns for salesforce app decomposition
Design patterns for salesforce app decomposition
 
Into The Box 2019 - Keynote Day 2
Into The Box 2019 - Keynote Day 2Into The Box 2019 - Keynote Day 2
Into The Box 2019 - Keynote Day 2
 
ITB2019 Keynotes Day 2 - Ortus Team
ITB2019 Keynotes Day 2 - Ortus TeamITB2019 Keynotes Day 2 - Ortus Team
ITB2019 Keynotes Day 2 - Ortus Team
 
DNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror StoriesDNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror Stories
 
Fundamentals of Web
Fundamentals of WebFundamentals of Web
Fundamentals of Web
 
08 jorsek llc
08 jorsek llc08 jorsek llc
08 jorsek llc
 
Dot Net Nuke
Dot Net NukeDot Net Nuke
Dot Net Nuke
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript Widgets
 
DITA Interoperability
DITA InteroperabilityDITA Interoperability
DITA Interoperability
 
How to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility SummitHow to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility Summit
 

More from Atlassian

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020Atlassian
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020Atlassian
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App ShowcaseAtlassian
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UIAtlassian
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge RuntimeAtlassian
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceAtlassian
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge TriggersAtlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelAtlassian
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemAtlassian
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAtlassian
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginAtlassian
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingAtlassian
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterAtlassian
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindAtlassian
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Atlassian
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsAtlassian
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamAtlassian
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in MindAtlassian
 

More from Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

User Macros: Making Your Own Improvements to Confluence - Atlassian Summit 2012

  • 1. ATLASSIAN SUMMIT 2012 USER MACROS: MAKING YOUR OWN CHANGES TO CONFLUENCE Steve Goldberg Technical Writer stevegoldberg@venda.com All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 2. WTF ARE USER MACROS? • Re-usable snippets that enhance the functionality of Confluence. • Wiki markup, HTML, CSS, JavaScript, Velocity Templating Language, and other macros. • Great for page templates, getting around quirks, and solving those “I wish there was a plugin for…” moments. • Easy to get started. • Free and support them yourself. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 3. FEATURES • Supports wide range of common web techs and Velocity. • Appear in the Macro Browser like regular macros. • Input from editors when writing documentation. • Input from Confluence. • Conditional logic and variables. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 4. SIMPLE USER MACROS • Stitch together existing macros, simple styling and objects. • Example uses: • Add a bit of CSS to a single page • Captions for images and tables • Table column width setter • „Under development‟ note box. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 5. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 6. SIMPLE USER MACROS: CAPTIONS • Avoids using in-page styling. • Style defined externally with stylesheet. • Less hassle for editors. • Less hassle when styling needs to change. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 7. COMPLEX MACROS: “PERMCHECK” • Two similar questions I got asked: 1. How can I know what permissions apply to space when I‟m not an admin? 2. How can I know quickly if I can share this page with a client? All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 8. COMPLEX MACROS: “PERMCHECK” #2 • Solution: • Make important space-level permissions visible. • To do this, create a dynamically generated, informative widget visible on every page. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 9. COMPLEX MACROS: “PERMCHECK” #3 1. Declare a number of helpful variables. 2. Declare a number of variables with default values. 3. Build arrays. 4. Check arrays. 5. Work out permissions. 6. Build the widget. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 10. DECLARE A NUMBER OF HELPFUL VARIABLES
  • 11. DECLARE A NUMBER OF DEFAULT VARIABLES
  • 12. BUILD AN ARRAY WITH ALL THE SPACE GROUP PERMISSIONS
  • 13. BUILD AN ARRAY WITH ALL THE PAGE GROUP PERMISSIONS
  • 14. CHECK SPACE ARRAY FOR SPECIFIED GROUPS
  • 15. CHECK PAGE ARRAY FOR SPECIFIED GROUPS
  • 16. WORK OUT THE PERMISSIONS
  • 17. BUILD THE WIDGET WITH HTML
  • 18. WIDGET SUMMARY • No plugin solution available/viable. • Used own knowledge and community for support. • Implemented it myself; support it myself. • Free. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 19. MACROS ARE EASY • Alleviate your frustration. • Start with existing macros, basic HTML, and CSS. • Improve upon it by reading up on more complex HTML, JavaScript, and Velocity. • Use them for templates to push changes globally at once. All information contained within this document is confidential. © Venda Ltd. all rights reserved.
  • 20. MACRO COMMUNITY AND HELPFUL LINKS Join me and others in aggregating, sharing, and improving macros: •Macro introduction: http://confluence.atlassian.com/x/UolYDQ. •Atlassian Answers: https://answers.atlassian.com/. •VTL Guide: http://velocity.apache.org/engine/releases/velocity-1.6. Submit your macros or fork mine: •GitHub: https://github.com/stevegoldberg/ConfluenceMacros. Thank you. All information contained within this document is confidential. © Venda Ltd. all rights reserved.