This “For Developers” section replaces what was the
Developer.chm stand-alone help file before the Summer 2005 release. In this section, you will find detailed information
for developers regarding advanced web part properties and customization of your
CorasWorks installation. This section
also includes information about web part DWP modification, the Web Part
Template Gallery, CorasWorks XML namespaces, and DWP special characters.
Last Modified: DATE
\@ "MMMM yy" October 06
This section explains how to modify the CorasWorks web part
DWP files and explains the different DWP properties that are available for each
of the CorasWorks web parts.
Microsoft® Windows® SharePoint™ Services uses XML documents
with a .dwp extension as a way to import and export web parts so they can be
shared by users. These files capture a snapshot of the property settings for a web
part, and a reference to the assembly and class used to create it.
There are two ways you can modify DWP files:
· You can modify a web part's base DWP
file which resides on the server – To learn about modifying base DWP files, see
the Server DWP Modification topic below
· You can modify an instance of a web
part's DWP file, which resides as a separate file that you import into a WSS
site - To learn more about creating and using individual state web parts, see
the Site DWP Modification topic
NOTE: The Summer
2005 release does not support DWP modification of LCIDXML for roll-up web parts
and navigation web parts. If you want to make localization changes to any of
those web parts, please use the Localization tab on the administration
interface.
When you modify a DWP file that resides on the server, any
new web parts created from that DWP file will inherit the modified properties.
Any web parts that already exist in the WSS Sites will not be updated with the
modified properties. For example, if you have already dragged a web part from a
web part gallery onto a site, that instance of the web part will not reflect
any changes you make to its underlying DWP file. However, any new web parts
that you create by dragging the web parts from a web part gallery onto a site
will reflect the modified properties.
All CorasWorks DWP files are located on the server in the
following directory:
C:\Inetpub\wwwroot\wpcatalog\
Before making modifications to an existing DWP file, it is
recommended that you first make a backup copy of the DWP file in case the file
needs to be restored in the future. Also, you may wish to give the DWP files
that you modify a new, unique name, as this will keep your modified DWP files
from being overwritten if you should reinstall any of the CorasWorks web parts.
Editing a DWP file is easy. Simply open the file in Windows
Notepad, modify the settings, and then save your changes. Since the DWP file is
an XML file, you can optionally edit it with any XML-compatible editor.
Whenever you edit a DWP file, ensure you are using the correct XML namespace
for the web part. The XML namespaces for the CorasWorks web parts are listed in
this help file in the CorasWorks XML Namespaces topic. That topic
includes a listing of all the available DWP properties that you can modify for each
CorasWorks web part.
Below are the contents of a sample DWP file for a Contacts
Roll-Up Advanced web part. To modify the default behavior of this web part,
simply modify the value of the XML node for the property you want to change. If
the property is not listed, you add it to the XML.
<?xml version="1.0"
encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Contact Roll-Up Advanced</Title>
<FrameType>Default</FrameType>
<Description>This Web Part will rollup all
Contact Lists into a Tree-View form. From here users can manage, filter, and
search Contact list items.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>Left</ZoneID>
<PartOrder>3</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>false</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://central.workplace.corasworks.net/support/WebPartHelp/CWSCARST.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has failed to
load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[Contact Roll-Up Adv] and the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/contact.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Contact.RollUp.Adv, Version=51.0.26.1,
Culture=neutral, PublicKeyToken=a66eaee6d3fbdabb</Assembly>
<TypeName>CorasWSC.Contact.RollUp.Adv</TypeName>
<ShowAdmin
xmlns="CorasWSC.Contact.RollUp">false</ShowAdmin>
</WebPart>
Below, we have added a new property to the DWP file called ReturnType
and have set the value to los. Now any new web part that is instantiated
from this DWP file will have the Return Type as Line of Site instead of the original default of Selective. Note the namespace (the
xmlns tag) used must match the correct namespace for the web part being
modified. In this case, it is CorasWSC.Contact.RollUp. For a list of CorasWorks
namespaces, see CorasWorks XML Namespaces.
<?xml version="1.0"
encoding="utf-8"?>
<WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Contact Roll-Up Advanced</Title>
<FrameType>Default</FrameType>
<Description>This Web Part will rollup all
Contact Lists into a Tree-View form. From here users can manage, filter, and
search Contact list items.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>Left</ZoneID>
<PartOrder>3</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>false</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://central.workplace.corasworks.net/support/WebPartHelp/CWSCARST.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has failed to
load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[Contact Roll-Up Adv] and the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/contact.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Contact.RollUp.Adv,
Version=51.0.26.1, Culture=neutral,
PublicKeyToken=a66eaee6d3fbdabb</Assembly>
<TypeName>CorasWSC.Contact.RollUp.Adv</TypeName>
<ReturnType
xmlns="CorasWSC.Contact.RollUp">los</ReturnType>
</WebPart>
When you have completed modifying the DWP file, save it back
to the C:\Inetpub\wwwroot\wpcatalog directory.
NOTE: It may be
necessary to reset ISS before the newly modified web part becomes available in
the web part gallery.
After the shared and personal properties for a web part are
modified using the task pane, you can capture the current state of the web part
as a .dwp file by selecting Export from the web part menu. You can also add
elements to the .dwp file to specify additional property values, overriding the
default property settings implemented in the web part code.
To export a DWP file from a WSS site:
1. Open the site and select Export from the web part menu.
You will be prompted for a location where you want to save the exported web
part.
2. Click the Save button and then save the DWP file to the identified
location.
Editing a DWP file is not difficult. Simply open the file in
Windows Notepad, modify the settings, and then save your changes. Since the DWP
file is an XML file, you can edit it with any XML-compatible editor.
Whenever you edit a DWP file, make sure you are using the
correct XML namespace for the web part. The XML namespaces for the CorasWorks
web parts are listed in this help file under the CorasWorks XML Namespaces topic. That
topic also includes a listing of all the available DWP properties that you can
modify for each CorasWorks web part.
Below are the contents of a sample DWP file for a Contacts
Roll-Up Advanced web part. To modify the default behavior of this web part,
simply modify the value of the XML node for the property you want to change. If
the property is not listed, you can add it to the XML.
<?xml version="1.0"
encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Contact Roll-Up Advanced</Title>
<FrameType>Default</FrameType>
<Description>This Web Part will rollup all
Contact Lists into a Tree-View form. From here users can manage, filter, and
search Contact list items.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>Left</ZoneID>
<PartOrder>3</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>false</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://central.workplace.corasworks.net/support/WebPartHelp/CWSCARST.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has failed to
load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[Contact Roll-Up Adv] and the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/contact.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Contact.RollUp.Adv,
Version=51.0.26.1, Culture=neutral, PublicKeyToken=a66eaee6d3fbdabb</Assembly>
<TypeName>CorasWSC.Contact.RollUp.Adv</TypeName>
<ShowAdmin
xmlns="CorasWSC.Contact.RollUp">false</ShowAdmin>
</WebPart>
Below, we have added a new property to the DWP file called ReturnType
and have set the value to los. Now any new web part that is instantiated
from this DWP file will have the Return Type of Line of Site instead of the default of Selective. Note the namespace (the xmlns tag) used must match
the correct namespace for the web part being modified. In this case, it is CorasWSC.Contact.RollUp.
For a list of CorasWorks namespaces, see CorasWorks XML Namespaces.
<?xml version="1.0"
encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Contact Roll-Up Advanced</Title>
<FrameType>Default</FrameType>
<Description>This Web Part will rollup all
Contact Lists into a Tree-View form. From here users can manage, filter, and
search Contact list items.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>Left</ZoneID>
<PartOrder>3</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>false</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://central.workplace.corasworks.net/support/WebPartHelp/CWSCARST.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has failed to
load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[Contact Roll-Up Adv] and the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/contact.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Contact.RollUp.Adv,
Version=51.0.26.1, Culture=neutral,
PublicKeyToken=a66eaee6d3fbdabb</Assembly>
<TypeName>CorasWSC.Contact.RollUp.Adv</TypeName>
<ReturnType
xmlns="CorasWSC.Contact.RollUp">los</ReturnType>
</WebPart>
When you have finished editing the DWP file, save your
changes and then use the sites Import feature to import the DWP file into a WSS
site. Detailed procedures for doing this are provided below.
In order to use the DWP files you have modified, you must
import them into a WSS site.
NOTE: The
assembly for the web part must be available in the server's Global Assembly
Cache (GAC) for the web part to work.
To upload a DWP file, follow these steps:
1. From either the Modify Shared
Page or Modify My Page menu, select Add Web Parts and then Import.
2. In the web parts tool part
pane, enter the path to the DWP file. Optionally, you can click the Browse
button and navigate to the DWP file.
3. Click the Upload button. The DWP
file will be uploaded and a new web part will now be displayed under the Uploaded
Web Part heading.
The web part can now be used by dragging it from the Uploaded
Web Part area to a web part zone.
You can make modifications directly to a web part's DWP
properties using FrontPage's code view. Note that when you modify DWP
properties using FrontPage, the modifications only apply to the current
instance for the web part. Any new web parts added to the page will not be
affected by your modifications.
Follow these steps to modify the DWP properties using
FrontPage:
1. Open the desired page in
FrontPage 2003. The easiest way to do this is to use Internet Explorer and
navigate to the page and then click the Edit with Office FrontPage
toolbar button, located in the Internet Explorer toolbar.
2. You may be prompted for you
login credentials. If you do not have permission to modify the page, you will
not be able to open it successfully using FrontPage.
3. Once the page loads, click on
top of the web part that you want to modify.
4. Switch to FrontPage's Code
view for the page. You should now see the web part's DWP properties.
5. Follow the instructions listed
under the Edit DWP section (below) and change the web part’s settings.
6. When you are finished
modifying the DWP properties, use FrontPage to save the web page back to the
server.
Whenever you edit a DWP file, make sure you are using the
correct XML namespace for the web part. The XML namespaces for the CorasWorks
web parts are listed in this help file in the CorasWorks XML Namespaces topic.
This topic also includes a listing of all the available DWP properties that you
can modify for each CorasWorks web part.
Below are the contents of a sample web part's DWP properties
for a Contacts Roll-Up Advanced web part. To modify the default behavior of
this web part, simply modify the value of the XML node for the property you
want to change. If the property is not listed, add it to the XML.
<WpNs1:Adv runat="server"
WebPart="true"
__WebPartId="{7BADAD93-769F-4470-BE83-DAD12B65252F}" >
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Contact Roll-Up Advanced</Title>
<FrameType>Default</FrameType>
<Description>This Web Part will rollup all
Contact Lists into a Tree-View form. From here users can manage, filter, and
search Contact list items.</Description>
<IsIncluded>true</IsIncluded>
<PartOrder>3</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>false</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://central.workplace.corasworks.net/support/WebPartHelp/CWSCARST.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has failed to
load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[Contact Roll-Up Adv] and the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/contact.gif</PartImageLarge>
<IsIncludedFilter />
<ExportControlledProperties>false</ExportControlledProperties>
<ConnectionID>00000000-0000-0000-0000-000000000000</ConnectionID>
<ShowAdmin
xmlns="CorasWSC.Contact.RollUp">false</ShowAdmin>
</WebPart>
</WpNs1:Adv>
Below, we have added a new property called ReturnType
and have set the value to los. Note the namespace (the xmlns tag) used
must match the correct namespace for the web part being modified. In this case
it is CorasWSC.Contact.RollUp. For a list of CorasWorks
namespaces, please see CorasWorks XML Namespaces.
<WpNs1:Adv runat="server"
WebPart="true"
__WebPartId="{7BADAD93-769F-4470-BE83-DAD12B65252F}" >
<WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Contact Roll-Up Advanced</Title>
<FrameType>Default</FrameType>
<Description>This Web Part will rollup all
Contact Lists into a Tree-View form. From here users can manage, filter, and
search Contact list items.</Description>
<IsIncluded>true</IsIncluded>
<PartOrder>3</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>false</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://central.workplace.corasworks.net/support/WebPartHelp/CWSCARST.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has failed to
load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[Contact Roll-Up Adv] and the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/contact.gif</PartImageLarge>
<IsIncludedFilter />
<ExportControlledProperties>false</ExportControlledProperties>
<ConnectionID>00000000-0000-0000-0000-000000000000</ConnectionID>
<ShowAdmin
xmlns="CorasWSC.Contact.RollUp">false</ShowAdmin>
<ReturnType
xmlns="CorasWSC.Contact.RollUp">los</ReturnType>
</WebPart>
</WpNs1:Adv>
When modifying web parts, some of the DWP properties may
require the use of a "<", ">", or "&".
You must replace these characters with their encoded equivalents of
"<", ">", and "&" or the
modifications will not work.
Standard Character |
Encoded Equivalent
for DWP |
< |
< |
> |
> |
& |
& |
Whenever you modify
a DWP property for a CorasWorks web part, you need to ensure you are providing
the proper XML Namespace attribute for the DWP property. A typical XML
namespace looks like this:
CorasWSC.Contact.RollUp
When used in
conjunction with the DWP property, it looks like this:
<ShowAdmin
xmlns="CorasWSC.Contact.RollUp">false</ShowAdmin>
Web Part |
XML Namespace |
Action-Enabled
Roll-Up |
CorasWSC.Workplace.Web.UI.WebControls.RollUps |
Action Picker |
CorasWSC.Action |
Actions Wizard |
CorasWSC.Action |
Announcement
Roll-Up Advanced |
CorasWSC.Announcement.RollUp |
Announcement
Spreadsheet Roll-Up Advanced |
CorasWSC.Announcement.SpreadSheet.RollUp |
Calendar Roll-Up
Advanced |
CorasWSC.Calendar.RollUp |
Chart Display
Advanced |
CorasWSC.Chart.Display |
Contact Roll-Up
Advanced |
CorasWSC.Contact.RollUp.Adv |
Contact-Spreadsheet
Roll-Up Advanced |
CorasWSC.Contact.SpreadSheet.RollUp |
Contact Summary |
CorasWSC.Contact |
CorasWorks
Actions Wizard |
CorasWSC.Action |
CorasWorks Client |
CorasWSC.Client |
CorasWorks
Roll-Up Wizard |
CorasWSC.RollUp |
Data Publisher |
CorasWSC.Data |
Document Roll-Up
Advanced |
CorasWSC.Document.RollUp |
Document-Spreadsheet
Roll-Up Advanced |
CorasWSC.Document.SpreadSheet.RollUp |
Event Roll-Up
Advanced |
CorasWSC.Event.RollUp |
Event-Spreadsheet
Roll-Up Advanced |
CorasWSC.Event.SpreadSheet.RollUp |
Event Summary |
CorasWSC.Event |
Link Roll-Up
Advanced |
CorasWSC.Link.RollUp |
Link-Spreadsheet
Roll-Up Advanced |
CorasWSC.Link.SpreadSheet.RollUp |
List Item Emailer |
EmailTestWebPart |
List Item Emailer
Wizard |
CorasWSC.List.Item.Emailer.Wizard |
My Announcement
Roll-Up Advanced |
CorasWSC.My.Announcement.RollUp |
My Contact
Roll-Up Advanced |
CorasWSC.My.Contact.RollUp |
My Document
Roll-Up Advanced |
CorasWSC.My.Document.RollUp |
My Event Roll-Up
Advanced |
CorasWSC.My.Event.RollUp |
My Link Roll-Up
Advanced |
CorasWSC.My.Link.RollUp |
My Task Roll-Up
Advanced |
CorasWSC.My.Task.RollUp |
My Workplace for
Outlook |
BizboxSoftware.Molc |
Special Site
Navigation |
CorasWSC.Special.Site |
SPS WorkPlace
View Advanced |
CorasWSC.SPS.Workplace.View.Adv |
Task Roll-Up
Advanced |
CorasWSC.Task.RollUp |
Task-Spreadsheet
Roll-Up Advanced |
CorasWSC.Task.SpreadSheet.RollUp |
Task Summary |
CorasWSC.Task |
Up To Navigation |
CorasWSC.Up.To |
WorkPlace View
Adv |
CorasWSC.WorkPlace.View |
CorasWSC.Workplace |
|
WSS Search |
CorasWSC.WSS |
Overview XE "Templates"
A web part library is a central warehouse of web parts that
you can use to locate a specific web part when you are creating a web part page.
You can access web part libraries at your site by clicking either Browse or Search from the Add Web
Parts menu on either the Modify
Shared Page menu or the Modify
My Page menu.
Once you locate the web part you want, you typically drag it
to your web part page. Depending on how your site administrator has configured
your site, there can be up to three different web part libraries available:
· Site Library: Web parts
available to a top-level Windows SharePoint Services web site.
· Virtual Server Library: This
library contains web parts available to all sites and sub-sites within a
virtual server.
· Online Library: By default,
the Online Library contains an additional set of web parts available from
Microsoft. However, a site administrator can redirect the online library to a
different site.
This topic discusses how to mange a Site Library. For more
information on managing Virtual Server or Online libraries, please refer to the
Windows SharePoint Services or SharePoint Portal Server online help.
The Site Web Part Gallery is often the most central web part
gallery for your work group. This web part gallery is typically managed by your
server administrator, who decides which web parts are available and safe for
your site. By default, the gallery name is the name of your site. For example,
if your site is called "Boaters and Sailors," then the web part
gallery name is “Boaters and Sailors Gallery.” There is only one Site Web Part
Gallery for each site and any sub-sites under it.
Uploading a New Web Part to the Site Library
You can add a web part to the Site Library even if it has
not been installed in the Virtual Server Library. To do this via the web browser
interface, follow these steps:
1. On a top-level Web site, click
Site Settings.
2. Under Administration, click Go to Site Administration.
3. Under Site Collection
Galleries, click Manage Web Part gallery.
4. On the Web Part Gallery page,
click Upload Web Part.
5. In the Name box, type
the name of the web part (including the full path to the .dwp file), or click Browse
to locate the web part.
6. If you have several web parts
that you want to upload at once, click Upload Multiple Files and select
the web parts to upload.
7. In the Group box,
select a group or type a group name for the web part under Specify your own
value.
8. Click Save and Close.
Adding a Deployed Web Part to the Site Library
To make an existing web part available in the site library,
follow these steps:
NOTE: By “existing web part,” we mean web parts
that have already been deployed in the Virtual Server Library on the server
running Windows SharePoint Services.
1. On a top-level Web site, click
Site Settings.
2. Under Administration, click Go to Site Administration.
3. Under Site Collection
Galleries, click Manage Web Part Gallery.
4. On the Web Part Gallery page,
click New Web Part.
5. Select the check box next to
the web parts that you want to include in the gallery and then click Populate
Gallery.
Removing a Web Part from the Site Library
You can remove a web part from the gallery if you want to
make it unavailable to users. If a user has already used a web part in the site
and you delete the web part from the site gallery, the web part will remain on
the web part page and will still work. However, if an administrator removes the
web part assembly that contains the web part from the server, or marks the
assembly as unsafe in the Web.config file for the server, the web part will no
longer run and the user will see an error message.
To remove a web part, follow these steps:
1. On a top-level web site, click
Site Settings.
2. Under Administration, click Go to Site Administration.
3. Under Site Collection
Galleries, click Manage Web Part Gallery.
4. On the Web Part Gallery
page, next to the web part that you want to remove, click the Edit
icon.
5. On the Web Part Gallery: Web
Part Name page, click Delete.
6. Click OK to delete the web
part.
This topic applies to the following web parts for the Winter 2006 and later releases:
· Action-Enabled
Roll-Ups
· Action
Picker
· Actions
Wizard
· Special
Site Navigation
· Workplace
View Advanced
It also applies to Calendar Roll-Ups in the Summer 2006 and later releases.
In the past, there was an issue with Microsoft Front Page and the
way it identified web part zones. This issue was resolved in Service Pack 2
(SP2). Prior to the release of SP2 for FrontPage, when new web part zones were
created, they were assigned invalid web part zone IDs. So if you created any
web part zones or solutions before installing SP2, the zones are invalid.
An invalid web part zone ID contains one or more of the following:
· Dashes
· Spaces
· Curly
brackets { }
· Starts
with something other than a letter
For example, this is an invalid web part zone ID:
· {0A057BAD-C63A-4829-A3E7-D6CA53CC990C}
These are valid web part zone IDs:
· Main
· Left
· g_735C804069194273BC6C537A9C658109
The impact on today’s CorasWorks web parts is minimal, but there are
effects:
· When
an administrator drags one of the web parts listed above into an invalid web
part zone, they will get an error message. The message will notify them that
the web part zone ID is invalid and to use FrontPage with SP2 or greater to
change the web part zone ID. It will also direct them to this help site.
· If
you place an action-enabled roll-up in an invalid web part zone and then add a
Delete-type action to the roll-up, your users will not receive a confirmation
message before the selected item(s) are deleted. The item(s) will still be
deleted, however.
· If
you have one of the web parts listed above in an existing site and you upgrade
to the current release, the web part will revert to the previous version; it
will not automatically update to the latest version and any new capabilities
will not be available.
By installing Service Pack 2, you ensure that all current and future
CorasWorks web parts and SharePoint upgrades will work as expected. This site
explains what was fixed in SP2: http://support.microsoft.com/kb/906341/.
If you aren’t sure whether or not you have SP2, open FrontPage and go
to Help/About Microsoft FrontPage. At
the top of the window, you will see a release number that should be followed by
“SP2.” If you do not have SP2 installed, you can select Help/Check for Updates
and follow the instructions.
Once you are sure you have Service Pack 2, CorasWorks recommends that
you remove the web part zone with the invalid ID and replace it with a new one.
These steps explain how to do this.
1. Open the site in FrontPage.
2. Add a new web part zone. Start by selecting View/Task Pane.
3. Access the Web Parts task pane. If you see the
Getting Started task pane or another pane, select the select the down arrow to
the right of Getting Started to open a drop-down menu. Then select Web Parts from the bottom of the list.
4. Click your mouse wherever you want the new web
part zone to be created and then select the New Web Part Zone button at the bottom of the Web Parts task pane.
5. Drag the web part(s) out of the zone with the
invalid ID and into the new zone you just created.
6. Delete the old web part zone by selecting it
and pressing the Delete key.
7. Save your work and close FrontPage.
CorasWorks roll-ups support customization through the
addition of JavaScripting to the DWP and combination with other web parts. Roll-ups that have been enhanced in this
manner are called “custom displays.” The
following topics provide detailed procedures for a number of custom displays
utilized in CorasWorks solutions and the CorasWorks showroom. You can create an
unlimited number of custom displays by making your own modifications utilizing
supported features, or by referencing the examples presented here. With custom displays, you can total numeric
fields, change how columns are displayed, color code them, and more.
These examples are provided for your reference to see the
types of things that can be done with custom displays. They are meant to be
used as a springboard for your imagination, and are not meant to be considered
as “the only way” to customize roll-ups.
The web parts referenced in the following sections have a
number of properties that can only be modified by manually editing the DWP file
associated with the web part. A DWP file can be edited by exporting the web
part to a location of your choice, making the desired changes, and then
uploading it back onto a site. Complete
procedures for modifying DWPs are provided in the Web
Part DWP Modification – Overview topic.
The basic steps are as follows:
1. Go to the web page with the
roll-up web part that you want to alter.
2. Go to Modify Shared Page and
then choose Design this page. This will place the page into design mode.
3. Choose Export from the web
part menu.
4. Save the file, placing it
somewhere on your local drive where you can find it.
5. Open the exported DWP file in
Notepad. You will see some XML code.
6. Make the necessary changes as
described in the topics in this section.
7. Save the updated DWP file. You
might want to alter the name of the file to keep the original in case there is
a mistake.
8. Go back to your web page and
choose Modify Shared Page/Add Web Parts/Import.
9. In the "Add Web
Parts" property section, browse for the updated web part and then upload it.
IMPORTANT! This
section of help includes Display HTML and JavaScript that can be copied and
pasted into your DWP. However, when you copy and paste from the help into
FrontPage, hard returns may be inserted. These will need to be removed to avoid
any errors.
When modifying a DWP, keep in mind the XML namespace of the
web part being changed, or the properties will not be enabled within the web
part. XML namespaces for all CorasWorks web parts are provided in the XML Namespaces help topic.
Also note that some of the web part properties require the
use of a "<", ">", or "&" symbol. If
that is the case, these characters must be replaced with their encoded
equivalents of "<", ">", and
"&" respectively, unless utilizing the XML CDATA element.
(Example <![CDATA[ HTML TEXT ]]>)
This section walks through the process of modifying a
roll-up display with JavaScript to display events that are localized to the
current user’s time zone.
These procedures require the following:
o The
Events with Time Zone Template, which will be used by the roll-up to display
data
o An
Event list
o The
Event SpreadSheet Roll-Up Advanced web part – The DWP for this web part will be
modified to achieve the desired functionality
o Display
HTML and JavaScript, made available here, that will alter the display of the
roll-up so that it shows events in the user’s local time zone
These are the items that you need to change to alter the
default display of the web part.
1. JavaScript (click here)
o ShowAttachment
– Returns the Paper Clip image if attachments exist for the event
o ShowWorkspace
– Returns the Workspace image and URL if an Event Workspace exists for the
event
o ShowRecurrence
– Returns the Recurrence image if the event is of a recurring type
o ShowNext
– Displays the Next link if there are more items to be displayed. Connected to
Maximum Results Returned.
o ShowPrevious
– Displays the Previous link if previous items exist to be displayed. Connected
to Maximum Results Returned.
o ChangeDateToLocale
– Changes the date entered to the local date and outputs the result
o CheckTimeZone
– Checks the local time zone to look for the current Daylight Savings Time
status
o FormatDate
– Formats the date to a specific design
2. Display
HTML (click here)
IMPORTANT! When
copying and pasting from the online help into FrontPage, hard returns may be
inserted. These will need to be removed to avoid any errors.
If you look at the table in Spreadsheet Roll-Up Advanced,
you will see that a number of fields from the List being searched are
referenced with a “%”, both before and after the item. These include both the field headers (%Title
Header%, %Location Header%, %Begin Header%, %End Header%) and the field values
(%DisplayItemURL%, %Workspace%, %Attachments%, %Recurrence%, %Title%, %End%,
%Begin%, %Time Zone%, %Location%, %NextURL%, %PreviousURL%). When working with Events with Time Zone,
these are the fields available to you while building your custom solution.
These procedures begin with the assumption that you have
created an Events with Time Zone List with the Events with Time Zone List
Template, provided to you with the Workplace Suite, in your site and have
filled it in with some test data. You
have a personal Dashboard at http://site/yoursite/, where you want add the
Localized Events roll-up.
1. Add an Event Spreadsheet
Roll-Up Advanced web part to the zone where the roll-up is to be displayed.
2. Export the roll-up as a .dwp
file
o Click on the Actions menu and then Export…
o Save the file on your computer as
Localized Events.dwp
3. Delete the generic Spreadsheet
Roll-Up Advanced web part from your site
o Click on the Actions menu and then Delete.
o Click OK
to confirm.
4. Edit Localized
Events.dwp on your computer
o Change the title of the web part by
replacing the text between the <Title></Title> tags with Localized
Events.
o Insert the content found here (0click hereHelp_D2HPrivate(-7,677)Contents
for Localized Event Roll-Up Insertion for Event Roll-Up in Local
Date/Time0) between the last property tags and then save
the dwp file.
5. Import your modified
web part to your personal site, http://site/yoursite/.
o Click Modify Shared Page/Add Web
Parts/Import
o Enter the name and location of your
.dwp file or click Browse to find it on your computer
o Click Upload
6. Drag the uploaded web part to
the zone where your roll-up should be displayed.
7. The administration interface
is displayed so you can select the site and lists from which you want to roll
up data. Once you have made these selections, close the administration
interface. The Events roll-up will be
displayed with items in your local time zone.
1. Locate the JavaScript Function
Format Date by locating the return line with the following text:
return strMonth + "/" + strDay + "/" + strYear + "
" + strHour + ":" + strMinute + " " + strAMPM;
2. Change this text to output the
date and time in the desired format. The default date format is: 01/01/2001
12:00 AM
For further assistance with available date output
capabilities, a “How To” can be accessed at http://www.w3schools.com/js/js_obj_date.asp
<script language="javascript">
function
ShowAttachment(strAttachment)
{
if (strAttachment == "-1")
{
document.write('<img
src=\"_layouts/images/attachhd.gif\">');
}
else
{
document.write(' ');
}
}
function
ShowWorkspace(strWorkspace, strTarget)
{
if (strWorkspace !=
"")
{
var arrHoldLink =
strWorkspace.split(",");
document.write('<a target=\""
+ strTarget + "\" href=\"" + arrHoldLink[0] +
"\"><img border=\"0\"
src=\"_layouts/images/mtgicon.gif\"></a>');
}
else
{
document.write(' ');
}
}
function
ShowReccurence(strReccurence)
{
if (strReccurence ==
"-1")
{
document.write('<img
src=\"_layouts/images/recur.gif\">');
}
else
{
document.write(' ');
}
}
function ShowNext(strNext)
{
if (strNext !=
"")
{
strNext =
strNext.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strNext + '\");return false;\'>Next<img
valign=\"abs_bottom\"
src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function
ShowPrevious(strPrevious)
{
if (strPrevious !=
"")
{
strPrevious =
strPrevious.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious =
strPrevious.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strPrevious + '\");return false;\'><img
valign=\"abs_bottom\"
src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
function
ChangeDateToLocale(strDate, strTZ)
{
var strHoldTimeZone = strTZ;
if ((strDate != null) && (strDate !=
""))
{
if
(strTZ.indexOf("GMT") >= 0)
{
strTZ = strTZ.substring(4,10);
strTZ =
strTZ.replace(":","");
}
else
{
strTZ = strTZ.substring(0,5);
strTZ =
strTZ.replace(":","");
strTZ = "+" + strTZ;
}
var dtNewDate = new Date(strDate +
" " + strTZ);
var strNewDate =
dtNewDate.toLocaleString();
//document.write (new
Date().toString());
if (strNewDate != "")
{
var dtNewDate = new Date(strNewDate);
if (checkTimeZone())
{
if (strHoldTimeZone.indexOf("*") >= 0)
{}
else
{
dtNewDate =
dtNewDate.setHours(dtNewDate.getHours() - 1);
}
}
else
{
if (new Date().toString().indexOf("ST") >=
0)
{
if
(strHoldTimeZone.indexOf("*") >= 0)
{}
else
{
dtNewDate =
dtNewDate.setHours(dtNewDate.getHours() - 1);
}
}
}
document.write (FormatDate(dtNewDate));
}
}
}
function checkTimeZone() {
var rightNow = new Date();
var date1 = new Date(rightNow.getFullYear(),
0, 1, 0, 0, 0, 0);
var date2 = new Date(rightNow.getFullYear(),
6, 1, 0, 0, 0, 0);
var temp = date1.toGMTString();
var date3 = new Date(temp.substring(0,
temp.lastIndexOf(" ")-1));
var temp = date2.toGMTString();
var date4 = new Date(temp.substring(0,
temp.lastIndexOf(" ")-1));
var hoursDiffStdTime = (date1 - date3) /
(1000 * 60 * 60);
var hoursDiffDaylightTime = (date2 - date4)
/ (1000 * 60 * 60);
if (hoursDiffDaylightTime ==
hoursDiffStdTime) {
return false;
} else {
return true;
}
}
function FormatDate(dtDate)
{
if (dtDate != "")
{
var holdDate = new Date(dtDate);
var strMonth = "";
var strDay = "";
var strYear = "";
var strHour = "";
var strMinute = "";
var strAMPM = "AM";
strHour = holdDate.getHours().toString();
if (strHour == "0") { strHour =
"12"; strAMPM =
"AM";}
else if (strHour == "1") { strHour
= "01"; strAMPM = "AM"; }
else if (strHour == "2") { strHour
= "02"; strAMPM = "AM"; }
else if (strHour == "3") { strHour
= "03"; strAMPM = "AM"; }
else if (strHour == "4") { strHour
= "04"; strAMPM = "AM"; }
else if (strHour == "5") { strHour
= "05"; strAMPM = "AM"; }
else if (strHour == "6") { strHour
= "06"; strAMPM = "AM"; }
else if (strHour == "7") { strHour
= "07"; strAMPM = "AM"; }
else if (strHour == "8") { strHour
= "08"; strAMPM = "AM"; }
else if (strHour == "9") { strHour
= "09"; strAMPM = "AM"; }
else if (strHour == "10") { strHour
= "10"; strAMPM = "AM"; }
else if (strHour == "11") { strHour
= "11"; strAMPM = "AM"; }
else if (strHour == "12") { strHour
= "12"; strAMPM = "PM"; }
else if (strHour == "13") { strHour
= "01"; strAMPM = "PM"; }
else if (strHour == "14") { strHour
= "02"; strAMPM = "PM"; }
else if (strHour == "15") { strHour
= "03"; strAMPM = "PM"; }
else if (strHour == "16") { strHour
= "04"; strAMPM = "PM"; }
else if (strHour == "17") { strHour
= "05"; strAMPM = "PM"; }
else if (strHour == "18") { strHour
= "06"; strAMPM = "PM"; }
else if (strHour == "19") { strHour
= "07"; strAMPM = "PM"; }
else if (strHour == "20") { strHour
= "08"; strAMPM = "PM"; }
else if (strHour == "21") { strHour
= "09"; strAMPM = "PM"; }
else if (strHour == "22") { strHour
= "10"; strAMPM = "PM"; }
else if (strHour == "23") { strHour
= "11"; strAMPM = "PM"; }
strMinute = holdDate.getMinutes().toString();
if (strMinute == "0") { strMinute =
"00"; }
else if (strMinute == "1") {
strMinute = "01"; }
else if (strMinute == "2") {
strMinute = "02"; }
else if (strMinute == "3") {
strMinute = "03"; }
else if (strMinute == "4") {
strMinute = "04"; }
else if (strMinute == "5") {
strMinute = "05"; }
else if (strMinute == "6") {
strMinute = "06"; }
else if (strMinute == "7") {
strMinute = "07"; }
else if (strMinute == "8") {
strMinute = "08"; }
else if (strMinute == "9") {
strMinute = "09"; }
strMonth = holdDate.getMonth();
if (strMonth == "0") { strMonth =
"01"; }
else if (strMonth == "1") {
strMonth = "02"; }
else if (strMonth == "2") {
strMonth = "03"; }
else if (strMonth == "3") {
strMonth = "04"; }
else if (strMonth == "4") {
strMonth = "05"; }
else if (strMonth == "5") {
strMonth = "06"; }
else if (strMonth == "6") {
strMonth = "07"; }
else if (strMonth == "7") {
strMonth = "08"; }
else if (strMonth == "8") { strMonth
= "09"; }
else if (strMonth == "9") {
strMonth = "10"; }
else if (strMonth == "10") {
strMonth = "11"; }
else if (strMonth == "11") {
strMonth = "12"; }
strDay = holdDate.getDate();
if (strDay == "1") { strDay ==
"01"; }
else if (strDay == "2") { strDay ==
"02"; }
else if (strDay == "3") { strDay ==
"03"; }
else if (strDay == "4") { strDay ==
"04"; }
else if (strDay == "5") { strDay ==
"05"; }
else if (strDay == "6") { strDay ==
"06"; }
else if (strDay == "7") { strDay ==
"07"; }
else if (strDay == "8") { strDay ==
"08"; }
else if (strDay == "9") { strDay ==
"09"; }
strYear = holdDate.getFullYear();
return strMonth + "/" + strDay +
"/" + strYear + " " + strHour + ":" + strMinute +
" " + strAMPM;
}
else
{
return "";
}
}
</script>
<table
cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="ms-smallsectionline"
align="center"><img
src="_layouts/images/recur.gif"></td>
<td
class="ms-smallsectionline" align="center"><img
src="_layouts/images/attachhd.gif"></td>
<td
class="ms-smallsectionline" align="center"><img
src="_layouts/images/mtgicnhd.gif"></td>
<td
class="ms-smallsectionline" align="left"><%Title
Header%></td>
<td
class="ms-smallsectionline" align="left"><%Location
Header%></td>
<td
class="ms-smallsectionline" align="left"><%Begin
Header%></td>
<td
class="ms-smallsectionline" align="left"><%End
Header%></td>
</tr>
<END>
<tr>
<td
class="ms-smallsectionline" width="3%"
align="center" valign="top"><script
language="javascript">ShowReccurence("<%Recurrence%>")</script></td>
<td
class="ms-smallsectionline" width="3%"
align="center" valign="top"><script
language="javascript">ShowAttachment("<%Attachments%>",
"_self")</script></td>
<td
class="ms-smallsectionline" width="4%"
align="center" valign="top"><script
language="javascript">ShowWorkspace("<%Workspace%>")</script></td>
<td class="ms-smallsectionline"
width="30%" align="left" valign="top"><a
href="<%DisplayItemURL%>"
target="_self"><%Title%></a> </td>
<td
class="ms-smallsectionline" width="16%"
align="left"
valign="top"><%Location%> </td>
<td
class="ms-smallsectionline" width="22%"
align="left" valign="top"><script
language="javascript">ChangeDateToLocale("<%Begin%>",
"<%Time Zone%>")</script> </td>
<td
class="ms-smallsectionline" width="22%"
align="left" valign="top"><script
language="javascript">ChangeDateToLocale("<%End%>",
"<%Time Zone%>")</script> </td>
</tr>
<END>
<tr
valign="bottom">
<td
valign="abs_bottom" align="left"
colspan="4"><script
language="javascript">ShowPrevious('<%PreviousURL%>')</script></td>
<td
valign="abs_bottom" align="right" colspan="3"><script
language="javascript">ShowNext('<%NextURL%>')</script></td>
</tr>
</table>
<ListTemplates
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>Events</ListType><ListTypeName>EventTZ</ListTypeName><NumberOfFields>22</NumberOfFields><OrderBy>Title,
Attachments, BeginDATE, EndDATE, Description, Location, Recurrence, Workspace,
TimeZone</OrderBy><ListFields>Title,Attachments,Begin~DATE,End~DATE,Description,Location,Recurrence,Workspace,Time
Zone</ListFields><DisplayPer>,,,,,,,,</DisplayPer><SearchFields>Title,Attachments,Begin~DATE,End~DATE,Description,Location
,Recurrence,Workspace,Time
Zone</SearchFields></List></Lists></ListTemplates> <DontConvertHttp
xmlns="CorasWSC.Event.SpreadSheet.RollUp">true</DontConvertHttp> <DateFormat
xmlns="CorasWSC.Event.SpreadSheet.RollUp">MM/dd/yyyy, hh:mm:ss
tt</DateFormat>
<Display
xmlns="CorasWSC.Document.SpreadSheet.RollUp">
<![CDATA[
<script language="javascript">
function
ShowAttachment(strAttachment)
{
if (strAttachment == "-1")
{
document.write('<img
src=\"_layouts/images/attachhd.gif\">');
}
else
{
document.write(' ');
}
}
function
ShowWorkspace(strWorkspace, strTarget)
{
if (strWorkspace
!= "")
{
var arrHoldLink =
strWorkspace.split(",");
document.write('<a target=\""
+ strTarget + "\" href=\"" + arrHoldLink[0] +
"\"><img border=\"0\"
src=\"_layouts/images/mtgicon.gif\"></a>');
}
else
{
document.write(' ');
}
}
function
ShowReccurence(strReccurence)
{
if
(strReccurence == "-1")
{
document.write('<img
src=\"_layouts/images/recur.gif\">');
}
else
{
document.write(' ');
}
}
function
ShowNext(strNext)
{
if (strNext !=
"")
{
strNext =
strNext.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strNext + '\");return false;\'>Next<img
valign=\"abs_bottom\"
src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function
ShowPrevious(strPrevious)
{
if (strPrevious
!= "")
{
strPrevious =
strPrevious.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious =
strPrevious.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strPrevious + '\");return false;\'><img
valign=\"abs_bottom\"
src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
function
ChangeDateToLocale(strDate, strTZ)
{
var strHoldTimeZone = strTZ;
if ((strDate != null) && (strDate !=
""))
{
if
(strTZ.indexOf("GMT") >= 0)
{
strTZ = strTZ.substring(4,10);
strTZ =
strTZ.replace(":","");
}
else
{
strTZ = strTZ.substring(0,5);
strTZ =
strTZ.replace(":","");
strTZ = "+" + strTZ;
}
var dtNewDate = new Date(strDate +
" " + strTZ);
var strNewDate =
dtNewDate.toLocaleString();
//document.write (new
Date().toString());
if (strNewDate != "")
{
var dtNewDate = new Date(strNewDate);
if (checkTimeZone())
{
if
(strHoldTimeZone.indexOf("*") >= 0)
{}
else
{
dtNewDate =
dtNewDate.setHours(dtNewDate.getHours() - 1);
}
}
else
{
if (new
Date().toString().indexOf("ST") >= 0)
{
if (strHoldTimeZone.indexOf("*")
>= 0)
{}
else
{
dtNewDate =
dtNewDate.setHours(dtNewDate.getHours() - 1);
}
}
}
document.write (FormatDate(dtNewDate));
}
}
}
function
checkTimeZone() {
var rightNow = new Date();
var date1 = new Date(rightNow.getFullYear(),
0, 1, 0, 0, 0, 0);
var date2 = new Date(rightNow.getFullYear(),
6, 1, 0, 0, 0, 0);
var temp = date1.toGMTString();
var date3 = new Date(temp.substring(0,
temp.lastIndexOf(" ")-1));
var temp = date2.toGMTString();
var date4 = new Date(temp.substring(0,
temp.lastIndexOf(" ")-1));
var hoursDiffStdTime = (date1 - date3) /
(1000 * 60 * 60);
var hoursDiffDaylightTime = (date2 - date4)
/ (1000 * 60 * 60);
if (hoursDiffDaylightTime ==
hoursDiffStdTime) {
return false;
} else {
return true;
}
}
function
FormatDate(dtDate)
{
if (dtDate != "")
{
var holdDate = new Date(dtDate);
var strMonth = "";
var strDay = "";
var strYear = "";
var strHour = "";
var strMinute = "";
var strAMPM = "AM";
strHour = holdDate.getHours().toString();
if (strHour == "0") { strHour =
"12"; strAMPM =
"AM";}
else if (strHour == "1") { strHour
= "01"; strAMPM = "AM"; }
else if (strHour == "2") { strHour
= "02"; strAMPM = "AM"; }
else if (strHour == "3") { strHour
= "03"; strAMPM = "AM"; }
else if (strHour == "4") { strHour
= "04"; strAMPM = "AM"; }
else if (strHour == "5") { strHour
= "05"; strAMPM = "AM"; }
else if (strHour == "6") { strHour
= "06"; strAMPM = "AM"; }
else if (strHour == "7") { strHour
= "07"; strAMPM = "AM"; }
else if (strHour == "8") { strHour
= "08"; strAMPM = "AM"; }
else if (strHour == "9") { strHour
= "09"; strAMPM = "AM"; }
else if (strHour == "10") { strHour
= "10"; strAMPM = "AM"; }
else if (strHour == "11") { strHour
= "11"; strAMPM = "AM"; }
else if (strHour == "12") { strHour
= "12"; strAMPM = "PM"; }
else if (strHour == "13") { strHour
= "01"; strAMPM = "PM"; }
else if (strHour == "14") { strHour
= "02"; strAMPM = "PM"; }
else if (strHour == "15") { strHour
= "03"; strAMPM = "PM"; }
else if (strHour == "16") { strHour
= "04"; strAMPM = "PM"; }
else if (strHour == "17") { strHour
= "05"; strAMPM = "PM"; }
else if (strHour == "18") { strHour
= "06"; strAMPM = "PM"; }
else if (strHour == "19") { strHour
= "07"; strAMPM = "PM"; }
else if (strHour == "20") { strHour
= "08"; strAMPM = "PM"; }
else if (strHour == "21") { strHour
= "09"; strAMPM = "PM"; }
else if (strHour == "22") { strHour
= "10"; strAMPM = "PM"; }
else if (strHour == "23") { strHour
= "11"; strAMPM = "PM"; }
strMinute = holdDate.getMinutes().toString();
if (strMinute == "0") { strMinute =
"00"; }
else if (strMinute == "1") {
strMinute = "01"; }
else if (strMinute == "2") {
strMinute = "02"; }
else if (strMinute == "3") {
strMinute = "03"; }
else if (strMinute == "4") {
strMinute = "04"; }
else if (strMinute == "5") {
strMinute = "05"; }
else if (strMinute == "6") {
strMinute = "06"; }
else if (strMinute == "7") {
strMinute = "07"; }
else if (strMinute == "8") {
strMinute = "08"; }
else if (strMinute == "9") {
strMinute = "09"; }
strMonth = holdDate.getMonth();
if (strMonth == "0") { strMonth =
"01"; }
else if (strMonth == "1") {
strMonth = "02"; }
else if (strMonth == "2") {
strMonth = "03"; }
else if (strMonth == "3") {
strMonth = "04"; }
else if (strMonth == "4") {
strMonth = "05"; }
else if (strMonth == "5") {
strMonth = "06"; }
else if (strMonth == "6") {
strMonth = "07"; }
else if (strMonth == "7") {
strMonth = "08"; }
else if (strMonth == "8") { strMonth
= "09"; }
else if (strMonth == "9") {
strMonth = "10"; }
else if (strMonth == "10") {
strMonth = "11"; }
else if (strMonth == "11") {
strMonth = "12"; }
strDay = holdDate.getDate();
if (strDay == "1") { strDay ==
"01"; }
else if (strDay == "2") { strDay ==
"02"; }
else if (strDay == "3") { strDay ==
"03"; }
else if (strDay == "4") { strDay ==
"04"; }
else if (strDay == "5") { strDay ==
"05"; }
else if (strDay == "6") { strDay ==
"06"; }
else if (strDay == "7") { strDay ==
"07"; }
else if (strDay == "8") { strDay ==
"08"; }
else if (strDay == "9") { strDay ==
"09"; }
strYear = holdDate.getFullYear();
return strMonth + "/" + strDay +
"/" + strYear + " " + strHour + ":" + strMinute +
" " + strAMPM;
}
else
{
return "";
}
}
</script>
<table
cellpadding="0" cellspacing="0" width="100%">
<tr>
<td
class="ms-smallsectionline" align="center"><img
src="_layouts/images/recur.gif"></td>
<td
class="ms-smallsectionline" align="center"><img
src="_layouts/images/attachhd.gif"></td>
<td
class="ms-smallsectionline" align="center"><img
src="_layouts/images/mtgicnhd.gif"></td>
<td
class="ms-smallsectionline" align="left"><%Title
Header%></td>
<td
class="ms-smallsectionline" align="left"><%Location
Header%></td>
<td
class="ms-smallsectionline" align="left"><%Begin
Header%></td>
<td
class="ms-smallsectionline" align="left"><%End
Header%></td>
</tr>
<END>
<tr>
<td
class="ms-smallsectionline" width="3%"
align="center" valign="top"><script
language="javascript">ShowReccurence("<%Recurrence%>")</script></td>
<td
class="ms-smallsectionline" width="3%"
align="center" valign="top"><script
language="javascript">ShowAttachment("<%Attachments%>",
"_self")</script></td>
<td
class="ms-smallsectionline" width="4%"
align="center" valign="top"><script
language="javascript">ShowWorkspace("<%Workspace%>")</script></td>
<td
class="ms-smallsectionline" width="30%"
align="left" valign="top"><a
href="<%DisplayItemURL%>"
target="_self"><%Title%></a> </td>
<td
class="ms-smallsectionline" width="16%" align="left"
valign="top"><%Location%> </td>
<td
class="ms-smallsectionline" width="22%"
align="left" valign="top"><script
language="javascript">ChangeDateToLocale("<%Begin%>",
"<%Time Zone%>")</script> </td>
<td
class="ms-smallsectionline" width="22%"
align="left" valign="top"><script
language="javascript">ChangeDateToLocale("<%End%>",
"<%Time Zone%>")</script> </td>
</tr>
<END>
<tr
valign="bottom">
<td
valign="abs_bottom" align="left"
colspan="4"><script
language="javascript">ShowPrevious('<%PreviousURL%>')</script></td>
<td
valign="abs_bottom" align="right"
colspan="3"><script
language="javascript">ShowNext('<%NextURL%>')</script></td>
</tr>
</table>
]]>
</Display>
This section walks through the process of
using the roll-up display interface with JavaScript to enhance the capabilities
of CorasWorks web parts. For the purposes of these procedures, a modified Event
list displayed in same way as an Event list homepage will be utilized.
Several
items are needed in order to show a roll-up with Events and display them in the
same way as is shown inside an Event list:
o A
standard SharePoint Event list with no modifications to field names
o The
Event Spreadsheet Roll-Up Advanced web part, accessed from the Virtual Server
Gallery – the DWP of this web part will be modified to achieve the desired
functionality
o Display
HTML and JavaScript, made available here, to alter the display of the roll-up
As
implemented in the Standard Look and Feel Events, one Event list and one Event
Spreadsheet Roll-Up with the display interface which includes HTML and
JavaScript are utilized. These are the
items that need to be changed to alter the default display of the web part.
1.
JavaScript (click here)
o ShowAttachment
– Returns the Paper Clip image if attachments exist for the event
o ShowWorkspace
– Returns the Workspace image and URL if an Event Workspace exists for the
event
o ShowRecurrence
– Return the Recurrence image if the Event is of a Recurring type
o ShowNext
– Displays a Next link if more items are to be displayed, connected to Maximum
Results Returned.
o ShowPrevious
– Displays a Previous link if previous items exist to be displayed, connected
to Maximum Results Returned.
2. Display HTML (click
here)
IMPORTANT! When copying and pasting
from the online help into FrontPage, hard returns may be inserted. These will
need to be removed to avoid any errors.
If
you look at the table in Spreadsheet Roll-Up Advanced, you will see that a
number of fields from the List being searched are referenced with a “%”, both
before and after the item. These include
both the field headers (%Title Header%, %Location Header%, %Begin Header%, %End
Header%) and the field values (%DisplayItemURL%, %Workspace%, %Attachments%,
%Recurrence%, %Title%, %End%, %Begin%, %Location%, %NextURL%,
%PreviousURL%). When working with Events
with Time Zone, these are the fields available to you while building your
custom solution.
These
procedures begin with the assumption that a standard SharePoint Event list has
been created in your site and it has been populated with some test data. There is a personal dashboard at http://site/yoursite/
where you want add the Standard Look and Feel Events roll-up.
1. Add an Event Spreadsheet Roll-Up Advanced web
part to the zone where you want your roll-up to be displayed.
2. Export the roll-up as a .dwp file
o Click
on the Actions menu and then Export…
o Save
the file on your computer as Standard Events.dwp
3. Delete the generic Spreadsheet Roll-Up
Advanced from your site.
o Click
on the Actions menu and then Delete
o Click
OK to confirm
4. Edit Standard Events.dwp on your computer
o Change
the Title of the web part by replacing the text between the
<Title></Title> tags with Standard Look – Events
o Insert
the content from here (click
here) between the last property tags and then save
the .dwp file
5. Import your modified web part to your personal
site, http://site/yoursite/.
o Click
Modify Shared Page/Add Web Parts/Import
o Enter
the name and location of your .dwp file or click Browse to find it on your
computer
o Click
Upload
6. Drag the uploaded web part to the zone where
you want your roll-up to be displayed.
7. The administration interface is displayed,
where you can choose the sites and lists to be included in the roll-up. Make the desired selections and then click OK
to close the administration interface.
You should see the Events roll-up displayed in the same manner as the
Event lists pages for your list.
<script language="javascript">
function ShowAttachment(strAttachment)
{
if
(strAttachment == "-1")
{
document.write('<img
src=\"_layouts/images/attachhd.gif\">');
}
else
{
document.write(' ');
}
}
function ShowWorkspace(strWorkspace, strTarget)
{
if (strWorkspace != "")
{
var
arrHoldLink = strWorkspace.split(",");
document.write('<a target=\"" + strTarget + "\"
href=\"" + arrHoldLink[0] + "\"><img
border=\"0\"
src=\"_layouts/images/mtgicon.gif\"></a>');
}
else
{
document.write(' ');
}
}
function ShowReccurence(strReccurence)
{
if (strReccurence == "-1")
{
document.write('<img
src=\"_layouts/images/recur.gif\">');
}
else
{
document.write(' ');
}
}
function ShowNext(strNext)
{
if (strNext != "")
{
strNext =
strNext.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a href=\"javascript:\"
OnClick=\'javascript:SubmitFormPost(\"' + strNext + '\");return
false;\'>Next<img
valign=\"abs_bottom\"
src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function ShowPrevious(strPrevious)
{
if (strPrevious != "")
{
strPrevious = strPrevious.replace("javascript:\" OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious = strPrevious.replace("\");return
false;\"","");
document.write('<a href=\"javascript:\"
OnClick=\'javascript:SubmitFormPost(\"' + strPrevious + '\");return
false;\'><img
valign=\"abs_bottom\"
src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
</script>
<table cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td class="ms-smallsectionline"
align="center"><img
src="_layouts/images/recur.gif"></td>
<td class="ms-smallsectionline"
align="center"><img
src="_layouts/images/attachhd.gif"></td>
<td class="ms-smallsectionline"
align="center"><img
src="_layouts/images/mtgicnhd.gif"></td>
<td class="ms-smallsectionline"
align="left"><%Title Header%></td>
<td class="ms-smallsectionline"
align="left"><%Location Header%></td>
<td class="ms-smallsectionline"
align="left"><%Begin Header%></td>
<td class="ms-smallsectionline"
align="left"><%End Header%></td>
</tr>
<END>
<tr>
<td class="ms-smallsectionline"
width="3%" align="center"
valign="top"><script
language="javascript">ShowReccurence("<%Recurrence%>")</script></td>
<td class="ms-smallsectionline"
width="3%" align="center"
valign="top"><script
language="javascript">ShowAttachment("<%Attachments%>",
"_self")</script></td>
<td class="ms-smallsectionline"
width="4%" align="center"
valign="top"><script
language="javascript">ShowWorkspace("<%Workspace%>")</script></td>
<td class="ms-smallsectionline"
width="30%" align="left" valign="top"><a
href="<%DisplayItemURL%>"
target="_self"><%Title%></a> </td>
<td class="ms-smallsectionline"
width="16%" align="left"
valign="top"><%Location%> </td>
<td class="ms-smallsectionline"
width="22%" align="left"
valign="top"><%Begin%> </td>
<td class="ms-smallsectionline"
width="22%" align="left"
valign="top"><%End%> </td>
</tr>
<END>
<tr valign="bottom">
<td valign="abs_bottom"
align="left" colspan="4"><script
language="javascript">ShowPrevious('<%PreviousURL%>')</script></td>
<td valign="abs_bottom"
align="right" colspan="3"><script
language="javascript">ShowNext('<%NextURL%>')</script></td>
</tr>
</table>
<ListTemplates
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><?xml
version='1.0' ?><Lists><List><ListType>Events</ListType><ListTypeName>ERC0001</ListTypeName><NumberOfFields>20</NumberOfFields><OrderBy>Title,
BeginDATE, EndDATE, Description, Location, Recurrence, Workspace, Attachments</OrderBy><ListFields>Title,Begin~DATE,End~DATE,Description,Location,Recurrence,Workspace,Attachments</ListFields><DisplayPer>,,,,,,,</DisplayPer><SearchFields>Title,Begin~DATE,End~DATE,Description,Location,Recurrence,Workspace,Attachments</SearchFields></List></Lists></ListTemplates> <DontConvertHttp
xmlns="CorasWSC.Event.SpreadSheet.RollUp">true</DontConvertHttp>
<Display
xmlns="CorasWSC.Document.SpreadSheet.RollUp">
<![CDATA[
<script language="javascript">
function ShowAttachment(strAttachment)
{
if
(strAttachment == "-1")
{
document.write('<img
src=\"_layouts/images/attachhd.gif\">');
}
else
{
document.write(' ');
}
}
function ShowWorkspace(strWorkspace, strTarget)
{
if (strWorkspace != "")
{
var
arrHoldLink = strWorkspace.split(",");
document.write('<a target=\"" + strTarget + "\"
href=\"" + arrHoldLink[0] + "\"><img
border=\"0\"
src=\"_layouts/images/mtgicon.gif\"></a>');
}
else
{
document.write(' ');
}
}
function ShowReccurence(strReccurence)
{
if (strReccurence == "-1")
{
document.write('<img
src=\"_layouts/images/recur.gif\">');
}
else
{
document.write(' ');
}
}
function ShowNext(strNext)
{
if (strNext != "")
{
strNext =
strNext.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a href=\"javascript:\"
OnClick=\'javascript:SubmitFormPost(\"' + strNext + '\");return
false;\'>Next<img
valign=\"abs_bottom\"
src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function ShowPrevious(strPrevious)
{
if (strPrevious != "")
{
strPrevious = strPrevious.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious = strPrevious.replace("\");return
false;\"","");
document.write('<a href=\"javascript:\"
OnClick=\'javascript:SubmitFormPost(\"' + strPrevious + '\");return
false;\'><img
valign=\"abs_bottom\"
src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
</script>
<table cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td class="ms-smallsectionline"
align="center"><img
src="_layouts/images/recur.gif"></td>
<td class="ms-smallsectionline"
align="center"><img
src="_layouts/images/attachhd.gif"></td>
<td class="ms-smallsectionline"
align="center"><img
src="_layouts/images/mtgicnhd.gif"></td>
<td class="ms-smallsectionline"
align="left"><%Title Header%></td>
<td class="ms-smallsectionline"
align="left"><%Location Header%></td>
<td class="ms-smallsectionline"
align="left"><%Begin Header%></td>
<td class="ms-smallsectionline"
align="left"><%End Header%></td>
</tr>
<END>
<tr>
<td class="ms-smallsectionline"
width="3%" align="center"
valign="top"><script
language="javascript">ShowReccurence("<%Recurrence%>")</script></td>
<td class="ms-smallsectionline"
width="3%" align="center"
valign="top"><script
language="javascript">ShowAttachment("<%Attachments%>",
"_self")</script></td>
<td class="ms-smallsectionline"
width="4%" align="center"
valign="top"><script
language="javascript">ShowWorkspace("<%Workspace%>")</script></td>
<td class="ms-smallsectionline"
width="30%" align="left" valign="top"><a
href="<%DisplayItemURL%>"
target="_self"><%Title%></a> </td>
<td class="ms-smallsectionline"
width="16%" align="left"
valign="top"><%Location%> </td>
<td class="ms-smallsectionline"
width="22%" align="left" valign="top"><%Begin%> </td>
<td class="ms-smallsectionline"
width="22%" align="left"
valign="top"><%End%> </td>
</tr>
<END>
<tr valign="bottom">
<td valign="abs_bottom"
align="left" colspan="4"><script
language="javascript">ShowPrevious('<%PreviousURL%>')</script></td>
<td valign="abs_bottom"
align="right" colspan="3"><script
language="javascript">ShowNext('<%NextURL%>')</script></td>
</tr>
</table>
]]>
</Display>
This section walks through the process of
creating Announcement roll-ups that, while appearing like standard SharePoint
Announcement roll-ups, provide you all the extra features of CorasWorks
roll-ups. For the purposes of this process, the CorasWorks roll-up, Company
Announcements, will be recreated as it appears in the CorasWorks Enterprise
Showroom at http://enterprise.corasworks.net/Topics/defaultca.aspx.
These procedures require one list and one
web part:
o Announcements List
o Announcement Spreadsheet Roll-Up
Advanced web part – This does all of the work in this solution. It creates a table containing the items in
the Announcements list, formatting the items just as they would be formatted in
a standard SharePoint roll-up. For this
solution, the web part must be created by modifying the DWP file of a standard Announcement
Spreadsheet Advanced Web Part.
A specially modified Announcement
Spreadsheet Roll-Up Advanced web part (Company Announcements - Standard.dwp)
displays the items in the Announcements list.
The table is hard-coded in the Display property of the Company
Announcements - Standard.dwp file (click here).
Take a look at the Display property:
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0 width=100%><tr><td
colspan=2><b>Sort By:</b> <%Title Header%>| <%Body
Header%>| <%Created By Header%>| <%Created
Header%></td></tr><tr><td colspan=2> </td></tr><END><tr><td
width=70% align=left><b><a
href="<%DisplayItemURL%>"><%Title%></a></b></td><td
width=30% align=right><%Created%></tr><tr><td colspan=2
align=left>by <%Created By%></td></tr><tr><td
colspan=2><%Body%></td></tr><tr><td
colspan=2> </td></tr><END></table>]]></Display>
Remembering that certain symbols (“<”,
“>”, and “&”) had to be translated for use in the .dwp file, and though
you should never include such symbols in a .dwp file, it may be useful to see
Company Announcements.dwp written with symbols that are more easily understood:
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><table
cellpadding=0 cellspacing=0 width=100%><tr><td
colspan=2><b>Sort By:</b> <%Title Header%>| <%Body
Header%>| <%Created By Header%>| <%Created
Header%></td></tr><tr><td
colspan=2>&nbsp;</td></tr><END><tr><td
width=70% align=left><b><a
href="<%DisplayItemURL%>"><%Title%></a></b></td><td
width=30% align=right><%Created%></tr><tr><td colspan=2
align=left>by&nbsp; <%Created
By%></td></tr><tr><td colspan=2><%Body%></td></tr><tr><td
colspan=2> </td></tr><END></table></Display>
If you look at the table in Spreadsheet
Roll-Up Advanced, you will see that a number of fields from the List being
searched are referenced with a “%”, both before and after the item. These include both the field headers (%Title
Header%, %Body Header%, %Created By Header%, %Created Header%) and the field
values (%DisplayItemURL%, %Title%, %Created%, %Created By%, %Body%). When working with an Announcements list,
these are the fields available to you while building your custom solution.
IMPORTANT!
When copying and pasting from the online help into FrontPage, hard returns may
be inserted. These will need to be removed to avoid any errors.
These procedures being with the assumption
that there is a site at http://site/ and there is a standard announcements
list, Company Announcements. After
populating the announcements list with data, you realize that you want the data
to display a little bit differently than a standard Announcement Spreadsheet
Roll-Up Advanced permits; you want your announcements data rolled up as on a
standard SharePoint roll-up. To do this,
the Display property of the web part must be edited.
1. Add an Announcement
Spreadsheet Roll-Up Advanced web part to the aone where you want the roll-up to
be displayed.
2. Export the your roll-up
as a .dwp file
o Click on the Actions menu and then
Export…
o Save the file on your computer as
Company Announcements - Standard.dwp
3. Delete the generic
Announcement Spreadsheet Roll-Up Advanced web part from your site.
o Click on the Actions menu and then Delete
o Click OK to confirm
4. Edit Company
Announcements - Standard.dwp on your computer
o Change the title of the web part by replacing
the text between the <Title></Title> tags with Company
Announcements
o Insert the following lines between the
last property tag: <TypeName></TypeName>, and before the closing
tag, </WebPart> and then save your .dwp file, Company Announcements - Standard.dwp
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0 width=100%><tr><td
colspan=2><b>Sort By:</b> <%Title Header%>| <%Body
Header%>| <%Created By Header%>| <%Created
Header%></td></tr><tr><td colspan=2> </td></tr><END><tr><td
width=70% align=left><b><a
href="<%DisplayItemURL%>"><%Title%></a></b></td><td
width=30% align=right><%Created%></tr><tr><td colspan=2
align=left>by <%Created
By%></td></tr><tr><td
colspan=2><%Body%></td></tr><tr><td
colspan=2> </td></tr><END></table>]]></Display>
<SearchAbove1Site
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">true</SearchAbove1Site>
<ReturnType
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">los</ReturnType>
<ShowCorasWorks xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">false</ShowCorasWorks>
<ListTemplates
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>Announcements</ListType><ListTypeName>SA</ListTypeName><NumberOfFields>18</NumberOfFields><OrderBy>Title,
ModifiedDATE, CreatedDATE, CreatedBy, ModifiedBy, Body,
ExpiresDATE</OrderBy><ListFields>Title,Modified~DATE,Created~DATE,Created
By,Modified By,Body,Expires~DATE</ListFields><DisplayPer>,,,,,,</DisplayPer><SearchFields>Title,Modified~DATE,Created~DATE,Created
By,Modified
By,Body,Expires~DATE</SearchFields></List></Lists></ListTemplates>
5. Import the modified web
part to your site.
o Click Modify Shared Page/Add Web Parts/Import
o Enter the name and location of the .dwp
file or click Browse to find it on your computer
o Click Upload.
6. Drag the uploaded web
part to the zone where you want the roll-up to be displayed.
7. Select the Company
Announcements list in the web part’s administration interface.
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Announcement-Spreadsheet Roll-Up
Advanced</Title>
<FrameType>None</FrameType>
<Description>This Web Part will rollup
all Announcement Lists into a single Spreadsheet form. From here users can
manage, filter, and search Announcement list items.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>{D40E6C45-76FF-4392-8187-9EE220058BAC}</ZoneID>
<PartOrder>2</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>false</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://central.workplace.corasworks.net/support/WebPartHelp/CWSCARSS.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has
failed to load due to a missing software file.
Please contact CorasWorks (http://www.corasworks.net) and provide them
with the name of the Web Part [Announcement-Spreadsheet Roll-Up Adv] and the
URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/Announcement.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Announcement.Spreadsheet.Rollup.Adv,
Version=51.0.30.3, Culture=neutral,
PublicKeyToken=126c6fd56c7a3635</Assembly>
<TypeName>CorasWSC.Announcement.SpreadSheet.RollUp.Adv</TypeName>
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0 width=100%><tr><td
colspan=2><b>Sort By:</b> <%Title Header%>| <%Body
Header%>| <%Created By Header%>| <%Created
Header%></td></tr><tr><td colspan=2> </td></tr><END><tr><td
width=70% align=left><b><a
href="<%DisplayItemURL%>"><%Title%></a></b></td><td
width=30% align=right><%Created%></tr><tr><td colspan=2
align=left>by <%Created By%></td></tr><tr><td
colspan=2><%Body%></td></tr><tr><td
colspan=2> </td></tr><END></table>]]></Display>
<SearchAbove1Site
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">true</SearchAbove1Site>
<ReturnType
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">los</ReturnType>
<ShowCorasWorks
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">false</ShowCorasWorks>
<ListTemplates
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>Announcements</ListType><ListTypeName>SA</ListTypeName><NumberOfFields>18</NumberOfFields><OrderBy>Title,
ModifiedDATE, CreatedDATE, CreatedBy, ModifiedBy, Body,
ExpiresDATE</OrderBy><ListFields>Title,Modified~DATE,Created~DATE,Created
By,Modified By,Body,Expires~DATE</ListFields><DisplayPer>,,,,,,</DisplayPer><SearchFields>Title,Modified~DATE,Created~DATE,Created
By,Modified
By,Body,Expires~DATE</SearchFields></List></Lists></ListTemplates>
</WebPart>
This section walks through the process of creating a roll-up
with sorting options that appear outside the roll-up table display. For the purposes
of this example, the Company Events roll-up is recreated as it appears in the
CorasWorks Enterprise Showroom at http://enterprise.corasworks.net.
One list and two web parts are required for these
procedures.
o An Event list
o A Content Editor web part – This web
part is used simply to provide a title for the roll-up, and sits above the
Spreadsheet Advanced web part. The
content for the Content Editor web part is set in the Source Editor of the
Content Editor’s web part properties, and contains a simple table.
o An Event Spreadsheet Advanced web part
– This web part does all of the work in this solution. It creates a table containing the items in
the Events list, and creates links allowing users to sort the items it
lists. For this solution, the DWP file
of a standard Event Spreadsheet Advanced web part is modified.
While the Content Editor web part allows the addition of
scripts through a Source button in the web part properties, the Spreadsheet
Roll-Up Advanced web part’s DWP must be modified to achieve the desired
functionality.
A specially modified advanced spreadsheet roll-up (Company
Events.dwp) displays the items in the list and the sorting options. The table is hard-coded in the Display
property of the Company Events.dwp file (click here).
The Display property is shown here:
<Display
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0 width=100%><tr><td
colspan=2><b>Sort By:</b> <%Title Header%>| <%Begin
Header%>| <%End Header%></td></tr><tr><td
colspan=2> </td></tr><END><tr><td
colspan=2 align=left><b><a
href="<%DisplayItemURL%>"><%Title%></a></b></td><tr><td
align=left colspan=2><%Description%></td></tr><tr><td
width=50%><b>Begin:</b> <%Begin%></td><td
width=50%><b>End:</b>
<%End%></td></tr><tr><td
colspan=2> </td></tr><END></table>]]></Display>
Remembering that certain symbols (“<”, “>”, and
“&”) have to be translated for use in the .dwp file, it may be useful to
see Company Events.dwp written with symbols that are more easily understood:
<Display
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><table cellpadding=0
cellspacing=0 width=100%><tr><td colspan=2><b>Sort
By:</b> <%Title Header%>| <%Begin Header%>| <%End
Header%></td></tr><tr><td
colspan=2> </td></tr><END><tr><td
colspan=2 align=left><b><a
href="<%DisplayItemURL%>"><%Title%></a></b></td><tr><td
align=left
colspan=2><%Description%></td></tr><tr><td
width=50%><b>Begin:</b> <%Begin%></td><td
width=50%><b>End:</b>
<%End%></td></tr><tr><td
colspan=2> </td></tr><END></table></Display>
If you look at the table in the Spreadsheet Roll-Up Advanced
roll-up, you will see that a number of fields from the list being searched are
referenced with a “%”, both before and after the item. These include both the field headers (%Title
Header%, %Begin Header%, %End Header%) and the field values (%DisplayItemURL%,
%Title%). When working with an Event
list, these are the available fields while building a custom solution.
IMPORTANT! When
copying and pasting from the online help into FrontPage, hard returns may be
inserted. These will need to be removed to avoid any errors.
These procedures assume that there is a site at http://site/
and an Events list has been created.
After the Events list has been populated with data, you realize you want
the data to display a little bit differently than a standard Event Spreadsheet
Advanced Roll-Up Advanced permits. To
make this change, you need to edit the web part’s Display property.
1. Add a Content Editor web part
to the zone where you want the roll-up to be displayed.
2. Modify the web part properties
of your new Content Editor web part
o In the Appearance Properties:, change
the Title to “Company Events”
o Open the Source Editor and paste the
following code into the Source Editor:
<br><H2>Total
Expenses: </H2>
o Click Save
and then click OK
1. Add an Events Spreadsheet
Roll-Up Advanced web part to the zone where you want the roll-up to be
displayed.
2. Export your roll-up as a .dwp
file.
o Click on the Actions menu and then Export…
o Save the file on your computer as
Company Events.dwp
3. Delete the generic Events
Spreadsheet Roll-Up Advanced from your site.
o Click on the Actions menu and then Delete
o Click OK
to confirm
4. Edit Company Events.dwp on
your computer
o Change the Title of the web part by
replacing the text between the <Title></Title> tags with “Company
Events”
o Insert the following lines between the
last property tag <TypeName></TypeName>, and before the closing
tag, </WebPart>:
<Display
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0 width=100%><tr><td colspan=2><b>Sort
By:</b> <%Title Header%>| <%Begin Header%>| <%End
Header%></td></tr><tr><td
colspan=2> </td></tr><END><tr><td
colspan=2 align=left><b><a href="<%DisplayItemURL%>"><%Title%></a></b></td><tr><td
align=left colspan=2><%Description%></td></tr><tr><td
width=50%><b>Begin:</b> <%Begin%></td><td
width=50%><b>End:</b>
<%End%></td></tr><tr><td
colspan=2> </td></tr><END></table>]]></Display>
<ListTemplates
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><?xml
version='1.0' ?><Lists><List><ListType>Events</ListType><ListTypeName>ERS00001</ListTypeName><NumberOfFields>12</NumberOfFields><OrderBy>Title,
BeginDATE, EndDATE, Description</OrderBy><ListFields>Title,Begin~DATE,End~DATE,Description</ListFields><DisplayPer>,,,</DisplayPer><SearchFields>Title,Begin~DATE,End~DATE,Description</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Event.SpreadSheet.RollUp">true</ShowAdmin>
<ShowSearch
xmlns="CorasWSC.Event.SpreadSheet.RollUp">false</ShowSearch>
o Save the .dwp file as Company
Events.dwp.
5. Import the modified web part
to your site, http://site/.
o Click Modify Shared Page/Add Web Parts/
Import
o Enter the name and location of the .dwp
file or click Browse to find it on your computer
o Click Upload
6. Drag the uploaded web part to
the zone where you want the roll-up to be displayed, making sure that its Part
Order places it below the Company Events Title Content Editor web part.
7. Select the Company Events list
on the web part’s Sites and Lists tab of the administration interface.
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Company Events</Title>
<FrameType>None</FrameType>
<Description />
<IsIncluded>true</IsIncluded>
<ZoneID>{6D87888C-E483-4884-8748-5196703D07BB}</ZoneID>
<PartOrder>2</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://download.corassolutions.com/WPSupport/Adv-RollUp-Spreadsheet/</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has
failed to load due to a missing software file.
Please contact CorasWorks (http://www.corasworks.net) and provide them
with the name of the Web Part [Event-Spreadsheet Roll-Up Adv] and the URL in
your browser.</MissingAssembly>
<PartImageLarge>_WPR_/Event.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Event.SpreadSheet.RollUp.Adv,
Version=51.0.29.3, Culture=neutral,
PublicKeyToken=db78bf77ebd2e732</Assembly>
<TypeName>CorasWSC.Event.SpreadSheet.RollUp.Adv</TypeName>
<Display xmlns="CorasWSC.Event.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0 width=100%><tr><td
colspan=2><b>Sort By:</b> <%Title Header%>| <%Begin
Header%>| <%End Header%></td></tr><tr><td
colspan=2> </td></tr><END><tr><td
colspan=2 align=left><b><a href="<%DisplayItemURL%>"><%Title%></a></b></td><tr><td
align=left
colspan=2><%Description%></td></tr><tr><td
width=50%><b>Begin:</b> <%Begin%></td><td
width=50%><b>End:</b>
<%End%></td></tr><tr><td
colspan=2> </td></tr><END></table>]]></Display>
<ListTemplates xmlns="CorasWSC.Event.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>Events</ListType><ListTypeName>ERS00001</ListTypeName><NumberOfFields>12</NumberOfFields><OrderBy>Title,
BeginDATE, EndDATE,
Description</OrderBy><ListFields>Title,Begin~DATE,End~DATE,Description</ListFields><DisplayPer>,,,</DisplayPer><SearchFields>Title,Begin~DATE,End~DATE,Description</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Event.SpreadSheet.RollUp">false</ShowAdmin>
<ShowSearch
xmlns="CorasWSC.Event.SpreadSheet.RollUp">false</ShowSearch>
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Content Editor Web
Part</Title>
<FrameType>None</FrameType>
<Description>Use for formatted text,
tables, and images.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>{6D87888C-E483-4884-8748-5196703D07BB}</ZoneID>
<PartOrder>1</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink />
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly />
<PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>Microsoft.SharePoint,
Version=11.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
<ContentLink
xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor" />
<Content
xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<TABLE
width="100%" border=0 cellspacing="0"
cellpadding="0">
<TR>
<TD
height="28"><hr style="color: #2254B1"><b>
<font
face="tahoma" size="2" color="#000066">Company
Events</font></b><hr style="color: #2254B1; height:
4px"></TD></TR>
</TABLE>]]></Content>
<PartStorage xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"
/>
</WebPart>
This section walks through the process of creating
announcement roll-ups that include both text and images. For the purposes of
this example, the Company Announcements roll-up is recreated as it appears in
the CorasWorks Enterprise Showroom at http://enterprise.corasworks.net.
One list, one image library, and several web parts are
required for these procedures, including:
o An Announcements list
o A Content Editor web part – This web
part is used simply to provide a title for the roll-up, and sits above the
Spreadsheet Advanced web parts. The
content for the Content Editor web part is set in the Source Editor of the
Content Editor’s web part properties, and contains a simple table.
o Multiple Announcement Spreadsheet
Advanced web parts – These do all of the work in this solution. Each web part, named “main”, “left”, and
“right”, contains a table that displays text from the Announcements list, as
well as images from the Announcements image library, which has been filtered
for that web part. For this solution,
the DWP file of a standard Announcement Spreadsheet Advanced web part is
modified.
While the Content Editor web parts allow the addition of
scripts through a Source button in the web part properties, the Spreadsheet
Roll-Up Advanced web part’s DWP must be modified to achieve the desired
functionality.
A specially modified Spreadsheet Roll-Up Advanced (Company
Announcements.dwp) displays the items in the list and sorting options. The table is hard-coded in the Display
property of the Company Announcements.dwp file (click here).
IMPORTANT! When
copying and pasting from the online help into FrontPage, hard returns may be
inserted. These will need to be removed to avoid any errors.
The Display property is shown here:
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><![CDATA[<table
border="0"%gt;<END><tr valign="top"
align="left"><td
valign="top" align="left"
rowspan="2"><img src="<%Image
Location%>"></td><td valign="top"
align="left"><a
href="<%DisplayItemURL%>"><b><%Title%></b></a></td></tr><tr
valign="top" align="left"><td valign="top"
align="left"><%Body%></td></tr><END></table>]]></Display>
Remembering that certain symbols (“<”, “>”, and
“&”) have to be translated for use in the .dwp file, it may be useful to
see Company Events.dwp written with symbols that are more easily understood:
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><table
border="0"%gt;<END><tr valign="top"
align="left"><td
valign="top" align="left"
rowspan="2"><img src="<%Image
Location%>"></td><td valign="top"
align="left"><a
href="<%DisplayItemURL%>"><b><%Title%></b></a></td></tr><tr
valign="top" align="left"><td valign="top"
align="left"><%Body%></td></tr><END></table></Display>
The Filter property specifies in which web part the
announcement will display. Remembering
that the three Company Announcement web parts are designated “main”, “left” and
“right”, these values must be assigned to each web part’s .dwp file. The only difference between the .dwp file of
the three web parts is the last line, the <Filter> tag:
o The “main” Announcement Spreadsheet
Advanced web part contains:
<Filter
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">publish=main</Filter>
o The “left” Announcement Spreadsheet
Advanced web part contains:
<Filter
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">publish=left</Filter>
o The “right” Announcement Spreadsheet
Advanced web part contains:
<Filter xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">publish=right</Filter>
Later, when the Announcements list is created, a new column
called Publish will be created, in
which each announcement will be assigned to one of the web parts.
If you look at the table in Announcement Spreadsheet Roll-Up
Advanced, you will see that a number of fields from the list being searched are
referenced with a “%”, both before and after the item. These include the field values (%Image
Location%, %DisplayItemURL%, %Title%, %Body%).
When working with an Announcement list, these are the fields available
to you while building your custom solution.
These procedures assume that there is a site at http://site/
and an Announcements list has been created.
After populating the Announcements list with data, you realize you want
the data to display a little bit differently than a standard Announcement
Spreadsheet Advanced Roll-Up permits; you want images to appear alongside your
announcements, and you want your list distributed to several zones. To make this possible, an image library must
be created, the structure of your list must be modified, and the Display
property of several Announcement Spreadsheet Advanced Roll-Up web parts must be
edited.
1. Create a list using the
Announcements schema, then view it at http://site/
Lists/Company%20Announcements/AllItems.aspx and click on Modify Settings and
Columns.
2. Add the Publish field.
o Under Columns, click Add a New Column.
o For Column Name, enter Publish.
o For Column Type, select Choice (menu to
choose from).
o Enter the possible choices where you
are prompted to Type Each Choice on a Separate Line:
o main
o left
o right
o Click OK.
3. Add
the Image Location field.
o Under Columns, click Add a New Column.
o For Column Name, enter Image Location.
o For Column Type, select Single Line of
Text
o Click OK.
NOTE: When adding
Announcements, remember you can refer to your images with relative addresses
like “./Image Library/Image1.jpg”
1. Create a Picture Library.
2. Name it Image Library.
1. Add a Content Editor web part
to the zone where you want the roll-up to be displayed.
o Modify the web part properties of your new Content Editor web
part
o In Appearance Properties, change the
Title to “Company Announcements Title”
o Open the Source Editor and paste in the
following code:
o <br><H2>Company Announcements: </H2>
o Click Save
and then click OK.
1. Add an Announcements
Spreadsheet Roll-Up Advanced web part to the zone where you want the roll-up to
be displayed.
2. Export your roll-up as a .dwp
file
o Click on the Actions menu and then Export…
o Save the file on your computer as
Company Announcements – main.dwp
o Save the file twice more, as Company
Announcements – left.dwp and as Company Announcements – right.dwp
3. Delete the generic
Announcements Spreadsheet Roll-Up Advanced from your site.
o Click on the Actions menu and then Delete
o Click OK
to confirm
4. Edit Company Announcements –
main.dwp on your computer
o Change the Title of the web part by
replacing the text between the <Title></Title> tags with “Company
Announcements”
o Insert the following lines between the
last property tag, <TypeName></TypeName>, and before the closing
tag, </WebPart>:
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><![CDATA[<table
border="0"%gt;<END><tr valign="top"
align="left"><td
valign="top" align="left"
rowspan="2"><img src="<%Image Location%>"></td><td
valign="top" align="left"><a
href="<%DisplayItemURL%>"><b><%Title%></b></a></td></tr><tr
valign="top" align="left"><td valign="top"
align="left"><%Body%></td></tr><END></table>]]></Display>
<ListTemplates
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><?xml version='1.0'
?><Lists><List><ListType>Announcements</ListType><ListTypeName>SPSAR0001</ListTypeName><NumberOfFields>14</NumberOfFields><OrderBy>Title,
Body, ExpiresDATE, Publish, ImageLocation</OrderBy><ListFields>Title,Body,Expires~DATE,Publish,Image
Location</ListFields><DisplayPer>,,,,</DisplayPer><SearchFields>Title,Body,Expires~DATE,Publish,Image
Location</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">true</ShowAdmin>
<ShowSearch
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">false</ShowSearch>
<Filter
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">publish=main</Filter>
o Save the .dwp file, Company
Announcement – main.dwp
5. Edit Company Announcements –
left.dwp on your computer
o Change the Title of the web part by
replacing the text between the <Title></Title> tags with “Company
Announcements”
o Insert the following lines between the
last property tag, <TypeName></TypeName>, and before the closing
tag, </WebPart>:
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><![CDATA[<table
border="0"%gt;<END><tr valign="top"
align="left"><td
valign="top" align="left"
rowspan="2"><img src="<%Image
Location%>"></td><td valign="top"
align="left"><a
href="<%DisplayItemURL%>"><b><%Title%></b></a></td></tr><tr
valign="top" align="left"><td valign="top"
align="left"><%Body%></td></tr><END></table>]]></Display>
<ListTemplates xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>Announcements</ListType><ListTypeName>SPSAR0001</ListTypeName><NumberOfFields>14</NumberOfFields><OrderBy>Title,
Body, ExpiresDATE, Publish,
ImageLocation</OrderBy><ListFields>Title,Body,Expires~DATE,Publish,Image
Location</ListFields><DisplayPer>,,,,</DisplayPer><SearchFields>Title,Body,Expires~DATE,Publish,Image
Location</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">true</ShowAdmin>
<ShowSearch
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">false</ShowSearch>
<Filter
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">publish=left</Filter>
o Save the .dwp file, Company
Announcement – left.dwp
6. Edit Company Announcements –
right.dwp on your computer
o Change the Title of the web part by
replace the text between the <Title></Title> tags with “Company Announcements”
o Insert the following lines between the
last property tag, <TypeName></TypeName>, and before the closing
tag, </WebPart>:
<Display
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><![CDATA[<table
border="0"%gt;<END><tr valign="top"
align="left"><td
valign="top" align="left"
rowspan="2"><img src="<%Image
Location%>"></td><td valign="top"
align="left"><a href="<%DisplayItemURL%>"><b><%Title%></b></a></td></tr><tr
valign="top" align="left"><td valign="top"
align="left"><%Body%></td></tr><END></table>]]></Display>
<ListTemplates
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>Announcements</ListType><ListTypeName>SPSAR0001</ListTypeName><NumberOfFields>14</NumberOfFields><OrderBy>Title,
Body, ExpiresDATE, Publish,
ImageLocation</OrderBy><ListFields>Title,Body,Expires~DATE,Publish,Image
Location</ListFields><DisplayPer>,,,,</DisplayPer><SearchFields>Title,Body,Expires~DATE,Publish,Image
Location</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">true</ShowAdmin>
<ShowSearch
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">false</ShowSearch>
<Filter
xmlns="CorasWSC.Announcement.SpreadSheet.RollUp">publish=right</Filter>
o Save the .dwp file, Company
Announcement – right.dwp
7. Import the modified web parts
to your site, http://site/.
o Click Modify Shared Page/Add Web
Parts/Import
o Enter the name and location of your
.dwp file or click Browse to find it on your computer
o Click Upload
8. Drag the uploaded web parts to
the zone where you want the roll-up to be displayed, ensuring that its Part
Order places it below the Company Events Title Content Editor web part, and
that the “main”, “left” and “right” versions of the .dwp file are placed in
separate and proper zones.
9. Select the Company
Announcements list in each web part’s administration window.
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Company Events</Title>
<FrameType>None</FrameType>
<Description />
<IsIncluded>true</IsIncluded>
<ZoneID>{6D87888C-E483-4884-8748-5196703D07BB}</ZoneID>
<PartOrder>2</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://download.corassolutions.com/WPSupport/Adv-RollUp-Spreadsheet/</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This web part has
failed to load due to a missing software file.
Please contact CorasWorks (http://www.corasworks.net) and provide them
with the name of the web part [Event-Spreadsheet Roll-Up Adv] and the URL in
your browser.</MissingAssembly>
<PartImageLarge>_WPR_/Event.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Event.SpreadSheet.RollUp.Adv,
Version=51.0.29.3, Culture=neutral, PublicKeyToken=db78bf77ebd2e732</Assembly>
<TypeName>CorasWSC.Event.SpreadSheet.RollUp.Adv</TypeName>
<Display
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0 width=100%><tr><td
colspan=2><b>Sort By:</b> <%Title Header%>| <%Begin
Header%>| <%End Header%></td></tr><tr><td
colspan=2> </td></tr><END><tr><td
colspan=2 align=left><b><a
href="<%DisplayItemURL%>"><%Title%></a></b></td><tr><td
align=left
colspan=2><%Description%></td></tr><tr><td
width=50%><b>Begin:</b> <%Begin%></td><td
width=50%><b>End:</b>
<%End%></td></tr><tr><td
colspan=2> </td></tr><END></table>]]></Display>
<ListTemplates
xmlns="CorasWSC.Event.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>Events</ListType><ListTypeName>ERS00001</ListTypeName><NumberOfFields>12</NumberOfFields><OrderBy>Title,
BeginDATE, EndDATE,
Description</OrderBy><ListFields>Title,Begin~DATE,End~DATE,Description</ListFields><DisplayPer>,,,</DisplayPer><SearchFields>Title,Begin~DATE,End~DATE,Description</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Event.SpreadSheet.RollUp">false</ShowAdmin>
<ShowSearch
xmlns="CorasWSC.Event.SpreadSheet.RollUp">false</ShowSearch>
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Content Editor Web
Part</Title>
<FrameType>None</FrameType>
<Description>Use for formatted text,
tables, and images.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>{6D87888C-E483-4884-8748-5196703D07BB}</ZoneID>
<PartOrder>1</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink />
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly />
<PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>Microsoft.SharePoint, Version=11.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
<ContentLink
xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor" />
<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<TABLE
width="100%" border=0 cellspacing="0"
cellpadding="0">
<TR>
<TD
height="28"><hr style="color: #2254B1"><b>
<font
face="tahoma" size="2" color="#000066">Company
Events</font></b><hr style="color: #2254B1; height:
4px"></TD></TR>
</TABLE>]]></Content>
<PartStorage
xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor" />
</WebPart>
This section walks through the process of using JavaScript
and the Roll-Up Display interface to enhance the capabilities of CorasWorks web
parts. For the purposes of these
procedures, a standard SharePoint Task list will be used to display tasks and
each row’s background color will be changed based upon the task status.
In order to show a roll-up with a different background color
for each row based on status, three items are needed:
o A standard SharePoint Task list, which
the roll-up will use to display data.
o One Task Spreadsheet Roll-Up Advanced
web part
o Some JavaScript and Display HTML, made
available later in this section – These are needed to alter the roll-up display
so each row is displayed in a different color, depending on each task’s status
To implement status colors, a Task list and a Task
Spreadsheet Roll-Up with JavaScript and a Display Interface are used. These are the items you need to change to
alter the default colors and/or statuses in the web part:
1. JavaScript (click here)
o Outputs four HTML elements:
o <TR bgcolor=”…”>
o <Font color=”…”>
o <a href=”next”>
o <a href=”previous”>
o Defines four functions:
o StatusBackGround – Outputs row based
upon inputted status
o StatusFontColor – Outputs font based
upon inputted status (Black vs. White)
o ShowNext – Outputs Next link with arrow
image
o ShowPrevious – Outputs Previous link
with arrow image
2. Status Key (click here) - Displays a key
at the bottom of the display to help users understand each color’s meaning
IMPORTANT! When
copying and pasting from the online help into FrontPage, hard returns may be
inserted. These will need to be removed to avoid any errors.
If you look at the table in Spreadsheet Roll-Up Advanced,
you will see that a number of fields from the list being searched are
referenced with a “%” both before and after the item. These include both the field headers (%Title
Header%, %Status Header%, %Priority Header%, %Due Date Header%, %Assigned To
Header%) and the field values (%EditItemURL%, %DisplayItemURL%, %PreviousURL%,
%NextURL%, %Title%, %Status%, %Priority%, %Due Date%, %Assigned To%). When working with Status Colors, these are
the fields available to you while building your custom solution.
These procedures assume that a standard
SharePoint Task list has been created in a site and it contains some test
data. There should be a personal
dashboard at http://site/yoursite/, where the Task Spreadsheet with Colors by
Status roll-up will be added.
1. Add a Task Spreadsheet Roll-Up
Advanced web part to the zone where you want the new Status Colors roll-up to
be displayed.
2. Export the roll-up as a .dwp
file.
o Click on the Actions menu and then select Export…
o Save the file onto your computer as
Tasks by Status Colors.dwp
3. Delete the generic Spreadsheet
Roll-Up Advanced from your site.
o Click on the Actions menu and then select Delete
o Click OK
to confirm
4. Edit Tasks by Status
Colors.dwp on your computer
o Change the title of the web part by
replacing the text between the <Title></Title> tags with “Tasks by
Status Colors”
o Insert this content (1click hereHelp_D2HPrivate(-9,703)Task
Roll-Up with Row Color per Status - Content for Tasks by Status
Colors.dwp1) between the last property tags and then save
the .dwp file
o Import the modified web part to your
personal site, http://site/yoursite/.
o Click Modify
Shared Page/Add Web Parts/Import
o Enter the name and location of your
.dwp file or click Browse to find it on
your computer
o Click Upload
5. Drag the uploaded web part to the zone where
you want the roll-up to be displayed, ensuring that its Part Order places it
below the JavaScript Starter.
6. The Sites and Lists tab of the administration
interface is displayed. Make the
appropriate settings and then close the interface. You will see the Tasks
roll-up with each row changed to reflect the status of each task.
This section explains how to modify the JavaScript and key
to match the color chosen for each status.
Repeat these steps for each color.
1. Locate the JavaScript Function
StatusBackGround.
o Choose the Status If or Else If
statement for which you want to change the color.
o Enter the name of the background color
you want to use in place of the color that is already within the bgcolor=”…”
attribute. (Example: {document.write('<tr bgcolor=\"red\">');})
2. Locate the JavaScript Function StatusFontColor
o Choose the Status If or Else If
statement for which you want to change the color.
o Enter the name of the font color you
want to use in place of the color that is already within the color=”…”
attribute. This color should be contrast the background color in order to be
easily visible by the user. (Example: {document.write('<font color=\"white\">');})
3. In the Status Key HTML at the bottom of the
Display Interface, locate the Status Color Text you want to change. (Example: <td
bgcolor="red"
width="20%"><font face="Arial" style="font-size:
8pt" color="white">Not
Started</font></td>)
o Modify the bgcolor=”…” by entering the
name of the row background color you want to use for the status.
o Modify the color=”…” by entering the
name of the text color you want to use for the status.
This section explains how to modify the JavaScript and Key
to match the new Status name chosen for each status. Repeat these steps for each status name.
1. Locate the JavaScript Function
StatusBackGround.
o Choose the Status If or Else If
statement for which you want to change the status name.
o Within the If or Else If Statement,
change the text being recognized for each status to match your new status
names. (Example: (status == "Not Started"))
2. Locate the JavaScript Function StatusFontColor
o Choose the Status If or Else If
statement for which you want to change the status name.
o Within the If or Else If Statement,
change the text being recognized for each status to match your new status
names. (Example: (status == "Not Started"))
3. In the Status Key HTML at the bottom of the
Display Interface, locate the Status Color Text you want to change, then modify
the name of the status(es) you want to change.
(Example: <td bgcolor="red"
width="20%"><font face="Arial" style="font-size:
8pt" color="white">Not Started</font></td>)
<script
language="javascript">
function
StatusBackGround(status)
{
if (status == "Not
Started")
{document.write('<tr
bgcolor=\"red\">');}
else if (status == "In
Progress")
{document.write('<tr
bgcolor=\"yellow\">');}
else if (status ==
"Completed")
{document.write('<tr
bgcolor=\"green\">');}
else if (status ==
"Deferred")
{document.write('<tr
bgcolor=\"blue\">');}
else if (status == "Waiting on
someone else")
{document.write('<tr
bgcolor=\"purple\">');}
}
function
StatusFontColor(status)
{
if (status == "Not
Started")
{document.write('<font
color=\"white\">');}
else if (status == "In
Progress")
{document.write('<font
color=\"black\">');}
else if (status ==
"Completed")
{document.write('<font
color=\"white\">');}
else if (status ==
"Deferred")
{document.write('<font
color=\"white\">');}
else if (status == "Waiting on
someone else")
{document.write('<font
color=\"white\">');}
}
function
ShowNext(strNext)
{
if (strNext != "")
{
strNext =
strNext.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strNext + '\");return false;\'>Next<img
valign=\"abs_bottom\"
src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function ShowPrevious(strPrevious)
{
if (strPrevious != "")
{
strPrevious
= strPrevious.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious
= strPrevious.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strPrevious + '\");return false;\'><img
valign=\"abs_bottom\"
src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
</script>
<br><b>Status
Key</b></font>
<table
border="1" width="100%" id="table2"
style="border-collapse: collapse">
<tr>
<td bgcolor="red"
width="20%"><font face="Arial" style="font-size:
8pt" color="white">Not Started</font></td>
<td bgcolor="yellow"
width="20%"><font face="Arial" style="font-size:
8pt" color="black">In Progress</font></td>
<td bgcolor="green"
width="20%"><font face="Arial" style="font-size:
8pt" color="white">Completed</font></td>
<td bgcolor="blue"
width="20%"><font face="Arial" style="font-size:
8pt" color="white">Deferred</font></td>
<td bgcolor="purple"
width="20%"><font face="Arial" style="font-size:
8pt" color="white">Waiting On Someone
Else</font></td>
</tr>
</table>
<Display
xmlns="CorasWSC.Task.SpreadSheet.RollUp">
<![CDATA[
<script
language="javascript">
function
StatusBackGround(status)
{
if (status == "Not
Started")
{document.write('<tr
bgcolor=\"red\">');}
else if (status == "In
Progress")
{document.write('<tr
bgcolor=\"yellow\">');}
else if (status ==
"Completed")
{document.write('<tr
bgcolor=\"green\">');}
else if (status ==
"Deferred")
{document.write('<tr
bgcolor=\"blue\">');}
else if (status == "Waiting on
someone else")
{document.write('<tr
bgcolor=\"purple\">');}
}
function
StatusFontColor(status)
{
if (status == "Not
Started")
{document.write('<font
color=\"white\">');}
else if (status == "In
Progress")
{document.write('<font
color=\"black\">');}
else if (status ==
"Completed")
{document.write('<font
color=\"white\">');}
else if (status == "Deferred")
{document.write('<font
color=\"white\">');}
else if (status == "Waiting on
someone else")
{document.write('<font
color=\"white\">');}
}
function
ShowNext(strNext)
{
if (strNext != "")
{
strNext =
strNext.replace("javascript:\" OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strNext + '\");return false;\'>Next<img
valign=\"abs_bottom\"
src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function
ShowPrevious(strPrevious)
{
if (strPrevious != "")
{
strPrevious
= strPrevious.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious
= strPrevious.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strPrevious + '\");return false;\'><img
valign=\"abs_bottom\"
src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
</script>
<table
cellpadding=0 cellspacing=0 width=100%><tr><td><b>Sort
By:</b> <%Title Header%>| <%Status Header%>| <%Assigned To
Header%>| <%Due Date
Header%>|
<%Priority Header%></td></tr></table>
<br>
<table
border="0" cellpadding="0" cellspacing="0"
width="100%" id="Tasks">
<tr>
<td
class="ms-smallsectionline" width="30"
align="center">Edit</td>
<td
class="ms-smallsectionline" width="*">Title</td>
<td
class="ms-smallsectionline" width="20%">Assigned
To</td>
<td
class="ms-smallsectionline" width="15%">Due
Date</td>
<td
class="ms-smallsectionline"
width="15%">Priority</td>
</tr>
<END>
<script
language="javascript">StatusBackGround('<%Status%>');</script>
<td
class="ms-smallsectionline" width="30"><p
align="center"><a
href="<%EditItemURL%>"><img
src="_layouts/images/edit.gif"
border="0"</a></td>
<td
class="ms-smallsectionline" width="*"><a
href="<%DisplayItemURL%>"><script
language="javascript">StatusFontColor('<%Status%>');</script><%Title%></a> </td>
<td
class="ms-smallsectionline" width="20%"><script
language="javascript">StatusFontColor('<%Status%>');</script><%Assigned
To%> </td>
<td
class="ms-smallsectionline" width="15%"><script
language="javascript">StatusFontColor('<%Status%>');</script><%Due
Date%> </td>
<td
class="ms-smallsectionline" width="15%"><script
language="javascript">StatusFontColor('<%Status%>');</script><%Priority%> </td>
</tr>
<END>
<tr valign="bottom">
<td
valign="abs_bottom" align="left"
colspan="3"><script language="javascript">ShowPrevious('<%PreviousURL%>')</script></td>
<td
valign="abs_bottom" align="right"
colspan="2"><script language="javascript">ShowNext('<%NextURL%>')</script></td>
</tr>
</table>
<br><b>Status
Key</b></font>
<table
border="1" width="100%" id="table2"
style="border-collapse: collapse">
<tr>
<td
bgcolor="red" width="20%"><font
face="Arial" style="font-size: 8pt"
color="white">Not Started</font></td>
<td bgcolor="yellow"
width="20%"><font face="Arial" style="font-size:
8pt" color="black">In Progress</font></td>
<td
bgcolor="green" width="20%"><font
face="Arial" style="font-size: 8pt"
color="white">Completed</font></td>
<td
bgcolor="blue" width="20%"><font
face="Arial" style="font-size: 8pt"
color="white">Deferred</font></td>
<td
bgcolor="purple" width="20%"><font
face="Arial" style="font-size: 8pt"
color="white">Waiting On Someone Else</font></td>
</tr>
</table>
]]>
</Display>
<DateFormat xmlns="CorasWSC.Task.SpreadSheet.RollUp">MM/dd/yyyy</DateFormat>
This section walks through the process of using JavaScript
and the Roll-Up display interface to enhance the capabilities of CorasWorks web
parts and show a roll-up with each status as an image. For the purposes of
these procedures, a standard SharePoint Task list will be utilized.
In order to show a roll-up with each status represented as
an image, several items are needed:
o A standard SharePoint Task list that
will be used by the roll-up to display data
o The Task SpreadSheet Roll-Up Advanced web
part, accessed from the Virtual Server Gallery – The DWP of this web part will
need to be modified to achieve the desired functionality
o Images to represent each a specific
status
o JavaScript and Display HTML, made
available here, that alter the roll-up display to showing an image depending on
each task’s status.
To implement status images, a Task list and a Task
Spreadsheet Roll-Up with JavaScript and a Display Interface are used. These are the items you need to change to
alter the default images and/or statuses in the web part:
1. JavaScript (click here)
o Outputs Four HTML Elements:
o <img border=”0” src=”…”>
o <a href=”next”>
o <a href=”previous”>
o Defines four functions:
o StatusImage – Outputs image based upon
inputted Status
o ShowNext – Outputs Next link with Arrow
image
o ShowPrevious – Outputs Previous link
with Arrow image
2. Status Key (click here)
o Displays key at the bottom of the
display for easy understanding of each images’ meaning
IMPORTANT! When
copying and pasting from the online help into FrontPage, hard returns may be
inserted. These will need to be removed to avoid any errors.
If you look at the table in Spreadsheet Roll-Up Advanced,
you will see that a number of fields from the list being searched are
referenced with a “%”, both before and after the item. These include both the field headers (%Title
Header%, %Status Header%, %Priority Header%, %Due Date Header%, %Assigned To
Header%) and the field values (%EditItemURL%, %DisplayItemURL%, %PreviousURL%,
%NextURL%, %Title%, %Status%, %Priority%, %Due Date%, %Assigned To%). When working with status images, these are
the fields available to you while building your custom solution.
These procedures begin with the assumption that you have
created a standard SharePoint Task List in your site and have filled it in with
some test data. You have a personal
Dashboard at http://site/yoursite/, where you want add the Task Spreadsheet
with Status Images roll-up.
These procedures assume that a standard SharePoint Task list
has been created in a site and it contains some test data. There should be a personal dashboard at http://site/yoursite/,
where the Task Spreadsheet with Status Images roll-up will be added.
1. Add the following five Images to your site’s
Image directory or create a new Picture Library where the images will be
stored. If you decide to use a Picture Library, you will need to modify the
source location for each image pointing to the Picture Library instead of the
default Images directory. If you decide to use the default Image directory, you
can access it via FrontPage and point to the site where the roll-up will be
installed. Inside you will see an Images directory; you can place the images
there.
o Check.png
o Checks.png
o Stop.png
o Unknown.png
o Information.png
2. Add a Task Spreadsheet Roll-Up Advanced web
part to the zone where you want the new roll-up to be displayed.
3. Export the roll-up as a .dwp file
o Click on the Actions menu and then select Export…
o Save the file on your computer as Tasks
Spreadsheet With Status Images.dwp
4. Delete the generic Spreadsheet
Roll-Up Advanced from your site.
o Click on the Actions menu and then select Delete
o Click OK
to confirm
5. Edit the Tasks Spreadsheet
With Status Images.dwp on your computer
o Change the title of the web part by
replacing the text between the <Title></Title> tags with “Tasks
with Status Images”
o Insert this content (2click hereHelp_D2HPrivate(-9,710)Task Roll-Up with
Status Images - Content for Tasks Spreadsheet With Status
Images.dwp2) between the last property tag
o Save the .dwp file
6. Import the modified web part
to your personal site, http://site/yoursite/.
o Click Modify Shared Page/Add Web
Parts/Import
o Enter the name and location of the .dwp
file or click Browse to find it on your computer
o Click Upload
7. Drag the uploaded web part to
the zone where you want the roll-up to be displayed, ensuring that its Part
Order places it below the JavaScript Starter.
8. The administration interface
is displayed, where you can choose the sites and lists to roll-up data from.
Once this is done, close the administration interface. The roll-up will display the tasks with each
row changed to reflect the status of each task.
1. Locate the JavaScript Function StatusImage.
o Choose the Status If or Else If
statement for which you want to change the image.
o Enter the name of the image file you
want to use in place of the image that is already within the src=”…” attribute.
(Example: {document.write('<img border="0" src=\"images/unknown.png\">');})
2. In the Status Key HTML at the bottom of the
Display interface, locate the Status Image Text that you want to change. (Example:
<td width="16"><img border="0" src="images/unknown.png" width="16"
height="16"></td><td><font face="Arial"
style="font-size: 8pt">Not
Started</font></td>)
3. Modify the src=”…” by entering the name of the
image you want to utilize for the status.
4. Repeat these steps for each image.
1. Locate the JavaScript Function StatusImage.
o Choose the Status If or Else If
statement for which you want to change the status name.
o Within the If or Else If Statement
Change the text being recognized for each Status to match your new Status
names. (Example: (status == "Not Started"))
2. In the Status Key HTML at the
bottom of the Display interface, locate the Status Image Text you want to change.
o Modify the name of the Status(s) you
wish to change. (Example: <td
width="16"><img border="0" src="images/unknown.png" width="16"
height="16"></td><td><font face="Arial"
style="font-size: 8pt">Not Started</font></td>)
3. Repeat these
steps for each status name.
<script
language="javascript">
function
StatusImage(status)
{
if (status == "Not Started")
{document.write('<img border="0"
src=\"images/unknown.png\">');}
else if (status == "In Progress")
{document.write('<img border="0"
src=\"images/information.png\">');}
else if (status == "Completed")
{document.write('<img border="0"
src=\"images/check.png\">');}
else if (status == "Deferred")
{document.write('<img border="0"
src=\"images/checks.png\">');}
else if (status == "Waiting on someone else")
{document.write('<img border="0"
src=\"images/stop.png\">');}
else
{document.write(' ');}
}
function ShowNext(strNext)
{
if (strNext != "")
{
strNext =
strNext.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strNext + '\");return false;\'>Next<img
valign=\"abs_bottom\" src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function
ShowPrevious(strPrevious)
{
if (strPrevious != "")
{
strPrevious
= strPrevious.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious
= strPrevious.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strPrevious + '\");return false;\'><img
valign=\"abs_bottom\" src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
</script>
<br><b>Status
Key</b></font>
<table
border="1" width="100%" id="table2"
style="border-collapse: collapse">
<tr>
<td width="16">
<img border="0"
src="images/unknown.png" width="16"
height="16"></td>
<td><font face="Arial"
style="font-size: 8pt">Not Started</font></td>
<td width="16"><font
face="Arial" style="font-size: 8pt">
<img border="0"
src="images/information.png" width="16"
height="16"></font></td>
<td><font face="Arial"
style="font-size: 8pt">In Progress</font></td>
<td width="16"><font
face="Arial" style="font-size: 8pt">
<img border="0"
src="images/check.png" width="16"
height="16"></font></td>
<td><font face="Arial"
style="font-size: 8pt">Completed</font></td>
<td width="16"><font
face="Arial" style="font-size: 8pt">
<img border="0"
src="images/checks.png" width="16"
height="16"></font></td>
<td><font face="Arial"
style="font-size: 8pt">Deferred</font></td>
<td width="16"><font
face="Arial" style="font-size: 8pt">
<img border="0"
src="images/stop.png" width="16"
height="16"></font></td>
<td><font face="Arial"
style="font-size: 8pt">Waiting On Someone
Else</font></td>
</tr>
</table>
<Display
xmlns="CorasWSC.Task.SpreadSheet.RollUp">
<![CDATA[
<script
language="javascript">
function
StatusImage(status)
{
if (status == "Not
Started")
{document.write('<img
border="0" src=\"images/unknown.png\">');}
else if (status == "In
Progress")
{document.write('<img
border="0" src=\"images/information.png\">');}
else if (status ==
"Completed")
{document.write('<img
border="0" src=\"images/check.png\">');}
else if (status ==
"Deferred")
{document.write('<img
border="0" src=\"images/checks.png\">');}
else if (status == "Waiting on
someone else")
{document.write('<img
border="0" src=\"images/stop.png\">');}
else
{document.write(' ');}
}
function
ShowNext(strNext)
{
if (strNext != "")
{
strNext =
strNext.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strNext =
strNext.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strNext + '\");return false;\'>Next<img
valign=\"abs_bottom\" src=\"_layouts/images/marr.gif\"
border=\"0\"></a>');
}
else
{
document.write(' ');
}
}
function
ShowPrevious(strPrevious)
{
if (strPrevious != "")
{
strPrevious
= strPrevious.replace("javascript:\"
OnClick=\"javascript:SubmitFormPost(\"","");
strPrevious
= strPrevious.replace("\");return false;\"","");
document.write('<a
href=\"javascript:\" OnClick=\'javascript:SubmitFormPost(\"' +
strPrevious + '\");return false;\'><img
valign=\"abs_bottom\" src=\"_layouts/images/marrrtl.gif\"
border=\"0\">Previous</a>');
}
else
{
document.write(' ');
}
}
</script>
<table
border="0" cellpadding="0" cellspacing="0"
width="100%" id="Tasks">
<tr>
<td
class="ms-smallsectionline" width="45"
align="center"><%Status Header%></td>
<td
class="ms-smallsectionline" width="*"><%Title
Header%></td>
<td
class="ms-smallsectionline" width="20%"><%Assigned To
Header%></td>
<td
class="ms-smallsectionline" width="15%"><%Due Date
Header%></td>
<td
class="ms-smallsectionline" width="15%"><%Priority
Header%></td>
</tr>
<END>
<tr>
<td
class="ms-smallsectionline" width="45"><p
align="center"><a
href="<%EditItemURL%>"><script
language="javascript">StatusImage('<%Status%>');</script></a></td>
<td
class="ms-smallsectionline" width="*"><a
href="<%DisplayItemURL%>"><%Title%></a> </td>
<td
class="ms-smallsectionline" width="20%"><%Assigned
To%> </td>
<td
class="ms-smallsectionline" width="15%"><%Due
Date%> </td>
<td
class="ms-smallsectionline"
width="15%"><%Priority%> </td>
</tr>
<END>
<tr valign="bottom">
<td
valign="abs_bottom" align="left"
colspan="3"><script language="javascript">ShowPrevious('<%PreviousURL%>')</script></td>
<td
valign="abs_bottom" align="right"
colspan="2"><script language="javascript">ShowNext('<%NextURL%>')</script></td>
</tr>
</table>
<br><b>Status
Key</b></font>
<table
border="1" width="100%" id="table2"
style="border-collapse: collapse">
<tr>
<td width="16">
<img
border="0" src="images/unknown.png" width="16"
height="16"></td>
<td><font
face="Arial" style="font-size: 8pt">Not
Started</font></td>
<td
width="16"><font face="Arial" style="font-size:
8pt">
<img
border="0" src="images/information.png"
width="16" height="16"></font></td>
<td><font
face="Arial" style="font-size: 8pt">In
Progress</font></td>
<td
width="16"><font face="Arial" style="font-size:
8pt">
<img
border="0" src="images/check.png" width="16"
height="16"></font></td>
<td><font
face="Arial" style="font-size:
8pt">Completed</font></td>
<td
width="16"><font face="Arial" style="font-size:
8pt">
<img
border="0" src="images/checks.png" width="16"
height="16"></font></td>
<td><font
face="Arial" style="font-size: 8pt">Deferred</font></td>
<td
width="16"><font face="Arial" style="font-size:
8pt">
<img
border="0" src="images/stop.png" width="16"
height="16"></font></td>
<td><font
face="Arial" style="font-size: 8pt">Waiting On Someone
Else</font></td>
</tr>
</table>
]]>
</Display>
<DateFormat
xmlns="CorasWSC.Task.SpreadSheet.RollUp">MM/dd/yyyy</DateFormat>
This section walks through the process of using JavaScript
to enhance the capabilities of CorasWorks web parts. For the purposes of these
procedures, the Finance tab and the Totals view of the Travel Expense Approvals
solution is discussed, where the Total Expenses listed in each Expense Report
are dynamically added together.
For the CorasWorks Travel Expense Total, three web parts are
required:
o Two Content Editor web parts – The
first Content Editor web part (JavaScript Starter.dwp) is used to initialize
the variables and to define the JavaScript functions, while the other (Total
JavaScript.dwp) is used to display a grand total of all the groups’ expenses.
o One Spreadsheet Roll-Up Advanced – The
main work of the Travel Expense Total is done in Spreadsheet Roll-Up Advanced
(Travel Expense Total.dwp), which creates a table to display all of the
necessary fields, implements the JavaScript functions defined in the Content
Editor web part, and displays a total for each group.
While the Content Editor Web Parts allow the addition of
scripts through a Source button in the web part properties, it is necessary to
modify the DWP of the Spreadsheet Roll-Up Advanced to get the desired
functionality.
As implemented in the Travel Expense Total, totaling uses
two Content Editor web parts:
1. JavaScript Starter (click here)
o Creates two variables:
o intCompleteTotal
o intGroupedTotal
o Defines two functions:
o Round – Rounds a number to X decimal
places
o Cent – Returns an amount in a $.99
format
2. Total JavaScript (click here)
o Displays cent(intCompleteTotal)
IMPORTANT! When
copying and pasting from the online help into FrontPage, hard returns may be
inserted. These will need to be removed to avoid any errors.
A specially modified Spreadsheet Roll-Up Advanced (Travel
Expense Total.dwp) calls the JavaScript functions and displays groups and group
totals. The table is hard-coded in the
Display property of the Travel Expense Total.dwp file (click here). There are four calls to JavaScript variables
and functions in the Display property:
1. <script
language="javascript">
intGroupedTotal = 0;
</script>
2. <script
language="javascript">
document.write('$' + cent(<%Total Expenses%>));
</script>
3. <script
language="javascript">
intCompleteTotal = intCompleteTotal + <%Total Expenses%>;
intGroupedTotal = intGroupedTotal + <%Total Expenses%>;
</script>
4. <script
language="javascript">
document.write('$' + cent(intGroupedTotal));
</script>
If you look at the table in Spreadsheet Roll-Up Advanced,
you will see that a number of fields from the List being searched are
referenced with a “%”, both before and after the item. These include both the field headers (%Report
Title Header%, %Status Header%, %Created Header%, %Total Expenses Header%) and
the field values (%EditItemURL%, %DisplayItemURL%, %Report Title%, %Status%,
%Created%, %Total Expenses%). These are
the fields available to you while building your custom solution with Expense
Reports.
These procedures assume that the CorasWorks’ Workplace
Wizard™ has been used to build the complete Travel Expense Approvals solution
at http://site/TravelExpApprovals/ and the solution has been populated with
travel expense requests. There is a
personal dashboard at http://site/yoursite/, where a Travel Expense Total
roll-up will be created that mirrors the Travel Expense Total roll-up found at http://site/TravelExpApprovals/CTab3.aspx.
1. Add a Content Editor web part
to the zone where the modified roll-up will be displayed.
2. Modify the web part properties
of the Content Editor web part.
o In the Appearance Properties, change
the Title to JavaScript Starter.
o In Layout Properties, disable the
Visible on Page option and then ensure that Part Order = 1.
o Open the Source Editor and paste in the
following code, then click Save and
then OK:
<script language="javascript">
var intCompleteTotal = 0;
var intGroupedTotal = 0;
function round(number,X) {
// rounds number to X decimal places, defaults to 2
X = (!X ? 2 : X);
return
Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}
function cent(amount) {
// returns the amount in the .99 format
amount -= 0;
return
round((amount == Math.floor(amount)) ? amount + '.00' : ( (amount*10 == Math.floor(amount*10)) ? amount
+ '0' : amount));
}
</script>
1. Add a Document Spreadsheet
Roll-Up Advanced web part to the zone where the modified roll-up will be
displayed.
2. Export the roll-up as a .dwp
file.
o Click on the Actions menu and then Export…
o Save the file onto your computer as
Travel Expense Total.dwp
3. Delete the generic Spreadsheet
Roll-Up Advanced from your site.
o Click on the Actions menu and then Delete
o Click OK
to confirm
4. Edit Travel Expense Total.dwp
on your computer
o Change the Title of the web part by
replacing the text between the <Title></Title> tags with “Travel
Expense Total”
o Insert this content (click here) between the last
property tag, <TypeName></TypeName>, and before the closing tag,
</WebPart>
5. Be sure to modify the
highlighted portions to customize the roll-up for your Travel Expense Approvals
site, and then save the Travel Expense Total.dwp file.
6. Import the modified web part
to your personal site.
o Click Modify Shared Page/Add Web
Parts/Import
o Enter the name and location of your
.dwp file or click Browse to find it on your computer
o Click Upload
7. Drag the uploaded web part to
the zone where it should be displayed, ensuring that its Part Order places it
below the JavaScript Starter.
8. Select your list in the web
part’s administration interface. When
you close the administration interface, the Travel Expense Requests will roll
up immediately.
1. Add a Content
Editor web part to a zone below where you want the modified roll-up to be
displayed.
2. Modify the web
part properties of your new Content Editor Web Part.
o In Appearance Properties, change the
Title to “Total JavaScript”
o Open the Source Editor and paste in the
following code:
<br><H2>Total Expenses: <FONT
style="BACKGROUND-COLOR: transparent" color=#000080>
<script language="javascript">
document.write('$' + cent(intCompleteTotal));
</script>
</FONT></H2>
o Click OK
and then click Save.
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Javascript Starter</Title>
<FrameType>None</FrameType>
<Description>Use for formatted text,
tables, and images.</Description>
<IsIncluded>true</IsIncluded>
<ZoneID>{3F4B22F0-3142-4562-A3A9-6C000C55E1E8}</ZoneID>
<PartOrder>1</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink />
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly />
<PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>Microsoft.SharePoint,
Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
<ContentLink
xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor" />
<Content
xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<script
language="javascript">
var
intCompleteTotal = 0;
var
intGroupedTotal = 0;
function
round(number,X) {
//
rounds number to X decimal places, defaults to 2
X = (!X ? 2 : X);
return
Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}
function
cent(amount) {
//
returns the amount in the .99 format
amount -= 0;
return round((amount == Math.floor(amount))
? amount + '.00' : ( (amount*10 ==
Math.floor(amount*10)) ? amount
+
'0' : amount));
}
</script>]]></Content>
<PartStorage xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"
/>
</WebPart>
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Travel Expense
Total</Title>
<FrameType>Default</FrameType>
<Description />
<IsIncluded>true</IsIncluded>
<ZoneID>{3F4B22F0-3142-4562-A3A9-6C000C55E1E8}</ZoneID>
<PartOrder>2</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://download.corasworks.net/WPSupport/Adv-RollUp-Spreadsheet/default.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has
failed to load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[CorasWSC.Document.Spreadsheet.Rollup.Adv - Created with Roll-Up Wizard] and
the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/Document.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Document.Spreadsheet.Rollup.Adv,
Version=51.0.28.3, Culture=neutral,
PublicKeyToken=bc991cc32b483a9c</Assembly>
<TypeName>CorasWSC.Document.SpreadSheet.RollUp.Adv</TypeName>
<Display xmlns="CorasWSC.Document.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0>
<tr>
<th
class="ms-smallsectionline" width=1%> </th>
<th
class="ms-smallsectionline" align=left width=40%><%Report Title
Header%></th>
<th
class="ms-smallsectionline" align=left width=25%><%Status
Header%></th>
<th
class="ms-smallsectionline" align=left width=15%><%Created
Header%></th>
<th
class="ms-smallsectionline" align=right width=20%><%Total
Expenses Header%>
</tr>
<script
language="javascript">
intGroupedTotal = 0;
</script>
<END>
<tr>
<td
class="ms-smallsectionline"><a
href="<%EditItemURL%>"><img
src="_layouts/images/edit.gif"
border="0"></a> </td>
<td
class="ms-smallsectionline"><a
href="<%DisplayItemURL%>"><%Report
Title%></a></td>
<td
class="ms-smallsectionline"><%Status%></td>
<td
class="ms-smallsectionline"><%Created%></td>
<td align=right
class="ms-smallsectionline">
<script
language="javascript">
document.write('$' +
cent(<%Total Expenses%>));
</script>
</td>
</tr>
<script
language="javascript">
intCompleteTotal =
intCompleteTotal + <%Total Expenses%>;
intGroupedTotal =
intGroupedTotal + <%Total Expenses%>;
</script>
<END>
<tr>
<td
colspan=3> </td>
<th
align=right>Total: </td>
<td align=right>
<script
language="javascript">
document.write('$' + cent(intGroupedTotal));
</script>
</td>
</tr>
</table>]]></Display>
<GoDirectlyToItem
xmlns="CorasWSC.Document.SpreadSheet.RollUp">true</GoDirectlyToItem>
<ShowIcons
xmlns="CorasWSC.Document.SpreadSheet.RollUp">false</ShowIcons>
<SchemaUsed xmlns="CorasWSC.Document.SpreadSheet.RollUp">TEF0004</SchemaUsed>
<ListTemplates
xmlns="CorasWSC.Document.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>XMLForm</ListType><ListTypeName>TEF0005</ListTypeName><NumberOfFields>22</NumberOfFields><OrderBy>ReportTitle,
Status, CreatedBy, CreatedDATE, ManagerName,
TotalExpenses</OrderBy><ListFields>Report
Title,Status,Created By,Created~DATE,Manager Name,Total
Expenses</ListFields><DisplayPer>,,,,,</DisplayPer><SearchFields>Report
Title,Status,Created By,Modified By,Modified,Created~DATE,Manager Name,Total
Expenses</SearchFields></List></Lists></ListTemplates>
<ShowAdmin xmlns="CorasWSC.Document.SpreadSheet.RollUp">true</ShowAdmin>
<DynamicGrouping
xmlns="CorasWSC.Document.SpreadSheet.RollUp">Status</DynamicGrouping>
<DynamicGroupingProperties
xmlns="CorasWSC.Document.SpreadSheet.RollUp">blue,font-family:
Verdana; font-size: 8pt; color: white; font-weight:
bold,true</DynamicGroupingProperties>
<DateFormat
xmlns="CorasWSC.Document.SpreadSheet.RollUp">MM/dd/yyyy</DateFormat>
</WebPart>
<?xml
version="1.0" encoding="utf-8"?>
<WebPart
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Travel Expense
Total</Title>
<FrameType>Default</FrameType>
<Description />
<IsIncluded>true</IsIncluded>
<ZoneID>{3F4B22F0-3142-4562-A3A9-6C000C55E1E8}</ZoneID>
<PartOrder>2</PartOrder>
<FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink>http://download.corasworks.net/WPSupport/Adv-RollUp-Spreadsheet/default.aspx</HelpLink>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>This Web Part has
failed to load due to a missing software file. Please contact CorasWorks
(http://www.corasworks.net) and provide them with the name of the Web Part
[CorasWSC.Document.Spreadsheet.Rollup.Adv - Created with Roll-Up Wizard] and
the URL in your browser.</MissingAssembly>
<PartImageLarge>_WPR_/Document.gif</PartImageLarge>
<IsIncludedFilter />
<Assembly>CorasWSC.Document.Spreadsheet.Rollup.Adv,
Version=51.0.28.3, Culture=neutral, PublicKeyToken=bc991cc32b483a9c</Assembly>
<TypeName>CorasWSC.Document.SpreadSheet.RollUp.Adv</TypeName>
<Display
xmlns="CorasWSC.Document.SpreadSheet.RollUp"><![CDATA[<table
cellpadding=0 cellspacing=0>
<tr>
<th
class="ms-smallsectionline" width=1%> </th>
<th
class="ms-smallsectionline" align=left width=40%><%Report Title
Header%></th>
<th
class="ms-smallsectionline" align=left width=25%><%Status
Header%></th>
<th
class="ms-smallsectionline" align=left width=15%><%Created
Header%></th>
<th
class="ms-smallsectionline" align=right width=20%><%Total
Expenses Header%>
</tr>
<script
language="javascript">
intGroupedTotal
= 0;
</script>
<END>
<tr>
<td
class="ms-smallsectionline"><a
href="<%EditItemURL%>"><img
src="_layouts/images/edit.gif"
border="0"></a> </td>
<td
class="ms-smallsectionline"><a
href="<%DisplayItemURL%>"><%Report
Title%></a></td>
<td
class="ms-smallsectionline"><%Status%></td>
<td
class="ms-smallsectionline"><%Created%></td>
<td
align=right class="ms-smallsectionline">
<script
language="javascript">
document.write('$'
+ cent(<%Total Expenses%>));
</script>
</td>
</tr>
<script
language="javascript">
intCompleteTotal
= intCompleteTotal + <%Total Expenses%>;
intGroupedTotal
= intGroupedTotal + <%Total Expenses%>;
</script>
<END>
<tr>
<td
colspan=3> </td>
<th
align=right>Total: </td>
<td
align=right>
<script
language="javascript">
document.write('$'
+ cent(intGroupedTotal));
</script>
</td>
</tr>
</table>]]></Display>
<ReturnType
xmlns="CorasWSC.Document.SpreadSheet.RollUp">los</ReturnType>
<GoDirectlyToItem xmlns="CorasWSC.Document.SpreadSheet.RollUp">true</GoDirectlyToItem>
<ShowIcons
xmlns="CorasWSC.Document.SpreadSheet.RollUp">false</ShowIcons>
<SchemaUsed
xmlns="CorasWSC.Document.SpreadSheet.RollUp">TEF0004</SchemaUsed>
<LevelCount xmlns="CorasWSC.Document.SpreadSheet.RollUp">3</LevelCount>
<ListTemplates
xmlns="CorasWSC.Document.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>XMLForm</ListType><ListTypeName>TEF0005</ListTypeName><NumberOfFields>22</NumberOfFields><OrderBy>ReportTitle,
Status, CreatedBy, CreatedDATE, ManagerName,
TotalExpenses</OrderBy><ListFields>Report
Title,Status,Created By,Created~DATE,Manager Name,Total Expenses</ListFields><DisplayPer>,,,,,</DisplayPer><SearchFields>Report
Title,Status,Created By,Modified By,Modified,Created~DATE,Manager Name,Total
Expenses</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Document.SpreadSheet.RollUp">false</ShowAdmin>
<DynamicGrouping
xmlns="CorasWSC.Document.SpreadSheet.RollUp">Status</DynamicGrouping>
<DynamicGroupingProperties
xmlns="CorasWSC.Document.SpreadSheet.RollUp">blue,font-family:
Verdana; font-size: 8pt; color: white; font-weight:
bold,true</DynamicGroupingProperties>
<DateFormat
xmlns="CorasWSC.Document.SpreadSheet.RollUp">MM/dd/yyyy</DateFormat>
</WebPart>
<Display
xmlns="CorasWSC.Document.SpreadSheet.RollUp"><![CDATA[`<table
cellpadding=0 cellspacing=0>
<tr>
<th
class="ms-smallsectionline" width=1%> </th>
<th
class="ms-smallsectionline" align=left width=40%><%Report Title
Header%></th>
<th
class="ms-smallsectionline" align=left width=25%><%Status
Header%></th>
<th
class="ms-smallsectionline" align=left width=15%><%Created
Header%></th>
<th
class="ms-smallsectionline" align=right width=20%><%Total
Expenses Header%>
</tr>
<script
language="javascript">
intGroupedTotal
= 0;
</script>
<END>
<tr>
<td
class="ms-smallsectionline"><a
href="<%EditItemURL%>"><img
src="_layouts/images/edit.gif"
border="0"></a> </td>
<td
class="ms-smallsectionline"><a
href="<%DisplayItemURL%>"><%Report
Title%></a></td>
<td class="ms-smallsectionline"><%Status%></td>
<td
class="ms-smallsectionline"><%Created%></td>
<td
align=right class="ms-smallsectionline">
<script
language="javascript">
document.write('$'
+ cent(<%Total Expenses%>));
</script>
</td>
</tr>
<script
language="javascript">
intCompleteTotal
= intCompleteTotal + <%Total Expenses%>;
intGroupedTotal
= intGroupedTotal + <%Total Expenses%>;
</script>
<END>
<tr>
<td
colspan=3> </td>
<th
align=right>Total: </td>
<td
align=right>
<script
language="javascript">
document.write('$'
+ cent(intGroupedTotal));
</script>
</td>
</tr>
</table>]]></Display>
<ReturnType
xmlns="CorasWSC.Document.SpreadSheet.RollUp">los</ReturnType>
<GoDirectlyToItem
xmlns="CorasWSC.Document.SpreadSheet.RollUp">true</GoDirectlyToItem>
<ShowIcons
xmlns="CorasWSC.Document.SpreadSheet.RollUp">false</ShowIcons>
<SiteURL
xmlns="CorasWSC.Document.SpreadSheet.RollUp">http://site/TravelExpApprovals/</SiteURL>
<LevelCount
xmlns="CorasWSC.Document.SpreadSheet.RollUp">3</LevelCount>
<ListTemplates
xmlns="CorasWSC.Document.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>XMLForm</ListType><ListTypeName>TEF0005</ListTypeName><NumberOfFields>22</NumberOfFields><OrderBy>ReportTitle,
Status, CreatedBy, CreatedDATE, ManagerName,
TotalExpenses</OrderBy><ListFields>Report
Title,Status,Created By,Created~DATE,Manager Name,Total
Expenses</ListFields><DisplayPer>,,,,,</DisplayPer><SearchFields>Report
Title,Status,Created By,Modified By,Modified,Created~DATE,Manager Name,Total
Expenses</SearchFields></List></Lists></ListTemplates>
<ShowAdmin
xmlns="CorasWSC.Document.SpreadSheet.RollUp">false</ShowAdmin>
<DynamicGrouping xmlns="CorasWSC.Document.SpreadSheet.RollUp">Status</DynamicGrouping>
<DynamicGroupingProperties
xmlns="CorasWSC.Document.SpreadSheet.RollUp">blue,font-family:
Verdana; font-size: 8pt; color: white; font-weight:
bold,true</DynamicGroupingProperties>
<DateFormat
xmlns="CorasWSC.Document.SpreadSheet.RollUp">MM/dd/yyyy</DateFormat>
This section walks through the process of using the roll-up
display interface and static grouping to enhance the capabilities of your
CorasWorks web parts. For the purposes of this process, a modified picture
library will be utilized to display contacts with pictures of individuals.
Several items are needed for this process:
o Contacts with Pictures List template
o Picture library
o Document SpreadSheet Roll-Up Advanced
web part
o Static grouping displays and display
HTML, made available here, that will alter the display of the roll-up showing a
phonebook-like display of contacts. It is important to note that this contact
phonebook will come from a picture library which has been modified to look and
act like a contact list.
These are the items that need to be changed to alter the
default static grouping and/or display of the web part.
o Display HTML (click here)
o Static Grouping (click here)
o Add a static group for each letter of
the alphabet by last name. The filter has been modified to support the complex
needs required for Contacts with Pictures Static Grouping.
IMPORTANT! When
copying and pasting from the online help into FrontPage, hard returns may be
inserted. These will need to be removed to avoid any errors.
If you look at the table in Spreadsheet Roll-Up Advanced,
you will see that a number of fields from the List being searched are
referenced with a “%”, both before and after the item. These include the field values
(%EditItemURL%, %DisplayItemURL%, %Company%, %Contact First Name%, %Contact
List Name%, %Status%, %E-mail Address%, %Web Image URL%, %Position%, %Work
Phone%, %Home Phone%, %Mobile Phone%, %Fax Number%, %City%, %Address%, %State%,
%Country%, %Postal Code%, %E-mail Address 2%, %Notes%, %Web Site%). When working with Contacts with Pictures,
these are the fields available to you while building your custom solution.
These procedures begin with the assumption that you have
created a Contact with Pictures List with the Contacts with Picture List template
(provided with the Workplace Suite) in your site and have filled it in with
some test data. You have a personal
dashboard at http://site/yoursite/, where you want add the Contacts with
Pictures roll-up.
1. Add a Document Spreadsheet
Roll-Up Advanced web part to the zone where you want the roll-up to be
displayed.
2. Add the following data to the
Static Grouping property in the Properties section of the web part. It is
recommended that you open the Text Builder for pasting the text. This builder
is available when you click inside the text box for the property and click on
the “…” on the right hand side of the text box. Paste the following text in the
Text Builder:
A;Contact Last Name=%' AND
ContactLastName LIKE 'A%;#DDDDDD;Black;false
<NEW>B;Contact Last Name=%' AND ContactLastName LIKE
'B%;#DDDDDD;Black;false
<NEW>C;Contact Last Name=%' AND ContactLastName LIKE
'C%;#DDDDDD;Black;false
<NEW>D;Contact Last Name=%' AND ContactLastName LIKE
'D%;#DDDDDD;Black;false
<NEW>E;Contact Last Name=%' AND ContactLastName LIKE
'E%;#DDDDDD;Black;false
<NEW>F;Contact Last Name=%' AND ContactLastName LIKE 'F%;#DDDDDD;Black;false
<NEW>G;Contact Last Name=%' AND ContactLastName LIKE
'G%;#DDDDDD;Black;false
<NEW>H;Contact Last Name=%' AND ContactLastName LIKE
'H%;#DDDDDD;Black;false
<NEW>I;Contact Last Name=%' AND ContactLastName LIKE
'I%;#DDDDDD;Black;false
<NEW>J;Contact Last Name=%' AND ContactLastName LIKE
'J%;#DDDDDD;Black;false
<NEW>K;Contact Last Name=%' AND ContactLastName LIKE
'K%;#DDDDDD;Black;false
<NEW>L;Contact Last Name=%' AND ContactLastName LIKE
'L%;#DDDDDD;Black;false
<NEW>M;Contact Last Name=%' AND ContactLastName LIKE
'M%;#DDDDDD;Black;false
<NEW>N;Contact Last Name=%' AND ContactLastName LIKE
'N%;#DDDDDD;Black;false
<NEW>O;Contact Last Name=%' AND ContactLastName LIKE
'O%;#DDDDDD;Black;false
<NEW>P;Contact Last Name=%' AND ContactLastName LIKE 'P%;#DDDDDD;Black;false
<NEW>Q;Contact Last Name=%' AND ContactLastName LIKE
'Q%;#DDDDDD;Black;false
<NEW>R;Contact Last Name=%' AND ContactLastName LIKE
'R%;#DDDDDD;Black;false
<NEW>S;Contact Last Name=%' AND ContactLastName LIKE
'S%;#DDDDDD;Black;false
<NEW>T;Contact Last Name=%' AND ContactLastName LIKE
'T%;#DDDDDD;Black;false
<NEW>U;Contact Last Name=%' AND ContactLastName LIKE
'U%;#DDDDDD;Black;false
<NEW>V;Contact Last Name=%' AND ContactLastName LIKE
'V%;#DDDDDD;Black;false
<NEW>W;Contact Last Name=%' AND ContactLastName LIKE
'W%;#DDDDDD;Black;false
<NEW>X;Contact Last Name=%' AND ContactLastName LIKE
'X%;#DDDDDD;Black;false
<NEW>Y;Contact Last Name=%' AND ContactLastName LIKE
'Y%;#DDDDDD;Black;false
<NEW>Z;Contact Last Name=%' AND ContactLastName LIKE 'Z%;#DDDDDD;Black;false
3. Export
the roll-up as a .dwp file
o Click
on the Actions menu and then Export…
o Save
the file on your computer as Contacts with Pictures.dwp
4. Delete the generic Spreadsheet Roll-Up Advanced from your site.
o Click
on the Actions menu and then Delete
o Click
OK to confirm
5. Edit Contacts with Pictures.dwp on your computer
o Change
the Title of the web part by replacing the text between the
<Title></Title> tags with Contacts with Pictures
o Insert
these contents (click here)
between the last property tag
o Save
your .dwp file.
6. Import your modified web part to your personal site,
http://site/yoursite/.
o Click
Modify Shared Page -> Add Web Parts -> Import
o Enter
the name and location of your .dwp file or Click Browse to find it on your
computer.
o Click
Upload.
7. Drag the uploaded web part to
the zone where you want the roll-up to be displayed. The administration interface is displayed,
where you can choose the sites and lists from which you wish to roll up data.
8. Once you have finished making
these selections, close the administration interface. You will see the contacts roll up into each
static group. Each static group will include a count at each letter, so choose
one that has an amount greater than 0 and expand it.
<END>
<table
border="1" style="border-collapse: collapse; border: 1px dotted
#000080" width="100%" id="table1">
<tr>
<td
rowspan="9" width="30%" align="center">
<a
href="<%DisplayItemURL%>"><img border="0"
src="<%Web Image URL%>" width="100"
height="126"></a></td>
<td><font
face="Arial"><b><font size="2"><a
href="mailto:<%E-mail Address%>">
<span
style="text-decoration: none"><%Contact First Name%>
<%Contact Last Name%></span>
</a></font></b><font
size="2"></font>
<a
href="<%EditItemURL%>"><font color="#000080"
style="font-size: 8.5pt">[Edit]</font></a>
</font>
</td>
</tr>
<tr>
<td>
<font
face="Arial" size="2"><%Position%>, <a
href="<%Web Site%>">
<span
style="text-decoration: none"><%Company%></span>
</a></font>
</td>
</tr>
<tr><td><font
face="Arial" size="2">Work Phone: <%Work
Phone%></font></td></tr>
<tr><td><font
face="Arial" size="2">Home Phone: <%Home
Phone%></font></td></tr>
<tr><td><font
face="Arial" size="2">Mobile Phone: <%
<tr><td><font
face="Arial" size="2">Fax: <%Fax
Number%></font></td></tr>
<tr><td><font
face="Arial" size="2"><%Address%><br><
<tr>
<td>
<font
face="Arial" size="2">Sec. Email Address: <a
href="mailto:<%E-mail Address 2%>">
<span
style="text-decoration: none"><%E-mail Address
2%></span>
</a></font>
</td>
</tr>
<tr><td><font
face="Arial" size="2"><b>Notes:</b>
<%Notes%></font></td></tr>
</table>
<END>
A;Contact Last Name=%' AND
ContactLastName LIKE 'A%;#DDDDDD;Black;false
<NEW>B;Contact Last
Name=%' AND ContactLastName LIKE 'B%;#DDDDDD;Black;false
<NEW>C;Contact Last
Name=%' AND ContactLastName LIKE 'C%;#DDDDDD;Black;false
<NEW>D;Contact Last
Name=%' AND ContactLastName LIKE 'D%;#DDDDDD;Black;false
<NEW>E;Contact Last
Name=%' AND ContactLastName LIKE 'E%;#DDDDDD;Black;false
<NEW>F;Contact Last
Name=%' AND ContactLastName LIKE 'F%;#DDDDDD;Black;false
<NEW>G;Contact Last
Name=%' AND ContactLastName LIKE 'G%;#DDDDDD;Black;false
<NEW>H;Contact Last
Name=%' AND ContactLastName LIKE 'H%;#DDDDDD;Black;false
<NEW>I;Contact Last
Name=%' AND ContactLastName LIKE 'I%;#DDDDDD;Black;false
<NEW>J;Contact Last
Name=%' AND ContactLastName LIKE 'J%;#DDDDDD;Black;false
<NEW>K;Contact Last
Name=%' AND ContactLastName LIKE 'K%;#DDDDDD;Black;false
<NEW>L;Contact Last
Name=%' AND ContactLastName LIKE 'L%;#DDDDDD;Black;false
<NEW>M;Contact Last
Name=%' AND ContactLastName LIKE 'M%;#DDDDDD;Black;false
<NEW>N;Contact Last
Name=%' AND ContactLastName LIKE 'N%;#DDDDDD;Black;false
<NEW>O;Contact Last
Name=%' AND ContactLastName LIKE 'O%;#DDDDDD;Black;false
<NEW>P;Contact Last
Name=%' AND ContactLastName LIKE 'P%;#DDDDDD;Black;false
<NEW>Q;Contact Last
Name=%' AND ContactLastName LIKE 'Q%;#DDDDDD;Black;false
<NEW>R;Contact Last
Name=%' AND ContactLastName LIKE 'R%;#DDDDDD;Black;false
<NEW>S;Contact Last
Name=%' AND ContactLastName LIKE 'S%;#DDDDDD;Black;false
<NEW>T;Contact Last
Name=%' AND ContactLastName LIKE 'T%;#DDDDDD;Black;false
<NEW>U;Contact Last
Name=%' AND ContactLastName LIKE 'U%;#DDDDDD;Black;false
<NEW>V;Contact Last
Name=%' AND ContactLastName LIKE 'V%;#DDDDDD;Black;false
<NEW>W;Contact Last
Name=%' AND ContactLastName LIKE 'W%;#DDDDDD;Black;false
<NEW>X;Contact Last
Name=%' AND ContactLastName LIKE 'X%;#DDDDDD;Black;false
<NEW>Y;Contact Last
Name=%' AND ContactLastName LIKE 'Y%;#DDDDDD;Black;false
<NEW>Z;Contact Last
Name=%' AND ContactLastName LIKE 'Z%;#DDDDDD;Black;false
<ShowIcons xmlns="CorasWSC.Document.SpreadSheet.RollUp">false</ShowIcons>
<ListTemplates
xmlns="CorasWSC.Document.SpreadSheet.RollUp"><?xml
version='1.0'
?><Lists><List><ListType>PictureLibrary</ListType><ListTypeName>PRC0001</ListTypeName><NumberOfFields>52</NumberOfFields><OrderBy>ContactName,
ContactFirstName,
ContactLastName</OrderBy><ListFields>Contact
Name,Contact First Name,Contact Last Name,E-mail Address,E-mail Address
2,Company,Position,Work Phone,Fax Number,Home Phone,Mobile
Phone,Address,City,State,Postal Code,Country,Web Site,Notes,Web Image
URL</ListFields><DisplayPer>,,,,,,,,,,,,,,,,,,</DisplayPer><SearchFields>Contact
Group,Contact Name,Contact First Name,Contact Last Name,E-mail Address,E-mail
Address 2,Company,Position,Work Phone,Fax Number,Home Phone,Mobile
Phone,Address,City,State,Postal Code,Country,Web Site,Notes,Expires~DATE,Web
Image
URL</SearchFields></List></Lists></ListTemplates>
<Display
xmlns="CorasWSC.Document.SpreadSheet.RollUp">
<![CDATA[
<END>
<table
border="1" style="border-collapse: collapse; border: 1px dotted
#000080" width="100%" id="table1">
<tr>
<td
rowspan="9" width="30%" align="center">
<a
href="<%DisplayItemURL%>"><img border="0"
src="<%Web Image URL%>" width="100"
height="126"></a></td>
<td><font
face="Arial"><b><font size="2"><a
href="mailto:<%E-mail Address%>">
<span
style="text-decoration: none"><%Contact First Name%>
<%Contact Last Name%></span>
</a></font></b><font
size="2"></font>
<a
href="<%EditItemURL%>"><font color="#000080"
style="font-size: 8.5pt">[Edit]</font></a>
</font>
</td>
</tr>
<tr>
<td>
<font
face="Arial" size="2"><%Position%>, <a
href="<%Web Site%>">
<span
style="text-decoration: none"><%Company%></span>
</a></font>
</td>
</tr>
<tr><td><font
face="Arial" size="2">Work Phone: <%Work
Phone%></font></td></tr>
<tr><td><font
face="Arial" size="2">Home Phone: <%Home
Phone%></font></td></tr>
<tr><td><font
face="Arial" size="2">Mobile Phone: <%
<tr><td><font
face="Arial" size="2">Fax: <%Fax
Number%></font></td></tr>
<tr><td><font
face="Arial" size="2"><%Address%><br><
<tr>
<td>
<font
face="Arial" size="2">Sec. Email Address: <a
href="mailto:<%E-mail Address 2%>">
<span
style="text-decoration: none"><%E-mail Address
2%></span>
</a></font>
</td>
</tr>
<tr><td><font
face="Arial" size="2"><b>Notes:</b>
<%Notes%></font></td></tr>
</table>
<END>
]]>
</Display>