1. Introduction to the Conductor Blog
This is Conductor’s blog, where we’ll keep you updated on what’s happening and what’s coming up. The focus right now is technical but if you’re curious about how to build a massive web application that solves some of the most ornate and intricate legal information management problems, stay tuned.
Each week we’ll bring you updates on what’s new, what coming up next, and other interesting tidbits!
Something Interesting — Development Statistics
Since this is the first blog post, let’s get up to speed on some of the mind-blowing statistics behind the service.
The notion of Conductor was formed before 2008, with with an ever-graduating list of hypotheticals determining the viability of the project on a go-forward basis. We’ll leave the hypotheticals to later but for now here are some Conductor factoids:
- We’ve written over two million lines of code, of which currently less than 15% is in use.
- Conductor uses multiple software languages, such as:
- Python for our back-end service
- Javascript (ES3 & ES6) for the front-end
- Coffeescript for our thousands of front-end tests
- TeX / LaTeX / XeLaTeX / LuaTeX / ConTeXt for producing documents as PDFs
- Lua for some of the document production logic
- Jinja for server-side HTML templates
- Dust.js for string interpolation of Snippets
- Bash scripts for various utilities
- Makefiles for service tasks
- Dockerfiles for containerization
- YAML for service configuration
- Golang for cryptographic services
- “knockout-secure-binding”, a Javascript-like language we created so that Knockout.js can be used when browsers have a Content Security Policy that enables the unsafe-eval protection
- After every commit to the source code repository, we run thousands of automated tests
- Our GitHub repository tracks over 11,500 change-commits
One might justifiably wonder what has led to such a complex production, and there are two fundamental reasons:
- We’ve been infrastructure-first in our design, making sure that what we’ve built is scalable, secure, reusable, as-complex-as-needed-but-not-more, tested, robust; and
- Both law and software are complex information management systems, and blending them together in a useful way is time consuming, cerebral, and fraught with edge cases.
That gives one an inkling of the scale and complexity of Conductor.
This Week
This is what we’ve:
- Created our open source community of precedents at github.com/conductor-law/community
- Revamped our search to use full-text searching across-the-board
- Added notes, reminders, tags, and following to every corporation, client, matter, and document
- Added “Quick Menu” that at-the-moment allows easily adding:
- A new corporation
- Annual minutes
- Rewritten our “reminders” system, which involved going from App Engine’s datastore/ndb to its full text search, and back again. It was a Hobbit’s tale, filled with trolls in the form of design limitations, scalability, and performance issues in between. This absorbed most of our resources.
- Rewritten our tags to use App Engine’s full text search
- Discussed the e-filing mechanism with Corporations Canada
- Updated some of our tools e.g. moving to webpack version 4
- Revamped the portal part when opening the application using the incredible CSS-grid
- Fixed our bug-collector for checking validation
Next Week
Here’s our pin-board, a short-list of the 353 open issues (of 1096 in total, 707 closed):
Items on the board move from top-left to bottom-right, where they then make it onto a desk (alongside a dozen other active sticky-notes).
- Deploying the landing page www.conductor.law and app.conductor.law, where users will be able to choose their jurisdiction, eventually from any of Google Cloud’s zones
- Setting up the Canadian hosted version of Conductor
- Setting up the virtual machine containers (i.e. with Docker) to make it easier to integrate with some of the third parties for electronic filing, importing, exporting, and others.
Featured Feature: 60 Second Minutes
Annual Minutes
Use Conductor’s Quick Menu to add a corporation or start annual minutes as soon as Conductor loads.
Let’s look at adding annual minutes for a sample corporation. Clicking Annual Minutes ******we see this popup:
We can search for any corporation in Conductor, select it, and fill out the essentials of the minutes:
Once that’s all done, we can click Create and Review to open up the document for review, including adding dividends, management bonuses, and a resolution to rectify delinquent minutes. You can then print as well as add and review documents to the package of minutes.
This video shows minute creation in action:
More on that in a future Featured Feature.