| By Andrew Gelina | Article Rating: |
|
| November 16, 2007 02:00 AM EST | Reads: |
14,390 |
It was the usual story: a short deadline and a tight budget. The client's internal staff said "No way" to build the Web-based application in fewer than six months, with any fewer than three full-time resources. The project needed to be completed in two months. It included custom authentication, collaboration, business rules, and forums. Therefore we chose SharePoint 2007 as the development platform and configured the solution to handle 80% of the functionality. Where SharePoint could not meet the requirements through configuration, we developed custom code to complete the other 20%. Herein we'll detail some best practices and lessons learned from our implementation.
Project Background
The client, a leading provider of information and technology solutions to the worldwide financial community, wanted to construct a social networking portal. They wanted to establish mindshare and market leadership in this area, driving more business to the company from technical investors. This notoriously fickle but lucrative group of investors represented a great market potential for the company. They wanted to get in touch with this community, and provide an opportunity to expand their brand presence in this demographic. Their internal user base was in the hundreds, and they planned on an external user base of over 10,000.
The portal had some fairly general requirements (support documents, blogs, forums, and wikis) as well as some specific requirements. For this particular portal, content would primarily revolve around documents, especially Word, Excel, and PDFs. The technical investors would be able to post ideas, financial models, equations, and charts/graphs to the portal in documents. Each document would be version controlled, and would generate its own discussion area automatically upon submission. This made it easy for the technical investors to comment and improve upon the documents, collaborating to make the models and content better. The company wanted to be able to access the portal internally to administer it (using their internal proprietary authentication system to connect), as well as allow users from the Internet to access the application using Forms Authentication - a hybrid authentication model that has become more commonplace, as companies want to share specific parts of their portal content with external users, vendors, clients, and partners.
The marketing department sponsored the project with the blessing of the IT department to use SharePoint 2007 and to deploy the solution to production servers. However, they did not have the resources to get the project done. The IT department was already committed on several other projects and was unable to lend implementation assistance. The company retained Syrinx to help design, implement, and deploy the solution. Our extensive experience in developing SharePoint solutions, and our experience doing so in the financial services vertical, made the choice easy for the company.
Development Approaches
Most Web applications are developed using a well-worn project life cycle that roughly follows these steps:
Gather loosely defined requirements
- Build a prototype to demonstrate flow and navigation
- Finalize requirements
- Build the application
- Test
- Deploy
SharePoint 2007 projects that feature a heavy amount of user-generated content and documents follow a slightly different project life cycle:
- Gather loosely defined requirements
- Create a Site Collection
- Add real content
- Gather specific requirements for custom development
- Build custom developed features
- Test
- Deploy
Figure 2 shows code and content flow in a SharePoint application.
Why do things this way? Why not just develop everything (code and content) in development, and then push everything forward? Or perhaps just do all of your development in the production environment? The latter approach can lead to obvious stability problems, as the developers introduce new code and the users constantly introduce new content, with the potential to clash. Defining the content in production and pushing it back allows this process to be iterative and parallel without breaking existing content and features. For a first iteration, developers could just push everything forward (content and code) from development to staging to production. But users in production can then do things like create new lists, add columns, create views, and otherwise add to and alter content. Code needs to be developed against this latest version of the content schema in order to work correctly. For this reason, the sequence of bringing the content back from production, developing, and then pushing features forward for every iteration makes sense. This also obviates the need for a staging environment. Since users might change the production content schema while you are developing, you must pull the latest content back to staging just before a deployment. Pushing the new code up from development to staging after this allows you to make sure your features work with the absolute latest content schema in production before releasing them to the world.
Published November 16, 2007 Reads 14,390
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Andrew Gelina
Andrew Gelina brings over 12 years of software architecture and development experience to his role as CEO of Syrinx Consulting, where he is responsible for the strategic direction, technology focus, operations management, and growth of the firm.
Prior to joining Syrinx in 2003, Andrew helped build Web Technology Partners into a leading software engineering consulting firm before selling it in 2000 to Monster.com, the global online career and recruitment resource. During the next three years at Monster, he developed software and managed projects for virtually every area of Monster's operations, from CRM integration to e-commerce to high-traffic, high-volume Web development. He also worked closely with Microsoft to scale its .NET platform to Monster's huge transaction volumes.
Andrew has also worked in several other areas of technology leadership, performing technical due diligence for companies considering acquisitions and selling professional services. He started his career at EDS, helping them develop cellular billing and switch interface software to support the emerging wireless industry.
He graduated cum laude from the University of Massachusetts at Amherst, where he received a bachelor's degree in operations management. Andrew is a member of the CEO Roundtable of the Massachusetts Technology Leadership Council.
Andrew and his 35-member team work on-site with clients all over New England.
![]() |
shirley 11/26/08 05:23:51 AM EST | |||
SharePoint is the great platform for enterprise documment management and colloabration, and the integration applciation on SharePoint let organizations to keep IT platform up with their business development and requirement in the future. nSynergy assist here as we specialize in developing and implementing SharePoint – that’s all we do. For more information about SharePoint and nSynergy, you can mail to info@nsynergy.com |
||||
- iPad3 vs Windows 8 - and the Winner Is...Cloud
- Cisco Unveils Visual Collaboration Solutions in the Post-PC Era, Extending the Reach of TelePresence With New Mobile-to-Immersive Offerings
- Eleven Reasons Why Windows Phone Will Overtake Android
- Windows Azure Overview Part 4: Security
- Agile Development & Enterprise Architecture Practice – Can They Coexist?
- Eleven Tips for Successful Cloud Computing Adoption
- System Center Virtual Machine Manager 2012 as Private Cloud Enabler
- Apply Agile When Deploying Apps
- The Web – Changing the Way We Work
- EE Times and EDN Announce the 2012 UBM Electronics ACE Award Winners
- User Group Malaise?
- Closer Look at One NoSQL Database – MongoDB
- iPad3 vs Windows 8 - and the Winner Is...Cloud
- Cisco Unveils Visual Collaboration Solutions in the Post-PC Era, Extending the Reach of TelePresence With New Mobile-to-Immersive Offerings
- Eleven Reasons Why Windows Phone Will Overtake Android
- Windows Azure Overview Part 4: Security
- Agile Development & Enterprise Architecture Practice – Can They Coexist?
- Eleven Tips for Successful Cloud Computing Adoption
- System Center Virtual Machine Manager 2012 as Private Cloud Enabler
- Apply Agile When Deploying Apps
- The Web – Changing the Way We Work
- Book Review: Decision Management Systems
- EE Times and EDN Announce the 2012 UBM Electronics ACE Award Winners
- User Group Malaise?
- Google Maps and ASP.NET
- Converting VB6 to VB.NET, Part I
- How to Write High-Performance C# Code
- Crystal Reports XI & How It Has Changed
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Where Are RIA Technologies Headed in 2008?
- Programmatically Posting Data to ASP .NET Web Applications
- Implementing Tab Navigation with ASP.NET 2.0
- AJAX World RIA Conference & Expo Kicks Off in New York City
- i-Technology Viewpoint: "SOA Sucks"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"























