<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>GWSV12Helpers Work Item Rss Feed</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/List.aspx</link><description>GWSV12Helpers Work Item Rss Description</description><item><title>Commented Issue: Update for Groove 2010 [28564]</title><link>http://gwsv12helpers.codeplex.com/workitem/28564</link><description>Changes with Groove 14 &amp;#40;2010&amp;#41; broke release 8.. I think the changes are small to fix this..&lt;br /&gt;Comments: ** Comment from web user: jchristman3 ** &lt;p&gt;See my comments in this discussion&amp;#58;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;gwsv12helpers.codeplex.com&amp;#47;Thread&amp;#47;View.aspx&amp;#63;ThreadId&amp;#61;223545 &lt;/p&gt;</description><author>jchristman3</author><pubDate>Sat, 14 Aug 2010 01:37:13 GMT</pubDate><guid isPermaLink="false">Commented Issue: Update for Groove 2010 [28564] 20100814013713A</guid></item><item><title>Created Issue: Update for Groove 2010 [28564]</title><link>http://gwsv12helpers.codeplex.com/workitem/28564</link><description>Changes with Groove 14 &amp;#40;2010&amp;#41; broke release 8.. I think the changes are small to fix this..&lt;br /&gt;</description><author>jchristman3</author><pubDate>Sat, 14 Aug 2010 01:36:33 GMT</pubDate><guid isPermaLink="false">Created Issue: Update for Groove 2010 [28564] 20100814013633A</guid></item><item><title>Commented Issue: Exception throw : Unable to find HKLM_GrooveRegKey [14997]</title><link>http://gwsv12helpers.codeplex.com/workitem/14997</link><description>I&amp;#39;ve just download the &amp;#34;GrooveWebServicesV12HelpersProjects_Binaries.zip&amp;#34; archive from the &amp;#34;Release 8&amp;#34;.&lt;br /&gt;I&amp;#39;ve launched &amp;#34;GrooveWebServicesv12HelpersTestHarness.exe&amp;#34; and it throw a &amp;#34;Unable to find HKLM_GrooveRegKey&amp;#34; &amp;#40;see the attachement file&amp;#41;.&lt;br /&gt;&lt;br /&gt;- Windows Vista 64Bits build 6.0.6000&lt;br /&gt;- Microsoft Office Professional 2007 SP1 installed&lt;br /&gt;- Microsoft Office Groove 2007 installed &amp;#40;4.2.0.2623&amp;#41; SP1 MSO &amp;#40;12.0.6213.1000&amp;#41;&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve checked your source and see that you read the HKLM&amp;#92;Software&amp;#92;Microsoft&amp;#92;Office&amp;#92;12.0&amp;#92;Groove key, but there&amp;#39;s nothing there in my registry.&lt;br /&gt;&amp;#40;Line 199 of context.cs&amp;#41; &amp;#58;&lt;br /&gt;&amp;#47;&amp;#47;  Look for Groove 12 client registry key first&lt;br /&gt;Microsoft.Win32.RegistryKey HKLM_GrooveRegKey &amp;#61; Microsoft.Win32.Registry.LocalMachine.OpenSubKey&amp;#40;GrooveWebServicesV12Helpers.Shared.GROOVE_12_REG_KEY&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;Is there a workaround or a fix &amp;#63;&lt;br /&gt;Comments: ** Comment from web user: jchristman3 ** &lt;p&gt;I fixed this by pairing the Versions with the keys higher in code, and removing the code you are looking at&amp;#58;&lt;/p&gt;&lt;p&gt;                    &amp;#47;&amp;#47;  Look for Groove 14 client registry key first&lt;br /&gt;                    Microsoft.Win32.RegistryKey HKCU_GrooveWebServicesRegKey &amp;#61; i_RealHKCU.OpenSubKey&amp;#40;GrooveWebServicesV12Helpers.Shared.GROOVE_14_WEB_SERVICES_REG_KEY&amp;#41;&amp;#59;&lt;br /&gt;                    if &amp;#40;HKCU_GrooveWebServicesRegKey &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        CurrentVersion &amp;#61; &amp;#34;14.0&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                    else &amp;#47;&amp;#47;  Look for Groove 12 client registry key second&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        HKCU_GrooveWebServicesRegKey &amp;#61; i_RealHKCU.OpenSubKey&amp;#40;GrooveWebServicesV12Helpers.Shared.GROOVE_12_WEB_SERVICES_REG_KEY&amp;#41;&amp;#59;&lt;br /&gt;                        if &amp;#40;HKCU_GrooveWebServicesRegKey &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;                            CurrentVersion &amp;#61; &amp;#34;12.0&amp;#34;&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;/p&gt;</description><author>jchristman3</author><pubDate>Sat, 14 Aug 2010 01:34:51 GMT</pubDate><guid isPermaLink="false">Commented Issue: Exception throw : Unable to find HKLM_GrooveRegKey [14997] 20100814013451A</guid></item><item><title>Commented Issue: Exception throw : Unable to find HKLM_GrooveRegKey</title><link>http://gwsv12helpers.codeplex.com/WorkItem/View.aspx?WorkItemId=14997</link><description>I&amp;#39;ve just download the &amp;#34;GrooveWebServicesV12HelpersProjects_Binaries.zip&amp;#34; archive from the &amp;#34;Release 8&amp;#34;.&lt;br /&gt;I&amp;#39;ve launched &amp;#34;GrooveWebServicesv12HelpersTestHarness.exe&amp;#34; and it throw a &amp;#34;Unable to find HKLM_GrooveRegKey&amp;#34; &amp;#40;see the attachement file&amp;#41;.&lt;br /&gt;&lt;br /&gt;- Windows Vista 64Bits build 6.0.6000&lt;br /&gt;- Microsoft Office Professional 2007 SP1 installed&lt;br /&gt;- Microsoft Office Groove 2007 installed &amp;#40;4.2.0.2623&amp;#41; SP1 MSO &amp;#40;12.0.6213.1000&amp;#41;&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve checked your source and see that you read the HKLM&amp;#92;Software&amp;#92;Microsoft&amp;#92;Office&amp;#92;12.0&amp;#92;Groove key, but there&amp;#39;s nothing there in my registry.&lt;br /&gt;&amp;#40;Line 199 of context.cs&amp;#41; &amp;#58;&lt;br /&gt;&amp;#47;&amp;#47;  Look for Groove 12 client registry key first&lt;br /&gt;Microsoft.Win32.RegistryKey HKLM_GrooveRegKey &amp;#61; Microsoft.Win32.Registry.LocalMachine.OpenSubKey&amp;#40;GrooveWebServicesV12Helpers.Shared.GROOVE_12_REG_KEY&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;Is there a workaround or a fix &amp;#63;&lt;br /&gt;Comments: ** Comment from web user: rebelzoo ** &lt;p&gt;I had this same problem with Vista 64.  It seems to be failing in determining the version of Groove.  Since I am just using this for myself, and always with Groove 2007, I just changed the code to assume 12.0 on this failure.  I am sure there is a better way, but this worked for my needs.  Hope this helps&amp;#58;&lt;/p&gt;&lt;p&gt;                        HKLM_GrooveRegKey &amp;#61; Microsoft.Win32.Registry.LocalMachine.OpenSubKey&amp;#40;GrooveWebServicesV12Helpers.Shared.GROOVE_REG_KEY&amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;                        if &amp;#40;HKLM_GrooveRegKey &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;                        &amp;#123;&lt;br /&gt;                            &amp;#47;&amp;#47;throw new System.Exception&amp;#40;&amp;#34;Unable to locate registry key HKLM_GrooveRegKey&amp;#33;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                            &amp;#47;&amp;#47; on failure Assume 12.0&lt;br /&gt;                            CurrentVersion &amp;#61; &amp;#34;12.0&amp;#34;&amp;#59;&lt;br /&gt;                        &amp;#125;&lt;br /&gt;                        else&lt;br /&gt;                            CurrentVersion &amp;#61; &amp;#40;string&amp;#41;HKLM_GrooveRegKey.GetValue&amp;#40;GrooveWebServicesV12Helpers.Shared.GROOVE_CURRENT_VERSION_REG_KEY_NAME&amp;#41;&amp;#59;&lt;br /&gt;&lt;/p&gt;</description><author>rebelzoo</author><pubDate>Wed, 22 Apr 2009 14:38:15 GMT</pubDate><guid isPermaLink="false">Commented Issue: Exception throw : Unable to find HKLM_GrooveRegKey 20090422023815P</guid></item><item><title>Created Issue: Groove-Import files in Issue Tracking Tool</title><link>http://gwsv12helpers.codeplex.com/WorkItem/View.aspx?WorkItemId=21585</link><description>hello,&lt;br /&gt;I have to develop a dot net application which can import a files in Issue Tracking Tool of Groove.&lt;br /&gt;I have downloaded Groove Web Services Development Kit from below link.&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;www.groove.net&amp;#47;solutions&amp;#47;develop&amp;#47;downloads.cfm  and I have seen that there is no API available for importing a file in Issue Tracking tool .&lt;br /&gt;So will it be possible  to develop a dot net application which can import a files in Issue Tracking Tool of Groove&amp;#63;&lt;br /&gt;Thanks  In Advance &amp;#33;&lt;br /&gt;&lt;br /&gt;Reagrds,&lt;br /&gt;Vibhuti&lt;br /&gt;</description><author>vibhutipatel</author><pubDate>Thu, 12 Mar 2009 06:57:37 GMT</pubDate><guid isPermaLink="false">Created Issue: Groove-Import files in Issue Tracking Tool 20090312065737A</guid></item><item><title>Created Issue: Tool: Time tracker - Need SDK or similar doc. or Code Snippet</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=17593</link><description>Hi,&lt;br /&gt;There is a requirement for a dot net application to read and write data to&amp;#47;from Groove Time tracker tool. The Groove SDK neither has any API&amp;#39;s or code to do the same nor I get code from google search.&lt;br /&gt;&lt;br /&gt;I am looking for directions to go ahead. &lt;br /&gt;&lt;br /&gt;Thanks and regards,&lt;br /&gt;Rishi&lt;br /&gt;</description><author>rishigirdhar</author><pubDate>Wed, 30 Jul 2008 13:04:15 GMT</pubDate><guid isPermaLink="false">Created Issue: Tool: Time tracker - Need SDK or similar doc. or Code Snippet 20080730010415P</guid></item><item><title>CREATED ISSUE: How do I connect my Issue Tracker to automatically update a calendar in Groove?</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=16449</link><description>I want to be able to create a field in the issue tracker that will automatically link it to a calendar and have it update the calendar with that date and what the appointment or due date is without doing anything other than entering in a date in the issue tracker&amp;#63;  I am having a hard time finding this information.  Any info would be greatly appreciated.  Thank you.&lt;br /&gt;</description><author>mf0978</author><pubDate>Tue, 06 May 2008 17:46:23 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: How do I connect my Issue Tracker to automatically update a calendar in Groove? 20080506054623P</guid></item><item><title>CREATED ISSUE: Exception throw : Unable to find HKLM_GrooveRegKey</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=14997</link><description>I&amp;#39;ve just download the &amp;#34;GrooveWebServicesV12HelpersProjects_Binaries.zip&amp;#34; archive from the &amp;#34;Release 8&amp;#34;.&lt;br /&gt;I&amp;#39;ve launched &amp;#34;GrooveWebServicesv12HelpersTestHarness.exe&amp;#34; and it throw a &amp;#34;Unable to find HKLM_GrooveRegKey&amp;#34; &amp;#40;see the attachement file&amp;#41;.&lt;br /&gt;&lt;br /&gt;- Windows Vista 64Bits build 6.0.6000&lt;br /&gt;- Microsoft Office Professional 2007 SP1 installed&lt;br /&gt;- Microsoft Office Groove 2007 installed &amp;#40;4.2.0.2623&amp;#41; SP1 MSO &amp;#40;12.0.6213.1000&amp;#41;&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve checked your source and see that you read the HKLM&amp;#92;Software&amp;#92;Microsoft&amp;#92;Office&amp;#92;12.0&amp;#92;Groove key, but there&amp;#39;s nothing there in my registry.&lt;br /&gt;&amp;#40;Line 199 of context.cs&amp;#41; &amp;#58;&lt;br /&gt;&amp;#47;&amp;#47;  Look for Groove 12 client registry key first&lt;br /&gt;Microsoft.Win32.RegistryKey HKLM_GrooveRegKey &amp;#61; Microsoft.Win32.Registry.LocalMachine.OpenSubKey&amp;#40;GrooveWebServicesV12Helpers.Shared.GROOVE_12_REG_KEY&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;Is there a workaround or a fix &amp;#63;&lt;br /&gt;</description><author>Blu3dr4g0n</author><pubDate>Fri, 01 Feb 2008 21:54:11 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Exception throw : Unable to find HKLM_GrooveRegKey 20080201095411P</guid></item><item><title>CREATED ISSUE: Common interface for Forms Tool</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=14048</link><description>The namespaces GrooveWebServicesV12Helpers.Forms and GrooveWebServicesV12Helpers.Forms2 contain classes with similar interfaces, for instance, RecordDataSet. It would be great to have a interface for the members and methods that both classes have in common. In that way, there is not need to detect or cast classes all the time depending on the namespace. &lt;br /&gt;&lt;br /&gt;For example, IRecordDataSet &amp;#40;This is just an example, there are other classes where the same thing can be done&amp;#41;, which can contains the following members&amp;#58;&lt;br /&gt;&lt;br /&gt;XmlNode&amp;#91;&amp;#93; Data&amp;#59;&lt;br /&gt;XmlNode&amp;#91;&amp;#93; Schema&amp;#59;&lt;br /&gt;string SchemaID&amp;#59;&lt;br /&gt;DataSet ToDataSet&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;</description><author>pcibraro</author><pubDate>Fri, 23 Nov 2007 20:33:07 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Common interface for Forms Tool 20071123083307P</guid></item><item><title>CLOSED ISSUE: Bad Forms2Tool Event namespace</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=10227</link><description>There&amp;#39;s a bug in Forms2Tool.cs in IncrementFormsToolSubscriptionCount in the call to AddEventListener. The code uses the wrong event class. The call to AddEventListener should be&amp;#58;&lt;br /&gt;&lt;br /&gt;                    m_FormsSubscriptionID &amp;#61; GrooveWebServicesV12Helpers.EventManager.AddEventListener&lt;br /&gt;                        &amp;#40;&lt;br /&gt;                        m_Context,&lt;br /&gt;                        this.IdentityURL,&lt;br /&gt;                        GrooveWebServicesV12Helpers.Shared.GROOVE_WEB_SERVICES_FORMS2_EVENT_CLASS,&lt;br /&gt;                        this.Data,&lt;br /&gt;                        GrooveWebServicesV12Helpers.EventManager.s_EventURI,&lt;br /&gt;                        this&lt;br /&gt;                        &amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;I&amp;#39;ll fix this in the next release.&lt;br/&gt;</description><author>BobNovas</author><pubDate>Fri, 10 Aug 2007 12:22:24 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Bad Forms2Tool Event namespace 20070810122224P</guid></item><item><title>COMMENTED ISSUE: Bad Forms2Tool Event namespace</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=10227</link><description>There's a bug in Forms2Tool.cs in IncrementFormsToolSubscriptionCount in the call to AddEventListener. The code uses the wrong event class. The call to AddEventListener should be:

                    m_FormsSubscriptionID = GrooveWebServicesV12Helpers.EventManager.AddEventListener
                        (
                        m_Context,
                        this.IdentityURL,
                        GrooveWebServicesV12Helpers.Shared.GROOVE_WEB_SERVICES_FORMS2_EVENT_CLASS,
                        this.Data,
                        GrooveWebServicesV12Helpers.EventManager.s_EventURI,
                        this
                        );

