Posts tagged "repurposing"

Use Powerpoint presentations in Adobe DPS

Many of my Enterprise customers have asked for a way to bring Powerpoint content to DPS. While InDesign provides a robust design platform for creating interactive DPS experiences, InDesign isn’t always readily accessible to a salesperson or sales management who need to deploy presentations to their tablet-enabled sales force. In addition, they often have many years of approved presentation content in Powerpoint that is readily available. In order to use that content in DPS, a design team would usually rebuild the content in InDesign or perhaps use a third party tool to export the presentation to HTML and then import it to DPS. With the release of R32.1 of Adobe DPS, Enterprise DPS customers can now export their Powerpoint presentations directly to their DPS accounts using a new Powerpoint add-in. Learn more at the DPS Export Add-in Help Page.

The add-in is available for Windows 7 and higher customers who use Powerpoint 2010 or 2013 in 32bit mode. There is no Macintosh version, as Powerpoint for Mac does not have a add-in architecture similar to Windows. You can download a localized version of the add-in from here.

The add-in supports most animations and even video. The add-in installs the desktop Content Viewer, too, so you don’t need InDesign to proof your presentation before publishing it to the Folio Producer. The ease with which a business user can convert their presentations to DPS is shocking, and I believe that customers will be delighted with the results.

I’ve recorded a short video showing the add-in in action. View it on Youtube.

Share on Facebook

Embedding YouTube Videos into your DPS project

I get the question all the time: “How can I embed a YouTube video into my DPS project?

My answer: a YouTube video that shows how to embed a YouTube video into your DPS project!

It is possible that InDesign won’t recognize the embed code that you copy and paste from YouTube, so you can always use the Object>Insert HTML option and paste your embed code there. If you want to use the video in a scrollable frame, this method won’t work in CS6. You will need to save the embed code to a file (called something like video.html) and point a Web Content overlay at it, allowing user interaction and turning on auto play.

Share on Facebook

Sending email and email attachments from DPS publications

Many of my customers have asked how to send an email from within a DPS publication. For instance, in a sales enablement situation, it’s often necessary to share documentation after the salesperson has discussed the products or services with their clients. In an earlier blog post, I detailed how to display PDFs and other document types directly in your DPS applications. While this is good, it’s not a leave-behind that many sales people require. I wanted to explore some ways to send email from DPS publications, and here are a few of the ways I concocted this afternoon. (If you have my DPS Examples app installed on your iPad, and you’re reading this blog on your iPad, then tap here to see examples of sending emails from a DPS folio.)

Just send it!

Often, it is necessary to just send an email to a specific address. This is easiest to achieve with a hyperlink or a button with a URL destination that uses the mailto: tag. For instance,

mailto:someone@example.com?cc=someoneelse@example.com&bcc=andsomeoneelse@example.com&subject=Summer%20Party&body=You%20are%20invited%20to%20a%20big%20summer%20party!

is a URL that will fire off an email in the device email client. This email will be addressed to someone@example.com with CC to someonelse@example.com and BCC to andsomeoneelse@example.com. Its subject will be Summer Party and the content will be You are invited to a big summer party! It will be sent by the default email account on the device’s email client. Copy that URL into a button URL action in InDesign, and presto, you have an email button.

You can get creative with the content, of course. You can include links to files, so long as the link is a fully formed URL path. For iOS Mail, use the <br> tag to go to a new line. For other mail clients, you’ll have to experiment. Here’s how I set up my email button.

The URL destination:

mailto:someone@example.com?subject=Tax%20Time&body=Pay%20your%20taxes!<br>http://www.irs.gov/pub/irs-pdf/fw4.pdf

sends an email to someone@example.com with the subject Tax Time and

Pay your taxes!

http://www.irs.gov/pub/irs-pdf/fw4.pdf

as the message. Most email clients will interpret the link to the PDF as a hyperlink and will allow the reader to click or tap on the link and view the tax form.

Let’s get a little more sophisticated with this now. In InDesign CS6, we can insert HTML directly onto our layouts via the Object>Insert HTML menu. I have created a little form that has two inputs: email address and a menu to choose which file to include as a link in the body of the email message.

Copy and paste the following into your InDesign layout using Object>Insert HTML and preview on your iPad. If you have InDesign CS5 or CS5.5, you can save this as a .html file and point at it in a Web Content overlay.

