Having issues deploying your tenant scoped SharePoint add-in (though I confess I still call them apps)? You've pasted the XML for your add-in on the appinv.aspx page and you get a message back that you have to be a tenant admin? But wait you are logged on as the tenant admin!
Microsoft recently made a change that any apps that require tenant permissions must use the tenant admin site itself for the AppInv.aspx - so navigate to https://mytenant-admin.sharepoint.com/_layouts/15/appinv.aspx and try out the same steps - it'll work just fine!
Makes sense I guess that in order to deploy a tenant scoped add-in I really should be a tenant admin... I haven't tried to verify whether I need to be a global admin or just a SharePoint admin, but I suspect both would work fine.
Monday, September 12, 2016
Tuesday, August 16, 2016
SharePoint Designer, Workflows, local cache
Hi world, been a long time! I'm still SharePointing, been having fun with client side rendering and JSOM. Post on that coming soon, promise!
In the meantime, here's a quick one. Admit it, you still use Designer. It's still a handy tool especially for workflows. I had put together a workflow for one of my customers, it's been working just fine. Occasionally, though, when I went to edit it, I would get an error generating local caches. There's some recommendations on how to clear out the local cache & try again, but that didn't seem to help me. I tried on multiple PCs and VMs and finally got one working, then three months later promptly forgot which combo actually worked...so time for that root cause.
What did help? Run as Administrator. Yep, the issue wasn't in pulling down the content for the caches, but getting that content into the local file system. I'm logged on with a local admin account on my dev VM, but even so that didn't help. So, with your nifty Designer program icon, hit Ctrl + Shift then click, accept the prompt to run as Admin, and edit those workflows away.
See you soon! The big teaser is, re-running a workflow when an item is edited on O365. It can be done.
In the meantime, here's a quick one. Admit it, you still use Designer. It's still a handy tool especially for workflows. I had put together a workflow for one of my customers, it's been working just fine. Occasionally, though, when I went to edit it, I would get an error generating local caches. There's some recommendations on how to clear out the local cache & try again, but that didn't seem to help me. I tried on multiple PCs and VMs and finally got one working, then three months later promptly forgot which combo actually worked...so time for that root cause.
What did help? Run as Administrator. Yep, the issue wasn't in pulling down the content for the caches, but getting that content into the local file system. I'm logged on with a local admin account on my dev VM, but even so that didn't help. So, with your nifty Designer program icon, hit Ctrl + Shift then click, accept the prompt to run as Admin, and edit those workflows away.
See you soon! The big teaser is, re-running a workflow when an item is edited on O365. It can be done.
Wednesday, March 18, 2015
Visual Studio, MVC and a proxy server
Hello world,
I'm preparing a talk for this weekend on MVC development with SharePoint Online - I'll post the deck once ready!
In preparing for the demos, when I try to connect an on-premises Provider Hosted App to my SPO tenant, I'm prompted to enter in my tenant credentials, SharePoint is Working On It... then, I get an error in Visual Studio on the clientContext.ExecuteQuery(), System.Net.Exception, Unable to connect to the remote server.
The issue - I'm behind a corporate proxy server. The fix - tell .Net about it! Easy enough to do, just add the following to the web.config file for the MVC app:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
Hit F5 and you'll be good to go!
I'm preparing a talk for this weekend on MVC development with SharePoint Online - I'll post the deck once ready!
In preparing for the demos, when I try to connect an on-premises Provider Hosted App to my SPO tenant, I'm prompted to enter in my tenant credentials, SharePoint is Working On It... then, I get an error in Visual Studio on the clientContext.ExecuteQuery(), System.Net.Exception, Unable to connect to the remote server.
The issue - I'm behind a corporate proxy server. The fix - tell .Net about it! Easy enough to do, just add the following to the web.config file for the MVC app:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
Hit F5 and you'll be good to go!
Friday, October 03, 2014
Visio Services - The server failed to process the request
Another day, another interesting SharePoint error! I finally got around to building out a Visio dashboard for my model office environment. We've got a lot of servers out there and it's about time to get a handle on overall health and performance.
The dashboard worked great until I let the team try it out - two folks reported back that the page was showing an error, "the server failed to process the request". ULS showed a related error, at Microsoft.SharePoint.WebPartPages.Utility.SetThreadCulture - not totally obvious!
Searching out there turned up a blog post by Robert Seso of a similar problem on SharePoint 2010 - different ULS log entries, though. I tried out the fix he suggested to solve his issue - grant a permission to the service account a used by Visio Services - not the SCOM service account or data reader account, but the service account configured for Visio Services in SP2013. Here's the PowerShell to run:
$webapp = get-spwebapplication("http://mywebapp.myserver.com")
$webapp.GrantAccessToProcessIdentity("mydomain\sp_visiosvc")
Go back to your page, refresh, and so far so good.
http://www.robertseso.com/2012/02/troubleshooting-workflow-visualization.html
More clarification! So far not so good. I think the real issue here was on how I had set up the data source. Initially, I had created a site collection, pointed the ODC file at that URL, then all was good. I then decided to make things nicer and go with a host named site collection, which in & of itself was not the problem, the problem was, I used the original ODC file without updating it for the new HNSC. I recreated the ODC file in the HNSC and recreated the Visio drawing to use this ODC file & it's been running fine since.
The dashboard worked great until I let the team try it out - two folks reported back that the page was showing an error, "the server failed to process the request". ULS showed a related error, at Microsoft.SharePoint.WebPartPages.Utility.SetThreadCulture - not totally obvious!
Searching out there turned up a blog post by Robert Seso of a similar problem on SharePoint 2010 - different ULS log entries, though. I tried out the fix he suggested to solve his issue - grant a permission to the service account a used by Visio Services - not the SCOM service account or data reader account, but the service account configured for Visio Services in SP2013. Here's the PowerShell to run:
$webapp = get-spwebapplication("http://mywebapp.myserver.com")
$webapp.GrantAccessToProcessIdentity("mydomain\sp_visiosvc")
Go back to your page, refresh, and so far so good.
http://www.robertseso.com/2012/02/troubleshooting-workflow-visualization.html
More clarification! So far not so good. I think the real issue here was on how I had set up the data source. Initially, I had created a site collection, pointed the ODC file at that URL, then all was good. I then decided to make things nicer and go with a host named site collection, which in & of itself was not the problem, the problem was, I used the original ODC file without updating it for the new HNSC. I recreated the ODC file in the HNSC and recreated the Visio drawing to use this ODC file & it's been running fine since.
Thursday, October 02, 2014
SharePoint 5586 flood fixed
Hi SharePointers,
Another SharePoint first today. I had set up a dev server for a colleague, went back in to take a look because she said she was having performance problems. I fixed the root certificate issue, which certainly helped, but also there were a lot of 5586 messages left. From the ULS logs:
Unknown SQL Exception 53 occurred. Additional error information from SQL Server is included below. A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
I checked the SQL Server aliases (this server uses a named instance, after all!), checked the registry keys used for the aliases & the SharePoint Config db, and checked the SQL Server's network configuration, but nowhere was it using Named Pipes.
Turns out: wrong alias. I generally use SPDB as my alias name, but if I went down one more line in the ULS logs:
ConnectionString: 'Data Source=ServerName_SPDB;Initial Catalog=master;Integrated Security=True'....
So somehow, the servername value I was using was in front of the alias - sounds like a bug in my AutoSPConfig XML file! The rest of SharePoint is working fine, so there must be a service somewhere that's using this alias. I'll dig for that next, but workaround for now, I set up a second alias for this value & no more log flood.
Hope this helps someone!
Another SharePoint first today. I had set up a dev server for a colleague, went back in to take a look because she said she was having performance problems. I fixed the root certificate issue, which certainly helped, but also there were a lot of 5586 messages left. From the ULS logs:
Unknown SQL Exception 53 occurred. Additional error information from SQL Server is included below. A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
I checked the SQL Server aliases (this server uses a named instance, after all!), checked the registry keys used for the aliases & the SharePoint Config db, and checked the SQL Server's network configuration, but nowhere was it using Named Pipes.
Turns out: wrong alias. I generally use SPDB as my alias name, but if I went down one more line in the ULS logs:
ConnectionString: 'Data Source=ServerName_SPDB;Initial Catalog=master;Integrated Security=True'....
So somehow, the servername value I was using was in front of the alias - sounds like a bug in my AutoSPConfig XML file! The rest of SharePoint is working fine, so there must be a service somewhere that's using this alias. I'll dig for that next, but workaround for now, I set up a second alias for this value & no more log flood.
Hope this helps someone!
Thursday, September 18, 2014
Method 'Upgrade' in type 'Microsoft.SharePoint.WorkflowServices.WorkflowServiceApplicationProxy' message
The good admin you are, you just finished deploying the Windows patches for September on your non-SP1'd SharePoint 2013 farm server...rebooted...Central Admin comes up fine...open up PowerShell and kaboom!
Method 'Upgrade' in type 'Microsoft.SharePoint.WorkflowServices.WorkflowServiceApplicationProxy' from assembly 'Microsoft.SharePoint.Wor Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' does not have an implementation.
There's an update that assumes you already have SP1 deployed - if you go back to Central Admin you'll note the UI changes for O365 & Yammer are now showing up. The fix is to deploy one more hotfix to your server - you can download it from here: http://www.microsoft.com/en-us/download/details.aspx?id=42898
No reboot required - install the update, open up that PS window & you're blissfully error free.
Happy SharePointing!
Method 'Upgrade' in type 'Microsoft.SharePoint.WorkflowServices.WorkflowServiceApplicationProxy' from assembly 'Microsoft.SharePoint.Wor Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' does not have an implementation.
There's an update that assumes you already have SP1 deployed - if you go back to Central Admin you'll note the UI changes for O365 & Yammer are now showing up. The fix is to deploy one more hotfix to your server - you can download it from here: http://www.microsoft.com/en-us/download/details.aspx?id=42898
No reboot required - install the update, open up that PS window & you're blissfully error free.
Happy SharePointing!
SharePoint 2013 Site Codes and Descriptions
Below is a list of the out of the box site codes available for SharePoint 2013. This is for the 1033 (US English) locale:
| Site Code | Description |
|---|---|
| GLOBAL#0 | Global template |
| STS#0 | Team Site |
| STS#1 | Blank Site |
| STS#2 | Document Workspace |
| MPS#0 | Basic Meeting Workspace |
| MPS#1 | Blank Meeting Workspace |
| MPS#2 | Decision Meeting Workspace |
| MPS#3 | Social Meeting Workspace |
| MPS#4 | Multipage Meeting Workspace |
| CENTRALADMIN#0 | Central Admin Site |
| WIKI#0 | Wiki Site |
| BLOG#0 | Blog |
| SGS#0 | Group Work Site |
| TENANTADMIN#0 | Tenant Admin Site |
| APP#0 | App Template |
| APPCATALOG#0 | App Catalog Site |
| ACCSRV#0 | Access Services Site |
| ACCSVC#0 | Access Services Site Internal |
| ACCSVC#1 | Access Services Site |
| BDR#0 | Document Center |
| DEV#0 | Developer Site |
| DOCMARKETPLACESITE#0 | Academic Library |
| EDISC#0 | eDiscovery Center |
| EDISC#1 | eDiscovery Case |
| OFFILE#0 | (obsolete) Records Center |
| OFFILE#1 | Records Center |
| OSRV#0 | Shared Services Administration Site |
| PPSMASite#0 | PerformancePoint |
| BICenterSite#0 | Business Intelligence Center |
| SPS#0 | SharePoint Portal Server Site |
| SPSPERS#0 | SharePoint Portal Server Personal Space |
| SPSPERS#2 | Storage And Social SharePoint Portal... |
| SPSPERS#3 | Storage Only SharePoint Portal Serve... |
| SPSPERS#4 | Social Only SharePoint Portal Server... |
| SPSPERS#5 | Empty SharePoint Portal Server Perso... |
| SPSMSITE#0 | Personalization Site |
| SPSTOC#0 | Contents area Template |
| SPSTOPIC#0 | Topic area template |
| SPSNEWS#0 | News Site |
| CMSPUBLISHING#0 | Publishing Site |
| BLANKINTERNET#0 | Publishing Site |
| BLANKINTERNET#1 | Press Releases Site |
| BLANKINTERNET#2 | Publishing Site with Workflow |
| SPSNHOME#0 | News Site |
| SPSSITES#0 | Site Directory |
| SPSCOMMU#0 | Community area template |
| SPSREPORTCENTER#0 | Report Center |
| SPSPORTAL#0 | Collaboration Portal |
| SRCHCEN#0 | Enterprise Search Center |
| PROFILES#0 | Profiles |
| BLANKINTERNETCONTAINER#0 | Publishing Portal |
| SPSMSITEHOST#0 | My Site Host |
| ENTERWIKI#0 | Enterprise Wiki |
| PROJECTSITE#0 | Project Site |
| PRODUCTCATALOG#0 | Product Catalog |
| COMMUNITY#0 | Community Site |
| COMMUNITYPORTAL#0 | Community Portal |
| SRCHCENTERLITE#0 | Basic Search Center |
| SRCHCENTERLITE#1 | Basic Search Center |
| visprus#0 | Visio Process Repository |
| ECMWebTemplate#0 | Enterprise Content Site |
Friday, September 12, 2014
Default gateway blank or 0.0.0.0
Ever had your server's default gateway stuck showing either 0.0.0.0, or blank entirely? Totally ignoring the value you're assigning? Happened to me when I was bouncing between client Hyper-V on Windows 8.1 and VirtualBox. The culprit? All of those prior network connections. Once you get rid of them, network properties works like a charm.
The catch? The devices and old connections are hidden. To show them, open up an administrator command prompt, and enter the command:
set devmgr_show_nonpresent_devices=1
then enter the command
start devmgmt.msc
to start up Device Manager (or launch it from Control Panel). Then, in the View menu, choose Show Hidden Devices, expand out your Network Adapters and be amazed:
See all of those hidden devices? The active one, Microsoft Hyper-V Network Adapter #19 is shown with the bold icon, but the others, including the Intel (R) PRO/1000 adapters are somewhat blurred - those are the ones to delete.
Do that, reboot for good measure, set that default gateway and be productive!
Update: I decided to poke around some of the other devices & there were more to remove, when making the VirtualBox to Hyper-V switch. Expand out some of the other nodes to clear out the old VirtualBox devices. Having these around wasn't causing problems, but the less clutter the better.
The catch? The devices and old connections are hidden. To show them, open up an administrator command prompt, and enter the command:
set devmgr_show_nonpresent_devices=1
then enter the command
start devmgmt.msc
to start up Device Manager (or launch it from Control Panel). Then, in the View menu, choose Show Hidden Devices, expand out your Network Adapters and be amazed:
See all of those hidden devices? The active one, Microsoft Hyper-V Network Adapter #19 is shown with the bold icon, but the others, including the Intel (R) PRO/1000 adapters are somewhat blurred - those are the ones to delete.
Do that, reboot for good measure, set that default gateway and be productive!
Update: I decided to poke around some of the other devices & there were more to remove, when making the VirtualBox to Hyper-V switch. Expand out some of the other nodes to clear out the old VirtualBox devices. Having these around wasn't causing problems, but the less clutter the better.
Also, be sure you remove either the Hyper-V Integration Services or the VirtualBox Additions from Windows Control Panel Add/Remove Programs, as appropriate. And if you're switching back to VirtualBox, odds are the Additions are out of date, so go ahead & refresh.
Tuesday, August 19, 2014
SharePoint Designer 2013 + SharePoint 2013 Workflow - where's the workflow??
Hi SharePointers,
We had an interesting one today. One of my developers was having a problem creating a new SharePoint 2013 workflow with SharePoint Designer 2013. We were able to create the workflow, but when SharePoint went to fetch the workflow actions from the server, nothing else happened - the workflow was not created. SP2010 workflows worked fine.
The solution: For some reason, a DLL was missing from the 15 hive on the server - in this path:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\WorkflowActivities
there should be a DLL:
Microsoft.SharePoint.WorkflowServices.Activities.dll
For whatever reason, that DLL was not in the folder. It was in the GAC, oddly enough. Once we copied the DLL from another server into the above folder, IISResetted, cleared the Designer cache, the workflow was able to be created.
Other things we tried that didn't help:
1) Re-registerWorkflow Manager
2) Removed Workflow Manager from the SharePoint server, then installed it on a separate smaller footprint server.
3) Re-registered Workflow Manager with non-SSL
4) Used Fiddler to see what was going on
The clue was in one message in the ULS logs - several OOTB features were missing:
Anyway, once that DLL was copied over - didn't have to GAC it or anything - all was well once again.
We had an interesting one today. One of my developers was having a problem creating a new SharePoint 2013 workflow with SharePoint Designer 2013. We were able to create the workflow, but when SharePoint went to fetch the workflow actions from the server, nothing else happened - the workflow was not created. SP2010 workflows worked fine.
The solution: For some reason, a DLL was missing from the 15 hive on the server - in this path:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\WorkflowActivities
there should be a DLL:
Microsoft.SharePoint.WorkflowServices.Activities.dll
For whatever reason, that DLL was not in the folder. It was in the GAC, oddly enough. Once we copied the DLL from another server into the above folder, IISResetted, cleared the Designer cache, the workflow was able to be created.
Other things we tried that didn't help:
1) Re-registerWorkflow Manager
2) Removed Workflow Manager from the SharePoint server, then installed it on a separate smaller footprint server.
3) Re-registered Workflow Manager with non-SSL
4) Used Fiddler to see what was going on
The clue was in one message in the ULS logs - several OOTB features were missing:
Feature definition with id 00bfea71-c796-4402-9f2f-0eb9a6e71b18 not
found. [WebPageLibrary]
Feature definition with id 065c78be-5231-477e-a972-14177cc5b3c7 not
found. [BizAppsListTemplates]
Feature definition with id 00bfea71-5932-4f9c-ad71-1557e5751100 not found.
[IssuesList]
Feature definition with id 7201d6a4-a5d3-49a1-8c19-19c4bac6e668 not
found. [MetaDataNav]
Feature definition with id 0806d127-06e6-447a-980e-2e90b03101b8 not
found. [PremiumWeb]
Feature definition with id 00bfea71-4ea5-48d4-a4ad-305cf7030140 not
found. [WorkflowHistoryList]
Anyway, once that DLL was copied over - didn't have to GAC it or anything - all was well once again.
Thursday, April 24, 2014
SharePoint 2013 and SQL Server HA options
I put together the following table to summarize the HA options available for SQL Server 2012 and SharePoint 2013. In short - use sync AlwaysOn where possible!
The difference between sync & async has to do with performance over data integrity. Sync will wait on confirmations from each end point that the transactions were successful. Async does not wait. Async will give better performance, but it's possible to have data loss.
I'm building this out in a lab environment based on VirtualBox. My attempt #1 was to get FreeNAS working with Server 2012 to set up the shared disk required by Windows Clustering. I was able to get the iSCSIInitator in Server 2012 to recognize the NAS drives, but couldn't convince Windows Clustering to use it. So next up will be to see if I can get the same working with Server 2012's iSCSI built in support.
I see this as one benefit of Hyper-V over VirtualBox - Hyper-V has a virtual fiber channel feature built in. In theory, this would let me set up a virtual SAN environment. I've been trying the same with VirtualBox (yes, I know...but I did try switching over to Hyper-V on my Windows 8 laptop, but at the time networking wasn't working. I should give it another try, I know...).
Anway, the table below is a summary of a TechNet article listing each of the SharePoint databases. I found the table format a bit easier to use.
Source: Supported HA Options for SharePoint 2013
The difference between sync & async has to do with performance over data integrity. Sync will wait on confirmations from each end point that the transactions were successful. Async does not wait. Async will give better performance, but it's possible to have data loss.
I'm building this out in a lab environment based on VirtualBox. My attempt #1 was to get FreeNAS working with Server 2012 to set up the shared disk required by Windows Clustering. I was able to get the iSCSIInitator in Server 2012 to recognize the NAS drives, but couldn't convince Windows Clustering to use it. So next up will be to see if I can get the same working with Server 2012's iSCSI built in support.
I see this as one benefit of Hyper-V over VirtualBox - Hyper-V has a virtual fiber channel feature built in. In theory, this would let me set up a virtual SAN environment. I've been trying the same with VirtualBox (yes, I know...but I did try switching over to Hyper-V on my Windows 8 laptop, but at the time networking wasn't working. I should give it another try, I know...).
Anway, the table below is a summary of a TechNet article listing each of the SharePoint databases. I found the table format a bit easier to use.
| Database | Purpose | Sync Mirroring | Sync AlwaysOn | Asyc Mirror/Log Shipping | Async AlwaysOn | |
| SharePoint_Config | Configuration database | Y | Y | N | N | |
| SharePoint_Admin_Content | CA content db | Y | Y | N | N | |
| WSS_Content | Content database | Y | Y | Y | Y | |
| AppManagement | Service database | Y | Y | Y | Y | |
| Search_Service_Application_DB | Stores Search app configuration | Y | Y | N | N | |
| Search_Service_Application_AnalyticsReportingStoreDB | Stores usage analysis data for reports | Y | Y | Y | N | |
| Search_Service_Application_CrawlStoreDB | Stores the state of the crawled content & crawl history | Y | Y | N | N | |
| Search_Service_Application_LinkStoreDB | Stores extracts of the content processing component sna click through info | Y | Y | N | N | |
| Secure_Store_Service_DB | Stores Secure Store credentials | Y | Y | Y | Y | |
| SharePoint_Logging | Stores health monitoring & usage data | Y* | Y* | Y* | N | * not recommended |
| SettingsServiceDB | Stores features and settings for hosted customers | Y | Y | Y | Y | |
| Usage Profile Service App | Stores & manages users and associated info | Y | Y | Y | Y | |
| Usage Profile Service App Sync DB | Used during a user profile sync | Y | Y | N | N | |
| Usage Profile Service Social DB | Stores social tags and notes | Y | Y | Y | Y | |
| WordAutomationServices | Stores info about pending & completed doc conversions | Y | Y | Y | Y | |
| Managed Metadata Service App | Stores managed metadata | Y | Y | Y | Y | |
| Translation Services DB | Stores info about pending & completed doc translations | Y | Y | Y | Y | |
| Business Data Connectivity Service DB | Stores external content types | Y | Y | Y | Y | |
| ProjectWebApp | Project Web App database | Y | Y | Y | Y | |
| PowerPivotServiceDB | Stores data refresh scheduled & usage data | No Guidance | No Guidance | No Guidance | No Guidance | |
| PerformancePoint Service DB | Stores temp objects & saved comments | Y | Y | Y | Y | |
| State Service db | Stores temp state info from InfoPath, Exchange, chart web part, Visio services | Y | Y | N | N |
Source: Supported HA Options for SharePoint 2013
Tuesday, February 25, 2014
SPC14
And, see you at the SharePoint Conference in Vegas! I'll be at the HP Booth Sunday night, and also speaking at the Partner Theatre Sunday night, then at the booth periodically throughout the event. If you're there stop by to say hello, or schedule a meeting with my on the MySPC site.
See you in Grand Rapids!
Accepted to speak at the DevDay conference in Grand Rapids, March 22!
http://grdevday.org/
Hope to see you there. There's a good line up of speakers and topics, I'll be attending some of the mobile development talks.
http://grdevday.org/
Hope to see you there. There's a good line up of speakers and topics, I'll be attending some of the mobile development talks.
Office Web Apps 2013 - Unhealthy
Ran into this issue on my lab servers. I installed Office Web Apps 2013, configured it, all good! But then Windows Update showed a patch from 1/2/14 for OWA, I applied that, and afterwards, Get-OfficeWebAppsMachine showed that my server was Unhealthy.
I did some Binging and found that indeed yes, there is a process to follow for patching an OWA server - first, remove the OWA server from the farm with Remove-OfficeWebAppsMachine, then apply the update, then use the New-OfficeWebAppsFarm again to rebuild the farm.
Following a comment in a host here: http://michaelvh.wordpress.com/2013/04/01/the-curious-health-problems-of-the-office-web-apps-server/
I enabled HTTP Activation for the WCF Services for the .Net Framework 4.5 on the OWA server. Since I'm running Server 2012, I needed to use the Features option on Server Configuration to get this working:
I did some Binging and found that indeed yes, there is a process to follow for patching an OWA server - first, remove the OWA server from the farm with Remove-OfficeWebAppsMachine, then apply the update, then use the New-OfficeWebAppsFarm again to rebuild the farm.
Following a comment in a host here: http://michaelvh.wordpress.com/2013/04/01/the-curious-health-problems-of-the-office-web-apps-server/
I enabled HTTP Activation for the WCF Services for the .Net Framework 4.5 on the OWA server. Since I'm running Server 2012, I needed to use the Features option on Server Configuration to get this working:
Did a reboot for good measure, now Get-OfficeWebAppsMachine shows Healthy!
Monday, May 06, 2013
Ironing out an SP2013 install
This might save you some time...or at least it'll save me time again when I forget all the things I did to get my 2013 install done!
I started with the AutoSPInstall script for 2013 - if you're unfamiliar with this do yourself the favor and get over to CodePlex and download a copy. It's a great timesaver. Apart from naming all of SP's databases with prefixes, it automates the install cycle...very helpful and repeatable!
But - once the install finished, I had some issues. My logs showed a batch of errors.
1) Certificate Validation Operation took 150003.361 milliseconds... error 8321. See the separate post for this. The fix was to set my company's proxy script in the registry for each of the SP Service accounts. If you get to that HKEY_USER key, you'll know which keys to update - or you can find some handy PowerShell out there to convert a SID to an account if you'd like. I just set this for everyone there, where it wasn't already set. I also set an entry in my server's Hosts file 127.0.0.1 crl.microsoft.com, followed by an ipconfig /flushdns - seemed the hosts entry did the trick.
Update 1/26/14: This link really works - follow the steps to export the SharePoint root certificate & import to your trusted root certs & you'll be good to go. http://support.microsoft.com/kb/2625048
2) Error 2548/2159 errors...for this, two fixes. 1) Whack the Search Service Application, delete the databases too, then redo the service. Then, add the Search Service account to the local administrators group...gets search working.
3) My favorite - killed myself on this and it was a real SharePoint d'oh moment...I was getting loads of 3355 connection timeout expired errors. Do yourself a favor and skip trying to fix the timeouts - the real issue was right there on my Hyper-V Manager console. The additions were out of date...yeah, put in the Hyper-V Integration Services DVD image, ran the AMD64 setup, rebooted, and no more 3355s.
I was getting these on another install - had the integration services already updated - the two changes I made were disabling named pipes on the SQL Server client configuration, and added the SP Farm account to the local admin group. I vote for the former as the fix.
4) Related to all of this was a real goofy "An exception occurred" message on my publishing sites. Once I got the Search Service working again, this error also went away.
Hope this helps you...
I started with the AutoSPInstall script for 2013 - if you're unfamiliar with this do yourself the favor and get over to CodePlex and download a copy. It's a great timesaver. Apart from naming all of SP's databases with prefixes, it automates the install cycle...very helpful and repeatable!
But - once the install finished, I had some issues. My logs showed a batch of errors.
1) Certificate Validation Operation took 150003.361 milliseconds... error 8321. See the separate post for this. The fix was to set my company's proxy script in the registry for each of the SP Service accounts. If you get to that HKEY_USER key, you'll know which keys to update - or you can find some handy PowerShell out there to convert a SID to an account if you'd like. I just set this for everyone there, where it wasn't already set. I also set an entry in my server's Hosts file 127.0.0.1 crl.microsoft.com, followed by an ipconfig /flushdns - seemed the hosts entry did the trick.
Update 1/26/14: This link really works - follow the steps to export the SharePoint root certificate & import to your trusted root certs & you'll be good to go. http://support.microsoft.com/kb/2625048
2) Error 2548/2159 errors...for this, two fixes. 1) Whack the Search Service Application, delete the databases too, then redo the service. Then, add the Search Service account to the local administrators group...gets search working.
3) My favorite - killed myself on this and it was a real SharePoint d'oh moment...I was getting loads of 3355 connection timeout expired errors. Do yourself a favor and skip trying to fix the timeouts - the real issue was right there on my Hyper-V Manager console. The additions were out of date...yeah, put in the Hyper-V Integration Services DVD image, ran the AMD64 setup, rebooted, and no more 3355s.
I was getting these on another install - had the integration services already updated - the two changes I made were disabling named pipes on the SQL Server client configuration, and added the SP Farm account to the local admin group. I vote for the former as the fix.
4) Related to all of this was a real goofy "An exception occurred" message on my publishing sites. Once I got the Search Service working again, this error also went away.
Hope this helps you...
Thursday, April 18, 2013
We don't need no stinkin Task Outcomes!
Ah, au contraire, yes you do. I had one of those SharePoint WTF challenges today. I'm building out a SharePoint Designer workflow against a custom list in a custom web template. I know what you're thinking, and I thought the same, but it wasn't the case!
What was going on was, in my workflow, I have a standard approval task. Clicking on the task in Designer opens the page where I can modify the properties of the task, like its name, allow reassignment, that sort of thing. It's also the page where I can define the outcomes of the task - Approved, Rejected, or custom items like Wait Til Next Year or In Your Dreams for those vacation request denials.
Problem is, when I open the page, there were no task outcomes defined...and worse, when I clicked the "New.." button or "New Outcome" on the ribbon, nothing happened, nada:
Not pretty, is it? I did verify the same workflow worked fine with an OOTB site definition, so my first approach was to look at the web template definition and list definition, and yeah there were a few things wrong...but that didn't fix this issue. Redeployed the web template, IISRESETted, rebooted, still No Task Outcomes.
The Solution
I've decided to make the solutions succinct and clearly findable - so you Dear Reader can skip all of the fluff above and get your workflow deployed so you can get home and relax.
Go to Site Settings and in Site Collection Features, deactivate all workflow related features; then go back and re-active those feature.
Worked for me twice, the third side I had really screwed up and got an error that a list "wfpub" in my web was already created so I couldn't activate the workflow features again, so it goes.
Have a slice for me!
What was going on was, in my workflow, I have a standard approval task. Clicking on the task in Designer opens the page where I can modify the properties of the task, like its name, allow reassignment, that sort of thing. It's also the page where I can define the outcomes of the task - Approved, Rejected, or custom items like Wait Til Next Year or In Your Dreams for those vacation request denials.
Problem is, when I open the page, there were no task outcomes defined...and worse, when I clicked the "New.." button or "New Outcome" on the ribbon, nothing happened, nada:
Not pretty, is it? I did verify the same workflow worked fine with an OOTB site definition, so my first approach was to look at the web template definition and list definition, and yeah there were a few things wrong...but that didn't fix this issue. Redeployed the web template, IISRESETted, rebooted, still No Task Outcomes.
The Solution
I've decided to make the solutions succinct and clearly findable - so you Dear Reader can skip all of the fluff above and get your workflow deployed so you can get home and relax.
Go to Site Settings and in Site Collection Features, deactivate all workflow related features; then go back and re-active those feature.
Worked for me twice, the third side I had really screwed up and got an error that a list "wfpub" in my web was already created so I couldn't activate the workflow features again, so it goes.
Have a slice for me!
Monday, March 25, 2013
CSOM in a CQWP
The post title explains it all! I've been trying to put together some dynamic web page content based on items in a SharePoint list, using JavaScript code inside a Content Query Web Part on one of my site pages. Shouldn't be so hard, right?
Well, turns out it isn't. Found a nice link here with some of the steps needed: http://techtrainingnotes.blogspot.com/2012/02/sharepoint-how-to-add-javascript-to.html - but with that code on my linked in JavaScript source file, the code still wasn't firing.
Here's what's needed. At the bottom of the code, add in the following:
function myJSfunction {
var clientContext = new SP.ClientContext.get_current();
}
function DelayUntilMyJSLoaded()
{
ExecuteOrDelayUntilScriptLoaded(myJSfunction, 'sp.js');
}
_spBodyOnLoadFunctionNames.push('DelayUntilMyJSLoaded');
What these lines will do is to call my function, but only when the function is ready to be called based on having the base 'sp.js' file loaded. If you do a view source on the hosting page, there toward the bottom you'll see something very similar.
Well, turns out it isn't. Found a nice link here with some of the steps needed: http://techtrainingnotes.blogspot.com/2012/02/sharepoint-how-to-add-javascript-to.html - but with that code on my linked in JavaScript source file, the code still wasn't firing.
Here's what's needed. At the bottom of the code, add in the following:
function myJSfunction {
var clientContext = new SP.ClientContext.get_current();
}
function DelayUntilMyJSLoaded()
{
ExecuteOrDelayUntilScriptLoaded(myJSfunction, 'sp.js');
}
_spBodyOnLoadFunctionNames.push('DelayUntilMyJSLoaded');
What these lines will do is to call my function, but only when the function is ready to be called based on having the base 'sp.js' file loaded. If you do a view source on the hosting page, there toward the bottom you'll see something very similar.
Tuesday, February 26, 2013
So that's what the Host-Only Adapter is used for! (Windows Phone SDK VM challenge)
Preparing for a talk this Saturday at Grand Rapids DevDays, I wanted to demo the new capabilities for mobile development with SharePoint 2013. The Visual Studio tooling (alas, sorry MS people, but I have one of those fruit company phones and I like it!) has a good story for Windows Phone, but for the rest of us? Another story - white paper forthcoming.
For Windows Phone development, here's the big kicker: can't use that Phone emulator virtualized. Nope, nada, nil, ixnay, no can do. The Windows 8 SDK requires hardware virtualization with SLAT support - great on physical iron but not virtual iron, so that's right out. With the Phone 7.1 SDK, same issue - first there's a big warning about not having a compatible GPU, then the phone emulator would continuously reboot to the OS and my app never came up.
So...this gets us to the point of this post, what's a virtualization developer to do? Ever notice in VirtualBox you have a bunch of choices for networking?
I've been using VirtualBox since I needed x64 support & Virtual-PC just couldn't do it...I've used NAT, Bridged, Internal Network...but Host-only adapter? What the heck is that for? Out of the box it has an IP address of 192.168.1.56, what good is that?
Well, turns out this is your way in from the host to your guest internal network. I assigned an IP in the range of my guests, assigned the guest DNS and default router, changed the VM's to use Host-only Adapter instead of Internal Network, and look at that, I'm in! The host is not part of my domain but no worries, I need to use Forms Based Authentication anyway for my mobile testing, so we're good to go.
The only other change is to add in entries to the Hosts file on the host for the DNS entries you'll need. I wasn't able to resolve the hosts values otherwise, and no farm in it.
I'm installing the SDK 8.0 now on my Windows 8 VM with Visual Studio 2012...got a feeling this will work, I'll let you know.
Update: Strike One. SDK 8.0 enables Hyper-V. Not a good thing for running VirtualBox VMs. And there can be only one hypervisor - if Hyper-V is enabled then VirtualBox can't run. Uninstalling SDK 8.0 and VS 2012, going back to VS2010 and let's hope SDK 7.1 behaves better.
Update: Strike Two and probably three...the good news is I can start up Visual Studio 2010, connect to my SharePoint guest VMs, get list data, prepare my app, but then when I start up the emulator - wham! There go the VMs. Seems the VS2010 Windows Phone Emulator is also using the same virtualization VirtualBox needs, and so it knocks out my VirtualBox VMs. I guess the answer will be to go to Hyper-V with the SDK 8.0 version, but I won't get to that til next week. Oh well!
For Windows Phone development, here's the big kicker: can't use that Phone emulator virtualized. Nope, nada, nil, ixnay, no can do. The Windows 8 SDK requires hardware virtualization with SLAT support - great on physical iron but not virtual iron, so that's right out. With the Phone 7.1 SDK, same issue - first there's a big warning about not having a compatible GPU, then the phone emulator would continuously reboot to the OS and my app never came up.
So...this gets us to the point of this post, what's a virtualization developer to do? Ever notice in VirtualBox you have a bunch of choices for networking?
I've been using VirtualBox since I needed x64 support & Virtual-PC just couldn't do it...I've used NAT, Bridged, Internal Network...but Host-only adapter? What the heck is that for? Out of the box it has an IP address of 192.168.1.56, what good is that?
Well, turns out this is your way in from the host to your guest internal network. I assigned an IP in the range of my guests, assigned the guest DNS and default router, changed the VM's to use Host-only Adapter instead of Internal Network, and look at that, I'm in! The host is not part of my domain but no worries, I need to use Forms Based Authentication anyway for my mobile testing, so we're good to go.
The only other change is to add in entries to the Hosts file on the host for the DNS entries you'll need. I wasn't able to resolve the hosts values otherwise, and no farm in it.
I'm installing the SDK 8.0 now on my Windows 8 VM with Visual Studio 2012...got a feeling this will work, I'll let you know.
Update: Strike One. SDK 8.0 enables Hyper-V. Not a good thing for running VirtualBox VMs. And there can be only one hypervisor - if Hyper-V is enabled then VirtualBox can't run. Uninstalling SDK 8.0 and VS 2012, going back to VS2010 and let's hope SDK 7.1 behaves better.
Update: Strike Two and probably three...the good news is I can start up Visual Studio 2010, connect to my SharePoint guest VMs, get list data, prepare my app, but then when I start up the emulator - wham! There go the VMs. Seems the VS2010 Windows Phone Emulator is also using the same virtualization VirtualBox needs, and so it knocks out my VirtualBox VMs. I guess the answer will be to go to Hyper-V with the SDK 8.0 version, but I won't get to that til next week. Oh well!
SharePoint Foundation 2013 Service Applications list
Below is a screen capture of the set of service applications available with SharePoint Foundation 2013:
Available in Foundation are:
Here the list is:
Plenty more when you enable Standard and Enterprise features, but I was trying to find out specifically what we get with Foundation.
Available in Foundation are:
- App Management Service - used for the new Apps feature set of SharePoint 2013
- Business Data Connectivity Service - get at that external data through external list definitions
- Secure Store Service - store credentials and other data centrally and with encryption
- Application Discovery and Load Balancer Service App - created with the farm
- Security Token Service Application - used for authentication.
Here the list is:
- App Management Service
- Business Data Connectivity Service
- Central Administration
- Claims to Windows Token Service
- Distributed Cache
- Lotus Notes Connector
- Microsoft SharePoint Foundation Incoming E-Mail
- Microsoft SharePoint Foundation Sandboxed Code Service
- Microsoft SharePoint Foundation Subscription Settings Service
- Microsoft SharePoint Foundation Web Application
- Microsoft SharePoint Foundation Workflow Timer Service
- Request Management
- Search Host Controller Service
- Search Query and Site Settings Service
- Secure Store Service
- SharePoint Server Search
Plenty more when you enable Standard and Enterprise features, but I was trying to find out specifically what we get with Foundation.
Friday, February 22, 2013
VirtualBox - SetHDUUID COM error
Quick tip in case you have the same issue. I use VirtualBox as my server virtualization tool - it's a bit nicer on the laptop than running Hyper-V, but that's a whole other discussion! With VirtualBox, when you set up a template VHD image, to use that image for a new virtual server, you need to assign a unique ID to the VHD image.
Usually, no problem. VirtualBox has two ways to do this, either the CloneHD command or a SetHDUUID command:
c:\program files\oracle\virtualbox\vboxmanage internalcommands sethduuid
So what's the problem? I had opened up a command prompt, entered in these commands, but got an error back that the VirtualBox COM server was not running:
VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execu
tion failed (extended info not available)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or
failed to start.
The solution? Since this is an admin sort of thing to do I had opened up the command prompt as administrator (Windows 8 - type in CMD, right click Command Prompt, choose Run as Administrator)...and apparently that was the wrong answer! Open up a regular ol' Command Prompt window and the command goes through just fine.
I'm sure this is a permissions issue - next slow rainy day I'll crack open ProcessMonitor and see exactly what VboxManage can't grab, but for now we're good to go.
Usually, no problem. VirtualBox has two ways to do this, either the CloneHD command or a SetHDUUID command:
c:\program files\oracle\virtualbox\vboxmanage internalcommands sethduuid
So what's the problem? I had opened up a command prompt, entered in these commands, but got an error back that the VirtualBox COM server was not running:
VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execu
tion failed (extended info not available)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or
failed to start.
The solution? Since this is an admin sort of thing to do I had opened up the command prompt as administrator (Windows 8 - type in CMD, right click Command Prompt, choose Run as Administrator)...and apparently that was the wrong answer! Open up a regular ol' Command Prompt window and the command goes through just fine.
I'm sure this is a permissions issue - next slow rainy day I'll crack open ProcessMonitor and see exactly what VboxManage can't grab, but for now we're good to go.
Monday, February 18, 2013
Test Lab Guides for SP2013
Looking for some help setting up your SharePoint 2013 environment? Microsoft's published a series of guides to walk you through the process of setting up a 3-tier farm, then once you have that done, you can configure Claims, Forms Based Authentication, setting up an intranet, and enabling social features:
Three-Tier Farm Configuration
SAML-based Claims Authentication with SharePoint 2013
Forms-Based Authentication
Intranet Collaboration with SP2013
Demonstrate Social Features for SP2013
Full details on the test lab guides:
http://social.technet.microsoft.com/wiki/contents/articles/12409.sharepoint-server-2013-test-lab.aspx
Setting up Forms-Based Authentication now to get my mobile development environment ready for demo!
Three-Tier Farm Configuration
SAML-based Claims Authentication with SharePoint 2013
Forms-Based Authentication
Intranet Collaboration with SP2013
Demonstrate Social Features for SP2013
Full details on the test lab guides:
http://social.technet.microsoft.com/wiki/contents/articles/12409.sharepoint-server-2013-test-lab.aspx
Setting up Forms-Based Authentication now to get my mobile development environment ready for demo!
Subscribe to:
Posts (Atom)

