Skip to content

Instantly share code, notes, and snippets.

View keyan1603's full-sized avatar

Karthikeyan Manickavasagam keyan1603

View GitHub Profile
@keyan1603
keyan1603 / GetIPAddress.cs
Created September 20, 2023 18:24
Get a User’s country in Sitecore using Sitecore GeoIP feature
public string GetCountry()
{
var country = Sitecore.Analytics.Tracker.Current.Interaction.GeoData.Country;
if(string.IsNullOrWhiteSpace(country))
{
return GetCountryByIp();
}
return country;
}
@keyan1603
keyan1603 / TopViews.cs
Created September 20, 2023 18:25
Get top visited pages in Sitecore per site with multi-site setup
public IEnumerable<Dictionary<string, object>> TopViewedPages(int topPagesToGet, string siteName, int daysInterval, string language)
{
var provider = (ReportDataProvider)Factory.CreateObject("reporting/dataProvider", true);
var query = new ReportDataQuery(string.Format(@"SELECT TOP {0}
ItemId,
F.LanguageId,
SUM(Views) PageViewsCount,
SUM(Visits) PageVisitsCount
FROM Fact_PageViewsByLanguage F
INNER JOIN SiteNames S ON S.SiteNameId = F.SiteNameId
@keyan1603
keyan1603 / coveodistancesort.js
Created September 20, 2023 18:26
Coveo distance sort using Javascript framework on static devices with no geolocation data
Coveo.$$(search).on("buildingQuery",
function (e, args) {
var currentLatitude = getCookie("currentlatitude");
var currentLongitude = getCookie("currentlongitude");
var latitudeField = '@@' + CoveoForSitecore.Context.fields.toCoveo('latitude');
var longitudeField = '@@' + CoveoForSitecore.Context.fields.toCoveo('longitude');
var distanceField = CoveoForSitecore.Context.fields.toCoveo('distance');
if (currentLatitude != '' && currentLongitude != '') {
var geoQuery = "$qf(function:'dist(" + latitudeField + "," + longitudeField + "," + currentLatitude + "," + currentLongitude + ")', fieldName: 'distance') ";
if (args && args.queryBuilder) {
@keyan1603
keyan1603 / createssl.ps1
Created September 20, 2023 18:27
Create SSL – Self signed certificate for your localhost website
$dnsname = "mysite.com"
$pwd = ConvertTo-SecureString -String "123456" -Force -AsPlainText
$print = (New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname $dnsname).Thumbprint
$path = "c:\Windows\temp\cert.pfx"
Export-PfxCertificate -cert cert:\localMachine\my\$print -FilePath $path -Password $pwd
@keyan1603
keyan1603 / blockiframecookiesexample.html
Created September 20, 2023 18:31
Block iFrame cookies
<iframe sandbox="allow-scripts" src="..."></iframe>
@keyan1603
keyan1603 / UpdateFields.ps1
Created September 20, 2023 18:33
Update fields in Sitecore for all items based on a specific Template in all languages using Powershell script – with Progress bar
#Get all Product from the Master index for all languages.
#You can change this to get data from specific language codes
#like 'en', 'fr', etc.
$searchCriteria = @(
@{ Filter = "Equals"; Field = "_language"; Value = "*"; }
@{ Filter = "Equals"; Field = "_templatename"; Value = "Product"; }
)
#This script executes against Sitecore master index
$searchProps = @{
@keyan1603
keyan1603 / SitecoreAllowDuplicateName.config
Created September 20, 2023 18:34
Allow duplicate Item Names in Sitecore content tree at the same folder level
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/">
<sitecore>
<settings>
<setting name="AllowDuplicateItemNamesOnSameLevel" value="true" />
</settings>
</sitecore>
</configuration>
@keyan1603
keyan1603 / ResetSitecoreAdminPassword.sql
Created September 20, 2023 18:35
Reset Sitecore Admin account password without logging into Sitecore
UPDATE
[aspnet_Membership]
SET
[Password]='qOvF8m8F2IcWMvfOBjJYHmfLABc=',
[PasswordSalt]='OM5gu45RQuJ76itRvkSPFw==',
[IsApproved] = '1',
[IsLockedOut] = '0'
WHERE
UserId IN (
SELECT UserId FROM dbo.aspnet_Users WHERE UserName = 'sitecore\Admin'
@keyan1603
keyan1603 / SitecoreHelixLogging.cs
Created September 20, 2023 18:37
Sitecore Helix – Feature based logging framework
using System;
namespace MySite.Foundation.Common
{
public interface ILoggerService
{
#region Debug
void Debug(string message);
void Debug(string message, Exception ex);
#endregion
@keyan1603
keyan1603 / SitecoreHelixLoggingFramework.config
Created September 20, 2023 18:37
Sitecore Helix – Feature based logging framework - Config update
<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/" xmlns:env="http://www.sitecore.net/xmlconfig/env/">
<sitecore>
<log4net>
<appender name="MySite.Feature.Products" type="log4net.Appender.RollingFileAppender, Sitecore.Logging">
<file value="$(dataFolder)/logs/MySite.Feature.Products.log.{date}.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="-1" />