Selasa, 08 Februari 2011

Do rapid DITA authoring in FrameMaker 10!

Hello Framers,

Hope you are well. First of all, I wanted to share with you my twitter handle. For those of you on twitter, you can follow me on Twitter at @KapilVermaAdobe to keep up-to-date on what’s going on in the FrameMaker world. I will also be tweeting about upcoming events and my travel plans so that we can meet in person. Please follow me on twitter if you would like to get this information.


In my blog post today, I am going to be describing several productivity enhancements related to DITA authoring in FrameMaker10. Through these enhancements, you can author DITA content faster and more efficiently in FrameMaker10. As always, remember to turn your computer speakers on while watching the videos.


1. Drag and Drop Across Maps


Rather than cut and paste topicref elements between maps, they can be reorganized by using drag and drop.




View video in a new browser window.


2. Insert Multiple Topicref Elements in a DITA Map


More than one <topicref> element can be added to a DITA map at the same time.




View video in a new browser window.


3. Support for <topicgroup> and <topicset> elements


Topic groups allow you to gather topics together, optionally giving the group a title. Topic sets allow you to single source groups of topics between maps




View video in a new browser window.


4. Switch to Resource Manager (RM) or Document View in a DITA map

Change between two primary views of a map in only one click. Both the Resource Manager View and the Document View provide value when working with a DITA map. Switching between them is as simple as clicking a toolbar icon.




View video in a new browser window.


Hope you will find these enhancements useful and find that they make your more productive in your daily work.


Until the next blog post….


Have a nice weekend,


Kapil Verma


Product Manager – FrameMaker and FrameMaker Server


Follow me on Twitter: @KapilVermaAdobe

Introducing Photoshop Express 1.5 for iOS Devices


Our team is excited to announce the latest update to our Photoshop Express app for iOS devices. The app is Adobe’s free photo capture and editing tool. The Photoshop Express 1.5 update is now available for download here on Apple’s App Store.


The latest release helps simplify the photo capturing experience by adding a new camera workflow for rapid photo-taking and full Retina display support for smooth, sharp photos.


The Express team is bubbling with anticipation for future improvements, so please let us know what you think and what functionality you’d like to see within the app moving forward in the comments below.


Thanks for being a Fan!

Deploying LiveCycle Mosaic 9.5 on WebLogic


If you get the following exceptions while deploying a Mosaic application to Oracle WebLogic 10.3, you might need to perform additional configuration:


com.adobe.livecycle.mosaic.repository.api.RepositoryException: An error occured during operation callWebDAV on repository WebDAV with Method: PROPFIND, Path: /repository/LiveCycleMosaic/Catalogs/SalesDashboardCatalog/descriptor.xml


Caused by: java.net.ConnectException: Connection refused: connect


These configuration changes require that you change an XML file inside the mosaic.war file. So you need a fairly funtional zip tool such as WinZip, WinRAR or 7Zip.


1. Change Repository from LiveCycle DB to the Local Filesystem


The file system repository is better performant than the LiveCycle database repository. As the readme notes, you have to edit the file mosaic-context.xml in the mosaic.war file (in /META-INF/spring/) so that the following is uncommented:

<alias name=”mosaicFileSystemRepository” alias=”mosaicStorageRepository”/>

and the following is commented out:

<alias name=”mosaicWebdavRepository” alias=”mosaicStorageRepository”/>


Also uncomment the File-System Repository Configuration Bean and specify the location of the folder that would serve as the filesystem repository – make sure this is on high performance local storage:


<bean id=”mosaicFileSystemRepository” class=”com.adobe.livecycle.mosaic.repository.filesystem.FileSystemRepository”>

<property name=”fileSystemRootPath” value=”D:\WL_DOMAINS\lc_domain\lc_mosaic_repository” />

<property name=”pathComponentSeparator” value=”\” />

</bean>


2. Change User from Default ‘Administrator’ to Custom


The LiveCycle Mosaic Administrator Guide provides instructions on how to do this..


a) Create a new user (‘mosaicwebdav’ in this example) in LiveCycle using the LiveCycle AdminUI. Create a new role for this user with following system privileges:


- Repository Read

- Repository Traverse

- Repository Write

- Service Invoke


b) Edit mosaic-context.xml and comment out ‘WebDAV Repository Configuration 1 (default) ‘ and uncomment ‘WebDAV Repository Configuration 2‘ to make it active.


<bean id=”mosaicWebDAVAuthenticationParams” class=”com.adobe.livecycle.mosaic.webdav.config.BasicAuthenticationParams”>

<property name=”username” value=”mosaicwebdav” />

<property name=”password” value=”password” />

</bean>


3. Specify WebLogic Host Name and Port


Edit mosaic-context.xml.


<bean id=”mosaicWebDAVConfigParams” class=”com.adobe.livecycle.mosaic.webdav.config.ConfigParams”>

<property name=”protocol” value=”http” />

<property name=”hostname” value=”server.company.com” />

<property name=”port” value=”8001” />

<property name=”authenticationParams”><ref bean=”mosaicWebDAVAuthenticationParams”/></property>

</bean>

Programmatically merge multiple LCA files using Apache Ant


