Tag Archive for: DiffDog

How to Compare CSV Files or Compare a CSV File to a Database Table


CSV files are a quick and convenient way to record structured data in a generic format. Because CSV files are so easy to create, multiple similar versions of very large CSV files can quickly proliferate. Often it becomes necessary to compare CSV files to find the desired version. In an ETL scenario, a data analyst may want to compare a CSV file to a database table for validation or to update data.

DiffDog, the unique XML-aware diff / merge tool from Altova, supports CSV as a native file format for comparison and can compare and selectively merge data CSV to CSV, or between a CSV file and database table. Let’s look at an example.

Read more…
Tags: , , , ,

How to Compare XML and Other Files


The ability to diff and merge files is a necessity for every developer. This can be especially troublesome when trying to compare differences between files containing structured data, such as XML.

The video tutorial below provides an explanation on how to compare XML files – and more – using both XMLSpy and DiffDog. These powerful utilities perform diff and merge operations in an XML-aware manner, which reduces the number of false positives seen when comparing files.

Compare XML files with XMLSpy

Read more…

Tags: , , ,

Automate Word Document Comparison in Busy Enterprises


Many enterprises and business situations leverage Microsoft Word documents in standardized formats, with variations in content in subsequent versions. Think of contracts or other legal documents, status reports, test results, lists of rules, and many others. These documents may even be generated through automated processes. Manually identifying and reporting changes between versions would be a cumbersome process. Altova DiffDog Server provides an efficient, automated solution.

DiffDog Server brings the file and directory comparison power of Altova DiffDog to high-performance servers, making it easy to automate Word document comparison and generate diff reports comparing files, directories, or URLs, and even Word documents (.docx) saved in MS Office versions 2007 or later.

Let’s look at a Word document comparison.

Automate Word document comparison with DiffDog Server
Read more…
Tags: , , , , ,

Automate Diff Report Generation


DiffDog Server makes it easy to automate high-volume comparisons and generate diff reports comparing files, directories, and URLs. This high-performance server software is available for Windows, Linux, and MacOS X machines.

Developers have long relied on DiffDog for comparing XML, text, and binary files, as well as directories and URLs. Now, the power of DiffDog is available in lightning-fast server software for easily automating large comparison tasks.

For instance, DiffDog Server is perfect to automate diff report generation for critical files and directories at a given time – every day, once a week, etc.

Read more…

Tags: , ,

Three-Way File Comparison and Difference Merging


Manually comparing versions of a long XML Schema or document to find any differences would be a tedious and error-prone task. XMLSpy has long featured file comparison with highlighted differences in side-by-side windows with merging in either direction. And of course, DiffDog is the go-to comparison utility for text, source code, XML, JSON, and Word documents. Now both XMLSpy and DiffDog support three-way file comparison and difference merging.

Three-way file comparison is especially relevant for files managed in any source control system where two users may have started from the same source file and made different edits that need to be reconciled.

Read more…

Tags: , , ,

Add to Your Collection of Development Building Blocks


When it comes to developing sophisticated software and data integration applications, the more building blocks a developer has at his or her disposal, the better. With each release of our developer and server software, we aim to provide customers with unique tools that give them the edge to get the job done – faster, and more efficiently.

To that end, Version 2018 delivers a unique HTTP testing window, 3-way file comparison functionality, support for SQL Templates, super-powered new server options, and much more.

Read more…

Tags: , , ,

DiffDog E-book Now Available


We’ve published an e-book in multiple formats for your favorite tablet or other e-reader.

DiffDog Field Trials e-book cover image

DiffDog Field Trials is a collection of information from the Altova blog, Tech Notes from the Library section of the Altova Web site, and DiffDog product feature pages. The e-book describes a wide range of real-world applications for DiffDog, Altova’s XML-aware diff/merge tool for files, folders, directories, and databases.

You can download DiffDog Field Trials from the Altova Web site in various formats:

· EPUB (1.57 mb)

· Kindle (3.08 mb)

· PDF (11.1 mb)

· iBooks (16.5 mb)

Or, look for DiffDog Field Trials soon in your favorite online electronic bookstore.

Editing EPUB files with DiffDog

As you can see from the list above, EPUB, the XML-based free and open e-book standard by the International Digital Publishing Forum (IDPF), is potentially the most efficient sharable file format. An EPUB document is based on a ZIP compressed archive containing style information, text formatted as html, and the images that appear in the e-book.

Altova XMLSpy provides powerful support for accessing, editing, validating and previewing EPUB 2.x documents. We used XMLSpy to assemble the EPUB version of our book, where we were able to interactively preview the result as we worked:
XMLSpy EPUB Preview Window Read more…

Tags: , , , , ,

Taming Bad Input Data with FlowForce Server


Whenever you accept data from an outside source you risk encountering errors. We have blogged about this phenomenon in the past in Expect the Unexpected – Altova MissionKit Solves a Number Format Mystery and in the series of posts on Processing the Groupon API.

Bad data in an input file can cause the data transformation step of a FlowForce Server job to fail. When a FlowForce Server Job fails, further execution steps will not be performed. FlowForce Server is designed this way to prevent an error in one job step from cascading into a series of additional invalid results. Happily, FlowForce Server also includes features to help you recover from errors and keep production flowing.

In this post we will further extend the data mapping and report rendering job described in Customizing a FlowForce Server Job to gracefully handle bad data in an input file.

FlowForce Server New Job Steps
Read more…

Tags: , , , , , ,

Compare Folders Fast and Efficiently with DiffDog


Three user preferences in DiffDog work together to accelerate directory differencing tasks into hyperdrive, especially when you compare folders with thousands of files.DiffDog can perform specialized comparisons. For instance, XML comparison mode commands DiffDog to determine whether two files contain equivalent XML content, even if they would be different in a text comparison because of spacing, line-ending, or attribute order variations. For the fastest directory comparisons, choose Quick Comparison mode, which only looks at file sizes and modification dates.

