Differential Query : how to distinguish change from creation - azure

I use Azure AD Graph API differential query to detect changes in my Azure AD.
For each result node of type User or Group how can I distinguish if the object is new or only updated?
I use the ocp-aad-dq-include-only-changed-properties option to obtain only the changed properties. But what happens if all the properties have been changed? I received all the properties as if the object is new.

You have to save all existing objects in a storage, then when a change occurs, check if the storage contains this object and update the storage (add or delete the changed object if needed)
This is the only way I found on my research. If you find more simle solution, please post it here as an answer

Not familiar with Azure (but familiar with AD).
Some attributes can't be change once created, but must be set on creation.
e.g. objectCategory
So if it exists in result -> creation.
Not exist -> update.
One case I am not sure about is the deletion case.
Depending whether Recycle Bin feature is enabled (do Azure have this?), objectCategory may be cleared on deletion.
Sorry, I will leave this for you to test.

Related

When I create an Azure AD user, the calendars "allowedOnlineMeetingProviders" is empty, how do I update this?

I need a users calendar to have the property "allowedOnlineMeetingProviders" contain "teamsForBusiness". I am not able to add the calendar via the create user call (graph api) so I had to subsequently update the existing calendar but it wont let me update the property (only name seems to update). Anyone know how I can programmatically set this property?
Its because its not expected workflow ~ Microsofts response:
Hope you are doing good.
Apologies for the delayed response, I have tried to gather more details on this behavior internally, but unfortunately since this is an existing behavior in the system i.e. by design we can say since the new user needs to have some kind of interaction with the MS teams initially.
Unfortunately, we aren't much help on this scenario from MS graph api standpoint.
We request you to provide your feedback/ideas/suggestion https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/idb-p/Microsoft365DeveloperPlatform
We regret not being helpful to you on this case since this is a known issue.
Kindly let us know if you have any queries.

Maximo: Create Reports feature for custom apps

I have create a new custom view in Maximo DB, added it through the Database Configuration.
Created an application on top to display the data based on that view.
Added new signature option CREATEREPT to use default dialog to create reports (Ad Hoc Reports).
When I try to preview any report in that dialog, I get the following error
BMXAA8093E - The report could not be created and the cause of the
error cannot be determined. Try to create the report again, or contact
your system administrator.
null
It appears error BMXAA8093E can occur in a few different scenarios where a problem occurs with a report and a more specific explanation can't be provided:
https://www.ibm.com/support/pages/error-trying-save-qbr-or-create-new-report
I would suggest first confirming if a more specific error or any additional information is provided in the application logs. Following that you may want to verify that you have a Report Object Structure (ROS) for the object structure based on your custom view (i.e. in Integration -> Object Structures there is a record with "Consumed By" set to "Reporting" that has your object structure based on the custom view as a source object). Although you mentioned adding a Signature Option it is not clear from your description whether a ROS (mentioned earlier) exists and whether Administration -> Report Administration -> Set Report Object Structure Security has been used to tie that ROS to an existing security group or groups.
I had the same issue. Here is the solution that worked for me: go to Database Configuration, select your view, ensure that EXTENDSOBJECT is populated. In my case, it was not. You can fix this from backend. Let's assume your extended object is ASSET and your view is MYVIEW:
update maximo.maxobject set EXTENDSOBJECT='ASSET' where objectname = 'MYVIEW';
update maximo.maxobjectcfg set EXTENDSOBJECT='ASSET' where objectname = 'MYVIEW'; commit;
Do NOT forget to restart the app server.

What Microsoft Graph User property can I use for additional per user information

We're using Azure AD for Authentication on a new Azure app. I have a requirement to add a few supplemental pieces of information to the user information.
Normally, I'd like to use an Open Type Extension on each user, something like this:
{
"#odata.type": "microsoft.graph.openTypeExtension",
"extensionName": "org.test.example",
"Region": "HQ",
"Companies": ["1022", "1023", "1145"],
}
But, according to this SO question, adding open type extensions for multiple users is broken and can't currently be used this way.
I tried to use the Responsibilities property, but found out today that I can't use it without a SharePoint license associated with our Azure instance.
So my question is, which User property can I use for this without adding extra licenses? I'm not opposed to putting all the values in one array (that's what we planned to do with Responsibilities), but I'd really like to avoid having to make a round trip to a database to pull this information when each user logs in.
The issue mentioned in How do you create MS Graph open extensions with the same id on multiple users? is fixed and in the process of being deployed. I will update once it is available (mostly mid next week).

Umbraco uCommerce Secure Trading - need to use OrderNumber instead of OrderGuid

I am trying to use umbraco with uCommerce.
I have implemented SecureTrading as Payment provider in uCommerce. Now I need a solution to use OrderNumber in place of OdrderGuid to be used to identify the PurchaseOrder.
Currently OrderGuid is being sento to SecureTrading & this is being displayed in SecureTrading Transactions section. And due to this identifying the order is really hard.
We have appropriate value in OrderNumber field of PurchaseOrder table & we want to Display that value in SecureTrading's Transaction section.
Any way to achieve this?
If I try to write my own payment provider code, it'll be very huge task, also we have set the SecureTrading environment accordingly to uCommerce default preference.
Immediate help is required.
For more Detail
I have developed a DLL for my own customization as menthioned in http://docs.ucommerce.net/ucommerce/v7.3/payment-providers/integrating-a-payment-gateway.html But, that also is not working. the custom Payment Provider added in code(DLL) is not visible in backoffice to change the Payment Provider. There are all old entries for providers.
Even nothing shows up in cms Admin section for uCommerce Settings.
Thanks
Hi you can create a derrived version of the PageBuilder which will send the parameters to SecureTrading.
There's a protected virtual method you can override called "GetParameters".
It returns a dictionary that holds everything that will be send to SecureTrading.
You can set the "orderreference" in the dictionary to OrderNumber. This originally holds the orderguid.
Don't forget to register your page builder in the IoC container.
http://docs.ucommerce.net/ucommerce/v7.5/extending-ucommerce/register-a-component.html
You need to override the component by reusing the ID that the page builder has, which is: "SecureTradingPageBuilder". When overriding the page builder you don't have to change anything in the back office.
This should fix your problem :)

Data in custom attribute not returned in UserProfile object in MOSS

I've created two new custom attributes in the UserProfile. When the service we wrote returns data about a specific user by using the UserProfile object, sometimes the data isn't returned, even though if we look at the user in SSP it look populated. Some users work; this is the first user we set up with data. I'm not sure if sometime in the meantime after setting up the first user and testing, if there's something we ran and need to run again. How can I get all the users to get their data returned in a call to their UserProfile?
It may be a language issue, perhaps you can detect a pattern in working/not working users and their language?
Have you looked at the visibility of the custom attributes? Is it possible that it's a question of who is supposed to be able see the attribute that is causing your issue?
It could be connected to when the profile was created and when the attributes were added.
Is there any pattern to which users work and which do not?
Try creating a new user, and see if the attributes are available for that user.

Resources