Reading actual work via PSI web services (Project Server 2007) - project-server

I want to read the approved actual work via the Project Server Interface (PSI) on a Project Server 2007
I stumbled upon the ReadStatusTimephasedData function on the PSIStatusing namespace. This does exactly what I want, EXCEPT: It gives me the actual work as entered by the project member in the pwa. It is not the approved actual work after the project manager approves it.
DateTime start = DateTime.Today.AddDays(-10);
DateTime end = DateTime.Today.AddDays(5);
long interval = 1 * 24 * 60; //one day
PSIStatusing.StatusingTimephasedActualsDataSet actualsDs = statusService.ReadStatusTimephasedData(projectGuid, assignGuid, start, end, interval);
HOw do I get the approved actual work? Has anyboy a hint? I'd be very glad if you can help me
Markus

The answer to this question can get complicated in a hurry.
The "approved actual work" is added to the project plan. For the assignments in the project plan, the actual work is changed to match the newly approved data. The PSI can get at this data, but not with the timephased characteristic. That is, totals per assignment, not by day.
But here's the big catch: depending on server configuration the project manager may have the ability to edit this work after it is approved. If the server is not set up to limit this action, then there is no way to determine what work was approved. On the other hand, if the server is set up to restrict a project manager's ability to edit this data, then it can be found (after a project publish) in the _Reporting database, in the AssignmentByDay tables.
The easiest pieces to get that are close to this are the
time entered by resources on timesheets.
published Actual Work, whether from resources or editted by the project
manager.
Hope this helps, and is what you were after.
Let me know if you have questions on this...
James Fraser

Related

Deployed Google Action (production release) cannot be found on Google Assistant

I deployed the production release for my first Google Action. But even 2 weeks after the approved deployment I can find my action neither in the Google Assistant store nor directly via voice activation.
The test versions ran fine and was found every single time. So the invocation name should not be the problem. When I use the generated action link from the console I find the action in the store and can send it to my Smartphone, where I can start it with the sent link. But after closing the app I cannot open it again via voice.
I used two different google accounts on different devices (all are set up in the right language: german), but no chance.
Is this a mistake on Googles side or do I miss anything? In this state I have to open the action every time over the action link which is useless for a voice app :)
Here is the link to my action: https://assistant.google.com/services/invoke/uid/000000c77f740137?hl=de
The invocation would be for example: "Mit Erfolgs-Fans sprechen" (like said, on the test this name was found every single time)
This happened to me too. Though it wasn't in production when I faced it. I was also not able to see the action in Assistant-enabled devices (Google home app/assistant).
It is probably not the invocation name issue, it is just that the action is not being made visible across all the platforms. Some of the solutions I tried were-
Clean cache of the device
Create a new action with everything just the same as in your current actions. It worked once for me!
Go to GCP and under your project, try to understand if there is any pending activity.
Once I created so many actions because I wasn't able to see it that after around 30 days all those actions started to become visible. So, if you can wait that is fine.
In the end, do contact their support with all the relevant information. I hope they should be able to help.
Thank you!

Do I have to start a new project if the '1 month without any rules' has expired?

I have been working with Firestore and am used to deploying my website and getting it tested by people. One month has gone by and now things don't seem to be working on the deployed website. I believe it's because I have not written any rules during this time. I read that I would lose access to my database if I did so.
Can I apply the rules anytime I'd like and it'll get back on or should I start a whole new project and reset the configs?
I just don't think writing rules at this point is important given that my project will undergo many critical alterations in the foreseeable future
Is there a simple way I that I can NOT write rules now and leave everything working? I changed the original rule to a date in the future, but it seems that when I deploy my project, it'll reset the rules.
match /{document=**} {
allow read, write: if request.time < timestamp.date(2027, 5, 28);
//seems to get reset to to original date
}
Turns out when you set up Firebase hosting on your project, a file firebase.rules is created. If you build your project without updating that file, the rules in the firebase console get overwritten.

Setting a value in Frappe application isn't reflected in ERPNext GUI

I have added a 'number_of_members' value to the Customer DocType via customization.
In my application I have tried several ways to update the value. However the value never updates in the webpage. I feel like I'm missing some sort of save or update or commit step.
For example I have tried:
frappe.client.set_value('Customer', '00042', 'number_of_members', 8887)
frappe.set_value('Customer', '00042', 'number_of_members', 8887)
frappe.db.set_value('Customer', '00042', 'number_of_members', 8887)
and also
customer = frappe.get_doc('Customer', '00042')
customer.number_of_members = 8887
customer.save()
In each case I can do something like frappe.get_value, or frappe.get_doc and it shows the value is set to 8887. However it never updates in the web side. This is what makes me think I'm updating some sort of cache or database transaction and I need some way to save it, but have not had any luck.
I am mostly testing this via bench console if that has any bearing on it, but I've tried a couple of the methods in my application code as well.
Relevant documentation:
Frappe Developer API - Document
Frappe Developer API - Database
Turns out the answer is to call frappe.db.commit() after making changes. If someone can point this out in the documentation so I can better understand how I'm missing stuff, I would appreciate it.
I also noticed if you try to Save something in the UI before you send frappe.db.commit() the UI will hang.

Adding block feature using swift and parse server

So I'm dealing with app rejection "Guideline 1.2 - Safety - User Generated Content" and one of the features app want me to implement is "- A mechanism for users to block abusive users" Im not sure exactly how to put the code into action but know what i have to do which is
Step 1. Create class in Parse for blocked users, like: "Blocked"
Step 2. Create columns of type [String]: blockedBy & username (user is blocked)
Step 3. Query only users if current user is not in blocked list
Step 4. Add button to send PFObject to block a User
If someone can help i can provide info from my project. It would be much appreciated because I've been struggling with this for weeks.
Check out https://www.raywenderlich.com/98831/parse-tutorial-getting-started-web-backends tutorial. Great help, shows how to setup the local environment, the MongoDB, how to create a class within the local parse environment ran from the terminal, shows how to query, etc. Let me know if you have more specific questions I can help resolve.

ReactJS 5.3.0 not loading from unpkg.com

We have been using the following library for months:
https://unpkg.com/react#15.3.0/dist/react.min.js
Yes - I know we can just reference 15.3 and get the URL rewrite to the latest, but they released a breaking change. That's another issue for another day. Don't get distracted.
Yesterday this simply stopped working. You'll notice that if you load the URL mentioned, that the file is TRUNCATED. Simply cuts off. This made everything we use react with break. Interestingly, if you go to the following URL (without the .js extension) - things work.
https://unpkg.com/react#15.3.0/dist/react.min
My question is - what the heck happened? Why did the URL we've been using for 8 months suddenly stop working, and who can we get to fix it. In the interim, we had a copy locally that we've started referencing (which we probably should have been doing to begin with, since we don't want the automatic upgrade). When things like this happen, who do you inform?
I'm not sure you'll find the answer as to why this file is no longer working here but based off of the website you could reached out to the creator on twitter: https://twitter.com/mjackson
On the website it says:
SUPPORT
unpkg is a free, best-effort service and cannot provide any uptime or
support guarantees.
i.e. you should probably only use this link if you are messing around with a small project and shouldn't be used for any website where you actually care about the uptime of the site.