News from the Indico World
It’s with great joy that we announce the public release of Indico 3.0. You can consult a summary of the main changes here.
Python 3 🐍
This major release starts the new Python-3 era of Indico.
Due to the massive changes that come with this, make sure to read the 2.x to 3.0 upgrade guide if you plan to upgrade an existing instance.
As usual, but especially for a major upgrade like this, please make sure to read and understand the setup guide first and have a backup.
Version 2.3 will only receive updates for critical bugs and security issues from now on. Updating to 3.0 is highly recommended.
It’s with great pleasure that we announce Indico 3.0. It is a very important milestone in the history of the Project. Two ground-breaking developments happened during these last months, one of them very visible, while the other one not directly noticeable but nonetheless of vital importance. But lets get to it!
The full change log can be found here.
A brand-new Search
For many years, Indico used, at CERN, a proprietary solution based on Sharepoint Search. This was very useful in the past, as it allowed us to save resources and focus on other parts of the product. It had, however, the inconvenience of not providing an out-of-the-box solution to other Indico users around the world. Those had to find their own solutions or just conform to using Indico without a proper “search” option.
But that will no longer be the case. Thanks to a collective community effort spearheaded by CERN but which also included colleagues from Fermilab and BNL, we managed to produce a new reusable search module for Indico, backed by Elasticsearch. The backend of this module is based on Citadel, an Invenio-based microservice which is made possible by our colleagues in IT-CDA-WF and IT-CDA-DR. Many thanks to them for this cross-section collaboration which will greatly benefit the community as a whole!
The main advantages of this new search interface, from the user’s point of view, are:
- New Indico-native interface - an interface which is integrated with Indico in a tighter way (as opposed to the previous one, which was “embedded” into the tool);
- New text-based search options - you can search by based on a specific field, by prefixing your keyword with
field:. For instance, to look for all events named “Indico developers review meeting”, you would write
title:"Indico developers review meeting";
- You can now search within Notes/Minutes - this is a long-awaited feature which is now made possible by this new search engine.
Smaller Indico instances that may not need such a powerful search engine and prefer the simplicity of not deploying a separate microservice will also benefit from a basic integrated search.
User avatars in more places
Back in Indico 2.3 we first allowed you to set your own profile photo/gravatar/identicon. We are now extending its usage to more parts of the application:
- Lists of participants in Meetings;
- Reviewing timelines;
- Event logs;
- User menu in newer interfaces.
In the past categories were restricted to contain either events or subcategories. This is no longer the case; any category may now contain a mix of both events and subcategories. To ease the transition for category managers, the update restricts event creation in all categories that have subcategories, so by default only category managers will be able to create events in those categories.
The old API key system is now considered obsolete and will be gradually replaced by a more standard “bearer tokens”. Users can now have more than one authentication token, normally one per app. Furthermore, the scope of tokens can be limited to specific parts of the app. This limits the consequences of a token being exposed and means that in the worst case scenario you will only have to regenerate a single token and won’t need to change the configuration of any other applications using the Indico API.
Detailed documentation on how to authenticate using this new scheme can be found here.
The legacy API key authentication system is not only less secure, it will be eventually discontinued. Please make sure that you migrate your applications to Bearer tokens.
If you are running Indico with local accounts, you will be happy to know that it now checks user passwords against the Have I Been Pwned API. Firstly, whenever your users try to use a password which has been compromised, Indico will refuse to take it.
Then, if a password currently being used by a user is compromised, they will be asked to change it next time they log in.
Quality of Life improvements
Send reminders to event speakers
Feature kindly contributed by @Naveenaidu
You can now also mail event speakers automatically.
Better signaling of timetable in “draft mode”
Many users found the “Draft” switch above the list of contributions a little too discrete.
More structured information on papers under review
It is now much easier to understand the current state of a paper.
Information about outdated versions (Administrators)
Indico will now display system notices which inform administrators about important things such as security problems or outdated Python/Postgres versions.
CLI to create event series (Administrators)
indico event create-series CLI now allows Indico administrators to easily associate events into series. A full-fledged UI accessible to managers is foreseen for the future.
Other nice things
- We now allow adding groups/roles as “authorized abstract submitters”;
- Paper peer reviewing and Editing data can now be exported to JSON;
- Contribution duration fields now use a widget similar to the time picker that makes selecting durations easier;
- iCal/ICS files can now be automatically attached to registration confirmation and event reminder emails;
- Lots of fixes in iCal support - ICS files now include contact data, event logo URL and, when exporting sessions/contributions, the UID of the corresponding event;
- When cloning events, surveys may now be cloned as well;
- There are new meeting themes with numbered entries (
New SAML backend
It is now possible to configure Indico to authenticate with SAML, with no need for Shibboleth or Apache. Detailed documentation can be found here.
- New locale: English (United States :flag-us:)
- New translation: Turkish :flag-tr:
Python 3 🐍
Although this is an important change, it is one which is practically invisible to regular users. Indico is now using Python 3.9, abandoning the deprecated 2.7 version. In order to celebrate this transition, we decided to increase Indico’s major version number to 3.
We hope you will enjoy Indico 3!