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
<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.
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.
- Go to your SharePoint
- Create a list
- Create a view for the list (for the sake of simplicity let’s name it
- Choose the conditions that you’re interested in for the query, let’s say all the items modified today, and save the view.
- Go to the list settings and save the list as a template
- Go to the template list library
- Download the template
- The template is actually a zip file. Rename it from
mylist.zipand extract the
manifest.xmlfile from it.
- 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/Viewfor which the attribute
My View). Under this element you will find a
Queryelement. This is what you need, your CAML query.
manifest.xml file is also the source of some other useful stuff like the internal name of the fields (the
StaticName attribute of the