SlideShare a Scribd company logo
Putting it WhereThey Need It
Publishing FrameMaker-Sourced Content
into a SalesForce Knowledgebase
I’m John Sgammato
• Documentation architect at Actifio, previously
Imprivata, CoreChange, and Genetic
MicroSystems/Affymetrix
• You might see me in: STC New England Chapter, STC
LoneWriters SIG, the Framers list, and some LinkedIn
• I specialize in hi-tech start-ups
• That means I have to build everything myself…
• …and adapt to whatever other systems are put in place
without my consultation.
Support Doesn’t Use My Doc!
I see this a lot:
• Support MUST use Salesforce for customer issue
tracking
• Salesforce provides a “knowledgebase tool”, so they
work with that, building it themselves.
• But they don’t do a good job.They end up with a
knowledge base with no knowledge in it, baffling users.
• What they really need is my hundreds of ENG-reviewed
procedures in their knowledgebase.
So I’ll Put My Doc into Salesforce!
• Well, that’s easier said than done…
• The tool is Salesforce Knowledge (plus Chatter if you can
get it)
• There’s no “Salesforce” or “Knowledge” file format
• RoboHelp is no help – actually, nothing is
• Salesforce erects its own hurdles, like the 10MB limit
• With good reason; it’s a complex tool
About Salesforce
• Salesforce is Huge, and there are major stakeholders in
your company with no interest in your worthy project.
• They have new knowledgebase: Salesforce Knowledge.
• It’s in the Cloud.They upgrade you on their schedule.
• You must have help from your SalesforceAdmin.
• This requires resources, and brings benefits.
• You can pitch this vision:
We can make our good Engineering-reviewed content
available to customers and support, with role-based
access and proper version control. Chatter enables
crowdsourcing.
WhatYou Need
• FrameMaker: I used FM11 (unstructured), other versions
should work, structure may work
• FrameScript + a small suite of scripts
• Mif2Go + config files
• Salesforce Knowledge
• Documentation
FrameMaker Gotchas
By clean, well-formed, and HTML-friendly, I mean:
• No index,ToC, title page and other unneeded files
• Consistent para, char, and x-ref styles
• No unresolved x-refs or text insets
• X-refs without page numbers or chapter numbers
• Consistent conditional text
• No multiple images sharing an image frame
• No two identical titles
FrameScript & the Scripts
Rick Quatro’s script suite:
• _RunMe.fsl
• _RunMe.ini
• Fix-lists.xsl
• GetCsvInfo.fsl
• MakeHtmlMap.fsl
• MakeProjectFolderStructure.fsl
• MakeZipArchive.fsl
• ProcessHtmlFiles.fsl
Two FrameScript scripts:
• TidyImport.fso
• ArchiveFm.fso
The Incredible Mif2Go
Mif2Go makes export-quality XHTML, HTML, RTF, etc
• Do not use the FM export – it is essentially deprecated
• Mif2Go has great support on the Framers email list
• Mif2Go uses a few config files that you must edit
• It has almost no error-checking – do it right or fail
• Experience is your only teacher
• You can use my config files
Here We Go!
Here’s the Procedure:
1. Set Up the Folder Structure
2. Prepare the FM Files
3. Run Mif2Go
4. Run the FrameScripts
5. Import into Salesforce Knowledge
6. Publish to Users
1. Set Up the Folder Structure
Mif2Go relies on config files that point to specific folders.
They can be confusing, so you must set them up right.
• Unzip Project.ZIP at C:
• C:Project _m2xhtml.ini, and the .prj project file
_config – html_doc.ini
images – referenced images from the FM book
scripts – the FrameScript scripts
Geography and Naming are Important
Use this structure with these names:
C:Project
_config
html_doc.ini………....Do nothing here
images ……………………..images for the FM docs
ReadyForImport …………Your finished files go here
scripts……………………….Do nothing here
ToBeProcessed …………..Your working files go here
OnlineTemplate.fm
<FM doc that you are processing>
2. Prepare the FM Files
This makes your content HTML-friendly and robust.
1. Install and run the ArchiveFM script on your source FM project
and use the files from the ZIP.This deletes unused images.
2. Delete theTOC and the IX from the book, and theTitle Page if
there is one. Update the book.
3. Search for unresolved X-Refs and resolve them. Make sure all
images are in the same images folder.
4. Select all files in the book and run the TidyImport script to import
para, char, x-ref, condition formats & page layouts from
OnlineTemplate.fm. NOTVariables! Update and resolve issues.
Don’t worry about inconsistent page numbering. Save and close.
5. Copy the FM files to C:Project and the referenced images to
C:Projectimages. Reopen the book to update the links.
3. Use Mif2Go to Generate Good XHTML
1. In the FrameMaker book file menu, click Set Up Mif2Go
Export and select XHTML.This opens up _m2xhtml.ini.
2. In _m2xhtml.ini [Setup], change FileSuffix=xhtml to =html.
3. In _m2xhtml.ini [Setup], make 3 edits: PrjFileName,
ProjectName, and FrameBook with the name of the book
file.Then edit [HTMLOptions]Title= with the human name
for this content. Save _m2xhtml.ini.
4. Select the book file. In the FM File menu, select Save Using
Mif2Go.The Choose Project dialog appears. Click OK.The
Mif2Go Export dialog appears. Click OK to run the XHTML
project.This will take a few minutes. Wait for the chime and
the little Mif2Go finished creating files dialog.
4. FrameScript: Build the CSV and the ZIP
1. Open the FrameMaker book.You do not need to open the
chapters. From the FrameScript menu, run the _RunMe
script.
2. Enter your Project name (the book file name) a Data
Category (typically the version) and the Component (a
keyword that Salesforce is configured to use for this
content). For _wrap folder, navigate to the _wrap folder.
3. Click OK.This creates a ZIP and a new folder called
ImportToSalesForce_Project
4. (You can delete everything in Project folder except _config,
scripts, and _m2xhtml.ini, and copy in the next book.)
The Finished ZIP Looks LikeThis
5. Import the ZIP into Salesforce
• This is a primitive tool!
• There is a hard limit of 10MB for the finished ZIP file.
• Upload ImportToSalesForce_Project to SalesForce
Knowledge. Log in as admin. In the upper right corner
under your name select Setup. Navigate to Administer
> Data Management > Import Articles. Scroll down to
the importer tool. Select Procedure and then browse to
the ZIP file, then click Import Now.
6. Publish toYour Users
• Under +, select Article Management.
• View the files, test them, and then publish them.
What it Looks Like
Testing
Watch for:
• Ordered lists
• Images
Questions?

