Cross Media Publishing with TYPO3
Upcoming SlideShare
Loading in...5
×
 

Cross Media Publishing with TYPO3

on

  • 1,651 Views

Cross Media Publishing with TYPO3 - T3CON Talk 2012 Stuttgart by Bitmotion.

Cross Media Publishing with TYPO3 - T3CON Talk 2012 Stuttgart by Bitmotion.
You can find the Video from the Talk on http://www.youtube.com/watch?v=R0PsjqXiKUU

Statistics

Views

Total Views
1,651
Views on SlideShare
922
Embed Views
729

Actions

Likes
0
Downloads
3
Comments
0

2 Einbettungen 729

http://www.bitmotion.de 391
http://www.cross-media.net 338

Zugänglichkeit

Kategorien

Details hochladen

Uploaded via as Apple Keynote

Benutzerrechte

© Alle Rechte vorbehalten

Report content

Als unangemessen gemeldet Als unangemessen melden
Als unangemessen melden

Wählen Sie Ihren Grund, warum Sie diese Präsentation als unangemessen melden.

Löschen
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Ihre Nachricht erscheint hier
    Processing...
Kommentar posten
Kommentar bearbeiten
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • To describe the most typical case in one sentence: CMP3 enables you to produce printable products out of TYPO3 Data\n\nLet me explain that a little bit deeper on the basis of a customer project\nThe customer uses CMP3 to produce product brochures for an exhibitions \nWe brought some of those with us and Rene will hand those out to you so you can have a closer look\n\n3 Main Problems\n\n1. No CI in those Brochures\n- The Customer has different divisions in different countries (for example in Zwitzerland or USA)\n2. long time to produce because there was\n--- no reliable single source for product information, \n--- copy/paste needed\n--- many iterations till the final brochure, sending drafts back and forth between division and agency\n3. expensive\n=> Need for an easy to use fast solution to produce product brochure any time \n=> Reuse Product data from website - Single Source Publishing\n=> Use digital print because it has a very good quality, is fast and cheap, even if you produce a low number of brochures\n
  • To describe the most typical case in one sentence: CMP3 enables you to produce printable products out of TYPO3 Data\n\nLet me explain that a little bit deeper on the basis of a customer project\nThe customer uses CMP3 to produce product brochures for an exhibitions \nWe brought some of those with us and Rene will hand those out to you so you can have a closer look\n\n3 Main Problems\n\n1. No CI in those Brochures\n- The Customer has different divisions in different countries (for example in Zwitzerland or USA)\n2. long time to produce because there was\n--- no reliable single source for product information, \n--- copy/paste needed\n--- many iterations till the final brochure, sending drafts back and forth between division and agency\n3. expensive\n=> Need for an easy to use fast solution to produce product brochure any time \n=> Reuse Product data from website - Single Source Publishing\n=> Use digital print because it has a very good quality, is fast and cheap, even if you produce a low number of brochures\n
  • To describe the most typical case in one sentence: CMP3 enables you to produce printable products out of TYPO3 Data\n\nLet me explain that a little bit deeper on the basis of a customer project\nThe customer uses CMP3 to produce product brochures for an exhibitions \nWe brought some of those with us and Rene will hand those out to you so you can have a closer look\n\n3 Main Problems\n\n1. No CI in those Brochures\n- The Customer has different divisions in different countries (for example in Zwitzerland or USA)\n2. long time to produce because there was\n--- no reliable single source for product information, \n--- copy/paste needed\n--- many iterations till the final brochure, sending drafts back and forth between division and agency\n3. expensive\n=> Need for an easy to use fast solution to produce product brochure any time \n=> Reuse Product data from website - Single Source Publishing\n=> Use digital print because it has a very good quality, is fast and cheap, even if you produce a low number of brochures\n
  • To describe the most typical case in one sentence: CMP3 enables you to produce printable products out of TYPO3 Data\n\nLet me explain that a little bit deeper on the basis of a customer project\nThe customer uses CMP3 to produce product brochures for an exhibitions \nWe brought some of those with us and Rene will hand those out to you so you can have a closer look\n\n3 Main Problems\n\n1. No CI in those Brochures\n- The Customer has different divisions in different countries (for example in Zwitzerland or USA)\n2. long time to produce because there was\n--- no reliable single source for product information, \n--- copy/paste needed\n--- many iterations till the final brochure, sending drafts back and forth between division and agency\n3. expensive\n=> Need for an easy to use fast solution to produce product brochure any time \n=> Reuse Product data from website - Single Source Publishing\n=> Use digital print because it has a very good quality, is fast and cheap, even if you produce a low number of brochures\n
  • To describe the most typical case in one sentence: CMP3 enables you to produce printable products out of TYPO3 Data\n\nLet me explain that a little bit deeper on the basis of a customer project\nThe customer uses CMP3 to produce product brochures for an exhibitions \nWe brought some of those with us and Rene will hand those out to you so you can have a closer look\n\n3 Main Problems\n\n1. No CI in those Brochures\n- The Customer has different divisions in different countries (for example in Zwitzerland or USA)\n2. long time to produce because there was\n--- no reliable single source for product information, \n--- copy/paste needed\n--- many iterations till the final brochure, sending drafts back and forth between division and agency\n3. expensive\n=> Need for an easy to use fast solution to produce product brochure any time \n=> Reuse Product data from website - Single Source Publishing\n=> Use digital print because it has a very good quality, is fast and cheap, even if you produce a low number of brochures\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • I would love to work for NASA but I guess I'm not qualified, because this is definitely not Rocket Science.\nSo what is special about CMP3?\nWe've learned in our projects and customer requests that it is just NOT possible to build one, three or five applications that would fit for most of our cross media projects.\nTherefore CMP3 is not an application. It's a tool you can easily use in your application.\nTo make a tool that you can use in multiple projects you have to make it modular. So you have to identify the typical elements of a cross media application.\n\n
  • A cross media application typically has\n–  some data source \n–  some processing of the data \n–  and finally a transformation to produce the target format like pdf \n\n
  • Another application for example has to work with data \nfrom multiple sources and has different data processing. \n\n
  • This example shows the most common parts of a cross media application \n –  an element to fetch the data from a data source \n –  some content processing \n –  a transformation to produce the target format \n\n
  • And that's exactly the way we splitted the functionality in separate parts in CMP3 \nto make it modular and reusable. \nLet's have a closer look how that's work. \n\n
  • A data source has a fetcher which queries in this example the database. \nBut a data source does also a normalization which means the data is transformed into an XML format.\nThat format doesn't only provide the data itself but also some meta information of the data types which could be integer, string or a date for example.\nAdditionally the CMP3XML provides meta information about the format of the data which could be line, multiline, rich text, header and things like that. \n\n
  • The next step is content processing.\n\n
  • Most applications need some content processing before the final transformation.\nIn CMP3 you can use as many content processors as you want. \nEach processor returns the modified CMP3XML which is passed to the next processor and so on.\n\n
  • When the processing chain is finished ...\n(... a transformation is done which produces the final output format like pdf.)\n\n
  • ... a transformation is done which produces the final output format like pdf.\n\n
  • As you can see the whole process is organized in a chain.\nAnd what's so special in CMP3 is that those chains are not hardcoded in PHP but they can be defined using TypoScript.\nWe believe that this is a very good way to handle all those different requirements in cross media projects.\nLet's see how the TypoScript configuration of such a processing chain looks like.\n\n
  • First the data source.\n\n
  • Here you can see the configuration of the data source.\nWe define a name for the data source.\nHere is the type of the data source and the type of the fetcher.\nEach element in our processing chain is configurable.\nHere for example you can see the database table to get the data from.\n\n
  • The next step is content processing\n\n
  • In this example we have three content processors.\n\n
  • Again we have a name for our processing.\nHere we have a content processor which transforms the internal TYPO3 RTE format into something more useful.\nHere we have a processor for table data.\nAnd finally we have a content processor that renders a qrcode. That's the way we created the codes you can see on the leaflets we handed out.\nAll those processors modify the CMP3XML or add data to it.\nFor example the qrcode processor renders an image and stores the path of the file into the XML.\n\n
  • The last step is the transformation.\n\n
  • \n
  • Here we have also a name for the transformation.\nIn the example project we used the Apache FOP which is an XSL-FO processor.\nHere for example you can see the configured stylesheet which produces one of the leaflets.\n\n
  • Now we configured all the parts of our processing chain.\n\n
  • Finally we have to connect those parts in a so called „job configuration“.\nAs you can see we use the names of configured data source, processing and transformation. This makes it easier to combine those elements to new chains.\nIn a job we can also define multiple parts, and composer.\nLet's say you want to produce a document which consists of two parts with different processing chains.\nYou can easily add a part 20 here which produces a second pdf file for example.\nA so called composer could be used to merge those files and produces one pdf file.\nIn this example we use a composer which modifies the generated pdf to shrink it's file size.\nAs you can see using TypoScript to define the processing chains makes the system very flexible\n\n
  • For example to render a leaflet with a different layout...\n\n
  • ... only the transformation has to be replaced.\n
  • This modular approach allows also to replace the transformation by another one that produces a different output format like InDesign. (icml, idml, tagged text).\n\n\n
  • And of course you can define totally different jobs with other data sources and different processing...\n\n
  • ... to produce a great variety of target formats and layouts.\n\n
  • To give you an impression what can be done I'll show you very quickly which components already exists.\nWe have a few Data Sources to get data from TYPO3 but also from other sources like Oracle or from files.\n\n
  • We have a bunch of Content Processors to process CMP3XML but also HTML or plain text.\n\n
  • We have transformations to produce PDF from XML or HTML, for example. \nAnd we have some Composers to modify PDF files.\n\n
  • What does this mean?\nTo show you HOW flexible CMP3 is, here is a more complex example.\nWe want to produce a document in PDF format which consist of four parts. Each part has different data sources and different content formats.\nWe have different data sources like a PDF file, TYPO3, a database and some web content. \nFor each of those sources we use different processing chains to produce PDF. \nFinally a composer merges the four parts into one PDF file.\nSo how do I use CMP3 in my own applications? ...\n\n
  • This is the PHP code which is needed to call the CMP3 System and render a job.\nAnd while we are using TypoScript to define the job, it is not needed to change the PHP code for other transformations or layouts.\nIf you need a processing which can't be done with the current system, just write a small Content Processor for your needs, add it to the processing chain in TypoScript and you are done.\n\nSo, Thomas, as you can see - no, it´s not Rocket Science\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • ... Or you can use it for a web 2 print application\n\nIn this case: Generating individual Labels for sausages \n\nSo here the data comes directly from the Web-User\n
  • \n
  • Everything we got is on forge\n\nHere is a little introduction\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - Overview\n- Get Consulting from us\n
  • \n
  • \n
  • \n
  • \n

