Invenio v3 Bootcamp
from
Tuesday, March 19, 2019 (8:30 AM)
to
Thursday, March 21, 2019 (6:00 PM)
Monday, March 18, 2019
Tuesday, March 19, 2019
8:30 AM
Registration
Registration
8:30 AM - 9:00 AM
Room: 513/1-024
9:00 AM
Welcome
-
Jose Benito Gonzalez Lopez
(
CERN
)
Welcome
Jose Benito Gonzalez Lopez
(
CERN
)
9:00 AM - 9:10 AM
Room: 513/1-024
9:10 AM
Participants introductions and expectations
-
Lars Holm Nielsen
(
CERN
)
Participants introductions and expectations
Lars Holm Nielsen
(
CERN
)
9:10 AM - 9:25 AM
Room: 513/1-024
9:25 AM
Introduction to Invenio
-
Lars Holm Nielsen
(
CERN
)
Introduction to Invenio
Lars Holm Nielsen
(
CERN
)
9:25 AM - 9:35 AM
Room: 513/1-024
9:35 AM
Getting started with Invenio
-
Lars Holm Nielsen
(
CERN
)
Getting started with Invenio
Lars Holm Nielsen
(
CERN
)
9:35 AM - 10:30 AM
Room: 513/1-024
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.
10:30 AM
Coffee break
Coffee break
10:30 AM - 10:45 AM
Room: 513/1-024
10:45 AM
Tour of Invenio
-
Alexandros Ioannidis
(
CERN
)
Tour of Invenio
Alexandros Ioannidis
(
CERN
)
10:45 AM - 11:15 AM
Room: 513/1-024
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.
11:15 AM
Infrastructure overview
-
Alexandros Ioannidis
(
CERN
)
Infrastructure overview
Alexandros Ioannidis
(
CERN
)
11:15 AM - 12:00 PM
Room: 513/1-024
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.
12:00 PM
Lunch
Lunch
12:00 PM - 1:30 PM
Room: 513/1-024
1:30 PM
Running Invenio
-
Alexandros Ioannidis
(
CERN
)
Running Invenio
Alexandros Ioannidis
(
CERN
)
1:30 PM - 2:00 PM
Room: 513/1-024
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.
2:00 PM
Customising the look and feel
-
Alexandros Ioannidis
(
CERN
)
Customising the look and feel
Alexandros Ioannidis
(
CERN
)
2:00 PM - 3:00 PM
Room: 513/1-024
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.
3:00 PM
Coffee break
Coffee break
3:00 PM - 3:15 PM
Room: 513/1-024
3:15 PM
Anatomy of a repository
-
Karolina Przerwa
(
CERN
)
Anatomy of a repository
Karolina Przerwa
(
CERN
)
3:15 PM - 4:00 PM
Room: 513/1-024
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.
4:00 PM
Dealing with Python dependencies
-
Karolina Przerwa
(
CERN
)
Dealing with Python dependencies
Karolina Przerwa
(
CERN
)
4:00 PM - 4:45 PM
Room: 513/1-024
This session will provide us with basic information about how to manage python dependencies in development environment.
4:45 PM
Recap
-
Lars Holm Nielsen
(
CERN
)
Recap
Lars Holm Nielsen
(
CERN
)
4:45 PM - 4:55 PM
Room: 513/1-024
4:55 PM
Q&A
Q&A
4:55 PM - 6:00 PM
Room: 513/1-024
Wednesday, March 20, 2019
9:00 AM
Data models: Add a new field
-
Zacharias Zacharodimos
(
National Technical Univ. of Athens (GR)
)
Data models: Add a new field
Zacharias Zacharodimos
(
National Technical Univ. of Athens (GR)
)
9:00 AM - 10:30 AM
Room: 513/1-024
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.
10:30 AM
Coffee break
Coffee break
10:30 AM - 10:45 AM
Room: 513/1-024
10:45 AM
Data models: Build from scratch
-
Diego Rodriguez Rodriguez
(
CERN
)
Zacharias Zacharodimos
(
National Technical Univ. of Athens (GR)
)
Data models: Build from scratch
Diego Rodriguez Rodriguez
(
CERN
)
Zacharias Zacharodimos
(
National Technical Univ. of Athens (GR)
)
10:45 AM - 12:00 PM
Room: 513/1-024
12:00 PM
Lunch
Lunch
12:00 PM - 1:30 PM
Room: 513/1-024
1:30 PM
Build a simple deposit form
-
Nicola Tarocco
(
CERN
)
Build a simple deposit form
Nicola Tarocco
(
CERN
)
1:30 PM - 2:00 PM
Room: 513/1-024
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.
2:00 PM
Data models: Linking records
-
Nicola Tarocco
(
CERN
)
Data models: Linking records
Nicola Tarocco
(
CERN
)
2:00 PM - 3:00 PM
Room: 513/1-024
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](https://json-spec.readthedocs.io/reference.html).
3:00 PM
Coffee break
Coffee break
3:00 PM - 3:15 PM
Room: 513/1-024
3:15 PM
Managing access to records
-
Karolina Przerwa
(
CERN
)
Managing access to records
Karolina Przerwa
(
CERN
)
3:15 PM - 4:45 PM
Room: 513/1-024
The goal of this session is to be able to protect your records individually and your views with permission factories and decorators.
4:45 PM
Recap
-
Lars Holm Nielsen
(
CERN
)
Recap
Lars Holm Nielsen
(
CERN
)
4:45 PM - 4:55 PM
Room: 513/1-024
4:55 PM
Q&A (optional)
Q&A (optional)
4:55 PM - 6:00 PM
Room: 513/1-024
Thursday, March 21, 2019
9:00 AM
Securing your Invenio instance
-
Diego Rodriguez Rodriguez
(
CERN
)
Securing your Invenio instance
Diego Rodriguez Rodriguez
(
CERN
)
9:00 AM - 10:30 AM
Room: 513/1-024
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.
10:30 AM
Coffee break
Coffee break
10:30 AM - 10:45 AM
Room: 513/1-024
10:45 AM
Deployment and monitoring
-
Nicola Tarocco
(
CERN
)
Deployment and monitoring
Nicola Tarocco
(
CERN
)
10:45 AM - 12:00 PM
Room: 513/1-024
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.
12:00 PM
Lunch
Lunch
12:00 PM - 1:30 PM
Room: 513/1-024
1:30 PM
Application architecture
-
Lars Holm Nielsen
(
CERN
)
Application architecture
Lars Holm Nielsen
(
CERN
)
1:30 PM - 2:50 PM
Room: 513/1-024
2:50 PM
Recap
-
Lars Holm Nielsen
(
CERN
)
Recap
Lars Holm Nielsen
(
CERN
)
2:50 PM - 3:00 PM
Room: 513/1-024
3:00 PM
Roadmap and Invenio development @ CERN
-
Lars Holm Nielsen
(
CERN
)
Roadmap and Invenio development @ CERN
Lars Holm Nielsen
(
CERN
)
3:00 PM - 3:10 PM
Room: 513/1-024
3:10 PM
Feedback
-
Lars Holm Nielsen
(
CERN
)
Feedback
Lars Holm Nielsen
(
CERN
)
3:10 PM - 3:30 PM
Room: 513/1-024
3:30 PM
Closing
-
Lars Holm Nielsen
(
CERN
)
Closing
Lars Holm Nielsen
(
CERN
)
3:30 PM - 3:40 PM
Room: 513/1-024
4:00 PM
Q&A
Q&A
4:00 PM - 5:30 PM
Room: 513/1-024