DiffDog Quick Comparison toolbar button

When you compare large directories, most often you want to quickly locate differences. Choose the Hide Equal setting to avoid listing all identical files.

DiffDog Show/Hide equal toolbar button

Show/Hide empty directories should be set to Hide, otherwise subdirectories that contain identical files will be listed, but since their contents are equal, none of the files are shown.

DiffDog Show/Hide empty directories toolbar button

After you choose settings and click the Compare button, DiffDog flies through the directory comparison.

DiffDog Quick Comparison progress bar

When the comparison is finished DiffDog displays a concise listing showing only the differences, with a summary message at the bottom of the window. The toolbar in the screenshot below illustrates the settings for Quick Comparison on, Show Equal files off, and Show Empty directories off.

DiffDog directory comparison results

DiffDog saves your preferences to apply to the next folder comparison, and DiffDog even includes a quick synchronization tool to merge folders in either direction.

DiffDog Synchronize directories summary

Find out for yourself how fast DiffDog can run your folder comparisons – download a fully-functional, free 30-day trial!

Tags: , , ,

Web Service as a Look-Up Table to Refine GPS Data


Elevation data recorded by GPS devices is notoriously inaccurate, especially in hilly terrain like the Russian River Valley example from our earlier post.

The final elevation track plotted from the Russian River Valley GPX file is suspicious for several reasons. First, the graph shows we descended almost 50 feet below sea level. That’s hard to believe, since we were travelling along the bank of the river, only about 10 miles from the Pacific Ocean.

Altova StyleVision ChartSecondly, we were headed mostly west, following the river downstream, but the track shows a predominantly uphill trend.

We can evaluate the recorded GPS elevation data by comparing it to information available from the United States Geological Survey (USGS). The USGS operates a Web service that accepts latitude and longitude coordinates, and returns elevation data measured by NASA and assessed for accuracy based on over 13,000 control points in the continental United States.

Using the elevation Web service in an Altova MapForce mapping will let us extract each point from the GPX file, send the coordinates to the USGS Web service, and build a new GPX file with corrected elevation data.

Read more…

Tags: , , , , , , , , ,

DiffDog Takes to the Cloud


Techy folks generally have a good diff tool they rely on to compare and sync files and directories. But what happens when, as more and more info is bound for the cloud, your data lives on servers accessed via URL? DiffDog diff/merge tool There are myriad applications today that live on servers accessed via HTPP – but let’s take a look at a common example: SVN. Subversion (SVN) repositories include WebDAV as a commonly used server option. WebDAV is a natural protocol for SVN because its concern is hierarchy, structured metadata, and versions. Since WebDAV is an extension of HTTP it gives easy access to basic information about files and folders to any HTTP-aware client, including DiffDog – Altova’s diff/merge tool for files, directories, and databases. However, DiffDog knows a few tricks that set it apart from the other breeds.

Diff/Merge via WebDAV

SVN clients typically support command line differencing; however, a text-only representation of the changes in even one file can be hard to read and use. When you want to compare the trunk against a tagged version, the problem is magnified.  There are several visual differencing tools available that can help with analyzing version changes in SVN. They have varying degrees of compatibility with how SVN works. Some tools are well integrated with the SVN command line. DiffDog includes all the common comparison options for a tool that is tightly integrated with SVN clients.  Where it excels is its ability to talk to SVN servers.  Accessing an SVN repository with DiffDog using WebDAV is simple. The easiest starting point is to open Directory Comparison View and paste in the URLs of the folders you want to compare. In this case we’re comparing SVN branches on Projectlocker.com. The two sets of files open, and DiffDog provides a color-coded, browsable view of the differences between the two directories. Directory Comparison in DiffDog   Clicking on either one of a pair of files opens a detailed file comparison.   File comparison in DiffDog DiffDog’s ability to distinguish between changes to XML and meaningful changes is key in this situation – most development trees have some amount of XML in them.  DiffDog also supports comparing Word docs and databases – so all bases are covered. XML-aware diff options Of course, folders you compare do not have to both be WebDAV SVN folders.  It is equally straightforward to compare the SVN server with a local directory. DiffDog’s ability to access servers via HTTP (or FTP) opens a world of possibilities: comparing a local directory with a Google Docs directory, or diffing a local Web server against files hosted on the Amazon CloudFront , or even just synching photos between your local drive and your chosen back- up service.   If you’d like to try DiffDog, it’s available for a 30-day trial over on the Altova Web site.

Tags: , , ,

Directory Sync Tools: Move over little dog, a new DiffDog is moving in


Altova DiffDog was originally launched in 2005 as a diff/merge tool with XML-aware functionality to help users identify differences between XML files. It even identifies files that are XML-equivalent but appear different in a text comparison because of spacing, line-ending, or attribute order variations. Altova DiffDog DiffDog has continually improved over time with many new features including:

DiffDog 2011 Release 3 adds a new simplified directory sync feature to its robust folder diff/merge functionality. The Synchronize Directories dialog now includes a button at the top to select a complete directory sync in a single step. Folder sync tool mode selection The Fully Synchronize feature produces an exact copy of the source directory, even if the target has newer versions of some files, and deletes files from the target that don’t exist on the source, making this choice a quick tool to backup complex directories containing many files and sub-folders. DiffDog provides a summary of all actions to be taken before any files are copied or deleted: Folder sync summary If you want to prevent a file being overwritten or deleted from the target directory, you can click Cancel, and then use the Manual Override feature to ignore or reverse the copy direction for any file pair. Folder sync tool Manual override option Pretty good trick for an app that’s older than 42 in dog years*, isn’t it? Find out for yourself how DiffDog can faithfully synchronize your directories – download a fully-functional, free 30-day trial! * Popular myth suggests that one calendar year for a software developer is equivalent to 7 years in the life of a dog. For a more complete discussion of canine lifespan, see the Wikipedia article titled Aging in Dogs.

Tags: , ,

Diff / Merge for Databases