Cross Media Publishing with TYPO3 Cross Media Publishing with TYPO3 Presentation Transcript

  • Cross Media Publishing with TYPO3 Thomas Esders René Fritz General Manager Developer
  • What isCross Media Publishing with TYPO3?
  • “ With CMP3, we were finally able to produce uniform brochures in different languages in 14 days for our exhibition Britta Riemann, Marketing & Communication, Körber Medipak
  • Rocket Science?
  • Data Content TransSource Processing formation
  • TYPO3 Content DB Fetcher Normalize CMP3XML
  • Data Content TransSource Processing formation
  • Content ContentCMP3XML Process Process Process CMP3XML
  • Data Content TransSource Processing formation
  • ContentCMP3XMLSource Transformation Processing PDF
  • Data Content TransSource Processing formation
  • TYPO3 Content DB Fetcher Normalize CMP3XML
  • source.single_product = Cmp3SourceTypo3Xml fetcher = Cmp3SourceTypo3Query fetcher { selection { 10 = product } queries.product { table = tx_kmpproduct_product enableFields = default constraints { uid = {JobData:item} }
  • Data Content TransSource Processing formation
  • Content ContentCMP3XML Process Process Process CMP3XML
  • processing.single_product { 10 = Cmp3ContentProcessingXPath_Typo3RteRender 10.xpath = //field[@format="typo3_rte"] 20 = Cmp3ContentProcessingXPath_Typo3TableRender 20.xpath = //field[@format="typo3_table"] 20.headerPos = left Trans Source Process Processing Process formation 30 = Cmp3ContentProcessingXPath_QRCode 30 { xpath = //field[@name="print_url"]/value backgroundColor = #FFFFFF foreColor = #000000 padding = 0 moduleSize = 4 ecclevel = M }}
  • Data Content TransSource Processing formation
  • ContentCMP3XML Transformation Processing PDF
  • transformation.xml2pdf_fop = Cmp3TransformationFoptransformation.xml2pdf_fop { Source Processing stylesheet = EXT:myproject/leaflet_a4.xsl PDF engine.fop.config = EXT:myproject/fop.xconf}
  • Data Content TransSource Processing formation
  • job.MyProject.title = Leaflet A4job.MyProject { parts { 10.source = single_product 10.preProcessing = single_product 10.transformation= xml2pdf_fop } compose { 10 = Cmp3ComposerPdfShrink 10.quality = ebook }}
  • TYPO3 PDF DB
  • TYPO3 DB
  • TYPO3 InDesign DB
  • Oracle Catalog
  • TYPO3 DB Product BrochureCRM
  • Source FetcherContent FileContentBox MemoryDataRowMetaXml Typo3CurrentPageFetcher Typo3PagePdo Typo3PageHiresImageTypo3Query UrlTypo3Xml
  • Content ProcessorBBCodeToHtml PdfOverlayContentProcessing ProcessorAbstractFileWriter ProcessorInterfaceHtmlAddStyles ReplaceHtmlEntityDecode RteDbToHtmlHtmlExtractBody RteDbToRteHtmlInsertHiresImages RteToDbHtmlMakeClean SmiliesToHtmlHtmlMakeImgSrcAbsolute StripBBCodeHtmlMakeLinksAbsolute StripTagsHtmlMakePngBackgroundWhite UrlMarkerHtmlMakeTypo3LinksAbsolute XPath_DataMergeHtmlSetTransparentBackground XPath_ImageMetaHtmlStripDoubleParagraphs XPath_QRCodeHtmlStripStyles XPath_Typo3RteRenderHtmlToText XPath_Typo3TableRenderMarker Xslt1PdfImpose
  • Transformer Composer PdfBoxFop PdfGhostscriptHtml2Pdf PdfImposeXslt1 PdfIntentionallyBlankPa ges PdfMerge PdfOverlay PdfShrink
  • $objQueue = new Cmp3JobQueue;$objJob = $objQueue->CreateJob($strJob,$objConfig);$objQueue->RunJob($objJob);$objResult = $objQueue->GetResult($objJob);
  • Variety
  • Grab it onforge.typo3.org
  • 1.Install the Extension „CMP3“2.Install the Extension „CMP3_DEMO“3.Install Apache FOP
  • Join the projectTransformations (i.e. DocBook)Packages (i.e. Seminars toDocBook)Case Studies
  • Developersforge.typo3.org
  • Consultingcross-media.net
  • inspiring people to share
  • Immengarten 16-18 30177 Hannover Germany0511 626293 - 0 www.bitmotion.deinfo@bitmotion.de @bitmotion_de