Thursday, November 7, 2013

I am now trading as Conrad Goodman IT Services - computer repairs in Bristol & Bath.

It's been a while since I have posted anything technical on here, there are many reasons for that but most recently I have been working on a big project to launch my own IT services company.

This is now live, and the website is available in the root of this domain.

I am offering expert IT services initially to home and small business users, with a view to expanding into corporate business later on.

Current services include (but are certainly not limited to):


  • Laptop/Desktop computer repairs
  • Tablet/Smart phone configuration
  • Networking & broadband
  • Servers, backup & data recovery

I will be posting more technical updates on my blog in the future during my self employed adventure!

Conrad

Thursday, November 10, 2011

ACCESS DENIED when reading/writing to/from a file share (UNC) from SharePoint 2010

This week I was given the task of upgrading the Dynamics 2009 Enterprise Portal to SharePoint 2010 in order to use PerformancePoint etc. Having built a new SP 2010 farm, and deployed the Enterprise Portal role and site it was over to the development team for testing.

A number of issues cropped up, involving request timed out when trying to access the Dynamics database in list views, this was solved by giving users modify access to C:\Users\TEMP\AppData\Local\Temp as I could see the calls getting access denied in Process Monitor.

The second issue was a little more complicated and involved some code that reads/writes files from a remote file share using a UNC path.

When attempting to execute the code on the SharePoint server that uploads/reads these files, I trapped the path in Process Monitor and was getting 'ACCESS DENIED' for the read/writes.

On further inspection of the 'Details' Field, the sharepoint server was impersonating the user of the SP site rather than using the application pool account to read/write to the file server.

Unfortunately when you are using NTLM authentication a double hop such as this will not work (first hop is users browser -> SharePoint server, second hop Sharepoint server -> File server).

Looking at our older 2007 SharePoint/Enterprise portal configuration it became apparent that the this older server did not impersonate the user when calling the file server.

In order to prevent the SharePoint server from impersonating the user, I edited the web.config file for SharePoint site (C:\inetpub\wwwroot\wss\VirtualDirectories\sitename.domain80\web.config) and changed the value as follows:

<identity impersonate="false" />

Subsequently the hop is reduced to a single hop and the issue is then resolved.

Hopefully this will help someone else out who comes across a similar issue.

Wednesday, March 23, 2011

User Profile Replication Engine gets stuck Invalid URI: A port was expected because of there is a colon (':') present but the port could not be parsed.

For the past 4 weeks I have had a ticket open with Microsoft about the user profile replication engine getting stuck on a particular user. The following errors were logged in the event log:


System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Invalid URI: A port was expected because of there is a colon (':') present but the port could not be parsed.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.KNG.ReplicationEngine.Helper.UserProfileWebService.UserProfileService.GetUserProfileByIndex(Int32 index)
   at Microsoft.KNG.ReplicationEngine.Helper.ReplicationEngineManagerFull.ReplicateProfile()22/03/2011 10:07

This continued to get logged in the event log until an entry was logged about event log flooding.

OK so the scenario.

I wanted to replicate all user profiles in Farm A in SSP 1, to Farm B in SSP 2.

After running a full profile replication, the list of replicated profiles stopped at the same user every time and the above errors were logged.

I eventually tried incrementing the 'StartingProfileIndex' by 1 number and kicking off the replication again, this was then successful for all remaining users.

So then I knew I had an issue with ProfileIndex numbers between 1740 and 1743 (the next sucessful profile).

If you check in C:\Program Files\Microsoft\SPAdminToolkit\ and look for Err_Full_Profile_Index_Pull_xxxxxxx this is a log file and will give you the number of the problem profile

I looked at the SSP database, and expanded the table 'dbo.UserProfile_Full', I then did a select for all records.

The column we are interested in is called 'RecordID', so naturually I looked for the RecordID that wouldn't replicate.

There is a red herring here, because the username next to each number did not correspond to the view in the replication engine. Because the replication engine labels the first user as 0, it then labels the 2nd user with the 'RecordID' of the first user, and so on so forth.

So for my faulty user, I need to find the 'RecordID' then look at the next 'RecordID' in the table, and that is the problem profile.

I then checked with the user that their profile didn't have anything too important in it, they weren't using any My Links etc and had no files in their My Site.

I then went ahead and deleted their profile from the 'View User Profiles' in the SSP Admin site.

I then did a full profile import, to get her a fresh user profile in the SSP database.

After doing this, the replication engine did a successful full import of all user profiles - problem solved!

I hope this saves someone some time, as I spent many hours on the phone to MS about this and they were extremely unhelpful.


