Sunday, November 8, 2009
SharePoint Saturday Philly Session: Integrating SharePoint with Line of Business Applications by Gurpreet Maini Where to start?
- Selecting a farm topology
- Capacity planning
- Scalability approach
- Disaster recovery strategy
- Deployment strategy
- Coding best practices
- Integration strategy
What do you want in SharePoint?
- Who will be using the site?
- What actions will they perform?
- What level of security is needed?
- Content types
- Site topology
Selecting a farm topology? Single server, Small, medium, large Capacity planning equation: R = (P * H) + X R: request per second P: pages per second H: average hits per second X: search queries Disaster recovery and fault tolerance strategies Full or differential backups Recover accidental deletions Fault tolerance strategies Deployment best practices
- Package it! Features and solution deployment
- Package will ensure automated controlled process
- Best way to push and manage deployed code
- Test, test, test
- Even configuration
- Consider virtual environments for dev, test/UAT
What are features?
- They wrap custom development and gives new piece of info to SharePoint
Coding best practices
- Don’t alter SharePoint schema, assume it will change
- Use facilities that already exist, such as ULS logs, instead of building your own
- Note that accessing list by name performs a bit slower than accessing lists by index or unique id.
- Limit amount of work performed in an event receiver
- Don’t evaluate lists.items in a loop expression
- Dispose of types correctly. If you access from context, do not dispose.
- Less custom integration code
- Deep integration of data
- New app types that blend data and collaboration
- Lack of structured data search
- Bridge portal and business application UI
- Centrally manage security, auditing, connections
- Lob application integration strategies
- Asp.net web part development
- InfoPath 2007 forms
- Web services development
InfoPath works good with BDC. Workflows can also be used to retrieve data from external apps. Infopath forms
- Infopath can talk with metadata.
- Share spreadsheets via zero-footprint browser experience
Dashboards and web components
- KPIs, excel workbooks and SQL Server 2005, reporting services report
- Features and components
- Shared service
- No code integration
- Centralized deployment
- Real-time access
- Centralized data security
- Designed for portal and collaboration
- Data query, indexing, personalization
BDC is not about?
- Data transformations
BDC metadata model
- Two purposes
- Describe a system API
- Give meaning to the API, make it easily usable
- Key objects
BDC application permissions
- Select in clients
- Set permissions
BDC web parts
- BDC List View Webpart
Business data search
- Search any db.web service not just documents
- No need to write iFilters or protocol handlers for business data
- No need to create html representations of data
- Highly customizable results
- Deep integrations with scopes
- You can import profile from any user profile db
- Filter web parts with userprofile filters
- Map user profile property to field of entity
- Business specific targeting and personalization
- Configuration application
- Configuring key BDC web parts
- Searching business data
- Integration of business data with SharePoint lists
- Analyst defines business requirements
- Developer writes and tests app definition
- It pro uploads app definition
- Analyst builds the solutions using business data features
- Runtime API
- Browse metadata, execute methods, retrieve instances, traverse relationships
- For custom app builders
- Admin API
- Create, read, delete
- Passthrough: the authentication mode quite literally passes credentials through from the front end (sp) to the back end (lob app identified via the BDC)
- Reverttoself: this mode reverts whatever impersonation might be done by IIS and authenticate against the BDC app using the identity of the IIS app pool itself.
- SSO: uses the sso subsystem for authentication to BDC
- rdbCredentials: it’s SSL
(Note: These notes were taken while blogging live. Please ignore any typos you may find. Thanks) Personal Note: If you want to learn more about BDC and integrating line of business applications with SharePoint, read the following wrox blox: http://www.amazon.com/gp/product/B0026A6ATW
SharePoint Saturday Philly Session: Deep dive into SharePoint 2010 MySites and Social Networking by Russ Basiura
- What’s new:
- Social networking
- Note board
- You have audit trail, who tagged what!
- Social networking
- Colleague tracker is a linkedin type functionality. You can track your colleagues.
- Social networking
- Social networking
- Tracking colleagues
- Better, more readable newsfeed
- Tracking colleagues
- Email notifications
- Colleague addition
- Keyword suggestions
- Profile updates
- Alerts to update
- Status message
SharePoint Saturday Philly Session: Search for SharePoint 2010 and FAST ESP by Natalya Voskresenskaya Natalya is a SharePoint MVP. She speaks about SharePoint Search and ESP Fast today. Agenda Enterprise Search Value Architectural Changes FAST search linguistic features Lemmatization Entity Extraction and Synonyms Structural Analysis Dictionaries New Search experience Configure, extend, create new Enterprise Search Value What’s the true value in Enterprise search? Impose multiple layers of information architecture on top of structured and unstructured content. It helps you build a 360 degrees view of what’s happening in the company. File shares, hard drives are full of information but no one knows what’s in there. People don’t think about organizing information. People should organize the information. That’s where taxonomy comes in. We replicate information. Companies replicate information. If there is really no easy access to information then you don’t have that information. The problem is that all the documents have to be tagged with the information. This is called meta tagging. SharePoint Search 2007 Problem with SharePoint Search! It ‘s locked. You can index data from all custom databases but you cannot impose your business rules on top of the business engine. SharePoint has its indexing engine but it is used only for people search. FAST Search extends SharePoint server Advantages: High availability! Why new search is so great? Why 2007 search was failing so badly? Important part in search engine is preprocessing. When document is normalized, all characters are normalized to the language in which they are searchable. Documents should be properly index to be searched. Pre-processing Doc id Text normalization Processing All the magic stuff Post –processing Signals to indexer Common Scenario Search string: “looking for SP architect” Query: “looking” and “sp” and “architect” First result: “set of 4 dunlop sp sport 6000 tires ….” Search engines remove noise words from the sentences. Contextual insight Contextual insight annotates the scope with entity metadata by extracting all the entities it can find to provide the answers. FAST understands paragraphs, addresses, names, company names, phone numbers. It also has natural language processing. Main thing is contextual support. It’s amazing. Linguistics Determine the language Tokenization and normalization Spelling and spelling variation Anti-phrasing and stop words Synonyms, acronyms Pronunciation Entity extraction Lemmatization Mapping of the word to its base form and base form variation. “Walk” is the base form of word “walking”. And hence this matches in both stemming and lemmatization. Lemmatization dictionaries Dictionaries Nouns Adjectives Verbs Blacklist Dictionaries in SP 2010 Now you can create your own dictionaries. In SP 2010 you can do it through the UI. Notes/Interesting topics and points
- Relevance tuning
- Proximity boosts
- Context boosts
- Boosts are based on the contexts. If information is found in the meta data then the boosting of the document goes up.
- Now we can extend search capabilities
- Now you can use BCS (Business Connectivity Suite) in SP 2010. No need to create ADF files! BDC was difficult to use. Searching external data in SP 2010 is easy.
- Now you can create solutions in VS
- 118 Powershell Search cmdlets
SharePoint Saturday Philly Session: Findability, Putability, and taxonomy building in SharePoint 2010 by Bill English Fig 1: Bill English starting his session What is Putability Definition: The quality of putting content in the correct location with the correct metadata. The degree to which we put quality information into our information management system Truths: What goes in, must come out: garbage in, garbage out What is findability Definition: the quality of being locatable or navigable The degree to which objects are easy Putablity, findability and technology Most are clueless when it comes to thinking about how information should go into SharePoint Fig 2: Full room during Bill English’s session Notes/Interesting points
- Great architecture will save your company significant monies through increased efficiencies.
- Great architecture will give your organization a greater ROI on its’ Microsoft technology investments
- Over 30 billion documents are created each year
- Cost of documents is estimated to be as much as 15% of annual revenues
- 85% documents are never retrieved
- 50% of documents are duplicate in some way
- 60% of stored documents are obsolete
- 3.5 hours are spent by employees to search but they don’t find documents. Cost per year reaches 5,251.
- Findability is not a technology. It is a way of managing information that is baked into the organization.
- Search is too often viewed as an application-specific solution for findability. Findability is a well-defined and well-executed strategic model of consistent practices and actions.
- People face problems because they avoid business requirements phase.
- Information overload: we need right info at the right time
- $900 billion cost to the economy in 2008 (WSJ)
- 54% of us report feeling a “high” when we find information that we were looking for.
- 80% of us feel driven to gather as much information as possible to keep up with customers and competitors.
- IQ is dropped by 10 points during information overload while smoking pot drops IQ by 5 points.
- #1 threat to company’s network security: employees who inadvertently exposed confidential information.
- We can develop custom apps for tagging by using the metadata OM
- Tagging can be done with web browser
- Tagging can be done with office clients
What is e-discovery? Dispute -> file civil claim -> discovery -> trial or settlement Discovery is the exchange of evidence between the parties MMS – in a nutshell
- content type distribution system
- enables enterprise-wide CT usage
- retains local control
- pull technology
Enterprise taxonomy development Problem: users don’t want to take the time to tag information (Solution) MMS feature: force metadata assignments via closed lists and DIP Problem: users don’t know what metadata to select (Solution) MMS feature: users can select from a set of choices in a choice list The MMS is about putability, not findability (Note: This is live blogging. You may find typos and mistakes. Please ignore the mistakes. Thanks.) Personal Note: You can read more about MMS here: http://technet.microsoft.com/en-us/library/ee424403(office.14).aspx
SharePoint Saturday Philly Session: Upgrading existing products to the new SharePoint 2010 by Shai Petel
- Building a new solution
- VS 2010 extensions for WSS are required to build solutions.
- Is your team ready for 2010?
- Silverlight, ajax, json
- Visual web parts
- Prepare to be hosted
- Limit customization to site collection level
- Prefer to support sandboxed solutions
- Creating a new web part?
- Inherit from existing .net web part.
- Sharepoint web part is for backward compatibility
- Asp.net web parts are a good choice because they have the capability to be hosted in SP.
- If you change the base type of an existing web part, it does not know how to serialize, it will stop functioning.
- Connections out of the zone don’t work in asp.net web parts but those are not required in SP 2010 so it’s safe to use asp.net web parts
- What is required to start development in SP 2010?
- Visual studio 2010 + VSeWSS
- SharePoint Designer
The above two are the tools that are required for SP 2010 development in VS. You have following options to create development environment:
- Install in one server
- Virtualization (recommended)
PROs and CONs:
- Install in one server
Pros: isolated, developer control, slower hardware, performance Cons: win7/win 2008 64 bit, hard to backup, easy to mess up
Pros: easy to backup, hard to mess up the server, slower computers, runtime Cons: not isolated, no control on farm
Pros: isolated, developer full control on farm, backup; duplicate; portable, restore Cons: win7 or win2008 64bit only, strong computer
- VS 2010 has SharePoint templates for development.
- Create a new solution
- Choose a template
- Setup trust level
- Adding new components
- One-click deploy or package
- Visual web part
- This project type cannot be sandboxed because requirements exceed limitation of sandboxing.
- All files are inside MyWebpart folder.
- VS 2010 creates a package for you. Package is for one project. It sounds limiting but it is not. You can use feature from on one project in another project. It sounds complicated. Copying feature to another project will link it. It will not create a new copy. You can share the elements of one web part package with other projects. You also have feature designer.
- You can decide where to deploy the web part, for example, on the front end server.
- Using shared resources in WSP
- There is a disadvantage!
14 hive is not supported in sandboxed solutions
- Some APIs will not work in sandboxed solutions
- Groups cannot be added in sandboxed solutions, buttons can be added
- New APIs: Microsoft.SharePoint.Linq.dll, Microsoft.SharePoint.Client.dll, Microsoft.SharePoint.Taxonomy.dll
- When upgrading, keep namespaces and assembly evidence same. Also, keep elements GUID same.
(Note: These notes were taken during live blogging. Please ignore any typos or mistakes that you may find. Thanks)
Thursday, November 5, 2009
Here is another series of articles published on SharePoint Magazine which is informative, and has practical and real world value: SharePoint Farm configuring and deployment. Part 1 – Architectural and Logical Planning SharePoint Farm configuring and deployment Part 2 – Installation & Configuration SharePoint Farm configuring and deployment Part 3 – Development Environment SharePoint Farm configuring and deployment. Part 4 – Backup and Recovery Strategy SharePoint Farm configuring and deployment. Part 5 – Virtualization SharePoint Farm configuring and deployment Part 6 – Post Deployment
SharePointMagazine has published a series about SharePoint BIs which is worth looking at. Here are the links: Intro to SharePoint BI (Part 1) Sell! Sell! Sell! Why Build a Dashboard Anyway? (Part 2 of 6) KPIs – Who Am I and Where do I Come From? (Part 3 of 6) Dissecting Dashboards (Part 4 of 6)
Tuesday, November 3, 2009
AC has posted a fantastic article today. He talks about the hardware he uses for SharePoint 2010 development. Here is the link: http://www.andrewconnell.com/blog/archive/2009/11/03/doing-sharepoint-2010-development-ndash-whatrsquos-in-your-rig.aspx Article has some fine suggestions about the hardware that you can use and increase your development speed. These are not mandatory requirements by the way. You can use a low configuration laptop to do SharePoint 2010 development but that's the primary difference between a novice and an expert. If you just want to experience SharePoint 2010 (no development), you can run it on a 32 bit system as well using virtualization. One of my SharePoint 2010 installations run on a 32 bit system. Following is the configuration I use for 32 bit system: Lenovo T61 (IBM ThinkPad) OS: Vista 32 bit Processor: Intel Core 2 Duo T7700 @2.40 GHz 2.40 GHz RAM: 4 GB (32 bit systems use only 3 GB) HDD: 160 GB Single Partition Virtualization: VMWare Workstation 7 Windows Server 2008 R2 This is the minimum configuration I believe that you need to run SharePoint 2010 :). You can increase the performance by adding a SSD (as suggested by AC) and/or increasing the RAM. For my daily use, I use a 64 bit system for SharePoint development. My 64 bit configuration is as following: HP laptop 7200 RPM HDD 8 GB RAM Quad Core Processor