<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Pivot Collection Tools for Pivot</title><link>http://pivotcollectiontools.codeplex.com/project/feeds/rss</link><description>This project aims to make a very easy to use set of tools for creating collections for use with Pivot. This project is not made by Live Labs. Live labs makes Pauthor which is at http&amp;#58;&amp;#47;&amp;#47;pauthor.codeplex.com&amp;#47; </description><item><title>Created Issue: LongString not really supported completely [12363]</title><link>http://pivotcollectiontools.codeplex.com/workitem/12363</link><description>the WriteCollectionToFileSystem call when writing out the CXML were not being output with value of &amp;#34;LongString&amp;#34; but &amp;#34;String&amp;#34; so would fail to be read into viewer&lt;br /&gt;</description><author>MikeHamilton</author><pubDate>Mon, 25 Oct 2010 17:46:38 GMT</pubDate><guid isPermaLink="false">Created Issue: LongString not really supported completely [12363] 20101025054638P</guid></item><item><title>Created Issue: FacetName is not escaped out when writing collection [12362]</title><link>http://pivotcollectiontools.codeplex.com/workitem/12362</link><description>I had a face name of &amp;#34;Time &amp;#38; Expense&amp;#34; and the WriteCollectionToFileSystem call works fine and doesn&amp;#39;t error but then when trying ot open the collection get an error on EntityName parsing.&lt;br /&gt;&lt;br /&gt;Its the &amp;#38; character that broke the XML as it was not escaped when writing the CXML file out to file.&lt;br /&gt;</description><author>MikeHamilton</author><pubDate>Mon, 25 Oct 2010 17:43:37 GMT</pubDate><guid isPermaLink="false">Created Issue: FacetName is not escaped out when writing collection [12362] 20101025054337P</guid></item><item><title>Commented Issue: NO Error Handling in WriteCollectionToFileSystem [12331]</title><link>http://pivotcollectiontools.codeplex.com/workitem/12331</link><description>So this error I found is not from the tools code, but an error when calling the collectionCreator.Create code. The sympton I was having was an error would occur and I would try testing a second time and then that would fail because the PivotCollection.log file is locked because the previous error did nto release it as the exception wasnt handled in WriteCollectionToFileSystem&lt;br /&gt;Comments: ** Comment from web user: MikeHamilton ** &lt;p&gt;The error with the collectionCreator.Create call is being caused by the fact the data I am trying to create a collection for actually returned no data, so the creation of the deepzoom images fails because no images were passed in. I will be changing my code to avoid calling the WriteCollectionToFileSystem method if no items were add to the collection.&lt;/p&gt;</description><author>MikeHamilton</author><pubDate>Fri, 22 Oct 2010 21:47:37 GMT</pubDate><guid isPermaLink="false">Commented Issue: NO Error Handling in WriteCollectionToFileSystem [12331] 20101022094737P</guid></item><item><title>Created Issue: NO Error Handling in WriteCollectionToFileSystem [12331]</title><link>http://pivotcollectiontools.codeplex.com/workitem/12331</link><description>So this error I found is not from the tools code, but an error when calling the collectionCreator.Create code. The sympton I was having was an error would occur and I would try testing a second time and then that would fail because the PivotCollection.log file is locked because the previous error did nto release it as the exception wasnt handled in WriteCollectionToFileSystem&lt;br /&gt;</description><author>MikeHamilton</author><pubDate>Fri, 22 Oct 2010 21:43:29 GMT</pubDate><guid isPermaLink="false">Created Issue: NO Error Handling in WriteCollectionToFileSystem [12331] 20101022094329P</guid></item><item><title>Created Issue: NO Error Handling in WriteCollectionToFileSystem [12330]</title><link>http://pivotcollectiontools.codeplex.com/workitem/12330</link><description>So this error I found is not from the tools code, but an error when calling the collectionCreator.Create code. The sympton I was having was an error would occur and I would try testing a second time and then that would fail because the PivotCollection.log file is locked because the previous error did nto release it as the exception wasnt handled in WriteCollectionToFileSystem&lt;br /&gt;</description><author>MikeHamilton</author><pubDate>Fri, 22 Oct 2010 21:43:25 GMT</pubDate><guid isPermaLink="false">Created Issue: NO Error Handling in WriteCollectionToFileSystem [12330] 20101022094325P</guid></item><item><title>Commented Issue: DateTime facets are screwy [9563]</title><link>http://pivotcollectiontools.codeplex.com/workitem/9563</link><description>Currently DateTime facets are hit or miss if the will work. &lt;br /&gt;I need to add to PivotItemAttribute the ability to define the format to use when parsing the date. &lt;br /&gt;Also it would make sense to have the PivotCollection try to parse the value of the DateTime facet and if it fails just remove it so that the entire collection doesn&amp;#39;t bomb out on load&lt;br /&gt;Comments: ** Comment from web user: MikeHamilton ** &lt;p&gt;I added to the code I downloaded the ability to set Format String on a fact through the attribute. I would zip and attach the code but I also added some other stuff for filenaming when doig the WriteCollectionToFileSystem call.&lt;/p&gt;</description><author>MikeHamilton</author><pubDate>Fri, 08 Oct 2010 18:21:56 GMT</pubDate><guid isPermaLink="false">Commented Issue: DateTime facets are screwy [9563] 20101008062156P</guid></item><item><title>Created Issue: IsHerf should be IsHref for PivotItem Attribute [12084]</title><link>http://pivotcollectiontools.codeplex.com/workitem/12084</link><description>Just downloaded today &amp;#40;10&amp;#47;6&amp;#47;2010&amp;#41; the tools and built them and when trying to use in a project I found that for the PivotItem attribute there is a typo for one of the values.&lt;br /&gt;&lt;br /&gt;when setting a property as a HRef for a class using the PivotItem attribute&lt;br /&gt;&lt;br /&gt;&amp;#91;PivotItem&amp;#40;IsHerf &amp;#61; true&amp;#41;&amp;#93;&lt;br /&gt;</description><author>MikeHamilton</author><pubDate>Wed, 06 Oct 2010 19:55:02 GMT</pubDate><guid isPermaLink="false">Created Issue: IsHerf should be IsHref for PivotItem Attribute [12084] 20101006075502P</guid></item><item><title>Source code checked in, #63489</title><link>http://pivotcollectiontools.codeplex.com/SourceControl/changeset/changes/63489</link><description>Checked in by server upgrade</description><author>_TFSSERVICE</author><pubDate>Tue, 27 Jul 2010 20:28:19 GMT</pubDate><guid isPermaLink="false">Source code checked in, #63489 20100727082819P</guid></item><item><title>Reviewed: PivotCollectionTools-Beta1 Version 0.9.1024.1 (Jul 08, 2010)</title><link>http://pivotcollectiontools.codeplex.com/releases/view/48115#ReviewBy-adamtoth</link><description>Rated 4 Stars &amp;#40;out of 5&amp;#41; - Great for creating a CXML file programmatically. I had crappy data coming out of SQL Reporting Services reports, and would have had a lot of work to do to massage exported Excel files to get them to work with pauthor command line tools. Instead, I wrote some code to go through the exported files, and then create a CXML file using the Xml classes in this API. Worked a treat&amp;#33;</description><author>adamtoth</author><pubDate>Thu, 08 Jul 2010 23:32:07 GMT</pubDate><guid isPermaLink="false">Reviewed: PivotCollectionTools-Beta1 Version 0.9.1024.1 (Jul 08, 2010) 20100708113207P</guid></item><item><title>New Post: How awesome is the new version?</title><link>http://pivotcollectiontools.codeplex.com/Thread/View.aspx?ThreadId=218052</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I just checked with the judges and it looks like it does!!!!!!!&lt;/p&gt;&lt;/div&gt;</description><author>billhgates</author><pubDate>Fri, 02 Jul 2010 22:13:10 GMT</pubDate><guid isPermaLink="false">New Post: How awesome is the new version? 20100702101310P</guid></item><item><title>New Post: How awesome is the new version?</title><link>http://pivotcollectiontools.codeplex.com/Thread/View.aspx?ThreadId=218052</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I second that, but does our vote count!&lt;/p&gt;&lt;/div&gt;</description><author>y2k4life</author><pubDate>Fri, 02 Jul 2010 21:56:00 GMT</pubDate><guid isPermaLink="false">New Post: How awesome is the new version? 20100702095600P</guid></item><item><title>Source code checked in, #61600</title><link>http://pivotcollectiontools.codeplex.com/SourceControl/changeset/changes/61600</link><description>Add override method ToString to various objects to help with debugging Facet, PivotTableCategory, FacetCategory, and Item. Fixed date time output format for FacetDateTimeType. Easy fix changed XmlAttribute&amp;#40;&amp;#41; to XmlAttribute&amp;#40;DataType&amp;#61;&amp;#34;dateTime&amp;#34;&amp;#41;. Changed property Table setter from private to public in PivotTableProject. Add the ability to map date time facet into PivotTable when using PivotTableBuilder.&amp;#13;&amp;#10;Version 0.9 build 1028 revision 0.</description><author>y2k4life</author><pubDate>Fri, 02 Jul 2010 21:48:52 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61600 20100702094852P</guid></item><item><title>Updated Wiki: Home</title><link>http://pivotcollectiontools.codeplex.com/wikipage?version=15</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;It Is Here!&lt;/h1&gt;&lt;a href="http://www.codeplex.com/site/users/view/y2k4life" class="externalLink"&gt;Guy&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has uploaded the source code to now include the the various ways to create Pivot Collections. There are two different ways to build Pivot Collection one is to us Pivot Collection Attributes on existing business entity objects. Another way is to build a CXML DOM and then populate the DOM along with using a Pivot Table in the same manner as one would use a DataTable in ADO.Net.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.seadragon.com/developer/creating-content/deep-zoom-tools/" class="externalLink"&gt;DeepZoomTools&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; when creating the images for deep zoom&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project aims to make a very easy to use set of tools for creating collections for use with Pivot.&lt;br /&gt;
&lt;h1&gt;Examples&lt;/h1&gt;The two examples below use a class that drives the Facebook Friends Collection from &lt;a href="http://www.anythingtheycando.com/blog/index.php/2009/12/01/facebook-friends-live-collection/" class="externalLink"&gt;my blog&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Attribute Declaration and Reflections&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
public class FacebookUser
{
	[PivotItem(IsName = true)]
	public string Name { get; set; }
	
