Wednesday, February 18, 2015

#APIM Dashboard. Usage report: Blocked, Failed, Other calls

Azure API Management shows the API usage report with the categorization:

Recently my client asks what are the criteria used for these categories.
And here we are:

Successful: 2XX 
Blocked: 403 and 429 
Failed: 5XX 

The rest are counted as other.

Thursday, January 22, 2015

#AzureAPIMgmt '<'quota calls="x" renewal-period="seconds"'>'. Does this allow x call in total per product, or x call per API inside the product?

Azure API Usage Quota Policy allows you define quota per product , per api , per method
The question that I have got from the client was the following:

Quota calls on the product level = x. Does this allow x call in total per product, or x call per API inside the product?

Answer: <quota calls="x" renewal-period="seconds"> allows total X amount of calls per product.


Quota per API
I have a quota setup per API.  Every 60 seconds we can call 5 times each specified APIs. If we exceeds, we get 403 Quota Exceeded
For example:
I call "Echo API" 5 times. Then I am trying to call it one more - 6th time. Failed. 403 Quota Exceeded
But I am still able to call "My Echo API" 5 times after I have called 5 times "Echo API".

Quota per Product
Now, I have modified the policy , I have put calls="5" on the product level. Every hour we can call 5 times any APIs in total per product.

For example: I call "Echo API" 3 times, then I call "My Echo API" 2 times.  Total=5. Then I am trying to call "Echo API" again. Attempt is failed. 403 Quota Exceeded


It's worth to note that you can't set less than 3600 sec renewal-period on the Product level in case you set calls limit on the product level.

One of improvements that I want to suggest to MS - is to provide error messages for Policy editor, as well as IntelliSense.

The  only indicator now that is something wrong with the policy is the fact that I can't save it . How do you know you saved the policy? It should be grey out when it's saved.

Friday, May 30, 2014

#SP2013 The server was unable to save the form at this time.

A user can't edit  and save properties of the document.
In my case it turned out to be a permission issue.
The document library uses a document set which in turn uses a custom content type that were defined on the site collection level.
The lib was created under some site (spweb) , the lib has unique permissions
The user doesn't have access to the site, but has access to the lib.
The user can upload and check in  the document to the document set, but can't edit and save the properties of the custom document content type (which is used in the document set).
Every time the user hits the save button he gets the client-side error -
"The server was unable to save the form at this time.Please try again."
I have traced the issue when the user attempted to create a document set item. He got an error: "Access denied".
It happens because SharePoint uses the link ~site/_layouts/15/NewDocSet.aspx that is not accessible by the user since he doesn't have access to the site.
The obvious fix in my case to give access to the site to the user.

Thursday, May 29, 2014

@project SP1 for #Project2013 introduces the old bug with missing resources

‘Lost Resources’ bug has came back after re-relased SP1 for PS2013 has been applied.
To fix it - you need to manually re-add the missing resources in the project.
Plus, you need to run the SQL to fix 2 PS procedures, as it was recommended in

I have run the sql before SP1, then I have applied SP1 and compare procedures before and after:
The procedure was re-created by SP1 (the service packed was installed on 5/21/2014)
and the SQL delete statement lacks filter by PROJ_UID

The procedure was re-created by SP1  (the service packed was installed on 5/21/2014)
and the SQL delete statement lacks filter by PROJ_UID

Thursday, May 22, 2014

@project Confusing UI in #Project2013 Assignments scenario

TaskDetails.aspx -  This Web part was unable to load.
The user :
1. Creates a task from tasks.aspx

2. Just a minute or couple later he refreshes TaskDetails.aspx and see the error

 3. The user goes back to Tasks.aspx and doesn't see the task that he just created.

Most of the time that is the hint that task or assignment were removed.

It's worth to mention that in the context of Project Server:
The task is ,simply, a task.
The assignment is a task that assigned to a resource.

In this specific scenario, I have checked the project and I saw the task still exists.So, my theory that the task\assignment was removed is not true in this specific scenario.

Important: The resource name is the same user who has just created a task and now he can't see that task in the tasks list.
That's weird.
As it turned out that is the confusing UI in Project Server.

Even though the resource name in the project page (Project%20Detail%20Pages/Schedule.aspx)  is the user who created a task , the assignment has been assigned to a different user.

The reason: The default assignment owner is not the resource himself

To fix it:
Set the resource's name is specified in the Default Assignment Owner field

My suggestion to MS: Please set in Project%20Detail%20Pages/Schedule.aspx in the column Resource - the Assignee, not a task creator
Additional reference:
Team Members cannot see their assigned tasks on the Timesheet page or Task page in PWA

Monday, May 19, 2014

@SPC_ORG SP2013 Search by @bniaulin

Continuous crawl:
 - only works on SP Content sources;
 - by default every 15 min;

Use continuous crawl diligently, only on the content source that they need it.

NO XSLT, use html, css, js

SP2013 SP1 has ability to turn the Optimistic overwrite for title - MetadataExtractorTitle

2 web parts for Search:
SearchResult web part - you have to have a custom display template
Content Search web part - you can re-map the properties

2 types of templates:
1. Control (a container for item display template)
2. Item Display

! Don't touch automatically created js file out from content template

Result types helps to vary item templates based on the rule (conditions)