If you’ve ever needed to merge data files from different sources, you know how infuriating the process can be. Not all systems produce the same formats and sometimes fields don’t match properly. Instead of dealing with these issues manually in Excel or another spreadsheet program, let's use Legato.Continue reading "LDC #103: Bringing Data Together" »
Friday, September 21. 2018
Friday, September 14. 2018
Sometimes it is desirable to display tables of information and allow user to edit the data on the sheet directly. Novaworks’ products employ a table data editing platform that in many ways operates like MS Excel™ and provides a high level of flexibility. It is used for XBRL editing, EDGAR Forms, and much more. In this article, I will introduce the data control.Continue reading "LDC #102: Dialog Boxes Part V — Introduction to..." »
Friday, September 07. 2018
Last week, we added a modify dialog for our page break style manager, to let us rename and delete page break styles. This got us to a point where we have what I’d consider “minimal functionality” required to have a useful script, but let’s take it a step further, and add in a re-order function. It’s very useful to be able to shuffle the order around so you can have all styles, for a single client, grouped together. You don’t have to constantly search through a list anymore. While we’re at it, we can add in functionality to disable buttons if they are not applicable to our selection. For example, if we don’t have a selection, everything should be disabled. if we have the top list item selected, the move up button should be disabled, because we obviously can’t move the top item up even higher. The opposite applies to the bottom selection.
Continue reading "LDC #101: Page Break Template Manager, Part 3" »
Friday, August 31. 2018
Last week, we discussed how to add page breaks into the page break template with a Legato script. As useful as that is, without a way to delete them or rename them, the function isn’t really complete. To do that, we’re making a page break manager this week. This will give us a new menu option, “Modify Page Break Templates”, which lets us manage our stored page breaks.
Continue reading "LDC #100: Page Break Template Manager, Part 2" »
Friday, August 24. 2018
This is a script I’ve wanted to write for a while, because it makes it significantly easier to use custom page breaks in GoFiler. For a long time, GoFiler has supported page break style templates, which let you save and customize a list of page headers and footers. Using this script, you’ll be able to add, remove, and edit entries in that template file without having to edit the HTML.
Continue reading "LDC #99: Page Break Template Manager" »
Friday, August 17. 2018
Language directives allow you to change the code the programming language sees when it runs. We’ve talked a little bit about directives before, but today I will take a look at a subset of directives: conditionals. Conditionals allow a programmer to add or remove sections of code based on the existence of other directives. This means that it’s easy to build larger suites of code while allowing sections of code to be taken out without causing errors during runtime.
Continue reading "LDC #98: Conditionals, If You Want Me To" »
Friday, August 10. 2018
Everyone in the EDGAR industry has experienced the customer who wants to know what the filing deadline is. For most companies the deadlines are easily found using a search engine. But what happens when your customer has an unusual fiscal year end? You can scramble to figure it out or you can just plug numbers into this week’s blog script does all the date calculations for you.Continue reading "LDC #97: Creating a Filing Calendar" »
Friday, August 03. 2018
Various forms of data compression are employed all over the computing world. In many instances, you may need to read compressed data or create your own. This article is the first in a series about data compression and the tools available within Legato. We will start with an overview and then dive into the ubiquitous zip method by creating a little program to zip a project.
Continue reading "LDC #96: Data Compression - Part I" »
Friday, July 27. 2018
This week, we’re going to take a closer look at a script that’s been in GoFiler for a while as a base script, but has been through several revisions. This script, the Endnotes to Footnotes converter, takes endnotes in an HTML file and moves them to the appropriate page in the HTML file. These endnotes are common if you have a Word file that has been converted to HTML, that had footnotes in it. They are often converted as endnotes, and putting them back where they belong can be annoying if you have to do it manually.
Continue reading "LDC #95: Endnote to Footnote Mapper" »
Friday, July 20. 2018
Legato is an extremely powerful tool that allows you take control of GoFiler by helping you to automate tasks and giving you new features. In addition to Legato, GoFiler also includes a command line API, allowing you to perform some tasks without fully opening GoFiler. You can combine these features together to have GoFiler run Legato scripts from the command line interface. This means that your possibilities are actually endless for what you can accomplish. Today we are going to discuss extending your control over GoFiler by using the Windows command line to communicate directly with Legato, allowing you to write scripts that can span multiple computers.
Continue reading "LDC #94: Taking Command Of GoFiler" »
Friday, July 13. 2018
For this week’s blog we are going to shift from our usual discussions of what you can do with Legato to instead discuss how to make efficient Legato code. Like many scripting languages, in Legato you as the programmer typically do not need to worry about memory as the language takes care of a lot of it behind the scenes. That being said, you shouldn’t always ignore memory considerations when you write scripts. Doing so may result in a bad user experience or, even worse, unexpected failures. In this blog we will discuss some of the common pitfalls and how to avoid them.
Continue reading "LDC #93: Managing Memory in Legato" »
Friday, July 06. 2018
Occasionally I have had the need to serially capture images for later use. There are a number of utilities available, some free, with varying capabilities, that do this. Recently I was asked to try get download a bunch of photos from a site that had no simple way to download images. To accomplish this, I wrote a little script that lets a user capture images, presumably from a screenshot or from a right-click “Copy” command, and serially store them.Continue reading "LDC #92: Capturing Images from the Clipboard" »
Friday, June 29. 2018
A pretty common task in any document editing environment is running find and replace operations. If you have a character that’s repeated, and you want to replace every instance of that character with a different character, then running a find and replace is the fastest way to do it. What happens if you need to execute these operations many times on different documents? You could run Find and Replace and type the information in each time but it’s often a much easier solution to just write a small Legato function. You can execute the Legato function from the Tools menu to run a common find and replace operation. I know in previous blog posts I’ve done similar scripts to replace wingdings characters with character entities, or to replace certain inline tags with other inline tags. For this week’s blog script, I took those previous scripts and made a more generic version, that can be easily modified by anyone to do different find and replace operations.
Continue reading "LDC #91: Find and Replace HTML Script Template" »
Friday, June 22. 2018
If you’re a long time reader of the developers corner, you may remember that last April I talked about using collaboration tasks in GoFiler through Legato. I shared a short script that read any tasks attached to a project upon opening a project and had Legato post the tasks in the Information View. Today I would like to present a modification to the script while introducing the email function. This script will also require a basic understanding of how HTML is formed and how CSS style data is stored in HTML.
Continue reading "LDC #90: Emailing Collaboration Tasks" »
Friday, June 15. 2018
A few weeks back I wrote a blog about automating Internet Explorer using OLE and Legato. In that blog, I mentioned we would be adding more OLE automation capabilities as newer versions of GoFiler and Legato were released. Now that version 4.22c of the GoFiler line of products is out, the increased OLE automation functionality of Legato is available. Today I will discuss how to use it and give a small example of what it can do.Continue reading "LDC #89: Automating Other Applications Through..." »