You may already be familiar with the diff/merge functionality Altova DiffDog brings to working with source code, XML, and Word files – but did you know you can also connect to, compare, and merge database data and structures? DiffDog supports all major relational databases and includes a Connection Wizard that lets you quickly connect to one or more. As shown in the screenshot below, natively supported databases include Microsoft® Access™, SQL Server®, Oracle®, MySQL®, IBM® DB2®, Sybase®, and PostgreSQL. Altova DiffDog database connect wizard When you compare different database types, DiffDog even resolves datatype naming inconsistencies. This means you can compare the customers table in your SQL Server database with a backup copy, for example, or you can compare the contents of any tables or your entire database schema between IBM DB2 9 and Oracle 11g implementations. Note: Altova DatabaseSpy includes the same diff/merge capabilities described here.

Database Content Differencing

It’s easy to compare database content in DiffDog. Simply connect to the database(s) required, and select the tables to be compared. DiffDog displays the compared components side-by-side, and tables and columns are mapped automatically based on configurable options. You can also change or create mapping connections manually when needed. After you click the Start Comparison button, DiffDog displays results with informative icons. In the simple example below, the content in the database tables is not equal. Next, you can launch a detailed comparison of the unequal table to see the content of the compared columns side-by-side, with differences highlighted. Tool bar buttons let you merge changes in either direction.

 

Database Schema Differencing

It’s just as easy to compare database schemas in DiffDog to, for example, identify and merge differences between a development and production version of the same database. All database items (e.g., data types, constraints, keys, etc.) are displayed in the comparison components so that you are able to compare the structure of the tables within the database schema. You can merge the two schemas or selected items using Left and Right buttons on the tool bar, or access more merging options via the right-click menu. DiffDog-DB-schema-diff Database schema changes aren’t merged instantly – DiffDog always creates a SQL change script compatible with your target database type that you can review before committing the changes to the database. Altova DiffDog database schema compare merge options You can also save the SQL script to a file or open it for further editing in DatabaseSpy.   Learn more about the powerful database diff/merge functionality in DiffDog. You can also download a free trial to give it a test drive.

Tags: ,

Hot off the Press!


The industry is abuzz with the latest news announcing our release of the MissionKit Version 2011 Release 2. The release is loaded with new features for chart and report creation, enhanced data mapping capabilities, new XML Schema editing functionality, support for the latest version of BPMN, and a really cool new feature for comparing and merging Microsoft® Word documents. clip_image002 Dr Dobb’s and SQL Server magazine are just a few of the industry publications and blogs that covered the launch. clip_image004   clip_image003 Read what the industry is buzzing about and then download a free 30-day trial of the MissionKit and check out for yourself all the powerful new features now available in our suite of XML, database, and UML tools!

Tags: , , , , , , , , , , , , , , , , ,

What Do Industry Authors Have to Say About Altova?


Authors of various industry reference books ranging from SOA and Web services to XML continue to use and recommended Altova tools. The latest update to the Cold Fusion book series – “ColdFusion 9 Developer Tutorial” is an update to John Farrar’s “ColdFusion 8 Developer Tutorial”. In this latest update, Farrar uses the Altova MissionKit, our suite of XML, database, and UML tools to do all his XML work for the book. According to Farrar, “I have a suite of tools from Altova and find they do what I want. I can create XPath, XML Schemas, and more from their tools and don’t ever feel the need to look for a new tool.” ColdFusion9_Farrar Farrar, a ColdFusion expert, teaches the basics of ColdFusion programming, application architecture, and object reuse. He then shows off a range of topics including AJAX library integration, RESTful Web Services, PDF creation and manipulation, and dynamically generated presentation files. So whether you need an overview of XML technologies, the latest information on working with ColdFusion, or want to delve into Web services, you’ll want to check out the Altova Reference Books page on our Web site.

Tags: , , , , , , , , , , , ,

MissionKit 2011 Now Available in Japanese


With the release of Version 2011 we are thrilled to bring you the Altova MissionKit in Japanese. Now all the Altova tools available in the MissionKit have been fully translated into Japanese. Like the English and German versions of the tool suite, the fully translated Japanese language version provides users with powerful functionality for XML and Web development, data mapping and integration, rendering and publishing of XML, XBRL, and database data, UML modeling, and more. All the tools available in the new Japanese language version of The MissionKit are available at the same cost as the English versions, and current Version 2011 users can now unlock any language version using their existing key code. missionkit_jp If you haven’t checked out our latest release – Version 2011, download a free, 30-day trial today! The Japanese language version of all the MissionKit tools can be purchased from the Altova Online Shop or through your preferred reseller.

Tags: , , , , , , , , , , ,

A Developer’s Life is Never Simple


