Show public calendar on Outlook Today

L

lesgeve

Hi
We have a very small office and share a public calendar between 3 of
us on Outlook 2007. Is there any way to show the content of this
public calendar on Outlook Today instead of each person's private
calendar.

Or is there a way to show each other persons calendar in one
integrated calendar rather than a sisde by side view?

Thanks
 
D

Diane Poremsky [MVP]

No you can't show the public calendar; since you use Outlook 2007, yes, you
can overlay the calendars. Click on the little arrow on the calendar tab to
overlay.



** Please include your Outlook version, Account type, and Windows Version
when requesting assistance **
 
M

Mike Fowler

Actually, you can show public calendar and tasks in your Outlook Today. Below is the code that I'm using to accomplish this. I have an outlook.htm file saved on a newtork drive and linked as my mailbox homepage in Outlook. We're running Outlook 2003 on SBS Exchange Server 2003.

I have mine setup with a javascript accordian effect that is setup to dynamically open and close two sections in my today page. Up top is Outlook Today that includes public/private calendar events, and public/private tasks. Below that is an iframe that points to a custom google map applet on my company website. :)

The only problem I've had is needing to add outlook:today to the trusted sites list in internet explorer on some computers. Not sure why, but it seems to work.

I'm also attaching a zip that contains my htm, image and script files. Good luck!


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<script type="text/javascript" src="script/jquery-1.2.2.pack.js"></script>
<script type="text/javascript" src="script/ddaccordion.js">
</script>

<style type="text/css">

.today{
cursor: hand;
cursor: pointer;
padding: 2px 5px;
border: 1px solid gray;
background: #D7E8FC;
height: 20px;
color: windowtext;
font-family: Tahoma;
font-size: 9pt;
font-weight: bold;
}

.today1{ /*class added to contents of 1st demo when they are open*/
background: #FBDD49;
}

</style>

<script type="text/javascript">

