Surendra Sharma

Surendra Sharma

Search This Blog

Monday, December 3, 2018

Fixed : Sitecore 9.1 Installation Error - No registration found for extension 'OutNull' of type 'Task'

I was installing Sitecore 9.1 and started to receive error "No registration found for extension 'OutNull' of type 'Task'".

PS>TerminatingError(): "No registration found for extension 'OutNull' of type 'Task'."
>> TerminatingError(MapTasks): "The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: No registration found for extension 'OutNull' of type 'Task'."
>> TerminatingError(MapTasks): "The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: No registration found for extension 'OutNull' of type 'Task'."
Install-SitecoreConfiguration : No registration found for extension 'OutNull' of type 'Task'.
At C:\resourcefiles91\XP0-SingleDeveloper.ps1:74 char:1
+ Install-SitecoreConfiguration @singleDeveloperParams *>&1 | Tee-Objec ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Install-SitecoreConfiguration
Install-SitecoreConfiguration : No registration found for extension 'OutNull' of type 'Task'.
At C:\resourcefiles91\XP0-SingleDeveloper.ps1:74 char:1
+ Install-SitecoreConfiguration @singleDeveloperParams *>&1 | Tee-Objec ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Install-SitecoreConfiguration

   
Reason:
I already have SitecoreInstallFramework version 1.2.1 installed and now I installed SitecoreInstallFramework 2.0.0
.
 

After that I run the "XP0-SingleDeveloper.ps1" script and I started to receive this error.

The root cause was that PowerShell load all the available modules when its start up. If you installed any module then it will not available in PowerShell immediately.

Solution:
I just restarted PowerShell
to load the newly installed module and run the "XP0-SingleDeveloper.ps1" script. This time my script completed successfully.

Happy Sitecore 9.1 Installation.

Sitecore 9.1 making HELIX as de facto standard for website development

I installed Sitecore 9.1 and notice this change in content tree. You should get Foundation, Feature and Project items under layout, rendering and template in content tree.

I have not observed this in earlier versions of Sitecore 9.

I suppose Sitecore is pushing HELIX guidelines as de facto standard for all Sitecore website development.


Happy to see these items in Content tree.

Foundation, Feature, Project items in Sitecore 9.1
Foundation, Feature, Project items in Sitecore 9.1

Sunday, November 25, 2018

Course : Reinforcement Learning Explained

Finished the course "Reinforcement Learning Explained" successfully on EDX offered by Microsoft by 78%.

Reinforcement Learning Explained Score
Reinforcement Learning Explained Score


I study below modules in this course

  • Introduction to Reinforcement Learning
  • Bandits
  • The Reinforcement Learning Problem
  • Dynamic Programming
  • Temporal Difference Learning
  • Function Approximation
  • Policy Gradient and Actor Critic

Friday, November 16, 2018

Sitecore PowerShell script: Copy value of one field to another


I like Sitecore but I started to love Sitecore PowerShell. The way it’s interacting with Sitecore and allows developers to write command with C# code is amazing.

I have migrated SharePoint records in Sitecore in my earlier post.

This time I am bulk updating English and Arabic news items where news image field value is copied to another news fields “News List Image”.

cls
#input
$newsTemplateId = "{B69277AD-E917-4B9F-9136-A12E0A3E462F}"
$newsParentPath = "master:/sitecore/content/Habitat/Home/News"
$counter = 1

$allNewsItems = Get-ChildItem -Path $newsParentPath -Recurse
$filteredNewsItems = $allNewsItems | Where-Object { $_.TemplateId -eq $newsTemplateId }

foreach($newsItem in $filteredNewsItems) {
        if($newsItem.NewsListImage -eq "")
        {
            #Update English content
            $newsItem.Editing.BeginEdit()
            $newsItem.NewsListImage = $newsItem.NewsImage
            $newsItem.Editing.EndEdit()
   
            #Get Arebic Content    
            $newsArebicItem = Get-Item master: -ID $newsItem.ID -Language "ar-QA"
            #Check if Arebic content is exist
            if($newsArebicItem -ne $null)
            {
                #Update Arabic content  
                $newsArebicItem.Editing.BeginEdit()
                $newsArebicItem.NewsListImage = $newsArebicItem.NewsImage
                $newsArebicItem.Editing.EndEdit()
            }
            $counter
            $counter = $counter + 1
        }
        else
        {
            Write-Host "Image exist for item id " $newsItem.ID " and name " $newsItem.Name
        }
}

Feel free to use this script for bulk updating field values.

Saturday, November 10, 2018

Course : Learn React by building and deploying production ready app

There is one unstable factor in web technology and that's the shift of data processing on client and server side. 

With ASP, ASP.NET, JSP etc it was server side but within few years its shifted to client side due to JavaScript based frameworks. Every month I notice some new JavaScript based framework introduced.

Even Sitecore knows the importance of JavaScript based framework. That's the result of official launching and support of JSS.

Though I am not a big fan of JavaScript but somehow React.js impressed me more than Angular, knockout.

To update myself in recent scripting world, I completed course "Learn React by building and deploying production ready app" from Udemy.com

Learn React by building and deploying production ready app
Certificate : Learn React by building and deploying production ready app

Friday, November 2, 2018

Sitecore PowerShell Script: Change alt value of image items in Sitecore media library


Sitecore PowerShell Script to change media items alt tag with image description or display Name or item name


cls
#input
$mediaTemplateName = "Image"
$mediaParentPath = "master:/sitecore/media library/Project"
$counter = 1

$allMediaItems = Get-ChildItem -Path $MediaParentPath -Recurse
$filteredMediaItems = $allMediaItems | Where-Object { $_.Fields["Alt"].Value -eq "" -and [Sitecore.Data.Managers.TemplateManager]::GetTemplate($_).InheritsFrom("Image") }

foreach($MediaItem in $filteredMediaItems) {
       
        $altValue = $MediaItem.ImageDescription

        if($MediaItem.ImageDescription -eq "" -and $MediaItem.DisplayName -ne "")
        {
            $altValue = $MediaItem.DisplayName.Replace(".jpg", "").Replace(".JPG", "").Replace(".png", "").Replace(".PNG", "").Replace(".gif", "").Replace(".GIF", "")
        }
        elseif($MediaItem.ImageDescription -eq "" -and $MediaItem.Name -ne "")
        {
            $altValue = $MediaItem.Name
        }

        #Update Alt tag
        $MediaItem.Editing.BeginEdit()
        $MediaItem.Fields["Alt"].Value = $altValue
        $MediaItem.Editing.EndEdit()

        Write-Host $counter " -> " $altValue " -> " $MediaItem.ItemPath
        $counter = $counter + 1
}

Any suggestions or improvements are most welcome.