Okay. Thank you very much.
Yeah. Hi everyone. I'm really happy to be here.
I'm Pedro Freira.
I'm a software engineer at CERN.
I'll be talking to you about Indico together with Dom.
He's going to do the second half of presentation.
First of all, it's a pleasure to be here.
It's our first time at FOSDEM and it's really nice to see such interest.
Thank you.
So, yeah. As the title of the talk says,
we'll be talking about Indico.
It's an event management system as you may have realized by now.
Well, all of the things that are being presented here today,
collaborative effort and open source project and the MIT license,
it's developed at CERN mainly with
contributions from the United Nations and the Max Planck Institute for Physics.
It counts with contributions from more than 70 developers
over the last more or less 20 years.
So, Indico is probably the most popular event management system you have never heard about.
There's something like 300 servers around the world most belonging to educational,
research, scientific institutions serving more than 350,000 users.
So, it's a tool that you,
yeah, as I said, it started out in the research world.
Since, as you know, CERN is a research laboratory,
but then kind of spread out to different environments and there are,
yeah, a few examples of organizations from different domains that are already using it.
So, a little bit of history starting in 1999,
the physicists working at the Large Hadron Collider,
which back then still didn't exist.
They were still sort of projecting it, building it.
They needed some sort of application which they could use to manage their meetings.
So, what would normally happen is that you'd have a meeting,
you'd exchange a few emails with their slides and so on,
and then this would get kind of lost at some point because it'd be kind of spread around
a few mailbox of different people and disks and so on.
So, they wanted to have an application which they could use as
like a focal point for this sort of event and as kind of an archival platform as well.
So, this was the first attempt that it was a CDS agenda back then.
Then in 2002, the opportunity came up with a European project which was focused on
having a conferencing platform.
So, they kind of put the two ideas together and then that's when Indica was born.
It went into production in 2004.
In 2007, we've added a room booking system to it.
Then in 2008, a full interface overhaul.
Then 2013, first workshop, word of mouth starts spreading and in 2015,
the United Nations adopted it and we started a really nice fruitful collaboration which goes on to this day.
2017, we did a full rewrite of the application.
We were working on an aging software stack.
We changed even database system, moved to Postgres.
So, that was 2017 and 2021, then we moved to Python 3 within the code 3.0.
2023, last year we surpassed 1 million events only at CERN and 2024.
So, this year we celebrate our 20th anniversary.
So, you may have heard about CERN, the big tunnel which we have underground, the LHC.
You probably heard about the detectors and all the things that go,
you know, that happen 100 and so meters underground.
But a less known facet of the organization,
well, maybe not for you because you're all tech people,
is that the World Wide Web was invented by Tim Berners-Lee at the organization back then,
in the late 80s, early 90s.
And CERN is actually producing a lot of open source,
also using it but really producing a net contributor to society when it comes to open source production.
So, open science is really at the core of our mission.
And we have a series of software products which, you know, to this day,
I use around the world and which are developed mostly in the organization
and then with collaboration of several labs.
So, that's Invinio, Zenodo, there's also Roo, White Rabbit, a few other things.
There's also the CERN Open Hardware License which,
which, yeah, goes on to show how the laboratory was a bit of a pioneer in this whole open hardware movement.
And like last year, we also set up our own open source program office.
And yeah, as I said, we're also using a lot of open source software.
Many of these projects are represented today here in the stands.
So, yeah, thanks everyone also for your help.
A little bit of publicity, there are three other talks from CERN in this conference.
So, if you're interested in, you know, storage or research management with InvinioRDM,
you guys are invited to pop by.
So, yeah, coming back to CERN, we have around 17,000 people on campus at any time,
around 230 meeting rooms, organizing more than 100,000 events a year between meetings, lectures, conferences, all sort of stuff.
And many of these meetings are highly distributed.
So, yeah, when you come up with Indico, the objective was actually to solve this problem.
How do we get, you know, super big collaborations of thousands of physicists to work together in a distributed environment?
And, you know, how do we conciliate that with the organizations also, physical presence?
So, this is, yeah, this is a science gateway.
It's a pretty recent addition to the laboratory.
It's a super fancy project by the same architect who was responsible for the George Pompidou Center in Paris.
But, yeah, just a disclaimer, we don't work in this building.
We obviously work in the Brutalist buildings back there, where is the IT department.
So, but, yeah, it's, you should really visit it.
It's a really nice place.
So, at CERN, Indico became quite popular very quickly.
We've been growing year after year.
This is the number of new events per year.
So, we still kind of accelerating.
And these are just examples of a few events, a few meetings, conferences that we currently hosting at CERN's Indico server.
There are basically two types of events.
There's the conferences, which are a sort of, you know, the more traditional workflow where you have a call for abstracts, paper reviewing.
You have workflows which allow people then to interact, do the, you know, the reviewing of papers, refereeing and so on.
And then there's the meetings, which are more, a bit of a simplified view in which you can upload, you know, your slides and share it with other people.
And you have a common shared schedule.
And now, I'll switch over to Dom.
All right.
People call me Dominic or Dom.
I don't really care.
So, this is Room Booking.
It's a module which is part of Indico.
As you can see by this nice screenshot, you've got the leaflet-based map on the right, which shows you rooms.
On the left, you've got a timeline of, you know, the rooms which have been booked.
Very, very, very simple stuff.
But it's not just that.
So, we're going to go into the technical aspects of Indico.
So, at its core, it's a very, very general purpose.
So, just because we use it at CERN to handle our conferences and meetings and also everything else, is very, very, it's not set in stone with, you know, what you can use it for.
It's, you can use it for almost anything, pretty much, while in that realm anyway.
You can also go through plugins as well.
And also, you can customize it with, you know, standard CSS or what have you.
So, under the hood, yes, it is a Python application, specifically a Flask-based.
So, that handles our back-end.
For the database, Postgres SQL, I believe they have a booth here.
Then we have other stuff as well, such as a Celery, which is handling our tasks as well.
And SQL Alchemy, which is essentially the ORM for Postgres.
Again, that is a Python-based.
And also, that's for the UI, well, the front-end, we could say.
And a semantic UI, which is just the styling of this.
And we've got a lot more services on top.
Okay, so, as I said, plugins, extensions, so yes, Indico has them.
You might be interested.
So, yeah, these are just a couple of our plugins.
I'll get into a lot more.
But yeah, video conferencing payments, conversions to PDF, search via Alasah search,
storage and URL shortening and, you know, a lot more stuff, which we can,
which Indico handles under the hoods for CERN.
So, for example, we've got a nice one-click Zoom join plugin here, as you can see there.
Payments, so yes, CERN does handle payments for the conferences.
Apologies.
So, CERN does handle payments for the conferences via its own plugin.
So, you can see there, we can handle payments via the post-finance plugin,
but also for people running their own instances.
There is a third-party integration out there for collecting payments via Stripe.
And a PayPal also.
Workflows.
So, when you come to CERN, you probably might go to a conference.
So, we have our own internal workflow for handling your access and other stuff as well.
That relates to it.
And also, yeah, this is a bit more into the access.
So, yes, Indico can also handle printing of your badges and also actually your access
onto the site.
Recording of events.
Again, this goes back into a little bit of Zoom, but also Indico handles the entire life cycle.
Conference and events.
So, yeah, so here's just a quick screenshot so you can record an event.
And on our side at CERN, the event will go to our CDS archive.
So, it can be played back on the maintenance, you know, and that is the archive for our events.
Okay, so you probably saw a little bit about room booking.
This is our internal spinoff called a bureau tail.
So, room booking, as it says on the tin, it's for rooms, bureau tail, bureau, it's for desks.
So, at CERN, we do provide a modified version of Indico, which only has this specific module,
which has been modified, and that is via a plugin.
Again, going back to what I said earlier, you can also customize it.
So, here is my screenshot of the International Linear Collider Indico instance, which is hosted at CERN.
And, yeah, so nice and feel.
And it's not just, you know, the front page.
You can also customize your meetings with the same CSS rules.
And also one more of the conference for Higgs 2020.
Now, one last thing.
We have a nice checking application.
So, previously this was a React native application,
but I think around last year we rewrote it from scratch to act as a, well, to be a PWA, a progressive web application.
So, basically it's like in any other conference, you might have someone at a door scanning your badges, scanning your tickets, what have you.
So, just an application where you can use your smartphone.
And then, yeah, it gives you the all the functionality that you would expect from a badge scanner, so a QR code reader.
And also lets you bring up details of who's attending.
You can check them in.
And also, you know, other bits and pieces on top.
Okay.
One last thing, I guess.
So, it's a very accessible event management system.
It's open source and we have a pretty nice and thriving community.
So, it's a screenshot of our forums.
You know where everyone is welcome.
And, yeah, so, I guess you have any questions.
I'll be sure to follow us as a shout out, I guess.
But, yeah, that's all.
Thank you.
I was wondering if you also had some kind of back end for budgeting.
Like, when I organize a conference, I want to make sure that all the money that we receive from the thing then pays out for the Dora sun and things that I'm going to spend for the conference.
So, should we repeat the question, right?
Yeah, so the question is whether we have some sort of back end for budgeting to kind of budget different aspects of the conference.
And the answer is no.
I mean, you have customizable registration form where you can kind of assign prices to items.
I don't know if that's what you need.
Then, yeah, in terms of them doing, you know, financial data analysis and so on, then we don't have anything like that.
But, yeah, but you can extract everything basically to Excel and do that stuff on a spreadsheet or, yeah.
Okay.
The question, I think there is some space for integration with the Giante de Nuit or GCNit or Viglovap for conferencing.
And is there a way to manage Wi-Fi every password distribution for participants?
You...
The tokens discount for social events in the night.
Repeat the question.
Can you repeat the question?
Yeah.
Yeah, yeah, you have to repeat the question.
Well, yeah, so the question is if there is some sort of way to distribute Wi-Fi passwords to participants.
That's it?
Yeah.
Wi-Fi passwords or tokens for social events?
Not built-in, but you could probably implement it through a plugin, right?
That could be...
I mean, this will function as it would be plugin-based.
So, yeah, you probably would have to write something yourself or probably hire someone to write it.
Sorry?
Made it not for tokens and not for Wi-Fi passwords.
You have to do plugins.
Yeah, no, there's nothing built-in for that, no.
Yes.
Is there...
Is there a time of the attendance registered for participants?
So, the question is whether the time of attendance per participant is registered.
Well, not the attendance because I think we don't have any mechanism.
Actually, if we have people say, you know, I'm attending Nali's talk and so on.
But we have the checking time, yeah, that the app that Dom presented before, that one, yeah,
if you check a person in, the time is registered and you have like a log of who checked in at the event.
But that's more for kind of the reception part of the event, like to give maybe the...
There is more to check out or only check in?
Only check in, yeah.
So, it's like Hotel California, if you want to...
Yes.
Are there plans to have like a progressive web app for participants or partners, not for the organizers,
for example, to schedule what is happening with these...
So, the question is whether there are plans for a PWA which targets the participant's side of the event,
not so much the organization like here.
The answer is yes.
We are planning on getting started still this year.
There are some funding issues to be addressed, as you guys probably know very well, is often the case.
But yeah, it's on the plan for this year.
Yes.
What priority has accessibility in the UI as you showed?
It's a very good question.
So, in terms of accessibility in the UI, currently in the code...
It is currently going through a phase where we have in collaboration with the UN.
There's basically a...
We have...
The UN has hired a developer to contribute back to Indico, some improvements to the accessibility.
And that's about it.
So, it is a thing which is, you know, it's a work in progress at the moment.
And there are some features out there already, which are going to be released soon,
or they're already available in mind of releases.
It's already...
Many of those have already been merged into our main branch and will be included in the next release.
But yeah, there's a lot of work which is currently being done in making sure that we pass the WCAG.
Yeah.
Yes.
What's about developer documentation?
Is it well-documented so people can easily access and contribute to the project?
Or it's kind of more...
So, regarding a question on the developer documentation and how someone can contribute to it,
yes, there is documentation out there.
So, on...
Change of slides.
Yeah.
So, if you go to getindico.io, we do have a couple of pages on how you can contribute back to the project.
And also, we've got a pretty good ReadMe and some ReadTheDocs pages on how to contribute back.
And it also covers stuff like how to set up your own developer instance and everything from, you know,
how to probably write a half-decent comet when you...
Or a PR.
So, yeah.
There's also some API documentation, Sphinx documentation based on the code documentation.
And it's not as complete as we'd like, but yeah, it's a work in progress.
Any other questions?
No one?
No.
Well, thank you very much.
Thank you.