ddaccordion.init({
headerclass: "today", //Shared CSS class name of headers group
contentclass: "today3", //Shared CSS class name of contents group
collapseprev: true, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [0], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
animatedefault: false, //Should contents open by default be animated into view?
persiststate: true, //persist state of opened contents within browser session?
toggleclass: ["", "today1"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
togglehtml: ["none", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs)
animatespeed: "normal", //speed of animation: "fast", "normal", or "slow"
oninit:function(expandedindices){ //custom code to run when headers have initalized
//do nothing
},
onopenclose:function(header, index, state, isclicked){ //custom code to run whenever a header is opened or closed
//do nothing
}
})

</script>

<style>

a {color:windowtext;}

body {margin-top:0px;margin-right:0px;margin-left:0px;}


.CalendarSubjectLocation {}

.CalendarStartEnd {}

.InboxCount {font-weight:bold;}

.InboxCountZero {font-weight:normal;}

.options {color:white;font-family:Tahoma;font-size:8pt;text-decoration:none;}

.date {margin-bottom:4px;color:white;font-family:Arial;
font-size:11pt;font-weight:bold; }

.itemNormal {font-size:8pt; font-family:Tahoma; text-decoration:none;color:windowtext; }

.times {font-size:7pt; line-height:11pt; font-family:Tahoma; text-decoration:none; cursor:hand; color:#808080;}

.PastTimes {color:#808080; line-height:11pt; font-size:7pt;
text-decoration:none; cursor:hand; }
.SplitDayTimes {color:teal; font-size:7pt; line-height:11pt;
text-decoration:none; cursor:hand; }
.allDayEventTimes {color:teal; line-height:11pt; font-size:7pt;
text-decoration:none; cursor:hand; }
.TskDone {font-size:8pt;color:gray; text-decoration:line-through;}

.itemImportant {color:red}

.dayHeaders {font-family:Tahoma;font-size:8pt;font-weight:bold;
width:100%; height:100%;
border-color:#CCCCCC;
border-width:.1em;
border-bottom-style:solid;
border-top-style:none;
border-right-style:none;
border-left-style:none;
color:windowtext;
cursor:default;

}

.SplitDay {font-size:8pt; font-family:Tahoma; text-decoration:none;color:teal;}

.allDayEvent {font-size:8pt; font-family:Tahoma; text-decoration:none;color:teal;}

.ApptPast {color:#808080; }

.Folder {color:windowtext; font-family:Tahoma;font-size:8pt;text-decoration:none; }

.NextAppt {font-family:Marlett;font-size:10pt;line-height:12pt;font-weight:bold;
text-decoration:none;color:darkred; }

.OnGoing {font-family:Marlett;font-size:10pt;line-height:12pt;font-weight:bold;
text-decoration:none;color:darkred; }

.ImportanceIcon {font-family:Symbol;font-size:11pt;font-weight:bold;
text-decoration:none;color:red; }

TD {font-family:tahoma; font-size:8pt;}

.component { background-color:#D7E8FC; height:16px; color:windowtext;
font-family:Tahoma; font-size:8pt;font-weight:bold;}
.componentLink { text-decoration:none; }
.borderBottom {
border-color:#CCCCCC;
border-width:.1em;
border-bottom-style:solid;
border-top-style:none;
border-right-style:none;
border-left-style:none;
}
.borderRight { BORDER-RIGHT: rgb(192,192,192) 1px solid; color:buttonface;}

.button2 {

position:relative;
height:100%;
text-decoration:none;
color: white;
font-weight: normal;
font-size: 8pt;
font-family:tahoma;
border-width:.1em;
border-style:solid;
border-bottom-color:black;
border-top-color:black;
border-right-color:black;
border-left-color:black;
}
.button2over {
position:relative;
height:100%;
text-decoration:none;
color: white;
font-size: 8pt;
font-family:tahoma;
font-weight: normal;
border-width:.1em;
border-style:solid;
border-bottom-color:gray;
border-top-color:white;
border-right-color:gray;
border-left-color:white;

}
.button2down {
position:relative;
height:100%;
font-family:tahoma;
font-size:8pt;
text-decoration:none;
color: white;
font-weight: normal;
border-width:.1em;
border-style:solid;
border-bottom-color:white;
border-top-color:gray;
border-right-color:white;
border-left-color:gray;

}
</STYLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>infoPortal</title>

<!-- OUTLOOK OBJECTS FOR DATABINDING -->
<!-- Customize the paths to your environment -->

<!-- personal calendar -->
<OBJECT ID="CalList1" CLASSID="CLSID:0468C085-CA5B-11D0-AF08-00609797F0E0">
<PARAM NAME="Module" VALUE="Calendar">
</OBJECT>

<!-- personal tasks -->
<OBJECT ID="TaskList1" CLASSID="CLSID:0468C085-CA5B-11D0-AF08-00609797F0E0">
<PARAM NAME="Module" VALUE="Tasks">
</OBJECT>

<!-- public calendar -->
<OBJECT ID="CalList2" CLASSID="CLSID:0468C085-CA5B-11D0-AF08-00609797F0E0">
<PARAM NAME="Module" VALUE="Calendar">
<PARAM NAME="Path" VALUE="\\Public Folders\All Public Folders\JEI Calendar">
</OBJECT>

<!-- public tasks -->
<OBJECT ID="TaskList2" CLASSID="CLSID:0468C085-CA5B-11D0-AF08-00609797F0E0">
<PARAM NAME="Module" VALUE="Tasks">
<PARAM NAME="Path" VALUE="\\Public Folders\All Public Folders\JEI Tasks">
</OBJECT>

</HEAD>
<BODY>

<table width="100%" border="0" cellspacing="0" cellpadding="0" height="59">
<tr>
<td nowrap width="10" background="images\bg-pad1.jpg" ></td>
<td nowrap width="556"><a title="www.jeicivil.com" href="http://www.jeicivil.com" target="_blank"><img src="images/banner.jpg" alt="" height="59" width="556" border="0"></a></td>
<td nowrap id="date" valign=middle background="images\bg-pad2.jpg"><div id=dateScript class=date></div></td>
</tr>
</table>

<div class="today">Outlook Today</div>
<div class="today3">

<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td colspan=9 width=12px> </td>
</tr>
<tr>

<!-- Perconal Section Begins -->
<!-- personal calendar folder -->
<td valign=top width=47%>
<table cellpadding=2 cellspacing=0 border=0 width=100%>
<tr>
<td><div style='margin-left:2px'> </div></td>
<td id=CellCalHdr1 class=component child=CalendarHeader1
vAlign=bottom width=100% nowrap>
 <a id=CalendarHeader1 href="outlook:\\Calendar" onclick="window.event.cancelBubble=true;" class=componentLink>My Calendar</a>
</td>
</tr>
</table>
<br>
<table id=CalendarLiveTable1 border=0 cellspacing=1 cellpadding=2 valign=top width=100% name="ItemCol" datasrc="#CalList1" style="">
<tr>
<td nowrap valign=top width=10px align=left><div datafld="Next" DATAFORMATAS="html"></DIV></TD>
<td valign=top nowrap><DIV DATAFLD="StartEnd" DATAFORMATAS="html" class=CalendarStartEnd > </DIV></TD>
<td valign=top width=100%><div datafld="SubjectLocation" DATAFORMATAS="html" class=CalendarSubjectLocation> </DIV></TD>
</tr>
</table>

<table id=CalendarStaticTable1 border=0 cellspacing=1 cellpadding=2 valign=top width=100%>
<!-- RENSTATICTABLE~Calendar~Next=nowrap valign=top width=10px align=left~StartEnd=valign=top nowrap ~SubjectLocation=valign=top width=100%~ -->
</table>

<!-- personal tasks folder -->
<br>
<table cellpadding=2 cellspacing=0 border=0 width=100%>
<tr>
<td><div style='margin-left:2px'> </div></td>
<td id=TaskHdrCell1 class=component child=TasksHeader1
vAlign=bottom width=100% nowrap>
 <a id=TasksHeader1 href="outlook:\\Tasks" onclick="window.event.cancelBubble=true;" class=componentLink>My Tasks</a>
</td>
</tr>
</table>
<br>
<table border=0 name="TaskCol" cellspacing=0 id=TasksLiveTable1 datasrc="#TaskList1" width=100% style="">
<tbody>
<tr>
<td><div style='margin-left:2px'> </div></td>
<td width=1px><INPUT TYPE=checkbox DATAFORMATAS="Text" DATAFLD="Complete" height=20px></TD>
<td width=1px><DIV DATAFLD="Importance" DATAFORMATAS="html" class=TaskImportance></DIV></TD>
<td><DIV DATAFLD="Subject" DATAFORMATAS="html" class=TaskSubject></DIV></TD>
</tr>
</tbody>
</table>

<table border=0 id=TasksStaticTable1 cellspacing=0 width=100%>
<!-- RENSTATICTABLE~Tasks~!Complete=width=20px height=22px~Importance=width=1px~Subject=~ -->
</table>
</td>

<td width=12px class=borderRight><img src="images\gap.gif" width=12px border=0></td>
<td width=12px><img src="images\gap.gif" width=12px border=0></td>

<!-- Public Section Begins -->
<!-- public calendar folder -->
<td valign=top width=47%>
<table cellpadding=2 cellspacing=0 width=100%>
<tr>
<td id=CellCalHdr2 class=component child=CalendarHeader2
vAlign=bottom width=100% nowrap>
 <a id=CalendarHeader2 href="outlook:\\Public Folders\All Public Folders\JEI Calendar" onclick="window.event.cancelBubble=true;" class=componentLink>JEI Calendar</a>
</td>
</tr>
</table>
<br>
<table id=CalendarLiveTable2 border=0 cellspacing=1 cellpadding=2 valign=top width=100% name="ItemCol" datasrc="#CalList2" style="">
<tr>
<td nowrap valign=top width=10px align=left><div datafld="Next" DATAFORMATAS="html"></DIV></TD>
<td valign=top nowrap><DIV DATAFLD="StartEnd" DATAFORMATAS="html" class=CalendarStartEnd > </DIV></TD>
<td valign=top width=100%><div datafld="SubjectLocation" DATAFORMATAS="html" class=CalendarSubjectLocation> </DIV></TD>
</tr>
</table>

<table id=CalendarStaticTable2 border=0 cellspacing=1 cellpadding=2 valign=top width=100%>
<!-- RENSTATICTABLE~Calendar~Next=nowrap valign=top width=10px align=left~StartEnd=valign=top nowrap ~SubjectLocation=valign=top width=100%~ -->
</table>

<!-- public tasks folder -->
<br>
<table cellpadding=2 cellspacing=0 width=100%>
<tr>
<td id=TaskHdrCell2 class=component child=TasksHeader2
vAlign=bottom width=100% nowrap>
 <a id=TasksHeader2 href="outlook:\\Public Folders\All Public Folders\JEI Tasks" onclick="window.event.cancelBubble=true;" class=componentLink>JEI Tasks</a>
</td>
</tr>
</table>
<br>
<table border=0 name="TaskCol" cellspacing=0 id=TasksLiveTable2 datasrc="#TaskList2" width=100% style="">
<tbody>
<tr>
<td width=1px><INPUT TYPE=checkbox DATAFORMATAS="Text" DATAFLD="Complete" height=20px></TD>
<td width=1px><DIV DATAFLD="Importance" DATAFORMATAS="html" class=TaskImportance></DIV></TD>
<td><DIV DATAFLD="Subject" DATAFORMATAS="html" class=TaskSubject></DIV></TD>
</tr>
</tbody>
</table>

<table border=0 id=TasksStaticTable3 cellspacing=0 width=100%>
<!-- RENSTATICTABLE~Tasks~!Complete=width=20px height=22px~Importance=width=1px~Subject=~ -->
</table>
</td>

<td width=12px><img src="images\gap.gif" width=12px border=0><img src="images\gap.gif" width=12px border=0></td>
</tr>
</table>
<br>
</div>
<div class="today">Google Map</div>
<div class="today3">
<br><iframe src="http://www.jeicivil.com/earth/map.html" scrolling="no" align="center" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" width="800" height="600" ></iframe>
</div>

<!--
------------------------------------------------------------------------
SCRIPT
------------------------------------------------------------------------
-->

<!-- This script block runs after the window has finished loading
(and after the datasource controls have rendered themselves)
Thus it should be used for frosting that does not effect the
page's core functionality. -->
<script defer for=window event=onload language="JavaScript">

///////////////////////////////////////////////////////////////////////////
// Displays the date in the banner

try
{
document.all.dateScript.innerHTML = window.external.GetDate();
}
catch(err)
{
document.all.date.width = "100%";
}


/////////////////////////////////////////////////////////////////////
//Event Handling Functions

document.onmouseover = rollOn
document.onmouseout = rollOff

function rollOn() {
var e;
var child;

try
{
e = window.event.srcElement;
child = document.all[e.getAttribute("child", false)];
switch ( e.className )
{
case 'options':
{
OptionsCell.className = "button2over";
}
break;

case 'itemNormal':
{
e.style.textDecorationUnderline = true;
}
break;

case 'allDayEvent':
{
e.style.textDecorationUnderline = true;
}
break;
case 'allDayEventTimes':
{
e.style.textDecorationUnderline = true;
}
break;
case 'times':
{
e.style.textDecorationUnderline = true;
}
break;

case 'ApptPast':
{
e.style.textDecorationUnderline = true;
}
break;

case 'PastTimes':
{
e.style.textDecorationUnderline = true;
}
break;

case 'itemImportant':
{
e.style.textDecorationUnderline = true;
}
break;

case 'TskDone':
{
e.style.textDecorationUnderline = true;
}
break;

case 'componentLink':
{
e.style.textDecorationUnderline = true;
}
break;

case 'link':
{
e.style.textDecorationUnderline = true;
}
break;
case 'SplitDay':
{
e.style.textDecorationUnderline = true;
}
break;
case 'SplitDayTimes':
{
e.style.textDecorationUnderline = true;
}
break;
case 'Folder':
{
e.style.textDecorationUnderline = true;
}
break;
}
window.event.cancelBubble = true;
}
catch(err)
{

}
}

function rollOff() {
var e;
var child;

try
{
e = window.event.srcElement;
child = document.all[e.getAttribute("child", false)];

switch ( e.className )
{
case 'options':
{
OptionsCell.className = "button2";
}
break;

case 'itemNormal':
{
e.style.textDecorationUnderline = false;
}
break;

case 'allDayEvent':
{
e.style.textDecorationUnderline = false;
}
break;
case 'allDayEventTimes':
{
e.style.textDecorationUnderline = false;
}
break;
case 'times':
{
e.style.textDecorationUnderline = false;
}
break;

case 'ApptPast':
{
e.style.textDecorationUnderline = false;
}
break;

case 'PastTimes':
{
e.style.textDecorationUnderline = false;
}
break;

case 'itemImportant':
{
e.style.textDecorationUnderline = false;
}
break;

case 'TskDone':
{
e.style.textDecorationUnderline = false;
}
break;
case 'componentLink':
{
e.style.textDecorationUnderline = false;
}
break;

case 'link':
{
e.style.textDecorationUnderline = false;
}
break;
case 'SplitDay':
{
e.style.textDecorationUnderline = false;
}
break;
case 'SplitDayTimes':
{
e.style.textDecorationUnderline = false;
}
break;
case 'Folder':
{
e.style.textDecorationUnderline = false;
}
break;

}

window.event.cancelBubble = true;
}
catch(err)
{
}
}

</script>
</BODY>
</HTML>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top