SlideShare a Scribd company logo
© 2010 JustSystems Inc.© 2010 JustSystems Inc.
in 37 minutes
Episode 15
XMetaL Macros
for Non-Programmers
Brought to you by XMetaL Technical Services
Tom Magliery, XML Technology Specialist
© 2010 JustSystems Inc.
• Announcements
• Introduction and your first macro
• How to run a macro (5 ways)
• Customizing the toolbar
• User and event macros
• Application and document macros
• Notes for DITA users
• Temptations
• Summary
• Resources
• Q&A
Agenda
This slide makes me hungry for Skyline Chili. Bonus points if you know why.
© 2010 JustSystems Inc.
• Two new articles by our colleague Su-Laine:
– Information Today (how businesses can learn about
collaboration from Wikipedia):
http://www.infotoday.com/it/nov10/index.shtml
– CIDM Best Practices newsletter (localization in DITA):
http://www.infomanagementcenter.com/index.php?page=1419
• Best wishes to Dave from marketing as he
moves on today. The paddling feet below our
webinars’ waterline will never be the same.
Announcements
© 2010 JustSystems Inc.
• XMetaL macro:
– A blob of script code that can be executed by XMetaL
– A way to extend the functionality of XMetaL
• MCR files aka macro files:
– XMetaL customization files that contain XMetaL
macros
Introduction to XMetaL macros
Sure, “blob” is a technical term.
© 2010 JustSystems Inc.
Your first macro: “Hello, world”
DEMO_HelloWorld.mcr
An MCR file is actually an XML file.
Since script code often contains some of
the five reserved XML characters: < > &
' ", it is wrapped in a CDATA section,
which tells XML parsers not to treat
these characters as markup.
Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
© 2010 JustSystems Inc.
Your first macro: “Hello, world”
DEMO_HelloWorld.mcr
This is the name that XMetaL will use in the
Macros toolbar, dialog, and other places.
Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
© 2010 JustSystems Inc.
Your first macro: “Hello, world”
DEMO_HelloWorld.mcr
This tells XMetaL what scripting language
this macro uses.
Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
© 2010 JustSystems Inc.
Your first macro: “Hello, world”
DEMO_HelloWorld.mcr
This is the script code to be executed
whenever this macro is run.
Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
© 2010 JustSystems Inc.
1. Create an MCR file with a macro
DEMO_HelloWorld.mcr
2. Put the MCR file in the “Startup” folder
C:Program FilesXMetaL 6.0AuthorStartUp
3. Restart XMetaL
4. Run the macro
– How?
Adding your macro to XMetaL
© 2010 JustSystems Inc.
• Option 1: Run from the Macros dialog
How to run your macro
© 2010 JustSystems Inc.
• Option 2: Run from the Macros toolbar
– Select a macro, then click the “Run” button
How to run your macro
New personal best: Most annoying thing I’ve ever put on a PowerPoint slide.
Run
1
2
© 2010 JustSystems Inc.
• Option 3: Use a shortcut key
– TIP: You can edit MCR files in XMetaL (also in any
text editor). Then you need to refresh/reload the
macros for macro changes to take effect.
How to run your macro
DEMO_HelloWorld.mcr
© 2010 JustSystems Inc.
• Option 4: Add a custom menu or toolbar item
– But first, let’s see a more useful macro
How to run your macro
© 2010 JustSystems Inc.
Macro #2: Word Count
DEMO_WordCount.mcr
I can tell you how this script code works later, if we have time. It’s not perfect.
© 2010 JustSystems Inc.
• You can put more
than one macro in
a single MCR file
• It looks something
like this
TIP: Multiple macros per file
ManyMacrosInOneFile.mcr
For ease-of-demo reasons, I’m not doing that today.
© 2010 JustSystems Inc.
• Now back to Option 4: Add a custom menu or
toolbar item
How to run your macro
Start with a
right-click in
the toolbars
1
Select “Customize...”
2
© 2010 JustSystems Inc.
• Now back to Option 4: Add a custom menu or
toolbar item
How to run your macro
Click “New...”
3
Name your toolbar4
© 2010 JustSystems Inc.
• Now back to Option 4: Add a custom menu or
toolbar item
How to run your macro
Select the
Buttons tab
5
Select
“Application
Macros”
6
Select your
macro
7
Choose an
icon for your
macro8
© 2010 JustSystems Inc.
• Now back to Option 4: Add a custom menu or
toolbar item
How to run your macro
Drag the
icon to the
toolbar9
© 2010 JustSystems Inc.
• Important notes:
– When adding toolbar buttons for application macros,
close all documents first
– Customizing the toolbars (or menus) manually is fine
for “simple” situations, but for more complex
customization it is better to manipulate them with
script (more script!)
• Advanced topics:
– Saving/sharing your toolbar settings
– Where XMetaL “hides” TBR files
• Toolbar cache & per-user folder
– Customizing menus/toolbars with script
Customizing toolbars
© 2010 JustSystems Inc.
• Option 5: Add to the context (right-click) menu
– But first, we need to learn about event macros
How to run your macro
© 2010 JustSystems Inc.
• Our examples so far are user macros
– XMetaL runs one whenever you request it
• XMetaL also supports event macros
– XMetaL runs them automatically when system events
occur
– The magic is in the name of the macro
– “On_” prefix indicates that it is an event macro
– XMetaL recognizes certain event names
– You can have multiple event macros with the same
name – in most cases they will all be run. (With user
macros, only one will run.)
User vs. event macros
© 2010 JustSystems Inc.
– Whenever we open any document, this macro will
display some information about that file
Macro #3: When a document is opened
DEMO_OnDocOpenComplete.mcr
© 2010 JustSystems Inc.
– Use this to hide event macros from the Macros
toolbar and dialog
TIP: Hiding a macro
DEMO_OnDocOpenComplete.mcr
© 2010 JustSystems Inc.
• Now back to Option 5*: Add it to the context
(right-click) menu
– Note: This is a simplified example; maybe not “best
practice” but it will work for the demo
– “Best practice” is another advanced topic
How to run your macro
*Finally!!
DEMO_ContextMenu.mcr
© 2010 JustSystems Inc.
• Our examples so far are application macros
– Loaded at application startup
– Available no matter what type of document you are
working in (DITA, DocBook, ...)
– Also must be coded to handle any document type
• Can’t have script that relies on specific element names
• XMetaL also supports document macros
– MCR file is named “YourDTDName.mcr” and (usually)
lives with other YourDTDName files (CSS, CTM, etc.)
– Loaded the first time a document is opened
– Available only if the active document is that type
Application vs. document macros
DTD name or schema name, of course.
© 2010 JustSystems Inc.
– TIP: You can run macros from other macros. (Need to
be sure they have been loaded first.)
Example: Add macros to Journalist
partial code, paste this into journalist.mcr
© 2010 JustSystems Inc.
• Most of the DITA features in XMetaL are macros –
mostly document macros
– E.g. adding a conref is a macro that launches the (custom-
built) dialogs that let you browse for the target, then inserts
the conref attribute
• Script is far more complex than today’s examples
• Adding simple application macros to XMetaL will
usually work with DITA
– All of today’s samples work fine
• Adding document macros for DITA to XMetaL is “not
allowed”
– There are a few exceptions: special “hooks”
– This is an advanced topic for sure!
Some notes for DITA users
© 2010 JustSystems Inc.
• Adding custom dialogs and wizards
• Transforming legacy content
• Importing data from databases
• Processing/analyzing content
• Working with ActiveX objects
• Handling drag-and-drop from other apps
• Improving authors’ user experience
• Automatically navigating through documents
• Generating content, e.g., TOC or index
• Capturing and pre-processing user input
• Hiding parts of the XMetaL UI
• Providing shortcuts for repetitive operations
• Adding custom UI to the Resource Manager
Temptations
© 2010 JustSystems Inc.
• Macros ...
– are blobs of executable script code
– can be user-invoked (many ways) or event-based
– can be application-wide or document-type-specific
– can run other macros
– can do lots of different things
• XMetaL APIs – your subconscious has seen six:
– Application.Alert(), Application.AppendMacro(),
Application.Run(), ActiveDocument.FullName,
ActiveDocument.Xml, Application.MessageBox()
• There are over 1200 properties and methods!
Summary: what have we learned?
© 2010 JustSystems Inc.
• Customization Guide:
– General guide to customizing XMetaL
– Some topics assume you are using XMetaL
Developer (Visual Studio)
• We’ve been “hand-editing” today, which is fine
• Programmer’s Guide:
– Complete reference guide to the XMetaL API
• Both are available here (PDF and WebHelp):
http://na.justsystems.com/content-support-user-guides
XMetaL developer resources
© 2010 JustSystems Inc.
• XMetaL Community Forums
– http://forums.xmetal.com/
• JustSystems Partner Center
– http://justpartnercenter.com/
• Ask us for help (customer support)
– supportxmetal@justsystems.com
• Ask us for help (partner tech support)
– partnersupport-na@justsystems.com
Resources