Earlier this month in our blog post on Comparing XML Schemas we showed a realistic – but simplified – example to illustrate a slick new feature of DiffDog 2010 to compare XML Schemas and update corresponding XML data files by generating XSL transformations.
A real-life XML developer’s project is rarely as small and straightforward as the example we used. In this post we will take a look at some typical complications developers face every day and how the Altova MissionKit cuts through complexity to enhance productivity.
Longer XML Schemas and Larger Mappings
Your XML Schemas are not likely to be as short and simple as the ones in our earlier post, and you will likely want to save your work while you are mapping your XML Schema migration. DiffDog lets you save your mapping in an XML Schema comparison file that you can reload later to continue your work, or to share with a colleague.
DiffDog Save XML Schema Comparison dialog
If you need to compare two XML Schemas on a regular basis, the XML Schema Comparison Document can be a valuable time saver.
Embedded XML Schema Assignment
The screen shot below shows the XML data file from our original example with one important difference. In this version the story element includes an embedded reference to the XML Schema on line 2.
XMLSpy XML Editor view
When we transform this file with the simple XSLT we created in DiffDog, the new XML data file will not include the updated XML Schema reference. In our earlier blog post embedded XML Schema references weren’t an issue because we used the XMLSpy Project / Properties menu option to assign default XML Schemas for each folder.
If there are many XML data files to transform, and they require embedded XML Schema references, we can take advantage of an additional feature of MapForce. We can export our mapping from DiffDog to MapForce, as we did in the earlier post, and then use the Component Settings dialog for the MapForce output component to include the XML Schema reference.
MapForce Component Settings dialog
Document Your Work
Developers can lose productivity trying to retrace history when a project needs additional work months or even years after an early iteration. The MapForce Generate Documentation feature can help us avoid this frustrating experience.
MapForce will document the mapping of each element in the XML Schemas in Microsoft Word, RTF, or HTML formats. Regardless which format we choose, the resulting document is an excellent stand-alone project artifact, or it can be further edited and included in a larger report.
MapForce Generate Documentation dialog
We can even combine the MapForce mapping documentation with full descriptions of each version of the XML Schema generated with the XMLSpy XML Schema Editor documentation feature.
Source/Version Control
Source/version control systems let teams of developers work closely together on the same project without a risk of overwriting each others’ changes. Because a version of the source code is saved at each stage of the design process, it is very easy to look at or revert to an earlier version when needed.
Altova has implemented the Microsoft Source Code Control Interface (MSSCCI) v1.1 – v1.3 in XMLSpy and tested support for many popular source control systems, so we can manage the files in our XML Schema evolution project across the development enterprise. Additionally, DiffDog can be integrated with source control systems as the default comparison tool. DiffDog can even generate differences report files in a variety of formats.
See for yourself how the tools in the Altova MissionKit can cut through the complexity of your own XML, Web Services, data integration, XML publishing, XBRL, and UML modeling development projects – download a free 30-day trial!

Tags: , , , , , , , ,

Comparing XML Schemas with DiffDog 2010


DiffDog 2010 includes a powerful new tool to compare XML Schemas that XML developers and others can use to update existing XML data files as XML Schemas evolve. This post takes a look at an example scenario for this feature.Before we drop into the new functionality, let’s take a quick look at two XML Schemas using the DiffDog File Compare feature. Of course, just like in previous versions, DiffDog 2010 users can compare XML Schemas as .xsd documents and display differences in a color-coded, XML-aware format.DiffDog file comparison view of XML Schemas This is a good way to identify and manage differences in XML Schemas, especially when you want to review revisions to industry-standard XML Schemas that evolve over time.What’s new in DiffDog 2010 is an additional XML Schema Differencing option that graphically displays two XML Schemas side by side, identifies identical elements automatically, and lets users map differences and generate XSL transformations to update XML data files.Here’s our first view when we open the same two XML Schemas shown in the file comparison above, using the new XML Schema Differencing feature.Initial DiffDog XML Schema Differencing view of XML Schemas The root elements of the two XML Schemas are automatically connected. We can click the Compare button in the toolbar to automatically connect identical elements in the two XML Schemas.DiffDog XML Differencing (Of course we could also select Compare XML Schemas from the right click context menu, or choose Start Comparison from the Diff and Merge menu, or press the F5 keyboard shortcut – DiffDog gives you many options to perform the same task, so you can work the way you like.)Next, we can map elements with different names in the two XML Schemas by manually connecting the pointer arrows between them. In this example most of the changes to the version of the XML Schema on the right simply give elements new names that will be more clear when the XML Schema and its data files are distributed through our enterprise.User-mapped XML Schemas in DiffDog XML Schema Differencing view When all the elements are mapped, we can generate an XSLT file to transform existing XML data files based on the XML Schema on the left to reflect revisions in the newer version on the right. This feature is designed to rescue XML developers from the tedious tasks of writing and debugging XSL transformations by hand.DiffDog Diff and Merge Menu Here is an example of an original XML data file based on the XML Schema on the left side, as viewed in Altova XMLSpy:XML data file viewed in XMLSpy The output file after applying the XSL transformation we created with DiffDog 2010 appears below. Note the substitution of the author element for writer, email for feedback, and so on.XSL output viewed in XMLSpy If there are many existing XML files that need to be transformed, the Project Management features of XMLSpy can help us automate the process. We can add external folders to an XMLSpy project.XMLSpy Project Helper Window Using the XMLSpy properties dialog for each project folder, we can assign default values to assign an XML Schema for validation, the XSL transformation, and the destination of the output.XMLSpy project folder properties dialog Now we can select the input folder in the XMLSpy Project helper window and transform all the files in it with the single-keystroke F10 shortcut.When we originally mapped the XML Schema elements in DiffDog, we left the publication element on the left side unconnected, since it had no corresponding element in the earlier version of the schema. That means when we transform XML input files using the XSLT, the resulting output will not contain the publication element. If publication is a required element, we can call on Altova MapForce for a quick solution.One of the options in DiffDog is to generate a MapForce mapping rather than XSLT. When we choose this option, MapForce launches with our DiffDog mapping already loaded as a new MapForce design, as shown below.MapForce New Design It’s easy to enhance the mapping by adding a constant as a default value for the publication element.MapForce enhanced design Now we can save an XSL file from MapForce that reuses all the element mappings we originally designed in DiffDog and adds the constant. When we apply the new XSL to transform our original XML data file, we get a result that includes the default value for the publication element.Final version of output viewed in XMLSpy This post started by describing the new XML Schema Comparison feature in DiffDog 2010. Fleshing out a simple – but typical – real-world example quickly highlighted additional tasks easily completed by taking advantage of tight integration with XMLSpy and MapForce.All three of these tools and more are available at substantial savings in the Altova MissionKit 2010, the integrated suite of XML, database, and UML tools designed to meet the diverse development and data management needs of today’s software architects and XML developers. Click here to download a free trial today!

Tags: , , , , , , , , ,

NYC & Company Case Study


