Skip to content

Instantly share code, notes, and snippets.

View kamsar's full-sized avatar
:shipit:
127.0.0.1

Kam Figy kamsar

:shipit:
127.0.0.1
View GitHub Profile
@kamsar
kamsar / gist:6407742
Created September 1, 2013 22:29
This class provides a method to 'upgrade' the hash algorithm used by the SqlMembershipProvider without resetting all existing passwords. Users can effectively then be authenticated using either legacy or modern hashes, and any time a hash gets touched it will be upgraded automatically.
using System;
using System.Collections.Specialized;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Web.Security;
@kamsar
kamsar / SqlServerWfmDataProvider.cs
Created October 9, 2013 15:46
WFM Connection String Provider
/// <summary>
/// Extends the standard WFM data provider to use a regular .NET connection string name instead of a bare connection string (such that we can store all connection strings in one file)
/// </summary>
public class SqlServerWfmDataProvider : WFMDataProvider
{
public SqlServerWfmDataProvider(string connectionStringName) : base(ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString)
{
}
}
@kamsar
kamsar / forms.config
Created October 9, 2013 15:49
forms.config modification for WFM connection string provider
<formsDataProvider type="My.Namespace.SqlServerWfmDataProvider, My.Assembly">
<param desc="connection string name">forms</param>
</formsDataProvider>
@kamsar
kamsar / async.cs
Created October 29, 2013 02:02
Demonstration of using async to grab a bunch of Sitecore queries in parallel Performance on a dual-core machine appeared to be 30-100% faster than iterative.
using System.Linq;
using Isite.Sitecore.UI.WebControls;
using Isite.Extensions;
using System.Web.UI;
using System.Threading.Tasks;
using Sitecore.Data.Items;
using System.Collections.Generic;
using System.Threading;
using Sitecore.Caching;
using System.Diagnostics;
@kamsar
kamsar / Serialization Config
Last active January 4, 2016 20:09
Unicorn 2 Multiple Serialization Roots and Presets
<serialization>
<default>
<include database="master" path="/sitecore/templates"/>
<include database="core" path="/sitecore">
<exclude path="/sitecore/content/Home" />
</include>
</default>
<templates>
<include database="master" path="/sitecore/templates"/>
</templates>
@kamsar
kamsar / SampleController.cs
Created May 3, 2014 02:56
Web API attribute routing sample controller
using System.Collections.Generic;
using System.Web.Http;
namespace Foo.Web.Sites.ExampleSite.Shared.Data
{
// for more on Attribute Routing (used in this sample to create routes), see http://blogs.msdn.com/b/webdev/archive/2013/10/17/attribute-routing-in-asp-net-mvc-5.aspx
// the RoutePrefix is the base path to the API controller
[RoutePrefix("ExampleSite/api/Sample")]
// this defines how to perform default route lookups on methods (e.g. this routes the action to a method of the same name like asp.net MVC, and sets Get() to the default action)
@kamsar
kamsar / WebApiConfig.cs
Created May 3, 2014 02:58
Sitecore Web API registration
using System.Net.Http.Formatting;
using System.Web.Http;
using Foo.Web;
// automatically exectute this class' Start() method right after Application_Start (without needing to change global.asax)
[assembly: WebActivatorEx.PostApplicationStartMethod(typeof(WebApiConfig), "Start")]
namespace Foo.Web
{
public static class WebApiConfig
@kamsar
kamsar / SubcontentField.cs
Last active September 10, 2018 07:53
Subcontent Computed Field
using System.Collections.Generic;
using System.Linq;
using Blade.Utility;
using Sitecore;
using Sitecore.ContentSearch;
using Sitecore.ContentSearch.ComputedFields;
using Sitecore.Data.Fields;
using Sitecore.Data.Items;
using Sitecore.Layouts;
@kamsar
kamsar / zContentSearch.config
Created May 15, 2014 03:32
SubcontentField registration patch
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<contentSearch>
<indexConfigurations>
<defaultLuceneIndexConfiguration>
<fields hint="raw:AddComputedIndexField">
<!-- indexes subcontent contents into parent's _content field in the index (for better site search) -->
<field fieldName="_content" type="Foo.ContentSearch.ComputedFields.SubcontentField, Foo" />
</fields>
</defaultLuceneIndexConfiguration>
@kamsar
kamsar / AutoEncryptConnectionStrings.cs
Created July 16, 2014 00:55
Automatic web.config encryption example
using System.Configuration;
using System.Web;
using System.Web.Configuration;
using Foo.Web;
[assembly: WebActivatorEx.PostApplicationStartMethod(typeof(AutoEncryptConnectionStrings), "AutoEncrypt")]
namespace Foo.Web
{
public class AutoEncryptConnectionStrings