Work Accomplishments
DITA
The following DITA Implementation Presentation demonstrates XML DITA topic-based structured authoring, single sourcing, content reuse, automation, and multi-channel publishing to deliver interactive content and media across any device. The accomplishments and examples listed here are from a DITA implementation project, which is documented in the DITA Implementation Presentation.
DITA Implementation Presentation
DITA Implementation Accomplishments
- Architected, engineered, and implemented XML DITA topic-based structured authoring; designed architecture and content for reuse, implemented Metadata and Taxonomy structures, created and delivered DITA and XMetaL training and best practices; authored DITA topics / maps, migrated content into DITA topics, API references, and release notes; created and embedded within the DITA topics e-Learning / Video Tutorials; DITA Open Tool Kit DITA-OT, DITA for Publishers, and XMetaL transformations customized and branded (XSLT, XSL-FO, CSS style sheets) to publish various formats including Eclipse Infocenter, WebHelp, PDF, and EPUB.
- Architected, engineered, and implemented multiple Eclipse Information Centers to serve as the company's central information portal for the publishing of and direct linking to content within the information centers and to content on other platforms and information systems by creating solutions that bridged multiple platforms and operating systems (Linux, OS X, and Windows).
- Customizations and specializations (XSLT, XSL-FO, CSS) created and deployed for both DITA-OT and XMetaL. Transform customizations included programmatically selecting specific map and topic element content during publishing and positioning the content onto the cover and into running headers and footers. Created custom Ant build scripts for unattended publishing of DITA content in various formats.
DITA Examples
All four of the following examples are from the same source content, which demonstrates the DITA Implementation Accomplishments including DITA Open Tool Kit, XSLT, XSL-FO, and CSS customizations, as listed in the DITA Implementation Presentation.
Eclipse Infocenter
WebHelp
EPUB
S1000D
S1000D Implementation Accomplishments
The following example demonstrates customizations performed to SDL LIveContent including:
- Customized, developed, reversed engineered, and hand coded the SDL LiveContent front end UI and transforms through the use of REST web services, API, XML, XSLT, XSL-FO, Ant scripts, Perl, JavaScript, JQuery and JQuery UI, HTML5, CSS, and custom programing to create UI messaging, error handling, enhanced tear off media types, skin selection, step marking, custom content display windows and the creation of additional navigational menus and aids.
- Customized, developed, reversed engineered, and hand coded HTML, XSLT, XSL-FO, JavaScript, and CSS style sheets for custom dynamic content delivery including adding support for new elements and attributes to support the S1000D standard and crossing tying support across style sheets.
- Created custom transforms (hand coded XSLT and Ant build scripts) to convert, using the DITA-OT environment, to extract specific content from S1000D Data Modules to create Information Architecture documents and reports including: Information Maps, Applicability, Publication Configuration, and for the creation of uniqe custom data modules.
S1000D Examples
LiveContent IETP - Desktop
LiveContent IETP - Tablet
Apache Ant Build Script
The following Apache Ant build script, demonstrates how the DITA publishing process can be configured to automate the process to transform DITA XML files, using the DITA Open Toolkit (DITA-OT) and DITA for Publishers plugin, into; Eclipse Infocenter, PDF, and EPUB formats. The script sets property strings, transforms the DITA files, modifies the transformed files, and then publishes the content onto a server. Available on: GitHub repository sdgpalm2 / dita-build-eclipse-pdf-epub.
Toggle Display Mode
<!-- Code Example Created By - Scott Galaba -->
<?xml version="1.0" encoding="UTF-8" ?>
<project name="Test-documentation" default="all" basedir=".">
<!-- set the path location to the DITA-OT -->
<property name="dita.dir" location="c:/DITA-OT1.7.5"/>
<!-- set the path location to the ditamap file -->
<property name="ditamap.dir" location="c:/TestDoc/Source DITA/"/>
<!-- set the path location to the ditaval file -->
<property name="ditaval.dir" location="c:/TestDoc/Source DITA/ditaval/"/>
<!-- set the path location to the css and footer files -->
<property name="ditacss.dir" location="c:/TestDoc/Source DITA/Styles/"/>
<!-- set the path location to the icons used with notes -->
<property name="ditaicons.dir" location="c:/TestDoc/Source DITA/Images/Icons/"/>
<!-- set the path location for the generated eclipse output -->
<property name="ditaoutput.dir" location="c:/DITAOT/out/eclipse/"/>
<!-- set the path location for the generated pdf output -->
<property name="ditaoutputpdf.dir" location="c:/DITAOT/out/pdfs/"/>
<!-- set the path to the Eclipse Inforcenter Plugin Location -->
<property name="ditainfocenter.dir" location="c:/InfocenterTestDoc/eclipse/plugins/"/>
<!-- DITA Customization to use -->
<property name="ditacustomization" value="c:/DITA-OT1.7.5/plugins/org.dita.pdf2/Customization"/>
<!-- DITA Map file to use -->
<property name="ditamapfile" value="BigFiDongle.ditamap"/>
<!-- DITA Val file to use -->
<property name="ditavalfile" value="BigFiDongle.ditaval"/>
<!-- DITA Val file to use for PDF -->
<property name="ditavalfilepdf" value="BigFiDonglepdf.ditaval"/>
<!-- DITA footer file to use -->
<property name="ditafooterfile" value="custom-ftr.html"/>
<!-- DITA css file to use -->
<property name="ditacssfile" value="TestDoc_commonltr.css"/>
<!-- Specific Eclipse Infocenter Plugin Directory Name to use for the above stated ditamap file -->
<property name="plugindirname" value="BigFi"/>
<!-- pdf file name -->
<property name="ditapdffilename" value="BigFiDongle.pdf"/>
<!-- epub file name -->
<property name="ditaepubfilename" value="BigFiDongle"/>
<!-- DITA Val file to use for epub -->
<property name="ditavalfileepub" value="BigFiDongleepub.ditaval"/>
<!-- epub css file to use -->
<property name="ditacssfileepub" value="TestDocEpub_commonltr.css"/>
<!-- set the path location for the generated epub output -->
<property name="ditaoutputepub.dir" location="c:/DITAOT/out/epub/"/>
<!-- set the path and file for epub cover graphic -->
<property name="epubcovergrahpicfile" location="c:/TestDoc/Source DITA/Images/Dongles/BigFi_cover_front_760.jpg"/>
<!-- Clean out the eclipse and epub build directory before starting a new build -->
<delete dir="${ditaoutput.dir}\${plugindirname}"/>
<delete dir="${ditaoutputepub.dir}\${plugindirname}"/>
<!-- Clear out the Infocenter directory before starting a new build -->
<delete dir="${ditainfocenter.dir}\${plugindirname}"/>
<!-- set build script to both an eclipsehelp, pdf, and epub outputs -->
<target name="all" description="build eclipse, pdf, and epub" depends="eclipse,pdf,epub"/>
<!-- good eclipse build script -->
<target name="eclipse" description="build Eclipse">
<ant antfile="${dita.dir}\build.xml">
<!-- set the build type to eclipsehelp -->
<property name="transtype" value="eclipsehelp"/>
<!-- set the ditamap file to use -->
<property name="args.input" value="${ditamap.dir}\${ditamapfile}"/>
<!-- set the conditional text settings file to use -->
<property name="dita.input.valfile" value="${ditaval.dir}\${ditavalfile}"/>
<!-- set the footer file to use -->
<property name="args.ftr" value="${ditacss.dir}\${ditafooterfile}"/>
<!-- set the css file and path statements -->
<property name="args.css" value="${ditacssfile}"/>
<property name="args.cssroot" value="${ditacss.dir}"/>
<!-- set create index file to yes -->
<property name="args.indexshow" value="YES"/>
<!-- set the symbolic name (aka plugin id) of the plugin to be produced, overrides the @id value in the ditamap -->
<!-- set output directory location -->
<property name="output.dir" value="${ditaoutput.dir}\${plugindirname}"/>
<!-- clear out temp location -->
<property name="clean.temp" value="yes"/>
</ant>
<!-- force copy of css file due to bug in dita-OT -->
<copy file="${ditacss.dir}\TestDoc_commonltr.css" todir="${ditaoutput.dir}\${plugindirname}" overwrite="true"/>
<!-- force copy of background icon note images -->
<copy file="${ditaicons.dir}\caution_20.jpg" todir="${ditaoutput.dir}\${plugindirname}\Images\Icons" overwrite="true"/>
<copy file="${ditaicons.dir}\danger_20.jpg" todir="${ditaoutput.dir}\${plugindirname}\Images\Icons" overwrite="true"/>
<copy file="${ditaicons.dir}\important_20.jpg" todir="${ditaoutput.dir}\${plugindirname}\Images\Icons" overwrite="true"/>
<copy file="${ditaicons.dir}\note_20.jpg" todir="${ditaoutput.dir}\${plugindirname}\Images\Icons" overwrite="true"/>
<copy file="${ditaicons.dir}\tip_20.jpg" todir="${ditaoutput.dir}\${plugindirname}\Images\Icons" overwrite="true"/>
<copy file="${ditaicons.dir}\tw_icon.jpg" todir="${ditaoutput.dir}\${plugindirname}\Images\Icons" overwrite="true"/>
<copy file="${ditaicons.dir}\warning_20.jpg" todir="${ditaoutput.dir}\${plugindirname}\Images\Icons" overwrite="true"/>
<!-- Copy eclipsehelp output files (the "plugin") to the Eclipse Inforcenter plugins folder -->
<copy todir="${ditainfocenter.dir}\${plugindirname}">
<fileset dir="${ditaoutput.dir}\${plugindirname}"/>
</copy>
</target>
<!-- Good pdf build scripot -->
<target name="pdf" description="build PDF">
<ant antfile="${dita.dir}\build.xml">
<!-- set the build type to pdf2 -->
<property name="transtype" value="pdf2"/>
<!-- the ditamap file to use -->
<property name="args.input" value="${ditamap.dir}\${ditamapfile}"/>
<!-- the conditional text setting file to use -->
<property name="dita.input.valfile" value="${ditaval.dir}\${ditavalfilepdf}"/>
<!-- Customization to use -->
<property name="customization.dir" value="${ditacustomization}"/>
<!-- display task lables in topics -->
<property name="args.gen.task.lbl" value="no"/>
<!-- set related links to nofamily -->
<property name="args.rellinks" value="nofamily"/>
<!-- output directory location -->
<property name="output.dir" value="${ditaoutputpdf.dir}"/>
</ant>
<!-- Copy pdf output file to the Eclipse Inforcenter plugins pdf folder -->
<copy file="${ditaoutputpdf.dir}\${ditapdffilename}" todir="${ditainfocenter.dir}\${plugindirname}\pdfs" overwrite="true"/>
</target>
<!-- good epub build script -->
<target name="epub" description="build epub">
<ant antfile="${dita.dir}\build.xml">
<!-- set the build type to eclipsehelp -->
<property name="transtype" value="epub"/>
<!-- set the ditamap file to use -->
<property name="args.input" value="${ditamap.dir}\${ditamapfile}"/>
<!-- set the conditional text settings file to use -->
<property name="dita.input.valfile" value="${ditaval.dir}\${ditavalfileepub}"/>
<!-- set the footer file to use -->
<property name="args.ftr" value="${ditacss.dir}\${ditafooterfile}"/>
<!-- set the css file and path statements -->
<property name="args.css" value="${ditacssfileepub}"/>
<property name="args.cssroot" value="${ditacss.dir}"/>
<!-- set create index file to yes -->
<property name="args.indexshow" value="YES"/>
<!-- set output directory location -->
<property name="output.dir" value="${ditaoutputepub.dir}\${plugindirname}"/>
<!-- set cover artwork -->
<property name="cover.graphic.file" value="${epubcovergrahpicfile}"/>
<!-- set TestDoc url -->
<property name="epub.pubid.uri.stub" value="http://www.TestDoc.com/"/>
<!-- clear out temp location -->
<property name="clean.temp" value="yes"/>
</ant>
<!-- Add apple ibooks option file to epub -->
<move file="${ditaoutputepub.dir}\${plugindirname}\${ditaepubfilename}.epub" tofile="${ditaoutputepub.dir}\${plugindirname}\${ditaepubfilename}.zip"/>
<unzip src="${ditaoutputepub.dir}\${plugindirname}\${ditaepubfilename}.zip" dest="${ditaoutputepub.dir}\${plugindirname}\${plugindirname}\"/>
<copy file="${ditacss.dir}\com.apple.ibooks.display-options.xml" todir="${ditaoutputepub.dir}\${plugindirname}\${plugindirname}\META-INF\" overwrite="true"/>
<zip destfile="${ditaoutputepub.dir}\${plugindirname}\${plugindirname}\${ditaepubfilename}.epub" basedir="${ditaoutputepub.dir}\${plugindirname}\${plugindirname}\" excludes="dont*.*"/>
<!-- Copy epub output file to the Eclipse Inforcenter plugins epub folder -->
<copy file="${ditaoutputepub.dir}\${plugindirname}\${plugindirname}\${ditaepubfilename}.epub" todir="${ditainfocenter.dir}\${plugindirname}\epub" overwrite="true"/>
</target>
</project>
Tips and Donations to Support Development
New to Cryptocurrency?
Getting Started in Crypto,
Crypto Tips, and Crypto Links.
With appreciation and gratitude, thank you!
BTC
LTC
ETH
DGB
DASH
BCH
BAT
Or send to sgappdev.crypto using a blockchain domain address aware wallet, like the Coinbase Mobile Wallet application.
Get a blockchain domain address from Unstoppable Domains and receive $10 off your first purchase of $40 or more!
Download the Brave Browser a privacy-centered browser, with built-in support for the BAT, online and hardware wallets, and earn BAT while browsing, and receive TIPS as a content creator.
Ready to buy your first Cryptos or Bitcoin?
Sign up at
Coinbase
and get $10 in free Bitcoin.
Sign up at
Gemini
and get $10 in free Bitcoin.