SharePoint, Office 365, Azure, and Front end JS geek. – Chicago IL
SharePoint, Office 365, Azure, and Front end JS geek. – Chicago IL

Azure

VIDEO – Microsoft Azure AD Portal (AAD)

Check out https://aad.portal.azure.com/.   Microsoft Azure Activity Directory admin center is open to all users and is a great tool to browse Azure AD, lookup user details, locate groups, manage applications, monitor usage, and more.

Users with higher permissions will see more tiles including:

  • Azure Active Directory
  • Users and groups
  • Enterprise applications
  • App registrations
  • Azure AD Connect Health
  • Azure AD Cloud App Discovery
  • Azure AD Privileged Identity Management
  • Azure AD Identity Protection
  • Devices

Cheers!   

shades_smile

Manage Azure Active Directory

Video

Screenshots

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

References

SharePoint as a Service (SPaaS)

SharePoint is often treated as a final SAAS product to perform Microsoft native functions only.  Management can be reluctant to engage customization and development for the perceived cost. 

However, what is the cost of lacking a needed business tool?  Lost productivity and opportunity?  

What is the cost to create native SP features?   Make a blank IIS website?  Then create your own search, audit, permission interface, file store, REST endpoint, etc.?

 

Today is the best time ever to be a developer.  Many services and many tools.   Agile design can be applied to leverage 90% native platform with 10% custom code to spin up helpful business applications with low cost.   Micro services, REST api, and JavaScript frameworks provide the building blocks.   Developers are challenged to learn these new tools.  Ones that do can help deliver business value faster than ever.

 

Remember, SharePoint is a service– not the final product. 

shades_smile

 

Features

  • Authentication – User context.  Password management, new account creation, integrated single sign-on.
  • Permissions – Groups, roles, custom permission levels,
  • Tables & Files – Storage of flat database (rows, columns, validated input, query) and binary files (folder, files)
  • Notification – Alert on data changes.  Daily and weekly summary.  Custom email body with Workflow.
  • Search – Index content, word parsing, custom results display, full REST api.
  • Audit – Regulatory compliance.  Reports, export, filter, and granular detail.
  • … and many more

 

Diagram

image

 

References

VIDEO – Online WebAPI Generator

I created an online service at https://spjeff.azurewebsites.net/ which generates a MVC WebAPI 2.2 project with the name you enter.   A custom ZIP file is generated server side with your custom name for the Project, Namespaces, Assembly, and sent to the browser for download.   Best practices are already enabled such as:

  • [CORS] decorator
  • [Authorize] decorator
  • Minimal packages and dependency
  • Zero MVC boilerplate
  • Lean mean API ready for dev & prod

From there double click SLN and begin coding.  Enjoy! 

shades_smile

 

Video

Online WebAPI Generator from Jeff Jones on Vimeo.

 

Screenshots

 

image

 

image

 

image

FIXED – AzurePlugin was not able to get Tenant Info from configuration server (CSSA)

While enabling the CSSA (Cloud Search Service Application) I came across this error during first full crawl after successfully completing the on-boarding steps outlined at https://blogs.msdn.microsoft.com/spses/2015/09/15/cloud-hybrid-search-service-application/ with PowerShell scripts.    The Azure plugin was unable to crawl on-premise content.   Root cause was proxy server configuration, which needs to be consistent across three places.  Hope this helps!

 

Central Admin

An unexpected error occurred in the Azure plugin. This item will be retried in the next incremental crawl. ( AzureException AzurePlugin was not able to get Tenant Info from configuration server; SearchID = B056F137-1C77-4792-B402-256B615DBE82 )

 

Verbose ULS

Get-SPLogLevel |? {$_.Area -like "SharePoint Server Search"} | Set-SPLogLevel -TraceSeverity VerboseEx
New-SPLogFile

ULS Log

By running PowerShell commands “Set-SPLogLevel” and “New-SPLogFile” I was able to get verbose URL for the CSSA crawl process.   Here are the entries showing inability to communicate over the proxy server to the Internet.

12/08/2016 15:36:31.55  mssearch.exe (0x195C) 0x0B18  SharePoint Server Search             Crawler:Azure Plugin                amn0f   High       AzureServiceProxy::GetCerts caught AggregateException: The ServicePointManager does not support proxies with the myproxy scheme.  

12/08/2016 15:36:31.55  mssearch.exe (0x195C) 0x0B18  SharePoint Server Search             Crawler:Azure Plugin                amn0g  High       AzureServiceProxy::GetCerts: Failed to get encryption certificates from cert server https://tenant.sharepoint.com for realm 67d7b889-884d-4c2a-a8d8-3ff81f37b497, documents will be send unencrypted (if unecrypted submit is allowed) 

12/08/2016 15:36:31.55  mssearch.exe (0x195C) 0x0B18  SharePoint Server Search             Crawler:Azure Plugin                amn0h  High       AzureServiceProxy::GetAzureTenantInfo caught AggregateException: The ServicePointManager does not support proxies with the myproxy scheme., unable to get EndpointAddress, submit is blocked               

12/08/2016 15:36:31.55  mssearch.exe (0x195C) 0x0B18  SharePoint Server Search             Crawler:Azure Plugin                amn0i    High       AzureServiceProxy caught Exception: *** Microsoft.Office.Server.Search.AzureSearchService.AzureException: AzurePlugin was not able to get Tenant Info from configuration server     at Microsoft.Office.Server.Search.AzureSearchService.AzureServiceProxy.GetAzureTenantInfo(String portalURL, String realm, String& returnPropertyValue, String propertyName)     at Microsoft.Office.Server.Search.AzureSearchService.AzureServiceProxy.SubmitDocuments(String azureServiceLocation, String authRealm, String SPOServiceTenantID, String SearchContentService_ContentFarmId, String portalURL, String testId, String encryptionCert, Boolean allowUnencryptedSubmit, sSubmitDocument[] documents, sDocumentResult[]& results, sAzureRequestInfo& RequestInfo) ***   

 

Resolution

Proxy server settings need to be confirmed in three places.   The crawler was attempting to use “myproxy:8080” DNS names when it actually needs URL format “http://myproxy:8080”   

 

1)  Internet Explorer

Tools > Options > Connections > LAN Settings

Provide either PAC URL (proxy auto config) or proxy server DNS name.

2016-12-12_8-46-00

 

2)  Command Line

NETSH WINHTTP SHOW PROXY

NETSH WINHTTP SET PROXY PROXY-SERVER=”myproxy:8080” BYPASS-LIST=”*.company.com;<local>”

image

 

3)  Dot Net Global [machine.config]

Run notepad

Open “C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config”

Add following XML code

<system.net>
<defaultProxy>
<proxy usesystemdefault=”false” proxyaddress=”http://myproxy:8080” bypassonlocal=”true” />
</defaultProxy>
</system.net>

 

image

 

Notes

  • Completed the “Hybrid Onedrive” click once application to create “ACS” and “SPO” service application proxies before Hybrid Search CSSA onboarding.   https://configure.office.com/

References

2728.image_0ACB058C

© Copyright 2016
@ SPJeff

Return to Top ▲Return to Top ▲