More Related Content

PDF
Xen and the Art of Virtualization
PPT
BITS: Introduction to linux, distributions and installation
PDF
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
DOCX
List 200 Đề Tài Báo Cáo Thực Tập Ngành Tin Học Văn Phòng, Dễ Làm Điểm Cao
PDF
Thiết kế khuôn ép nhựa Solidworks 2017
PPTX
Hướng dẫn nâng cấp Windows Server 2008 lên thành Domain Controller
PPTX
Protection and security of operating system
Xen and the Art of Virtualization
BITS: Introduction to linux, distributions and installation
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
List 200 Đề Tài Báo Cáo Thực Tập Ngành Tin Học Văn Phòng, Dễ Làm Điểm Cao
Thiết kế khuôn ép nhựa Solidworks 2017
Hướng dẫn nâng cấp Windows Server 2008 lên thành Domain Controller
Protection and security of operating system

What's hot (20)

PDF
Học python
PDF
Streaming Cyber Security into Graph: Accelerating Data into DataStax Graph an...
PPT
觀功念恩公播版
PPT
Chapter 21 - The Linux System
PDF
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
PPTX
kernels
PDF
Giao trinh corel draw
DOCX
Nghiên cứu và triển khai hệ thống ISA Server 2006
DOCX
Báo cáo thực tập
PPT
NVIDIA CUDA
PPTX
Multimedia Streaming Architecture
PPT
Linux memory
DOCX
Hướng dan su dung packet tracer
PDF
Developing Korean Chatbot 101
DOCX
Chặn truy cập web với symantec endpoint protection
DOCX
Chặn tùy chỉnh symantec endpoint protection client
PDF
Dự Đoán Lỗ Hổng Phần Mềm Dựa Trên Kỹ Thuật Khai Phá Dữ Liệu _08300812092019
ODP
Memory management in Linux
Học python
Streaming Cyber Security into Graph: Accelerating Data into DataStax Graph an...
觀功念恩公播版
Chapter 21 - The Linux System
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
kernels
Giao trinh corel draw
Nghiên cứu và triển khai hệ thống ISA Server 2006
Báo cáo thực tập
NVIDIA CUDA
Multimedia Streaming Architecture
Linux memory
Hướng dan su dung packet tracer
Developing Korean Chatbot 101
Chặn truy cập web với symantec endpoint protection
Chặn tùy chỉnh symantec endpoint protection client
Dự Đoán Lỗ Hổng Phần Mềm Dựa Trên Kỹ Thuật Khai Phá Dữ Liệu _08300812092019
Memory management in Linux
Ad

