• Solutions
    • FERC XBRL Reporting
    • FDTA Financial Reporting
    • SEC Compliance
    • Windows Clipboard Management
    • Legato Scripting
  • Products
    • GoFiler Suite
    • XBRLworks
    • SEC Exhibit Explorer
    • SEC Extractor
    • Clipboard Scout
    • Legato
  • Education
    • Training
    • SEC and EDGAR Compliance
    • Legato Developers
  • Blog
  • Support
  • Skip to blog entries
  • Skip to archive page
  • Skip to right sidebar

Friday, February 09. 2018

LDC #71: Validating With The XBRL Object

XBRL can be a challenging topic to tackle. There are a lot of rules to learn for it, and with 14,000+ elements in the US:GAAP taxonomy, it doesn’t look like it’s going to get simpler any time soon. Fortunately, using GoFiler and Legato, we can add some functionality to make things a little easier.


Continue reading "LDC #71: Validating With The XBRL Object" »
Posted by
Steven Horowitz
in Development at 17:49

Friday, January 19. 2018

LDC #68: Application Shutdown Script

Way back in LDC #39, we discussed the file “ApplicationInitialize.ls” and how any script functions in it are run at application startup. With GoFiler 4.21b’s release on January 16, 2018, we’ve added support for a similar file, “ApplicationShutdown.ls”. As the name suggests, this file is called when GoFiler shuts down. This is a pretty powerful feature because it lets you do things to “clean up” your environment if you’ve modified it with other scripts or if you want to return the system to a desired state after using the application.


Continue reading "LDC #68: Application Shutdown Script" »
Posted by
Steven Horowitz
in Development at 14:55

Friday, January 12. 2018

LDC #67: Legato Program Design Best Practices

In past blog entries I’ve written, the topic is often about simple scripts. It’s covered a couple hundred lines of code, and the script usually handles a single function. This means that every script that’s been covered so far has been relatively simplistic in structure, with no more than 10 or so separate functions. With so little code, a script can still be easily maintainable even if no thought is given to how it’s put together. The design of the application is less important in these cases. However, what if you want to do a larger project? What if your script is going to include multiple UI screens and integrate with multiple systems? This is where you would want to pay some attention to design and apply some software design practices to the script to ensure that you get the best possible result. The blog post this week will not contain an example of the script but will rather discuss how we can apply some software engineering principles to Legato design to avoid common pitfalls.


Continue reading "LDC #67: Legato Program Design Best Practices" »
Posted by
Steven Horowitz
in Development at 19:21

Friday, December 22. 2017

LDC #64: Stripe tables, not candy canes!

Maybe you can stripe candy canes too, given it’s the season. However, this blog post is talking about striping tables! We had another feature request for GoFiler last week that we thought would make a good blog post. This request concerned developing a way for GoFiler to start striping the table after the first dollar sign in the table instead of at the normal body position that GoFiler detects. There are two ways we could do this: we could spend a lot of time modifying a core function of GoFiler, the Polish Table function, or we could make a Legato script that fires on post-process and re-does the striping of the table. The latter is preferable because it doesn’t affect other uses who perhaps don’t want or need this feature. Anyone who does can simply add this script to the extensions folder and that user can get the benefits of a new features.


Continue reading "LDC #64: Stripe tables, not candy canes!" »
Posted by
Steven Horowitz
in Development at 10:47

Friday, December 15. 2017

LDC #63: Promoting Underlines To Table Cells

Here at Novaworks, we often get requests for features to add to GoFiler. Our topic this week is a client request that I think is another good example of how to use Legato to do some HTML parsing and modification. The original request was to have a way to detect paragraphs within table cells with underlines (border-bottom property) or underline tags in them. It would be great to remove the underlines from the paragraphs and put them on the table cell with the paragraphs instead. This script will work with two selection modes in an HTML file: you can either drag-select the table cells on which you want to run it, or you can click in a cell and run the script without selecting anything. Our script takes the start of your selection and finds the previous table cell. Then, working from that point until the end of the current cell or your selection, it locates any paragraphs with underlines or underline tags. If it finds them, it removes them and puts them in the table cell instead.

Continue reading "LDC #63: Promoting Underlines To Table Cells" »
Posted by
Steven Horowitz
in Development at 16:15

Friday, November 03. 2017

LDC #58: Bulk Importing CIKs into a Series and Classes Library

When using GoFiler to do filings that have series and classes in them, using the library function is a lot faster than manually adding each series and each class one at a time. The GoFiler series/class library also has the ability to look up a single CIK at a time and download the series and class information associated with it from the SEC. But what if you have a large list of CIKs, and want to add all of them to the series and classes library at once? Well, using Legato, we can run a lookup on each CIK in the input list and, with the response, build a library file which we can then import into GoFiler.


Continue reading "LDC #58: Bulk Importing CIKs into a Series and..." »
Posted by
Steven Horowitz
in Development at 14:27

Friday, October 27. 2017

LDC #57: More CSS Property Editing With Legato

Last week, we explored editing SGML properties with Legato. By using some of the Legato SDK functions, we can read the properties of an SGML tag and change those properties to new values. This is pretty simple and straightforward. However, what if we want to do something based on a particular setting? For example, what if we want to employ an “Indent Body of Paragraph” function, where the first line of the paragraph doesn’t move but the subsequent lines are indented? We can’t simply read the indent value and add to it because we cannot guarantee that the same unit of measurement is being used. We need to read the unit, normalize it into a standard unit, add to it, convert it back to the original measurement style, and write it back out. It’s a bit more involved than simply setting properties, but it lets us perform some pretty interesting operations.


Continue reading "LDC #57: More CSS Property Editing With Legato" »
Posted by
Steven Horowitz
in Development at 17:23

Friday, October 20. 2017

LDC #56: Editing CSS Properties With Legato

In past blog posts, we’ve used Legato to remove HTML tags or to add new ones. One function we haven’t really explored is looking at a tag and changing its properties. Editing CSS properties with Legato is extremely powerful because it lets us change the document’s appearance in clean, interesting, and intelligent ways. This week’s script is a very basic but very powerful example of this concept.


Continue reading "LDC #56: Editing CSS Properties With Legato" »
Posted by
Steven Horowitz
in Development at 16:28

Friday, October 06. 2017

LDC #55: Protecting Your CCCs With Encryption Part 2

Last week, we covered a script that could take a single folder, search it, and encrypt (or redact) CCCs in project files and XML files. After thinking more about the problem, we realized that the script (while a good start) didn’t go far enough to solve the situation. First, the script only worked with EDGARLink Online XML and GFP files. Any file where the CCC appeared on a different line of the code than the tag declaring it a CCC would not have been obscured. Also, backup files created by GoFiler would not have been obscured. There are several ease of use items that should be addressed as well. The changes made to this newer version are enumerated below:


Continue reading "LDC #55: Protecting Your CCCs With Encryption..." »
Posted by
Steven Horowitz
in Development at 17:15

Friday, September 29. 2017

LDC #54: Protecting Your CCCs With Encryption

With the recent news about the SEC data breach, people are looking towards their own internal security practices to ensure they are handling their data responsibly and doing everything possible to prevent their own data breaches. In the financial document preparation and submission industry, one of the most common pieces of private data that is passed back and forth through email is a filer’s CCC. To file a document on behalf of a company, you only need their CIK (which is publicly available) and the CCC (which is not supposed to be publicly available). It follows then that if an unauthorized entity obtains a CCC, they could fraudulently file on a company’s behalf to the SEC. So it’s in your best interest to keep your CCC secret!


Continue reading "LDC #54: Protecting Your CCCs With Encryption" »
Posted by
Steven Horowitz
in Development at 17:35

Friday, September 08. 2017

LDC #51: Streamlining Document Creation with Templates

HTML is the primary document type submitted to the SEC now. Every filing needs to have a primary document, and that primary document is almost always an HTML file. Because EDGAR HTML is a very specific type of HTML, you need special tools to create and convert these documents. Software packages like GoFiler exist to make this process as easy as possible, but in the end it still involves some level of user interaction to convert the document from a source file, make sure it converted alright, fix any issues, proof it, and either submit it or send it back to the client. Well, using Legato, we can cut a few steps out of that by making an HTML template that’s filled in with data populated from a data file!


Continue reading "LDC #51: Streamlining Document Creation with..." »
Posted by
Steven Horowitz
in Development at 17:14

Friday, September 01. 2017

LDC #50: Making Linking Exhibits Even Easier

New rules go into effect next month requiring that filers insert hyperlinks into their exhibit indices to link directly to referenced filings and exhibits. For a small filing, maybe this isn’t too arduous a task to do by hand. But for a large one? The process can be a real pain, particularly if you don’t know the links of the exact exhibits that need to be included. GoFiler has now included a tool (written entirely in Legato by our development staff!) to help users locate and automatically include exhibits. It’s pretty powerful, allowing the user to build a local cache of filings from the EDGAR system based on a particular CIK. This cache can be searched and sorted, so it becomes much easier to find the filing you need to link.


