In this session, we will first make sure everybody got connectivity and have the training material.
Afterwards, we will scaffold, install and run your first Invenio instance.
In this session, we will explore Invenio from a user's perspective. We will see the different parts of the user interface, we will explore the REST API and we will create, submit and search for records.
In this session, we will explore the underlying infrastructure of an Invenio repository. We will see the database, search engine, cache, message queue, load balancer, web server, application server, application background workers. We will explore tools to interact with the services and we will see monitoring and debugging interfaces like Flower, Kibana and RabbitMQ management interface.
In this session, we will explore basic concepts and commands that are useful for the day-to-day development and running of an Invenio instance.
In this session we will customize minor visual elements of our Invenio instance, like the logo of our instance, the colors and fonts, the way search results for records are displayed and the display page for every record.
In this session we will discuss about the files contained in the repository, how to initialise git for the project, build the documentation. We will learn about the supporting services and how to run them for development.
This session will provide us with basic information about how to manage python dependencies in development environment.
In this session, we will learn how to update our datamodel. We will show you how to update your JSONSchema in order to store a new field in the database and your Elasticsearch mapping so you can search for it. Moreover we will learn how Marshmallow schema can be used by your loaders and serializers to validate/transform your data.
The goal of this session is to learn how we can build a new simple form to be able to deposit new records validating user input. The invenio-deposit
module is not in the scope of this exercise.
The goal of this session is to learn how to take advantage of ElasticSearch to index records in a format that can be more adapted to our needs. We will also learn how we can link records using references, with a technique similar to JSON Reference.
The goal of this session is to be able to protect your records individually and your views with permission factories and decorators.
In this session, we will discover the key points which will ensure that your Invenio instances are secure. We will learn how to protect the web application with configuration, package management and authentication.
In this session we will present how tune deployment configuration of each part of the infrastructure and how to size it to be able to serve a targeted number of requests. We will also explain what to monitor and a few tips on how to take advantage of logging.
The goal of this session is to become familiar with Invenio instance testing.