EDMO brings together researchers on a digital collaborative platform where they can find services and resources that support collaboration, such as communication channels and options to share ideas and data. Hereby, the platform facilitates cooperation on various research questions related to digital disinformation within and across research institutions.
The EDMO research platform is based on Truly Media, a collaboration platform that aims to help researchers, journalists, and fact-checkers to better deal with the increased volume and complexity of online disinformation. Researchers that are interested in joining the research community and in gaining access to the platform must fulfill the Admission Criteria, and fill out the Application Form.
The Truly Media platform offers the following capabilities:
- A digital collaborative environment where members of the same or different organizations can connect, communicate, and work together on joint research projects;
- Tools to discover and collect data from various online sources (web, social media, online platforms) and to organize, sort, archive, and export the collected data in CSV format;
- A service to monitor, aggregate, and analyze social media and other digital data around specific topics, with the use of analytical tools like entity extraction, sentiment analysis, topic clustering, and community detection;
- Access to European data repositories.
The platform is modular, allowing linking and API-based integration with tools/modules and services developed by third parties, according to the technical specifications stated below.
What functionalities can you use on Truly Media as a researcher?
Advanced Content Search & Filtering
- Users can search and explore data from different platforms. They can easily create and send queries to multiple platforms like Google, Twitter, Facebook, YouTube, and LinkedIn. To make the search easier, they are also able to use a set of advanced search filters, as well as easy-to-use Google search operators.
- Users can access content from several fact-checking sources globally based on search terms.
- Access to Crowdtangle data, as well as content from official EU sources, is provided.
- Access to a searchable repository of fact-checks coming from the EDMO Hubs.
- Translation support (through Google Translation and CEF’s eTranslation service) is offered to make dealing with foreign language content easier.
Content Organisation, Curation & Archiving
- Truly Media supports common workspaces, called ‘Collections’, where researchers can define working teams and share relevant content with each other.
- The content of Collections is shared and visible to all team members, while changes in a Collection are visible in real-time.
- Users can add content in a Collection from inside the platform or upload locally stored media files or paste links from social media posts or websites to add interesting content inside their Collections. All this extra content is automatically available for further investigation.
- Users can also add notes and tags to a specific item to categorize and further organise the content inside a Collection. It is also possible to search for specific items within a Collection by applying filters.
- Since everything is organised and saved inside the platform, users can make sure that their work and findings are archived. Through a “global search” feature, users can search through saved content, while content inside a Collection can be exported to CSV for archiving or further analysis purposes.
- Users can work collaboratively to conduct research, share, and analyse content in real-time, by using a common workspace and a set of communication channels, like email notifications, group chats, and direct messages.
- Collaboration is an important part of the research process since users not only need to collaborate with each other but also to find and connect with other stakeholders to share their expertise or explore further collaborations. The platform allows users to share their Collections with other users of the platform or find and connect with other organisations that use the platform to work together.
Truly Media is a web application built in Angular backed by a Java Spring boot backend. The backend is exposing a RESTful HTTP API over SSL which is consumed by the frontend on a stateless manner. The authentication is performed initially over Twitter’s OAuth2.0 mechanism. The real-time collaboration features are powered by a socket server built in socket.io/node.js. For asynchronous (heavy processing) tasks, the application follows a Service Worker pattern.
The storage layer consists of various repositories for different purposes each: A replica set NoSQL MongoDB is responsible for metadata object (JSON) storage, An Amazon S3 Bucket for binary file storage (e.g. photos/videos), Apache Solr Server for full-text indexing and retrieval and a RabbitMQ message broker for event messaging.
Most of Truly Media’s elements reside on the cloud. The back-end is running as a single process on Heroku/AWS. Several instances of this process can run on multiple Heroku Dynos exposing the same HTTP interface. The load balancing of the various instances is automatically controlled by Heroku itself, therefore the platform can offer high elasticity in terms of scalability. MongoDB is hosted on MongoLab as a replica set with automatic failover, scheduled backups and high scalability. The frontend is served by Amazon S3 and Amazon Cloudfront CDN. The Single Page Application nature of Angular lets the frontend run exclusively on the client’s browser, therefore not consuming resources of any server. The RabbitMQ message broker is provided as a service by CloudAMQP. Finally, the binary/object storage is provided as a service by Amazon S3.
Technical Specifications for Integration
A prerequisite for a service in order to be integrated with Truly Media is to expose an HTTP API, more preferably following REST conventions.
Truly Media can consume the API and visualise the data provided on own User Interface. The communication with the REST interface has to be made over SSL/HTTPS and there must be an authentication mechanism (e.g. JWT).
In case a service is not providing an HTTP API, Truly Media can also request access on a dataset (e.g. Database) in order to crawl and fetch data and then feed it into the Truly Media repository. A similar approach can be followed with feeds (like RSS), which can be periodically accessed by Truly Media with scheduled tasks running offline. Finally, in case external applications or services need to integrate the Truly Media database or Truly Media’s backend services, everything is exposed as HTTP RESTful API, so it can be consumed, under the condition that the client side authenticates identity with a JWT token.