Similar to XMetaL Macros for Non-Programmers (20)

PDF
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
PDF
XPages Blast - Ideas, Tips and More
PDF
Your notes DNA
PDF
VT University Live Session 3
PDF
May 2014-webinar
PDF
It's Not Infernal: Dante's Nine Circles of XPages Heaven
PPTX
Cadth 2015 breakfast 2 excel hta tools presentation final
PDF
860 dspi how_to_create_a_d3_autotest_macro_using_d2_modem
PPTX
Text mining tutorial
PDF
Operating System Structure Of A Single Large Executable...
PDF
Twelve Tasks Made Easier with IBM Domino XPages
PPTX
Fundamental Design Patterns.pptx
PDF
Wireless Wednesdays: Part 4
PDF
Wireless Wednesdays: Part 2
PPTX
Reactive Micro Services with Java seminar
PDF
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
PPTX
Innoslate 101 webinar steve (1) (1)
PDF
InnerSoft STATS - Introduction
PDF
Micro station v8 manual
PPT
MTM Test Management System
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
XPages Blast - Ideas, Tips and More
Your notes DNA
VT University Live Session 3
May 2014-webinar
It's Not Infernal: Dante's Nine Circles of XPages Heaven
Cadth 2015 breakfast 2 excel hta tools presentation final
860 dspi how_to_create_a_d3_autotest_macro_using_d2_modem
Text mining tutorial
Operating System Structure Of A Single Large Executable...
Twelve Tasks Made Easier with IBM Domino XPages
Fundamental Design Patterns.pptx
Wireless Wednesdays: Part 4
Wireless Wednesdays: Part 2
Reactive Micro Services with Java seminar
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Innoslate 101 webinar steve (1) (1)
InnerSoft STATS - Introduction
Micro station v8 manual
MTM Test Management System
Ad

