I wanted to share something I just figured out. I'm using JEvents to integrate two calendars- one local, and one remote (a Google calendar). I wanted a way to automatically refresh the iCal feed from Google, so that whenever someone opened up the events page on my Joomla site it was totally synced with the Google Calendar, without me having to go click on the "refresh" link in the backend all the time.
Now JEvents gives you a URL so that you can trigger an anonymous refresh with something called a "cron job," but because I don't have direct access to my server, and don't know how to use Linux even if I did, that wasn't much use to me.
So what I needed was a way to automatically trigger the auto refresh URL on a regular basis. I dug around and tried a few options- PHP and SSI includes and the like- but nothing worked. So I created a workaround with a module.
Here's the step-by-step:
1) Right click on the "anon refresh" URL for your calendar in the JEvents control panel (under "Manage Calendars") and copy the link location
2) Go to "Extensions- Module Manager" in the Joomla Backend
3) Create a new module, and select "Wrapper" as the type (a wrapper is basically an iFrame you use to load an external page)
4) In the module edit page, give it a title you'll be able to remember, and select these options:
- show title: no
- enabled: yes
- position: pick a position that is enabled on your home page (I used the footer)
- menu assignment (THIS IS IMPORTANT!): click "Select menu items from the list", and select just your home page under "main menu."
**If you select "ALL," this module will show up on the page that contains your JEvents calendar, and that will create an endless loop. That's because the auto refresh URL loads your default JEvents calendar after it's done it's work, so if your calendar page itself is also loading the URL it will just keep going in circles and reloading ad infinitum. So I just used my home page because it's guaranteed to get hit every time someone comes to my site.
-under the parameters, paste the URL you copied into "URL"
-scroll bars: no
-auto height: no (These last three options make the wrapper module totally invisible)
So what you end up with is an invisible module on your home page that automatically refreshes your remote calendar every time someone goes to your site.