Friday, March 11, 2011

SharePoint 2007 Audience not updating and lost majority of members from AD groups?

OK so today someone reported an issue to me with the SharePoint audiences, one particular audience shrank from 400 users to 6.

The first thing to do when this kind of behaviour is experienced is to run a full profile import, and then the membership and BDC import will run minutes afterwards and should import the members of all AD groups into the SSP database.

I tried this solution and the group still showed 6 members when adding it to the audience, after restarting the indexer amongst many other things and multiple imports I was none the wiser.

I decided that there must be an issue with the AD group itself as it was clear SharePoint could not import it, so I modified the group description in AD and then ran another full profile import.

Sure enough, once the BDC/Membership import was complete, I added the AD group back to my Audience and it showed the correct number of members again.

Hopefully this will save someone ruining their afternoon trawling through various blogs and finding no answers!

Cheers,

Conrad

Thursday, November 4, 2010

When attaching content database to SharePoint 2007 SP2 farm, or upgrading an SP1 database to SP2 you get error: "Cannot find the object "DatabaseInformation" because it does not exist or you do not have permissions."

In my current quest to upgrade our MOSS farm to SP2, I have stumbled across some fairly nasty problems, first having to create a new configuration database, and now the content databases themselves won't re-attach.

If you experience the following message when running stsadm -o addcontentdb on a SP2 farm to attach an older content database and thus upgrade it, you will need to speak to Microsoft for a resolution.

"Cannot find the object "DatabaseInformation" because it does not exist or you do not have permissions."


If you wish to take a risk and fix the problem yourself, here is an unsupported resolution.


The problem you are having can be confirmed by expanding the tables of your content db and looking for the dbo.DatabaseInformation table. If this table is missing, that is why you can't upgrade your database.


This table contains a couple of columns (Name, Value), you need to re-create this table with exactly the same columns as in a working content database, and then generate a GUID with GUID Gen or similar. In the 'Name' column, type 'Id', in the 'Value' column enter a GUID string you have generated with GUID gen (or if you google guidgen there are online tools for this).


Now re-run the addcontentdb command and your database upgrade should complete.


Please remember this is unsupported.

The specified SPConfigurationDatabase has been upgraded to a newer version of SharePoint. Please upgrade this SharePoint application server before attempting to access this object.

I am currently working on the task of upgrading our MOSS 2007 farm to SP2, and came across the following problem running psconfig (SharePoint Products and Technologies Wizard).

[SPConfigurationDatabaseSequence] [ERROR] [10/21/2010 1:01:41 PM]: Upgrade object too new (build version = 12.0.0.6327, schema version = 3.1.6.0). Current server (build version = 12.0.0.6421, schema version = 3.0.10.0).


[SPManager] [ERROR] [10/21/2010 1:01:41 PM]: CanUpgrade [SPConfigurationDatabase Name=SharePoint_Config Parent=SPDatabaseServiceInstance] failed.


[SPManager] [ERROR] [10/21/2010 1:01:41 PM]: The specified SPConfigurationDatabase Name=SharePoint_Config Parent=SPDatabaseServiceInstance has been upgraded to a newer version of SharePoint. Please upgrade this SharePoint application server before attempting to access this object.


The issue here is not to do with the service packs installed on any server in my farm, or any registry key settings, but the schema version of the configuration database. For MOSS 2007 this should always be 3.0.10.0 however in my case it is 3.1.6.0. The only probable explanation I have for this is a predecessor editing the database for some reason or other.

Unfortunately there is no supported method of dealing with this (you must never directly edit the SQL tables in SharePoint). Having spoken to Microsoft about this the only way forward is a fresh configuration database.

To do this, you will need to edit the registry key HKLM\Software\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS\SetupType - change this from b2b to 'CLEAN_INSTALL'

When you next run the P&T Wizard you will be asked if you wish to disconnect from the farm, and you can then run the wizard a 2nd time to create a new farm.

This can also be achieved via psconfig cmd on the command console.

This doesn't pose too big a problem for a fairly savvy SharePoint administrator - just re-create all your web applications and use stsadm -o addcontentdb -url -databasename and this will upgrade your content databases as you attach them,

Obviously you will need to restore any SSPs, and reconfigure any farm level settings that you changed from defaults, as well as enable any features/custom code.

Review upgrade.log after each database attach to ensure there were no issues upgrading your content dbs.

I would be interested to hear from anyone else who has had this issue, to see if it was a hard edit in the database or an actual issue created by the software and is wider spread.