More from XMetaL (11)

PPT
65 New Highlights of XMetaL Author Enterprise 7.0
PPTX
Fine-tuning the DITA customization
PPTX
Displaying additional image types in XMetaL
PPTX
Dropping content isn't a drag!
PPTX
Quick and Easy Usability in XMetaL Author
PPT
Putting DITA Localization into Practice
PDF
Deploying Schemas and XMetaL Customization Files
PPT
DITA Open Toolkit Deployment with XMetaL Author Enterprise 6
PDF
Taking Advantage of XMetaL’s XInclude Support
PPTX
XMetaL Dialog Odds & Ends
PDF
XMetaL and DITA in the Marketing Department: Tastes Great, Less Filling
65 New Highlights of XMetaL Author Enterprise 7.0
Fine-tuning the DITA customization
Displaying additional image types in XMetaL
Dropping content isn't a drag!
Quick and Easy Usability in XMetaL Author
Putting DITA Localization into Practice
Deploying Schemas and XMetaL Customization Files
DITA Open Toolkit Deployment with XMetaL Author Enterprise 6
Taking Advantage of XMetaL’s XInclude Support
XMetaL Dialog Odds & Ends
XMetaL and DITA in the Marketing Department: Tastes Great, Less Filling

Recently uploaded (20)

PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Mushroom cultivation and it's methods.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Spectroscopy.pptx food analysis technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Group 1 Presentation -Planning and Decision Making .pptx
cloud_computing_Infrastucture_as_cloud_p
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Assigned Numbers - 2025 - Bluetooth® Document
Advanced methodologies resolving dimensionality complications for autism neur...
SOPHOS-XG Firewall Administrator PPT.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
A comparative study of natural language inference in Swahili using monolingua...
Mushroom cultivation and it's methods.pdf
Unlocking AI with Model Context Protocol (MCP)
Spectroscopy.pptx food analysis technology
NewMind AI Weekly Chronicles - August'25-Week II
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
Heart disease approach using modified random forest and particle swarm optimi...
Getting Started with Data Integration: FME Form 101
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation_ Review paper, used for researhc scholars
gpt5_lecture_notes_comprehensive_20250812015547.pdf

