Throughout the Swedish SharePoint and Exchange Forum 2006 held just outdoors Stockholm on Rosenön this spring, I showed how to make a basic integration of MS CRM and MS SharePoint 2003.
Both technologies are very versatile and are easily integrated with other software, mainly on account of the helpful webservices which can be obtainable.
The integration I created was to automatically produce a workspace when a new account was developed. The following measures describe how this was produced attainable:
- Create a site in SharePoint that will contain all subsites.
- Create a new attribute in CRM, nvarchar 255 that will contain the SharePoint site URL.
- Create an IFrame in CRM. Modify the onload JavaScript in CRM to set the src of the IFrame to the SharePoint site URL (if it is not null).
- Create a dll that creates the SharePoint site and return the new sites URL and can be called on by a CRM workflow.
- Modify the workflow.config to add the functionality to the workflow manager.
- Create the workflow triggered by Create on account that creates the site and return the URL. Set the new SharePoint-site-url attribute to the return value of the function.
This integration is great, and it is also achievable to create a far more enhanced handling by using the PreCreate Callout instead of utilizing the workflow. However, the workflow-addon designed may be constructed to become quite generic and may hence be utilized for other purposes at the same time, (as an illustration making a SharePoint website for every Opportunity).
I’ll base the SharePoint-site-name around the accountname attribute that is not guaranteed to be special. Within this example I will not go through how to make a duplet checking plan, which need to also be produced, in the event the websites should be depending on accountname. The sitename could also be depending on the account GUID which is assured to be unique.
I will now go through each from the six points in much more detail:
- Produce a SharePoint web site that may include all subsites
Just make use of the regular SharePoint interface, choose generate from the prime menu and then pick site, nearly at the bottom on the list, no distinct template is needed. Note the url to the newly developed website. - Generate a new attribute for the SharePoint web site url
In CRM, select settings, customizations, customize entitys, account, attributes, create. Create a new attribute called as an illustration “new_spsiteurl” as nvarchar and length 255 (255 must be sufficient for anyone :). - Generate an IFrame in CRM
Now pick types and views in CRM. Select type. You must now see the editable version on the account form. Click “New Tab” within the appropriate hand menu. Name the new tab “SP Site” or something acceptable. The tab must now be visible.
Choose the “SP Site” tab then pick “Create section” from the right hand menu. Get in touch with it anything good. Also choose to not show the name in the section.
In the new section, select “Add field”. Choose the newly created attribute, “new_spsiteurl”. Verify the checkbox for read-only. Click OK.
Now choose “Create IFrame” from the proper hand menu. Produce an IFrame within the section designed above. Check the checkbox in formatting that makes it fill the form. Get in touch with the IFrame one thing like “IFRAME_spframe”. Click ok to make.
Click the “Form Properties” inside the right hand menu in the bottom. Edit the onLoad script. Place within the following script:
If (crmForm.all.new_spsiteurl.DataValue != null) { crmForm.all.IFRAME_spframe.src = crmForm.all.new_spsiteurl.DataValue; }
Close the dialogs. Click save and close on all forms. When you are back to the main CRM-window, select account in the entities list and click “publish”.
Produce the workflow addon dll
Open Visual Studio 2003 (it will operate with VS 2005 also, however, if you’d like to do this with callouts, you may have to comply with the instruction concerning callout improvement in VS 2005 that I have blogged about earlier, with reference to Arash weblog).
Develop a brand new standard C# project having a straightforward class-file. Name the project some thing like “WFAddons”. Rename the cs-file something like “WFAddons”, be sure that the code is coherent with the naming of the file to avoid any confusions.
Make sure you might have a reference to the SharePoint-dll.
With each of the code to create the SharePointsite, the file ought to appear some thing like this:
using System; using Microsoft.SharePoint; namespace WFAddons { public class WFAddons { public string CreateWorkSpace(string accountname) { SPSite siteCollection = new SPSite("http://localhost/sites/konton"); SPWebCollection subSites = siteCollection.AllWebs; SPWeb mySite = subSites.Add(accountname); mySite.Title = accountname; mySite.Name = accountname; mySite.Update(); return mySite.Url; } } }
Inside the row: SPSite siteCollection = new SPSite(“http://localhost/websites/Micah”);
Modify the url to match the web site created in step 1.
Now set the output directory for the CRM-assembly folder. This is usually located right here:
c:\Program Files\Microsoft CRM\Server\bin\assembly\ but is dependant around the CRM-installation.
Compile the project.
Modify workflow.config
Within the folder: c:\Program Files\Microsoft CRM\Server\bin\assembly\, open the file workflow.config and before the finish tags
( </methods> </workflow.config> )
add the following:
<method name="Create workspace" assembly="WFAddons.dll" typename="WFAddons.WFAddons" methodname="CreateWorkSpace" group="SharePoint functions"> <parameter name="accountname" datatype="string"/> <result datatype="string"/> </method>
Generate the workflow
Now, all you might have to do is generate the workflow that can run all this and tie every little thing with each other. Open the workflow manager, select account, and generate a brand new workflow that will be triggered on create. Within the editor, pick “Insert Action” and choose “Call assembly” choose the group name (exactly the same set in workflow.config above), and also the pick the strategy name. Inside the new dialog window, double-click the parameter (the name set in workflow.config) and pick dynamic worth and select the entity Account and decide on the attribute accountname. Inside the primary action dialog, a youcan now see this mapping. Enter an action name, like “create workspace”. Click “Save”.
Best Recommended SharePoint 2013 Hosting
ASPHostPortal.com
ASPHostPortal.com is Perfect, suitable hosting plan for a starter in SharePoint. ASPHostPortal the leading provider of Windows hosting and affordable SharePoint Hosting. ASPHostPortal proudly working to help grow the backbone of the Internet, the millions of individuals, families, micro-businesses, small business, and fledgling online businesses. ASPHostPortal has ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch, ASPHostPortal guarantees the highest quality product, top security, and unshakeable reliability, carefully chose high-quality servers, networking, and infrastructure equipment to ensure the utmost reliability