|
-
You may have read some of my previous postings on SharePoint, but in my world of Solution Architecture I touch on other products such as SQL Server, Microsoft CRM and whatever else is an appropriate fit to the requirements of client work I am engaged on. A recent job for a multinational consultancy was an excellent opportunity to catch up with the Microsoft CRM 4.0 SDK and the tools contained therein. I’ll post separately about the business problems we solved with Microsoft CRM 4.0 and some integration code, but in this article I’ll focus on what I discovered in using the xRM tools included in the recent SDK. This isn’t the article to discuss the improvement in the support for developers, but I have to say that the shipping of accelerators that are good enough to be reference material are a great way of supporting the learning process for building on CRM. Hot on the heels of the accelerators have been the SDK improvements to allow you and I to make the most of CRM, and this particular post concentrates on the library class generator CrmSvcUtil.exe. When you download and extract the CRM 4.0 SDK from Microsoft you will find a microsoft.xrm directory alongside the other collection of directories containing sample code, user interface design guide, SDK help file etc. In that directory are four useful documents: two guides and two walkthroughs giving you as the developer an idea of what is intended by the Microsoft Dynamics CRM 4.0 SDK Advanced Developer Extensions (Microsoft xRM), to give it its full title. These documents explain how to use the code generation tool and I’d recommend you read the developer's guide to get a quick heads up of what is intended by the inclusion of these tools in the SDK. At this stage the documentation is rather “light” but I would expect more detail to emerge in subsequent releases of the SDK. To cut a long story short, CrmSvcUtil is a command line tool that generates a whole pile of classes from your CRM instance. This is important, because as well as creating classes for managing the built-in entities, it also generates them for your custom entities. This does of course generate a minor configuration management headache, and I’ll post an article later on what we have implemented,with recommendations for integrating this with automated build in order to ensure that your generated classes keep pace with what your entity developers are doing. It took me a few tries to get the right combination of parameters to get the class output I needed. In particular I found that I had to get the dataContextPrefix exactly correct in order for the correct classes to be included. I created a number of different sets of files either singly or collectively that represented the entity activities but these depend on certain shared classes that I found were not included in all parameter combinations. Additionally I discovered, through using the tool, that it will prompt for missing parameters provided essentials like the server name have been specified. As I mentioned earlier the tool can create separate c# files for each entity, but with getting on for almost 200 entities (not including any custom ones), I found the generation of a single .cs file preferable from a logistics point of view. In the end I settled down to a command line like the following: crmsvcutil.exe /connectionString:"Authentication Type=AD; Server=https://crm.microsoft.com/Woodgrove User ID=WOODGROVE\devaccount; Password=***" /out:"Xrm.cs" /namespace:Xrm /dataContextPrefix:Xrm This will generate a single class file called xrm.cs based on reading the entities in the specified organisation on the specified server. A full description of the parameters can be found in the Advanced Developer Extensions Developers Guide. A word of warning though, the file isn’t small – with a full set of standard entities and custom entitities the xrm.cs file generated out at just over 4Mb. The great thing about this approach is that, as the generated code runs off your organisation in your CRM, it picks up not only your custom entities but also the changes that you have made to customisable entities. In my opinion, this makes it a lot easier to get up to speed with concentrating on the business logic and specifics of integrating with CRM rather than crafting your own way through wrapping up the CRM web services. I’d recommend having a look and running the generation tool to see if the classes it provides would have helped to make your last CRM development project easier, and will make your next a lot easier. In follow-up posts I hope to take a step back to talk about the business requirement we satisfied with this technology, but also perhaps take a step sideways and describe how this code generation can fit into an overall governance policy for regular build and test using Team Foundation Server.
|
-
Arpan Shah has blogged over at Microsoft that May 12th, 2010 is the launch date for SharePoint 2010 and Office 2010. In addition, they have announced intent to RTM this April 2010. Take a look at the post over on the SharePoint Team Blog which I recommend you keep up to date with if you are interested in SharePoint. The release of the RTM is quite exciting for us as this is a way for key customers to be ready with SharePoint 2010 ahead of May. If you would like to know more then please get in touch.
|
-
Earlier this year I wrote a post about the SharePoint Deployment Planning Services (SDPS) programme from Microsoft. This is a way for customers who already have an investment in Microsoft Software to obtain some consultancy days (for no extra cost) to plan to better use Microsoft Office SharePoint Server 2007. If you follow my Charteris blog you will have seen that I recently attended a week’s course to prepare for the arrival of the next version of the product, SharePoint 2010, through the Microsoft Ignite Program which prepares Microsoft Partner organisations for new products. Hot on the heels of this came a recent briefing session where Microsoft prepared us as SDPS partners for a new offering which is aimed at assisting customers to plan for an upgrade of their existing SharePoint investment from MOSS 2007 to SharePoint 2010. SharePoint 2010 Upgrade Planning is similar in many ways to the core SharePoint Deployment Planning service, but different in other ways. Like the other SDPS Offerings, SharePoint 2010 Upgrade Planning comes in different lengths (1,3,5,10 or 15 days) to explore to different depths how you might plan for an upgrade to 2010. And like the other SDPS offerings, it includes an Architectural Design Session, Strategy Briefing Session, Feature overview and labs according to the number of days. And finally, like the others it includes a short list of mandatory deliverables that I and other SDPS consultants have to produce as an output. But there are also subtle differences in the delivery that perhaps impact us as consultants more than customers. For one thing, SharePoint 2010 Upgrade Planning is a different pitch to our audience. We are no longer trying to help a customer to consider SharePoint from scratch, as the starting reference for this offering is that they already use MOSS 2007. For the engagement this means that our stakeholder community is wider, as it is important to involve those who have established an operational interest in the day to day workings of SharePoint. And instead of exploring a completely new idea we have to make sure that what is already being used extensively is preserved correctly and improved upon by upgrading to a new product. This also means from a delivery perspective as consultants that we explore the impact of the change to the proper depth and explore the plan to the proper level of detail as is entirely appropriate for any upgrade of an operational system. And although SDPS has always been about planning, in the immediate short term we have to remember that SharePoint 2010 is not a released product and implementation on the beta is not supported by Microsoft. Although SharePoint 2010 Upgrade Planning changes the mix slightly of SDPS, I am very pleased that Microsoft have added this offering to the bundle as it offers customers who are already committed to SharePoint the opportunity to draw on a pool of consultants who can assist with planning work. And the SDPS format allows this assistance to range from a “heads-up” type briefing session all the way through to actually trying a pilot upgrade with an existing site. And of course if you are considering such an upgrade please get in touch to discuss how we can help with this process.
|
-
In my sixth and concluding post on my week at the Microsoft SharePoint 2010 Ignite training for IT Pro I take a look at what we saw of Business Connectivity Services, Excel Services, Social Features and a round up of the week. This was the final day of this 5 day course in Berlin and brought to a close our broad sweep through SharePoint 2010. Business Connectivity follows from the Business Data Catalog technology in 2007, but with new ideas of External Content Types and SharePoint Designer coming in to the picture. Excel Services was a great new concept in 2007, and has been built upon in 2010, and finally the big social networking thing out on the internet is making more inroads inside of the firewall. Business Connectivity As you will have picked up from my earlier posts in the week, I have been trying to add elements from my own experience when commenting on the features presented to us during the week. The folks responsible for planning the content of our week have had a bit of a challenge, a week is a long time for straight training and breaks and hands-on labs provide a bit of variety to assist the attention spans of the audience. On the other hand, SharePoint is a broad product and important subject areas have to be covered. They have to decide which areas are important for Partner organisations to get correct when they head out with SharePoint 2010. The Business Data Connector is one feature in MOSS 2007 that I must admit to little practical knowledge with. Having evaluated the product and gone through the MOSS exam I know what the product does, but unfortunately personally don’t have the real world experience with it. Part of this is down to the feature split between editions and therefore the licensing implications. MOSS 2007 includes Business Data Catalog in Enterprise edition and this comes with a more expensive top up cal. I can understand features have to be split somewhere, but this has hampered the adoption of what could be a useful tool. That said, connecting new things to “legacy” line of business applications is always a little controversial, security and scalability issues come to the fore. For instance, adding a few hundred new connections to a line of business application because it has the master record for something would effectively result in a denial of service, so these things have to be planned. So to cut a long story short, the means to define connections and use them has improved – there is no longer the need for nasty xml or running to get seperate tools to define the connection, and now what looks like a normal sharepoint list can be created with read/write capability. There is also the ability to add a column to an existing list that refers to external data. My initial observation is that you have to plan your connection, and anyone familiar with the data access application programming interfaces (api’s) should understand the issues of what can and cannot be viewed with read write. Excel Services Again like BDC in MOSS 2007, Excel Services in MOSS was an enterprise feature and brought with it extra cost. That said, for some it limited it’s adoption but at Charteris we were able to carry out considerable work developing against the engine in the background. Our work focussed on Financial Modelling using Excel Services and we pushed it to the extreme in order to extract the best performance while giving the model creators the easiest experience – they just had to use Microsoft Excel. We of course hit some limitations of what was the first release of the product, and probably because of the way we used it, so it is good to see that it is being taken seriously in SharePoint 2010 and is not only easier to use but also comes with ways to configure how it uses the server which should help with tuning it to the way it is being used. Microsoft also seem to have embraced the idea of managing the considerable amount of business rules and experience that are embedded in spreadsheets. Of course, part of this is the user experience and this has improved in 2010, albeit not quite at the same level as the full office install of Excel. I’d recommend watching this carefully as it is the natural follow on in the steps from file share, to document library, to document services. Social Features I think everyone who has used or seen MOSS 2007 is aware of mysites – the small bit of SharePoint that is yours, the user, to play with. At the Ignite training we had a show of hands by one of the instructors asking us if our clients had asked us to disable mysites. There was quite a proportion (myself included) that raised our hands. The reason for this ? A large proportion of the organisations we work for do not want invididuals to be creating content ad hoc or do not have any mechanism to incorporate an individual that generates content. They are typically large organisations that are coordinated around teams or functions rather than subject matter experts. I’ve worked in other organisations that appear to discourage individuals finding out more about other departments and individuals. That said, I can’t imagine that they had this as a stated policy, rather that they wanted to discourage time wasting. And time wasting is what many see social networking as, building a network but extracting any business worth from this seems to be a challenge. It is with those two minds that I approach the social features in SharePoint, on one hand I see real value in coordinating knowledge generation, but on the other hand see that side chat can be seen as time wasting. Like any new technology I think that corporations should keep track of things and form policies, or establish a business benefit and then evangelise this. If they cannot, or they are not ready, then make sure the policy deals with this and the loss of potential is also understood. SharePoint 2010 in this area builds on previous features but importantly copes with the challenge that the absence of mysites had in MOSS 2007 – some parts to do with user profiles was a bit strange when Mysites were not present and I am led to believe that SharePoint 2010 deals with this more gracefully. Person search has come on leaps and bounds, and again I think that search has an important role in discovery – but also in avoiding duplication of effort in an organisation. From a personal perspective I see a place for Social Networking, but I am still unclear as to how things will settle at the interface between the social and business world for organisations that are not B2C (i.e. Business to Consumer) or at the interface between Employer and Employee. Conclusion I came away at the end of this week of SharePoint 2010 training quite encouraged that the future was looking bright for SharePoint. The things that were working in MOSS 2007 have been improved, tweaked and sorted making it all the more interesting. Yes, the upgrade has a few sore points like 64 bit, but this was a bit inevitable. Above all it looks better which is always important for encouraging more widespread use of the product. It has also received some scalability improvements so that it is ready to cope and adjust for that point when your tentative steps into the world of SharePoint really pick up. Experience tells me that SharePoint actually tends to be a victim of its own success and you find you need more space and more servers to cope with the appetite of users. So if you are a user then take a look at what it can do to take you beyond file shares in terms of getting organised and helping you find things quicker. If you are an IT professional then please do not regard it as a threat and consider the new management features that allow you to provide a better service to your users.
|
-
In my fifth posting about my attendance at the Microsoft Ignite event on SharePoint 2010, I discuss the material on Enterprise Search and Content Management. I like search, and when it is implemented properly it makes a huge difference to users in their day to day business. I’ve had a personal fascination through the years with the whole process of finding things to search, opening them up, breaking them apart and indexing them and then storing this in a way that is useful to people trying to get on with their jobs. SharePoint 2010 improves both the user experience and the administration and management of the underlying search infrastructure, and also marks the next stage in the integration of the functionality from FAST. The other area of Enterprise Content Management is also of interest, though I must admit to a bit of a bias towards Web Content Management as this has been another area that I have worked in for a long time, but SharePoint traditionally bundles all types of content under a common banner. Enterprise Search - SharePoint A whole lot of material has already been covered this week at the SharePoint 2010 Ignite event and as the week progresses I have been using the agenda published to attendees to create a mental outline of what are currently seen as the important areas. As you would expect the format is presentation – break – presentation – lunch and so on, with presentations followed by hands-on-labs for the attendees, as it is an instructional event. Search has three sessions devoted to it which is more or less three quarters of the penultimate day. Whatever you read in to this I take it to mean that Search is important and enough is changing in it that needs time to cover. Of course one of the other reasons for the subject matter’s relative size is the progressive incorporation of the product line from the FAST search company that Microsoft acquired last year. This is another option on the list that starts at the bottom in basic search with SharePoint 2010 Foundation and works up in capability, flexibility, connection and language support in FAST. I’m pleased to say that the length allocated reflected two aspects that have changed in the SharePoint search landscape, the architecture (certainly in the most part) now incorporates the capability to scale out for performance, but also incorporates resilience in the ability to hand off processing in the event of the loss of a processing unit (my term). Other tweaks also help with this, for instance we still have crawl servers but as soon as they can the index material is persisted to database, meaning that the dependence on a particular crawl/index server is reduced. The general concepts to search are still there in that content sources are crawled, the material there is taken apart and indexed and then collected together for querying. What has happened to this is that individual elements can be split between separate servers for performance, or parts can be mirrored so that the loss of one does not remove service. A set of crawling machines can be allocated items to crawl into one or more databases, again split for performance or resilience reasons. What this allows us to do is implement search and add to the overall infrastructure as users capitalise on the facility more and more, if content needs to be more up to date then the machinery at the crawling and index end of things can be expanded. If query performance is suffering then query servers can be added to and indexes partitioned to spread the load. And all of this is behind the scenes, there have also been a number of additions to the user experience of searching that provides for more tailoring by developers (technically the web parts are no longer sealed), more things to search and new ideas about supporting collaboration. All in all this means that SharePoint 2010 has a huge amount to offer to Enterprise search and I think goes a lot of the way to support the way that I think people should work. Structure is fine and correct, but there is so much material out there being generated that a search tool is essential for reducing the time spent to find documents, but also to help employees find the material that they may have not found before. Enterprise Search – FAST for SharePoint The top of the tree in terms of Microsoft Enterprise Search is FAST. It has retained its name since the product was taken in to Microsoft, but with this release we see a higher level of integration with SharePoint 2010. The overall architecture is similar to SharePoint search but what it does with content indexing goes way beyond what SharePoint can do natively, and then from there it also scales higher and also offers considerably more customisation options for results management. My impression is that FAST is the product for organisations who are very serious about search as a tool for their organisations and the fine tuning that is possible throughout the product is impressive and gives the impression that it would be the tool of a dedicated team rather than someone in IT switching it on in SharePoint. Enterprise Content Management You may have noticed a couple of the enterprise site templates in MOSS called the Document Center and Records Center. These are underused facilities for the management of enterprise content – making sure that items are tracked, stored and archived properly. And this is all out of the box. SharePoint 2010 extends these facilities and I would recommend looking at these again if you did not feel that the document management facilities of MOSS 2007 were strong enough, it could be that they are now. The other area delved into under this banner was that of metatagging, taxonomy and a new term to me “folksonomy”. The truth is that users do classify documents out there but do not necessarily embrace the structure imposed by company librarians. As ever real world experience suggests that this is down to the perennial problem of over engineering and lack of communication. Again if you do not think that MOSS 2007 had what you needed, or you have tried to implement managed terms and you don’t think it worked – please take a look at it again in the context of SharePoint 2010. Conclusion For me the enhancements to search are a major step forward for SharePoint and go beyond the sort and fix that we see in some of the other areas of functionality. Certainly from an infrastructure and performance perspective it is there, but the key question is whether or not it has the right amount of tuning potential that you require. I am certain that from a functional perspective FAST will tick all of the boxes, but my concern (as with SharePoint editions) is whether your business case is sound for the expenditure on FAST. Enterprise Content Management is not the most exciting of subjects, but demands serious consideration as the more formal aspect of introducing documents into a system to then be filed, found, and managed.
|
-
In my fourth blog post about the SharePoint 2010 Ignite Training, I cover the day’s material on IT Pro Customisation and Upgrades. These two subject areas are the bread and butter of SharePoint implementations. Ideally every customer should want to impose a bit of themselves on SharePoint, from the arrangement of sites, lists, document libraries etc to fit their business to how the layout looks and how it may reflect their own corporate branding. MOSS 2007 could be altered beyond recognition and so can SharePoint 2010, but a central aim of the product is to be able to do as much as possible without resorting to coding. The rest of the day was devoted to upgrades – in my experience a truly greenfield site is unusual, whether this is because there is already an intranet or internet presence, or more usually because someone already understands the benefits of SharePoint and would like to capitalise on the improvements in SharePoint 2010. IT Pro Customization (non-code) The slightly long and unwieldy full title of “IT Pro Customizations of SharePoint (non-code customization)” was a subject area intended to show how far the product can be tailored without opening up Visual Studio 2010 and delving into the object model and .net code. My background is in development so I’m not scared of firing up Visual Studio and the extensions for WSS, but I do understand that the great potential for solving problems in code also limits the types of person in a team who can do it but also the time and risk involved in adding a development project to your overall programme. The main tool for this job is SharePoint Designer 2010 which has grown a number of new features, as well as working better with the security model in SharePoint 2010. For one thing, the whole process of setting permissions for the main activities of SharePoint Designer are now clearer in the User Interface for the server product. And SharePoint Designer 2010 now abstracts the file system for the user so that they deal solely with objects. This is a great improvement in not only keeping the nastiness of a web file system away from the user but also focusses them on the structure imposed by SharePoint and how they should work with that instead. SharePoint Designer 2010 comes with neater functionality to work with sites in adding lists, amending columns etc, and the often demonstrated workflow functionality has been updated too. I had also heard about the new ability to use Visio for the creation of workflows and having had a shot I can see where it fits in to the process and how easy it would be to use. There is a new “Microsoft SharePoint Workflow” template in Visio 2010 which includes the Actions and Conditions that should be familiar from workflow design for MOSS 2007. The Visio template concentrates on the steps and the flow, and then the result is exported to file and imported to SharePoint designer for it to fill in the properties and so on needed for the actions to carry through. Whether this split between the tools will work in practice will have to wait and see, but from a brief look it keeps Visio simple without bogging down the various shapes with too many properties. Customisation Management This subject area gave more information on the hinted at Sandbox for solutions deployed to farms. Like previous sandbox concepts in the development world this gives a special area of increased isolation that trades off less available functionality for ease of deployment. I was a little surprised to see that ado.net was one of the things excluded from the sandbox, but on reflection the removal of this and other facilities is not as bad as it may seem. Using SharePoint as an application platform should channel our development approach down a certain line – just like previous development in the office applications has done. Each of these bring ease of deployment, but this has traditionally come with a limitation on what can be done. This way of managing solutions enforces a compromise between “IT Pros” managing the SharePoint servers and “Developers” doing things that cannot be done without code. Hopefully developers will be encouraged to write solutions that will run in a sandbox, and IT Pros will support this by allowing these to be deployed in a quicker way than a full solution. One final point to make is that the impression I get from the level of support and scalability that is given to Sandboxed Solutions indicates that this is being proposed as a controlled production environment. It is not being pitched as a development or test area but as an isolated and heavily managed way of deploying solutions. Certainly in the information presented to us there was no discussion of bedding in or promoting a solution to being a full package, solutions are expected to operate during their entire lifetime within the sandbox. Upgrade Again an indication of the importance of this activity is that it was given a half day’s consideration. As with any production upgrade there is a lot of planning to go through and part of this has to be testing to prove the process and to get the clearest idea of what will have to happen when the real work happens. A big part of the IT Pro exams that I have taken in MOSS 2007 and Windows SharePoint Services (WSS) 3.0 are devoted to conducting an upgrade from SharePoint 2003 to 2007 as it is a real world situation for those bringing MOSS 2007 into an organisation. Before that, though, there are prerequisites to consider to even consider the hurdle of an installation and upgrade. This is the first stage to have a hard think. As I have mentioned before SharePoint relies on x64 throughout the platform, and at time of writing needs 8Gb of RAM and a dual core processor. Although a number of sites have made the switch to 64 bit, some have not and suitable hardware will need to be found. I will not go through the full list of prerequisites as this will move as SharePoint 2010 gets closer to RTM, but an important point is that SQL Server (2005 or 2008) has to be on a specific Service Pack together with separate Cumulative Updates. This is very important to think about if you share your SQL Server resource across applications. Another point for those that are familiar with the upgrade from 2003 to 2007 is that the gradual upgrade method is not offered in 2010, so further planning is important in terms of managing downtime. A point in favour of 2010 is that the UI can be upgraded separately to the data and other parts so the impact on end-users can be directly managed. Apart from repeating advice to plan properly and test an upgrade to spot any possible issues with the process, and to obtain some timings, the overall process of upgrading doesn’t strike me as that dissimilar to migrating a 2007 farm to new hardware. That said, the one place that things need to be watched out for are the changes to config handling and the switch away from Shared Service Providers. These changes mean that the sequence of upgrade is important to make sure that downstream dependent functions like Mysites work correctly. Again I would advise keeping track of technet and MSDN on Microsoft. Conclusion SharePoint 2010 rearranges the picture slightly in terms of customisation, and the tools of the Web UI, SharePoint Designer and Visual Studio have been rearranged slightly in terms of the capability they offer to each of their users. There is encouraging news in the area of solution deployment and management and this has been thought about properly. In terms of upgrading to SharePoint 2010, I am encouraged that so much testing has already taken place and with appropriate planning and testing an upgrade should be predictable, if not the easiest thing to do because it is a flexible application platform we are dealing with.
|
-
Introduction In my third post about the Microsoft SharePoint 2010 Ignite Training for IT Pro being held in Berlin, I consider the sessions from today covering security, health and monitoring. I’ve thought long and hard about what to include in this post, on one hand it covers security and this is a very important subject and if I can be candid, not something I can do proper justice to. On the other hand, so much important things are sorted that even a hint is a good thing. The other subject for today was health and monitoring and we heard lots of good news about keeping an eye on your server farms. Security If you have read my previous post about what we have learned so far, you would have picked up a theme in SharePoint 2010 of overall improvement and capitalisation on new technology. This is true in the area of security. The improvements pervade all of the way through the product from the client side scripting of web pages, through to how servers communicate with each other and with other products. SharePoint 2010 works with .NET and IIS like MOSS 2007 does, and therefore we see some of the improvements in the security model and a big part of this is the incorporation of claims based authentication. Until the 2010 Beta goes live I would have a look at this introduction to Claims based Security. Health and Monitoring This is another area that reflects the maturity of the product, not only is more information available about operational aspects of SharePoint such as timer jobs, but also that information is better and collected in a more manageable way. And in what was a pleasant surprise, the Technical Professional Track actually got shown some c# code today – thankfully nobody fainted or rushed from the room, it was a good way to show how simple it is for developers to add custom logging information to support the overall improvement in SharePoint. In conclusion, what we saw today was a big improvement and went some way to remove some of the unwieldy solutions to integration that the limitations in the security in MOSS 2007 imposed on us. It is also good to see that the tricky authentication provider configuration being replaced by something that, certainly on the face of it, seems to be a more thought out solution that has been planned for rather than bolted on. But as I said in my introduction I have not (or cannot) do the product justice in this post, so I would recommend keeping track of MSDN as the Beta goes public.
|
-
In my second post about the Microsoft SharePoint 2010 Ignite Training for IT Pro being held in Berlin, I consider the sessions from today introducing the new product to us and an overview of the architectural changes being brought in. If you’ve not seen SharePoint demonstrated at one of the list of recent conferences then pop over to Microsoft and catch one of the videos on the Microsoft SharePoint 2010 website. Yes it has a ribbon now and I must admit this was (is) one of the trickier things to get used to in Microsoft Office 2007, but having used it for a while in 2010 it actually organises things well and helps a great deal with the wealth of context related operations that happen in SharePoint. Of course, from a technical perspective the only difference that a User Interface like this really makes is that the load hitting the web front end changes profile, but we all know that it makes the product a lot easier to use and a lot more attractive to people who matter – those who hold the budgets. Overview of what is new in 2010 Ok, so I am cheating a little and writing this after day two of the Ignite training, therefore I’ve had a couple of days of presentations and hands on labs to mull over SharePoint 2010. The good news is that a lot of the familiar concepts carry over from 2007 to 2010. Central Administration is still there, web applications are still there, content databases and what we do with them is still there and so on. This means that what you have learned for SharePoint administration doesn’t get thrown away. But what has been done is that things have been rounded out. For instance, the idea of Shared Service Providers was a sound one in MOSS 2007 but to me came across in a bit of a straight jacket. The idea of sharing functions between applications seems to have been fixed with Service Applications which are more flexible. Flexibility means more opportunity to get it wrong, but makes a lot more sense. Over and again the theme is one of improvement borne from the timing of release. For instance, SQL Server Mirroring is a cost-effective way of protecting a database but because this arrived with SQL Server 2005, MOSS 2007 didn’t contain native support for Mirroring. I’d refer you to the Microsoft WhitePaper on Using Database Mirroring with Office SharePoint Server on what can be done with MOSS 2007, but there is now the option to enter the information that allows SharePoint to cope with an automatic failover. This is based on the connection string support that has been in .NET for a while but has now arrived in SharePoint 2010. The caveat as ever is that mirroring has to be set up for each database, it does not automatically configure itself by virtue of adding it to a connection string. I’ve mentioned the improvements to the UI already, and yes it doesn’t really change what the product does but it has caught up with current opinion on web design and the kind of interactivity that users expect without postbacks to the server with every click. Another improvement is to use PowerShell for a lot of administrative work. Again PowerShell has only really come of age with Windows Server 2008 which has the commandlets there to carry out operations. It is this that makes the real difference, as pointed out today the best way to learn PowerShell is to think of what you want to do with it rather than to learn it syntactically like another coding language. An indication of how far things have gone in this release is that a shortcut is added to the desktop for a 2010 Management Console in PowerShell. Things to look forward to in BCM My earlier mention of SQL Server Mirroring and SharePoint 2010 awareness of it brings me on to our second subject area on day 1, Business Continuity Management. To be honest I hadn’t thought there was as much debate as to what came under this heading but such is, I was wrong. The main take away point for me was proper support for SQL Mirroring, but there are a few changes to things like configuration backups that are very important to know for backing up SharePoint farms. Basically, SQL Server backup will not give complete protection for a farm so it is important that you know what approach will backup what part. And finally on that subject, a couple of teasers – the ability to look in to a content database that has not been attached to a web application is now supported, and patch management is now something that SharePoint is aware of. So in conclusion, due to the passing of time we have a number of improvements throughout the product that just work better because of improvements in associated technologies such as Internet Information Server, Windows Server and SQL Server. The User Interface is just nicer to use because of users pushing for richer web based applications that have pushed the use of ajax and other techniques. And finally, things that didn’t quite get there in 2007 have been fixed, hence the arrival of Service Applications and Claims based identity.
|
-
I kick off a blog posting from a week in Berlin with the full official title of the training course I am attending with almost 80 other “IT Professionals” from Europe and beyond. Microsoft SharePoint 2010 Ignite IT Pro Training is directed at Microsoft Office SharePoint Server 2007 certified individuals from Microsoft Partner organisations with the goal of preparing them for the release next year of the next version, SharePoint 2010. That is where the Ignite term comes from, Microsoft run such events to pre-empt demand for suitably qualified individuals in their new products. For me it is an indication of the role of beta software these days, for instance I understand that the soon to be released public Beta of SharePoint 2010 will offer an upgrade path to the next product. I guess the days are gone when Beta software was heavily restricted, would trash your machines in a random fashion, and you would have to do a clean install with each new released build of the software. To reflect the skills needed there are two rooms taken for this training at the Marriot hotel in Berlin, one for the “IT Pro” track for those expecting to install and configure the software, and another room of the same size for the “Developer” track for those expecting to develop applications. This initiative comes after a busy few weeks for the SharePoint community. The beta has been out for a few months but subject to strict NDA, with only slight hints that certain people in the community had seen the product but could not say anything about it. This was lifted last month when Steve Ballmer took the stage at the SharePoint conference in Las Vegas and out came a flurry of blog postings about the changes to SharePoint. I understand that Microsoft have been pleasantly surprised by the success of the previous release of SharePoint and this has taught them a number of lessons, one being that those close to the organisation in terms of Partner arrangements need to be up to scratch when the product comes to release. To do this Microsoft have kicked off the Ignite World Tour, which has already run events in Northern America, is now in Europe and moves to India and Asia in the coming months. Microsoft are not charging for the training, which in no way seems to reflect the good quality of the material I have seen so far. The first day has seen an introduction to the product, with members of the product team from Redmond keen to answer questions – quite successfully from what I hear. But all this effort against a Beta product has certain risks, for one thing it is all subject to change. Thankfully we are at a late stage in the process so I do not think that major features will be dropped out for release time, but UI elements may move around and even some application terminology may change. This makes training quite tricky – screen shots change and some builds are more stable than others. That all said, I am reassured to see that some of the infuriating or inflexible items in SharePoint have been sorted. For instance, Shared Service Providers finally seem to have come of age in the idea of Service Applications. Sure – the new flexibility that they now have may create a new set of issues, but in the theme of Service Oriented Architecture, and a consumer based model – it makes a lot more sense to me now. In the meantime we all have to work with SharePoint 2007 in the real world, so a tip for this – remember that 2010 is 64 Bit only so please consider this if you plan to specify up and deploy SharePoint 2007 in the coming months.
|
-
Something that you will learn to realise with Microsoft Office SharePoint Server 2007 is how important it is to have a handle on the SQL Server aspects of your farm installation. Ok, if you install everything on a single box and use Express edition you don’t really care about SQL much but try to do anything more adventurous and your SQL Server infrastructure will take a bit more thought. Explorer a bit further and there are a few points regarding network protocols and port numbers that are important to understand too. My background in web development with an added dash of DBA work means I am very interested in this, but it can be easy to forget the basics. For instance (forgive the pun), I had a reminder recently of how little you learn if you only have to deal with the default situation. For instance, in a lot of cases your separate SQL Server will be available to use on the default instance and default port number, but do you know what to do if you cannot use either? In the case of instancing, remember that you can qualify the server name with the instance i.e. SQLSERVER\Instance. And in the case of port numbers, remember it is SQL Server and not IIS you are talking to so the syntax is to separate the server and port number with a comma, not a colon. So to slightly extend our very small example, the database details for an instance on a non standard port would be “SQLSERVER\Instance, 9999”. Another thing to remember with any kind of service is that the request by a client of a server can be more of a “conversation” by the end of a sequence of events between agreeing that the two parties can talk to actually getting down to the nitty gritty of exchanging the information at the centre of the discussion. When looking at SQL Server and instancing, we need to be aware of the SQL Server Browser Service which provides SQL clients with instance details. In particular, as each instance requires its own port number, the reserved port of 1434 accepts UDP connections from clients asking for the port number of a particular named instance. Of course you can connect if you have all of the information to hand, but if you try to connect to a particular instance with incomplete parameters then the SQL Browser service may come in to play. And if the service is not running or firewall rules block connections on that port, then the connection will not work. For a better explanation of this technology that came in with SQL Server 2005, look at SQL Server books online on the SQL Server Browser Service.
|
-
I am part of a team within Charteris that is qualified to deliver consulting under the SharePoint Deployment Planning Services (SDPS) program from Microsoft. “What is SDPS?” I hear you cry, “Why should I care?”. The idea of SDPS is to help Microsoft Software Assurance customers with getting the most out of Microsoft Office SharePoint Server by allowing them to claim a number of days time with a SharePoint consultant. Registered Microsoft Partner Organisations deliver the consultancy, and this has to follow a prescriptive plan for content and deliverables. I think it is a great idea for a number of reasons, for one thing you don’t pay the consultant – Microsoft does (of course, you pay for Software Assurance so you do pay in a way), but for another it is a great way of catching up with the current version of SharePoint and a great structured way of finding out what is in there and perhaps carrying out a proof of concept. And from a consultant perspective, the support material coming from Microsoft for SDPS is excellent and up to date. We have a content refresh coming up in March which is going to further strengthen the quality of the material delivered to you as a customer. SDPS delivery comes in 1, 3, 5, 10, and 15 day engagements and from a consultant perspective we have a prescribed set of deliverables from each. Some are for the bigger engagements, but some come with all sizes and reflect the content of the days. As you may have guessed (the clue is in the name) the primary aim is to plan SharePoint Deployment, and to this aim the engagement will feature consideration of business needs, how SharePoint can answer these and the plan moving forward. The 1 day engagement focuses on the business value of SharePoint and how this might fit to your needs, and at the other end of the spectrum, the 15 day engagement includes this, and labs, proof of concept work and a lot more deliverables. I recently conducted a 3 day SDPS Engagement in Edinburgh with a Legal Firm. The Firm had considered SharePoint 2003 in the past but wanted to get up to date with SharePoint 2007, and relate this to their business needs. As I dealt primarily with the IT Team, I tailored the agenda to demonstrations of the product and balanced this between covering the functionality of SharePoint with maintaining questions and answers. This is another aspect to remember with SDPS, although the deliverables and materials have a strong prescriptive element, the aim is to maintain the quality and this can happen while tailoring the delivery to the specific needs of the customer. For a 1 day engagement this can even mean that your engagement will take place over a series of live meetings – great if you can’t get your team in one place, we are all busy these days. I find SDPS engagements quite rewarding because they are a great opportunity to get out there with SharePoint and help customers to understand all of what SharePoint can do, but also very importantly – to approach it with the proper planning that is appropriate for an Enterprise Application.
|
-
A recent visit I made to install SharePoint for a production extranet reminded me of the importance to plan ahead and make sure that the prerequisites for successful installation and operation are in place before a visit. The big difference between development and production is the flexibility of the environment and the control you have over it. I would suggest this is the case because things like change control don’t necessarily exist (at least formally) on your Virtual PC environment that sits on your laptop on which you have local administrator rights! It is also easy to take for granted that a server will have internet access, or to take for granted that the local machine you are using to Remote Desktop to the production environment has a high speed network link. You are reminded how important planning ahead is when you have to wait for several hundred megabytes of install media and service packs to trickle over a slow management link, while you watch the progress meter guessing how many hours you have to wait. So I brought together my notes to get a quick shortlist of the things to have in place before a successful site visit: - Install Media – now that virtualisation is so prevalent, iso images are very easy to mount against a virtual machine. The thing to remember to do is to get the iso image over to the production environment in advance of the install. In our case we brought the files together on the web front-end (WFE) machine.
- Product Key – you don’t get very far before you need to enter that product key for Microsoft Office SharePoint Server (MOSS) 2007, so have it handy for when you start the install.
- .NET Framework Redistributable Packages – you need .NET Framework 2.0 and .NET Framework 3.0 for a successful installation, and make sure you get the full distributable for the correct platform (x86 or x64) and not the bootstrapper. Get the bootstrapper for either will lead to disappointment when you discover you cannot download the rest of the components on your production server.
- Service Packs etc – there are several important service packs that should be in place – check with those that manage your windows server platform. But, in summary, remember to be up to date with Windows Server, SharePoint 2007 SP1 and after, and the appropriate .NET service packs. And in the case with our install, that means having the appropriate redistributable files copied to the correct place.
- Parameters for outbound email – if you are using email alerts etc then you will need the name or ip address of an smtp server to relay messages through, something you may need to prearrange with whoever owns the relay. There are also the sender and reply-to email addresses to have to hand.
- Port Numbers – this is important for a production environment where you cannot assume that there will be routing between the machines or that ports will be open for inter-server communication. Change control to get ports opened in firewalls can take some time, so it does well to establish at planning stage which services will be used. To install SharePoint with a separate SQL Server database connected to over tcp/ip will require a port to be opened, normally 1433. If you plan on restoring or making backups, then you will need to open ports to allow the WFE and SQL Server servers to access the backup files. For file share you need UDP ports from 135 to 139 and TCP ports from 135 to 139, or for direct hosted SMB without netbios you need port 445 (both TCP and UDP). If you plan to use outgoing email then you need to open the port for SMTP, which is by default port 25. This also assumes that routing is in place for your users to connect to the WFE, to allow server management, and routing for Active Directory.
Note that the notes do not incorporate any idea of the order of events, which should be obvious but may be the matter of another post.
|
-
In my day I have had a fair bit to do with Internet-Facing Web Sites and the challenges of drop dead deadlines and culture clashes that these kinds of projects tend to bring. Anyway, enough of me, this session appealed to me as a catch up on the world of content management as Microsoft sees it. PDC 2003 was notable to me for its complete lack of mention of Content Management Server and this was borne out in the following months when it was announced that MSCMS was to become part of Microsoft Office SharePoint Server.
At the time this was a bit of an annoyance, out in the web world we were interested about standards compliance and cross browser support. On top of straightforward W3C markup compliance was accessibility which at the time was a bit of a challenge even for plain old asp.net, let alone an Intranet tool like SharePoint. But since then Microsoft Office SharePoint Server has been through a big release and a whole lot of experience has been gained by implementing the product in a number of different configurations. This session at TechEd aimed to make sure that everyone was up to date with the web content management capabilities of the current product.
First of all we had a quick introduction to our presenter, needless to say Andrew Connell knows a thing or two about MOSS, is an MVP for Office SharePoint Server and has a book out on SharePoint Publishing. We were going to cover the broad gamut of web publishing on topics such as Web Content Management, Page Layouts, Branding Publishing Sites, the Content Query Web Part and Forms Based authentication. Then a "watch this space" announcement about a really good sample site. By the end of the year we would have a site that would be a good demonstration of the web capabilities of MOSS 2007 - and it would not use the BlueBand master - at least we hope not. The sample site will be for the familiar fictional AdventureWorks company, I look forward to it becoming available.
So how did we get here, well a few years back Microsoft decided to consolidate their Electronic Content Management strategies and centred these around MOSS 2007. This is when document, web and other materials produced off the back of collaboration and work came together under the Office banner and we immediately had to widen our heads to take it all in. But focusing on our particular area of interest, the Web Content Management (WCM) facilities in MOSS 2007 are the successor to those in MCMS 2002. And a bit like MCMS, you aren't restricted to using WCM on public websites, you are welcome to use them internally too.
We then got in to the nitty gritty of what Publishing sites look like from the inside. They follow the standard site collection / site shape of the SharePoint way of doing things and pages are held in a Library. This does hit one issue with site owners wanting to rearrange their URL into something "nicer" but we were warned off http rewriting with some neat regex. Do the performance metrics on this approach and you will see how much processor utilisation it takes. Andrew recommended pushing the URL issue off to your ISA / Firewall box instead which will handle this a whole lot better and make sure your application box is concentrating on serving web pages.
Then on to a bit of presentation fun with the "ABCs" of WCM and SharePoint. In our case we would be looking at Authoring (web based of course) Branding (developer and designers working together) and Controlled Publishing (Consistent business rules for approval).
Web based authoring used to be quite revolutionary in the old days when Microsoft didn't even own what came to be MCMS, but these days we even have a choice of companies that will host a blog and not ask us to install one piece of software or install a plug in to our web browser. But to cut a long story short, you can use your browser to author content for a SharePoint publishing site.
Branding is a very very important issue when it comes to considering Microsoft for WCM. I'll hold on my final judgement as to whether AdventureWorks will be the sample site to move things on, but MOSS has a similar problem to that of MCMS in that you cannot and should not use what comes out of the box to evaluate its capability for WCM and similarly you should not let that anywhere near a public website. Yes, you can perhaps "get away" with it on an Extranet, but even with that you should really speak to your marketing and account management team first. But face it, if you are on a project that can fund a MOSS infrastructure then it should also be a project that has decent representation from brand owners. The "good" news is that MOSS 2007 is based on the principles you have learned for ASP 2.0, so all that hard work learning how to lay things out using CSS and master pages is well learned, but there are also differences. You have a huge amount of CSS that comes with MOSS, and a whole load of content placeholders to know all about too.
Andrew was good enough to explain what he was meaning by certain terms, which was a good presenting point. Although I would reckon that everyone in the audience would be able to create html markup and deploy it to a web server of any flavour, I think that less would have experience of a large website deployment. When you have to deal with a project team with Internet security people all the way through to graphic designers and copywriters then it is important that you as a developer can bring together the separate elements of brand and content while keeping in mind the WCM and infrastructure requirements. Branding is the so-called chrome or design, whereas content is is text and images that vary quite often.With an eye to infrastructure we want to make sure that the approach we take will work across load balanced web servers, and can be deployed in a repeatable fashion without developer input. Branding should be able to accommodate changing content without developer input, which is really the spirit of MOSS web publishing.
How to implement branding and content management in MOSS is a choice based on a number of factors, including the skill set of your team and how you approach disaster recovery. Some approaches may be simple in plain IIS, but they mean that deployment is a two part process of MOSS and your separate items. Others are easy to do on one box, but a pain to move, such as some of the techniques using SharePoint designer. Above all, make sure you consider the maintenance factors when choosing an approach.
Then for a bit of light relief, Andrew demonstrated the new Adventureworks demonstration site and how it illustrated that you can implement a site that "Doesn't look like SharePoint". From what we have been told it has been implemented as a proper reference site (but looks good too) so we should be allowed to take some principles from the implementation such as using Field Controls for versioned content, but Web Parts for functionality. I'm really looking forward to getting hold of it and pulling it apart to see what is inside.
Key Facts:
Session Code: OFC202
Speakers: Andrew Connell
Track: Office and SharePoint
Rating: 9/10
Attendance: 300 is (90% capacity)
|
-
I sometimes think of Groove as the poor cousin of the office suite, to many it is the application with the funny name that appears with the other tradition Microsoft office tools such as Excel or Word that everyone uses. Doing a bit of background reading before the session started didn't really help either, most articles online spoke more about Ray Ozzie as an individual than the product that brought him and his company into the Microsoft Fold. The session here at Tech Ed Developers had a little of an inauspicious start too, although billed as a joint interactive session headed up and moderated by Fabrice Barbin and Mark Ryan, only Fabrice was up there at the start looking rather perplexed as to his colleague's absence and suggested that the morning of the last day had caught up with Mark. We were treated to a view of the capabilities of Groove, from the basic "this is what it does" with a dusting of "this is how it works with SharePoint" we were also treated to an introduction to its support for developers and a hint at the future. All in all, I came away with the impression that despite the name "Groove", the product isn't what I would call funky but it brings with it concrete, solid, and very useful functionality to get the job done. It allows individuals on the same network to share and collaborate, with a distributed and peer to peer model for synchronising files around a workspace. It encrypts storage and traffic, and is happy offline and online. Workspaces have members and for the period of time that they work, the workspace is active and then can be archived when things wind down. To help step up to the next level, it offers a server to allow users from different networks to join in the fun, and can integrate with the document library storage in SharePoint. All solid stuff, and it works. It also has a forms capability - which is great for a formal setup but for me kind of pins down the "get on with it" philosophy that I see in the rest of the product. As borne out by Fabrice, Groove as a company really bought in to the .NET philosophy and in what I see as a really unusual feature from a product that started outside Microsoft, the API support, object model and web service arrangements all look like something I would expect of a product once it had bedded down in Microsoft. In fact, I think the work on Groove in upcoming versions is to blend it functionally in to the SharePoint world of things so that people don't overlook the proper capabilities it has that aren't anywhere else. Sure, you can check out a document and use it offline but Groove is the bit that allows you to make lots of progress within the boundaries of your workspace without worrying unduly about missing the other information that has been uploaded or having that multitude of mobile phone calls from colleagues asking you to check in that document so they can add their bit. Although blocked by NDA, Fabrice reassured us to an extent that Groove was going to me a bigger part of the SharePoint story. What really made me thing at the end was a response by a guy who I took to be Mark Ryan who had joined us towards the end of the session. In the QA at the end one of the attendees complained that it was difficult to make a strategic recommendation for a company without knowing about the current product (the session covered this) and what was in the next. The point made was that you don't bet your company on Groove, it is a tactical product. On first hearing this struck me as a strange statement, but on reflection it hits the nail on the head. You set up a Groove workspace, you work on that project or bid, then you close down and archive the workspace. This does not last for months or years, it might just last for weeks. That is where groove fits in. Key Facts: Session Code: OFC05-IS Speakers: Fabrice Barbin, Mark Ryan Track: Office and SharePoint Rating: 8/10 Attendance: 10
|
-
This session on SharePoint was positioned as an "Interactive Session" so I was interested to see the difference between this and the more traditional "breakout" sessions which basically mean a presentation in a smaller auditorium. I went along to join the session and it was in a relatively smaller room (capacity around 150) and we were invited to ask questions as we went along. The presenter had also picked a lot less slides, summarising his own experiences with developers and SharePoint. The discussion echoed some of my own experience with Server platforms like SharePoint. To take one product example, in the past I have used versions of Microsoft Commerce Server to deliver internet retail websites. My own experience from an architect and team lead perspective is that with some developers I had a job to persuade them to learn how to code against the product rather than using their own code and accessing an underlying database directly. Some developers (generally the minority) are happy to buy in to the idea that a server product will save them time, others view it as less of a coding challenge and do not want to know. Anyway, back to the presentation. Gianpaolo Vittorelli of Microsys started by reminding us of the history of SharePoint and the "all things to everyone" difficulty it brings. Everyone (not just developers) ask if SharePoint is an Intranet Toolkit, a Document Management System, a Knowledge Management and Collaboration Tool or a Development Environment? Or is it all of these - which it can be. In fact, Gianpaolo claimed that in order to assist with a demonstration, you should cover preconceptions in advance of a meeting before they are even shown the product. On the theme of limitations and preconceptions, Gianpaolo showed an example of an Intranet that his company had created for a company to manage photography. It was still SharePoint, but time had been spent by a design company and creative developers to give the customer what they wanted, even if this was to spend a lot of money on the correct font. One point that Gianpaolo really wanted to emphasise is that in his experience, it is not necessarily the effort of learning and developing against SharePoint which is the biggest challenge, but the types of business that can prove tough for a developer. For instance, Human Resources and Communications departments are two of those that are really interested in what SharePoint can do for them, but they can also be tough to gather requirements from because of the type of people they are. In fact, I would probably go as far as saying that out and out coders are probably at the other end of the spectrum in terms of social skills to the people that excel in HR and Comms roles. HR and Comms are all about people, whether it is concerned with their career or whether it is to do with managing their perceptions. Another point that Gianpaolo acknowledged is that SharePoint can be a struggle to get to terms with because it is a sophisticated product, take a look at it and there is lots going on and lots of concepts. He did make a valid point though, which is that any sophisticated product takes some effort to learn. All developers have had the experience of joining a project that has started, and the headache of picking up functions, code and team roles. The only time that you don't have that is when you have been there from the start - perhaps years before. So it also does well to have an element of caution, SharePoint is sophisticated and requires management. Users can do a lot of damage if they use the full admin capabilities, but developers can do even more damage with their tools, but this is again true of any equally sophisticated application. But two points were emphasised in building the case for Sharepoint; firstly that it helps your project to get further faster, and this will keep the users at bay, but also unlike other development projects, one mark of a successful SharePoint project is that it never ends and rather continues to grow and get adopted by more and more departments. This could be argued to be different projects under a programme of work, but I guess you and I get the point. I put my question to Gianpaolo of how to stop developers bypassing SharePoint (and got a usb stick for asking a question) to which he reminded us of the potential problems at upgrade time or the risk to the product as service packs may change the schema. He also suggested a more extreme way of dealing with such a developer, but discretion prevents me from repeating that part of his reply. Key Facts: Session Code: OFC04-IS Speakers: Gianpaolo Vittorelli Track: Office and SharePoint Rating: 9/10 Attendance: 40+
|
More Posts Next page »
|
|
|