So far, every script we’ve explored has been a hook of some sort. They attach themselves to new or existing menu icons or are triggered by other functions being run. What if you want something to run on application start? Legato supports this through the Application Initialize script. On program start, GoFiler will always run the ApplicationStartup.ls script. This script file is the one that’s responsible for running every other script in the extensions folder. This allows users to create their own custom startup routines that are run before literally anything else.
Continue reading "LDC #39: Application Initialize Script" »Friday, June 16. 2017
LDC #39: Application Initialize Script
Thursday, June 15. 2017
Styles Come and Go; Consistency Is Timeless
A taxonomy style guide isn’t about creating a memorable “style”. The style guide is about building clear, transparent, understandable standards that result in predictable communication every time. XBRL relies on a taxonomy of concepts to identify facts, contexts and other relationships. Any ambiguity in the language used within that taxonomy to communicate data, could produce inconsistent results.
Continue reading "Styles Come and Go; Consistency Is Timeless" »Friday, June 09. 2017
LDC #38: Save and Open Dialogs
This week we’re going to talk about using save and open file dialogs with Legato. While previous posts have used these functions in scripts, we’re going to go into a lot more detail about what you can do with these dialogs this time. This is going to be a fairly limited blog in terms of code as it is difficult to create example scripts of save and open file dialogs without doing a lot of extraneous coding. As a result, this blog will contain a number of small snippets of code that are all examples of using dialogs but not a full example script. If you would like a full script using a file dialog, check out this previous script which inserts text into an HTML edit window.
Continue reading "LDC #38: Save and Open Dialogs" »Friday, June 02. 2017
LDC #37: Automated Test Filing XBRL, Part 2
Last week, we created a way to create template files for test filing XBRL in GoFiler. We also designed a method to open and edit them easily. Now it’s time to add the next level of functionality to this project: a script that allows us to test file XFR files with a single button press. This script will create a pair of new folders in the same directory as the XFR file: “Automated Test File” and “Automated Test Archive”. The first folder will contain the most recent test filing, while the latter will contain a copy of every test filing submitted to the SEC just in case it’s needed for future reference.
Continue reading "LDC #37: Automated Test Filing XBRL, Part 2" »
Friday, May 26. 2017
LDC #36: Automated Test Filing XBRL, Part 1
This week our blog will focus on another common task that can be automated with GoFiler. When working on an XBRL file, test filing it with the SEC is very routine. GoFiler can validate it, but there is no substitute for pushing it up to the SEC to see if it will pass or fail a test filing. Right now, to test file an XBRL file, a project must be created, and the XFR file must be exported to an XBRL fileset. Then the files should be attached to the project. Then you need to attach a dummy HTML or TXT file onto the project as a primary document before finally test filing it. This whole process can take 3-4 minutes . While that doesn’t sound like a lot, it can be annoying to have to do it over and over again while working on multiple filings. Using Legato, however, we can streamline this process down to a single button press.
Continue reading "LDC #36: Automated Test Filing XBRL, Part 1" »
Friday, May 19. 2017
LDC #35: Accessing Text Files
There are many occasions when a programmer needs to read or write from a text file (or HTML/XML). While sometimes you may need to complete just a minor task like accessing a file name, other times you may have to hold and edit the file contents. Legato offers a spread of low to high level functions for file access. This article explores various methods of manipulating file data. In subsequent articles, we will explore each in detail.
Continue reading "LDC #35: Accessing Text Files" »Friday, May 12. 2017
LDC #34: XBRL Merger, Part 4
This is the fourth and final blog post in this series. In this last entry, we will be taking everything we’ve written so far and adding to it a couple of new functions to allow us to take two separate XFR files and merge the instance files together into a single file. In the end, we’ve allowed the user to select two files to compare, altered the currencies as necessary, merged the files, and exported the instance files into a single document.
Continue reading "LDC #34: XBRL Merger, Part 4" »
Friday, May 05. 2017
LDC #33: XBRL Merger, Part 3
Last week we added to our XBRL Merger script, giving it the ability to export files and compare the exported files to see if they were able to be merged. This week, we’ll take it another step further by adding in the ability to read the XBRL instance files into data structures, add some debug information, and add a progress bar to the run function. This week introduces the concept of debug print messages. Often when writing a script, you will encounter an issue where you’re not sure what the actual value of a variable is. Depending on the integrated development environment (IDE) being used to write the code, you can sometimes step through the code with breakpoints and inspect the values for each variable. While we’re going to be adding that feature to GoFiler’s Legato IDE, for now we find it helpful to insert various functions that print variables to a console. By adding a special function to do this, you can make showing/hiding debug information very easy. See the section on the debug_message function’s code below for more.
Continue reading "LDC #33: XBRL Merger, Part 3" »
Friday, April 28. 2017
LDC #32: XBRL Merger, Part 2
This week, we will be continuing to write our XBRL Merger script. The previous post covered how to prompt the user for a pair of files, checked to make sure those files were valid XFR files that we could actually access, and finally made sure that they weren’t the same files. This week we’re taking it a step further by opening the files (or switching to them if they are already open), exporting them to new directories, and comparing the contents of these directories. This script is intended to merge two very similar files, where the only difference is a couple of facts being tagged with a different unit, so the exported file sets need to very closely match.
Continue reading "LDC #32: XBRL Merger, Part 2" »
Friday, April 21. 2017
LDC #31: XBRL Merger, Part 1
Legato is great at supplementing features that GoFiler already has and hooking into existing functions and modifying how they work slightly. Probably its most powerful ability, however, is to add entirely new functionality to GoFiler. One feature GoFiler doesn’t have natively is the ability to have multiple currency types for a single fact in XBRL. Well, we can add support for that using Legato! The new functionality will be achieved by combining two different XFR files.
Continue reading "LDC #31: XBRL Merger, Part 1" »
Friday, April 14. 2017
LDC #30: Downloading and using CIK and Owners Library files from a website
Legato is capable of integrating into a huge variety of systems and interfaces. There are a variety of ways to do this, but one of the easiest to implement in Legato is through HTTP POST and GET functions. These functions send a message to a specified web page, which the web page can then handle in some way, and respond. In this week’s blog post, we are going to look at a way that we can hook Legato to download from a web site a CIK library and a Reporting Owners library. I’ve uploaded an example handler page, which can be found here:
Continue reading "LDC #30: Downloading and using CIK and Owners..." »Friday, April 07. 2017
LDC #29: Collaboration Tools and Legato
GoFiler features a number of collaboration tools for use in streamlining a filer or agent’s workflow. These include notifications, control functions, and account control. One of the more commonly used and powerful of these features is task tracking. Task tracking allows you to assign particular tasks to individual users and monitor their progress on those tasks. It also allows users to view the status of the tasks assigned to them and to other people. This is extremely helpful when dividing a complex project amongst different workers.
Continue reading "LDC #29: Collaboration Tools and Legato" »Friday, March 31. 2017
LDC #28: Chrome Alignment Issue with SEC Filings
10-11-2017 Update: As of Chrome 61, it appears this issue has been resolved. Chrome displays these pages correctly now.
Last week, the Novaworks support team was alerted to a very interesting bug when viewing certain filings on the EDGAR website. In documents that are sufficiently large, a TABLE tag that uses left align or right align or a DIV tag that uses float left or float right can cause the document to display out of order in Google Chrome. Normally, Chrome has no problem displaying these files. However, when the document is filed to the SEC, EDGAR injects some non-HTML tags at the top of it. At the top of every document, the SEC injects tags like these:
Continue reading "LDC #28: Chrome Alignment Issue with SEC Filings" »
Friday, March 24. 2017
LDC #27: Automatically Changing the EDGAR Preferences Part 2
Welcome back! This is part two of a series of blog posts involving a script to automatically change EDGAR preferences. You do not need to read the first blog post to understand most of the concepts of this post but it is recommended.
Continue reading "LDC #27: Automatically Changing the EDGAR..." »Friday, March 17. 2017
LDC #26: Automatically Changing the EDGAR Preferences Part 1
This blog is the first part of a two part series. This first part will discuss how to change the EDGAR Preferences in Legato and show an example script to change the Filing Agent credentials automatically when a project is opened. The second part will show how to secure the script to prevent users from accessing any private information needed by the script. Be advised that the script in this first part is usable as-is, but the second part adds crucial security to prevent users from reading the agent credentials.
Continue reading "LDC #26: Automatically Changing the EDGAR..." »Quicksearch
Categories
Calendar
December '24 | ||||||
---|---|---|---|---|---|---|
Mo | Tu | We | Th | Fr | Sa | Su |
Monday, December 23. 2024 | ||||||
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 |