Continue reading "LDC #50: Making Linking Exhibits Even Easier" »
Posted by
Steven Horowitz
in Development at 18:06

Friday, August 25. 2017

LDC #49: Making Scripts Stand Out With Image Icons

When you start adding multiple Legato scripts to the same menu in GoFiler, the menu can become quite crowded. Repeating the same logo, the default “LS” for a Legato script, doesn’t help at all. To combat this problem, GoFiler 4.19a introduced a new way of defining custom logos for Legato scripts. Using this feature can make individual scripts stand out and help the user identify them more easily. Custom icons can also add a professional veneer and polish to your script, which is always nice to do particularly if the script is being deployed to multiple users on a permanent basis.


Continue reading "LDC #49: Making Scripts Stand Out With Image Icons" »
Posted by
Steven Horowitz
in Development at 18:58

Friday, August 18. 2017

LDC #48: Improved Align Outline Text Function

This week we’re revisiting the Align Outline Text script from LDC #41, to show how an existing script can be expanded upon to add new functionality. The original version of this script made a set of assumptions, which means it works really well for our sample test file, but there are many other cases where these assumptions are false, and the script doesn’t do anything to fix our problem. The original purpose was to examine paragraphs, try to identify the lead-in text (the “(a)”, or “1.”, or “Section 1.”, etc), and wrap it with a <FONT> tag with properties to cause it to render with a fixed width instead of relying on non-breaking spaces to make it appear spaced. Instead of looking for a very specific type of spacer, like the last script did, we can use the Word Parser in Legato to step through the lead-in word by word, examining each one, to determine how many characters appear before the first set of non-breaking spaces. This is a lot more flexible, and lets our script react better to unforseen types styles of paragraphs.


Continue reading "LDC #48: Improved Align Outline Text Function" »
Posted by
Steven Horowitz
in Development at 15:57

Friday, August 11. 2017

LDC #47: Using Legato To Alphabetize a List

Everyone knows how to put things in alphabetical order; it’s one of the first things we learn in grade school. Well, just because it’s easy doesn’t mean we want to do it ourselves sometimes! 13-F’s Information Table, for example, would be pretty time-consuming to have to alphabetize manually. Using the SortTable function, we can sort any table quickly and easily. While there’s no SEC requirement to do so, it makes it a lot easier for readers to view if the information table is alphabetized by Issuer Name. Legato provides powerful tools to make this mundane task simple and automatic.


Continue reading "LDC #47: Using Legato To Alphabetize a List" »
Posted by
Steven Horowitz
in Development at 18:04
« previous page   (Page 3 of 5, totaling 69 entries) next page »

Quicksearch

Categories

  • XML Accounting
  • XML AICPA News
  • XML FASB News
  • XML GASB News
  • XML IASB News
  • XML Development
  • XML Events
  • XML FERC
  • XML eForms News
  • XML FERC Filing Help
  • XML Filing Technology
  • XML Information Technology
  • XML Investor Education
  • XML MSRB
  • XML EMMA News
  • XML FDTA
  • XML MSRB Filing Help
  • XML Novaworks News
  • XML GoFiler Online Updates
  • XML GoFiler Updates
  • XML XBRLworks Updates
  • XML SEC
  • XML Corporation Finance
  • XML DERA
  • XML EDGAR News
  • XML Investment Management
  • XML SEC Filing Help
  • XML XBRL
  • XML Data Quality Committee
  • XML GRIP Taxonomy
  • XML IFRS Taxonomy
  • XML US GAAP Taxonomy

Calendar

Back May '25 Forward
Mo Tu We Th Fr Sa Su
Sunday, May 18. 2025
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Feeds

  • XML
Sign Up Now
Get SEC news articles and blog posts delivered monthly to your inbox!
Based on the s9y Bulletproof template framework

Compliance

  • FERC
  • EDGAR
  • EMMA

Software

  • GoFiler Suite
  • SEC Exhibit Explorer
  • SEC Extractor
  • XBRLworks
  • Legato Scripting

Company

  • About Novaworks
  • News
  • Site Map
  • Support

Follow Us:

  • LinkedIn
  • YouTube
  • RSS
  • Newsletter
  • © 2024 Novaworks, LLC
  • Privacy
  • Terms of Use
  • Trademarks and Patents
  • Contact Us