A couple of colleagues needed a solution where they could take multiple unrelated LiveCycle ES applications already exported as LCA (LiveCycle Archive) files and programmatically merge them into a single LCA file. What’s the use case? Let’s say that you have a source repository of small LiveCycle ES applications that are re-usable. Then, based on a set of requirements, you need to build a new LiveCycle ES application that would include those re-usable smaller apps. Of course, you could just import each application individually into your LiveCycle ES development environment. But that’s not real exciting is it? And what is more exciting than building an Apache Ant build script to do some magic?


I created a build.xml file that will grab all LCA files stored in a src folder(see the build.properties file for configuration) and extract them into a work folder. This is pretty trivial since LCA files are just ZIP files that contain the application assets as well as a file called app.info. This app.info file is the key. It’s an XML file that describes the LiveCycle ES application and what operations should be executed when imported into a LiveCycle ES server. Here comes the tricky part…


To create a “merged” LCA file, I needed to parse each app.info file of the source LCA files, build a new master and inject the individual application descriptors from the source LCA files. Can you imagine my surprise when I realized that there was no existing Ant task that does this?!?! Yeah, right! OK, so I have to create a custom Ant task – great! Turns out, yet another trivial job. It was very easy to create my own custom Ant task and expose it in the build.xml. As a reference, I used this short tutorial. All I had to do at that point is write the Java code to load each app.info file into an XML DOM, extract the necessary nodes, build a new master app.info and import the previously extracted nodes. Piece of cake ;o).


Once I included my new custom Ant task into my build.xml, I just passed in the fileset reference that contained all of the app.info files and voila… I got my first merged app.info file. We just then drop that bad boy into the build folder, copy the asset folders that came with each LCA file in there too; and with one final zip ant task package up the combined LCA file.


Note: I also used the ant-contrib package because I needed a for loop in my build.xml in order to loop through each LCA file.


You must have Apache Ant installed and configured on your machine.


Attached Files:


Binary Distribution – Includes build.properties, build.xml, lib folder.


Source – Includes the Java source files for the custom Ant task.

Premiera Acrobat X w 23 językach


Z przyjemnością informuję, że programy Adobe Acrobat i Reader X są teraz dostępne w językach francuskim, niemieckim, japońskim, włoskim, szwedzkim, hiszpańskim, holenderskim, portugalskim (brazylijskim)), norweskim, fińskim, chińskim uproszczonym, chińskim tradycyjnym, koreańskim, czeskim, węgierskim, tureckim, rosyjskim, polskim, chorwackim, rumuńskim, słowackim, słoweńskim i ukraińskim. Program Adobe Reader X jest dodatkowo dostępny w językach katalońskim i baskijskim.


Prócz wprowadzenia na rynek wspomnianych wersji językowych zawarliśmy również funkcje właściwe dla konkretnych regionów. Na przykład:


Funkcja wyszukiwania i redakcji zawiera wzory właściwe dla 6 krajów: USA, Wielkiej Brytanii, Kanady, Francji, Niemiec i Japonii. Zatem użytkownik z USA może wyszukiwać celem usunięcia amerykańskiego numeru ubezpieczenia społecznego lub amerykańskiego numeru telefonu, zaś kto inny we Francji może szukać „numéro d’identification nationale” lub numeru telefonu w formacie francuskim. Interfejs użytkownika umożliwia wybór wzoru, z którego użytkownik będzie chciał skorzystać. Oto zrzut ekranu:


search and redactOd listopada 2010 r. zwiększamy ilość krajów, na terenie których można zakupić usługi Acrobat.com, od zaledwie 3 (Ameryka Północna) po 38 (cały świat). Dlatego właśnie usługi, takie jak Acrobat.com, SendNow i CreatePDF są teraz dostępne do kupienia na całym świecie dla użytkowników, którzy chcą z nich korzystać wraz z aplikacją Reader/Acrobat LUB indywidualnie w przeglądarce. Spójrzcie sami:


acrobat dot com


Dla programu Adobe Reader, poza wsparciem dla języków, o czym wspomniano wyżej, opublikowaliśmy aplikację Adobe Reader X dla systemu Android w 13 językach: angielskim, francuskim, niemieckim, włoskim, holenderskim, duńskim, brazylijskim-portugalskim, szwedzkim, rosyjskim, polskim, czeskim i tureckim. Więcej na temat programu Reader X można przeczytać we wcześniejszym ogłoszeniu Steve’a.


Mam nadzieję, że wypróbujecie nasz produkt. Z chęcią poznam Wasze opinie. Komentarze możecie zamieszczać na Forach Adobe, które są również dostępne w językach francuskim, niemieckim, japońskim i hiszpańskim.


Rob Jaworski


International Program Manager


Adobe Systems, Inc.

Convert files to PDF using Adobe Reader


