SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

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

Web Components
Web ComponentsWeb Components
Web ComponentsFITC
 
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 CompanyMarcos 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 ComponentsFITC
 
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.pdfOrtus Solutions, Corp
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressNathaniel 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--devaltsav
 
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 applicationBeGooden-IT Consulting
 
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).pdfssuserbe139c
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
Drupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHPDrupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHPAntonio 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.1Andrei KUCHARAVY
 

Ähnlich wie 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
 

Kürzlich hochgeladen

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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