Download
MIDOP is available for free to any institution or individual interested.
The tool is released under:
- Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (BY-NC-SA) International License
- AGPL v3 License.
If you use MIDOP, please, let us know by sending an email with:
- your name and surname;
- your affiliation;
- which geographical area you are covering using MIDOP.
Your email will be very important for us as it will help us keeping trace of the use of MIDOP and it will increase the networking among users.
By installing MIDOP you understand that you will use it at your own risk.
Though we made every effort to make the tool useful and problem free, it is available "as is"
and we will not provide any technical support.
There is no guarantee that it will suit your needs, no guarantee that it will not cause problems
on any system on which it will be used, and no guarantee against consequential damages.
|
MIDOP package, February 2023 release
compressed 829MB, uncompressed 976MB
-
Unzip the folder "MIDOP" into your webserver root folder
(on Windows usually "C:\myWebServerFolder\htdocs\" and on Linux "/var/www/html/")
If you don't have any webserver and would like to try out MIDOP,
you may want to try out the pre-configured webserver below (only for Windows users)
-
turn ON your local webserver (Apache, PHP and MySQL)
-
point your browser to the MIDOP folder served by your webserver (e.g.: http://localhost/MIDOP)
|
Changelog [click for more]
Release February 2023
- fixed compatibility issues with PHP 8.2, but still, there are warnings related to the use of library jpgraph, but you may suppress printing deprecated functions altering php.ini
- fixed a bug in the MySQL manager
- fixed a bug in the realtime editing mode
- fixed a bug preventing MIDOP to publish a site when using a custom http port
Release May 2022 (internal release)
- fixed compatibility issues with PHP 8.x
- update the jpgraph library, added PhpSpreadsheet for compatibility with PHP 8.x
- fixed a bug preventing the generation of the selected geographical area to display th emaximum intensity map
- fixed a bug preventing slavic letters from being correctly selected in the query by place section
- added the new geographical area "slovenia"
Release November 2020 (internal release)
- added an alert when accessing an earthquakes map with no eartquakes plotted, before it would simply lead to php and javascript errors
- added the possibility to customize the fields contained in the excel file of the seismic history
Release April 2020 (internal release)
- added the possibility to export the list of earthquakes to Google Earth (kml)
Release March 2020 (internal release)
- fixed compatibility issues with PHP 7.4+
- fixed a bug occurring in the query by place when the user show all available places and a place is already selected
Release January 2020 (internal release)
- fixed a timeline slider issue preventing it from appearing
- fixed the table headers when using not-Latin based texts (i.e Japanese)
- fixed a bug preventing the popup with infos about MDPs from working correctly
- added the possibility to set the maximimum intensity showed in the seismic history diagram
- added the possibility to export the coordinates of the places listed in the query by place section
Release August 2019 (internal release)
- addded the possibility to switch between different methods for counting characters, usefule while using non Latin-based languages
- addded switches in the query by place section for separating each search method: search engine, alphabetically ordered lists, geographical area, and administrative subdivisions
Release July 2019 (internal release)
- fixed couple of functions to improve PHP 7.x compatibility
Release June 2019 (internal release)
- fixed a major issue preventing the compatibily with PHP 7+, but still, all errors and warnings must be turned off in PHP 7.2+
- fixed placing of the brand logo and the overlapping with the geographical selection info box
- fixed and improved bugs in the query by place section, still there issues to be ironed out (missing custom columns in the place list, switch from Google Maps to Leaflet and OpenStreeMap)
Release January 2019 (internal release)
- added an overall sanity check in the control panel that provides alerts whenever thare is a wrong setting
- added a custom area selection (circular or polygonal) on the map both for earthquakes and places, visually on the map or entering coordinates
- added custom selection of fields to be included in the output spreadsheet file
- added the possibility to add a drop shadow underneath the plotted intensity symbols to improve their readibility on the map
- added the possibility to show the direct URL pointing to the currently selected earthquake or place
- added the possibility to intuitively modify the content of either a catalog or MDP record in realtime mode (use with care!)
- added the possibility to export tables as SQL using the internal MySQL manager (use with care!)
- added the possibility to upload and execute SQL files using the internal MySQL manager (use with care!)
- fixed a bug preventing plotting intensities in the southern hemisphere
- fixed encountered compatibilities issues with PHP 7.x, still to be fixed
Release February 2016 (internal release)
- added a visual selection by area in the earthquake overview map
- added a link to Google Maps, Bing Maps, and OpenStreetMaps from the seismic history page
- excel and PNG files are now embedded into html, greatly reducing the number of generated files
- fixed a bug preventig the access to "query by place" under certain condition when earthquakes are grouped into time-windows
- fixed a bug in the included MySQL manager when assigning a unique key
Release December 2015
- fixed a long lasting bug preventing the plot of symbols in equatorial areas
- fixed a bug in the integrated MySql manager preventing assigning the primary key to a field
- fixed a bug related to popup window information related to place special cases and unconventional intensities
- fixed a bug preventing the use of PHP 7
- fixed a bug preventing loading the site settings in Ubuntu 14.04 (bug in PHP "require" function? it was keeping loading the previous version of the file!)
- added more checks about the PHP configuration
- added more checks about the MySQL connection
- added custom position of the map toolbox
- added custom position and layout of the MDP legend
- added additional symbols for plotting SD (slightly damaged), HF (higly felt), and SF (slightly felt)
- reworked few more icons, now in SVG (higher quality on high resolution displays)
Release January 2015
- reworked the entire php codebase for switching from MySQL API (now deprecated) to MySQLi API
- implemented the earthquake information frame and the MDP list frame as a unique frame, this will greatly reduce the number of output files per earthquake
- implemented the earthquake catalogue header and the earthquake catalogue list as a unique frame, this will greatly reduce the number of output files per earthquake
- major cleanup of the basecode to get rid of most PHP notices
- fixed a bug related to grouping earthquakes based on time-windows
Release August 2014
- reworked the html layout to be compatible with the Apple Retina display (iPad 3+, iPhone 4+, iPod 4+)
- removed fields for coordinates representing large territories, now these can be stored in the normal cordinate fields, the place special case "TE" will be take into account
- improved the QuakeML-macro support
- improved the metadata tags
- legends are now SVG images
Release April 2014 (not public)
- better implementation of the circular or ellipsoid confidence area, representing the uncertainty associated to the estimated epicentre
- better support to the estimated MDP intensity reliability/quality
- updated XML output from QuakeML to v.1 to v.1.2
-
new information supported:
- link to an external web page, associated to an earthquake and/or to a single MDP
- number of death, associated to an earthquake and/or to a single MDP
- number of people injured, associated to an earthquake and/or to a single MDP
- number of reports considered to assess the MDP intensity
Release November 2013
- now MIDOP covers the entire world
- better DEM, B&W flat-shaded (2D), B&W or color hill-shaded (3D), also with bathymetry
- it is now possible to use an identifier for earthquakes and a different one for MDP datasets
- dropped the need of flushing all cached files every time you want to see an updated result
- better support for spreadsheet files (now XLSX)
- possible to set the size of symbols when exporting to Google Earth (kml)
- automatic generation of the maximum intensity map in the "query by place"
- seismic histories can be easily printed
- more control when placing a logo image over maps
- added a field containing useful notes about earthquakes
- added a field containing useful notes about MDPs
- added a symbol for representing tsunami/sea waves (value "W")
- added a minimal MySQL manager in the control panel, it should make MIDOP easier to use (use with care!)
- it is now possible to specify a custom MySQL port
- reworked the layout, labels and helps texts in the control panel, it should be more intuitive
- QuakeML output code generation improved
- more control over unconventional intensity values (e.g. damage, felt)
- better import of data published in a remote MIDOP website
- it is now possible to include earthquakes without MDPs
- more metadata information (rights owner, terms of use, licence, DOI)
- code optimizations to speed-up the final generation process
- it is now possible to store DEMs outside the SVG, making the output file size much smaller
- now internally MIDOP uses two decimals while projecting coordinates to UTM, making the output smaller
- reworked much of the code to better deal with UTF-8 text
- fixed bugs while calculating places seismic histories when using special characters (e.g. russian, greek)
- updated some PHP function to make it more compatible with modern PHP releases
- refreshed the online manual to reflect all changes
Important notes
Only the output website that is generated using MIDOP can be published on a public web page.
MIDOP is made of PHP code meant to work on a local computer and accessed inside a protected environment, typically an intranet.
DO NOT espose the MIDOP control panel to the public because the source code is not written to face potential attacks by malicious people.
Notes on the required webserver configuration for serving MIDOP generated websites [click for more]
MIDOP generates SVG images (.svg) and serve Google Earth files (.kml, .kmz).
Be sure that your webserver is able to serve correctly these file types by adding the following code to your Apache webserver configuration:
<IfModule mime_module>
...
AddType image/svg+xml .svg
AddType image/svg+xml .svgz
AddEncoding x-gzip .svgz
<FilesMatch \.svgz$>
<IfModule mod_gzip.c>
mod_gzip_on No
</IfModule>
</FilesMatch>
AddType application/vnd.google-earth.kml+xml .kml
AddType application/vnd.google-earth.kmz .kmz
...
</ifModule>
Please, have a look at the webserver configuration requirements in the manual.
Notes for macOS users [click for more]
MIDOP works within a webserver running on your computer.
As macOS is in fact a fully fledged Unix system, it might be tricky for beginners.
The configuration steps described below are therefore tedious, so please, be patient and follow exactly each step.
- download the SQL dump below (link "SQL dump of the MySQL database").
Extract the .sql file from the zip file and remember its folder position
- download the latest XAMPP package for OSX from https://www.apachefriends.org/download.html.
Be sure to download a distribution for macOS.
- mount the downloaded XAMPP .dmg file
- execute the XAMPP installer and wait until it is finished
- place the folder with the MIDOP package above into the folder "Applications/XAMPP/htdocs"
-
change the user permissions of three MIDOP folders, repeat the steps below for the folders
"MIDOP/data", "MIDOP/PUBLISHED_SITES", and "MIDOP/settings":
- right click on the folder and select "Get Info"
- expand "Sharing and Permissions" at the bottom if it already isn't
- click the lock icon at the bottom right to allow you to make changes
- select "Read & Write" for "everyone" and apply this property to all enclosed items (a dedicated button should be present below the list of permissions)
- below the list of permissions you should find a small bottom where you have to select "Apply to enclosed items" and confirm", if you cannot select it, try clicking the lock on the bottom right of the window
- close the info window
- open the XAMPP control panel which is the application called "manager-osx" in "Applications/XAMPP"
-
change the Apache configuration file:
- from the "Manage Servers" tab, select the "Apache Web Server"
- click "Configure"
- click "Open Con File" (click "Yes" and continue at the warning popup)
- using your text editor search the configuration file for the tag "<IfModule mime_module>"
-
right below "<IfModule mime_module>" add the following lines:
AddType image/svg+xml .svg
AddType image/svg+xml .svgz
AddEncoding x-gzip .svgz
<FilesMatch \.svgz$>
<IfModule mod_gzip.c>
mod_gzip_on No
</IfModule>
</FilesMatch>
AddType application/vnd.google-earth.kml+xml .kml
AddType application/vnd.google-earth.kmz .kmz
- in the XAMPP control panel, click the "Manage Servers" tab, stop both the Apache Web Server and the MySQL Database Server and wait until the light icon become red
- start both the Apache Web Server and the MySQL Database Server and wait until the light icon become green
-
create a "midop" user in MySQL
- click "go to applications" in the "Welcome" tab of the XAMPP "manager-osx" or point your browser to "http://localhost/xampp"
- click "phpMyAdmin" under "Tools" on the left in the XAMPP welcome web page
- click "Users" or "User accounts" (the label may vary) in the menu bar at the top of "phpMyAdmin" (which is an open source MySQL front-end)
- click "Add user" or "Add user account" (the label may vary) below the list of already exiting users
-
enter:
- enter "midop" as the user name
- enter "%" as the host name
- enter "midop" as the user password (or another password of your choice, and remember it!)
- confirm the entered password under "re-type"
- leave the default settings for the Authentication plugin
- click "Check All" under "Global privileges" (or choose what to enable, but only if you know what you are doing)
- click "Go" to create the user. Once clicked a message "You have created a new user" should appear.
-
create a "midop" database
- click "Databases" at the top menu of phpMyAdmin
- enter "midop" as a database name
- select "utf8mb4_general_ci" (or alternatively "utf8_general_ci") from the "Collation" drop-down list
- click "Create". A confirmation message should appear saying "Database midop has been created" and "midop" should appear in the list of databases on the left of the page. If the midop database is not listed try refreshing the list clicking the green icon at the top to force the list to refresh its content
-
import the SQL data with the ready-made example dataset
- click "Import" at the top menu of the phpMyAdmin page (be sure that the midop database is selected)
- click "Browse your computer" to load the file with the file extension ".sql" that you have downloaded at the beginning
- be sure that the selected character set specified for the file is "utf-8" and that the format is "SQL"
- click "Go" or "Import" (the label may vary) to start uploading the example dataset
- At the end a green message saying "Import has been successfully finished" should appear
- you may now access the MIDOP control panel, open a web browser and open the URL "http://localhost/MIDOP"
If an error stating that MIDOP is unable to connect to MySQL it means that the MySQL hostname "localhost" is not recognized.
If you encounter this problem, you have to manually change the parameter "$set_db_access_mysql_hostname" in the file
"/Applications/XAMPP/htdocs/midop/settings/vars_olial006/db_access.php".
Try replacing the existing line
$set_db_access_mysql_hostname = 'localhost';
with
$set_db_access_mysql_hostname = gethostname();
After you saved the file, try again accessing the MIDOP control panel at "http://localhost/MIDOP", now MIDOP should be able to access MySQL.
On macOS, the most probable value for the MySQL endpoint is made of two strings, the first one is the name of your computer on the network, and the second is ".local", for example "name-of-my-computer.local".
Notes for Linux users [click for more]
Before using the MIDOP package on the webserver on your PC, please make sure that the following folders (and their content)
are readable and writeable by the Apache user (e.g. in Ubuntu such user is called "www-data"):
- MIDOP/data/
- MIDOP/settings/
- MIDOP/PUBLISHED_SITES/
Additional details on how to install MIDOP are available in the manual.
Additional resources
Example dataset, based on the work by Olivera et al., 2006
Pre-configured web server for Windows (zipped 189MB, unzipped 680MB), with Apache + PHP + MySQL
- Unzip the folder "xampp" to "C:\xampp\"
- Place the MIDOP folder (extracted from the MIDOP package above) into "C:\xampp\htdocs"
-
Execute "C:\xampp\setup_xampp.bat"
If an error appears complaining that VCRUNTIME140.dll was not found,
download ad install the Visual C++ Redistributable executable from the Microsoft website
- Execute "xampp-control.exe"
-
Start the Apache server
If a Window Security Alert popup appears, allow Apache HTTP server to communicate with both Private and Public networks
-
Start the MySQL server
If a Window Security Alert popup appears, allow https server to communicate with both Private and Public networks
- Open your browser and go to http://localhost/MIDOP
-
If the page http://localhost/MIDOP does not work, you may due to Skype, the telecommunications application that interfere with the webserver.
In fact, Skype should be turned OFF when you switch ON thr webserver as both the webserver and Skype use the http port 443.
If you use Skype, simply follow this procedure:
- Turn OFF Skype
- Switch OFF both Apache and MySQL servers
- Switch ON both Apache and MySQL servers
- Wait until the Apache server is up and running
- Check if http://localhost responds correctly in your web browser
- Turn ON Skype
In this pre-configured web server, the predefined MySQL user is 'midop' and the password is 'midop'.
Acknowledgment:
the pre-configured web server is a custom webserver based on the
XAMPP portable 8.1.12
with Apache 2.4.54, MySQL/MariaDB 10.4.27, PHP 8.1.12, phpMyAdmin 5.2.0, XAMPP Control Panel 3.2.4