Drupal Module : Calendar Systems needs your help
If you know what calendar system is and not interested in knowing the interesting history of Calendar Systems module :) you can skip to the point at the end of the page "We need your help"
What's the calendar system ?!
A calendar is a system of organizing days for social, religious, commercial, or administrative purposes. This is done by giving names to periods of time, typically days, weeks, months, and years. A date is the designation of a single, specific day within such a system. A full calendar system has a different calendar date for every day.
Thus the week cycle is by itself not a full calendar system; neither is a system to name the days within a year without a system for identifying the years. There are many different calendar systems including Gregorian, Julian, Hindu, Arabic (Hijri, Lunar), Iranian (Jalali, Persian), and even many more. For further information please read Calendar
Calendar systems module makes it possible to easily support these different calendar systems via a pluggable architecture in Drupal. Currently Iranian, Arabic and Thai calendars are supported. The module is fully integrated with Drupal core, Date, Views and Schedule modules.
Eight years ago when i wanted to build a website for our LUG (TehLUG) as the webmaster, I started looking for a proper CMS software, I did a bit of research and after presenting the result to the community members, Although i doubt anyone knew about Drupal at that time, at least in my country, I decided to use Drupal (Drupal 4, I remember For installing a module i had to manually create its tables on database :) ).
I used Drupal for four reasons and one of them was multilingual support, as a matter of fact, Back then Drupal was among the very few softwares with proper multilingual support. But in many cases when you have a multilingual website you also need localization support which wasn't fully supported in Drupal. One of the important parts of localization which was missing was supporting different calendar systems. Just like all the open source softwares at that time the only supported calendar system was Gregorian.
Fortunately i had a multi-calendar PHP class as part of my propriety framework CML (As you may remember in those times it was quite common for most programmers and companies to develop their own framework!) So i only had to write a Drupal patch to somehow fix the problem for that particular site. And that's what i did.
Not much longer after, I started using Drupal more seriously. I converted my old website into Drupal and offered Drupal as a solution to my clients. Therefore i needed a more maintainable way to add multi-calendar support. So I decided to write a small patch for introducing a new hook and put everything else inside a module. Although the module was limited, that worked quite well. Then i thought, this might be a great opportunity to pay it forward to Drupal's community, and the calendar systems module was born.
The development was very slow at the beginning, the implementation was complex and my time was also very limited. We highlighted the difficulties here to gain people's attention.
Things started to change few years ago when Drupal became more popular, several people started contributing small patches, ideas, proper bug reports, sandbox projects, helping in issue queue, maintaining the module, etc. These contributions motivated me to start working on a super release for Drupal 7, implementing the features users really wanted.
It means if we help module developers in any way we can, in many cases we guarantee continuous development of our favorite module. We don't have to be developer to be able to help! Please read Ways to get involved.
We need your help
Calendar system requires a very tiny core patch to fully work, although applying it is very easy, module reports whether it's applied or not in Drupal status page and it's integrated with Patch Manager module, still it's difficult for non-experienced users to use it, and obviously it has to be reapplied every time Drupal is updated.
Adding something to core has always been a time consuming task even if it's small change (It's a good thing actually that ensures core quality). So i wanted the module to become more popular and have more community support to worth this effort. Now it's popular with 10,000 downloads and at least 600 sites using it so it was time to port the patch to the next major version of Drupal which is Drupal 8.
The patch was already proposed to core by a fellow developer, so i rewrote it to meet core requirements and set it to needs review (Thanks to Gaelan and wuinfo for helping in completing the patch). The good thing is that the patch is not only for Calendar Systems it's a generic patch that introduces a new hook to make it possible for third-party modules to alter format_date function. If we can get it into core it might even be possible to back port it to Drupal 7
There is not that much time left till Drupal 8 release, please join in and help me to make sure it gets into the core :)
Patch’s issue : Allow contributed modules to alter the format_date() function result.
If your calendar system is not supported, writing a plugin for it is easy