I'll fix this in the next release. Comments: ** Comment from web user: psuthar ** &lt;p&gt;Bumping impact to high as this issue can cause data loss &amp;#40;i.e. missing events&amp;#41;.&lt;/p&gt;</description><author>psuthar</author><pubDate>Tue, 05 Jun 2007 15:36:40 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Bad Forms2Tool Event namespace 20070605033640P</guid></item><item><title>CREATED ISSUE: Bad Forms2Tool Event namespace</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=10227</link><description>There's a bug in Forms2Tool.cs in IncrementFormsToolSubscriptionCount in the call to AddEventListener. The code uses the wrong event class. The call to AddEventListener should be:

                    m_FormsSubscriptionID = GrooveWebServicesV12Helpers.EventManager.AddEventListener
                        (
                        m_Context,
                        this.IdentityURL,
                        GrooveWebServicesV12Helpers.Shared.GROOVE_WEB_SERVICES_FORMS2_EVENT_CLASS,
                        this.Data,
                        GrooveWebServicesV12Helpers.EventManager.s_EventURI,
                        this
                        );

I'll fix this in the next release. </description><author>BobNovas</author><pubDate>Fri, 11 May 2007 15:15:51 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Bad Forms2Tool Event namespace 20070511031551P</guid></item><item><title>CLOSED ISSUE: FormFileAttachment(2) throws if no content</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=9420</link><description>if you read records without setting the optional argument i_IncludeFileAttachmentContent true, like this:

GrooveWebServicesV12Helpers.Forms.RecordDataSet records = formsTool.GetFormRecords(form.URI, true);

and then try to getFormFileAttachments, like this:

GrooveWebServicesV12Helpers.Forms.FormFileAttachment[] attachments 
                = GrooveWebServicesV12Helpers.Forms.FormFileAttachment.GetFormFileAttachments(row);

Then, FormFileAttachment.cs will throw at line 54 - 

System.Data.DataRow ChildContentsDataRow = m_FileAttachmentDataRow.GetChildRows("FileAttachment_Contents")[0];

Probably should check to see if there are any child rows before dereferencing them. </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:56:50 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: FormFileAttachment(2) throws if no content 20070420115650P</guid></item><item><title>CLOSED ISSUE: File.Update fails with SOAP exception</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=9092</link><description>Fix for File Update – in FilesTool\FileFolderBase.cs

		private void int_Update(System.Byte[] i_FileContents)
		{
			//  Get initialized reference to web service
			GrooveFilesWebService.GrooveFilesBase64 FilesWebService = GrooveWebServicesV12Helpers.Files.FilesTool.CreateInitializedFilesWebService
				(
				m_IdentityURL,
				this.URI,
				m_Context
				); </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:55:29 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: File.Update fails with SOAP exception 20070420115529P</guid></item><item><title>CLOSED ISSUE: EventManagerThreadProc deletes wrong number of Events</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=8957</link><description>EventManagerThreadProc (EMTP) calls Event.ReadExtended passing false for the Delete Events argument. Then it delivers the events it read to the application. Finally, it calls Event.Delete to delete the events it read from Groove's event queue. It does this so that if the application should crash trying to handle an event (or the box be powered off) the event will still be persisted on Groove's event queue.

The problem was that EMTP passes ExtendedEventData.EventQueueSummary.Sequence to Event.Delete, but needs to pass ExtendedEventData.EventQueueSummary.Sequence - 1 to correctly delete the events it's read.

You can prove this by comparing the count of events deleted returned by Event.Delete to the count of events read by Event.ExtendedRead. With the original code, these two values occasionally compare inequal - especially if the application processing an event invokes a web service that will generate another event - this event gets lost. </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:55:27 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: EventManagerThreadProc deletes wrong number of Events 20070420115527P</guid></item><item><title>CLOSED ISSUE: Problem in locales where "," is the decimal indicator</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=8925</link><description>Exception thrown in Context.cs file at line 193 when a "," is the decimal separator (e.g., locale = france). </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:55:25 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Problem in locales where "," is the decimal indicator 20070420115525P</guid></item><item><title>CLOSED ISSUE: ContactDirectory.cs throws exception</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=8864</link><description>If, as can happen, a ContactDirectory search returns no matches, in Groove 2007, the ContactDirectory.cs code throws an null reference exception.  An if clause testing for null saves the day. 


fragment from ContactDirectory.cs:

				case GrooveWebServicesV12Helpers.Shared.GROOVE_CONTACT_DIRECTORY_SEARCH_RESULTS_EVENT_TYPE:
				{
					System.Collections.ArrayList ContactSummaryArrayList = new System.Collections.ArrayList();

					GrooveEventsWebService.GrooveContactSearchResultsEventData ContactSearchResultsEventData = (GrooveEventsWebService.GrooveContactSearchResultsEventData)i_Event.EventData;

                    if (ContactSearchResultsEventData.ContactSummaryList != null)
                    {
                        //  Populate array list of ContactSummaries
                        foreach (GrooveEventsWebService.ContactSummary ContactSummary in ContactSearchResultsEventData.ContactSummaryList)
                        {
                            GrooveWebServicesV12Helpers.ContactSummary NewContactSummary = new GrooveWebServicesV12Helpers.ContactSummary(ContactSummary);
                            ContactSummaryArrayList.Add(NewContactSummary);
                        }
                    }

					//  Create array from array list
					if (ContactSummaryArrayList.Count &gt; 0)
						m_SearchedContactSummaries = (GrooveWebServicesV12Helpers.ContactSummary[])ContactSummaryArrayList.ToArray(typeof(GrooveWebServicesV12Helpers.ContactSummary));

					break;
				} </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:55:24 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: ContactDirectory.cs throws exception 20070420115524P</guid></item><item><title>CLOSED ISSUE: member.Enter/ExitSpace(), .Enter/ExitTool()</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=8572</link><description>The target uri really needs to be the space relative member's uri instead of the member's uri.  

And the semanics are wrong (you're calling these methods on some member, but the action applies to you, and only if you're entering/exiting the space/tool). Arguably, these methods are misplaced in the Member class. Enter/ExitSpace perhaps belongs to the Space class, and Enter/ExitTool to the Tool class. You can address this by only invoking the methods at the right time and ignoring the fact that the semantics are questionable.

However, to address the first issue, which throws an exception, the code needs to look more like this (for all 4 methods)...

/// &lt;summary&gt;
/// Signal to other workspace members that the current user has entered the workspace.
/// &lt;/summary&gt;
public void EnterSpace()
{
    string targetURI = this.Space.MembersURI;

    //  Get initialized reference to web service
    GrooveMembersWebService.GrooveMembers MembersWebService = this.GetInitializedMembersWebService(targetURI);

    System.DateTime BeginDateTime = System.DateTime.Now;

    //  Ask service to enter space
    MembersWebService.EnterSpace();

    if (GrooveWebServicesV12Helpers.Context.TraceEnabled)
    {
        System.TimeSpan TimeSpan = System.DateTime.Now.Subtract(BeginDateTime);
        System.Diagnostics.Debug.WriteLine("MembersWebService::EnterSpace, " + TimeSpan.TotalMilliseconds + " ms");
    }
} </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:55:23 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: member.Enter/ExitSpace(), .Enter/ExitTool() 20070420115523P</guid></item><item><title>CLOSED ISSUE: Helpers Identity.CreateSpace operation fails unless you specify i_Type=""</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=7926</link><description>If you don't specify i_Type (the 3rd parameter to the method), but rather call one of the other overloads of that method, they pass 

	GrooveWebServicesV12Helpers.Shared.GROOVE_GENERIC_CREATE_SPACE_TEMPLATE

as the i_Type. But,... the Space web service Create operation says, about the i_Type parameter, which it calls the CSTURI:

CSTURI xs:anyURI Specifies the type of workspace to be created. Must have an empty string value (""). All other values are reserved for future use. 

So calling any Identity.CreateSpace method other than the 3rd form, or even calling the 3rd form and passing anything but "" as the 3rd argument causes an exception from the web service.

Need to fix the helpers to pass "" in the overloaded forms of the method. </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:55:22 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Helpers Identity.CreateSpace operation fails unless you specify i_Type="" 20070420115522P</guid></item><item><title>CLOSED ISSUE: Checking Source URI validity</title><link>http://www.codeplex.com/GWSV12Helpers/WorkItem/View.aspx?WorkItemId=7217</link><description>At least one of the parameters to the Subscription Service's Create operation, which creates a durable Subscription, has a very specific and critical form. And, if you do not get the form correct, the service will silently accept the incorrect form but not function properly. 

In my case, instead of using the Identity2.Spaces property, which contains the correct form of the Source URI, I formed a Source URI by combining two strings- to form a Source URI that looked like this:

 /GWS/Groove/2.0/Spaces/grooveIdentity://7746ttz47vtp5r3gha7hu5jv5wanax55@ 

Now, a Source URI in the correct form looks like this: 

	/GWS/Groove/2.0/Spaces/grooveIdentity/7746ttz47vtp5r3gha7hu5jv5wanax55@ 

This is a subtle but critical difference. When given a Source URI in the incorrect form to Create a Subscription, Groove accepts the Source URI in the incorrect form without expressing any error. But, subsequently, a subscription works until Groove is shutdown, and then never works (i.e., never produces an event) again. 

Incidentally, another symptom of this problem is that the EventSource in the ReadExtendedResponse SOAP looks like this: 

&lt;EventSource&gt;grooveIdentity:://&lt;/EventSource&gt; 

Instead of what it should look like, which is more like this: 

	&lt;EventSource&gt;grooveIdentity://7746ttz47vtp5r3gha7hu5jv5wanax55@&lt;/EventSource&gt;

 Paresh had a great idea - to put some code to check the form of the SourceURI into the helpers at the "choke point" (where the subscription Create operation is invoked) and to error out invalid forms of Source URI there. 

There are other ways to screw up the SourceURI. For example, if you provide a valid form of the argument but an invalid value for the actual identity string, I think the same ill behavior results. 

...Bob </description><author>BobNovas</author><pubDate>Fri, 20 Apr 2007 23:55:21 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Checking Source URI validity 20070420115521P</guid></item></channel></rss>