Overview NYC & Company is the official marketing, tourism and partnership organization for the five boroughs of New York City. Its mission is to maximize travel and tourism opportunities, build economic prosperity, and spread the dynamic image of New York City around the world. In 2008-2009, the company initiated a major rebranding, redefining their Web presence and launching an interactive multi-media center in Midtown Manhattan. At the center of this transformation, NYC & Company used development tools from the Altova MissionKit – UModel, DiffDog, DatabaseSpy, and XMLSpy. The NYC & Company Web site and Information Center was created together with online powerhouses as Google and Travelocity, reservation sites like Open Table, content providers Time Out, Greenopia.com, the New York City Department of Cultural Affairs, and more. The Challenge As the single organization responsible for meeting the marketing and tourism needs of the city of New York, NYC & Company has been tasked with meeting Mayor Bloomberg’s January 2006 State of the City goal of luring 50 million visitors by the year 2015 – up from an estimated 43 million in 2006. A large part of the effort behind this push would be manifested in a general Web site rebrand/redesign coupled with the creation of an interactive visitor center. NYC & Company chose to use existing tools and technologies as much as possible, leveraging their ColdFusion Web site architecture, the Eclipse software development platform, a SQL Server 2005 backend, and the Altova MissionKit. A new content management system was also implemented to manage the large amounts of data and associated workflow. The Solution The NYC & Company Web site redesign included a migration from nycvisit.com, which followed a typical convention and visitor bureau site structure, to the much more animated and multi-faceted nycgo.com, a design that promotes the dynamic nature of the resources available and of the city itself. clip_image001 nycvisit.com on 26 February 2008 clip_image003 nycgo.com on 22 May 2009 UML Modeling The new design components were drawn out as a UML class diagram, expanding on the data model that was created for the live Web site. NYC & Company used Altova UModel to map out the physical structure of nycgo.com, importing their XML Schema definition to ensure adherence to formatting rules. The class diagram was used to represent the new Web site structure at a high level, and to model the objects that needed to be built into NYC & Company’s content management system (CMS). UML design in UModel also enabled the company to generate documentation so that the developers could share the UI design with those not familiar with the intricacies of UML. clip_image004 UModel UML Class Diagram of the nycgo Web site NYC & Company then worked with third party design vendor, HUGE, Inc., to further analyze the UML wire frames and predict user interaction scenarios for the nycgo Web site. Dynamic code was then delivered in JSP, implemented on JRun then subsequently converted to ColdFusion. Code Differencing NYC & Company chose to migrate their JSP templates to ColdFusion 8 for its rapid application development capabilities, rich feature set, and intrinsic simplicity. DiffDog, Altova’s diff/merge tool, was an integral part of the development process, helping the development team to ensure that the ColdFusion code was in line with the original JSP. NYC & Company could easily recognize and reconcile any crucial differences using DiffDog’s straightforward text comparison interface. diffdog2 JSP/CFM code differencing in DiffDog Database Migration As part of their rebranding effort, NYC & Company successfully migrated their data from SQL Server 2000 to SQL Server 2005. NYC & Company used Altova DatabaseSpy to connect to the database, structure queries, and for database analysis. They also use the integrated SQL Editor to test their more complex SQL queries. This enabled them to do their database management and testing in-house, with non-technical and even non-DBA team members assembling complex SQL scripts with features such as auto-completion, syntax color coding, automatic formatting, and refactoring. Building Out the Content Management System NYC & Company used a third party CMS to manage workflow and collaboration for newly designed the Web site. The CMS was also modified to output XML feeds. Additionally, content sourced from NYC & Company’s partners was validated against an XML Schema and then imported into the CMS. Every night, a scheduled task is initiated that delivers the formatted XML feeds to the interactive data center. XMLSpy, Altova’s XML editor, provides NYC & Company with all of its XML editing needs – from validating and saving content, to managing and manipulating it as part of an integrated workflow. Real-time XML Feeds The XML feeds that are available on the nycgo Web site, and the interactive wall kiosks and tables at the Information Center are taken from data submitted by NYC & Company’s numerous content partners and provide real-time information about attractions and events all around the city. Once accessed, the information can be transferred to any mobile device via SMS. The walls display touch-screen FAQ stations that inform visitors about top New York City attractions and provide other useful information like how to tip a doorman, places to exchange currency, etc. in English and nine other languages. Users can also buy MetroCards and tickets to exhibits and other popular events. ONIC-launch-007 The same real-time data is also fed to interactive tables, where visitors place a “puck” on a Google map of the city to select their area of interest. They then click on a category (e.g., dining, entertainment, etc.) to get more information. clip_image010 The Results NYC & Company offers the latest in travel and tourism to New York City’s visitors, which number well over 40 million in any given year and offers a wealth of new experiences and up-to-date information to adventurous locals. The innovative new Web site design and interactive exploration center pulls together the latest in hardware, software, and data management technologies to showcase every aspect of this multi-faceted city to tourists from all walks of life and with all sorts of interests. NYC & Company was able to leverage the Altova MissionKit to manage large amounts of disparate data from a variety of different sources -from the preliminary UML modeling, to code differencing, database management, and XML editing. Find out how the Altova MissionKit can help with the end-to-end management of all of your data assets. Download a fully functional free trial of the Altova MissionKit today!

Tags: , , , , , ,

DiffDog Reports for Service


