Caml builder vNext = Caml Designer

Hey everyone

As some of you know by now, I’m working together with Karine Bosch on a new CAML “Builder” tool, but the name doesn’t do it justice.

Because with CAML you can do a whole lot more than just writing queries. You can also build entire site definitions, site columns, content types… and so on.

Well the new name that we gave the program is “CAML Designer”, it pretty much sums it up all the things that you can do with it. And also because of trademarking infractions we had to search for a new and “better” name J .

Let me first start to give my thanks to Karine for all the hard work that she already put into the program, it’s been a long year but with regular meetings and matching our agenda’s we will get there in the end and it has been an honor to be working with the CAML girl.

Ok, “demo aka print screen time J “ but please note that this is still alpha phase and changes can and will be made to the design or labels will be filled in with more correct information.

Let us first start with the main screen

No more questions for logging in first, this was an easy decision because it is not always necessary to logon to the SharePoint site and work with CAML, since it is a designer you can do Offline work as well. So this means that you can start up the program without that you have to login.

full screen

As you can see there is a Ribbon, this was an essential part because we wanted a new design in accordance with the current Office applications. It also makes it easy for us to put all the controls that you need on top of the page.

At the moment only a “CAML Query” tab is available, the “Site column designer” and the “Content Type designer” isn’t available.

So if the “CAML query” is pressed than a check will be done to see if connection info is available, if it is not, than a login screen will pop up to ask you some questions. Of course you can press the login button on the ribbon. Going to the SharePoint site is needed because the query designer will be most used in “online” mode.

Login Screen

Current user

First question of course, the site URL, next up via which method that you want to connect to the SharePoint site (Server object model, Client object model (which is new in SP 2010, not in 2007) and last but not least, via the Web services.

Next is the choice of to what type of SharePoint that you want to connect, 2007 or 2010.

And a last step is the security part, you can give credentials if your current user doesn’t have access to the site or you can choose “current user” credentials (which is a default setting).

If you press “ok” a check will be done to see if the site URL that you have entered in the credentials is valid or not. Otherwise a warning will be given.

But note that the login screen will be redesigned.

fill in info animation

If you press the “CAML query” tab and no login information is given than an animation is given at the top to highlight the waiting part while the login screen is being displayed.

If the login information is valid, than the same animation will display “Retrieving SharePoint information” on top of the page, after all the data is retrieved than the animation will disappear.

retrieving info animation

Next step is the tree view that will be loaded during the above animation. Let’s select the task list for example and by default “CAML” and “C#” buttons are selected.

Select fields

If we select view fields a list of fields will be given, just click the name and the field will be put into the second container on the right hand side.

Also when selecting the fields, the CAML query is being built dynamically on the bottom of the window.

Query fields

Next up is when we select the “Where” button to go ahead and select some fields where we want to do a query selection on. As you can see, the fields that are selected each give a different filter window. For example “Modified” gives us 2 choices: “Today” or a “specific date”.

In Today you can also add an offset of +/- and how many days.

In specific date you’ll get a calendar view to select the date with the option to include time values.

As you can see on the print screen as well, if you have an “And” or an “Or” in between the filters, you can change them just by simple clicking area button.

These operators are automatically included when selecting more than 1 field.

For the operators: equal, larger than, smaller than … , simple right click the circle of the operator and a right click menu item will appear to give your choice.

Next up is the “Order by” and the “Query Options” selection.

As you can see the “Order by” is also a select field kind of action and by clicking the A-Z or Z-A image it’s being changed accordingly.


When you select the “Query options” than a short selection will be shown on the right hand side of the screen.


When selecting these options additional code will be generated in the Code Snippets part to add these selections to the query. And this leads us to the next part, “Code Snippets”.


If you check out the ribbon you can see “Server OM”, “Client OM for .NET” and “Web Services” in the code snippet section. If you select for example the “Server OM” than the CAML query will be translated to a snippet that you can copy/paste.
For the moment only C#.Net code is being used, but in the future we are looking to also set it to VB.NET. If you want to execute the code than you can do this via the button in the ribbon “Execute” and in the result will be shown in the section besides the Caml query.

result screen

This can also be done for “Client OM for .NET”…

Client OM

And for “Web services”…

web services

Well that’s it for the moment, a release date is set for April of sorts, but it could be that a beta version will be released before that. We will keep you posted though , through twitter #CamlDesigner 🙂 or Biwug site or this blog or karine her blog

Leave a line if you have suggestions or comments…

Leave a Reply

Your email address will not be published. Required fields are marked *