<style type="text/css">
.emailform {
 height: 100px;
 width: 350px;
 font-family: Verdana, Geneva, sans-serif;
 font-size: 16px;
 font-style: normal;
 text-align: center;
 white-space: normal;
}
</style>
<script>
function sendMail() {
 var link = "mailto:"+document.getElementById('emailAddress').value
 + "?cc=myCCaddress@example.com"
 + "&subject=" + escape("Pay your Taxes!")
 + "&body=" + escape('Use this form to start the onboarding process.<br><a href="'+document.getElementById('chooseFile').value+'">Download your W-4 form now</a>')
 ;
window.location.href = link;
}
</script>
</head>
<body>
<div class="emailform">
 Email address:
 <input type="text" name="emailAddress" id="emailAddress" />
 </br>
 <select name="chooseFile" id="chooseFile">
 <option value="http://www.irs.gov/pub/irs-pdf/fw4.pdf">Federal W4</option>
 <option value="http://www.maine.gov/revenue/forms/with/2012/12_w4me.pdf">MAINE W4</option>
 </select>
 <button onclick="sendMail(); return false">Send email</button>
</div>
</body>

 

Of course, you will need to modify it to meet your use case, especially whether you want to include the CC line and which files you want in the menu.

Set the InDesign CS6 will automatically create a Web Content Overlay for you, and you need to configure it to your taste. Since I set my background color in CSS to match the background frame color in InDesign, I have set mine to transparent and to autostart with a slight delay so that it will only fire when the user actually views it. You must enable user interactions if you want the user to be able to fill out the form. Note that with iOS Mail, you can use HTML formatting in your message, so have fun with the message body. I believe that this technique only allows about 2000 characters in the body, so you might need to keep your messages short. Also, this javascript method will force the user to agree to be sent to the Mail application from the folio, while the direct URL method won’t. Nevertheless, this is a very flexible and robust solution for creating email forms within your DPS application.

Here’s what my example looks like on the iPad.

Now I tap the Send Email button…

Now I return to my folio and enter some info in the email form…

Pretty neat, eh?

Links to files are OK, but what about attachments?

If you need to send attachments to your email, then you are out of luck with a URL. You will need to implement another method. I’ll describe two of them here.

The easiest to make is a web form with an emailer server-side application as its action. Remember that you can insert HTML forms directly into InDesign CS6 with Object>Insert HTML or by putting the form in an iframe and copying and pasting the iframe code into InDesign CS6. Like my example in the previous section, include a few text fields for To: and From:, and perhaps even a menu to choose which file to attach. You can get fancy and have check boxes or menus that attach multiple files to the email, too. Then, in your emailer server-side application, compose and send an email using the information in the form. I have done this with PHP and MySQL hundreds of times over the years, and it is a rock solid method for sending email attachments. Of course, you should obfuscate that URL or put it behind some kind of login, ideally attached to your company’s LDAP or Active Directory, if you need security.

While I usually turn to PHP and MySQL, there are myriad ways to implement this on your server. Check to see what server-side capabilities are available to you and give it a whirl.

Thinking outside the (Mail)box…

So, what happens if you are offline? The online form won’t work, and you’ll need a different solution. On iOS, you can write a custom app with XCode that can leverage Custom URL schemes to transmit information between apps. The mailto: tag above is an example of one that’s built into iOS. Also included are sms:, tel:, and http:. You can build an app that can respond to a custom URL scheme and deploy that app to all of the users who need to send emails. Here’s an example of XCode projects that, when built, communicate with each other. http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-working-with-url-schemes/

Let’s say the app named Enterprise Email that has an ID of com.adobe.jameslockman.emailsenderapp has the registered the custom URL scheme sendemail: in its plist. I can then construct a URL using either of my methods shown above in DPS that will tell iOS to communicate with Enterprise Email using URL encoding, such as: sendemail://someone@example.com&from=me@mycompany.com&file=filename.pdf This URL is easy to populate as the result of a form with or without javascript in a web content overlay.

It’s up to you to determine how to parse the incoming string in your custom app. In addition, you should probably have the app check in to a central file repository from time to time and pick up the list of available files and store them internally. The app should also have the ability to cache email sending requests so that it can wait until it gets a network connection to send its emails. This method completely bypasses Mail and will require the app to enable its own email sending methods. I do not have an example of this in action, but I’m considering building out a simple XCode example. If I do, I’ll post it as another entry and link to it here.

This method will only be applicable to an Enterprise who can manage deployment of apps to its installed base of devices through a Mobile Device Management (MDM) solution or other deployment method such as manual sideloading.

It’s in the mailbag

Remember that your ability to actually send email is dependent on your reader actually completing the email task in Mail. Also, the email will always be sent from their default account. They can always choose not to send the message, but in a sales situation, the sales rep will definitely want to send the message. Also, this provides an offline protection, since Mail lets you cache emails until there is an active network connection. If you need to send attachments, then you will need to look at an always online solution or the helper app solution. Your use case will dictate how far you need to go down the development road, but start simple with a URL or an embedded form. It just might be the all you need.

