An Introduction to On-Demand, Web-Based Publishing
AN INTRODUCTION TO ON-DEMAND, WEB-BASED PUBLISHINGRussell WardSTC-PMC 2012 Conference – Willow Grove, PA
Agenda Define concepts and benefits associated with web-basedpublishing Demonstrate the installation and setup of a common web server,Apache Tomcat. Demonstrate basic information delivery via the web server Demonstrate the addition of more advanced, on-demandpublishing features Briefly showcase a real-world web-based publisher deployed atSpirent Communications that has provided substantial benefits Q&A
Speaker contact informationRuss Ward Senior Technical Writer at Spirent Communications inGermantown, MD. Owner of West Street Consulting, a part-time enterprisespecializing in Structured FrameMaker plugins and customdevelopment.20324 Seneca Meadows ParkwayGermantown, MD email@example.com W. North St.Carlisle, PA firstname.lastname@example.org
Web-based publishing concepts Before defining web-based publishing, it is useful to clarify the morecommonly-used alternative: a distributed, file system-baseddocumentation system that is normally static. Familiar examples includePDF, CHM, JavaHelp, Flash demos, etc. etc. A static system uses some kind of viewer that draws information directlyfrom a set of files, often stored on the same computer that is runningthe viewer. Static systems are normally much less complex to implement, as manytools can generate them out-of-the box. Again, familiar examplesinclude:• RoboHelp• MadCap Flare• Author-it• Quadralay ePublisher• The DITA open toolkit• …and many more
Concepts (continued) As an alternative, content can be “served” on demand by adedicated application that interactively processes requests andresponds as appropriate. Similar to any web-based operation, thistype of uses:• A web server – Some computer on some network somewhere that hasinformation to hand out and “listens” for requests for that information.• One or more client computers – The “consumers” of the information whichrequest information from the server, usually with a web browser thatsubsequently renders the information. There is always an exchange between two or more computers,usually facilitated by HTTP-based negotiations.Webserver
Concepts (continued) Because of the inherent “server-side” processing capabilities,web-based publishing provides the following features andadvantages:• Dynamic adjustment of content based on the nature of a request• Access control• In some cases, an easier framework for swift content updates• Normally no requirement to deploy software to users• Opportunities for advanced functionality related to authoring and contentmanagement, such integration with collaborative authoring and sourcecontrol systems• Integration with any other system that supports web-based interactions; forexample, corporate databases. The possibilities are quite expansive. Any given capability may ormay not be applicable to a certain situation.
Getting started For a documentation system driven by a web server, you obviouslyneed a web server. Two common options include:• Apache HTTP Server /r Apache Tomcat – Free, open-source platforms thatprovide direct integration with native Java code (Tomcat)• Microsoft Active Server Pages (ASP) – A commercial product that is morecatered to integration with Microsoft-related technologies such as VBScriptand ASP.net This presentation will focus on Tomcat because:• It is free yet very robust• It runs anywhere (Windows, Linux, etc.)• Your presenter knows much more about it than ASP
Server-side processing concepts Aside from remote network access, the real magic of deliveringcontent with a web server is the expansive ability for server-sideprocessing. You can effectively manipulate the content any wayyou want before sending it to the requestor. The user does not necessarily see what is actually on the webserver computer, only what the server application sends back. Itmay look like the user is receiving static HTML pages that aresitting on the server somewhere, but in actuality, the server maybe dynamically generating the HTML code upon request. In the case of technical documentation, server-side processingmight include:• Opening XML files and running XSLT transformations• Querying some database for information Basically, the server needs to do whatever is required to createthe HTML for the client browser.
DEMONSTRATIONA simple XML/XSLT setup for generating HTML
Server-side processing may be useful for generating contentcatered to specific users. For example, you could:• Accept input from a user to apply the appropriate filters• Use user profile information to otherwise adjust the content For content reuse, the possibilities are endless. For example, youcould:• Apply filters using the “conditional text” model, according to some sort ofinput or selection criteria• Pull common information from any central, networked location that supportsweb-based interaction, such as a database or file systemProfiling and content reuse
DEMONSTRATIONUsing XSLT to filter conditional content
DEMONSTRATIONA mature, real-world system deployed at Spirent
Summary and final points• Dynamic web-based publishing may not be applicable in all situations, butwhere it is, it can make all the difference.• Most people would be surprised to know how much you can do for FREE(excepting your paycheck and that computer, of course).• Web-based publishing requires knowledge in advanced concepts that taketime to learn. If you want to develop an extensive and complexarchitecture, don’t expect it to be easy. Having said that, the rewards areworth every bit of effort and will make your resume look GREAT.