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

We are currently building a new public (extranet) client document portal. This should be system very similar to box.com where we can exchange documents with our clients. We will also allow the client to share documents with other users. Since we are relatively new to the SharePoint technology, we hired a vendor who persuaded us to use SharePoint technology for this product, and we’ve invested significant amount of money so far.

System will have a SharePoint site for each client, around 12000 sites. Each site will have 3 document libraries. We will also create site for shared document users and a library in each of these shared user’s sites. In order to avoid item level security, we will have to either add all these users to each of the libraries in their respective client sites, or create site custom groups (we can’t use custom groups since Microsoft recommends only 10000 per site collection). Moreover, we will definitely have to use item level security for one of the libraries in which client users can upload documents and they are allowed to see only their uploaded documents.

Considering that our system will be used only to exchange documents in the first phase, and possible collaboration features for the next phase (we haven’t defined collaboration yet), do we really need:

•12000+ sites,

•36000+ libraries,

•complicated security model (more secure though),

•extra reading/writing document to database (we are using BLOBs technology) but there is a lot of database reading/writing when you upload/download document

•limitation of 250K sites per site collections

•increased difficulty of creating web parts, event receivers, workflows, timer jobs, web templates, features and other custom code

•more difficult way of updating UI (page layouts, web part zones, publishing templates)

If we were going to do this in SP.NET we could have done it using few web forms, single database and file system for document storage.

Is SharePoint right technology for this system? Can you please give me some Pros and Cons?

Thanks,

share|improve this question
add comment

6 Answers

up vote 7 down vote accepted

As a seasoned ASP.Net developer, I can tell you for certain that you could not have done this with a few web forms in ASP.Net. You would have had to build numerous subsystems for all of the various parts (security, document management, membership, retention, etc). You would also need the obligatory management UIs for all of those subsystems. In addition, since this would effectively be a public facing site, you would also need to spend a great deal of time strengthening your app from hacking attempts. Then there's usability, which would require the involvement of a design group to help you work through those issues. I could go on but you get the picture. SharePoint already has these subsystems and has been hardened against attacks over several releases.

It sounds like you are coming from an ASP.Net background so I won't sugar coat this: SharePoint has a STEEP learning curve that is realistically measured in years and you will make mistakes. Visual Studio 2010 does make it a lot easier to get productive quicker but there will still be places where you will stumble. However, once you get used to the concepts and the environment though, the amount of time spent working up master pages, layouts, web parts, etc., is only slightly more than you spend in ASP.Net.

What you describe really is what SharePoint is made for, though I would question the structuring of 12000 sites in a single site collection. If there is no need for the sites to communicate between each other then they could just as easily be separate site collections or even multiple site collections created along geographic or business boundaries. Not only does this allow for easier management of security, but it also allows you to split your sites across multiple content databases - something you would need to think about down the road from a management/backup perspective.

One last note: the ability to limit that a user can only see their own items is a setting on the list in Sharepoint, there is no need to use item-level permissions for this.

share|improve this answer
    
thanks Dave for the detailed answer... I didnt know that you can limit a user to see their own items without item-level security. I will research this. –  bakre Jan 30 '12 at 17:25
add comment

I can't seem to find a single listed requirement which can't be fulfilled by SharePoint! Microsoft SharePoint 2010 is the content portal from Microsoft that has built-in collaboration, enterprise content management (ECM), and records management (RM) capabilities.

SharePoint is a good tool for addressing a long list of an organization’s content and records management needs. But SharePoint alone will not solve your needs unless it is used to support clearly defined processes.

SP2010 includes more of a web orientation, including features to move content to the web such as Word documents or even video using MS Silverlight technology. SP2010 also includes social networking tools to help project teams collaborate and create wikis to share information.

SharePoint still has weaknesses in its records management capabilities. SharePoint sales and implementations have continued to increase annually despite the global economic downturn.

Document management controls the life cycle of documents in organizations — how they are created, reviewed, published, and consumed, and how they are ultimately disposed of or retained. SharePoint 2010 has greatly improved document management features over the previous product (Microsoft Office SharePoint Services).

share|improve this answer
add comment

I agree with Dave in not piling all 12000 sites in a single site collection. Have one site collection for each unit you need. And use separate content database. You can put multiple site collections in one database, so you might want to group several at a time to simplify disaster recovery.

Otherwise, yes. SharePoint is a good idea given the brief overview of your information architecture. SP will scale well providing you throw enough tin at the right places in your farm.

share|improve this answer
add comment

One potential risk which you need to tackle are soft and hard limits regarding security. Depending on the amount of users, the amount of content per list/site/site collection and the complexicity of how permissions are defined you will quite easily run into these limits in larger deployments.

I won't go into details here, just a heads up and a one starter article to get you started with this specific topic.

share|improve this answer
add comment

SharePoint is an excellent choice. I agree with the statements regarding the learning curve, I sense intelligence in the question and think that is all you will ever really need.

http://harmon.ie/ have iPad & iPhone apps integrating with SharePoint and vendors like HP (Trim), IBM and with so many vendors in the "Enterprise Content Management (ECM)" space, supporting SharePoint for storage, security and customisation, it maybe a nice fit with your in-house skills, and can work well in customised environments where a few forms, maybe be exposing the back-end systems behind the scenes.

Make no mistake about it however, the size and scale of your requirement, is something you have to answer yourself before making any decision and SharePoint Foundation, is never going to give you the full feature set of SharePoint Standard or Enterprise edition.

share|improve this answer
add comment

SharePoint is an excellent choice.

But, that does not mean if you setup SP in your environment it will solve your problems. You will need to really spend time on planning your SP topology. If you come up with a wrong SP topology you could end up with a bigger problem you started with.

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.