Share on Facebook

Displaying Office Documents in Adobe DPS on an iOS Device

Many of my Enterprise customers use Adobe Digital Publishing Suite as a means to privately distribute marketing and sales enablement materials to their employees on iPads. Often, they have existing libraries of documents that they want to use as reference material in their folios, but they don’t want to convert them to InDesign documents. The DPS help page for Hyperlinks suggests that you can use the HTMLResources folder to display PDF documents in your folio, and this works well. On iOS, DPS uses an embedded Webkit overlay to display HTML content, so I decided to look at what else I could display there. Clearly PDF was supported, but what about Office? (If you have my DPS Examples app installed on your iPad, and you’re reading this blog on your iPad, then tap here to see examples of OfficeDocuments and how they appear in a DPS folio.)

Digging around in the Apple documentation for Webkit Overlays in iOS, I discovered a Technical Q&A Note that says you can display a wide array of document types, including Word, Excel, Powerpoint, Keynote, Pages, and Numbers as well as PDF. All of these work in DPS when the folio is used on an iPad or iPhone. Be aware, though, that the Webkit preview doesn’t perform precise layout on Word documents that use advanced layout features, and some spreadsheet appearances might get wonky. Test, and if necessary, convert to PDF using Acrobat, of course.

Let’s see how all this works.

I have a folder of documents that I would like to display in my folio. The HTMLResources folder is a handy place to put these documents, since I will have a common location I can reference from anywhere in my folio, including buttons, hyperlinks, and hyperlinks in Web Content Overlays. To make an HTMLResources folder, all you need to do is to select the files you want to use in HTMLResources and zip them up. DO NOT put these files in a folder and zip the folder, unless you want to organize your references in a subfolder of HTMLResources. Also remember that it is an HTML Resources folder, so that all of your file names must be HTML friendly, or you need to escape the special characters when you write your hyperlinks. Notice in my example that all of the spaces are underscores so I know the filenames will be OK.

Once you zip up the files, rename the archive to HTMLResources.zip.

Now, we need to add it to our Folio. In the Folio Producer panel, navigate to the top level of the folio and choose Import HTMLResources Folder from the flyout menu and browse to your new HTMLResources.zip archive.

Now, let’s make some buttons to display our files. While I will make buttons, you can also use hyperlinks to display the documents you have in your HTMLResources folder. Note: follow the guidelines in the help documentation for proper pathing to your assets, though. The path is different for hyperlinks vs anchors in HTML files.

In my example, I have included files of the following types: PDF, xls, xlsx, doc, docx and Keynote. The Webkit overlay also supports Numbers and Pages, and you can explore those on your own. I made a series of buttons as normal, and I assigned the “go to URL” action to them with the target URL being “HTMLResources/<name_of_my_document.xxx>” In the example below, I have the button called “docx iPhone” on my iPhone layout that points to “HTMLResources/1_Statement_of_work.docx”