	[PivotItem(IsDescription = true)]
	public string Desc { get; set; }

	[PivotItem( IsImage = true)]
	public string Image { get; set; }

	[PivotItem(FacetDisplayName = &amp;quot;Books&amp;quot;, FacetType = FacetTypes.String, IsFacet = true,IsCollection = true)]
	public List&amp;lt;string&amp;gt; Books{get;set;}

	[PivotItem(FacetDisplayName = &amp;quot;Gender&amp;quot;, FacetType = FacetTypes.String, IsFacet = true)]
	public string Sex { get; set; }
}

    Console.WindowWidth = 120;
    // this is the xml dump of all your facebook friends created in the Pivot Collection Builder Demo
    // that demo can be found here http://www.anythingtheycando.com/blog/index.php/2009/12/03/facebook-friends-collection-builder/
    // that will allow you to download just download friends and then use the xml output with this app. 
    TextReader tr = new StreamReader(&amp;quot;../../../FacebookFriends.xml&amp;quot;);
    XmlSerializer s = new XmlSerializer(typeof(List&amp;lt;user&amp;gt;));
    var data = s.Deserialize(tr) as List&amp;lt;user&amp;gt;;
    
    
    PivotCollectionTools.BasicCollection.PivotCollection&amp;lt;FacebookUser&amp;gt; friends = new PivotCollection&amp;lt;FacebookUser&amp;gt;();
    // this turns on item image caching ie if two items link to the same image then it will only run it through the deep zoom composer once 
    friends.AllImagesUnique = false;
    // name to display for the collection (shows up in pivot
    friends.CollectionName = &amp;quot;Facebook Friends&amp;quot;;
    
    friends.SupressActionChanged = false;
    // output each step to the console
    friends.ActionChanged += new EventHandler(friends_ActionChanged);

    foreach (user friend in data)
    {
        friends.Items.Add(new FacebookUser(friend));
    }
    // lets build the collection 
    friends.WriteCollectionToFileSystem(&amp;quot;../../../TestAttributes.cxml&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CXML DOM&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
    TextReader tr = new StreamReader(&amp;quot;FacebookFriends.xml&amp;quot;);
    XmlSerializer s = new XmlSerializer(typeof(List&amp;lt;user&amp;gt;));
    var data = s.Deserialize(tr) as List&amp;lt;user&amp;gt;;

    var friends = new PivotXml() { Name = &amp;quot;Facebook Friends&amp;quot;, SchemaVersion = 1.0m };

    friends.AddCategory(new FacetCategory(&amp;quot;Activities&amp;quot;, FacetDataType.String, true, true, true));
    friends.AddCategory(new FacetCategory(&amp;quot;Books&amp;quot;, FacetDataType.String, true, true, true));
    friends.AddCategory(new FacetCategory(&amp;quot;Interests&amp;quot;, FacetDataType.String, true, true, true));

    friends.AddItemList(&amp;quot;image\\imag.xml&amp;quot;);
    int counter = 0;
    foreach (user friend in data)
    {
        var newItem = new Item(counter.ToString()) { Name = friend.name };

        newItem.Facets.AddTextFacet(&amp;quot;Activities&amp;quot;, friend.activities.AsListOfValues());
        newItem.Facets.AddTextFacet(&amp;quot;Books&amp;quot;, friend.books.AsListOfValues());

        friends.ItemList[0].Items.Add(newItem);
        counter++;
    }
    friends.WriteXml(&amp;quot;../../../TestObject.cxml&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
    // Create a CXML DOM from the specified CXML file name.

    PivotXml xml = PivotXml.CreateFromXml(fileName);
    
    foreach (var facetCategory in xml.FacetCategories)
    {
        string name = facetCategory.Name;
        string isFilterVisable = facetCategory.IsFilterVisibleValue;
    }
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
    // Create a CXML DOM from the specified CXML file name.

    PivotXml xml = PivotXml.CreateFromXml(fileName);

    foreach (var item in xml.ItemList[0].Items)
    {
        string name = item.Name;
        decimal x = item.Facets[0].Number[0].Value;
    }
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PivotTable, DataRows, Columns, Categories (Similar to ADO.Net)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
    // Read a CXML into a PivotTable then enumerate thru the DataRows.

    PivotTableBuilder target = new PivotTableBuilder();
    PivotTable table = target.ReadFromXml(fileName);

    foreach (var dataRow in table.DataRows)
    {
        string tackles1 = dataRow.Cells[&amp;quot;Tackles 1&amp;quot;].Value;
        string team= dataRow.Cells[&amp;quot;Team&amp;quot;].Value;
    }
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>y2k4life</author><pubDate>Fri, 02 Jul 2010 02:14:06 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100702021406A</guid></item><item><title>Source code checked in, #61386</title><link>http://pivotcollectiontools.codeplex.com/SourceControl/changeset/changes/61386</link><description>Add test CXML file used for debugging ReadFromXml method in the PivotTableBuilder object.</description><author>y2k4life</author><pubDate>Fri, 02 Jul 2010 00:27:19 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61386 20100702122719A</guid></item><item><title>Source code checked in, #61385</title><link>http://pivotcollectiontools.codeplex.com/SourceControl/changeset/changes/61385</link><description>Fixing and debugging ReadFromXml method in the PivotTableBuilder object. Fixed bugs related to when adding a CXML facet with multiple items. When this would happen the columns need numbering. Add RemoveRow method to PivtoTable object. Fixed bugs with GetNextColumnNameForCategory method. Changed ValueType property from a private setter to public setter. Add method signature to allow passing in a working forld for PivotCollectionBuilder. This folder is where the raw images are located. Removed the PivtoTable field from the PivotTableBuilder no longer need. Planning on moving AddItem method from the PivotTableBuilder into the PivotTable.&amp;#13;&amp;#10;Version 0.9 build 1026 revision 0.&amp;#13;&amp;#10;</description><author>y2k4life</author><pubDate>Fri, 02 Jul 2010 00:20:46 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61385 20100702122046A</guid></item><item><title>Source code checked in, #61384</title><link>http://pivotcollectiontools.codeplex.com/SourceControl/changeset/changes/61384</link><description>Add unit testing for the Library layer.</description><author>y2k4life</author><pubDate>Fri, 02 Jul 2010 00:08:43 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61384 20100702120843A</guid></item><item><title>New Post: How awesome is the new version?</title><link>http://pivotcollectiontools.codeplex.com/Thread/View.aspx?ThreadId=218052</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I vote for awesome!!!!!!&lt;/p&gt;&lt;/div&gt;</description><author>billhgates</author><pubDate>Thu, 01 Jul 2010 18:52:08 GMT</pubDate><guid isPermaLink="false">New Post: How awesome is the new version? 20100701065208P</guid></item><item><title>Updated Wiki: Home</title><link>http://pivotcollectiontools.codeplex.com/wikipage?version=14</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;It Is Here!&lt;/h1&gt;&lt;a href="http://www.codeplex.com/site/users/view/y2k4life" class="externalLink"&gt;Guy&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has uploaded the source code to now include the the various ways to create Pivot Collections. There are two different ways to build Pivot Collection one is to us Pivot Collection Attributes on existing business entity objects. Another way is to build a CXML DOM and then populate the DOM along with using a Pivot Table in the same manner as one would use a DataTable in ADO.Net.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.seadragon.com/developer/creating-content/deep-zoom-tools/" class="externalLink"&gt;DeepZoomTools&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; when creating the images for deep zoom&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project aims to make a very easy to use set of tools for creating collections for use with Pivot.&lt;br /&gt;
&lt;h1&gt;Project Status&lt;/h1&gt;There is now a &lt;b&gt;VERY&lt;/b&gt; easy to use SDK for building Pivot Collections. All you have to do is supply a path to a regular image in one of the properties for the class that stores you collections data structure and the SDK will do all the Deep Zoom stuff for you.  Enjoy and let me know what you think!&lt;br /&gt;
&lt;h1&gt;Examples&lt;/h1&gt;The two examples below use a class that drives the Facebook Friends Collection from &lt;a href="http://www.anythingtheycando.com/blog/index.php/2009/12/01/facebook-friends-live-collection/" class="externalLink"&gt;my blog&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Attribute Declaration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
public class FacebookUser
{
	[PivotItem(IsName = true)]
	public string Name { get; set; }
	
	[PivotItem(IsDescription = true)]
	public string Desc { get; set; }

	[PivotItem( IsImage = true)]
	public string Image { get; set; }

	[PivotItem(FacetDisplayName = &amp;quot;Books&amp;quot;, FacetType = FacetTypes.String, IsFacet = true,IsCollection = true)]
	public List&amp;lt;string&amp;gt; Books{get;set;}

	[PivotItem(FacetDisplayName = &amp;quot;Gender&amp;quot;, FacetType = FacetTypes.String, IsFacet = true)]
	public string Sex { get; set; }
}

    Console.WindowWidth = 120;
    // this is the xml dump of all your facebook friends created in the Pivot Collection Builder Demo
    // that demo can be found here http://www.anythingtheycando.com/blog/index.php/2009/12/03/facebook-friends-collection-builder/
    // that will allow you to download just download friends and then use the xml output with this app. 
    TextReader tr = new StreamReader(&amp;quot;../../../FacebookFriends.xml&amp;quot;);
    XmlSerializer s = new XmlSerializer(typeof(List&amp;lt;user&amp;gt;));
    var data = s.Deserialize(tr) as List&amp;lt;user&amp;gt;;
    
    
    PivotCollectionTools.BasicCollection.PivotCollection&amp;lt;FacebookUser&amp;gt; friends = new PivotCollection&amp;lt;FacebookUser&amp;gt;();
    // this turns on item image caching ie if two items link to the same image then it will only run it through the deep zoom composer once 
    friends.AllImagesUnique = false;
    // name to display for the collection (shows up in pivot
    friends.CollectionName = &amp;quot;Facebook Friends&amp;quot;;
    
    friends.SupressActionChanged = false;
    // output each step to the console
    friends.ActionChanged += new EventHandler(friends_ActionChanged);

    foreach (user friend in data)
    {
        friends.Items.Add(new FacebookUser(friend));
    }
    // lets build the collection 
    friends.WriteCollectionToFileSystem(&amp;quot;../../../TestAttributes.cxml&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CXML DOM and Objects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
    TextReader tr = new StreamReader(&amp;quot;../../../FacebookFriends.xml&amp;quot;);
    XmlSerializer s = new XmlSerializer(typeof(List&amp;lt;user&amp;gt;));
    var data = s.Deserialize(tr) as List&amp;lt;user&amp;gt;;

    var friends = new PivotXml() { Name = &amp;quot;Facebook Friends&amp;quot;, SchemaVersion = 1.0m };

    friends.AddCategory(new FacetCategory(&amp;quot;Activities&amp;quot;, FacetDataType.String, true, true, true));
    friends.AddCategory(new FacetCategory(&amp;quot;Books&amp;quot;, FacetDataType.String, true, true, true));
    friends.AddCategory(new FacetCategory(&amp;quot;Interests&amp;quot;, FacetDataType.String, true, true, true));

    friends.AddItemList(&amp;quot;image\\imag.xml&amp;quot;);
    int counter = 0;
    foreach (user friend in data)
    {
        var newItem = new Item(counter.ToString()) { Name = friend.name };

        newItem.Facets.AddTextFacet(&amp;quot;Activities&amp;quot;, friend.activities.AsListOfValues());
        newItem.Facets.AddTextFacet(&amp;quot;Books&amp;quot;, friend.books.AsListOfValues());

        friends.ItemList[0].Items.Add(newItem);
        counter++;
    }
    friends.WriteXml(&amp;quot;../../../TestObject.cxml&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>y2k4life</author><pubDate>Thu, 01 Jul 2010 01:28:26 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100701012826A</guid></item><item><title>Updated Wiki: Home</title><link>http://pivotcollectiontools.codeplex.com/wikipage?version=13</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;It Is Here&lt;/h1&gt;&lt;a href="http://www.codeplex.com/site/users/view/y2k4life" class="externalLink"&gt;Guy&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has uploaded the source code to now include the the various ways to create Pivot Collections. There are two different ways to build Pivot Collection one is to us Pivot Collection Attributes on existing business entity objects. Another way is to build a CXML DOM and then populate the DOM along with using a Pivot Table in the same manner as one would use a DataTable in ADO.Net.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.seadragon.com/developer/creating-content/deep-zoom-tools/" class="externalLink"&gt;DeepZoomTools&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; when creating the images for deep zoom&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project aims to make a very easy to use set of tools for creating collections for use with Pivot.&lt;br /&gt;
&lt;h1&gt;Project Status&lt;/h1&gt;There is now a &lt;b&gt;VERY&lt;/b&gt; easy to use SDK for building Pivot Collections. All you have to do is supply a path to a regular image in one of the properties for the class that stores you collections data structure and the SDK will do all the Deep Zoom stuff for you.  Enjoy and let me know what you think!&lt;br /&gt;
&lt;h1&gt;Examples&lt;/h1&gt;The two examples below use a class that drives the Facebook Friends Collection from &lt;a href="http://www.anythingtheycando.com/blog/index.php/2009/12/01/facebook-friends-live-collection/" class="externalLink"&gt;my blog&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Attribute Declaration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
public class FacebookUser
{
	[PivotItem(IsName = true)]
	public string Name { get; set; }
	
	[PivotItem(IsDescription = true)]
	public string Desc { get; set; }

	[PivotItem( IsImage = true)]
	public string Image { get; set; }

	[PivotItem(FacetDisplayName = &amp;quot;Books&amp;quot;, FacetType = FacetTypes.String, IsFacet = true,IsCollection = true)]
	public List&amp;lt;string&amp;gt; Books{get;set;}

	[PivotItem(FacetDisplayName = &amp;quot;Gender&amp;quot;, FacetType = FacetTypes.String, IsFacet = true)]
	public string Sex { get; set; }
}

    Console.WindowWidth = 120;
    // this is the xml dump of all your facebook friends created in the Pivot Collection Builder Demo
    // that demo can be found here http://www.anythingtheycando.com/blog/index.php/2009/12/03/facebook-friends-collection-builder/
    // that will allow you to download just download friends and then use the xml output with this app. 
    TextReader tr = new StreamReader(&amp;quot;../../../FacebookFriends.xml&amp;quot;);
    XmlSerializer s = new XmlSerializer(typeof(List&amp;lt;user&amp;gt;));
    var data = s.Deserialize(tr) as List&amp;lt;user&amp;gt;;
    
    
    PivotCollectionTools.BasicCollection.PivotCollection&amp;lt;FacebookUser&amp;gt; friends = new PivotCollection&amp;lt;FacebookUser&amp;gt;();
    // this turns on item image caching ie if two items link to the same image then it will only run it through the deep zoom composer once 
    friends.AllImagesUnique = false;
    // name to display for the collection (shows up in pivot
    friends.CollectionName = &amp;quot;Facebook Friends&amp;quot;;
    
    friends.SupressActionChanged = false;
    // output each step to the console
    friends.ActionChanged += new EventHandler(friends_ActionChanged);

    foreach (user friend in data)
    {
        friends.Items.Add(new FacebookUser(friend));
    }
    // lets build the collection 
    friends.WriteCollectionToFileSystem(&amp;quot;../../../TestAttributes.cxml&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CXML DOM and Objects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
    TextReader tr = new StreamReader(&amp;quot;../../../FacebookFriends.xml&amp;quot;);
    XmlSerializer s = new XmlSerializer(typeof(List&amp;lt;user&amp;gt;));
    var data = s.Deserialize(tr) as List&amp;lt;user&amp;gt;;

    var friends = new PivotXml() { Name = &amp;quot;Facebook Friends&amp;quot;, SchemaVersion = 1.0m };

    friends.AddCategory(new FacetCategory(&amp;quot;Activities&amp;quot;, FacetDataType.String, true, true, true));
    friends.AddCategory(new FacetCategory(&amp;quot;Books&amp;quot;, FacetDataType.String, true, true, true));
    friends.AddCategory(new FacetCategory(&amp;quot;Interests&amp;quot;, FacetDataType.String, true, true, true));

    friends.AddItemList(&amp;quot;image\\imag.xml&amp;quot;);
    int counter = 0;
    foreach (user friend in data)
    {
        var newItem = new Item(counter.ToString()) { Name = friend.name };

        newItem.Facets.AddTextFacet(&amp;quot;Activities&amp;quot;, friend.activities.AsListOfValues());
        newItem.Facets.AddTextFacet(&amp;quot;Books&amp;quot;, friend.books.AsListOfValues());

        friends.ItemList[0].Items.Add(newItem);
        counter++;
    }
    friends.WriteXml(&amp;quot;../../../TestObject.cxml&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>y2k4life</author><pubDate>Thu, 01 Jul 2010 01:27:46 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100701012746A</guid></item><item><title>Updated Release: PivotCollectionTools-Beta1 Version 0.9.1024.1 (Jun 30, 2010)</title><link>http://pivotcollectiontools.codeplex.com/releases/view/48115</link><description>&lt;div class="wikidoc"&gt;This download is the source code for the Pivot Collection Tools library. This library is to help programmers write applications to build a Pivot Collection. This library helps programmers build the DeepZoom content and all other requirements for a Pivot Collection. This release is a combination of two different approaches to building a Pivot Collection. One implementation uses reflections and Attribute Declaration to build a Pivot Collection. Another implementation provides a CXML DOM and a Pivot Table similar to a DateTable in ADO.Net.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note: There was a minor revision that addresses a typo in a folder and namespace &amp;lt;pie on my face&amp;gt;. In addition I added any assembly referenced in the projects&lt;/b&gt; -guy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;One more thing the &amp;quot;The project location is not trusted&amp;quot; dialog box&lt;/b&gt;&lt;br /&gt;UNBLOCKING THE ZIP FILE:
&lt;ol&gt;&lt;li&gt;Locate the downloaded file in Windows Explorer.&lt;/li&gt;
&lt;li&gt;Right-click on the file and select &amp;quot;Properties&amp;quot;.&lt;/li&gt;
&lt;li&gt;On the General tab of the Properties dialog, locate the &amp;quot;Unblock&amp;quot; button in the lower right-hand corner and press it.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>y2k4life</author><pubDate>Thu, 01 Jul 2010 01:25:58 GMT</pubDate><guid isPermaLink="false">Updated Release: PivotCollectionTools-Beta1 Version 0.9.1024.1 (Jun 30, 2010) 20100701012558A</guid></item></channel></rss>
