Skip to main content
I created a process based on the sharepoint process template, then added a default activity. In the activity I added a Sharepoint Workspace event to create a meeting workspace as a subsite and then a Sharepoint List Event to add an item to the Events list in the top level site. One of the fields in the Events list is Workspace of type CrossProjectLink where I placed the URL to the newly created meeting workspace.

When I run the process the meeting workspace is created and the event list item is created, however the event list item is not linked to the meeting workspace.

When I edit the events list item to manually create the link I get the following error:
"Changes to the event were saved, but they could not be communicated to the Meeting Workspace associated with the event. For more information, contact the server administrator."

Can someone point me in the right direction?

TIA,
Michelle
Hi,

It is not enough just to put URL to MWS, you need to link them.
To do so you need to use LinkWithEvent method of SPMeeting class.
Your code should look something like this:

;
SPListItem item = list.Items.GetItemById(eventID);

SPWeb MWSWeb = spSite.OpenWeb(webURL);
SPMeeting mwsSite = SPMeeting.GetMeetingInformation(MWSWeb);
mwsSite.LinkWithEvent(spWeb, list.ID.ToString(), item.ID, "WorkspaceLink", "Workspace");


  • Unfortunately this will require some custom coding.

    Create a web service that will link meeting with the event list. This web service will reside on the SharePoint Server.
    Create your event list item in K2.net but do not set the Workspace field.
    Call the created function of your web service do link the event item.

    Help on creating a sharepoint web service:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/soapptCreateCustomWebService.asp

Calling the web service:
WebServiceObject.LinkEventItemWithMeeting("Sites/MyTestSite", "Sites/MyTestSite/MyMeetingWS", "Events", iLID)

Where:
"Sites/MyTestSite" is the Site Relitive url where the event list is contained,
"Sites/MyTestSite/MyMeetingWS" is the meeting workspace relative url that you want to link to
"Events" is the event list name
iLID is the Id of the created list item.



   
<WebMethod()> Public Sub LinkEventItemWithMeeting(ByVal SiteURL As String, ByVal MeetingSiteURL As String, _
ByVal ListName As String, ByVal ListItemID As Int32)

Dim oXMLDoc As New System.Xml.XmlDocument
Try

Dim RetVal As String
Dim Site As Microsoft.SharePoint.SPSite
Dim Web As Microsoft.SharePoint.SPWeb

' Get the site context
Site = Microsoft.SharePoint.WebControls.SPControl.GetContextSite(Context)
' Retrive the correct site
If SiteURL.Trim = "" Then
Web = Site.RootWeb
Else
Web = Site.OpenWeb(SiteURL)
End If

' Get the required event list
Dim List As Microsoft.SharePoint.SPList
List = Web.Lists(ListName)
Dim ListGuid As String = List.ID.ToString()

Dim ListItem As Microsoft.SharePoint.SPListItem
ListItem = List.GetItemById(ListItemID)

' Get the meeting workspace
Dim theSite As Microsoft.SharePoint.SPWeb = Site.OpenWeb(MeetingSiteURL)
Dim mwsSite As Microsoft.SharePoint.Meetings.SPMeeting = _
Microsoft.SharePoint.Meetings.SPMeeting.GetMeetingInformation(theSite)

' link the event
mwsSite.LinkWithEvent(Web, ListGuid, ListItemID, "WorkspaceLink", "Workspace")

Catch ex As Exception
Throw New Exception(ex.Message)
End Try

End Sub

Reply