SlideShare a Scribd company logo
1 of 36
Download to read offline
Create your own $35 CMS
in Structured FrameMaker
Jang F.M. Graat
JANG Communication
Presented at tcword 2010 - © JANG Communication 2010
Who’s talking ?
Jang F.M. Graat
Studied Physics,
Psychology, Philosophy
20+ years Tech Writer,
Trainer, Consultant
15+ years company
JANG Communication
Self-taught FM expert
Presented at tcword 2010 - © JANG Communication 2010
Agenda
Step 1: Create reusable modules
Step 2: Create your CMS
Step 3: Enable cross-references
Step 4: Create books from your CMS
Presented at tcword 2010 - © JANG Communication 2010
Step 1:
Create reusable modules
Presented at tcword 2010 - © JANG Communication 2010
Modular documentation
Presented at tcword 2010 - © JANG Communication 2010
FrameMaker text insets
Import entire flows
Disadvantages
Inset source required
No search mechanism
No previewing
No check on structure
Presented at tcword 2010 - © JANG Communication 2010
West Street Consulting
FrameMaker ACE Russ Ward
Full-time tech writer + part-time software developer
Website: www.weststreetconsulting.com
Extremely useful plug-ins for FM7, FM8, FM9
Xref Wizard ( $ 35 per seat )
FrameSLT ( $ 100 per seat )
InsetPlus ( free )
AXCM ( free )
Presented at tcword 2010 - © JANG Communication 2010
InsetPlus
Element-level linking
Advantages
Any element in file
User-friendly interface
Search & preview
Check on validity
Updating quick & easy
Tracking of usage
Presented at tcword 2010 - © JANG Communication 2010
InsetPlus linking method
Element attributes
Source: Unique ID
Target: conref
Inserting & updating
Insert empty element
Link to source element
Update indivual inset
Update all insets in file
Presented at tcword 2010 - © JANG Communication 2010
InsetPlus: further options
Tracking information
Where is source used ?
Updating all references
Linking options
Editing conref attribute
No source required yet
Automated creation of
books in XML processor
Presented at tcword 2010 - © JANG Communication 2010
Define your EDD
Reusable elements
id and conref attributes
Metadata attributes
Any element ?
Granularity
Manage the chaos
Use nested elements
Element (Container): Section
General rule: Title, Body?, Section*
Valid as the highest-level element.
Attribute list
1. Name: id UniqueID Optional
2. Name: conref String Optional
3. Name: version String Required
4. Name: validity String Optional
5. Name: author String Required
6. Name: date String Required
Presented at tcword 2010 - © JANG Communication 2010
Step 2:
Create your CMS
Presented at tcword 2010 - © JANG Communication 2010
Content Management
Keep track of stuff
Storing modules
Searching modules
Validity for publications
Review & translation
Database needed ?
No magic involved
Manage the chaos
Presented at tcword 2010 - © JANG Communication 2010
Content Management
Finding content
Clear structure
Strict naming
Without a CMS ?
Store in repositories
Restrict modularity
Practice discipline !!!
Presented at tcword 2010 - © JANG Communication 2010
Repository files
Reusable elements
Metadata in attributes
Enable search & checks
Printable as catalog
Bundle reuse modules
Per machine section
Per software section
Clear subdivisions
Presented at tcword 2010 - © JANG Communication 2010
Catalog of available modules
Special formatting
If included in Repository
Show element id
Include metadata
Print full catalog
Searchable PDF
Helps author reuse
Presented at tcword 2010 - © JANG Communication 2010
Special formatting in EDD
Element (Container): concept
General rule: title, shortdesc?, context?, conbody, links?
Attribute list
1. Name: id UniqueID Optional
2. Name: conref String Optional
3. Name: version String Optional
4. Name: validity String Optional
Prefix rules
1. If context is: [ id != “” ]
Prefix: concept:tidnversion:t<$attribute[version]>nvalid for:t<$attribute[validity]>
Text format rules
1. If context is: [ id != “” ]
Use paragraph format: RepHeading
Presented at tcword 2010 - © JANG Communication 2010
Organize repository files
Division of modules
One file per assembly ?
One file per topic type ?
One file per product ?
Collect in books
Easier to manage
Language variants
Keep same structure
Presented at tcword 2010 - © JANG Communication 2010
Organize image files
Divide into categories
Types of image files
Machine-specific images
Language variants
One dir per language
One dir for generic pics
Keep same structure
Presented at tcword 2010 - © JANG Communication 2010
Organize publications
Always use books
Required for CMS
Easier to manage
Language variants
Same language codes
Versions
Full books in subdirs
Include all chapters
Presented at tcword 2010 - © JANG Communication 2010
Step 3:
Enable cross-references
Presented at tcword 2010 - © JANG Communication 2010
Xrefs in FrameMaker
Enabling Xrefs
Marker attribute in all
referrable elements
CrossReference element
with target attribute
Both attributes optional
Creating Xrefs
Enter CrossRef element
Link to available marker
Presented at tcword 2010 - © JANG Communication 2010
Xrefs in FrameMaker
Element (Container): Para
General rule: (<TEXT> | CrossRef )*
Element (CrossReference): CrossRef
Attribute list
1. Name: XRefTarget ID Reference Optional
Element (Container): Title
General rule: <TEXTONLY>
Attribute list
1. Name: XRefMarker Unique ID Optional
Presented at tcword 2010 - © JANG Communication 2010
Xrefs in FrameMaker
Xrefs to other files
Ref’d file required
Changes in ref’d file !
Prepare for Xrefs
Manually define marker
FM attribute editor
Use unique names
Presented at tcword 2010 - © JANG Communication 2010
Xrefs in FrameMaker
Updating Xrefs
Source files required
Xref to inset text
Xref to inset source,
not to inset reference
Marker available,
but not recognized
Manual relinking
See X. X
See X. X
Book
Presented at tcword 2010 - © JANG Communication 2010
XRef Wizard
Attribute-based linking
Unique IDs targeted
No file names used
Advantages
No file-dependence
Works with text insets
Updating quick & easy
Reports with links
Presented at tcword 2010 - © JANG Communication 2010
XRef Wizard
Updating Xrefs
Book-level process
Only files in book
Xref to inset text
Xref defined in attribute
independent of filename
Marker recognized
Automatic relinking See X. X
See X. X
Book
Presented at tcword 2010 - © JANG Communication 2010
XRef Wizard
Book level
Resolves all Xrefs
Reports conflicts
Multiple targets
Choice of candidates
Allows jumping into
Fast and easy
Update book after this
Presented at tcword 2010 - © JANG Communication 2010
Step 4:
Create books
Presented at tcword 2010 - © JANG Communication 2010
Preparing a publication
Create new Book
Create empty Chapters
Add to the book
Import EDD to all
Import formats to all
Set required info
Book attributes
Presented at tcword 2010 - © JANG Communication 2010
Add reuse elements
Insert empty element
Use InsetPlus
“Edit Inset Element”
Select repository file
Valid elements are listed
Select required element
Click OK twice
Continue until done
Presented at tcword 2010 - © JANG Communication 2010
Publishing books
Order of final steps
Select book file
Open all chapters
Update all insets
Resolve all XRefs
Update book
Save book as PDF
Presented at tcword 2010 - © JANG Communication 2010
Keeping track
Excel workbook
Available topics
Versions, revisions
Status and planning
Available translations
Usage information
Manually in Excel
Via InsetPlus reports
Presented at tcword 2010 - © JANG Communication 2010
Translation management
Directory structure
Language codes
Translate repositories
Translate images
Copy of book
Script to process
language codes
Presented at tcword 2010 - © JANG Communication 2010
Questions ?
Presented at tcword 2010 - © JANG Communication 2010
More info:
send e-mail to
jang@jang.nl
Presented at tcword 2010 - © JANG Communication 2010

