Medici is designed to support any data format and multiple research domains and contains three major extension points: preprocessing, processing and previewing. When new data is added to the system, whether it is via the web application, or through the RESTful services, preprocessing is off-loaded to extraction services in charge of extracting appropriate data and metadata. The extraction services attempt to extract information and run preprocessing steps based on the type of the data, for example to create previews. This raw metadata is presented to the user in the Medici web client.