Note: You are currently viewing documentation for Moodle 2.3. Up-to-date documentation for the latest stable version is available here: Using Calendar.
- 1 Adding an event
- 2 Calendar export
- 3 Importing Moodle calendar into other calendars
- 4 Importing multiple events
- 5 List format
- 6 Navigating months
- 7 Display current day events
- 8 See also
Adding an event
To add a calendar event:
- Click month on Calendar to get an expanded month view
- In Calendar view click the New Event button
- On a New Event page select the type of event
- A User Event will only be visible by the user currently logged in (i.e. the one creating the event)
- A Group Event will be visible to a particular Group on the course (chosen from a drop-down list)
- A Course Event will be visible to participants on the course in question. Only users with the capability to manage calendar entries at the course level can add course events.
- A Site Event is a "global" event - visible in every course and on the calendar on the home page. Only users with the capability to manage calendar entries at the system level can add site events.
- Set the event properties
- Click Save changes
The different types of events can be visually filtered.
For example, if you (as a teacher) wanted to hide Group event dates (events assigned to learner Groups you create), click "Group events" on the bottom of the Calendar. This would hide all group events, and the color code would disappear from the link on the calendar. To show the events again, click the Group Events link again. This can make the calendar easier to read (especially if there are many events on the calendar).
- Adding closing dates to course activities — assignments, quizzes etc. will cause them to show up in the calendar block as course events.
- View previous or future months.
- Current date is outlined.
Moodle allows users to export calendars so they may be imported into other calendar programs, as a backup or to create a copy. The Moodle export process creates an ics file
There are two ways to create the ics file: creating an ics file for immediate downloading to a computer, or creating a url link that will create a defined calendar from a link without actually logging into the site.
At the bottom of a calendar page you will see the "Export calendar" and "iCal" links.
Click on the "iCal" link at the bottom of the Moodle calendar to show a "Opening icalexport.ics" popup window. Here you can save the file to your local computer or open it with MS Outlook.
- Note: you cannot select individual items to include in the exported file with iCal, all events will be included.
Export options for an ics file
Click on the "Export calendar" button at the bottom of a calendar will bring you to the Export page with options.
- Select "All events" or "Events related to courses"
- Select the time frame: "This week", "This month", "Recent and next 60 days".
Now you have a choice to create an icalexport.ics file or to create a url that will create the icslexport.ics file via a link.
Click on the "Export" button will bring up a "Opening icalexport.ics" popup window. Either save the file or have MS Outlook open the file directly.
After pressing the "Export calendar" button at the bottom of the calendar page, select the events and time frames you wish. The "Get URL address" button will create a URL address. Copy and paste the url link into an email or any HTML page. This link will compile the icalexport.ics file. For example:
Importing Moodle calendar into other calendars
- Enter into calendar mode by clicking the Calendar icon at the bottom-right of the client
- Click Calendar -> Import... then locate the exported iCal file
Note: changing an event in Thunderbird/Lightning will not change the event in a Moodle calendar as well, you must do that yourself.
Subscribing to a calendar in Outlook 2007
If you use an Outlook 2007 calendar, you can have your Moodle calendar events overlaid on top (or placed side by side) by following these steps:
- Go to the calendar view in your Moodle install and find the orange ical icon at the bottom and right click it, choosing "copy link location". This link will permanently subscribe to the calendar events for the currently logged in user.
- Open Outlook 2007 and go to Tools->account settings->internet calendars->new.
- Paste in the address you copied from Moodle.
- Click OK and close.
- You should now see another calendar available on the left hand calendar bar, underneath 'My Calendars'. Enable this and Outlook will update the calendar every time it opens.
- Right-click on the tabs to choose between 'side by side mode' and 'overlay mode'.
In Moodle create an export file (icalexport.ics, as detailed above) and save it on your computer.
In Google Calendar, use the settings link (usually near the sign out and help links) and select the settings tab. This will bring up the "Import Calendar" pop up window. Select the file to import and the Google Calendar the file should be imported into.
Importing multiple events
Currently there is no way to import data to create multiple events. All events must be individually entered through the New Event button. Because the New Event data entry screen only allows drop down selection rather than typed entries, it is very difficult to design a macro for quick repeated input of New Events.
The only other option is to directly connect to the central moodle [SQL] database and directly enter data into the events table. Great care needs to be taken with this approach as alterations to the data structure may cause your moodle site to crash! To convert MS Excel dates to moodle Unix dates use: Unix date integer =((Excel date integer)-25569)*86400
The calendar displays event lists one day at a time. There is no capacity to display a list of all site or course events over an extended period. To obtain date lists for publications, the only option is to link directly to the SQL database, select by the "courseid" and perform calculations to convert the UNIX "timestart" to a publishable date format:
Using a Microsoft Access query, collect data from the mdl_event table and create 2 calculated fields:
- calcdate: DateValue("1/1/1970")+[timestart]/60/60/24+10/24
- daysavdate: IIf([calcdate] Between #2/04/2006# And #29/10/2006#,[calcdate],[calcdate]+1/24)
Then, use additional calculated fields to separate the date, day of week and time (if needing to be formatted separately:
- Dte: Format([daysavdate],"mmm dd")
- DayName: Format([daysavdate],"ddd")
- Tme: Format([daysavdate],"hh:nn am/pm")
- TIP: The dates for daylight saving need to be changed each year to match your location.
- TIP: Very brief summary process for creating connection to moodle database in Windows environment: Install MySQL ODBC Driver 3.51 / Start settings control panel / admin tools/ Data Sources/ ODBC / add new service/ select MySQL ODBC driver/ follow prompts for User & password/ open access/ get external data/ point to MySQL ODBC connection
There is no easy way to jump to a specific month in the year other than to directly edit the URL variable for month "m=" : calendar/view.php?view=month&cal_d=1&cal_m=02&cal_y=2006