Professional, performant and accessible Joomla extensions

Join the club of professionals who care about their web site.

Get Swiss made extensions from a team of Joomla core developers!

We do it with love since 2007.

Show me more ...

Get it free

Our mission is to be a gear of the Joomla Ecosystem and their community. We respect the Open Source ideology. That's why we offer fully functional FREE versions of our products. All of our extensions are GPL licensed to give you freedom to use. No calls home to ensure your privacy.


Become a pro

Digital Peak develops professional and rock solid Joomla extensions. Are you looking for advanced features and top support? Our competitive subscription bundles have clear prices and no hidden fees. We even have a relaxed 30 days money back guarantee, no question asked!



  • Cache Settings

    What is a Cache?

    A cache is a method of storing previously retrieved information for a certain amount of time temporarily. For DPCalendar, when the first user requests a Joomla page with a DPCalendar (or plugin) on it, the data is retrieved from the database or calendar source. This takes time. Time to retrieve and process the information. When a second user requests the same page and the cache is enabled, the information is pulled from the cache (memory) instead of the original source. This is faster and uses less server resources. However, the information will be minutes old. For most users the delay is not noticed. If you are responsible to update the calendar, you might not see the update for several minutes after you made the change. This may upset some users that want to see their changes immediately. Turning off the cache will show changes more quickly but can slow your site down considerably.

    Joomla has a caching system as does DPCalendar and other extensions, they will be explained more deeply in the next chapters.

    Joomla Cache

    The best cache option for your site is the cache plugin, which caches the whole page. Means that no PHP code is executed at all, will relax your server and deliver the pages faster.

    You may find Joomla's cache settings in the Global Configuration > System tab.


    Off - Caching Disabled
    On - Conservative Caching
    On - Progressive Caching

    No caching
    Some caching
    Most caching

    Cache Handler File
    Alternative PHP Caching
    Data saved as a file on your server
    Data saved as per your PHP settings
    Cache Time 15 (minutes or 900 seconds) Longer times = faster site and less up to date

    For more information see this article from Joomla -

    DPCalendar external events plugin cache

    Every plugin which integrates external events into DPCalendar has options to choose a cache behavior to temporary save the external events on the Joomla site and to increase/decrease the cache time. You can even turn off the cache completely in the plugin settings.

    Joomla cache

    The Joomla cache option caches the events in a file in the cache folder within your Joomla installation. The time settings defines the lifespan of the cached files before the events are refetched from the remote system. This behavior is used since the beginning of DPCalendar and is the most stable option.

    Database cache

    In DPCalendar 5.2 the Database cache option was introduced to have the the full power of database operations on external events. This options is properly tested but has still issues when not used together with a cron job as it fetches all the events for a timespan and updates the database. It's the option to use when you are an experienced server administrator as you need to set up a cron job and adjust probably some PHP settings in an ini file. The following list shows the most important ones:

    • memory_limit
      Set it to a high value like 128M. If you still get memory errors, increase it till they stop.
    • max_execution_time
      Set it to 0 to disable max execution time on CLI tasks.

    It is very much recommended to set up a cron job when database caching is enabled, which syncs the events completely in the background. Like that the visitor will never suffer from events sync during a page load. DPCalendar comes with a script which can be run on the command line and as cron job. It can be found in the folder /administrator/components/com_dpcalendar/cli and has the name eventsync.php.

    The following line can be copied into the crontab file to set up a cron job. Keep in mind that you need to properly set the cron execution time. For example if your cache time is 15 minutes, then you should run the cron job every 14 minutes like that the sync is always done on the command line.

    */14 * * * * /{my-path-php-executable}/php /{{joomla-root}}/administrator/components/com_dpcalendar/cli/eventsync.php

    The database cache works the way that it fetches per default the last three years and the next three years of events. One year at a time and adds the events into the database. These settings can be controlled in the plugin parameters when database caching is enabled. If you have a lot of events, then it is recommended to lower the sync step value. It is done that way as incremental sync is not supported by every plugin and the initial sync will explode your database on large calendars.

    Plugin cache comparison

    The following list shows which plugin does support which cache option.

    Plugin Joomla Cache Database Cache
    DPCalendar - Ical
    DPCalendar - Google
    DPCalendar - JCalPro
    DPCalendar - JEvents
    DPCalendar - RSevents Pro
    DPCalendar - Twitter
    DPCalendar - Jomsocial
    DPCalendar - Facebook
    DPCalendar - CSV
    DPCalendar - CalDAV
    DPCalendar - Meetup
    DPCalendar - Twitter
    DPCalendar - Exchange
    DPCalendar - SQL
    System - DPCalendar

    Location Cache

    When a location for a string is requested, during external event sync, then the location is stored in the database and is available for edit in the DPCalendar back end's Location Manager. If something is wrong with a location it can easily be corrected. If you want to refetch the locations, just delete them and on the next external event sync, they will be recreated.

  • CalDAV plugin


    The CalDAV plugin integrates events from any CalDAV server like iCloud or ownCloud into DPCalendar. The only settings you need are host, username and password and the events will be synced in two way mode. If the user has write permissions the CalDAV plugin allows to manipulate the events directly within DPCalendar. This means all the actions you know like drag'n drop or the nice looking responsive edit form from DPCalendar are available for your CalDAV events as well.

    The host parameter must be an url which directly points to a CalDAV endpoint like Additionally the calendar parameter must be an existing calendar where the user needs to have at least read permission, on our demo site an existing calendar is private-calendar. The easiest way is to import the calendars from yur CalDAV server. To do so click on the import button in the plugin edit form.

    Notes for iCloud integration

    This plugin allows the Front end of DPCalendar to reflect events in an iCloud hosted calendar. It is possible in the front end to modify events. This will be synchronized back to the iCloud calendar. In order for this plug-in to work, you need a public calendar in iCloud & some identification data for your iCloud calendar.

    Sharing the iCloud calendar:
    You will need to make the calendar in iCloud “shared” by clicking the curly brackets to the right of the calendar.
    Note at the same time the iCloud server in the link to the public calendar by clicking “public” . This will bring up a link which will look something like this: webcal:// On the import page of the CalDAV plugin you can define as host and your iCloud username and password.

    If you have enabled two factor authentication on your iCloud account or want to protect your password, your can create an app specific password which is different from your iCloud passord. More information can be found here

    As of June 15. 2017, the app specific password is mandatory!

    CalDAV server urls

    The following list shows host urls to import the calendars from.








    Calendar Options

    These settings are the same for every calendar configured in the plugin.

    Host [Type: Text]
    The host of the CalDAV server. For example represents the DPCalendar access point. If you want to fetch your calendars from icloud then use
    Username [Type: Text]
    The CalDAV username.
    Password [Type: Password]
    The CalDAV password.
    Calendar Url [Type: Text]
    The URL of the calendar (e.g. private-calendar).

    Plugin Options

    Caching [Type: List] [Default: Joomla]
    Select whether to cache the calendar data.
    The following options are available:
    1. Joomla
    2. Database
    3. Never
    Cache Time [Type: Text] [Default: 900]
    The time for the cache in sec.
    Sync Start [Type: Text] [Default: -3 year]
    The relative start date to sync from.
    Sync End [Type: Text] [Default: +3 year]
    The relative end date to sync from.
    Sync Steps [Type: Text] [Default: 1 year]
    The sync steps.
  • Calendar not always Responsive

    When opening the Calender when holding my tablet in portet the calender is disfigured.
    when turning tablet to landscape calender shows normal.



  • Can't update to 3.3 from 3.2


    We have a website still in development located at We've been trying to update to 3.3 but when looking at DPCal via backend it tells us it's fully updated at 3.2.3. We have then tried to install the 3.3.0 and 3.3.1 packs from the website via extension manager, both of which come up with the same error. "An error has occurred. -1 copy file failed"

    Any ideas why it's not displaying the 3.3 version or why we can't upload the new package?

    TIA for your help,


  • Counter Module Output Editing

    Counter Module Output Editing

    The best method for editing the event output is to use template overrides.  Please watch this YouTube video on the steps necessary to create and edit a script:

    The links below are written steps to create a template override:

    Editing the script

    Edit between the {{#event}} and {{/event}} codes in the file.

    The codes used for editing can be found in the event output mustache codes -

    The default code is below.

    <span class="countdown_row">{y<}<span class="countdown_section"><span
    		class="countdown_amount">{yn}</span><br />{yl}</span>{y>}{o<}<span
    	class="countdown_section"><span class="countdown_amount">{on}</span><br />{ol}</span>{o>}{w<}<span
    	class="countdown_section"><span class="countdown_amount">{wn}</span><br />{wl}</span>{w>}{d<}<span
    	class="countdown_section"><span class="countdown_amount">{dn}</span><br />{dl}</span>{d>}{h<}<span
    	class="countdown_section"><span class="countdown_amount">{hn}</span><br />{hl}</span>{h>}{m<}<span
    	class="countdown_section"><span class="countdown_amount">{mn}</span><br />{ml}</span>{m>}{s<}<span
    	class="countdown_section"><span class="countdown_amount">{sn}</span><br />{sl}</span>{s>}
    	<div style="clear: both">
    			<a href="/{{{backLink}}}">{{title}}</a><br />{{{description}}}

    To change the time and date formatting edit these two lines using the formats from

    $tmp->set('event_date_format', $params->get('date_format', 'm.d.Y'));
    $tmp->set('event_time_format', $params->get('time_format', 'g:i a'));


  • Date Format (EU) in new Event Pop up


    Can you please advise how can i change the date format in the POP UP module to add a new event. I would like the date format DD MM YY. I have changed the date formats using the PHP syntax in the Options and even in the menu item. However, the date on the pop up module remained with MM DD YY.


  • Disappointed

    On the advice I have, after finishing CGCalendar, bought the DPCalendar Professional.

    The free version of the CGCalendar worked perfectly but that seems the DPCalendar Professional not to be. I do not want to change templates or change PHP settings. I just want to integrate my Google calendar in DPCalendar. That's all. Waste of money and my question is how I can receive my money back.

  • DPCalendar Missing CSS

    Hi, I can get the calendar looking fine with a default Joomla template (Prostar) but I'm struggling to get it look right with my own template.

    I've cross-referenced the code between the two temapltes and it looks like DPC is missing some CSS as using the Prostar template CSS fixes most of my issues but obviously I don't want to go through that line by line to see with my template and DPC are missing.

    If I disable all my own custom CSS and jQuery its still doesn't work so I can rule that out.

    Any pointers would be great,

    EIDT: The feautes I can see arn't working are the popup (CSS) and the tooltips (CSS)


  • Edit display of iCal download

    I would like to display the link to download the iCal formatted calendar in a more obvious place -- right now, the only way to get to it is to toggle that little blue triangle above the month title in the month-display. Is there a way to display that elsewhere?

  • Edit Event

    Not sure what I m doing wrong; however, once an event is made for calendar, I can not edit the event. Is there a setting I am missing? I have the permissions correct.



Page 1 of 3

Why Digital Peak

Software should work for you – it should be simple, accessible, easy to use and above all, it should do what it says on the tin. But it isn't always the case and unless you have some pretty high level technical knowledge, you are going find it pretty tricky to make it work in the way you want. This is where Digital Peak comes in. The development of products to make your use of software easier and more productive is what we are all about. Well, that, and a lot more besides.

Meet the team ...

Latest Blog Posts

DPCalendr 8.2
DPCalendar 8.2 and DPMedia 1.3 Nov 24 2021

The first feature release of DPCalendar and DPMedia, after Joomla 4 was released, has been shipped today. DPCalendar 8.2 offers a REST endpoint in Joomla 4, neatly integrated with the new core...

Joomla frustration
Joomla, we need to talk Sep 02 2021

Since the beginning are 3rd party extensions an important part of the Joomla ecosystem. In recent years there is an attitude of some people who are active in the core development involved, that the...

Joomla 4 celebration
Let's celebrate Joomla 4!! Aug 17 2021

At J and Beyond 2016 we started with Joomla 4 as last attempt after some have failed in the past. Today the stable version is going to be released, let's celebrate it!!

DPCalendr 8.1
DPCalendar 8.1: Excellent event management for Joomla May 26 2021

A half year after the 8.0 major release, this here is the first minor release with some cool new features. The biggest ones are the timeline calendar view and the waiting list option for events....

Automated system tests in Joomla
Time to use system tests Jan 28 2021

As Joomla 4 is on the horizon, extension developers have to make their products available on two different major versions. So testing your extension becomes even more important. Instead of doing it...

DPCalerndar 8 party
DPCalendar 8.0: A new Joomla event management experience Nov 25 2020

We are very excited to release DPCalendar version 8. It is a next big step in our history. We revamped the whole booking process and got rid of many legacy code from the last years. Making a new...

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.