More Related Content

Similar to Putting it where they need it: How to Populate a Salesforce Knowledge base with FrameMaker content

Web Components
Web ComponentsWeb Components
Web Components
FITC
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
Marcos Labad
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Shyamala Prayaga
 
Web Components
Web ComponentsWeb Components
Web Components
FITC
 
Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.
Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.
Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.
Chris Laning
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
Ortus Solutions, Corp
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPress
Nathaniel Taintor
 
Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Mediacurrent
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--dev
altsav
 
Drupal8 for Symfony Developers
Drupal8 for Symfony DevelopersDrupal8 for Symfony Developers
Drupal8 for Symfony Developers
Antonio Peric-Mazar
 
Instagram filters (8 24)
Instagram filters (8 24)Instagram filters (8 24)
Instagram filters (8 24)
Ivy Rueb
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl applicationQuerix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
BeGooden-IT Consulting
 
Automation in Drupal
Automation in DrupalAutomation in Drupal
Automation in Drupal
Bozhidar Boshnakov
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
Barb Ackemann
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
ssuserbe139c
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
Ulrich Krause
 
Drupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHPDrupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHP
Antonio Peric-Mazar
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1
Andrei KUCHARAVY
 

Similar to Putting it where they need it: How to Populate a Salesforce Knowledge base with FrameMaker content (20)

Web Components
Web ComponentsWeb Components
Web Components
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2
 
Web Components
Web ComponentsWeb Components
Web Components
 
Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.
Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.
Taming the Legacy Beast: Turning wild old code into a sleak new thoroughbread.
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPress
 
Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG)
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--dev
 
Drupal8 for Symfony Developers
Drupal8 for Symfony DevelopersDrupal8 for Symfony Developers
Drupal8 for Symfony Developers
 
Instagram filters (8 24)
Instagram filters (8 24)Instagram filters (8 24)
Instagram filters (8 24)
 
Joomla tempates talk
Joomla tempates talkJoomla tempates talk
Joomla tempates talk
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl applicationQuerix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
 
Automation in Drupal
Automation in DrupalAutomation in Drupal
Automation in Drupal
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
Drupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHPDrupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHP
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 

