Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I'm a SP 2010 beginner (although a long time ASP.NET developer) and I thought a good learning exercise would be to:

  1. Create a list template in SP Designer
  2. Import that list into VS 2010
  3. Create a new list definition in VS 2010 in a separate project
  4. Copy and paste most of the XML from step 2 into the "appropriate" places in the new list definitions elements and schema file.

From there I intended to create some feature/event receivers, but I'm still stuck on step 4.

For some reason, I had to add a features folder, which existed in the project with the imported template (step 2). Although I can deploy successfully now and create an instance on that list defintion, I can't create a new item; I assume because I've fudged something in my XML copying/pasting.

Anyway, my plan now is to get really familiar with CAML and find out where I've gone wrong. So, 3 questions:

  1. Any suggestions for where I've gone wrong?
  2. Is this example too contrived and just sending me down a rabbit hole?
  3. Any good resources other than the MSDN spec for learning the SP 2010 CAML schema/syntax?
share|improve this question
add comment

1 Answer

Your approach is valid. It is a common practice to bootstap a VS SP deployment project by building the structure in SP web GUI or SP Designer, extract a site template wsp, import that into VS and pick off the bits required.

Regarding your questions:

  1. There is not enough detail in your steps to say. There are quite a few sub-steps in your (1) and (2). For (3) and (4) as for any Stack question it is preferrably to include code snippets of what you are doing.

  2. Your example is common practive so not contrived per say. It is not the simplest scenario. CAML does a lot of different things, querying is very different from deployment so it depends on what your focus is. If you want to learn CAML querying then much simpler would be an SPList.GetItems() query. If you know Linq/lambda expressions give this converter tool a try, http://camlex.codeplex.com/.

  3. MSDN spec for CAML is not the place to start. Generally speaking specs are not good learning tools for beginners. Here is a decent MSDN article intro to the deployment side, http://msdn.microsoft.com/en-us/library/ms426449.aspx.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.