A recent message on Twitter asked whether DiffDog can create a differences report. The short answer is yes! In addition to its renowned directory compare and merge, file compare and merge, database compare and merge, and XML diff merge functionality, Altova DiffDog can create differences reports for directory comparisons and for file comparisons. After you select the directories or files and the compare options you want to apply, you can create a report file by choosing Export differences from the DiffDog File menu. DiffDog Export differences menu option This opens a Save File dialog that lets you choose to create the diff report in text format or as an XML file. Text format reports follow the well-accepted Unix diff style. In the directory comparison example report below, the < character indicates a file that exists only on the left side, > indicates a file exists only on the right, and ! signifies file names that occur in both directories with unequal content. DiffDog directory report text format Report files in XML format are human-readable with descriptive element names and record the the comparison mode and the paths of the directories compared: DiffDog directory report XML format You can also use the DiffDog directory report functionality to create diff report files for comparisons of Zip archives or OOXML documents. Developers and other project stakeholders often want to keep a record of changes to source code files in a software project. DiffDog can create diff reports for all comparisons of text-based files, including source code files. DiffDog can even create detailed XML-aware reports for XML file comparisons. The illustration below shows two versions of a Java source code file: DiffDog file differences example If you read our earlier series on Reverse Engineering an Existing App with Altova UModel, you may recognize this code. Lines 8 and 9 on the left introduce a new class property called fee that is set to an initial value of 2. Here is the file compare report for the differences shown above in text format: DiffDog file differences text report And the XML version of the report for the same portion of the files: DiffDog file differences text report You can even execute DiffDog from a command line to create differences reports automatically. Here is an example of a short batch file that compares the same two directories from our GUI example and writes the output in XML in a file named diff_1.xml: DiffDog batch file The DiffDog Help system includes extensive documentation on all the command line options, including specific instructions on how to integrate DiffDog with 19 popular source control systems. If DiffDog report files get your tail wagging, don’t just Twitter about it! Click here to download a free 30-day trial of Altova DiffDog.

Tags: , , , ,

Altova Tools for IT Professionals – Tell Us Your Story


MissionKit XMLSpy and the other tools in the Altova MissionKit are well-known in the development community as the go-to toolset for XML, data integration, UML, and database development projects. But Altova tools are also used by IT professionals to efficiently complete a variety of enterprise support tasks: XMLSpy is an advanced tool that makes XML documents easy to navigate and edit. Do you use XMLSpy to edit or validate any of the wide variety of XML configuration and data files increasingly essential to today’s IT environments? MapForce integrates and maps data between any combination of XML, databases, flat files, EDI, Excel 2007, XBRL, and/or Web Services. Have you ever used MapForce to merge an end-user’s Excel data into a database? DatabaseSpy is the unique multi-database query, design, content editor, and comparison tool selected as Roundup Champion by Redmond Magazine. Have you used DatabaseSpy to browse an unfamiliar database or build a SQL query to get a quick answer? And who could forget DiffDog? At every trade show visitors come to the Altova booth to rave about Altova’s file, folder, and database diff/merge tool. Do you depend on DiffDog to quickly identify changes between the live instance of a mission-critical file or folder and a backup copy? If you’re an IT professional who uses Altova tools to support the technical infrastructure of your enterprise, we’d like to hear your story. Click here to visit the Altova Case Studies page and check out the right margin to contact us. Of course you can comment right here too!

Tags: , , , , , ,

Altova at Microsoft Tech Ed 2009


If you missed Microsoft Tech Ed in Los Angeles last week, check out our latest YouTube video for a quick trip to catch up on some of the sights and sounds of the Partner Exhibition. Our team on the scene reported a strong positive response to the XBRL and HL7 functionality in Version 2009 of the Altova MissionKit and many shout-outs from the floor for individual Altova tools — XMLSpy, MapForce, StyleVision, and UModel are all popular in the developer community. IT professionals commonly use DatabaseSpy and DiffDog to efficiently complete everyday database and differencing tasks.

  You can also see a video clip reporting on Altova at Tech Ed at the TechTarget site. Check out the Altova Events page to follow our upcoming show schedule and see where you can meet us live!

Tags: , , , , , , , , , , , , ,

Teach DiffDog a New Trick


Teach DiffDog a New Trick You can easily train DiffDog, Altova’s diff/merge tool for files, directories, and databases, to correctly interpret new file types. For instance, more and more file standards are taking advantage of the Zip compression format to deliver entire sets of files in a single convenient package. Let’s say you want to use DiffDog to examine and compare files created by Google Earth that are saved in .kmz archives. When you initially open a folder containing .kmz documents, then attempt to compare two files in a DiffDog document window, DiffDog reports the .kmz files contain binary content: Diff merge tool DiffDog message All you have to do is add the .kmz file extension in the File Types tab of the DiffDog Options dialog: DiffDog tools and options And click the Zip conformant radio button to assign the correct behavior: Compare zip archives Now that DiffDog understands the .kmz file extension is a Zip archive, it expands the Directory compare window to list all the component files. Compare directories You can see differences inside the archives. When you double-click any file pair, DiffDog automatically fetches them from the Zip archives and presents them for interactive editing in a new File Compare window. However, some of the file types enclosed in the Zip archive are also unknown. We learned from reading the XML Aficionado blog entry on Google Earth and XMLSpy that .kml files are an open XML-based standard for geo-spatial information. We can add .kml to DiffDog files types and specify XML-conformant syntax coloring: XML syntax coloring Now DiffDog displays the files with syntax coloring and we can apply all the DiffDog XML-aware differencing functionality. DiffDog  file compare If you dig deeper into the .kmz archive, you’ll discover .dae files are also XML-based. After you add .dae to the DiffDog files list and set it as XML-compliant, give yourself a treat! Compare .dae   DiffDog is available as a standalone tool or as part of the Altova MissionKit tool suite. The recently released DiffDog Version 2009 added powerful database content diff/merge capabilities – take a free trial for a walk around the block.

Tags: ,

Now available: Altova MissionKit Version 2009


We are very excited to announce general availability of the Altova MissionKit 2009 suite of XML, database, and UML tools. Version 2009 delivers numerous new features across the tools included in the MissionKit, including comprehensive support for working with XBRL, native support for new databases and database differencing, UML sequence diagram generation, and much more. A few details are below, with complete information and screenshots available on the Altova What’s New page. Coinciding with this major release, we have decided to pass savings realized due to the currently favorable US$/EUR exchange rate directly to our customers by reducing US$ prices across the entire Version 2009 product line.

Support for XBRL

