Instead of using tenant level app catalog, let’s use site collection level app catalog to manage lot’s of custom apps only for specific site.

https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog

Powershell script to create site collection level app catalog

$siteURL = “https://xxx.sharepoint.com/sites/Test”
Connect-SPOService -Url https://xxx-admin.sharepoint.com -Credential abc@xxx.com
Add-SPOSiteCollectionAppCatalog -Site $siteURL

#Remove-SPOSiteCollectionAppCatalog -Site $siteURL

#https://xxx.sharepoint.com/sites/[SiteCollectionName]/AppCatalog/Forms/AllItems.aspx

To list all site collections in the tenant that have the site collection app catalog enabled, use the URL https://xxx.sharepoint.com/sites/appcatalog/Lists/SiteCollectionAppCatalogs/AllItems.aspx.

1. using Power apps

2. using spfx form customization extionsion.

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/building-form-customizer

3. using OOTB form configuration with JSON format

https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/list-form-configuration

Site Settings or Site Actions –> “Site Content and Structure”

“Show Related Resources” button

SPFile or SPItem has “BackwardLinks”/”ForwardLinks” properties

so you can get those linked pages using powershell script or C# code.

However there is no REST API field value for above properties.

References

Dev Help: Find all References to a Master Page or Page Layout in SharePoint (onlinecoder.blogspot.com)

2013 – how can i know the wiki pages that are referencing a document inside my enterprise wiki site collection – SharePoint Stack Exchange

Links feature in SPFile | SharePoint, ASP.NET and more (wordpress.com)

Customizing the NewLink.aspx page – Octavie van Haaften

SPFile.BackwardLinks Property (Microsoft.SharePoint) | Microsoft Docs

Deep Dive into the SharePoint Content Deployment and Migration API – Part 4 – Stefan Goßner (stefan-gossner.com)

Search Analytics & Usage Analytics

References) https://www.slideshare.net/spcadriatics/share-point-analytics-spc-adriatics

Click to access AnalyticsSPC14.pdf

http://www.sharepointtalk.net/search/label/Analytics

Configure recommendations and usage event types in SharePoint Server
https://docs.microsoft.com/en-us/SharePoint/administration/configure-recommendations-and-usage-event-types

Overview of analytics processing in SharePoint Server
https://docs.microsoft.com/en-us/SharePoint/search/overview-of-analytics-processing

How to get Search Analytics Reports programmatically in SharePoint 2013
– GetSearchReport
– GetRollupAnalyticsItemData

https://github.com/chrisdee/Scripts/blob/master/PowerShell/Working/SharePoint/SharePoint2013/SP2013GetWebAnalyticsReport.ps1

#The first parameter with the value “1” is setting the Event Type. Event Type 1 = views. The next parameter is the TenantID, followed by SiteID, date value, month / day switch(false=month, true=day) and the max result value (100 means show me the top 100 search terms).
$FilterDate = Get-Date “2018-12-03”
$SearchData = $searchApp.GetSearchReport(1,[System.Guid]::Empty,$Site.ID,$FilterDate,$false,100);

How to get Search Analytics Reports programmatically in SharePoint 2013

How to get analytics reports programmatically in SharePoint 2013?
https://social.technet.microsoft.com/Forums/de-DE/54310f5f-e8a3-469e-86a3-63781b91670d/how-to-get-analytics-reports-programmatically-in-sharepoint-2013?forum=sharepointdevelopment

http://<SITE_URL>/_vti_bin/owssvr.dll?CS=109&Cmd=Display&List=<LIST_GUID>&CacheControl=1&ID=<ITEM_ID>&Using=event.ics

Create a calculated column in your Calender List that uses this formula:
=”http://<SITE_URL>/_vti_bin/owssvr.dll?CS=109&Cmd=Display&List={<LIST_GUID>}&CacheControl=1&ID=”&ID&”&Using=event.ics”

from : http://virtualducttape.com/generating-an-ical-ics-file-from-a-sharepoint-calendar-list-item/

 

/**
* Set PeoplePicker Field(2007 or 2010 Style, Calendar/Event Form ) value
* @param {string} FieldDisplayName
* @param {string} FieldValue
* @return {boolean}
*/
function setPeoplePickerName(FieldDisplayName, FieldValue){

var searchText = RegExp(“FieldName=\”” + FieldDisplayName + “\””, “gi”);

$(“.ms-formbody”).each(function() {
//$(“span.fieldValueSpan”).parent().each(function() {
if(searchText.test($(this).html())) {
//alert(“found”);
//alert($(this).find(“div[Title=’People Picker’]”).length);
if($(this).find(“div[Title=’People Picker’]”).length > 0){
$(this).find(“div[Title=’People Picker’]”).html(FieldValue);
$(this).find(“div[Title=’People Picker’]”).val(FieldValue);
}
else{ //after SharePoint 2018 April CU, the people picker structure have been changed
$(this).find(“div[Title='”+ FieldDisplayName +”‘]”).html(FieldValue);
}
//$(this).find(“a[Title=’Check Names’]”).click();
return true;
}
});

return false;
}

Design a site like this with WordPress.com
Get started