Putting it where they need it: How to Populate a Salesforce Knowledge base with FrameMaker content

  • 1. Putting it WhereThey Need It Publishing FrameMaker-Sourced Content into a SalesForce Knowledgebase
  • 2. I’m John Sgammato • Documentation architect at Actifio, previously Imprivata, CoreChange, and Genetic MicroSystems/Affymetrix • You might see me in: STC New England Chapter, STC LoneWriters SIG, the Framers list, and some LinkedIn • I specialize in hi-tech start-ups • That means I have to build everything myself… • …and adapt to whatever other systems are put in place without my consultation.
  • 3. Support Doesn’t Use My Doc! I see this a lot: • Support MUST use Salesforce for customer issue tracking • Salesforce provides a “knowledgebase tool”, so they work with that, building it themselves. • But they don’t do a good job.They end up with a knowledge base with no knowledge in it, baffling users. • What they really need is my hundreds of ENG-reviewed procedures in their knowledgebase.
  • 4. So I’ll Put My Doc into Salesforce! • Well, that’s easier said than done… • The tool is Salesforce Knowledge (plus Chatter if you can get it) • There’s no “Salesforce” or “Knowledge” file format • RoboHelp is no help – actually, nothing is • Salesforce erects its own hurdles, like the 10MB limit • With good reason; it’s a complex tool
  • 5. About Salesforce • Salesforce is Huge, and there are major stakeholders in your company with no interest in your worthy project. • They have new knowledgebase: Salesforce Knowledge. • It’s in the Cloud.They upgrade you on their schedule. • You must have help from your SalesforceAdmin. • This requires resources, and brings benefits. • You can pitch this vision: We can make our good Engineering-reviewed content available to customers and support, with role-based access and proper version control. Chatter enables crowdsourcing.
  • 6. WhatYou Need • FrameMaker: I used FM11 (unstructured), other versions should work, structure may work • FrameScript + a small suite of scripts • Mif2Go + config files • Salesforce Knowledge • Documentation
  • 7. FrameMaker Gotchas By clean, well-formed, and HTML-friendly, I mean: • No index,ToC, title page and other unneeded files • Consistent para, char, and x-ref styles • No unresolved x-refs or text insets • X-refs without page numbers or chapter numbers • Consistent conditional text • No multiple images sharing an image frame • No two identical titles
  • 8. FrameScript & the Scripts Rick Quatro’s script suite: • _RunMe.fsl • _RunMe.ini • Fix-lists.xsl • GetCsvInfo.fsl • MakeHtmlMap.fsl • MakeProjectFolderStructure.fsl • MakeZipArchive.fsl • ProcessHtmlFiles.fsl Two FrameScript scripts: • TidyImport.fso • ArchiveFm.fso
  • 9. The Incredible Mif2Go Mif2Go makes export-quality XHTML, HTML, RTF, etc • Do not use the FM export – it is essentially deprecated • Mif2Go has great support on the Framers email list • Mif2Go uses a few config files that you must edit • It has almost no error-checking – do it right or fail • Experience is your only teacher • You can use my config files
  • 10. Here We Go! Here’s the Procedure: 1. Set Up the Folder Structure 2. Prepare the FM Files 3. Run Mif2Go 4. Run the FrameScripts 5. Import into Salesforce Knowledge 6. Publish to Users
  • 11. 1. Set Up the Folder Structure Mif2Go relies on config files that point to specific folders. They can be confusing, so you must set them up right. • Unzip Project.ZIP at C: • C:Project _m2xhtml.ini, and the .prj project file _config – html_doc.ini images – referenced images from the FM book scripts – the FrameScript scripts
  • 12. Geography and Naming are Important Use this structure with these names: C:Project _config html_doc.ini………....Do nothing here images ……………………..images for the FM docs ReadyForImport …………Your finished files go here scripts……………………….Do nothing here ToBeProcessed …………..Your working files go here OnlineTemplate.fm <FM doc that you are processing>
  • 13. 2. Prepare the FM Files This makes your content HTML-friendly and robust. 1. Install and run the ArchiveFM script on your source FM project and use the files from the ZIP.This deletes unused images. 2. Delete theTOC and the IX from the book, and theTitle Page if there is one. Update the book. 3. Search for unresolved X-Refs and resolve them. Make sure all images are in the same images folder. 4. Select all files in the book and run the TidyImport script to import para, char, x-ref, condition formats & page layouts from OnlineTemplate.fm. NOTVariables! Update and resolve issues. Don’t worry about inconsistent page numbering. Save and close. 5. Copy the FM files to C:Project and the referenced images to C:Projectimages. Reopen the book to update the links.
  • 14. 3. Use Mif2Go to Generate Good XHTML 1. In the FrameMaker book file menu, click Set Up Mif2Go Export and select XHTML.This opens up _m2xhtml.ini. 2. In _m2xhtml.ini [Setup], change FileSuffix=xhtml to =html. 3. In _m2xhtml.ini [Setup], make 3 edits: PrjFileName, ProjectName, and FrameBook with the name of the book file.Then edit [HTMLOptions]Title= with the human name for this content. Save _m2xhtml.ini. 4. Select the book file. In the FM File menu, select Save Using Mif2Go.The Choose Project dialog appears. Click OK.The Mif2Go Export dialog appears. Click OK to run the XHTML project.This will take a few minutes. Wait for the chime and the little Mif2Go finished creating files dialog.
  • 15. 4. FrameScript: Build the CSV and the ZIP 1. Open the FrameMaker book.You do not need to open the chapters. From the FrameScript menu, run the _RunMe script. 2. Enter your Project name (the book file name) a Data Category (typically the version) and the Component (a keyword that Salesforce is configured to use for this content). For _wrap folder, navigate to the _wrap folder. 3. Click OK.This creates a ZIP and a new folder called ImportToSalesForce_Project 4. (You can delete everything in Project folder except _config, scripts, and _m2xhtml.ini, and copy in the next book.)
  • 16. The Finished ZIP Looks LikeThis
  • 17. 5. Import the ZIP into Salesforce • This is a primitive tool! • There is a hard limit of 10MB for the finished ZIP file. • Upload ImportToSalesForce_Project to SalesForce Knowledge. Log in as admin. In the upper right corner under your name select Setup. Navigate to Administer > Data Management > Import Articles. Scroll down to the importer tool. Select Procedure and then browse to the ZIP file, then click Import Now.
  • 18. 6. Publish toYour Users • Under +, select Article Management. • View the files, test them, and then publish them.
  • 20. Testing Watch for: • Ordered lists • Images