The Altova MissionKit 2009 provides powerful new support for viewing, editing, validating, mapping, and publishing XBRL data. With intelligent wizards, graphical drag-and-drop design models, and various code generation capabilities, the MissionKit Version 2009 gives developers, technical professionals, and power users one easy-to-use suite of tools for working with XBRL and transforming data into content that can be shared with business partners, stakeholders, and regulatory commissions. Altova MissionKit tools with XBRL support are:

  • XMLSpy 2009 – includes an XBRL validation engine that allows users to view and analyze XBRL taxonomies, as well as validate XBRL instance documents. XMLSpy 2009 also includes a graphical XBRL taxonomy editor, which provides a visual representation of XBRL taxonomies with intelligent views and entry helpers for editing and extending them.

XBRL-taxonomy-editor2

  • MapForce 2009 – supports graphical, drag-and-drop mapping of XBRL taxonomies as the source or target in any data mapping project. This new functionality enables users to comply with financial and business reporting mandates by graphically mapping backend data from accounting systems and databases to the XBRL format, or creating valid interim reports based on stored data. Users can map XBRL data to or from any other data format supported by MapForce, including XML, databases, flat files, Excel 2007 (OOXML), Web services, and EDI. This support is also useful for aggregating public XBRL data and mapping it to a database, for instance, for further analysis.

mapforce_xbrl_thumb

  • StyleVision 2009 – Altova’s graphical stylesheet design tool now includes support for rendering XBRL data. This allows users to visually design financial reports for simultaneous output into HTML, RTF, PDF, and Word 2007 (OOXML) formats, enabling organizations to share customized business data in online or print format(s) with business partners, stakeholders, and regulatory commissions, all based on XBRL taxonomy requirements. 

Extended Database Functionality

Native support for additional databases has been added to all database-enabled Altova MissionKit tools, including XMLSpy 2009, MapForce 2009, DatabaseSpy 2009, StyleVision 2009, and DiffDog 2009. Current support for SQL Server® and Oracle® databases is now extended to include the most recent versions – SQL Server 2008 and Oracle 11g. New support for the PostgreSQL 8 database is also now available. In addition, both DatabaseSpy 2009 and DiffDog 2009 now allow you to compare and merge database content. Individual database tables or multiple tables within a schema can be compared, whether they are the same database type or completely different databases. Results of the content comparisons are displayed in tables, and differences can be merged bi-directionally. This new database comparison functionality allows users to easily backup, copy, or merge data quickly and easily. WhatsNewV2009DatabaseSpy2_thumb

Sequence Diagram Generation

MissionKit users working with UML will be especially interested in this new functionality in UModel 2009. Sequence diagram generation greatly assists developers who need to reverse engineer existing applications written in Java, C#, or Visual Basic. After importing an existing project, directory, or file into a UModel 2009 project, you can now select any operation in any class, and automatically generate a sequence diagram that illustrates the lifecycle of the operation, as well as objects that interact with it. Like all other project diagrams in UModel, sequence diagrams are stored as part of the UModel project file and can be included in generated UModel project documentation.   Check out the full list of features added in Version 2009, and be sure to check back here frequently, as we’ll be blogging about more new features each week. As always, you can download a free trial of the Altova MissionKit to test out this new functionality for yourself.

Tags: , , , , , , , , ,

Altova customer Recordare builds MusicXML-based solution


Case Studies

Recordare® is a technology company focused on providing software and services to the musical community. Their flagship products, the Dolet® plugin family, are platform-independent plugins for popular music notation programs, facilitating the seamless exchange and interaction of sheet music data files by leveraging MusicXML. Dolet acts as a high quality translator between the MusicXML data format and other applications, enabling users to work with these files on any conceivable system, including industry leading notation and musical composition applications Finale® and Sibelius®. The list of MusicXML adopters also includes optical scanning utilities like SharpEye or capella-scan, music sequencers like Cubase, and beyond. Dolet increases the MusicXML support in all of these programs and promotes interoperability and the sharing of musical scores. In creating the Dolet plugins, Recordare used Altova’s XML editor, XMLSpy, for editing and testing the necessary MusicXML XML Schemas and DTDs, and the diff/merge tool, DiffDog, for regression testing.

The Challenge

Music interchange between applications had traditionally been executed using the MIDI (Musical Instrument Digital Interface) file format, a message transfer protocol that has its roots in electronic music. MIDI is not an ideal transfer format for printed music, because it does not take into account the multitude of notations (e.g., rests, repeats, dynamics, lyrics, slurs, tempo marks, etc.) that convey much of the meaning. MusicXML is an open, XML-based file format specifically created to encapsulate musical notation or digital sheet music data that was built on top of previous formats, MuseData and Humdrum. XML lends MusicXML the power and flexibility to be easily accessed, parsed, rendered, and otherwise manipulated by a wide variety of automated tools, and its general acceptance as a standard makes it an ideal format for scoring using computer technology. Since its original release by Recordare in January of 2004 (version 2.0 was released in June 2007), MusicXML has gained acceptance in the music notation industry with support in over 100 leading products, and is recognized as the de facto XML standard for music notation interchange. These products would not have adopted MusicXML unless it could be used to exchange data with industry-leading applications like Finale and Sibelius. By developing advanced plugins for popular music notation suites, Recordare would be able to deliver to their customers all of the advantages that XML can bring for data exchange and standardization.

The Solution

Below is an example showing the score of the first few measures of Beethoven’s An die ferne Geliebte, Op. 98 as it is written in sheet music: and a small snippet of the same piece translated to MusicXML: The MusicXML-based Dolet 4 plugins for Finale and Sibelius provide a more accurate and usable representation of sheet music than Standard MIDI translation. For example, the images below show the same piece of music. On the left is a Finale 2009 rendering of a MIDI file exported from Sibelius, and on the right is the same application’s interpretation of a MusicXML 2.0 file exported from the same version of Sibelius.
In the MIDI rendition, vital information like chord symbols, lyrics, slurs, articulations, and even title and composer are omitted from the translation. In addition to providing native support for MusicXML, the recently released Dolet 4 for Finale and Dolet 4 for Sibelius plugins enhance the capabilities of these programs by adding advanced features like:

  • Batch translation
  • More accurate and reliable data exchange
  • More formatting control
  • Support for the MusicXML XML Schema (in addition to the DTD)

