Agile vs Waterfall
Waterfall | Agile | |
Agile vs Waterfall
Waterfall | Agile | |
If you are adding a page to your Office 365 site via gerbox->”Add a page”
and a “modern-style” SharePoint page is created,
you still can have “classic” experience, i.e. Wiki pages or WebPart pages.
Just go to your pages library via “Site Content” -> “Site Pages”,
then click “Files” tab and select “New Document” with dropdown option,
and this is where you can choose what kind of page to create.
If you want to stick with classic pages permanently (disable modern site pages) – it’s done via
“Site settings” -> “Manage site Features” -> “Site Pages” Deactivate.
then from site pages library settings click “Change new button order and default content type”
and deselect “Visible” at “Site pages”.
https://absolute-sharepoint.com/microsoft-certification-study-guides – SharePoint/Microsoft 365 study guide (Vlad Catrinescu)
http://sharepointkitchen.blogspot.in/2014/05/sharepoint-interview-questions.html
There is a course on Pluralsight: Penetration Testing SharePoint by Liam Cleary.
Here are some fundamentals every SharePoint architect should know on “how to protect SharePoint environment”, from this course and from my personal experience.
Architect, Support – should have farm-level access
Developer, Designer, End User, External – should not have farm-level access
Use personalized account for administration/support (do not use farm account or install account)
BTW, My opinion: Do not allow Developers any access to production farm.
The rights/responsibilities and dev workflow should be:
If somebody combine roles – use different accounts and separation of roles.
$subnet = "192.168.214"
$range = 223..225
$range | %{$ip = $subnet + '.' + $_; Test-Connection -Count 1 -ComputerName $ip -Quiet } | ?{$_ -eq $true} | %{Write-Host $ip " - Test OK"}
$port = 3389
foreach ($byte in $range) {
$ip = "{0}.{1}" -F $subnet, $byte
Write-Host "Testing NetConnection to $ip`:$port `- " -NoNewline
$tnc = Test-NetConnection -ComputerName $ip -Port $port -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
Write-Host $tnc.TcpTestSucceeded
}
As you know, Project Server 2016 is actually a service application on SharePoint Server 2016.
Which means if you want Project Server 2016, you must have SharePoint 2016 first.
But if you have SharePoint 2016 farm, it’s much easier to get Project 2016. Moreover, once you build robust, scalable and high-available SharePoint, you get the same to you Project “for free”.
NB: Project is licensed separately.
Look at some PowerShell commands, which can help you provision Project 2016 Service Application on SharePoint 2016:
# Enable Project Server License
Enable-ProjectServerLicense -Key Y2WC2-K7NFX-KWCVC-T4Q8P-4RG9W
# Get Service Accounts
Add-WindowsFeature rsat-ad-powershell
Import-Module ActiveDirectory
Get-ADUser -Filter ‘Name -like “*project*”‘
Get-ADUser -Filter ‘SamAccountName -like “SP-Project*”‘ | ft DistinguishedName, SamAccountName
#Add managed accounts
Get-SPManagedAccount
$account = “ecm\SP-Project-Svc”
New-SPmanagedaccount -credential (Get-Credential -UserName $account -Message “type password”)
$SvcAppPlAccnt = Get-SPManagedAccount -Identity $account ; $SvcAppPlAccnt
# Service Application pool
Get-SPServiceApplicationPool
$applPoolName = “Project Service Application Pool”
New-SPServiceApplicationPool -Name $applPoolName -Account $SvcAppPlAccnt
$ap = Get-SPServiceApplicationPool | ?{$_.Name -eq $applPoolName}
$ap.Status
# Service Application
Get-SPServiceApplication | Sort-Object DisplayName | ft -AutoSize
$serviceTypeName = “Word Automation Services”
Get-SPServiceApplication | ? {$_.TypeName -eq $serviceTypeName} | ft -AutoSize
$saName = “Project service Application”
New-SPProjectServiceApplication -Name $saName -ApplicationPool $ap
$sa = Get-SPServiceApplication -Name $saName
$sa.Status; $sa.Name
$proxyName = $saName + ” ” + “Proxy”
New-SPProjectServiceApplicationProxy -Name $proxyName -ServiceApplication $sa
# instances
Get-SPServiceInstance | ft -AutoSize
$serviceTypeName = “Project Server Application Service”
Get-SPServiceInstance | ? {$_.TypeName -eq $serviceTypeName }
$serviceInstances = Get-SPServiceInstance | ? {$_.TypeName -eq $serviceTypeName }
$serviceInstance = $serviceInstances | ? {$_.Server.Address -eq $env:COMPUTERNAME}
$serviceInstance.Status
$serviceInstance.Provision()
# database
Get-SPFarm
(Get-SPFarm).Servers
Get-SPWebApplication
New-SPContentDatabase -Name “SP16_SSF2_Project” -DatabaseServer “SP16SQL” -WebApplication “https://ssf2-imc.intranet.ecm.kz”
# site
Get-SPManagedPath -WebApplication “https://ssf2-imc.intranet.ecm.kz”
New-SPSite -ContentDatabase “SP16_SSF2_Project” -URL “https://ssf2-imc.intranet.ecm.kz/proj/pwa” -Template pwa#0 -OwnerAlias “ecm\sp-adm”
Get-SPContentDatabase “SP16_SSF2_Project”
Set-SPContentDatabase “SP16_SSF2_Project” -MaxSiteCount 1 -WarningSiteCount 0
Enable-SPFeature pwasite -URL “https://ssf2-imc.intranet.ecm.kz/proj/pwa”
Get-SPSite
Onboard-CloudHybridSearch.ps1 : Method invocation failed because [System.String] does not
contain a method named ‘SetProperty’.
Step-by-step script of my recent Hybrid SharePoint 2016 – Office 365 implementation:
Office 365 Prerequisites
On-Premises AD prerequisites
On-premises SharePoint Prerequisites
On-Premises AD prerequisites
Certificates
If you plan for inbound search of hybrid BCS – there are some more requirements
Steps:
Create S2S trust, i.e. trust relationship between on-premises SharePoint and Office 365.
(scripts: https://technet.microsoft.com/library/dn197169.aspx)
Hybrid Sites and Hybrid OnDrive for Business
Hybrid Sites Hybrid OnDrive for Business warnings:
Sources:
==================
Based on
Planning and Preparing for Microsoft SharePoint Hybrid by Jeremy Taylor
Hybrid Cloud Identity by Kirill Kotlyarenko
and personal experience