Software Tools
At present, the DigitalRockArt application is comprised of over 30,000 lines of Python, Javascript, and HTML code. With the exception of the Windows operating system, all of the software tools used to create and run the DigitalRockArt application are "open source".
Here is the list of software tools in use:
- Python - a scripting language.
JavaScript - a scripting language for browsers (Microsoft calls it JScript).
WebWare - a Python based suite of programs for developing web applications. WebKit and MiddleKit are heavily used.
MySQL - a database server.
- Apache - a web server.
- PIL (Python Imaging Library) - Python functions to manipulate images.
MySQLdb - an interface between Python scripts and the MySQL database.
MoinMoin - a Wiki written in Python (modified with custom theme and macros to access database and images)
- HTMLDoc - a tool for creating PDF files from HTML pages.
- WZ Tooltip - a multi-line tooltip used to display popup attribute lists.
- Google Maps - mapping function used to show the area of a site.
SciTE - an editor that runs on Windows and Linux.
- Putty - shell to access a Linux server from Windows.
WebMin - utility to administer a remote Linux server.
- Unison - a mirror utility for backing up files from a Linux server to Windows.
- Filezilla - FTP utility for transferring files to/from the Linux server..
- TortoiseHG - tool for accessing Mercurial repository that maintains a log of changes to source code.
ExamDiff - a utility for comparing two text files and identifying the differences.
- Ubuntu Linux - the operating system used for running the DRA application.
- Windows/7 - the operating system used to develop the DRA application.
- Windows/Me/XP/Vista were used previously.
ReportLab - A PDF generation utility, but primarily used for graphics utility.
- Firefox - browser with several web development extensions used for extensive testing.
- IE8, IE9, Safari for Windows, Chrome, Iron, Opera, Konqueror, and Webkit are also used for testing.
- IE6 and IE7 are no longer used for testing.