Forum Widgets
Latest Discussions
Project Web App can't delete PDP despite custom scripting being enabled
Hi everyone, Currently trying to set up a Project Web App system and I've encountered this problem. When trying to delete/remove a project detail page from a project nothing happens. My organisation has custom scripting enabled and I can remove fields and other stuff from projects but when I try to remove a page it doesn't work. I've removed all fields from the page I'm trying to delete so I don't think its anything to do with a required field or existing workflow, and I get no error message when I try to delete the page. I simply click "Delete Page", stop editing and the page is still there with no change. Anyone have any ideas on what could be causing the issue?tjk2002Jan 21, 2025Copper Contributor50Views0likes0CommentsMS Project Professional - VBA Color row based on field value
I have a master project with code below. What it does it: whenever I change the field Text12 to "OK" or "NOK" (and other words) it colors the whole row with a specific color (see Module1). It works great at a master project level, that is, in tasks directly in this master project. (How it works: It checks for changes in the Text12 column and sets a bool to true. Then, in Proj_Change, it applies the colors to the correct task row) However, it doesn't work at a Subproject level. I've added Debug.Print to each sub, and when I edit a Subproject's task, it only calls up to App_ProjectBeforeTaskChange. Is there a way to solve this? Detect changes in Subprojects and color the rows? I've tried running the ApplyColor sub directly from the App_ProjectBeforeTaskChange sub, but VBA says "this method is not available in this situation". Also tried using a Timer, didn't work, same error. (PS: I also posted this on Stack Overflow but I couldnt get help, so I'm posting this on other forums) ThisProject: Private Sub Project_Open(ByVal pj As Project) InitializeEventHandler End Sub Module1: Regular Module Option Explicit Dim EventHandler As EventClassModule Sub InitializeEventHandler() Set EventHandler = New EventClassModule Set EventHandler.App = Application Set EventHandler.proj = Application.ActiveProject End Sub Sub ApplyColor() Dim t As Task Set t = EventHandler.ChangedTask If Not t Is Nothing Then SelectRow Row:=t.UniqueID, RowRelative:=False Select Case EventHandler.NewValue Case "OK" Font32Ex CellColor:=14282722 'green Case "NOK" Font32Ex CellColor:=11324407 'red Case "PROGRESS" Font32Ex CellColor:=65535 'blue Case "REPEAT" Font32Ex CellColor:=15652797 'yellow Case Else Font32Ex CellColor:=-16777216 'no color End Select End If End Sub EventClassModule: ClassModule Public WithEvents App As Application Public WithEvents proj As Project Public NewValue As String Public ChangePending As Boolean Public ChangedTask As Task Private Sub App_ProjectBeforeTaskChange(ByVal tsk As Task, ByVal Field As PjField, ByVal NewVal As Variant, Cancel As Boolean) If Field = 188743998 Then 'Custom field Text12 Set ChangedTask = tsk NewValue = NewVal ChangePending = True End If End Sub Private Sub Proj_Change(ByVal pj As Project) If ChangePending Then ApplyColor ChangePending = False End If End SubKlausbdlJan 20, 2025Copper Contributor63Views0likes0CommentsPlanned / actual progress
Dear Community, A more simple question where I need your comments. What is the principle difference between the (1) Progress Line and the (2) Tracking Gantt in terms of showing the planned and actual progress .. ? The Progress Line shows for a defined activity the gap between the current date (planned) and the progress (actual), while the Tracking Gantt shows the gap between the "planned activity" and the "actual activity". Many thanks SteveSteveWallJan 16, 2025Copper Contributor9Views0likes0CommentsHow to Submit a Timesheet on Behalf of Another User in Project Online using API?
I develop a flow that once a week submit timesheets for all users. Is there a way to submit a timesheet on behalf of another user? I have tried the endpoint: _api/ProjectServer/TimeSheetPeriods('periodid')/TimeSheet However, it works only in the current user's context. When I run a Power Automate flow as an Admin, the flow can only see the Admin's timesheets. Could you please advise how I can submit a timesheet for another user?SlavaShaDec 09, 2024Copper Contributor33Views0likes0CommentsAccess Project Online from Project desktop client
Hallo, I need your help please. I have Project online desktop client and can't connect to the Project Web App. Error says "Project was unable to establish a connection with [Project Server URL]. This could be caused by a loss of network connectivity or inadequate permissions to connect to Project Web App." The URL name is defined in Project online desktop client as https://xxxxxxx.sharepoint.com/sites/PM.MCO I have been granted P5 license and defined in the security groups of Project managers and administratorsHatimDec 06, 2024Copper Contributor29Views2likes0CommentsUsing Power automate , how to make actual start date as empty or N/A in schedule
I am using power automate with send an http request action, there i want to make actual start as null or empty n/a. Please find the reference screen shot, took it from MSP.Anil_kumar_AnakalaDec 04, 2024Copper Contributor35Views0likes0CommentsProject Online (CSOM): Encountering 'User Not Found in Active Directory or Project DB'
Issue We are attempting to access Project Online data in Project Permission mode using app-only authentication, specifically to bypass MFA for programmatic access, as we aim for continuous, automated access without any user-interaction. We are using CSOM, using Microsoft.ProjectServer.Client.ProjectContext in .NET 4.8 to connect to Project Online. Despite following several documented approaches with client certificates, client secrets, and OAuth configurations, we keep encountering errors like 401 Unauthorized and User not found in Active Directory or in project db. Below is a summary of our steps. Despite multiple attempts, we consistently receive errors blocking access. We have followed recommended documentation for client credentials, certificates, and permissions but still face access issues. Technology Project Online CSOM in .NET 4.8 Microsoft.ProjectServer.Client.ProjectContext Azure AD (Entra ID) Solutions Attempted Client Certificate Authentication: Configuration: Registered an app in Azure AD (Entra) with a client certificate and set permissions including Sites.FullControl.All. NOTE: we could not select Project permissions (Project.Read, etc.) in the Application Permissions screen, only within the delegated permissions screen. Token Acquisition: We acquired an access token using az account get-access-token --resource=https://.sharepoint.com. Request Attempted: URL: https://.sharepoint.com/sites//_api/ProjectData/Projects Outcome: {"error":"invalid_request","error_description":"App is not allowed to call SPO with user_impersonation scope"} Client Secret with Client Credentials: App Registration: Configured client ID and client secret in Azure AD with permissions for Project.ReadWrite.All and Sites.Selected. Token Acquisition: Called the token endpoint: Endpoint: https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token Parameters: client_id, scope= https://.sharepoint.com/.default, client_secret, grant_type=client_credentials Access Attempt: URL: https://.sharepoint.com/sites//_api/ProjectData/Projects Response: HTTP/1.1 401 Unauthorized Response Body: " " Outcome: Despite obtaining a valid token, the request returns a “Please sign in” page, rather than an access token. SharePoint AppPermissionRequest Configuration using /sites/pwa/layouts/15/appinv.aspx: Configuration: Set up AppPermissionRequest XML in SharePoint for permissions like: Outcome: This configuration did not make any differences, and did not grant the required permissions in Project Permission mode, as SharePoint app permissions do not seem to cover Project-specific access, it seems. Project Online access remains blocked. <AppPermissionRequest Scope="[http://sharepoint/content/sitecollection]" Right="FullControl"/> Microsoft Graph API Exploration: Goal: Investigated Graph API as an alternative. Outcome: Microsoft Graph lacks Project Online-specific permissions, limiting access to SharePoint and directory data, which does not meet our need for project-specific data access. Microsoft.Identity.Client and client certificate Configuration: CSOM using the following code to login: Outcome: Access fails with User:<customercontent></customercontent> not found in Active Directory or in project db public static void Login(this ProjectContext context) { var clientId = "xxx"; var clientSecret = "xxx"; var authority = "https://login.microsoftonline.com/xxx"; var scope = "https://xxx.sharepoint.com/.default"; var certificate = new X509Certificate2("c:\\temp\\cert.pfx", "xx"); var app = ConfidentialClientApplicationBuilder.Create(clientId) .WithCertificate(certificate) .WithAuthority(new Uri(authority)) .Build(); AuthenticationResult result = TaskHelper.BlockingAwait(() => app.AcquireTokenForClient(new[] { scope }).ExecuteAsync()); string accessToken = result.AccessToken; context.ExecutingWebRequest += (sender, e) => { e.WebRequestExecutor.RequestHeaders["Authorization"] = "Bearer " + accessToken; }; } Key Questions: Is there a method for app-only authentication in Project Online in Project Permission mode__ that bypasses MFA for automated access? Has anyone succeeded in applying app-only credentials for Project Online access__, specifically in Project Permission mode? Are there any alternative permission configurations__ (like Azure AD settings, conditional access policies, or app permissions) that could facilitate this access? Thank you in advance! Edit: Sorry for the bad formatting.carlduguayNov 07, 2024Copper Contributor56Views0likes0CommentsMS Project Online (CSOM) read Assignment history
I need to get status of approvals of the assignments in MS Project Online I want to look at History, find latest record and see its approval status. I use following code to retrieve History: TimePhase timePhase1 = employee._mspStatusAssignments.GetTimePhase(Start.Date, End.Date); _projectContext.Load(timePhase1); _projectContext.Load(timePhase1.Assignments); _projectContext.ExecuteQuery(); StatusAssignment statusAssignment1 = timePhase1.Assignments.FirstOrDefault(x => x.Id.ToString() == ID); _projectContext.Load(statusAssignment1.History); _projectContext.ExecuteQuery(); But this code throws exception at ExecuteQuery when attempt to retrieve History when history has more than 0 items: Exception Message: The type of data at position 642 is different than the one expected. StackTrace: at Microsoft.SharePoint.Client.JsonReader.ReadDateTime() at Microsoft.ProjectServer.Client.StatusAssignmentHistoryLine.InitOnePropertyFromJson(String peekedName, JsonReader reader) at Microsoft.SharePoint.Client.ClientObject.FromJson(JsonReader reader) at Microsoft.SharePoint.Client.JsonReader.ReadJsonObject(Type fallbackType) at Microsoft.SharePoint.Client.JsonReader.ReadObject(Type fallbackType) at Microsoft.SharePoint.Client.JsonReader.ReadObjectArray(Type fallbackElementType) at Microsoft.SharePoint.Client.ClientObjectCollection`1.ReadChildItems(JsonReader reader) at Microsoft.SharePoint.Client.ClientObjectCollection.InitOnePropertyFromJson(String peekedName, JsonReader reader) at Microsoft.SharePoint.Client.ClientObject.FromJson(JsonReader reader) at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream) at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse() at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb) at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery() Can anyone suggest what could be causing this problem? Thank youPavel161Nov 07, 2024Copper Contributor21Views0likes0CommentsProject Server OLAP problem
Using Project Server subscription edition and sql server Standard 2019. When generating the olap cubes, we get the error "SQLNCLI11 is not registered in the local machine" But sql server 2019 does not support SQLNCLI11... ¿How can we solve this? Thanksware32Nov 04, 2024Copper Contributor38Views0likes0Comments
Resources
Tags
- Project672 Topics
- Online272 Topics
- Project Desktop150 Topics
- Project Server142 Topics
- office 36596 Topics
- developer71 Topics
- 201664 Topics
- On Premise52 Topics
- api47 Topics
- admin47 Topics