Showing posts with label ExpPrint. Show all posts
Showing posts with label ExpPrint. Show all posts

20 July 2016

Hard link facility in ExpPrint

With the release of ExpPrint 6.3 it now has the ability to identify hard linked files.

A key point to know about the operating system’s implementation of hard links is that there isn’t really an original file with others that link to it.

There’s a good explanation of hard links on Wikipedia here, but in brief, the idea that a file is contained insider a folder isn’t the full story…

ExpPrint 6.3 Release

While this is only a minor release, there are a few additions that may benefit from some additional background information.

2 November 2014

Folders First!

I was recently asked whether it was possible to have ExpPrint list sub-folders before the file items in a folder. I had to admit that it wasn’t something I remember considering and so it wasn’t currently an option. However, with a bit of editing of the XSLT it is achievable.

4 October 2014

Inside ExpPrint 6.2 Changes

A customer recently suggested that it’d be much better if ExpPrint could produce stand-alone HTML files so that anyone with a suitable modern web browser could see the same presentation without needing ExpPrint installed. Since this was something I’d always intended to have (but hadn’t found how to do it), I thought I’d have another look into it.

29 March 2014

ExpPrint V6.1.2.0

This release adds 5 more hashing algorithms. ExpPrint now supports the following hash algorithms: Crc32, MD2, MD4, MD5, SHA-1, SHA-256, SHA-384, SHA-512.

Hash functions (Wikipedia)

10 March 2014

Unusual uses for ExpPrint–Finding long file paths

A customer recently told me they were using ExpPrint to find occurrences of files with very long path names. Their backup program had a problem with file paths that exceeded the normal 260 character limit, so they needed to find them and shorten them.

16 February 2014

Invalid Dates and Formatting your ExpPrint HTML Listings with Cascading Style Sheets (CSS)

A curious mix of topics you might think – but one lead to the other a few days ago, so in explaining a minor enhancement as a result of a customer reporting an issue, I thought I’d explain how I resolved the situation in more detail…

11 February 2014

Overview of How ExpPrint Works

ExpPrint has several steps to get a listing:

image

1. The shell extension (the right click “ExpPrint Listing…” menu in Windows Explorer)

This component gathers all the properties of the files and converts them into an XML format in the .xplisting file.

2. The ExpPrint Viewer

This loads the .xplisting and allows you to select a transformation – currently either Detailed Table (HTML),  Detailed Table (CSV), or Multi-Column (HTML).

3. The viewer then displays the user interface for the chosen transformation and finally invokes the transform.

The result is either a Detailed Table HTML file, Detailed Table CSV file, or Multi-column HTML file which is then invoked, causing the application registered for the file type to open the file. So, for the HTML outputs, the file will load in your default browser, while the CSV option will probably load in your spreadsheet application.

Why is it so involved?

In a word – flexibility.

Early versions of ExpPrint involved just 1 stage – you invoked the shell extension and it got the file system information and either output the listing to your printer, or to a text file.

But people want more…

  • Print preview
  • More properties/metadata
  • More formatting options

It quickly became difficult to squeeze new feature in, so a radical departure was necessary in order to have the bigger facilities like Print Preview.

The solution is as presented above. In essence ExpPrint stands on the shoulders of giants. By outputting HTML, users can use the full features of their browsers to provide printing and preview facilities, and by structuring the HTML to allow it to be comprehensively formatted using standard CSS, listings can have much richer presentation facilities than I could ever have hoped to develop from scratch. However, the link is the intermediate form – the XML data. By having the shell extension gather all the file properties that Windows provides (thankfully without having to write any code that knows about the file formats) and saving them as XML, the transformation of the XML to HTML or CSV is accomplished using XSL Transforms. XSLT enables the same XML data in the .xplisting file to be converted to any text format by way of an XSLT transform program. The 3 options available in the ExpPrint Viewer: Detailed Table (HTML), Detailed Table (CSV), and Multi-Column (HTML) are in effect 3 XSLT programs. You can extend ExpPrint with your own transform programs, but it’s far from a trivial undertaking, so if you think you might want a custom transform, send us an email and ask away.

27 January 2014

New ExpPrint Release - V6.1.1.1

As mentioned in our earlier post, this update of ExpPrint eliminates the general exception message that you’d have seen had you encountered the same situation as our customer who reported the issue.

Now that we understand the scenario that can give rise to this exception, we’ve added a specific handler for it that will suggest you try the file with ExpPrint on a 64-bit version of Windows (if you’re running on a 32-bit version).

Please note that ExpPrint failing to load a large listing is not a common situation. ExpPrint is capable of processing very large listings on all 32-bit Windows operating systems. The likelihood is that only large storage systems with listings comprising of hundreds of thousands of files may encounter this situation, and they will (I hope) be eminently placed to have a 64-bit version of Windows that they can run ExpPrint on.

10 January 2014

Working with extremely large ExpPrint listings

ExpPrint can handle most directory listings quite easily, and it’s only with large listings (many tens of pages) that your browser may slow down appreciably. However, earlier today a customer reported a problem when they tried to view an extremely large listing, comprising over half a million items.