More Related Content

Similar to Create your own $35 CMS in Structured FrameMaker

Dita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDon Day
 
Html & CSS - Best practices 2-hour-workshop
Html & CSS - Best practices 2-hour-workshopHtml & CSS - Best practices 2-hour-workshop
Html & CSS - Best practices 2-hour-workshopVero Rebagliatte
 
Top tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experienceTop tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experienceJoomlaDay Australia
 
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyPDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyJohn McCaffrey
 
SharePoint Connections Coast to Coast Overview of Enterprise Content Management
SharePoint Connections Coast to Coast Overview of Enterprise Content ManagementSharePoint Connections Coast to Coast Overview of Enterprise Content Management
SharePoint Connections Coast to Coast Overview of Enterprise Content ManagementIvan Sanders
 
Implementing Structured FrameMaker
Implementing Structured FrameMakerImplementing Structured FrameMaker
Implementing Structured FrameMakerDkadilak62263
 
CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsSuite Solutions
 
Buzzword, How'd They Build That?
Buzzword, How'd They Build That?Buzzword, How'd They Build That?
Buzzword, How'd They Build That?dcoletta
 
Rawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web ComponentsRawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web ComponentsRawnet
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty MarketBill Dubie
 
MSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedMSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedDave Bost
 

Similar to Create your own $35 CMS in Structured FrameMaker (20)

