Project Server and _All Publishes Failed
BY: Collin Quiring
This is an intriguing error that we encountered in Project Server 2013. After approving a task update in Project Web App Approvals page and then using the History – Status Updates to publish the schedule from PWA. And, we encountered an error that was new to us:
For those that can’t see the image, it says Message from webpage and then it says “_All publishes failed”
To be clear, there was ONE project and only ONE task update and only ONE item to publish. So, nothing else was causing this issue on this screen. HOWEVER, this issue is affecting ALL schedules. It was working one day and not the next and this was a clean Project Server 2013 installation and no updates/patches were done between the day it worked and the day it didn’t.
Curious English and underscore notwithstanding, this was an interesting message.
Being patient and trying a few more times later didn’t result in anything different.
We next went to Project Professional to see if we would get better results. We did not. But, we did get a slightly more informative error message.
For those that can’t read the image it says:
Job Type: Publish, Error ID 23007(0x59DF), Error An internal error occurred.
The full text from the text box is:
<detail><ServerExecutionFault xmlns=”http://Microsoft.Office.Project.Interfaces/” xmlns:i=”http://www.w3.org/2001/XMLSchema-instance“><Actor i:nil=”true”/><LastError>23007</LastError><Message/><Source/><StackTrace/><TargetSite i:nil=”true”/><ExceptionDetails><errinfo xmlns=””><general><class name=””><error id=”23007″ name=”ProjectPublishEnqueueFailure” uid=”88df3721-7d3b-e511-93f9-00155d803f01″ projectuid=”1cf8b35f-3e36-e511-93ff-00155d804301″/></class></general></errinfo></ExceptionDetails></ServerExecutionFault></detail>
After finding the error in MSDN, we discovered error 23007 was:
ProjectPublishEnqueueFailure = 23007
Failure of project publishing when being enqueued.
Going to the queue in PWA was more confusing because there were no errors at all. Everything, including this project, appeared with a “success”.
The key here is that the queue shows “Project Workflow Check-in”, “Project Checkin” and “Project Publish Notifications” as all completing in Success and 100% Complete. The files did successfully save without an error message. It was only the publish that failed.
For reference, when a schedule completes the publish cycle normally the messages in the queue look more like this:
The big difference is that when it works fine there is a “Project Publish” line item and some other sync lines that we do not see in our error issue.
Therefore, we decided that the reason we see success and no errors is that the project is not even getting to the queue to be processed. Hence the “enqueued” message perhaps? And, that eliminated the queue from being the place to resolve this issue.
We found something on the internet about a similar publishing issue where resources were assigned on summary task that was causing publishing errors (but they got an error message in the queue at least). We did not have any resources on summary tasks.
We found this little nugget on the internet: deactivate the “Project Web App Connectivity” then immediately re-enable it. No joy for us their either.
We ended up opening a support call with Microsoft and after they worked on it for a while we discovered that a new project (or a project without a SharePoint site) would publish the first time with no problem. And, it would create the SharePoint site. HOWEVER, as soon as the project is published again or otherwise updates to the SharePoint site, it would fail and get the error messages (and, not publish and so it would be back in the zombie zone of not quite being a real project that we could work with anymore).
The next thought was “is there custom code in the SharePoint site”? And, no, this was out of the box and no customizations of any kind. We removed and re-added SharePoint sites – it would work the first time but never again. So, we ran the logs in verbose mode and hit the error again to get a nice huge log to read!
The answer for us turned out to be permissions on the content database. Somehow, the content database permissions had been “disappeared”. They were not removed, because, technically they aren’t there. This is a deep in the code thing. When the content database is created/installed permissions are set that give ongoing rights to the database for the ProjectServerApplication to use the content database. This is not really a “user” that gets overt permissions.
So, we added the admin account as DB_Owner to the content database (saved, waited a while, tested the publish function and it worked). THEN, we removed the admin account as DB_Owner of the content database (saved, waited a while, tested the publish function and it worked). So, something somewhere in the deep dark recesses of the database was modified when we added the admin account (even though we removed it again) that allowed it to function again.
That was enough to fix everything! So, if you get this error, good luck to you and let us know what was your resolution if your solution wasn’t the same.