This page describes Cronos 📅 – the ultimate calendar to discover your Wikimedia events in your wiki.
We started working on Cronos in the hope to collect all the experiences lived by lot of already existing "wiki calendars" scattered around the world but that never took off for some reasons. Sometime, for some critical design issues.
Here some Cronos features and goals:
- We tried to design something not stucking on a single data-source. For example, being able to merge the (known so) French Events calendar together with the Wikimedia Phabricator's Calendar and so on if you plan to do this, or having a Calendar on English Wikipedia talking with the calendar on Meta-Wiki and vice-versa. If the user wants to create an Event somewhere it should be allowed to do so and everything could be available in Cronos.
- → Actually Cronos provides access to the contents in the French Events calendar.
- → Federation with other wikis is just waiting for community consensus.
- → Federation with the Phabricator:Calendar is planned
- MediaWiki and Wikimedians friendly
- We tried to build Cronos over well-known and already-available MediaWiki features accessible to as many Wikimedians as possible.
- → We have not invested in another MediaWiki extension. Did you know in this moment we have 5+ MediaWiki calendar extensions.. never deployed nowhere?
- → and we have not continued one of these extensions. This because an extension needs constant code review and it usually involves slow "deployment trains" slowing down development and adoption. Moreover it's usually a play for a small group of developers, not something in the hands of the community. The risk of abandonment is too high.
- → We didn't invested in a MediaWiki gadget because they must be edited by a sysop or an interface admin. Again we decided that would be a game for few people and not something accessible to the community.
- → We invested in Lua (mw:Extension:Scribunto). This is a sandboxed technology in the hands of the whole community. We decided it's better something "somehow weird" but accessible to everyone than something "more mainstream / more powerful" but accessible to very few authorized guys. With Lua we designed a Calendar that, if you want, can be also improved by an anonymous users without security implications. Something that will be never be obtainable with a gadget or an extension.
- Cronos was designed to abstract many data formats and receives data from multiple sources and export everything in an unified object, provided by some simple Lua APIs interesting for developers who want to create more eye-catching calendars tomorrow.
- → HTTP read/write APIs are planned to help machines in contributing in Cronos
- We are Wikimedians and we are here to stay, but many calendars are designed to do not keep track of events as long as possible.
- → We designed Cronos to store an Event also forever, to check it again for historical purposes.
- → We designed Cronos to do not need an archiving process even lasting 100 years and having 100 Events a day.
- → Archiviation just works using standard technologies like categories (e.g. Category:Cronos events by year). Again something well-known and in the hands of the community.
- → A Cronos Event is designed to keep a permalink. When you save it on your wiki, that is already in the final place (e.g. Meta:Cronos/Events/2020-11-27)
- Some Calendars are not designed to scale in time.
- → We designed Cronos to store data in the wiki itself but in decentralized places.
- → We designed Cronos without the risk of becoming bigger and bigger and slower over time.
- → We achieved these goals avoiding an on-wiki monolithic database (like a JSON page).
Some People involved in the WMCH Cronos Tech Boosts:
You may expect some improvements in one of the Wikimedia CH Tech Boosts. Well, let's use WMCH Cronos itself to display them:
WMCH Tech Boost 09:00
WMCH Tech Boost 09:00