In developing the plugins, Recordare was subject to specific requirements dictated by the Sibelius and Finale applications. The Sibelius plugin was programmed in ManuScript, and is one of the largest plugins ever written in that language. Finale, on the other hand, requires plugins to have a C++ core, and Recordare implemented this, adding MusicXML logic in Java and a JNI layer to provide the two-way Java/C++ communication. Recordare’s Dolet plugins are now critical aspects of the music preparation process for many television and film scores as well as new music publications. Errors in translation need to be fixed in maintenance updates, while ensuring that no new errors are introduced into these complex translation plugins. Regression testing of the MusicXML file produced by the Dolet plugins is thus an essential part of Recordare’s quality assurance process. Recordare used Altova’s DiffDog in the development of the Dolet plugins. XMLSpy was used to test and edit their DTDs and XML Schemas, and DiffDog for regression testing the MusicXML files produced by the software. Recordare has several regression test suites covering a wide range of musical repertoire, from baroque to hip-hop. DiffDog allows easy differencing of multiple runs of these test suites, including the ability to ignore differences in XML metadata elements such as software version and XML creation date that always change across test cases. Recordare has used Altova’s XMLSpy XML editor to edit the MusicXML DTDs and XML Schemas, starting with the use of XMLSpy 3.5 (released in 2001) to create the earliest alpha and beta versions of the MusicXML DTD. Version 2.0 of MusicXML added a compressed zip version of the format, similar to what is used in other XML applications like Open Office and Open XML. XMLSpy 2008 Enterprise Edition’s comprehensive support for zipped XML files made it easy to test this new feature together with the Dolet for Finale plugin.

A small portion of the extensive MusicXML schema shown in XMLSpy’s graphical XML schema editor

XMLSpy’s support for XQuery has also contributed to Recordare’s regression testing efforts. In response to a customer request, Recordare now exports XML processing instructions from the Dolet for Sibelius plugin when it encounters a musical feature that it is unable to translate correctly. A simple XQuery execution to search for all the processing instructions in the XML files in a given folder lets Recordare check for the presence of these restrictions within each test suite, and then compare the resulting XML files using DiffDog between runs of the test suite. Recently, customer demand led Recordare to develop an XSD version of the MusicXML format. XMLSpy Enterprise Edition was used to develop and test the schemas. Schema validation, schema restriction and extension, and automatically-generated schema documentation were all able to be tested using XMLSpy’s features.

The Results

The Dolet plugins are extensions for common industry software that harness the built-in capabilities of the MusicXML format to make musical scores truly interchangeable across disparate systems and toolsets. These plugins have the capacity to render accurate and meaningful musical notation based on the powerful MusicXML specification. The leading XML Schema editing capabilities in XMLSpy and the strong XML and directory differencing support in DiffDog enabled Recordare to write and polish the MusicXML schemas and perform regression testing on the Dolet plugins. The resulting high quality of the schemas and software has made MusicXML and the Dolet plugins a key element of the toolkit for composers, arrangers, publishers, copyists, and engravers throughout the industry wherever printed music is used. Try XMLSpy, DiffDog, and the other Altova MissionKit tools for yourself with a free 30-day trial.

Tags: , , , , , , , , ,

Diff / Merge Tools and Dog Food


Since its release in 2005, the Altova marketing team has been actively using the DiffDog diff / merge tool to compare and merge changes on our Web pages (something Product Marketing Manager David McGahey likes to call “eating our own dog food.” Get it? Dog food? Anyway…). We create and edit our content directly in XML using the XMLSpy XML editor and use WinCVS as our version control client. This way, we [not-so-technical marketing folks] can easily view and revert changes to any files in our CVS repository. When we need to compare changes made in two versions of a given file, we simply highlight the versions and launch DiffDog directly from WinCVS. It’s a lightning-fast way to see exactly what has been changed. image Our Web Development team also makes good use of DiffDog’s directory comparison functionality to diff and merge between our test and live Web servers.

Using DiffDog with Team Foundation Server

Jeff Levinson, Microsoft MVP and Application Lifecycle Management practice lead at Northwest Cadence, also recently shared his DiffDog story in an online article for Visual Studio Magazine, “Performing Comparisons with Team Foundation Server.” He details how you can replace the default merge tool in TFS with DiffDog. Do you have any stories to share about how you use our tools? Let us know!

Tags: , ,

Altova at TechEd


Microsoft TechEd 2008 is presently underway in Orlando, FL, and this year the show has been split into two separate events: TechEd for Developers is coming to an end tomorrow, and next week we have TechEd for IT Professionals. Altova is sponsoring both events and we invite you to visit us at booth# 1114 to see the latest new features in version 2008r2 of our developer tools. We’ll be happy show you the new Open XML (OOXML) features introduced in MapForce, StyleVision, and DiffDog, as well as the new support for C# 3.0 and Visul Basic 9 in our UML modeling tool, UModel. To try these new features yourself, you can download a free 30-day eval version from our web site.

Tags: , , , , , ,

Altova Releases Version 2008 of its Award-winning Software Product Line


Altova, creator of XMLSpy and other leading XML, data management, UML, and Web services tools, today announced the availability of Version 2008 (v2008) of its award-winning line of software development tools. With the release of its v2008 products, Altova introduces a host of powerful new capabilities, including support for the Widows Vista operating system across the product line, extended support for Office Open XML file formats in XMLSpy, more data mapping versatility in MapForce, and enhanced database functionality in StyleVision. Additionally, this new software version brings Visual Basic .NET code engineering and real-time integration with Visual Studio and Eclipse in UModel, support for editing database views and stored procedures in DatabaseSpy, one-click directory synchronization in DiffDog, and much more.

Tags: , , , , , , , , , ,