XMetaL Macros for Non-Programmers

  • 1. © 2010 JustSystems Inc.© 2010 JustSystems Inc. in 37 minutes Episode 15 XMetaL Macros for Non-Programmers Brought to you by XMetaL Technical Services Tom Magliery, XML Technology Specialist
  • 2. © 2010 JustSystems Inc. • Announcements • Introduction and your first macro • How to run a macro (5 ways) • Customizing the toolbar • User and event macros • Application and document macros • Notes for DITA users • Temptations • Summary • Resources • Q&A Agenda This slide makes me hungry for Skyline Chili. Bonus points if you know why.
  • 3. © 2010 JustSystems Inc. • Two new articles by our colleague Su-Laine: – Information Today (how businesses can learn about collaboration from Wikipedia): http://www.infotoday.com/it/nov10/index.shtml – CIDM Best Practices newsletter (localization in DITA): http://www.infomanagementcenter.com/index.php?page=1419 • Best wishes to Dave from marketing as he moves on today. The paddling feet below our webinars’ waterline will never be the same. Announcements
  • 4. © 2010 JustSystems Inc. • XMetaL macro: – A blob of script code that can be executed by XMetaL – A way to extend the functionality of XMetaL • MCR files aka macro files: – XMetaL customization files that contain XMetaL macros Introduction to XMetaL macros Sure, “blob” is a technical term.
  • 5. © 2010 JustSystems Inc. Your first macro: “Hello, world” DEMO_HelloWorld.mcr An MCR file is actually an XML file. Since script code often contains some of the five reserved XML characters: < > & ' ", it is wrapped in a CDATA section, which tells XML parsers not to treat these characters as markup. Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
  • 6. © 2010 JustSystems Inc. Your first macro: “Hello, world” DEMO_HelloWorld.mcr This is the name that XMetaL will use in the Macros toolbar, dialog, and other places. Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
  • 7. © 2010 JustSystems Inc. Your first macro: “Hello, world” DEMO_HelloWorld.mcr This tells XMetaL what scripting language this macro uses. Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
  • 8. © 2010 JustSystems Inc. Your first macro: “Hello, world” DEMO_HelloWorld.mcr This is the script code to be executed whenever this macro is run. Source code already on Slide 3? You said “non-programmers”! Yes. Trust me ...
  • 9. © 2010 JustSystems Inc. 1. Create an MCR file with a macro DEMO_HelloWorld.mcr 2. Put the MCR file in the “Startup” folder C:Program FilesXMetaL 6.0AuthorStartUp 3. Restart XMetaL 4. Run the macro – How? Adding your macro to XMetaL
  • 10. © 2010 JustSystems Inc. • Option 1: Run from the Macros dialog How to run your macro
  • 11. © 2010 JustSystems Inc. • Option 2: Run from the Macros toolbar – Select a macro, then click the “Run” button How to run your macro New personal best: Most annoying thing I’ve ever put on a PowerPoint slide. Run 1 2
  • 12. © 2010 JustSystems Inc. • Option 3: Use a shortcut key – TIP: You can edit MCR files in XMetaL (also in any text editor). Then you need to refresh/reload the macros for macro changes to take effect. How to run your macro DEMO_HelloWorld.mcr
  • 13. © 2010 JustSystems Inc. • Option 4: Add a custom menu or toolbar item – But first, let’s see a more useful macro How to run your macro
  • 14. © 2010 JustSystems Inc. Macro #2: Word Count DEMO_WordCount.mcr I can tell you how this script code works later, if we have time. It’s not perfect.
  • 15. © 2010 JustSystems Inc. • You can put more than one macro in a single MCR file • It looks something like this TIP: Multiple macros per file ManyMacrosInOneFile.mcr For ease-of-demo reasons, I’m not doing that today.
  • 16. © 2010 JustSystems Inc. • Now back to Option 4: Add a custom menu or toolbar item How to run your macro Start with a right-click in the toolbars 1 Select “Customize...” 2
  • 17. © 2010 JustSystems Inc. • Now back to Option 4: Add a custom menu or toolbar item How to run your macro Click “New...” 3 Name your toolbar4
  • 18. © 2010 JustSystems Inc. • Now back to Option 4: Add a custom menu or toolbar item How to run your macro Select the Buttons tab 5 Select “Application Macros” 6 Select your macro 7 Choose an icon for your macro8
  • 19. © 2010 JustSystems Inc. • Now back to Option 4: Add a custom menu or toolbar item How to run your macro Drag the icon to the toolbar9
  • 20. © 2010 JustSystems Inc. • Important notes: – When adding toolbar buttons for application macros, close all documents first – Customizing the toolbars (or menus) manually is fine for “simple” situations, but for more complex customization it is better to manipulate them with script (more script!) • Advanced topics: – Saving/sharing your toolbar settings – Where XMetaL “hides” TBR files • Toolbar cache & per-user folder – Customizing menus/toolbars with script Customizing toolbars
  • 21. © 2010 JustSystems Inc. • Option 5: Add to the context (right-click) menu – But first, we need to learn about event macros How to run your macro
  • 22. © 2010 JustSystems Inc. • Our examples so far are user macros – XMetaL runs one whenever you request it • XMetaL also supports event macros – XMetaL runs them automatically when system events occur – The magic is in the name of the macro – “On_” prefix indicates that it is an event macro – XMetaL recognizes certain event names – You can have multiple event macros with the same name – in most cases they will all be run. (With user macros, only one will run.) User vs. event macros
  • 23. © 2010 JustSystems Inc. – Whenever we open any document, this macro will display some information about that file Macro #3: When a document is opened DEMO_OnDocOpenComplete.mcr
  • 24. © 2010 JustSystems Inc. – Use this to hide event macros from the Macros toolbar and dialog TIP: Hiding a macro DEMO_OnDocOpenComplete.mcr
  • 25. © 2010 JustSystems Inc. • Now back to Option 5*: Add it to the context (right-click) menu – Note: This is a simplified example; maybe not “best practice” but it will work for the demo – “Best practice” is another advanced topic How to run your macro *Finally!! DEMO_ContextMenu.mcr
  • 26. © 2010 JustSystems Inc. • Our examples so far are application macros – Loaded at application startup – Available no matter what type of document you are working in (DITA, DocBook, ...) – Also must be coded to handle any document type • Can’t have script that relies on specific element names • XMetaL also supports document macros – MCR file is named “YourDTDName.mcr” and (usually) lives with other YourDTDName files (CSS, CTM, etc.) – Loaded the first time a document is opened – Available only if the active document is that type Application vs. document macros DTD name or schema name, of course.
  • 27. © 2010 JustSystems Inc. – TIP: You can run macros from other macros. (Need to be sure they have been loaded first.) Example: Add macros to Journalist partial code, paste this into journalist.mcr
  • 28. © 2010 JustSystems Inc. • Most of the DITA features in XMetaL are macros – mostly document macros – E.g. adding a conref is a macro that launches the (custom- built) dialogs that let you browse for the target, then inserts the conref attribute • Script is far more complex than today’s examples • Adding simple application macros to XMetaL will usually work with DITA – All of today’s samples work fine • Adding document macros for DITA to XMetaL is “not allowed” – There are a few exceptions: special “hooks” – This is an advanced topic for sure! Some notes for DITA users
  • 29. © 2010 JustSystems Inc. • Adding custom dialogs and wizards • Transforming legacy content • Importing data from databases • Processing/analyzing content • Working with ActiveX objects • Handling drag-and-drop from other apps • Improving authors’ user experience • Automatically navigating through documents • Generating content, e.g., TOC or index • Capturing and pre-processing user input • Hiding parts of the XMetaL UI • Providing shortcuts for repetitive operations • Adding custom UI to the Resource Manager Temptations
  • 30. © 2010 JustSystems Inc. • Macros ... – are blobs of executable script code – can be user-invoked (many ways) or event-based – can be application-wide or document-type-specific – can run other macros – can do lots of different things • XMetaL APIs – your subconscious has seen six: – Application.Alert(), Application.AppendMacro(), Application.Run(), ActiveDocument.FullName, ActiveDocument.Xml, Application.MessageBox() • There are over 1200 properties and methods! Summary: what have we learned?
  • 31. © 2010 JustSystems Inc. • Customization Guide: – General guide to customizing XMetaL – Some topics assume you are using XMetaL Developer (Visual Studio) • We’ve been “hand-editing” today, which is fine • Programmer’s Guide: – Complete reference guide to the XMetaL API • Both are available here (PDF and WebHelp): http://na.justsystems.com/content-support-user-guides XMetaL developer resources
  • 32. © 2010 JustSystems Inc. • XMetaL Community Forums – http://forums.xmetal.com/ • JustSystems Partner Center – http://justpartnercenter.com/ • Ask us for help (customer support) – supportxmetal@justsystems.com • Ask us for help (partner tech support) – partnersupport-na@justsystems.com Resources