Wednesday, November 9, 2011

How to Deploy Silverlight XAP file to a Document Library

Okay, so you have developed your silverlight application in SharePoint and you now want to deploy it. So you take your XAP file add it your document library and then reference it from your Silverlight Web Part right? Seems kind of like a long process, if you also had to deploy a whole bunch of web part with.

So we can make it simple by deploying our XAP with the rest of the web parts, lists, etc. All you need to do is follow a few simple steps and your XAP file will be deployed to your site with the rest of your customisations.

Step 1
Add a new module to your solution




Step 2

Right Click on the module you have just added and select properties.
Look for "Project Output References" click on the elipsis and click add.
Set the deployment type to a "ElementFile" and select your project name





Click ok and you should notice your Elements.xml has been modified to something like the following:


You can now proceed to change it to look like the below:

 

Happy coding guys I hope this helps make your deployment alot simpler.

Inserting SharePoint List item using Silverlight Object Model

If you finally came over to the dark side and embraced Silverlight in SharePoint you should familarize yourself with the Client API for Silverlight, I have mentioned in a previous post how to reference these assemblies.

If you want to be more adventourous and insert list items using the Client API you can use the following code:
ClientContext context = ClientContext.Current;

List oList = context.Web.Lists.GetByTitle("HelloWorldList");

ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
ListItem oListItem = oList.AddItem(itemCreateInfo);
oListItem["Title"] = "Hello World";
oListItem.Update();

context.Load(oList, list => list.Title);
context.ExecuteQueryAsync(OnSuccess, OnFailed);
The above method is done assyncrously so you will have a call back which means if the insert is success code sample A if it is unsuccessful run code sample B, see below:
private void onSuccess(object sender, ClientRequestSucceededEventArgs args)
{
   Deployment.Current.Dispatcher.BeginInvoke(() =>
   {
      MessageBox.Show("successfull");
   });
}
 private void onFailed(object sender, ClientRequestFailedEventArgsargs)
{
   Deployment.Current.Dispatcher.BeginInvoke(() =>
   {
      MessageBox.Show("Failed");
   });
}
As you know these operations are done assyncronously so simply put we have to get the attention of the UI thread to perform our success or failure action.
Happy coding :-)

Getting started with SharePoint 2010 Silverlight Client Object Model

Getting started with SharePoint 2010 Silverlight Client Object Model -

When you want to use the Silverlight Object Model the first thing we are going to is add a reference to silverlight assemblies:
  • Microsoft.SharePoint.Client.Silverlight.dll
  • Microsoft.SharePoint.Client.Silverlight.Runtime.dll
These assemblies can be found at the following location :
  • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin
Then in your code just reference the assembly and you should be good to go as shown below:
  • using Microsoft.SharePoint.Client; 
    So happy coding guys, hope you enjoy the Silverlight Client Object Model

    Friday, October 7, 2011

    Create custom list using Content Type and Schema.xml file

    Creating a schema for a custom SharePoint list has always been something I think which could be much improved upon, as it is always something that may cause you to pull out your own teeth.

    In my experience the easiest way to do this is to replace the  ContentType tags with the following:

     

    Then it's as simple as adding your fields within the field tags of your schema.xml file, see below:



    You can always use the GUID generator that comes with Visual Studio to generate new GUID's for your different fields.

    Once complete, if you wish for your fields to be displayed in your view, add them to your ViewFields tags, (ViewFields tags can be found within the Views, View tag of your schema.xml file) as shown below:



    You have now successfully created a working schema.xml file, hope this helps in stopping you from tearing your hair out.

    How to access Init Parameters for SharePoint Silverlight Web Part

    Custom initialisation parameters are accessible from within the silverlight web part, these values, are values passed from the Sharepoint Silverlight web part into the Silverlight application.

    These values are passed in the form of a Dictionairy object and they are passed as follows:

    Key=Value,Key1=Value2
    These values can be accessed by using the following code:

    private void Application_Startup(object sender, StartupEventArgs e)
    {
     string value = e.InitParams["Key"];
    }
    Please let me know if this post has helped you, and if you have any improvements or comments please feel free to post them.

    Tuesday, October 4, 2011

    WCF Annonymous access is required for the IIS application that host this service.

    When developing WCF web services for SharePoint you may sometimes run into the following problem.

    Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service.

    Trust me, you will knock your head trying to solve this one. The solution is pretty simple though. In your web.config file modify your the bindings section with the following:




    If you SharePoint application is using Kerberos authentication please change the mode to Windows.

    This solution worked for me, hope that it will work for you.

    Till next

    Debuging Silverlight WebPart in SharePoint 2010

    Debuging a silverlight web created and used in SharePoint 2010 can sometimes make you want to pull your hair out. I literally knocked my head against the wall a few times trying to get debugging to work. It's pretty simple though, all you need to do is select your project properties, click the sharepoint tab, and enable silverlight debugger.

    For more information please refer to http://vangalvenkat.blogspot.com/2011/03/how-to-debug-silverlight-webpart-in.html it is a great resource and helped me to debug my silverlight application.

    Until next time, hope this post has helped you as it certainly helped me.