Archive

Posts Tagged ‘sharepoint’

Whoami in SharePoint

September 23, 2008 Leave a comment

One of the nicest things in SharePoint is that you can access it not only through the web interface, but through its web services as well. Combining this with AJAX, you can build pretty good user interfaces with a SharePoint backend.
When doing this you’ll definitely be interested in knowing who is currently logged in.
So if you are modifying a SharePoint generated page (like NewForm.aspx, EditForm.aspx or a page associated with a view) and add (D)HTML code to it, you can easily access the _spUserId variable which holds the current logged in user ID in SharePoint.
From this point on if you’re interested in more details you just simply run a query against the user list using SharePoint web services.
If you want to have these information in a page of your own, you can simply run that query using the CAML tag UserID.

<Query>
  <Where>
    <Eq>
      <FieldRef Name="ID"/>
      <Value Type="Integer"><UserID Type="Integer"/></Value>
    </Eq>
  </Where>
</Query<

Just as a note, don’t forget to put Type="Integer" in there.

If you wonder how I got over this, you should read my other article.

Advertisements
Categories: Web Tags: , , ,

Discover CAML by examples

September 23, 2008 1 comment

CAML is the SQL of SharePoint. If you will access SharePoint through its web services you will definately need to be familiar to a certain degree with CAML. You can read the documentation from MSDN, but I will tell you how to learn it through examples. And actually to create your own examples.
There are a few CAML builders out there, but if you know how to use SharePoint, you have a basic one hidden in there.
Let’s take it step by step.

  1. Go to your SharePoint
  2. Create a list
  3. Create a view for the list (for the sake of simplicity let’s name it My View)
  4. Choose the conditions that you’re interested in for the query, let’s say all the items modified today, and save the view.
    View filter in SharePoint

    View filter in SharePoint

  5. Go to the list settings and save the list as a template
    Save list as template in SharePoint

    Save list as template in SharePoint


    List template is saved

    List template is saved

  6. Go to the template list library
    List template gallery

    List template gallery

  7. Download the template
  8. The template is actually a zip file. Rename it from mylist.stp to mylist.zip and extract the manifest.xml file from it.
  9. Now open the XML file (with FireFox) and go to the element /ListTemplate/UserLists/List/Metadata/Views/View[@DisplayName = 'My View'](the first /ListTemplate/UserLists/List/Metadata/Views/View for which the attribute DisplayName is My View). Under this element you will find a Query element. This is what you need, your CAML query.

And that manifest.xml file is also the source of some other useful stuff like the internal name of the fields (the StaticName attribute of the /ListTemplate/UserLists/List/Metadata/Fields/Field elements).

Categories: Software, Web Tags: