Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsEventsEventsIntegrating Google Calendars into DNNIntegrating Google Calendars into DNN
Previous
 
Next
New Post
3/16/2007 3:22 PM
 

I got tired of waiting for someone to come out with a way to integrate Google Calendars into the Events Module and finally decided that it would be best to just get rid of the events module all together and integrate Google Calendars directly into my portal.  It's very easy and is much quicker and more powerful than the events module.  You should be able to figure it out by viewing source, but if you have questions feel free to ask.

http://cubscoutpack142.org/Calendar/tabid/97/Default.aspx

Enjoy!

Ian

 
New Post
3/16/2007 9:46 PM
 
How would this be implemented for a Corporate environment/intranet were they don't necessarily want others to store their data? 
 
New Post
3/17/2007 7:33 PM
 
Well, of course it couldn't...  I'm not suggesting that the Events module has no purpose.  I'm only suggesting that for non-profits and organizations that need a public calendar and especially those that would like to overlay the calendars of other organizations in the world on top of theirs, then Google Calendar is an excellent choice.
 
New Post
3/18/2007 8:46 AM
 
If you wouldn't mind sharing the code, maybe this could be integrated into the base module for those that prefer this option. 
 
New Post
3/18/2007 10:41 AM
 
My source follows.  To use, you can paste all of this into a single Text/Html module or do as I did and put the iFrame part of it in one Text/Html module and the check boxes and script source into a separate Text/Html module that can be located elsewhere.  To use with your own calendars you must first make sure that all of the calendars you wish to use have been shared to the public.  Then you will want to customize the UI to fit your needs and list the calendars that interest you.  You'll then need to modify the array in the javascript.  The first element of the array lists the name of the checkbox that's associated with a calendar.  The second element lists the identifier for the calendar.  To get the identifier, you will need to go to Google Calendars and go to the settings for each calendar.  In the "Calendar Address" section, click on the "HTML" icon.  A little window appears.  Copy the text in the Url between "src=" and ".calendar.google.com". 

If you're not using checkboxes for your UI, then you'll need to customize the script a little.  I'd love to see other UIs that people come up with for this, so if you implement something different please post a link.

Good luck and have fun!

Ian

<html>
    <body>
        <table>
            <tr>
                <td>
                    <iframe name="calendarFrame"
                            src=""
                            style=" border-width:0 "
                            width="640"
                            frameborder="0"
                            height="650"></iframe>
                </td>
                <td>
                    <u>Councils & Districts</u><br>
                    <input id="chkMTCBSA" type="checkbox" onclick="ChangeCalendar();" checked/>Middle TN Council<br>
                    <input id="chkERDistrict" type="checkbox" onclick="ChangeCalendar();" checked/>Elk River District<br>
                    <br>
                    <u>Tullahoma, TN Units</u><br>
                    <input id="chkTroop158" type="checkbox" onclick="ChangeCalendar();" checked/>Troop 158<br>
                    <input id="chkPack142" type="checkbox" onclick="ChangeCalendar();"/>Pack 142<br>
                    <input id="chkPack142Den1" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #1<br>
                    <input id="chkPack142Den2" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #2<br>
                    <input id="chkPack142Den3" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #3<br>
                    <input id="chkPack142Den4" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #4<br>
                    <input id="chkPack142Den5" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #5<br>
                    <input id="chkPack142Den6" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #6<br>
                    <input id="chkPack142Den7" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #7<br>
                    <input id="chkPack142Den8" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #8<br>
                    <input id="chkPack142Den9" type="checkbox" onclick="ChangeCalendar();"/>Pack 142 - Den #9<br>
                    <br>
                    <u>Miscellaneous</u><br>
                    <input id="chkUSHolidays" type="checkbox" onclick="ChangeCalendar();" checked/>U.S. Holidays<br>
                    <input id="chkTullahomaSchools" type="checkbox" onclick="ChangeCalendar();" checked/>Tullahoma City Schools<br>
                    <input id="chkSolarLunar" type="checkbox" onclick="ChangeCalendar();"/>Solar-Lunar<br>
                </td>
            </tr>
        </table>

    </body>
</html>


<script language="javascript">
var calendar = new Array(   
    ["chkMTCBSA",            "kq4jhef3pd4hf5ke2p9pugoji0%40group"],
    ["chkTroop158",            "q05gp43g2hfc91slenm01kpp70%40group"],
    ["chkERDistrict",        "713gcl3rrf2u1vehl2lbchbq40%40group"],
    ["chkPack142",            "d58p08oovnrua5h2l1u6v3f7io%40group"],
    ["chkPack142Den1",        "blqrbc9rj1l7jtdk02tbos15pc%40group"],
    ["chkPack142Den2",        "8ugq08k7v9q7mc0mo9iiuhtmcs%40group"],
    ["chkPack142Den3",        "0orqfco49kmplu0ks7p0b4k2r8%40group"],
    ["chkPack142Den4",        "8plrih51nogl6i2habbfd3ktvs%40group"],
    ["chkPack142Den5",        "qkoi0oiseftbanlr5ktagp53c4%40group"],
    ["chkPack142Den6",        "te2mphpdfecgogq140cmvn4pu0%40group"],
    ["chkPack142Den7",        "ar0c63gk6i82uf1c59kvunveo0%40group"],
    ["chkPack142Den8",        "n3lcshn3jek3gkssmhns1ocqes%40group"],
    ["chkPack142Den9",        "hu7tqi4u4okcivr9djmltf5rh8%40group"],
    ["chkUSHolidays",        "usa__en%40holiday"],
    ["chkTullahomaSchools",     "uomsgtpmbrdi8cq5fh50n2gmg8%40group"],
    ["chkSolarLunar",        "jvrgcrf0tsjj1bvpucarbal8n8cgr8ic%40import"]
)

function ChangeCalendar() {

    // Build querystring.
    var qstring = "";
    var ndx = 0;
    for( ndx = 0; ndx <= calendar.length - 1; ndx++ ) {
        if( document.getElementById( calendar[ndx][0] ).checked && calendar[ndx][1] != "" )
            qstring += '&src=' + calendar[ndx][1] + '.calendar.google.com';
    }
    if( qstring == "" ) {
       
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsEventsEventsIntegrating Google Calendars into DNNIntegrating Google Calendars into DNN


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out