Dita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and Developer
 
T4 presentation
T4 presentationT4 presentation
T4 presentation
 
Html & CSS - Best practices 2-hour-workshop
Html & CSS - Best practices 2-hour-workshopHtml & CSS - Best practices 2-hour-workshop
Html & CSS - Best practices 2-hour-workshop
 
Jmp108
Jmp108Jmp108
Jmp108
 
Html5 tutorial
Html5 tutorialHtml5 tutorial
Html5 tutorial
 
Html5 tutorial
Html5 tutorialHtml5 tutorial
Html5 tutorial
 
Html5 tutorial
Html5 tutorialHtml5 tutorial
Html5 tutorial
 
Html5 tutorial
Html5 tutorialHtml5 tutorial
Html5 tutorial
 
Html5 tutorial
Html5 tutorialHtml5 tutorial
Html5 tutorial
 
Top tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experienceTop tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experience
 
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyPDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
 
SharePoint Connections Coast to Coast Overview of Enterprise Content Management
SharePoint Connections Coast to Coast Overview of Enterprise Content ManagementSharePoint Connections Coast to Coast Overview of Enterprise Content Management
SharePoint Connections Coast to Coast Overview of Enterprise Content Management
 
Implementing Structured FrameMaker
Implementing Structured FrameMakerImplementing Structured FrameMaker
Implementing Structured FrameMaker
 
VS 2010 codename Rosario
VS 2010 codename RosarioVS 2010 codename Rosario
VS 2010 codename Rosario
 
CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputs
 
Buzzword, How'd They Build That?
Buzzword, How'd They Build That?Buzzword, How'd They Build That?
Buzzword, How'd They Build That?
 
Rawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web ComponentsRawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web Components
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
 
MSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedMSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF Demystified
 
The Trip to DITA
The Trip to DITAThe Trip to DITA
The Trip to DITA
 

More from Jang F.M. Graat

Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015Jang F.M. Graat
 
From user assistance to user guidance: Information apps
From user assistance to user guidance: Information appsFrom user assistance to user guidance: Information apps
From user assistance to user guidance: Information appsJang F.M. Graat
 
Dynamic links using (meta)data
Dynamic links using (meta)dataDynamic links using (meta)data
Dynamic links using (meta)dataJang F.M. Graat
 
Maximising the effect of progressive disclosure
Maximising the effect of progressive disclosureMaximising the effect of progressive disclosure
Maximising the effect of progressive disclosureJang F.M. Graat
 
Progressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in ControlProgressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in ControlJang F.M. Graat
 
XPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMakerXPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMakerJang F.M. Graat
 
Driving DITA off the Map
Driving DITA off the MapDriving DITA off the Map
Driving DITA off the MapJang F.M. Graat
 
Rethinking Version Control for Agile Content
Rethinking Version Control for Agile ContentRethinking Version Control for Agile Content
Rethinking Version Control for Agile ContentJang F.M. Graat
 
Advanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMakerAdvanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMakerJang F.M. Graat
 
Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.
Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.
Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.Jang F.M. Graat
 
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive DisclosureNur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive DisclosureJang F.M. Graat
 
Changing the engine without stopping the rickshaw
Changing the engine without stopping the rickshawChanging the engine without stopping the rickshaw
Changing the engine without stopping the rickshawJang F.M. Graat
 
How I killed the webmaster - and got away with it
How I killed the webmaster - and got away with itHow I killed the webmaster - and got away with it
How I killed the webmaster - and got away with itJang F.M. Graat
 
How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$Jang F.M. Graat
 
Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...Jang F.M. Graat
 
CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?Jang F.M. Graat
 

More from Jang F.M. Graat (20)

XSLT for Authors
XSLT for AuthorsXSLT for Authors
XSLT for Authors
 
Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015
 
Out of-control
Out of-controlOut of-control
Out of-control
 
Flowcharting DITA
Flowcharting DITAFlowcharting DITA
Flowcharting DITA
 
From user assistance to user guidance: Information apps
From user assistance to user guidance: Information appsFrom user assistance to user guidance: Information apps
From user assistance to user guidance: Information apps
 
