Sub-Project Creation using CSOM in project server 2013

Hi All,
We are able to create a project using CSOM,  we would like to create a sub project and template too, however we are unable to set the project type.
am I missing anything? Any pointer will be helpful.
Thanks in Advance,
Ritesh Gade

As of 12/30/2013, I don't see anything in the REST\CSOM that allows you to create a sub project off a top level project.  At the moment, you can't do this via Client APIs and must use Project\PWA to do it.  You can use this tool to find what
is supported:
http://sprest.architectingconnectedsystems.com/
Chris Givens CEO, Architecting Connected Systems
Blog Twitter

Similar Messages

  • Project server 2013 csom save and publish

    Hi,
    In Project server 2013 PWA when you edit project custom fields and save the queue job execute the following jobs: 
    - "Project Update from PSI"
    - "Project Publish Summary"
    - "Reporting (Project Publish Summary)"
    In my code (CSOM)  i can only use : " QueueJob Job = projChechedOut.Publish(true);"
    which is creating all these jobs:
    Project Update from PSI
    Project Publish Notifications
    Project Publish
    Project Checkin
    Prepare Project Web App Permission Synchronization For Projects
    Reporting (Project Publish)
    Project Workflow Check-in
    Synchronize Project Web App Permissions to Project Web App
    Synchronize Project Web App Permissions to Project Site
    Reporting (Project Sync)
    Is there way to "simulate" the save from PWA instead of fully publishing the project using CSOM,  because it is a lighter solution since my code is supposed to only set custom field value (if i only update, not publish it is written to the
    Draft) and secondly performance (less jobs) is better ?
    Thx in advance !!

    Hi,
    as an update to my post:
    - In PSI the method is project.queuepublishsummary(guid jobid, guid projuid)
    http://msdn.microsoft.com/en-us/library/office/gg200290.aspx
    the description says: Publishes the stage summaries of the specified project, in a partial publish operation.
    I am wondering if the equivalent method exists in CSOM. There is this method: PublishedProject.UpdateVisibilityCustomFields() but it seems doing exactly the same thing as publishing a DraftProject.
    Any ideas ?
    Thx

  • How to achieve multiple hirearcy structure using RBS feature in Project server 2013

    HI,
    How can we achieve multiple hirearcy structure using RBS feature in Project server 2013?
    The below is the screen shot of hirearcy.
    GM
    DGM
    AGM
    CM
    Officers
    There are different departments and one AM may handle 4 or more department. How to achieve this permission levels so that GM can see all departments officers created project, same with other levels
    Thanks,
    Sunitha

    Hi Sunitha,
    You could populate the RBS lookup table with 2 levels (department and sub department). Then configuring correctly your
    security categories based on the RBS, the resources in the 1st level (departments) will see projects from all theirs sub departments.
    Some more references:
    http://aboutmsproject.com/project-server-securitypart-1/
    http://ntrajkovski.com/2012/06/04/the-rbs-lookup-table-in-ms-project-server-2010/
    Hope this helps,
    Guillaume Rouyre, MBA, MVP, P-Seller |

  • Project Server 2013: I am using Project Server Permission Mode and need help with permission assignments?

    Hi 
    Project Server 2013: I am using Project Server Permission Mode and need help with permission assignments?
    How can I change Permissions for the individual users to see specific projects or all projects in project center and to see specific quick launch items?
    For Example: if i have 4 users, A, B, C and D. what i want is:
    User A can see everything and act as a project manager or Admin.
    User B can view all projects in project centre but can change the schedule or resource assignment etc.
    User C can only act as approver of projects and can view all projects in project centre.
    User D can only view specific projects for which permissions are given.
    can i have some expert help in sorting and understanding permission modes... as i was playing with project server mode permissions and can't figure out how to apply the above scenario to set of my user.
    Thanks in Advance
    Cheers
    AJ
    Ajay Kumar

    Hi Ajay,
    Please refer to this link for detailed explanations about PS2013 security model. 
    http://technet.microsoft.com/en-us/library/cc197638(v=office.15).aspx
    Actually, it will take a couple of days to explain in detail the security model that is a fundamental and tricky aspect of every PS implementation. But basically, you NEVER set permissions for a single user. You have groups in which your insert users. Groups
    define "what users can do". Then you associate groups to a corresponding category. Categories define "what user can see". Thus the association of a group with a category will set "what the user can do on the objects he can see". Then, for more advanced security
    level, you can use the RBS that will consist in "branches" in which you'll insert users. Based on those branches, you'll customize categories to fine-tune what user can see (for projects and resources) depending on the RBS branch and level.
    I'd advice you to start "playing" in a test environment with the default categories/groups that might probably cover your need.
    Concerning your 4 users:
    user A : add him to the "administrator" group. Be careful that you're mentionning either project manager or administrator, which are 2 groups/categories with totally different permissions level.
    user B : basically can see everything and change everything? it could be in the project manager group, assuming that there are no project visibility restrictions on the category via the RBS.
    user C : waht do you mean by "approver"? Workflow approvals? Then it will be the portfolio manager group. Task update or timesheet approval? Then it is another long topic: please refer in the documentation to the "status manager" and "timesheet manager"
    concepts. There are not related to the security model. In a few words, the status manager is the owner of the project plan, is defined for each task and approves tasks updates. The timesheet manager is an attribute defined for each resource in its parameters
    and approves resource timesheet.
    user D : you have to define which permission level must be given to this user. Basically it could be a team member that will see only projects he's in the project team. Note that team member cannot interact with the project plan in another way than submitting
    timesheets and/or tasks updates which must be approved.
    Once more, those are large and complex subjects that require a deep dive into your business model and tons of tests in a test environment.
    Hope this helps.
    Guillaume Rouyre - MBA, MCP, MCTS

  • Project Server 2013 licenses in use

    Is there any way to retrieve the exact number of PWA and Project Pro licenses in use for a Project Server 2013 instance?
    In older versions you had the 'About Project Server' page and for 2010 there was a SQL script. But this script does not work for Project Server 2013.

    Thank you Paul! That query works just fine.
    I reworked it a bit to suit my needs: take into account DENY and the fact that a PWA CAL is included in the Project Pro license.
    My query to list the licenses in use is below:
    SELECT
    PERM.Username,
    CASE WHEN PERM.LogonProDeny = 1 THEN 0 ELSE PERM.LogonProAllow END AS [ProLicense],
    CASE WHEN PERM.LogonPwaDeny = 1 THEN 0 ELSE
    CASE WHEN PERM.LogonProDeny = 0 AND PERM.LogonProAllow = 1 THEN 0 ELSE PERM.LogonPwaAllow
    END
    END AS [PwaCal]
    FROM (SELECT
    RES.RES_NAME as Username,
    MAX(LOGON_PRO.WSEC_ALLOW+0) AS LogonProAllow,
    MAX(LOGON_PRO.WSEC_DENY+0) AS LogonProDeny,
    MAX(LOGON_PWA.WSEC_ALLOW+0) AS LogonPwaAllow,
    MAX(LOGON_PWA.WSEC_DENY+0) AS LogonPwaDeny,
    CASE WHEN RES.RES_TYPE > 100 THEN 0 ELSE 1 END AS UserIsActive
    FROM pub.MSP_RESOURCES AS RES WITH (NOLOCK)
    INNER JOIN pub.MSP_WEB_SECURITY_CLAIMS AS SC WITH (NOLOCK) ON SC.ENCODED_CLAIM = RES.WRES_ACCOUNT
    LEFT JOIN pub.MSP_WEB_SECURITY_GROUP_MEMBERS AS GM WITH (NOLOCK) ON GM.WRES_GUID = sc.SECURITY_GUID
    LEFT JOIN pub.MSP_WEB_SECURITY_SP_CAT_RELATIONS AS CR WITH (NOLOCK) ON CR.WSEC_SP_GUID = GM.WSEC_GRP_GUID AND CR.WSEC_CAT_UID IS NULL
    LEFT JOIN pub.MSP_WEB_SECURITY_SP_CAT_PERMISSIONS AS LOGON_PRO WITH (NOLOCK) ON LOGON_PRO.WSEC_REL_UID = CR.WSEC_REL_UID AND LOGON_PRO.WSEC_FEA_ACT_UID = 'D2F88263-31C5-4FF5-BEAE-B98B26C5C116'
    LEFT JOIN pub.MSP_WEB_SECURITY_SP_CAT_PERMISSIONS AS LOGON_PWA WITH (NOLOCK) ON LOGON_PWA.WSEC_REL_UID = CR.WSEC_REL_UID AND LOGON_PWA.WSEC_FEA_ACT_UID = '7C40A2C2-FD15-44E3-8FD3-11B3E0A4E441'
    WHERE RES.RES_TYPE IN (1,2,101,102)
    GROUP BY RES.RES_NAME, RES.RES_TYPE
    ) PERM
    WHERE PERM.UserIsActive = 1

  • Pull large amounts of data using odata, client API and so takes a long time in project server 2013

    We are trying to pull large amounts of data in project server 2013 using both client API and odata calls, but it seem to take a long time. How is this done
    In project server 2010 we did this creating SQL views in both the reporting database and for list creating a view in the content database. Our IT dept is saying we can't do this anymore. How does a view in Project database or content database create issues?
    As long as we don't add a field in the table. So how's one to do this with creating a view?

    Hello,
    If you are using Project Server 2013 on premise I would recommend using T-SQL against the dbo. schema in the Project Web Database for your reports, this will be far quicker that the APIs. You can create custom objects in the dbo. schema, see the link below:
    https://msdn.microsoft.com/en-us/library/office/ee767687.aspx#pj15_Architecture_DAL
    It is not supported to query the SharePoint content database directly with T-SQL or add any custom objects to the content database.
    Paul
    Paul Mather | Twitter |
    http://pwmather.wordpress.com | CPS |
    MVP | Downloads

  • Error using Line Classifications in Project Server 2013 Timesheets

    Background:
    I'm working on a Project Server 2013 environment that is using Timesheet Line Classifications. In our environment we are not utilizing the Standard Classification but, we are instead using Billable Onsite, Billable Offsite and Nonbillable.
    Issue:
    If I have created a timesheet, then I am assigned an additional task and try to add the task to my timesheet using a Line Classification other than standard, I get an error pop-up. As long as I add the Standard line classification first, everything
    works fine. If I delete and recreate the timesheet it prepopulates the standard tasks which also resolves the issue.
    Questions:
    1.) Has anyone else ran across this issue and have a fix?  
    2.) Is anyone aware of a product fix in a CU or Hotfix to resolve this issue?
    Thanks,
    Dustin

    Dustin - as I understand it Timesheet Line Classifications allow you to
    "Duplicate" Timesheet lines for business purposes or accounting reasons. When I first saw this explanation I was at a loss as to the benefit or purpose of this feature, fortunately I work with some smart customers and they soon opened my eyes to the
    potential of this feature.
    The operative word in the description is "Duplicate". Additional Timesheet line classifications are available but
    not in lieu of the Standard Line Classification. As you have experienced if the "Standard" line is added to a Timesheet then an associated Duplicate Line Classification for the same task can be
    added to the Timesheet.
    To realise your requirement you might just decide what type of work is it you do that is most prevalent and regard that as being "Standard" and then use other line classifications to identify other Billable time - Non Billable Time reporting in a Timesheet
    is available by default if it is enabled in Timesheet Settings and Defaults.
    As an alternative do your Timesheet compilers decide the classification of the work they are booking time to?
    You could consider Task Custom Fields using a lookup table to denote whether work is on-site or off-site with the Calculation for Assignment Rows option set to "Rolldown unless manually specified" - this will associate the task field value with the associated
    Assignment. Using Task level fields set by whoever creates the project plan would remove the responsibility for differentiating the work "type" for your Timesheet users.
    The querying and reporting of the different classifications of work as recorded in Timesheets would then be possible by virtue of the task field.
    Dominic Moss | MAPM Microsoft Certified Technology Specialist | Our Newsletter:
    PM News Project Server Specialists
    Project Server PRIME | Twitter:
    @Twitter | Facebook:
    @Facebook | Linkedin:
    Wellingtone

  • Using oDATA for BI in Project Server 2013

    Hi gang,
    I am looking to create a BI report that I was able to do quite readily in previous versions of Project Server.  I'm trying to create a graph that simply plots resource capacity and work as measures over time, with the resource roles as a filter. 
    That is it, no more no less. Using Project Server 2013 ON-LINE.
    I have successfully connected to the tables using the Data Connection Wizard in Excel to do this.  Seems that these are 3 tables I need to get to the data I need--Resource, ResourceTimephasedData, and ResourceTimephasedData.  
    Fact of the matter is, timephased data tables are causing very very very long delays in populating the Pivot Report that I am looking for.  This a fairly new system with hardly any resource and project data in it yet.  This approach does not seem
    user friendly either.  I found it much easier in previous versions.  If I do recall, all my data is in one table before.
    I am wondering if I am approaching this in the wrong way.  Is there another way I should be looking at to get to my data and ultimately my graph?
    \Spiro Theopoulos PMP, MCITP. Montreal, QC (Canada)

    Hello,
    Unfortunately not, OData if the way forward for reporting in Project Online. Is this still slow for you? When you do get more data in the system I would definitely recommend filtering this as much as possible at the source before Excel etc.
    Paul
    Paul Mather | Twitter |
    http://pwmather.wordpress.com | CPS

  • Project Server 2013 Ribbon Customization using a custom action

    Is it possible to customize the ribbon in the Project Center through a Solution? Is the only way to add a button to the Ribbon through an app?
    I am using Project Server 2013 on Prem and every time I deploy a custom action - button to the ribbon in the Project Center the button becomes greyed out/disabled and says "This control is currently disabled." I haven't been able to find any examples
    of how to do this in Project Server 2013 using a solution.
    Here is the custom action, I have tried with and without the EnableScript attribute but nothing seems to work:
    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction Id="Ribbon.Library.Actions.AddAButton"
    Location="CommandUI.Ribbon">
    <CommandUIExtension>
    <CommandUIDefinitions>
    <CommandUIDefinition
    Location="Ribbon.ContextualTabs.ProjectCenter.Home.Editing.Controls._children">
    <Button
    Id="Ribbon.Library.Share.NewRibbonButton"
    Command="NewRibbonButtonCommand"
    Image16by16="http://s10.postimage.org/lhar0oijp/U16.png"
    Image32by32="http://s17.postimage.org/trf3y2ui3/U32.png"
    LabelText="UniqueId"
    ToolTipTitle="UniqueId Displayer"
    ToolTipDescription="Displays UniqueId for the list item."
    TemplateAlias="o2" />
    </CommandUIDefinition>
    </CommandUIDefinitions>
    <CommandUIHandlers>
    <CommandUIHandler
    EnabledScript="javascript: function ReturnTrue() { return true; } ReturnTrue();"
    Command="NewRibbonButtonCommand"
    CommandAction="javascript:alert('Hello, world');" />
    </CommandUIHandlers>
    </CommandUIExtension>
    </CustomAction>
    </Elements>

    Hello,
    You can add a new button using a SharePoint feature or via an app. If you haven't see the links below already, take a look. These are for 2010 but would be very similar for 2013:
    http://msdn.microsoft.com/en-us/library/office/gg549101(v=office.14).aspx
    http://msdn.microsoft.com/en-us/library/office/ff535984(v=office.14).aspx
    http://blogs.msdn.com/b/project_programmability/archive/2011/04/08/trials-and-tribulations-in-customizing-the-project-center-ribbon.aspx
    http://epmsource.com/2012/01/26/adding-print-capabilities-to-project-detail-pages/
    http://epmsource.com/2011/12/07/hiding-disabling-ribbon-items-in-project-server-part-i/
    http://epmsource.com/2011/12/13/hiding-disabling-ribbon-items-in-project-server-part-ii/
    http://msdn.microsoft.com/en-us/library/office/jj873844(v=office.15).aspx#pj15_StatusingApp_ribbon
    Follow
    some of those example to get those buttons working / hiding then modify your code.
    Paul
    Paul Mather | Twitter |
    http://pwmather.wordpress.com | CPS

  • Workflow status web part gives error when going back to previous stage (using GO TO) in Project Server 2013 workflow

    Hi,
    Workflow status web part gives error when going back to previous stage (using GO TO) transition activity  in Project Server 2013 workflow.
    Please guide how to create a workflow which restarts from a desired stage.

    Thanks for your prompt reply....
    It gives following error
    Workflow Status
    This Web Part was unable to load.
    Information that may be useful in solving this problem was written to the Unified Logging Service (ULS) log on the Project Web App with the following ID: e95a9c9c-1f68-90d7-0a3e-5951df70fec6
    For more information, contact your Project Web App administrator.
    what do you mean to restart the Project Server 2013 with different project name, please elaborate....

  • Using multiple resource cost rates in Project Server 2013

    Greetings,
    We use Project Server 2013 to manage resources that often perform multiple roles within projects and also have different rates between projects. The Standard Rate from the user's profile is somewhat helpful but, as we all know, it carries over to every
    project that the resource is part of.
    I have tried opening Project Professional 2013 and using the additional Cost tabs in the user's information to enter different rates in tabs, B, C, D and E (tab A is the default Standard Rate from Project Server).
    My experience has been that as soon as I close and check in the project file, this data disappears. Next time I open the file the default rate is available but tabs B-E are blank. This behavior does not occur if I open a stand-alone project
    file not connected to Project Server. 
    I realize that Project is not meant to be a financial management tool and has its limitations but I'm looking for suggestions and would appreciate any feedback.
    Thanks
    Ray

    Dale is right in that an Enterprise Resource can only have its rates (or any details) set by the administrator. Unfortunately you are limited to 5 rates (A-E).
    I have done a macro for a client that reads rates for a resource for a project from a database (or Excel) every time the project is opened. So you see the correct rates and calculated costs.
    These rates get over-written next time you open the project, hence the need for the macro to update rates every time the project is opened.
    Another option in the macro is to zero the rates so a copy can be emailed to clients etc without sensitive rates data.
    Rod Gill
    Author of the one and only Project VBA Book
    www.project-systems.co.nz

  • Error while creating a Timesheet - Project Server 2013

    Hi everyone,
    One of user of PWA encounters an issue when he tries to create a timesheet. This error only occurs with a timesheet of
    a specific period, he can create all the other timesheet.
    So, when he creates the timesheet, this error occurs : "The timesheet creation failed, because of problems with Project Web App or with data validations"
    After reloaded the list of the timesheets, a link to go to the specific timesheet
    is available but if we click on it, we have this error :
    "View Failue - The view failed to load"
    I think , this error occurs
    because the timesheet is not realy existing even if we have a link to it.
    In the log (full log at the end), I've got this error :
    Exception occured in method 'TimeSheet.CreateTimesheet' System.ArgumentException: These columns don't currently have unique values.
    I've found this link with the same kind of problem :
    http://social.technet.microsoft.com/Forums/projectserver/en-US/b0a92afc-11fc-40ef-9a44-357d953b31f6/unable-to-open-or-create-timesheets-these-columns-dont-currently-have-unique-values?forum=projectserver2010general but I've checked and published all the
    user project but still have the error.
    Have you got any idea where are these columns ? How can I found them without checked every project of PWA ?
    Thanks,
    Patmol
    Full logs, for information :
    [bucketHash:E3B9DED0] Exception occured in method 'TimeSheet.CreateTimesheet' System.ArgumentException: These columns don't currently have unique values. at System.Data.ConstraintCollection.AddUniqueConstraint(UniqueConstraint constraint) at System.Data.ConstraintCollection.Add(Constraint constraint, Boolean addUniqueWhenAddingForeign) at System.Data.DataTable.set_PrimaryKey(DataColumn[] value) at Microsoft.Office.Project.Server.DataAccessLayer.Generated.TimesheetDalBase.ReadCustomFieldsForAssignments(ISet`1 assignmentUids) at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.ImportCustomFields(HashSet`1 assignmentUids) at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.ImportActualsAndCustomFields(IEnumerable`1 assignmentUids, ISet`1 userImported) at Microsoft.Office.Project.Server.BusinessLayer.TimesheetLoaderForGrid.Load() at Microsoft.Office.Project.Server.BusinessLayer.TimeSheet.CreateTimesheet(TimesheetDataSet dsDelta, PreloadType preloadType) at Microsoft.Office.Project.Server.Wcf.Implementation.TimeSheetImpl.<>c__DisplayClass45.<CreateTimesheet>b__44() at Microsoft.Office.Project.Server.Wcf.Implementation.WcfMethodInvocation.InvokeBusinessObjectMethod(String businessObjectName, String methodName, IEnumerable`1 actions) StackTrace: at Microsoft.Office.Project.Server.Native.dll: (sig=6ea170d1-988e-4153-9f1d-0305c0ea0309|2|microsoft.office.project.server.native.pdb, offset=3C1E) at Microsoft.Office.Project.Server.Native.dll: (offset=1255D)
    Watson bucket parameters: Microsoft Project Server 2013, ULSException14, 070f6ea0 "project server", 0f0011db "15.0.4571.0", ea364808 "system.data", 0400766f "4.0.30319.0", 52310bef "thu sep 12 02:33:51 2013", 00000e02 "00000e02", 00000020 "00000020", 44395864 "argumentexception", 00101621 "aeby7"
    Error is: GeneralUnhandledException. Details: General Unhandled Exception in _TimeSheet.CreateTimesheet_ Attributes: System.ArgumentException: These columns don't currently have unique values. at System.Data.ConstraintCollection.AddUniqueConstraint(UniqueConstraint constraint) at System.Data.ConstraintCollection.Add(Constraint constraint, Boolean addUniqueWhenAddingForeign) at System.Data.DataTable.set_PrimaryKey(DataColumn[] value) at Microsoft.Office.Project.Server.DataAccessLayer.Generated.TimesheetDalBase.ReadCustomFieldsForAssignments(ISet`1 assignmentUids) at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.ImportCustomFields(HashSet`1 assignmentUids) at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.ImportActualsAndCustomFields(IEnumerable`1 assignmentUids, ISet`1 userImported) at Microsoft.Office.Project.Server.BusinessLayer.TimesheetLoaderForGrid.Load() at Microsoft.Office.Project.Server.BusinessLayer.TimeSheet.CreateTimesheet(TimesheetDataSet dsDelta, PreloadType preloadType) at Microsoft.Office.Project.Server.Wcf.Implementation.TimeSheetImpl.<>c__DisplayClass45.<CreateTimesheet>b__44() at Microsoft.Office.Project.Server.Wcf.Implementation.WcfMethodInvocation.InvokeBusinessObjectMethod(String businessObjectName, String methodName, IEnumerable`1 actions) . Standard Information: PSI Entry Point: Project User: i:0#.w|wavenet\cev Correlation Id: 9709e41b-9a18-e411-941e-00155d029b05 PWA Site URL: http://intranet.wavenet.lan/PWA SA Name: Project Server Application PSError: GeneralUnhandledException (42), LogLeve...

    Hi Patmol,
    Have you tried to go to the previous or next timesheet and then navigate with the "previous period" or "next period" to the timesheet in question.
    Also have you tried to open it using a delegation session?
    Hope this helps,
    Guillaume Rouyre, MBA, MCP, MCTS |

  • Publication of the big-sized Enterprise projects from Project Professional 2013 to Project Server 2013 takes about 60+ minutes.

    Dear Sirs,
    I need your support over the following MS EPM 2013 issue:
    Publication of the big-sized Enterprise projects from Project Professional 2013 to Project Server 2013 takes about 30+ minutes. We
    need to reduce this total publication time down to acceptable working values 10+- minutes.
    Environment information:
    Single App Server (Virtual): 16 Gb RAM, x64 4xCPU, HDD > 50 GB free disk space, OS Windows Server 2012 Standard Edition x64 Service
    Pack 1, MS SharePoint Server 2013 and MS Project Server 2013 with CU December 2013 (KB 2850024) applied.
    Single RDBMS MS SQL Server (Virtual): 8 Gb RAM, x64 4xCPU, HDD > 200 GB free space, OS Windows Server 2012 Standard Edition x64 Service
    Pack 1, MS SQL Server 2012 x64 SP 1 Enterprise Edition.
    We have 1Gbit LAN between APP, DB server and 1Gbit LAN between APP and Proj Prof Client.
    Yes, we are on the way of migrating to the Prod environment
    with 3-tiered architecture (with SP1 slipstream and CU December 2014 applied), but this issue also
    presents there.
    Project’s file information:
    Tasks in the file: [~4900], resources in the file [~396] enterprise task’s custom fields used in the file [~23].
    Project save procedure for this new project would last about 7 minutes. Project publication would last about 47 minutes. We noticed that
    tasks synchronization process took about 1 second for each ~2,5 tasks, to add them to the sharepoint tasks list. So for all 5148 tasks it took about 5148/3/60 =  34 minutes. Other 13 min was used for reporting database publication and other tasks relevant
    for new sharepoint site creation.
    Case 1: Issue description:
    During the Enterprise project’s file save and publication we have the following sharepoint 2013 log messages:
    07.31.2014 12:43:17.22 Microsoft.Office.Project.Server (0x0358) 0x3D5C SharePoint Foundation Monitoring b4ly High Leaving Monitored Scope
    (Persisting list changes). performing time =376.068676326181 22dca99c-4696-70f1-e9e2-06851d0bcffd
    07.31.2014 12:43:17.69 Microsoft.Office.Project.Server (0x0358) 0x3D5C SharePoint Foundation Monitoring b4ly High Leaving Monitored Scope
    (Persisting list changes). performing time =361.652807828928 22dca99c-4696-70f1-e9e2-06851d0bcffd
    It shows that sharepoint spend at least ~350 milliseconds (or 0,35 sec*4900 tasks = 1715 sec, or 28,5 min) for each task update during
    project publication. And we also have another log file that shows that about 0,7 sec (or 0,7 sec*4900 tasks = 3430 sec, or 57 min) sharepoint spend for save each task in project file to project server. So total save and publication time more then 60+ minutes
    for that project file. The same result we have even if user didn’t do any changes at the project file.
    We use only enterprise projects (dbo.MSP_EpmProject_UserView.projectvisibilitymode = «False»), and do not use sharepoint tasks lists,
    but the synchronization between MSP Plan and SharePoint tasks list works at any case.
    Case 2: Issue description:
    - For the second test we created a new project with new sharepoint project’s site on basis of our «issue» project, with total amount
    of tasks in it of 5148 (yes, we increased the tasks list default limit at the sharepoint site up to 6000 items in it – standard limits for sharepoint view list – 5000 items).
    - Project save procedure for this new project would last about 7 minutes. Project publication would last about 47 minutes. We noticed
    that tasks synchronization process took about 1 second for each ~2,5 tasks, to add them to the sharepoint tasks list. So for all 5148 tasks it took about 5148/3/60 =  34 minutes. Other 13 min was used for reporting database publication and other tasks
    relevant for new sharepoint site creation.
    -Then we deleted the
    tasks list for that new test project from the sharepoint site and republish the project plan one more time. This time project save procedure took about 7 minutes, project publication about 2 minutes and 3 minutes for other relevant queue jobs. So total time
    is 12 minutes.
    As a conclusion: yes, we have determined
    the exact problem - during synchronization process (from Project Server to SharePoint) it perform copying all tasks and related data from Project to SharePoint in spite of fact that you changed only ONE task or ALL of them. At any case, synchronization will
    copy ALL of them from Project Server to SharePOint task’s list.
    Our workaround is to disable the task’s synchronization for such big-sized project plans:
    – to delete the SharePoint «tasks» list at the SharePoint site tied with project plan.
    - or deattach the SharePoint site from the project plan.
    Thank you for reading this topic, please if you also forced with such issue provide us any known workaround or maybe any official response
    \ feedback from MS about it.
    Thank you in advance,
    Best Regards, Andrey

    Regarding my topic, I also said that every time when sync works it updates All items from project’s plan at Project Server to corresponded task’s list at SharePOint server. Inspire of the fact that you changed only One task or group /
    all of them at your project’s plan.
    And it seems to me and my colleagues that it’s probably (maybe) a “bug” at the product. Here is what we have if looked a little bit closer to the code:
    Share Point determines what task to sync from Project’s plan to sharepoint list. To do that sharepoint needs to know was that task changed or not, based on the following fileds (check SQL stored procedure “[MSP_READ_TASKS_FOR_SYNCRONIZATION]”):
    TASK_UID    TASK_NAME    TASK_START_DATE    TASK_FINISH_DATE    TASK_PCT_COMP    TASK_PARENT_UID    TASK_OUTLINE_NUM   
    WSS_LISTITEM_UID   TASK_ID    TASK_IS_ACTIVE
    We noticed that at any case synchronization performs for all tasks, EXCEPT the ROOT one. Then we looked at the comparison of TASK_PARENT_UID field. So sharepoint compares TASK_PARENT_UID with ParentID (this is internal name for lookup
    field “Tasks” at the Sharepoint, and it stores their values at the format "ID;#Title").
    And comparison performs like following:
    SharePoint looks for Task at the Tasks’s list corresponded to Project’s plan with ID represented at the TASK_PARENT_UID field. Then it takes SharePoint ListItem ID (“int” type) and store it to the “num” parameter;
    num = this.GetCachedListItemByUniqueId(listItem.ParentList, nullable.Value).ID;
       2.Then it compares “num” with task’s “ParentID” at SharePOint as follow with operator “!=”:
    ((SPItem) listItem)["ParentID"] != (System.ValueType) num
       3. If comparison was success (true) – then it tell us that values (at the Project’s plan for tasks) was changed, then it need to be synchronized. Corresponded Method setup “true” flag, and then returns it.
    The “bug” is that this expression at the Step 2 will always return “true”, because in fact it compares “string” (see above – that this is lookup field at SharePoint side)
    with “number”. For example if the parant task ID is “55”, then we get:
    "55;#Task 1" != 55
    And by the rules of .Net the “string” will never equal “number”
    Furthermore this is approved by the SharePoint logs:
    In that case we always get the note “Setting ParentID to” at the logs (we see it if turns on Verbose for “Project Server” -> “Sharepoint Integration” category).
    So at any case of publishing project’s plan we always get that note at the logs for tasks that have Parent task, and we have Parent for all of them EXCEPT the ROOT one, exact logs represented further:
    10/15/2014 02:37:32.26    Microsoft.Office.Project.Server (0x07D8)    0x06E8    Project Server    Sharepoint Integration    ado0d   
    Verbose    Setting ParentID to 1    bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.62    Microsoft.Office.Project.Server (0x07D8)    0x06E8   
    Project Server    Sharepoint Integration    ado0d    Verbose   
    Setting ParentID to 1    bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.63    Microsoft.Office.Project.Server (0x07D8)    0x06E8    Project Server   
    Sharepoint Integration    ado0d    Verbose   
    Setting ParentID to 1    bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.67    Microsoft.Office.Project.Server (0x07D8)    0x06E8    Project Server   
    Sharepoint Integration    ado0d    Verbose   
    Setting ParentID to 1    bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.69    Microsoft.Office.Project.Server (0x07D8)    0x06E8    Project Server   
    Sharepoint Integration    ado0d    Verbose   
    Setting ParentID to 5    bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d
    The following is the complete Method’s code from the corresponded reflector:
    private bool UpdateParentID(DataSet taskDS, DataRow row, SPListItem listItem, Dictionary<Guid, SPListItem> redoEntries)
    bool flag = false;
    int index = taskDS.Tables[0].DefaultView.Find((object) DataRowExtensions.Field<Guid>(row, "TASK_PARENT_UID"));
    if (index >= 0)
    Guid? nullable = DataRowExtensions.Field<Guid?>(taskDS.Tables[0].DefaultView[index].Row, "WSS_LISTITEM_UID");
    int num = -1;
    if (listItem.Fields.ContainsField("ParentID"))
    if (nullable.HasValue)
    try
    // STEP 1
    num = this.GetCachedListItemByUniqueId(listItem.ParentList, nullable.Value).ID;
    catch (ArgumentException ex)
    if (redoEntries != null)
    if (!redoEntries.ContainsKey(DataRowExtensions.Field<Guid>(row, "TASK_UID")))
    redoEntries.Add(DataRowExtensions.Field<Guid>(row, "TASK_UID"), listItem);
    //STEP 2
    if (num != -1 && ((SPItem) listItem)["ParentID"] != (System.ValueType) num)
    ((SPItem) listItem)["ParentID"] = (object) num;
    ULS.SendTraceTag(845443U, (ULSCatBase) ULSCat.msoulscat_PS_ProjectSharepointIntegration, ULSTraceLevel.Verbose, "Setting ParentID to {0}", new object[1]
    ((SPItem) listItem)["ParentID"]
    //STEP 3
    flag = true;
    else if (((SPItem) listItem)["ParentID"] != null)
    ((SPItem) listItem)["ParentID"] = (object) null;
    ULS.SendTraceTag(2495056U, (ULSCatBase) ULSCat.msoulscat_PS_ProjectSharepointIntegration, ULSTraceLevel.Verbose, "Resetting ParentID to null");
    flag = true;
    return flag;
    Any thoughts about it would be much appreciated!

  • Project Server 2013 - After host header defined, WSSCreateSiteFailure

    after configuring webapplication and provisioning PWA (URL: http://<server_name>:<port>/pwa), i have extended the webapp to use host header and SSL protocol. now URL become something like this https://mycompany.com/pwa 
    if users access the site using this new URL, project site creation gives an error in queue as following. in ULS logs there is nothing useful as well. and if i open/publish the same project again, it gives me an error that project site is already in use.
    once point which may can makes a difference is that security certificate for above URL is yet to be configured, and due to this users are getting this certificate error in their browser while access site. could
    this be a cause?
    however if users use the site using the same old URL, project site get successfully created.
    any guesses?
    General
    CreateWssSiteContent: Creating project site failed! Project Uid=6b33f03d-b3af-e311-93fd-00155d01a359, site URL=https://epm/Projects/Project Site Teset, site name=Project Site Teset. :
    WSSCreateSiteFailure (16400). Details: id='16400' name='WSSCreateSiteFailure' uid='0809ce4e-b3af-e311-93fd-00155d01a359' projectUID='6b33f03d-b3af-e311-93fd-00155d01a359' workspaceUrl='https://epm/Projects/Project Site Teset' projectWorkspaceName='Project
    Site Teset'.
    Queue:
    GeneralQueueJobFailed (26000) - CreateWssSite.CreateWssSiteMessage. Details: id='26000' name='GeneralQueueJobFailed' uid='0909ce4e-b3af-e311-93fd-00155d01a359' JobUID='df8efb43-b3af-e311-93fd-00155d01a359' ComputerName='191cfefc-7d92-4801-a9d5-37d90cb6465e'
    GroupType='CreateWssSite' MessageType='CreateWssSiteMessage' MessageId='1' Stage='' CorrelationUID='1fe97e9c-2dfa-d087-6465-e3809f2d856d'. For more details, check the ULS logs on machine
    191cfefc-7d92-4801-a9d5-37d90cb6465e for entries with JobUID
    df8efb43-b3af-e311-93fd-00155d01a359. 
    Khurram Jamshed - MBA, PMP, MCTS, MCITP (
    Blog, Twitter, Linkedin )
    If you found this post helpful, please “Vote as Helpful”. If it answered your question, please “Mark as Answer”.

    Hey Paul, good to see you mate :)
    and yea i think now we are hitting more on the target.
    patch level is 0, its a RTM version without any update. and applying any kind of patch is also not easily possible, because its one server hosting a very complex and huge SharePoint portal as well. 
    with your clue, i have got Brian's blog related to this exact issue: http://blogs.technet.com/b/projectsupport/archive/2013/01/10/project-server-2013-project-sites-alternate-access-mapping-and-themes.aspx
    here he has mentioned a workaround until we apply patch, and also quoted it as a good way of configuring.
    From Brian's Blog:
    The first would be to use the fully qualified domain name (FQDN) as the Default zone Url, and then add an Internal
    Url to the same Default zone for the server name – http://Project2013/. 
    Another option would be to set the FQDN as the Default zone Url and then add the shorter version as the Intranet zone or Custom zone.  Either of these would mean that the strings wouldn’t get confused and the site would get created.
    now in my case, assuming machine name is: ServerA, and while creating webapplication which going to host PWA site i am defining required host header assuming: epm. 
    provisioning my PWA using this web app and defing PWA path as "Project" because its a migrated site so i have to use the same name, and the URL i am going to get in the end would be: http://epm/project
    AAM is, default zone: http://<server>:<port> and intranet zone: http://epm
    is the above complying with the first option of Brian?
    Khurram Jamshed - MBA, PMP, MCTS, MCITP (
    Blog, Twitter, Linkedin )
    If you found this post helpful, please “Vote as Helpful”. If it answered your question, please “Mark as Answer”.

  • Timesheet Error with custom Line Classifications in Project Server 2013

    We implemented Project Server 2013 last year and began using timesheets.  We are a billable consulting group.  In order manage our billing, we have created three custom line classifications, "Billable Onsite", "Billable Offsite",
    and "Non-billable".  We do not use "Standard" as a line where time is entered.  We are using SEM.  We have chosen no prepopulation on timesheets.  Our system is updated through the March 2013 update.
    The error we get is presented as "__error Loading" with the title bar of the pop-up reading "Message from webpage".  This occurs when you attempt to add a new line to a timesheet and choose one of the custom line classifications. 
    A confusing aspect to this, while we have prepopulation turned off, the timesheet is populated with "Standard" lines for the tasks that are currently assigned to the user.  We have come up with a workaround that works sometimes but not all the
    time.  When the user receives this error, they move away from the timesheet screen and then return.  They add all of the applicable lines to the timesheet with "Standard" even if they already exist on the timesheet and save.  Then
    they add the lines with the appropriate line classification and the time.  If they receive the "__error loading" error again, then the timesheet can not be corrected.  You must delete the timesheet and recreate.  We have been able
    to recreate the problem in a vanilla install with a custom line classification added.
    Just yesterday, I was able to find a error log entry that may help some of you identify the source:
    General Unhandled Exception in _TimeSheet.GetTimesheetForGridJsonFromViewUid_ Attributes:  System.ArgumentException: Assignment line already exists for assignment uid: d9afeb60-d589-e311-bd64-08edb9dd8afb     at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.VerifyLineIsUnique(Guid
    assignmentUid, Guid taskUid, Guid projectUid, Guid lineClassUid)    
    at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.CreateAssignmentLine(Guid assignmentUid, Guid taskUid, Guid projectUid, Guid lineClassUid, String taskName, String projectName)     at Microsoft.Office.Project.Server.BusinessLayer.TimesheetSEM.CreateAssignmentLine(Guid
    assignmentUid, Guid taskUid, Guid projectUid, Guid lineClassUid, String taskName, String projectName)     at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.AddTimesheetLine(Guid assignmentUid, Guid taskUid, Guid projectUid, Guid
    classUid, ValidationType validationType, Guid lineUid, String taskName, String projectName, String comment)     at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.ImportTimesheetLine(NewTask importedLine)    
    at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.<>c__DisplayClass4c.<AddNewLines>b__49(NewTask line)     at Microsoft.Office.Project.Server.Library.PSUtility.Apply[T](IEnumerable`1 enumerable, Action`1 fn)    
    at Microsoft.Office.Project.Server.BusinessLayer.Timesheet.AddNewLines(IEnumerable`1 newLines)     at Microsoft.Office.Project.Server.BusinessLayer.TimesheetSEM.AddNewLines(IEnumerable`1 newLines)     at Microsoft.Office.Project.Server.BusinessLayer.TimesheetLoaderForGrid.Load()    
    at Microsoft.Office.Project.Server.BusinessLayer.TimeSheet.GetTimesheetForGridJsonFromViewUid(JsGridSerializerArguments gridSerializerArgs, Guid tsUid, Guid viewUid, String changesJson, String viewOptionsJson)     at Microsoft.Office.Project.Server.Wcf.Implementation.PWAImpl.<>c__DisplayClass2f5.<TimeSheetGetTimesheetForGridJsonFromViewUid>b__2f4()    
    at Microsoft.Office.Project.Server.Wcf.Implementation.WcfMethodInvocation.InvokeBusinessObjectMethod(String businessObjectName, String methodName, IEnumerable`1 actions)  . Standard Information: PSI Entry Point:  Project User: i:0#.w|mayberry\nunderwood
    Correlation Id: 91c4ca27-6492-e311-93ff-00155d149902 PWA Site URL: XXX SA Name: Project Services Application PSError: GeneralUnhandledException (42), LogLevelManager Warning-ulsID:0x00101622 has no entities explicitly specified.
    We have not been able to find any similar timesheet issues here or on other boards.  Our users, as you can imagine, are getting increasingly frustrated.  A ny advice?
    Thanks,
    Nate

    More scenario testing today. Tested with both "No Prepopulation" and populate assigned task options! no difference in our instance. We are only updated through March 2013, waiting for IT support. We have previously tried the deactivation/reactivation
    of custom classifications. Tried with and without template, no difference. So the new scenario and findings:
    1. Create a project with 2 tasks, one assigned and one not. Save and publish.
    2. Create a timesheet, do not use an existing timesheet. Here we found, in spite of population option chosen, the timesheet was populated with a Standard line for the assigned task. With no action taken other than creating timesheet, the reporting assignment
    table showed the new entry.
    3. Add an assignment to the other task in the project, publish.
    4. Open the same timesheet period. Now I saw the other task appear on the screen. It did not show in the database. I could not save to make it appear in the database unless I did something else to the screen to make it "dirty". Once I did that,
    I could save and the second Standard line appeared In the database. 
    If I tried to add a custom line class line to the TS when the Standard line was not in the database, I get the error. It doesn't matter if it shows on the screen.
    If it shows on the screen but not in the db, and I attempt to add a non-standard line, it will error, unless I manually add the standard line first.  The user would not know to do this.
    You will not be able to reproduce if you make the assignments and then create the TS. You need to try in reverse order.
    It appears as though there are issues with both the timesheet population options and the code that runs when the TS loads after it's initial creation. I'm wondering why on creation the standard line is created and committed to the db, but on reload with
    new tasks it doesn't' do the same. Also when No Prepopulation is turned on, why my time sheets are always prepopulated.
    Sorry for any typos, working from my ipad keyboard. Thanks for your help!

  • Getting Project Site Provisioning Pop-up even after Operational Policies set as Do not create a sites in project server 2013.

    In Project server 2013, users are getting Project Site Provisioning Pop-up even after Operational Policies set as Do
    not create a sites. 
    We can use “Deny” Global Permission, “Manage SharePoint Foundation”, which controls Project site creation/ delete
    as temporary workaround however want to know is this know defect in Project server 2013? 
    Any suggestion would be highly appreciated.
    Thank you

    Hi Raushan,
    I can reproduce the same behaviour in my environment. It pops-up the dialog box when Project Site Provisioning settings set to 'Do Not Create' in the Central admin for the Project Web App.
    As you mentioned already you can control it via permissions as an work-around.
    Alternatively, you can also ask users to select the check box 'Don't show this again for this project'
    Cheers, Badal

Maybe you are looking for

  • Line item in WBSE report

    Hi Experts, There is an entry for a cost element in a WBSE for a project. I am able to see the same in the report S_ALR_87013570. However when I try to drill down on this expense item, I am unable to. The system message is - No line items were select

  • Kernel Panic, help please

    Well, I guess I have been rudely introduced to what the Mac community calls a "kernel panic". In Windows I would have called it a system crash. Every morning for the last 7 to 9 days, at trying to wake up my computer in the morning from sleep mode ov

  • Curly quotes that don't come through from Word

    Every now and then I get a Word file with a few quotes that come through to CS3 as accented characters instead of quotes. Anyone know why this happens? Download this zip file: http://www.pegtype.com/quotesdontwork.zip unzip it, and Place the Word fil

  • Need Help on  Buying Book for PSE 7

    I bought Photoshop Elements 7 several months ago. I am not that savy with the program and was looking to buy a book to help me learn it. I've tried the on-line tutorials but didn't like them. I thought about  "PSE 7 Ultimate Guide for Dummies", but t

  • Can I add a mini pci WiFi card in my Sat Pro L10?

    My L10 has no internal wifi card installed but the motherboard has a socket for it. The wifi switch on the front is blanked off and the keyboard hot key is not configured. If a card was added could the hot key be configured to be an on/off