I created buttons for each of the file types shown and made both iPhone and iPad layouts. The results are shown below (the .doc and .docx files are the same content, so I’m only showing one of each (tap images to show full size):

Starting state:

 

PDF

Word doc

Excel

Keynote

Neat, eh? Oh, if you’re wondering how I got the two devices in one screen shot, Reflection allows you to display two devices at a time simultaneously. Please remember that the ability to show these document types is a function of the Webkit implementation on iOS, and these documents will not display on your Android devices.

I hope that this set of files will continue to be supported in future versions of iOS. The ability to include these document types is a huge time saver for companies that need to include supporting documentation in their DPS apps, but don’t want to have to convert them all to folios.

Share on Facebook

Using content from InDesign documents in CQ5.5

When Adobe acquired Day Software, it got not only a revolutionary Web Content Management system, but also a revolutionary Digital Asset Management platform based on CRX, Day’s implementation of the Java Content Repository. Quick to recognize its potential as a binding agent for an end to end Adobe workflow that included asset creation and management, campaign deployment, measurement and targeting, and campaign refinement, CQ quickly jumped to the forefront of many of our minds here at Adobe.

Adobe Drive 3 can connect to a CQ DAM and provide version control for Creative Suite assets. While this functionality existed with CQ5.4, in CQ5.5, there are some built-in examples of how CQ can extend an InDesign workflow to the Web. CQ5.5 ships with a couple of workflow scripts designed specifically for InDesign Server, which is required for them to function. Without InDesign Server available to CQ, what follows won’t happen. If you are a CQ customer and would like to try this for yourself, download the InDesign Server trial and install it on the same server where you keep CQ5.5. Otherwise, read on and you’ll get a sense of what’s possible with CQ DAM and InDesign Server.

InDesign server must be running and servicing requests on port 8080. On my Mac, I issue the following terminal command to fire up ID Server prior to starting CQ. I assume that it’s similar on Windows:

/Applications/Adobe\ InDesign\ CS5.5\ Server/InDesignServer.app/Contents/MacOS/InDesignServer -port 8080

Once it’s running, it’s safe to start CQ in author mode. We’re looking at an author instance, not a publish instance, from this point forward. Once it’s running, you can mount the repository with Drive 3. Open Drive 3 and connect to your DAM. In my example, I’m running CQ on my local machine, hence the localhost connection.

Once connected, I can browse content in the DAM as if the DAM were a filesystem. CS apps such as Photoshop, Illustrator, InDesign, InCopy and Bridge understand that when CQ DAM is mounted via Drive, they can check files into and out of the DAM and access versions of those files in the DAM. This article isn’t about version control, though, it’s about repurposing content from InDesign in CQ5.5.

When I drop an InDesign file into the DAM via Bridge, Bridge creates a version and checks the file into CQ. In CQ, the appearance of that InDesign file fires off a series of workflow steps that, with the help of InDesign Server, create previews of that file, extract an IDML rendition of that file, extract text and images from that file, and assemble those items into a Page node in CQ. It’s this page node that’s the really, really cool product of ingestion.

Page nodes are reference-able in CQ using a reference component. Normally, when you place a reference component onto a page in CQ, you double click it and browse to the page you want to reference. Unfortunately, when CQ and InDesign Server make the page node of your InDesign file, it places that page into the “renditions” folder, which is a reasonable place to store it. Unfortunately, the Reference component doesn’t know how to look into the Renditions folder for this Page note. Fortunately, a colleague on the Chinese Solutions Consulting team, Joseph Lee, figured out a simple solution that allows us to use this page node as a source of content for other pages on our CQ site.

In the diagram above, the selected page node needs to move up two levels in the hierarchy so that it is at the same level as the jar:content node, just below the InDesign file’s primary node. We can drag it up there in CRXDE Lite, but that’s pretty “dirty,” as Joseph was quick to point out. Looking at the workflow, however, he identified a single modification that puts the page node into a place where it can indeed be found by a reference component. Note that it will no longer appear in the Renditions tab when you browse to the InDesign file in DAM, however. I think that the trade-off is worth it, though.

The change we need to make is in the DAM Update Asset workflow. Browse to your workflows console and double click DAM Update Asset. At the bottom of the workflow, there’s a step called Page Extraction. This is one of the new steps that’s included in CQ5.5. You need to change the Page Root Path to “/.” (do not include the quotes) just like below. This will instruct the workflow to create the page node directly below the InDesign file’s primary node. Once you’ve made the change, click OK and then Save in the upper left hand corner of the window. Now, you’re ready to reuse content from your InDesign files in your CQ pages.

To see this in action, let’s look at what the reference component will see after this workflow change, and after we either ingest a new InDesign file or make a change to it and check it back into the DAM, either of which will trigger the InDesign Page Extraction workflow and fix the page node location. Once you do this, you can now browse to it from a reference component.

In the figure above, I have selected a story that’s present in my InDesign document. Here it is in InDesign:

Now, here it is on my CQ page.

Now, here’s the really, really cool part. Nowhere in this process was I required to send my InDesign document overseas for XML extraction in order to get its content back into my Web Content Management system. Ingestion took literally seconds and allowed my authors to use the text and images from my InDesign documents immediately. In addition, when a user makes a change in InDesign and checks the document back into the DAM, the text will update in my CQ Author instance so that I can gracefully publish it to the Publish instance when I am ready.

Thanks again to Joseph Lee for his elegant but powerful suggestion to expose the page rendition to reference components.

I know that this workflow is a demonstration of capabilities, but what an amazing demonstration it is. A capable developer could develop components and workflows which would allow a CQ user to edit that same referenced copy, and then would fire off a workflow to re-inject that content back into the InDesign document. How about the situation where a CQ user mocks up a page layout and then pushes a button to tell InDesign Server to build an InDesign document using a specific template and the text and images from the repository. The possibilities are endless.

I firmly believe that CQ5.5 and its ability to drive InDesign Server heralds the beginning of a new era in multi-channel communications. Already the lines between print and web and apps are blurred. With InDesign Server and CQ5.5, those lines disappear entirely. Now, content truly becomes independent of presentation, which frees the marketer or publisher to extend their reach in existing channels and expand their businesses into emerging channels.

Share on Facebook