Minimalism to the MAX
Minimalism to the MAXMinimalism to the MAX
Minimalism to the MAX
 
Dynamic links using (meta)data
Dynamic links using (meta)dataDynamic links using (meta)data
Dynamic links using (meta)data
 
Maximising the effect of progressive disclosure
Maximising the effect of progressive disclosureMaximising the effect of progressive disclosure
Maximising the effect of progressive disclosure
 
Progressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in ControlProgressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in Control
 
XPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMakerXPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMaker
 
Driving DITA off the Map
Driving DITA off the MapDriving DITA off the Map
Driving DITA off the Map
 
Rethinking Version Control for Agile Content
Rethinking Version Control for Agile ContentRethinking Version Control for Agile Content
Rethinking Version Control for Agile Content
 
Advanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMakerAdvanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMaker
 
Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.
Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.
Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.
 
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive DisclosureNur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
 
Changing the engine without stopping the rickshaw
Changing the engine without stopping the rickshawChanging the engine without stopping the rickshaw
Changing the engine without stopping the rickshaw
 
How I killed the webmaster - and got away with it
How I killed the webmaster - and got away with itHow I killed the webmaster - and got away with it
How I killed the webmaster - and got away with it
 
How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$
 
Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...
 
CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?
 

Recently uploaded

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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Create your own $35 CMS in Structured FrameMaker

  • 1. Create your own $35 CMS in Structured FrameMaker Jang F.M. Graat JANG Communication Presented at tcword 2010 - © JANG Communication 2010
  • 2. Who’s talking ? Jang F.M. Graat Studied Physics, Psychology, Philosophy 20+ years Tech Writer, Trainer, Consultant 15+ years company JANG Communication Self-taught FM expert Presented at tcword 2010 - © JANG Communication 2010
  • 3. Agenda Step 1: Create reusable modules Step 2: Create your CMS Step 3: Enable cross-references Step 4: Create books from your CMS Presented at tcword 2010 - © JANG Communication 2010
  • 4. Step 1: Create reusable modules Presented at tcword 2010 - © JANG Communication 2010
  • 5. Modular documentation Presented at tcword 2010 - © JANG Communication 2010
  • 6. FrameMaker text insets Import entire flows Disadvantages Inset source required No search mechanism No previewing No check on structure Presented at tcword 2010 - © JANG Communication 2010
  • 7. West Street Consulting FrameMaker ACE Russ Ward Full-time tech writer + part-time software developer Website: www.weststreetconsulting.com Extremely useful plug-ins for FM7, FM8, FM9 Xref Wizard ( $ 35 per seat ) FrameSLT ( $ 100 per seat ) InsetPlus ( free ) AXCM ( free ) Presented at tcword 2010 - © JANG Communication 2010
  • 8. InsetPlus Element-level linking Advantages Any element in file User-friendly interface Search & preview Check on validity Updating quick & easy Tracking of usage Presented at tcword 2010 - © JANG Communication 2010
  • 9. InsetPlus linking method Element attributes Source: Unique ID Target: conref Inserting & updating Insert empty element Link to source element Update indivual inset Update all insets in file Presented at tcword 2010 - © JANG Communication 2010
  • 10. InsetPlus: further options Tracking information Where is source used ? Updating all references Linking options Editing conref attribute No source required yet Automated creation of books in XML processor Presented at tcword 2010 - © JANG Communication 2010
  • 11. Define your EDD Reusable elements id and conref attributes Metadata attributes Any element ? Granularity Manage the chaos Use nested elements Element (Container): Section General rule: Title, Body?, Section* Valid as the highest-level element. Attribute list 1. Name: id UniqueID Optional 2. Name: conref String Optional 3. Name: version String Required 4. Name: validity String Optional 5. Name: author String Required 6. Name: date String Required Presented at tcword 2010 - © JANG Communication 2010
  • 12. Step 2: Create your CMS Presented at tcword 2010 - © JANG Communication 2010
  • 13. Content Management Keep track of stuff Storing modules Searching modules Validity for publications Review & translation Database needed ? No magic involved Manage the chaos Presented at tcword 2010 - © JANG Communication 2010
  • 14. Content Management Finding content Clear structure Strict naming Without a CMS ? Store in repositories Restrict modularity Practice discipline !!! Presented at tcword 2010 - © JANG Communication 2010
  • 15. Repository files Reusable elements Metadata in attributes Enable search & checks Printable as catalog Bundle reuse modules Per machine section Per software section Clear subdivisions Presented at tcword 2010 - © JANG Communication 2010
  • 16. Catalog of available modules Special formatting If included in Repository Show element id Include metadata Print full catalog Searchable PDF Helps author reuse Presented at tcword 2010 - © JANG Communication 2010
  • 17. Special formatting in EDD Element (Container): concept General rule: title, shortdesc?, context?, conbody, links? Attribute list 1. Name: id UniqueID Optional 2. Name: conref String Optional 3. Name: version String Optional 4. Name: validity String Optional Prefix rules 1. If context is: [ id != “” ] Prefix: concept:tidnversion:t<$attribute[version]>nvalid for:t<$attribute[validity]> Text format rules 1. If context is: [ id != “” ] Use paragraph format: RepHeading Presented at tcword 2010 - © JANG Communication 2010
  • 18. Organize repository files Division of modules One file per assembly ? One file per topic type ? One file per product ? Collect in books Easier to manage Language variants Keep same structure Presented at tcword 2010 - © JANG Communication 2010
  • 19. Organize image files Divide into categories Types of image files Machine-specific images Language variants One dir per language One dir for generic pics Keep same structure Presented at tcword 2010 - © JANG Communication 2010
  • 20. Organize publications Always use books Required for CMS Easier to manage Language variants Same language codes Versions Full books in subdirs Include all chapters Presented at tcword 2010 - © JANG Communication 2010
  • 21. Step 3: Enable cross-references Presented at tcword 2010 - © JANG Communication 2010
  • 22. Xrefs in FrameMaker Enabling Xrefs Marker attribute in all referrable elements CrossReference element with target attribute Both attributes optional Creating Xrefs Enter CrossRef element Link to available marker Presented at tcword 2010 - © JANG Communication 2010
  • 23. Xrefs in FrameMaker Element (Container): Para General rule: (<TEXT> | CrossRef )* Element (CrossReference): CrossRef Attribute list 1. Name: XRefTarget ID Reference Optional Element (Container): Title General rule: <TEXTONLY> Attribute list 1. Name: XRefMarker Unique ID Optional Presented at tcword 2010 - © JANG Communication 2010
  • 24. Xrefs in FrameMaker Xrefs to other files Ref’d file required Changes in ref’d file ! Prepare for Xrefs Manually define marker FM attribute editor Use unique names Presented at tcword 2010 - © JANG Communication 2010
  • 25. Xrefs in FrameMaker Updating Xrefs Source files required Xref to inset text Xref to inset source, not to inset reference Marker available, but not recognized Manual relinking See X. X See X. X Book Presented at tcword 2010 - © JANG Communication 2010
  • 26. XRef Wizard Attribute-based linking Unique IDs targeted No file names used Advantages No file-dependence Works with text insets Updating quick & easy Reports with links Presented at tcword 2010 - © JANG Communication 2010
  • 27. XRef Wizard Updating Xrefs Book-level process Only files in book Xref to inset text Xref defined in attribute independent of filename Marker recognized Automatic relinking See X. X See X. X Book Presented at tcword 2010 - © JANG Communication 2010
  • 28. XRef Wizard Book level Resolves all Xrefs Reports conflicts Multiple targets Choice of candidates Allows jumping into Fast and easy Update book after this Presented at tcword 2010 - © JANG Communication 2010
  • 29. Step 4: Create books Presented at tcword 2010 - © JANG Communication 2010
  • 30. Preparing a publication Create new Book Create empty Chapters Add to the book Import EDD to all Import formats to all Set required info Book attributes Presented at tcword 2010 - © JANG Communication 2010
  • 31. Add reuse elements Insert empty element Use InsetPlus “Edit Inset Element” Select repository file Valid elements are listed Select required element Click OK twice Continue until done Presented at tcword 2010 - © JANG Communication 2010
  • 32. Publishing books Order of final steps Select book file Open all chapters Update all insets Resolve all XRefs Update book Save book as PDF Presented at tcword 2010 - © JANG Communication 2010
  • 33. Keeping track Excel workbook Available topics Versions, revisions Status and planning Available translations Usage information Manually in Excel Via InsetPlus reports Presented at tcword 2010 - © JANG Communication 2010
  • 34. Translation management Directory structure Language codes Translate repositories Translate images Copy of book Script to process language codes Presented at tcword 2010 - © JANG Communication 2010
  • 35. Questions ? Presented at tcword 2010 - © JANG Communication 2010
  • 36. More info: send e-mail to jang@jang.nl Presented at tcword 2010 - © JANG Communication 2010