Generating reports and logging data is a common but necessary task for all project managers. When dealing with eDiscovery, the task can quickly grow out of hand. Populations, progress, errors, deadlines, billing and all sorts of other information must be easily accessible to those managing the matter. Without the right data, you can’t work efficiently.
Often, managers will resort to using a complicated series of spreadsheets. This works well for simple needs, but soon one discovers that different audiences require varying levels of detail. Data collected in one place needs to be interpreted somewhere else. Repeatedly entering the same information in different places (with varying degrees of accuracy and update frequency) often ends up with poor data quality. At best, it’s a pain point. At worst, people give up on monitoring a complex project.
I coped with these issues first by automating some of my more basic spreadsheets. Using VBA, it was possible to reduce some duplicative data entry and make things a bit easier. But, requests for new features continued to grow.
That’s when I started looking toward a more comprehensive solution. While my workplace has an in-house development team to support many of our needs, I found myself wanting specific things to meet my workflow or a one-off need. I soon found myself creating web-based Django applications.
Django is a web framework for Python that has a simple, yet powerful administrative interface baked in. After defining a data model (similar to outlining the fields you want on a spreadsheet), one can quickly activate the admin backend and get to work adding and working with data, even before the public views and templates are finished.
Django allows projects to consist of small, task-focused apps. Start your first one by converting an existing spreadsheet into a web app. For example, I started with our running list of reviewers and augmented my existing data with historical information from past projects, new contact details and even grabbed photos from LinkedIn and other sources. From there, it was easy to start a separate app to monitor daily project metrics. Once you have the data accessible in a central database, the possibilities become endless.
Similar frameworks exist for other languages – I’ve long been a fan of CodeIgniter with PHP, for example, but the Python / Django combination is easy to learn and quickly use. Few come with anything matching the power of Django’s built-in admin.
Python itself is a huge help for eDiscovery. Often, work with loadfiles or other data exports requires string manipulation or other simple database tasks. Python can easily work with these export formats and correct issues or provide an interactive interface for analysis. Once you’ve mastered the basics of the language, a weekend spent with the Django tutorial makes moving to web-based apps easy.
If you’re looking to learn to use these tools, I highly recommend the following progression:
- Learn Python the Hard Way
- Getting Started with Django
- Two Scoops of Django
- Django Book
- Bootstrap Hero Resources
From there, you’ll naturally find your way to other resources like Stack Overflow, all of which provide a community of helpful people willing to offer assistance with your questions.
Programming is an almost essential skill for those working in eDiscovery. The time invested in learning to effectively use a language like Python will pay huge dividends.