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

(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

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...

share|improve this question

3 Answers 3

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.

share|improve this answer

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.

share|improve this answer
    
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 '10 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.) –  Marc D Anderson May 10 '10 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 '10 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.

share|improve this answer
    
MBSurf, I can now start on something. Thanks for your input. Greg C. –  Anonymous May 7 '10 at 19:30

Your Answer

 
discard

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