06/01/2011
In the recent article of Dan Holme, I found a very interesting selection of various MVPs (Most Valuable Professionals) predictions for SharePoint in 2011. Here are the ones I selected:
- “Choosing a partner that understands how to properly architect cloud based SharePoint applications will make all the difference when it comes to properly securing data while also creating extensible and supportable systems.” Todd Baginski
- “As everyone starts to do their 2010 migrations with their freshly minted 2011 budgets demand for the best talent will be tight. “ Rob Bogue
- “It’s also good that the training resources are better than they’ve ever been so it will be easier to educate internal staff – if you remembered that budget line. “ Rob Bogue
- “2011 is going to be the year we point to for when SharePoint in the cloud really got its start. Office 365 (currently in beta) is amazing and it is going to spread like wildfire in 2011. “ David Mann
- “I predict that companies will begin to take stock of their software expenses and decide to start their migrations based on business value and not on “new and shiny” like they did for the 2003 to 2007 upgrade. I predict that one driving factor in these decisions will be a focus on search (or, more correctly, findability).” Matt McDermott
- “Companies will quickly realize that SharePoint is at the heart of all things Microsoft these days and SharePoint 2010 adoption will take off! Therefore, there will be a great need for SharePoint training and consulting.” Asif Rehmani
- “2011 is the year we see Office365.” Darrin Bishop
But I strongly invite you to read the whole article (7-8 minutes reading):
http://www.sharepointproconnections.com/article/sharepoint/SharePoint-in-2011-MVP-Predictions.aspx
Leave a Comment » | Application Integration, Sharepoint 2010 | Permalink
Posted by uscatu
04/10/2010
A Managed Account is effectively an Active Directory user account whose credentials are managed by and contained within SharePoint. This scenario is what enables farm administrators to join machines to the farm without specifying the credentials as had to be done in previous versions of the product: http://blogs.technet.com/b/wbaer/archive/2010/04/11/managed-accounts.aspx
Attention: Some SharePoint 2010 services will break, because they are default configured with managed accounts (search, usersync). SharePoint 2010 default behavior cross-pollinates unfortunately managed accounts (Search Service app) with unmanaged accounts (default cralwer).
Leave a Comment » | Administration, Architecture, Sharepoint 2010 | Permalink
Posted by uscatu
01/10/2010
SharePoint Connections 2010, Den Haag, 29 September 2010
Session: Information Architecture and the Managed Metadata Service: A to Z (MIT13)
Speaker: DAN HOLME
- Term Store hierarchy
- TERM Store -> TERM GROUP -> TERM Set -> TERM
- Other labels (synonyms): if other labels(synonyms) are input for a given term, when the user types one of theses synonyms in a list where he uses the managed metadata, what the system will keep in the list is the real term and not the synonym
- The number of available working languages of the TERM Store depends on the language packs installed on the server.
- Security:
- Security at the TERM Store scope: you need the be declared as ‘TERM Store Administrator’ to be able to manage the TERM groups
- Permission for who has the right to do what with the terms is situated at TERM GROUP level (Group Managers, Contributors) -> delegation to librarians for the management of the TERMS is now possible.
- TERM Sets have a Contact and Stakeholders fields but these fields do not set any permission levels. If a contact is put in the Contact text box at the level of the term set, then a “send feedback” link appears for users when selecting terms from that term set using browse button in a SharePoint list using a Managed Metadata column.
- If you change a term, the change will be reflected to all items being tagged with that term – this can create a historical data consistency
- If you delete a term, it will be deleted in all items being tagged with that term
- Known Managed Metadata Service LIMITS:
- 30 000 TERMS per TERM Set
- 1 000 TERM Sets in a TERM Store
- 1 000 000 TERMS in a TERM Store
- OBS: as it is, the management tool of this Managed Metadata Service is not great…dealing with thousands of TERM can be a pain.
- Metadata driven navigation on SharePoint lists – very useful to filter lists and find content
- Content Type Syndication
- = Define the content type once and use it in multiple locations
- How you do it: define a Publisher HUB = a site collection to which we publish the content types; Content Type HUB is a property on the Managed Metadata Service Application which indicates the site collection serving as publisher for the syndicated content types. (known bug: you have to type this property correctly as it can not be changed later)
- Configure Service Application connection: Managed Metadata Service Connection (proxy) properties have to be checked as well to allow connections to the HUB:
- Consumes content type from the define HUB
- Accept updates of the published content types.
- Two timer jobs to consider so that all works:
- Content type hub job
- Content type subscriber job
- The published content type will be available in subscribers’ content type galleries
- Important takeaway: Create a site collection dedicated as a content type hub for enterprise wide content types
- MMS can be published across sites.
1 Comment | Conferences & Events, Development, Information Architecture, Managed Metadata, Sharepoint 2010, Sharepoint Connections 2010 | Permalink
Posted by uscatu
01/10/2010
SharePoint Connections 2010, Den Haag, 29 September 2010
Session: MDV08: Developing Windows Phone 7 Applications for SharePoint 2010 (MDV08)
Speaker: PAUL STUBBS (http://blogs.msdn.com/b/pstubbs/)
- Globally Web parts are not rendered but only content is rendered on the mobile from a SharePoint site.
- If you wish to render web parts content, use Mobile web part adapters:
- Renders alternate view
- Lookup in browser.compat config file
- Supported in SharePoint Foundation
- Use Microsoft.SharePoin.WebpartPages.MobileAdapter
- Override CreateControlForDetailView()
- Applications supported on Windows Phone:
- Silverlight (business applications)
- Modern XAML/event driven application UI framework
- XNA (games)
- Capabilities of the Phone (features writable against SharePoin)
- Input
- Media
- Digital media capture&playback
- Media Library access
- Data
- .NET
- Superset of Silverlight 3.0
- WCF (SOAP and REST services)
- Phone Access
- Integrated access to phone UI
- Sensors, camera, microphone
- Picker for contact and photos
- Integrated with could Services
- App deployment & updates
- Notifications (very important for mobile services)
- Location
- XBOX live
- Authentication to SharePoint is an issue for development on mobile phones
- The phone DOES NOT SUPPORT windows authentication yet but only Forms based authentication
- Forms based authentication
- Supported very easily through claims provider in SharePoint 2010
- Provider neutral: SQL, LDAP
- Solution: forms authentication provider can be set to LDAP and so the users will be still use the same username and password as the one in active directory
- Windows Phone tips for SharePoint
- Only supports Forms Based Authentication sites in SharePoint
- FedAuth Cookie is HTTPOnly
- Pass along in a CookieContainer: set enableHttpCookieContainer on binding. One you have it (after authentication) always pass your CookieContainer with any list call you initiate.
- Authentication.asmx not compatible with Service Reference in Visual Studio: use instead HttpWebRequest
- Access to list web services works fine.
- Phone tools are working for Windows 7 only – phone development machine needs to be on Windows 7 (if you start the phone emulator in a server it will reboot L )
- Check slides for a development environment schema
- Tooling
- http://Developer.windowsphone.com download all tools and emulators
- Download SharePoint 2010 Developer VHD (Windows Server 2008 R2 Standard, SharePoint Enterprise with Fast, etc)
- Run your App on a Phone for tests: Matthijs Hoekstra (matthijs.hoekstra@microsoft.com )
2 Comments | Conferences & Events, Development, Mobile Devices Applications, Sharepoint 2010, Sharepoint Connections 2010 | Permalink
Posted by uscatu
01/10/2010
SharePoint Connections 2010, Den Haag, 29 September 2010
Session: Incorporating Managed Metadata in Custom Solutions (MDV11)
Speaker: ANDREW CONNELL ( http://www.andrewconnell.com/ )
- Main ideas covered by this session:
- Creating & Importing Taxonomies
- Managed metadata columns
- Programming with the taxonomy Field
- Overcoming Limitations of LINQ to SharePoint
- Taxonomy TERMS scope in SharePoint 2010:
- Global terms are scoped to Service app
- Local terms are scoped to site collection
- Taxonomies are multilingual
- In Managed Metadata Service Application you can import a CSV file
- You might consider having one Service Application per domain (e.g. one for Medical, one for finance, etc))
- You have the possibility to configure the submission of terms to the Service application (‘Closed’ meaning available only for Managers of this service application or ‘Open’ to everybody); nevertheless you can not make usage of a workflow for validation of submitted terms (not out of the box)
- Operations on a TERM in a TERM set:
- Create, copy, reuse (capability of a term of being referenced in more than one term sets but managed in only one), merge, deprecate, move
- The Folksonomy terms are stored in the Managed Metadata Service (MMS) in the System/Keywords terms set
- Metadata Navigation functionality can be activated on every SharePoint List: go to ‘List Settings’
- Automate tagging of content: It is possible to enforce a specific term by default on all items/documents of a storage element like a folder for example (option in the document library)
- Creating & Importing Taxonomies
- From CSV file
- Does not support importing labels (synonyms)
- Full taxonomy API provided: Microsoft.SharePoint.Taxonomy.dll
- Not all customer needs are satisfied by MMS out of the box like for example
- Taxonomy based on external systems
- Inclusion for synonyms and translations
- Options on working with taxonomies from external system:
- Use BCS
- Build something yourself using the API
- Working with taxonomies through the API
- Get a taxonomy session
- Select a term store (MM)
- Check the code for this session for a perfect example (adding and updating new terms via l’API)
- Creating Managed Metadata Columns in a SharePoint list is possible:
- Via Browser or SharePoint Designer
- Declaratively (Feature)
- Programmatically
- You must set the Term Store ID, the Term Set ID
- TermSet.GetTerms() returns a TermSetCollection and has a lots of overloads (LCID, taggable terms, collection size, filter deprecated, terms, etc)
- Tooling: Metalogix (specialized also in migration and considers metadatas)
- LINQ & SharePoint limitations:
- SPMetal.exe’s generated entity model includes only SharePoint Foundation 2010 types – > it does not work with LINQ to update Taxonomy terms
- BUT a solution would be to augment the generated model via ICustomMapping.MapTo() & ICustomMapping.MapFrom() (adds logic to map data in DB to field and vice versa)
1 Comment | Administration, Conferences & Events, Information Architecture, Managed Metadata, Sharepoint 2010, Sharepoint Connections 2010 | Permalink
Posted by uscatu
30/09/2010
SharePoint Connections 2010, Den Haag, 29 September 2010
Session: Architecting and Managing Virtual- ized SharePoint 2010 Farms (MIT09)
Speaker: MICHAEL NOEL (http://www.cco.com )
- Dynamically expandable disks a penalize performance so for PROD try to define a disk size
- Recommendations for Database Roles
- If possible try not to virtualize the database servers
- Mirroring and clustering are now supported in virtualization (KB 956893)
- Use best practices for tempDB (put it on fast disk, resize it – there is a guidance on how to configure tempDB for SharePoint)
- Sample specifications presented for various farm types (check slides)
- Cost effective Farm would be 1 Host with 2 quad core supporting:
- 1 vm (10Gb, 4 proc) for SQL
- 1 vm (10GB, 4 proc) for web applications
- High available Farm with only two servers hosts
- Best Practice Virtual/Physical with High availability
- High transaction servers are physical (DB). Multiple farm support with DBs for all farms on the SQL cluster
- 2 server hosts quad core supporting each
- 4 vm: 2 vm for web applications for PROD environment, 1 vm for web applications for TEST environment & 1 vm for web applications for DEV environment
- VMs are load balanced for PROD, TEST and DEV environments
- Large virtual Farms:
- 3 server hosts quad core supporting each:
- 1 vm for DB
- 1 vm for web applications
- 1 vm for search server
- 1 vm for central admin
- 1 vm for service applications
- NUMA (non uniform memory access) memory Limitations and Guidelines
- It exists at the hardware level
- You can end up with swaps if you allocate more memory to sessions than the NUMA boundary -> instead of increasing performances you end up with decreasing performance
- Don’t get cheap on memory if you bought a server with many CPU’s
- Monitoring:
- Configure Counters and Thresholds on Hosts & on Guests Very interesting slide (check photo)
- Monitoring processor on guests is useless…you have to measure this on the host
- Memory…over 50% free is good
- Support from Microsoft is conditioned by:
- The hardware used for virtualization (Intel VT or AMD-v)
- Hardware-enforced Data Execution Prevention (DEP) is available and enabled
- Deployed on Microsoft Hyper-V (RTM or R2) or on a validated third party hypervisor (SVVP program –> ok for VMware ESX/ESXi)
- Tooling: System Center Virtual Machine Manager (VMM 2008 R2)
- SCOM 2007 is aware of SharePoint features
- Quick provisioning: Allows creation of SharePoint template servers which can be quickly provisioned on TEST or DEV environments
- Licensing:
- Very important to know that licensing rules related to virtual guest licensing are applicable to all SVVP program vendors: e.g. you can run VMWare ESX/ESXi on a 1 processor host and have only one windows datacenter license for all guests (Windows Datacenter license is per host processor: 4 processors on the hosts = 4 Windows datacenter licenses; it might nevertheless be more interesting to use the Windows Enterprise virtual licensing facilities)
2 Comments | Administration, Architecture, Conferences & Events, Configuration Sharepoint, Sharepoint 2010, Sharepoint Connections 2010, Virtualization | Permalink
Posted by uscatu
30/09/2010
SharePoint Connections 2010, Den Haag, 29 September 2010
Session: Creating Content-Centric Sites with SharePoint 2010 Web Content Management (MNC04)
Speaker: ANDREW CONNELL (http://www.andrewconnell.com)
- Planning a SharePoint 2010 WCM Site
- Define major areas of the site
- Define the types of content
- Define different rendering options on the site
- Define major actors for different sections
- Define content review & approval process
- Define content management plan
- Tooling small nice application from CriticalPath Training company (check on the Members area of the web site for it: AC’s SharePoint 2010 Site Collection Keep Alive Job Utility (v1.1 – Updated June 7, 2010) for site warm-up : to be used before demos and presentations or for testing purposes.
1 Comment | Conferences & Events, Development, Information Architecture, Sharepoint Connections 2010, WCM | Permalink
Posted by uscatu
30/09/2010
SharePoint Connections 2010, Den Haag, 28 September 2010
Session: Windows PowerShell Crash Course for SharePoint Administrators (MIT07)
Speaker: DON JONES (http://concentratedtech.com/)
- Most of DOS and UNIX well known commands work in Powershell (PS) (including the good old functionality of using TAB to complete partially typed commands)
- Powershell drives – adapts all forms of storage into a powershell drive get –psdrive
- Extending the commands available in Powershell by default (400 commands by default out of the box): PSSnapin (Old way) vs. Modules (new Way
- IMPORTANT: there is only one Powershell environment. The modules or the snapins are not different environments of Powershell but just predefined command set extensions.
- Almost every Microsoft product will come with it’s own Powershell predefined Module (or Snapin) (e.g. event Active Directory has it’s own PS module)
- PSSnapin to add snap-ins in PS and use various commands of a particular environment (e.g. a powershell snapin for SQL server will let you type SQL commands in powershell)
- PS is build around the idea of piping = like DIR | more
- Each time a command is run, there is an invisible table, which is generated into memory. Using an XML configuration file, PS knows how to choose what to show on the screen (obviously not all the information would fit on the screen and a choice has to be made)
- ALL PS commands start with a verb: get, set, new, move, remove (-service, -process, -comand, etc)
- For SharePoint, PS commands start with ‘sp’. For SQL, PS commands start with ‘sql’; Exception is Exchange as it was the first product out on PS…well done Exchange guys 🙂
- HELP on Powershell
- ‘-full’ provides full help including usage examples for all commands.
- “help * event *” will list all powershell commands or help files containing events
- If there is a space in one parameter value you can use either ‘ or “ to include the value. Both work.
- “what if” parameter simulates the command and displays you the result without actually doing it
- “-confirm” parameter ask you for a confirmation for each action needed for the command to complete
- Unlike in UNIX, Powershell user does not have to process the output text of the command. Instead the user can ‘tell’ powershell how and what you want to look like (e.g. sorting a column..you only have to know the name of the column and PS will display for you the results sorted on that column)
- Pipeline input parameters (fastest way to make things happen): get –service –name bits | stop-service (this will return the service which will be fed as parameter for stop –service command)
- Another example: import-csv ./users.csv |new –user (given the csv has the column names maching the command parameters names)
- Remote Control
- Requires PSH v2
- ‘enter –pssession – computer server-r2’ will get us on the remote server-r2 (given we have access); “exit-pssession” to get out of it
- You can import a remote set of commands not available on the local session (what happens is not a real import of commands but rather like a shortcut to the commands – if used such an ‘imported’ column it actually runs on the remote computer
- 1:1 or 1:N remoting:
- Enter-PSSession –computername X
- Exit-PSSession
- Invoke Comand – scriptblock {commands}
- For SharePoint make sure you have granted shell administrator rights!
- Tooling & resources:
1 Comment | Administration, Architecture, Conferences & Events, Configuration Sharepoint, Sharepoint 2010, Sharepoint Connections 2010 | Permalink
Posted by uscatu
30/09/2010
SharePoint Connections 2010, Den Haag, 28 September 2010
Session: Creating Search-Based Solutions with SharePoint 2010 (MDV03)
Speaker: SCOT HILLIER
- Great slide on the Search Architecture (get the slides)
- Content source->iFilters->.NET Assembly Connector-> Index Engine
- The big news is that the indexer uses a .NET assembly connector to access exernal data (a new .NET assembly connector can be easily written by a developer)
- There is now an architecture support for search federation
- Relevancy:
- Ranking vs Sorting
- Authoritative Pages is a primary way to affect ranking
- In SharePoint 2010 we can create a specific Custom Ranking Model
- Using Custom Ranking Models
- Define Weights & Normalizations through an XML file specifying:
- Query independent elements (e.g. all documents ending with .docx be pushed at the top of search results)
- Query dependent elements (e.g. all queries beginning with ‘a’)
- Define Managed properties and explicitly activate it for use.
- Install the ranking Model
- Update the Core Results Web part to use this Ranking model (you have to define the ranking model ID in this web part…if no ID specified, the one of SharePoint by default).
- SharePoint 2010 has 5 ranking models defined. The one by default is general for all searches and the rest of the models apply especially to people search. The IDs of these ranking models are not visible through the UI – you have to export them and check the GUIDs in XML.
- When SharePoint query does not contain any text but only a managed property, the Search skips the ranking of search results (the ranking model is not used) and the search results are simply displayed but not sorted using the ranking model. (e.g. put in the search box “Rating>0”, given that AverageRating is a manged property) As soon as a text is included in the query, the ranking model is taken into consideration before displaying the search results (e.g. search for “a* Rating>0”)
- In SharePoint 2010 we can inherit the CoreResultsWebPart class!!! And build our own custom CoreResultsWebPart class
- In order to help user you might wish to use separate pages by scope (tabs on top of the search box)
- INTERESTING use case: a unique place on your SharePoint site where the user can check all tasks he’s assigned to. Instead of building a CAML complicated web part/solution, you could use the search engine and query for all “AssignedTo” properties across your farm (check code in demo). You can use FullTextQuery Class to process SQL queries. (e.g. show all the latest documents on the portal)
- Keyword query syntax examples:
- Lastname:A
- AverageRating>0
- Training+isDocument:1
- Client AND Server
- A demo of using the keyword query syntax : AZIndex of employees in the directory
- .NET Assembly connectors
- It is the WAY we allow the index engine access an external system
- The fact that anyone can write a .NET assembly connector (choose Business Data Connectivity Model in Visual Studio) gives the opportunity to index practically any existing external system
- It’s the same ‘piece’ used by the BCS (Business Connectivity Services) to search and access data from external systems
- Security: Search results trimming vs query time trimming
- Search queries stay entirely compatible with OpenSearch standard
3 Comments | Conferences & Events, Search, Sharepoint 2010, Sharepoint Connections 2010 | Permalink
Posted by uscatu
30/09/2010
SharePoint Connections 2010, Den Haag, 28 September 2010
Session: Designing Governance: How Information Management and Security Must Drive Your Design (MIT02)
Speaker: DAN HOLME
- Always keep in mind the scope and the goal: what you try to achieve with the solution
- Understand the business
- Understand SharePoint and especially its limitations
- Identify Information Management (IM) requirements:
- Ownership of information
- How long the content is online and who consumes it?
- What kind of content do you have
- Identify SharePoint management controls and scopes
- Requirements on authentication imply a certain choice of the Web APP.
- Authentication providers: In SharePoint 2007 if you have two authentication providers you had to extend the web app and thou have two links for access to the same web app (disadvantage is that users could not send links between them as they were not similar) – in SharePoint 2010 you can have two authentication providers for the same web app
- Only one-way to manage ownership and quotas: site collection. Site collections is thou directly linked to the ownership of information (who needs to have full access to content)
- Storage, quotas, locks influence also the site collection planning (on or more content databases in regard of backup and restore time and efficiency)
- Navigation and content types are also influencing the topology at the site collection level
- Users are also ‘scoped’ at the Site Collection level: you might have to plan it at this level if you need to give access to users who do not have to see each other: a possible solution: create a site collection for each client?
- Align controls and scopes with requirement
- Recommendation: have a web app for the Intranet, another one for collaboration where people can be empowered to have self-site provisioning (http://intranet vs http://team ) and another one or more for clients (http://clients )
- Content Promotion
- Is extremely important: e.g. take the content from the collaboration site and publish it to the intranet once it’s finished.
- Consider document life-time and expiration policies in order not to find yourself with another garbage place like on the old file shares;
- Consider also exposing content from one site to another site especially using RSS or third party tools for roll-ups or content query web parts (Avepoint has a tool to share a file share as it was a document library)
- Farm level scope:
- GEO performance: Farm geographical location is important – it should be as close as possible to the users – performance for collaboration might be an issue
- Isolation – dedication for a specific service might be interesting (Application services specific servers)
- Consider Premium farms(s) for custom applications vs out of the box SharePoint farms for standard features use. Standard Farms will be a lot easier to upgrade and maintain = mitigate risks & costs
- Overlay information architecture and administration
- Lay Navigation (usage of top link bars and custom link lists are security trimmed), content roll/up & search on top of a manageable structure end not vice-versa!
- Use administration tools (third parties)
- SharePoint 2010 has now built in Resource Throttling (max 5000 items returned in a list for example) and it is scoped at the web application level
- What users can or can not modify in their sites using SharePoint Designer it is scoped at the web app level
- Use Powershell to create a site collection and specify a specific database (which is not possible through the UI) – for SharePoint 2007 there is a similar stsadm command.
- TIP: in SharePoint 2010 there is a Content Organizer (allows pulling documents from a drop-off library and dispatching elsewhere) and it can be activated as a site feature.
Leave a Comment » | Architecture, Configuration Sharepoint, Gouvernance, Information Architecture, Sharepoint 2010 | Permalink
Posted by uscatu