Adobe Reader X features nifty integration with Acrobat.com that lets you quickly convert many types of files to PDF. At last count, many popular formats, including the following, are supported for conversion:



  • Adobe PostScript (PS) and Encapsulated PostScript (EPS)

  • Adobe Photoshop (PSD), Adobe Illustrator (AI), and Adobe InDesign (INDD)

  • Microsoft Excel (XLS, XLSX), Microsoft PowerPoint (PPT, PPTX), and Microsoft Excel (XLS, XLSX)

  • Text (TXT) and Rich Text Format (RTF)

  • Image files (bitmap, JPEG, GIF, TIFF, PNG)

  • Corel WordPerfect (WPD)

  • OpenOffice and StarOffice presentation, spreadsheet, graphic, and document files (ODT, ODP, ODS, ODG, ODF, SXW, SXI, SXC, SXD, STW)


To walk you through the process, let me convert a PowerPoint presentation to PDF. (Simply click any of the screenshots below to view them full-size.)



  1. In Adobe Reader X, select File > CreatePDF Online.

  2. In the Create PDF Files area in the right pane, click Add File and then select the file that you want to convert to PDF. I selected Sample_presentation.pdf.


  3. Click Convert and, when prompted, sign in using your Adobe.com credentials (Adobe ID). Adobe Reader uploads the file to CreatePDF Online and then converts it to PDF. The converted file is saved online by default.


  4. To save the converted file locally to your computer, click Retrieve PDF File. Adobe Reader displays the CreatePDF repository in a browser window, so that you can work with it.

    • Select the newly-created PDF file (in my case, Sample_presentation.pdf) and click Download. Save the file to a local directory.




  5. Note that you can also use the online CreatePDF view to combine multiple PDF files. Now, isn’t that cool?



    I’m sure you’ll love these new Adobe Reader features! For more information, refer to this Help article.

Designing templates in FrameMaker (Part 4)


In this detailed blog post series, Asit Pant, a veteran technical communicator and FrameMaker community member, guides you through the main steps in the process of creating a FrameMaker template. The information in this series is targeted mainly toward creating unstructured templates, but many parts of it also apply to structured templates.


In this post, we will discuss numbered lists. Numbered lists are typically used for steps. Something like:




  1. Open the “other program”

  2. Try to work with numbered lists.

  3. Control your anger.

  4. Switch to FrameMaker.

  5. Live happily ever after.



You see, numbered lists in FrameMaker really work. You just need to set them up correctly, once, and as step 5 says, live happily ever after.


So let us set up a numbered list. For this, we will use a little bit of mathematics—just a little bit, I assure you, and there will be no pain.



In FrameMaker, a numbered list comprises two paragraph tags – the first one to set up step 1 and the second tag to set up the subsequent steps (2, 3, and so on). Why? Well, this is because we define the first step using the building block n=1 (n as in number, so it means that the first step starts with the number 1). The subsequent steps are defined using the building block <n+>, which instructs FrameMaker to increment the number in previous step. So, the first step always has the number 1, and the subsequent steps are numbered 2, 3, and so on. Watertight logic, this, and there is no scope for confusion or things going wrong.


Here is how you specify the building blocks for the two numbered lists.


The paragraph tag to be used for the first step has the numbering properties as follows:



And, the paragraph tag to be used for the subsequent steps has the numbering properties as follows:



I know what you are going to ask now: “What is that N: thingy there? You said this was going to be easy!”


It is easy, actually. The N: thingy is something like an identification badge. For example, you can have a numbered list with numeric characters (1, 2, 3…) and another one with Roman numerals (I, II, III). Different series for these two help FrameMaker to determine which is which. The series label is an alphabet, following by a colon, for example, A: or H:. You specify the same series label for both the paragraph tags. You can use any alphabet character to identify a series. A: is as good as Z:.



Do as the Romans do


Wait, you say. How about using alphabets instead of numbers—steps that start with A, B, C instead of 1, 2, 3…? Or how about using Roman numerals: I, II, III, and so on? No problems about that. Instead of specifying “n”, you specify “A” or “a” to use alphabets (upper- or lower-case respectively) and “R” or “r” for Roman numerals (again, upper- or lower case).


Here is how you set up two paragraph tags (remember, we need two paragraph tags—one for the first step and the other for the subsequent steps):




Numbers within numbers (or nested numbered lists)


One day, your boss will come up to you and say, “This numbered list is OK, but the senior management wants numbers within numbers. Please send them to me before the end of the day.” What the boss means is this:



See the steps a, b, and c in step 4? They are the numbers within numbers. For this, you create two additional paragraph tags to use for sub-steps a, b, and c in step 4. Here are the building blocks for all the four paragraph tags:





First step: A:<n=1>


Next step: A:<n+>


First sub-step: S:<a=1>


Next sub-step: S:<a+>


See, how easy FrameMaker makes it for you leave for the day.


Numbered headings


Now, suppose you want to create a formal-looking report that has headings numbered like these:



I could go on and add more headings, but you get the point. (If you notice the absence of humor from the headings, it is because this is a formal-looking official report. No humor allowed, sorry).


Here are the building blocks:


Heading: H:<n+>


Sub-heading: <n>.<n+>


Sub-sub-heading: <n>.<n>.<n+>


That’s it. And I promise you it works or your get your money back. Try it and you will like it.


In the next blog post in this series, we will talk about headings that have some specific text added to them automatically. Stay tuned!


Earlier in this blog post series…