(Any suggestions or good link related to this would help)

  1. I have 120 customers in a list called "CustomerList".
  2. Each one of this customer has unique document library that matches their title.
  3. Goal is to create 120 single page and each page for each customer. Each page is a copy of a fixed page template.
  4. Never used Web parts as I am brand new to Sharepoint.
  5. Each page has a specific layout with 4 webparts (3 document library lists [orders, payment history, call history] and 1 displays information about the customer)

Here is the mock up how the final product would look like. alt text http://img291.imageshack.us/img291/3756/customerpage.jpg

Here is my question.

How to I create a custom web part page with content placeholders for the customer specific categories. I can then instantiate multiple instance of this single page for each customer (during test and deployment phase). This way I can instantiate for future addition of new customers. (Each page is a copy of a fixed page template)

I hope it makes sense...

3 Answers 3


Greg: I respectfully disagree with the approach suggested by MBSurf. You said that you have 120 customers in a list. It sounds like all you need to do is develop a single page which displays a single customer's details at a time. You can do this in SharePoint Designer with Data View Web Parts, or, if your design in really as simple as it looks above, just with the UI alone.

  • Marc. The project requires I create a single page in each document library. All the document library starts with ENG_001 to ENG_NNN so mimic the customer type from the customer list. (all the customer type start with ENG). so the page will named after the doclib or customer type (in this they are same. doclibname = customertype). so the final url should look like sitecoll/website/ENG_001/Eng_001.aspx (with all the content placeholders, about 4 of them).
    – Anonymous
    May 10, 2010 at 14:28
  • Ok, well does that mean that you want a site per customer? I'd get the site topology nailed down before I worried about the specific pages. Then create one customoer site with all of the lists and pages that you want, save it as a template and instantiate it accordingly. (This is the UI-based approach; MBSurf's is the code-based approach.) May 10, 2010 at 14:42
  • Marc, Thanks for your prompt respond. I am looking for code based approach. I have already created all the document libraries that is named after the customer type. I suppose I can add a page (eng_nnn.apsx) in each document library. (Each page is a copy of a fixed page template).
    – Anonymous
    May 10, 2010 at 14:47

Here's what I would do:

  1. Create a site definition modeled after the blank template. No need to change the template other than the name.
  2. Create features that define the document library, list templates (Site scoped so all sites can use these)
  3. Create a site provisioning feature that does the following:

    3a. Instantiates all the libraries and lists
    3b. Adds the list web parts to the root page

4 Staple this feature to your site definition in step 1

Each of these steps have many tutorials, so you should be able to find them easily via your favorite search engine.

  • MBSurf, I can now start on something. Thanks for your input. Greg C.
    – Anonymous
    May 7, 2010 at 19:30

I would actually go for MBSurf's approach, as once you create the definition you can (in SP2010) use PowerShell to go through a list of all the customer numbers (in a text file perhaps) and provision your sites all automatically.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.