Thursday, October 28, 2010

Writing a SharePoint 2010 Implementation Proposal?

I've recently been asked to write a proposal for my employee on why they should upgrade to / implement SharePoint Server 2010.

The basis of this proposal is obviously based around the disadvantages of one product we currently use (MOSS/SharePoint 2007) and the advatanges of the new product.

I have constructed a list of disadvatanges and counter advantages as I see them, and think this may be useful to other SharePoint implementation engineers who wish to write a proposal based on the same task.

Obviously this list would be trimmed down to the needs of your own situation and can then form some basic pointers for your arguement.

Note that this is not intended to be a review of either product, just a foundation for your research/testing to form your own proposal.

If you have any points you wish to add please leave them in the comments.

SharePoint 2007 Shortfalls

Enterprise Content Management

• Document Metadata / Taxonomy localised to a single site collection.
• No way to version/workflow a document set as one entity
• Moving documents or renaming them breaks their respective URLs – documents tied to each library
• Users free to upload documents where they see fit, rather than a managed meta data upload
• No way to attach default metadata to documents via the use of folders/automatic tagging
• Poor categorisation in search results
• No ability to preview thumbnails of search results.
• Poor auditing facilities and lack of compliance details
• No easy way to navigate libraries via metadata
• Poor integration with Business Data systems (inability to write/delete/update data)
• No method of batch processing multiple list items
• No integration of video files
• Inline Intranet content editing is clumsy and laborious

Development

• Development must be done on a server OS, which adds expense
• No ability to modify out of the box workflows
• No ability to create workflows from user defined templates for re-use across the enterprise

Performance

• List size limited to thousands of items not millions.
• Content database performance is not optimised for binary large objects (BLOBS)
• Querys against large lists cannot be throttled.
• No isolation of workflow processing to particular servers

Social Networking

• No way to rate/tag/add notes to any item of content within the platform
• No way to navigate business data via tag clouds
Administration
• Back-end administration is laborious to navigate and execute tasks
• Native backup /recovery options are extremely limited
• Lack of health/performance monitoring

SharePoint 2010 Improvements

Enterprise Content Management

• Managed Meta Data service provides enterprise wide taxonomy management
• Introduction of document sets allows execution of workflows/versioning against multiple files treated as a single entity
• All documents/items have a ‘permalink’ – a unique URL that stays the same even when documents are moved across site collections.
• Content Organiser automatically places documents in the relevant location with default metadata, and can accept incoming documents forwarded from email clients.
• Documents/items and subfolders can now inherit metadata from folders.
• Improved search results categorisation, can be viewed by tags
• PowerPoint slides can be previewed as thumbnails in search results
• Compliance Details screen introduced to each document menu, providing detailed auditing information such as who deleted, who modified, who created the item.
• ‘Metadata Navigation’ web parts allow seamless navigation of project site content based on taxonomy data.
• Business Data Services replaces the BDC, and now provides a method of writing to and deleting information in business databases as well as simply reading it.
• Multiple items in a library/list can now be modified/processed in parallel.
• Seamless integration of video content (videos can be previewed in the asset picker before insertion into the web page).
• Massive improvements to inline content editing - automatic creation of new pages using the ‘wiki engine’ approach (inserting [[new page here]] will create and link to a new page).

Development

• SharePoint 2010 can be installed on Windows 7 for development purposes, saving money on server OS licenses and easing the setup of the development environment.
• Out of the box workflows can now be modified.
• Workflows can be saved as templates and re-used within multiple sites/locations.

Performance

• List size limitations increased to millions of items per list rather than thousands.
• Binary Large Objects (BLOBS) can now be stored on cheaper storage that is optimised for these types of data – speeding up the retrieval of large files.
• Queries against large lists can be throttled to return a limited result set, to reduce impact on user operations of lists. Furthermore these result sets can easily be reduced to fewer numbers via inbuilt metadata navigation.
• Workflow Processing can be offloaded to multiple application servers.

Social Networking

• Any digital asset (document/video/list item etc) can be tagged with end user terms (folksonomy) as well as corporate taxonomy. These items can also be ‘rated’ or ‘liked’ by users, which then reports their activities to their mysite (other users can then subscribe to these feeds)
• All business data can be navigated via tag clouds generated from corporate taxonomy.
Administration
• Back-end administration has been completely overhauled, tasks are much quicker to find and execute
• Native backup /recovery options are far more extensive, allowing restore of individual items, lists, sites from offline content databases.
• Introduction of health/performance monitoring of servers and services increases reliability of the overall solution through preventative and reactive maintenance.