├── .gitignore ├── README.md ├── _config.yml ├── _includes ├── nav_site.html ├── site_footer.html └── site_header.html ├── _layouts ├── default.html ├── home.html └── onecol.html ├── commerce-connect ├── FindCart.cs ├── Nop.Plugins.zip ├── OBEC_Installation_Guide.pdf ├── Sitecore Commerce Connect Connectors NopCommerce 8.0 rev. 150127.zip ├── Sitecore Commerce Connect StarterKit 8.0 rev. 150127.zip └── Sitecore.Commerce.Connectors.NopCommerce.NoEAStateStorage.config ├── community └── index.md ├── documentation ├── DMS │ └── index.md ├── Data Definition │ └── index.md ├── Defining Data │ └── index.md ├── Development Processes │ └── index.md ├── Diagnostics │ └── index.md ├── Extending the Sitecore Client │ └── index.md ├── IoC │ └── index.md ├── Mobile │ ├── index.md │ └── responsive-adaptive-separate-site │ │ └── index.md ├── Modules │ └── index.md ├── Scaling and Optimization │ └── index.md ├── Search │ └── index.md ├── Services and ORMs │ └── index.md ├── Sitecore 7-5 │ └── index.md ├── Sitecore 8 │ └── index.md ├── Sitecore Azure │ └── index.md ├── Sitecore Best Practices │ └── index.md ├── Sitecore Fundamentals │ ├── Asynchronous Tasks │ │ └── index.md │ ├── Authorizations │ │ └── index.md │ ├── Caching │ │ └── index.md │ ├── Data Providers │ │ ├── Implementing a Data Provider │ │ │ ├── API │ │ │ │ ├── DataProvider │ │ │ │ │ └── index.md │ │ │ │ └── index.md │ │ │ ├── Mapping Identifiers │ │ │ │ └── index.md │ │ │ ├── Non-hierarchical data │ │ │ │ └── index.md │ │ │ ├── Publishing │ │ │ │ └── index.md │ │ │ ├── Search │ │ │ │ └── index.md │ │ │ ├── Templates │ │ │ │ └── index.md │ │ │ └── index.md │ │ └── index.md │ ├── Logging │ │ └── index.md │ ├── Patch Files │ │ └── index.md │ ├── Providers │ │ └── index.md │ ├── Rules Engine │ │ └── index.md │ ├── Settings │ │ └── index.md │ ├── Sitecore Configuration Factory │ │ └── index.md │ └── index.md ├── Sitecore Services Layer │ ├── Play with Item Services │ │ └── index.md │ └── index.md ├── Sitecore and Media │ └── index.md ├── Upgrades and Migrating │ └── index.md └── User Groups │ └── index.md ├── download └── index.md ├── favicon.ico ├── files └── Sitecore.ItemServices.examples.postman_collection.json ├── google5bfe650617552bca.html ├── how-to-help └── index.md ├── humans.txt ├── images ├── Engagement Automation │ └── Testing Plan │ │ ├── Condition1.png │ │ ├── InitialStatePageEventSubscription.png │ │ ├── Page1.png │ │ ├── What_to_Open_Marketing_Control_Panel.png │ │ ├── engPlan1.png │ │ ├── home_item.png │ │ ├── howitworks1.png │ │ ├── howitworks10.png │ │ ├── howitworks11.png │ │ ├── howitworks12.png │ │ ├── howitworks13.png │ │ ├── howitworks2.png │ │ ├── howitworks3.png │ │ ├── howitworks4.png │ │ ├── howitworks5.png │ │ ├── howitworks6.png │ │ ├── howitworks7.png │ │ ├── howitworks8.png │ │ ├── howitworks9.png │ │ └── page1_item.png ├── Explaining tables in Reporting db │ ├── 1 Tables list.png │ └── 2_dashboard.png ├── Extending reports │ ├── aggregatedData.png │ ├── areChartOnReport.png │ ├── areaChartLayout.png │ ├── browsersReport.png │ ├── configAndCode.png │ ├── dimensionItem1.png │ ├── dimensionTransformerConfig.png │ ├── fieldsTrendingBrowsers.png │ ├── idsMapping.png │ ├── noDashes.png │ ├── overviewReport.png │ ├── robomongo1.png │ └── speakLayout.png ├── Outcomes │ ├── Marketing center.JPG │ └── xdb_outcome.JPG ├── Refreshing reports │ ├── connectionStrings.png │ ├── emptyDashboard.png │ ├── reportSitecore8.png │ └── workaroundCast.png ├── SitecoreServicesClient │ └── Postman_login.png ├── banner.jpg ├── banner2.png ├── connect-project-to-rocks.png ├── create-corresponding-item.PNG ├── create-new-view-rendering.png ├── create-view-rendering.PNG ├── data-providers-GetLanguages.png ├── folder-list.PNG ├── logo.png ├── logo2.png ├── path-of-view-rendering.PNG ├── project-rocks-properties.PNG ├── search │ └── solr │ │ ├── Configuring-Solr-for-use-with-Sitecore-8 │ │ ├── addcore.png │ │ ├── bitnamistart.png │ │ ├── configsets.png │ │ └── solrfolder.png │ │ ├── fast-track │ │ ├── corefolder.png │ │ ├── corefolderdone.png │ │ ├── disablelucene.png │ │ ├── enablesolr.png │ │ ├── solrrunning.png │ │ ├── solrstart.png │ │ └── solrstarted.png │ │ └── installing-solr-using-the-bitnami-apache-solr-stack │ │ ├── bitnami-1.png │ │ ├── bitnami-2.png │ │ ├── bitnami-3.png │ │ ├── bitnami-4.png │ │ ├── bitnami-5.png │ │ ├── bitnami-6.png │ │ ├── bitnami-7.png │ │ └── bitnami-8.png ├── sesssion │ ├── local-env.PNG │ ├── single-cluster-session.png │ └── sticky-sessions-are-no.PNG ├── sitecore-rocks-install.PNG ├── smtp.PNG ├── smtp2.PNG └── smtp3.PNG ├── index.html ├── learn └── index.md ├── pipelines-and-events ├── events │ └── index.md └── pipelines │ ├── extending-creating-pipelines │ └── index.md │ ├── index.md │ └── pipeline-processors │ └── index.md ├── resources-overview └── index.md ├── search-results └── index.md ├── search ├── index.md └── solr │ ├── Configuring-Solr-for-use-with-Sitecore-8 │ └── index.md │ ├── Install-and-configure-SolrCloud │ └── index.md │ ├── fast-track-solr-for-lazy-developers │ └── index.md │ ├── index.md │ └── installing-solr-using-the-bitnami-apache-solr-stack │ └── index.md ├── site-assets ├── css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ └── custom.css ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ ├── glyphicons-halflings-regular.woff2 │ ├── kievit-light-italic.eot │ ├── kievit-light.eot │ ├── kievit-light.svg │ ├── kievit-light.ttf │ └── kievit-light.woff └── js │ ├── bootstrap.js │ └── bootstrap.min.js ├── sitecore-basics └── installing-sitecore │ ├── index.md │ └── setting-up-mongodb │ └── index.md ├── sitecore-mvc ├── controller-renderings │ └── index.md ├── creating-project │ └── index.md ├── index.md ├── rendering-content │ └── index.md └── view-renderings │ └── index.md ├── sitecore-speak ├── index.md ├── sitecore-speak-11 │ └── index.md └── sitecore-speak-20 │ └── index.md ├── unofficial └── index.md └── xDB ├── Engagement Automation ├── create-a-plan │ └── index.md ├── debug-a-plan │ ├── Sample layout.aspx │ └── index.md └── index.md ├── contact-facets └── index.md ├── experience-marketing-interfaces └── launch-pad │ └── index.md ├── index.md ├── outcomes └── index.md ├── reports ├── explaining-tables-in-reporting-db │ └── index.md ├── extending-experience-analytics-reports │ └── index.md ├── generating-data │ └── index.md └── how-to-refresh-reports │ └── index.md ├── the-xdb-contact ├── index.md └── work-with-contact │ └── index.md └── xdb-architecture ├── overview └── index.md └── xdb-session-state └── index.md /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | node_modules 3 | validation-report.json 4 | validation-status.json 5 | /archive 6 | .vscode 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Sitecore Community Docs 2 | Community-driven documentation and sign-posting. 3 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Name of your blog (this will show up at the top of your page and in the RSS feed) 2 | name: Sitecore Community Documentation 3 | 4 | # Short description (goes below the title; it will also be used in the RSS feed) 5 | description: This is a sample Jekyll Blog. 6 | 7 | # Your name, as you want it to appear underneath each post and in the footer 8 | author: Martina Welander 9 | 10 | # Your email if you want it to be linked on the contact page 11 | author_email: maw@sitecore.net 12 | 13 | # The directory for category index pages. Change it to something else if 14 | # for example you want links like /categories/category1 instead of /category1 15 | category_dir: / 16 | 17 | # Uncomment if you are planning to run the blog in a subdirectory 18 | # Note - if you enable this, and attempt to view your site locally you have to use the baseurl in your local path. 19 | # Example, you must use http://localhost:4000/path/to/blog 20 | #baseurl: /path/to/blog 21 | baseurl: /docs 22 | 23 | # The URL of your actual domain. This will be used to make absolute links in the RSS feed. 24 | url: http://sitecore-community.github.io/ 25 | 26 | #### Under the Hood Stuff ##### 27 | 28 | # Use rdiscount as the markdown engine because it generates html5 compliant code for stuff like footnotes 29 | # If you use maroku (default engine) some of your generated pages may not validate or lint as html5 30 | # If you don't have it install it via gem install rdiscount 31 | markdown: kramdown 32 | 33 | # Makes pretty (descriptive) permalinks. See Jekyll docs for alternatives. 34 | permalink: pretty 35 | 36 | # How many articles do you wish to appear on the front page: 37 | paginate: 3 38 | 39 | # Exclude metadata and development time dependencies (like Grunt plugins) 40 | exclude: [README.markdown, package.json, grunt.js, Gruntfile.js, Gruntfile.coffee, node_modules] 41 | 42 | # Highlighter 43 | highlighter: rouge 44 | 45 | gems: 46 | - jekyll-redirect-from -------------------------------------------------------------------------------- /_includes/site_footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 21 | 22 | 65 | 66 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /_includes/site_header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Sitecore Community Documentation - {{page.title}} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 64 | 65 | 66 | 67 | 68 | 69 |
70 | 71 | {% if page.layout == "home" %} 72 | 73 | 74 |

Sitecore documentation written by developers

75 | 76 | 77 | {% endif %} 78 | 79 |
80 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | {% include site_header.html %} 3 |
4 | 5 |

{{ page.title }}

6 | 7 |
8 | 9 | {{content}} 10 | 11 |
12 | 23 | 24 | 25 | 26 |
27 | 33 | {% include site_footer.html %} -------------------------------------------------------------------------------- /_layouts/home.html: -------------------------------------------------------------------------------- 1 | {% include site_header.html %} 2 | 3 |
4 |
5 | {{content}} 6 |
7 |
8 | 9 | {% include site_footer.html %} -------------------------------------------------------------------------------- /_layouts/onecol.html: -------------------------------------------------------------------------------- 1 | 2 | {% include site_header.html %} 3 | 4 |
5 | 6 |

{{ page.title }}

7 | 8 |
9 | 10 | {{content}} 11 | 12 |
13 |
14 | {% include site_footer.html %} -------------------------------------------------------------------------------- /commerce-connect/FindCart.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) Sitecore Corporation 1999-2014 4 | // 5 | // 6 | // Processor performs search for cart in EA state. 7 | // 8 | // -------------------------------------------------------------------------------------------------------------------- 9 | 10 | // DOCDONE 11 | 12 | namespace Sitecore.Commerce.Connectors.NopCommerce.Pipelines.Carts.GetCarts 13 | { 14 | using System.Linq; 15 | using Sitecore.Diagnostics; 16 | using Sitecore.Commerce.Data.Carts; 17 | using Sitecore.Commerce.Services.Carts; 18 | using Sitecore.Commerce.Pipelines; 19 | using Sitecore.Analytics; 20 | 21 | /// 22 | /// Searches for a visitor cart in its current Engagement Automation (EA) state with the following input parameters: 23 | /// 24 | /// 25 | /// 26 | /// UserID 27 | /// 28 | /// 29 | /// 30 | /// 31 | /// CustomerID 32 | /// 33 | /// 34 | /// 35 | /// 36 | /// CartName 37 | /// 38 | /// 39 | /// 40 | /// 41 | /// ShopName 42 | /// 43 | /// 44 | /// 45 | /// If a matching cart is found, the custom pipeline argument args.Request.Properties[“CartID”] is assigned to the the ID of the matching cart. 46 | /// In the CreateOrResumeCart pipeline, the RunLoadCart processor uses the cart ID stored in the custom data. 47 | /// You can use the FindCartInEaState processor to search and retrieve the ID of an existing cart before executing the RunLoadCart processor. 48 | /// 49 | public class FindCart : PipelineProcessor 50 | { 51 | /// 52 | /// Allows Create, Read, Update, and Delete operations to be performed on the shopping carts that are stored in the Engagement Automation states. 53 | /// 54 | private readonly ICartRepository repository; 55 | 56 | /// 57 | /// Initializes a new instance of the class. 58 | /// 59 | /// The repository. 60 | public FindCart([NotNull] ICartRepository repository) 61 | { 62 | Assert.ArgumentNotNull(repository, "repository"); 63 | 64 | this.repository = repository; 65 | } 66 | 67 | /// 68 | /// Executes the business logic of the FindCartInEaState processor. 69 | /// 70 | /// The args. 71 | public override void Process([NotNull] ServicePipelineArgs args) 72 | { 73 | Assert.ArgumentNotNull(args, "args"); 74 | 75 | var request = (CreateOrResumeCartRequest)args.Request; 76 | args.Request.Properties["CartId"] = Tracker.Current.Contact.ContactId.ToString(); 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /commerce-connect/Nop.Plugins.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/commerce-connect/Nop.Plugins.zip -------------------------------------------------------------------------------- /commerce-connect/OBEC_Installation_Guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/commerce-connect/OBEC_Installation_Guide.pdf -------------------------------------------------------------------------------- /commerce-connect/Sitecore Commerce Connect Connectors NopCommerce 8.0 rev. 150127.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/commerce-connect/Sitecore Commerce Connect Connectors NopCommerce 8.0 rev. 150127.zip -------------------------------------------------------------------------------- /commerce-connect/Sitecore Commerce Connect StarterKit 8.0 rev. 150127.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/commerce-connect/Sitecore Commerce Connect StarterKit 8.0 rev. 150127.zip -------------------------------------------------------------------------------- /commerce-connect/Sitecore.Commerce.Connectors.NopCommerce.NoEAStateStorage.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /community/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Sitecore's Community 4 | --- 5 | 6 | ## Sitecore Community Portal 7 | 8 | Sitecore's official community portal with discussion and support forums. 9 | 10 | - [Sitecore Community](https://community.sitecore.net/) 11 | 12 | ## Sitecore Stack Exchange 13 | 14 | Stack Exchange site dedicated to Sitecore 15 | 16 | - [Sitecore Stack Exchange](http://sitecore.stackexchange.com) 17 | 18 | ## Stack Overflow 19 | 20 | Questions tagged with `sitecore` on the general Stack Overflow site. 21 | 22 | - [Sitecore on Stack Overflow](http://stackoverflow.com/questions/tagged/sitecore) 23 | 24 | ## Sitecore Slack Chat 25 | 26 | Slack workspace dedicated to Sitecore with topic-specific channels. 27 | 28 | - [Sitecore Slack Chat](https://sitecorechat.slack.com/) 29 | - [Signup](http://bit.ly/SitecoreSlackSignup) 30 | 31 | ## User Groups 32 | 33 | Find and attend your local User Group 34 | 35 | - [Current list of User Groups](https://sitecore.stackexchange.com/a/1690/1106) 36 | 37 | ## Twitter 38 | 39 | We have a thriving community on Twitter. Make sure you follow [MasterSitecore](http://www.twitter.com/mastersitecore)! -------------------------------------------------------------------------------- /documentation/DMS/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: DMS 4 | --- 5 | 6 | ## DMS 7 | Note: DMS (Digital Marketing Suite) was replaced by [/docs/documentation/Sitecore 7-5](xDB and Experience Marketing in Sitecore 7.5). 8 | 9 | ### Blog Posts 10 | * [http://blog.horizontalintegration.com/2014/03/26/sitecore-analytics-disable-page-views-for-mvc-routes](http://blog.horizontalintegration.com/2014/03/26/sitecore-analytics-disable-page-views-for-mvc-routes) 11 | * [http://blog.horizontalintegration.com/2014/03/24/sitecore-dms-set-up-maxmind-webservice-for-geo-ip-lookup/](http://blog.horizontalintegration.com/2014/03/24/sitecore-dms-set-up-maxmind-webservice-for-geo-ip-lookup/) 12 | * [http://blog.horizontalintegration.com/2013/11/19/sitecore-dms-trigger-goals-programatically/](http://blog.horizontalintegration.com/2013/11/19/sitecore-dms-trigger-goals-programatically/) 13 | * [http://blog.horizontalintegration.com/2013/07/08/personalize-sitecore-dms-using-referring-sites/](http://blog.horizontalintegration.com/2013/07/08/personalize-sitecore-dms-using-referring-sites/) 14 | * [http://visionsincode.wordpress.com/2014/04/02/track-a-visitors-coordinates-in-the-sitecore-dms/](http://visionsincode.wordpress.com/2014/04/02/track-a-visitors-coordinates-in-the-sitecore-dms/) 15 | * [http://visionsincode.wordpress.com/2014/05/04/geofencing-with-real-time-geodata-in-sitecore-dms/](http://visionsincode.wordpress.com/2014/05/04/geofencing-with-real-time-geodata-in-sitecore-dms/) 16 | * [http://laubplusco.net/category/analytics/](http://laubplusco.net/category/analytics/) 17 | * [http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Damian-Brooks/Posts/2014/10/03102014.aspx](http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Damian-Brooks/Posts/2014/10/03102014.aspx) 18 | * [Sitecore DMS For Beginners: Part-1](http://sitecorejourney.nileshthakkar.in/2014/03/a-beginning-journey-of-dms.html) 19 | * [Sitecore DMS For Beginners: Part-2](http://sitecorejourney.nileshthakkar.in/2014/04/a-beginners-guide-to-sitecore-dms-part-2.html) 20 | -------------------------------------------------------------------------------- /documentation/Data Definition/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Data Definition 4 | --- 5 | 6 | #Official Sitecore Documentation (7.0 - 7.2) 7 | 8 | * [Data Definition Reference](http://sdn.sitecore.net/Reference/Sitecore%207/Data%20Definition%20Reference.aspx) 9 | An overview of the Sitecore tree, items, data templates, and field types. 10 | * [Data Definition Cookbook](http://sdn.sitecore.net/Reference/Sitecore%207/Data%20Definition%20Cookbook.aspx) 11 | A list of **how tos** for setting up your site's tree structure - creating data templates, assigning icons, creating items. Also includes a section on the **insert options pipeline**. 12 | * [Data Definition API Cookbook](http://sdn.sitecore.net/Reference/Sitecore%207/Data%20Definition%20API%20Cookbook.aspx) 13 | How to access data templates programmatically. 14 | 15 | # Blog posts -------------------------------------------------------------------------------- /documentation/Defining Data/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/documentation/Defining Data/index.md -------------------------------------------------------------------------------- /documentation/Diagnostics/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Diagnostics, Troubleshooting, and Testing 4 | --- 5 | 6 | # Diagnostics, Troubleshooting, and Testing 7 | 8 | ### Blog Posts 9 | 10 | * [http://kate-butenko.blogspot.dk/2012/07/types-of-i-need-your-dump-issues.html](http://kate-butenko.blogspot.dk/2012/07/types-of-i-need-your-dump-issues.html) 11 | * [http://sitecorebasics.wordpress.com/2011/04/16/testing-database-performance/ ](http://sitecorebasics.wordpress.com/2011/04/16/testing-database-performance/ ) 12 | * [http://sitecorebasics.wordpress.com/2011/10/02/basics-of-memorymonitorhook ](http://sitecorebasics.wordpress.com/2011/10/02/basics-of-memorymonitorhook ) 13 | * [http://sitecorebasics.wordpress.com/2011/03/01/sitecore-performance/ ](http://sitecorebasics.wordpress.com/2011/03/01/sitecore-performance/ ) 14 | * [http://laubplusco.net/category/fighting-google-page-speed/](http://laubplusco.net/category/fighting-google-page-speed/) 15 | * [http://sitecorebasics.wordpress.com/2013/03/27/sitecore-troubleshooting-path/ ](http://sitecorebasics.wordpress.com/2013/03/27/sitecore-troubleshooting-path/ ) 16 | * [http://sitecorebasics.wordpress.com/2011/04/25/basics-of-sql-profiling/ ](http://sitecorebasics.wordpress.com/2011/04/25/basics-of-sql-profiling/ ) 17 | * [http://sitecorebasics.wordpress.com/2011/07/30/basics-of-counterdumpagent](http://sitecorebasics.wordpress.com/2011/07/30/basics-of-counterdumpagent) 18 | * [http://kevinobee.wordpress.com/2013/03/14/testing-strategies/](http://kevinobee.wordpress.com/2013/03/14/testing-strategies/) 19 | * [http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/03/7-tips-automated-Sitecore-testing-Selenium.aspx](http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/03/7-tips-automated-Sitecore-testing-Selenium.aspx) 20 | 21 | ## Tools 22 | * [http://sitecore.unic.com/2014/08/11/sitecore-glimpse](http://sitecore.unic.com/2014/08/11/sitecore-glimpse) 23 | * [http://kevinobee.github.io/Sitecore.Glimpse/](http://kevinobee.github.io/Sitecore.Glimpse/) 24 | -------------------------------------------------------------------------------- /documentation/Extending the Sitecore Client/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Extending the Sitecore Client 4 | --- 5 | 6 | #Extending the Sitecore Client 7 | 8 | ## Sheer UI 9 | 10 | **NOTE**: Sheer UI is being replaced by SPEAK. 11 | 12 | ### Blog Posts 13 | 14 | * [https://markstiles.net/Blog/2014/01/05/Sheer-UI-1-A-Tale-of-Two-Systems.aspx](https://markstiles.net/Blog/2014/01/05/Sheer-UI-1-A-Tale-of-Two-Systems.aspx) 15 | * [https://markstiles.net/Blog/2014/01/05/Sheer-UI-2-Hello-World.aspx](https://markstiles.net/Blog/2014/01/05/Sheer-UI-2-Hello-World.aspx) 16 | * [https://markstiles.net/Blog/2014/01/05/Sheer-UI-3-Syntax-and-Controls.aspx](https://markstiles.net/Blog/2014/01/05/Sheer-UI-3-Syntax-and-Controls.aspx) 17 | * [https://markstiles.net/Blog/2014/02/01/Sheer-UI-4-Building-A-Wizard.aspx](https://markstiles.net/Blog/2014/02/01/Sheer-UI-4-Building-A-Wizard.aspx) 18 | * [http://learnsitecore.cmsuniverse.net/en/Developers/Articles/2009/10/My-First-Sitecore-XAML-Application.aspx](http://learnsitecore.cmsuniverse.net/en/Developers/Articles/2009/10/My-First-Sitecore-XAML-Application.aspx) 19 | * [http://jockstothecore.com/tag/sheer/](http://jockstothecore.com/tag/sheer/) 20 | * [http://sitecorejunkie.com/category/context-menu/](http://sitecorejunkie.com/category/context-menu/) 21 | * [http://sitecorejunkie.com/category/commands/](http://sitecorejunkie.com/category/commands/) 22 | 23 | ### Video 24 | 25 | * [https://www.youtube.com/watch?v=VJiFzRLpLtE](https://www.youtube.com/watch?v=VJiFzRLpLtE) 26 | -------------------------------------------------------------------------------- /documentation/IoC/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: IoC and Dependency Injection 4 | --- 5 | 6 | # IoC and Dependency Injection 7 | 8 | **Related**: [Sitecore MVC](/docs/documentation/Sitecore MVC/index.html) 9 | 10 | ## Blog Posts 11 | 12 | * [http://cardinalcore.co.uk/2014/07/11/container-agnostic-dependency-injection/](http://cardinalcore.co.uk/2014/07/11/container-agnostic-dependency-injection/) 13 | * [http://cardinalcore.co.uk/agnostic-ioc/getting-started/](http://cardinalcore.co.uk/agnostic-ioc/getting-started/) 14 | * [http://cardinalcore.co.uk/category/ioc-2/](http://cardinalcore.co.uk/category/ioc-2/) 15 | * [http://cardinalcore.co.uk/2014/07/02/sitecore-pipelines-commands-using-ioc-containers/](http://cardinalcore.co.uk/2014/07/02/sitecore-pipelines-commands-using-ioc-containers/) 16 | * [http://kevinobee.wordpress.com/2013/11/12/dependency-injection-with-sitecore/](http://kevinobee.wordpress.com/2013/11/12/dependency-injection-with-sitecore/) 17 | * [http://www.partechit.nl/en/blog/2014/09/sitecore-abstractions-dll-in-sitecore-7-5](http://www.partechit.nl/en/blog/2014/09/sitecore-abstractions-dll-in-sitecore-7-5) -------------------------------------------------------------------------------- /documentation/Mobile/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Sitecore and Mobile 4 | --- 5 | 6 | # Sitecore and Mobile 7 | 8 | --------------------------------------- 9 | 10 | ## [Responsive, adaptive, or separate site](/docs/documentation/Mobile/responsive-adaptive-separate-site/index.html) 11 | 12 | This section looks at the different ways of approaching mobile with a Sitecore site, and the pros and cons of each. 13 | 14 | --------------------------------------- 15 | 16 | ## Sitecore Mobile Apps 17 | 18 | [http://sdn.sitecore.net/Products/Sitecore%20Mobile%20Apps.aspx](http://sdn.sitecore.net/Products/Sitecore%20Mobile%20Apps.aspx) (includes [**Executive Insight Dashboard app for Apple IPad**](http://sdn.sitecore.net/Products/Sitecore%20Mobile%20Apps/Apple%20iOS%20Apps/Executive%20Insight%20Dashboard%20app%20for%20Apple%20iPad.aspx)) 19 | 20 | ## Blog Posts 21 | 22 | * [http://varunvns.wordpress.com/2014/09/17/my-first-windows-app-sitecorevideos/](http://varunvns.wordpress.com/2014/09/17/my-first-windows-app-sitecorevideos/) 23 | 24 | # Mobile SDKs 25 | 26 | "The Sitecore Mobile SDK is divided into two frameworks (one for Apple iOS and another for Google Android) that are designed to help developers produce native platform apps that use and serve content that is managed by the Sitecore CEP." (SDN Introduction) 27 | 28 | * [http://sdn.sitecore.net/Products/Sitecore%20Mobile%20SDK.aspx](http://sdn.sitecore.net/Products/Sitecore%20Mobile%20SDK.aspx) (Official SDN Overview) 29 | * [https://github.com/Sitecore/sitecore-ios-sdk](https://github.com/Sitecore/sitecore-ios-sdk) 30 | * [https://github.com/Sitecore/sitecore-android-sdk](https://github.com/Sitecore/sitecore-android-sdk) 31 | -------------------------------------------------------------------------------- /documentation/Modules/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Modules 4 | --- 5 | 6 | # Modules 7 | 8 | ## Official Modules 9 | 10 | ### Social Connected 11 | 12 | #### Video 13 | 14 | * [https://www.youtube.com/watch?v=UcglkGSYLVU - by Kern Herskind Nightingale](https://www.youtube.com/watch?v=UcglkGSYLVU) 15 | 16 | ### Email Campaign Manager 17 | 18 | #### Blog Posts 19 | * [http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Sitecore-Magnified.aspx](http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Sitecore-Magnified.aspx) 20 | * [http://www.newguid.net/category/sitecore/sitecore-modules/email-campaign-manager-sitecore/](http://www.newguid.net/category/sitecore/sitecore-modules/email-campaign-manager-sitecore/) 21 | * [http://www.aroundcode.com/2013/04/send-non-campaign-emails-with-sitecore-ecm/](http://www.aroundcode.com/2013/04/send-non-campaign-emails-with-sitecore-ecm/) 22 | * [http://mikerobbins.co.uk/2014/02/03/custom-tokens-in-email-campaign-manager/](http://mikerobbins.co.uk/2014/02/03/custom-tokens-in-email-campaign-manager/ ) 23 | 24 | #### Projects / Resources 25 | 26 | * [https://github.com/katebutenko/ECMReports](https://github.com/katebutenko/ECMReports) 27 | * [https://github.com/katebutenko/ImprovedUserImport](https://github.com/katebutenko/ImprovedUserImport) 28 | 29 | ### Web Forms for Marketers 30 | * [http://sitecorejunkie.com/category/web-forms-for-marketers/](http://sitecorejunkie.com/category/web-forms-for-marketers/) 31 | * [http://blogs.perficient.com/microsoft/2014/04/web-forms-for-marketers-mvc-and-the-sitecore-page-editor/](http://blogs.perficient.com/microsoft/2014/04/web-forms-for-marketers-mvc-and-the-sitecore-page-editor/) 32 | * [http://cardinalcore.co.uk/2014/10/08/web-form-for-marketers-mvc-hijacked-my-pipeline/] (http://cardinalcore.co.uk/2014/10/08/web-form-for-marketers-mvc-hijacked-my-pipeline/) 33 | * [http://mikerobbins.co.uk/2014/10/15/write-to-web-forms-programmatically/](http://mikerobbins.co.uk/2014/10/15/write-to-web-forms-programmatically/) 34 | 35 | ## Recommmended Marketplace Modules 36 | * [https://marketplace.sitecore.net/en/Modules/Markdown_for_Sitecore.aspx](https://marketplace.sitecore.net/en/Modules/Markdown_for_Sitecore.aspx) 37 | * [https://marketplace.sitecore.net/en/Modules/Sitecore_PowerShell_console.aspx](https://marketplace.sitecore.net/en/Modules/Sitecore_PowerShell_console.aspx) 38 | * [https://marketplace.sitecore.net/en/Modules/Sitecore_Error_Manager.aspx](https://marketplace.sitecore.net/en/Modules/Sitecore_Error_Manager.aspx) 39 | * [https://marketplace.sitecore.net/Modules/Sitecore_Log_Analyzer.aspx](https://marketplace.sitecore.net/Modules/Sitecore_Log_Analyzer.aspx) 40 | * [https://marketplace.sitecore.net/Modules/Sitecore_Instance_Manager.aspx](https://marketplace.sitecore.net/Modules/Sitecore_Instance_Manager.aspx) 41 | * [https://marketplace.sitecore.net/Modules/WeBlog.aspx](https://marketplace.sitecore.net/Modules/WeBlog.aspx) 42 | * [https://marketplace.sitecore.net/Modules/Analytics_Database_Manager.aspx](https://marketplace.sitecore.net/Modules/Analytics_Database_Manager.aspx) 43 | * [https://marketplace.sitecore.net/Modules/301_Redirect_module.aspx?sc_lang=en](https://marketplace.sitecore.net/Modules/301_Redirect_module.aspx?sc_lang=en) 44 | * [https://marketplace.sitecore.net/en/Modules/Index_Viewer.aspx](https://marketplace.sitecore.net/en/Modules/Index_Viewer.aspx) 45 | * [https://marketplace.sitecore.net/Modules/Site_Under_Maintenance_-_SUM.aspx](https://marketplace.sitecore.net/Modules/Site_Under_Maintenance_-_SUM.aspx) 46 | * [https://marketplace.sitecore.net/en/Modules/Sitecore_Informatics.aspx](https://marketplace.sitecore.net/en/Modules/Sitecore_Informatics.aspx) [(or visit the project's own site)](http://nileshthakkar.github.io/Sitecore-Informatics/) 47 | * [https://marketplace.sitecore.net/Modules/Lock_Pick.aspx](https://marketplace.sitecore.net/Modules/Lock_Pick.aspx) 48 | * [https://marketplace.sitecore.net/Modules/Sitecore_Pull_Up_Fields.aspx](https://marketplace.sitecore.net/Modules/Sitecore_Pull_Up_Fields.aspx) 49 | * [https://marketplace.sitecore.net/Modules/Revolver.aspx](https://marketplace.sitecore.net/Modules/Revolver.aspx) 50 | 51 | ### Blog Posts 52 | * [http://sitecorebasics.wordpress.com/2011/04/27/cache-tuner-user-guide/ ](http://sitecorebasics.wordpress.com/2011/04/27/cache-tuner-user-guide/) 53 | * [http://sitecorebasics.wordpress.com/2011/06/01/quick-item-search-user-guide/ ](http://sitecorebasics.wordpress.com/2011/06/01/quick-item-search-user-guide/ ) 54 | * [http://sitecorebasics.wordpress.com/2014/02/10/package-history-v2-user-guide/ ](http://sitecorebasics.wordpress.com/2014/02/10/package-history-v2-user-guide/ ) 55 | * [http://sitecorebasics.wordpress.com/2012/06/07/sclogexplorer-user-guide/](http://sitecorebasics.wordpress.com/2012/06/07/sclogexplorer-user-guide/) 56 | * [https://marketplace.sitecore.net/en/Modules/Datasource_indexer] 57 | * [http://sitecorejunkie.com/2013/09/20/expand-tokens-on-sitecore-items-using-a-custom-command-in-revolver/](http://sitecorejunkie.com/2013/09/20/expand-tokens-on-sitecore-items-using-a-custom-command-in-revolver/) 58 | * [http://sitecorejunkie.com/category/sitecore-powershell-extensions/](http://sitecorejunkie.com/category/sitecore-powershell-extensions/) -------------------------------------------------------------------------------- /documentation/Scaling and Optimization/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Scaling, Optimization, and Diagnostics 4 | --- 5 | 6 | # Scaling, Optimization, and Diagnostics 7 | 8 | ## Scaling and Caching 9 | 10 | ### Official Documentation (7.0 - 7.2) 11 | 12 | * [Scaling Guide](http://sdn.sitecore.net/Reference/Sitecore%207/Scaling%20Guide.aspx) 13 | * [Security Hardening Guide](http://sdn.sitecore.net/Reference/Sitecore%207/Security%20Hardening%20Guide.aspx) 14 | Server security (such as folder permissions). 15 | * [CMS Diagnostics Guide](http://sdn.sitecore.net/Reference/Sitecore%207/CMS%20Diagnostics%20Guide.aspx) 16 | * [CMS Performance Tuning Guide](http://sdn.sitecore.net/Reference/Sitecore%207/CMS%20Performance%20Tuning%20Guide.aspx) 17 | * [DMS Performance Tuning Guide](http://sdn.sitecore.net/Reference/Sitecore%206/DMS%20Performance%20Tuning%20Guide.aspx) 18 | Performance tuning specifically relating to the analytics infrastructure. 19 | * [Cache Configuration Reference](http://sdn.sitecore.net/Reference/Sitecore%206/Cache%20Configuration%20Reference.aspx) 20 | * [SQL Server Replication Guide](http://sdn.sitecore.net/Reference/Sitecore%207/SQL%20Server%20Replication%20Guide.aspx) 21 | 22 | ### Blog Posts 23 | 24 | * [http://www.alen.me.uk/2014/09/how-to-customize-sitecore-parts-that.html](http://www.alen.me.uk/2014/09/how-to-customize-sitecore-parts-that.html) 25 | * [http://sitecorebasics.wordpress.com/tag/caching/](http://sitecorebasics.wordpress.com/tag/caching/) 26 | * [http://sitecorebasics.wordpress.com/2011/03/05/sitecore-caching/]( 27 | http://sitecorebasics.wordpress.com/2011/03/05/sitecore-caching/) 28 | * [http://reasoncodeexample.com/2013/03/20/sitecore-cache-settings-for-slackers/]( 29 | http://reasoncodeexample.com/2013/03/20/sitecore-cache-settings-for-slackers/) 30 | * [http://reasoncodeexample.com/2012/04/02/sitecore-security-hardening/](http://reasoncodeexample.com/2012/04/02/sitecore-security-hardening/) 31 | 32 | #### Caching and Publishing 33 | 34 | * [http://sitecoreblog.patelyogesh.in/2013/08/sitecore-partial-cache-clear-programmatically.html](http://sitecoreblog.patelyogesh.in/2013/08/sitecore-partial-cache-clear-programmatically.html) 35 | 36 | #### Event Queue 37 | * [http://sitecorebasics.wordpress.com/2011/03/19/basics-of-sitecore-event-queue/ ](http://sitecorebasics.wordpress.com/2011/03/19/basics-of-sitecore-event-queue/ ) 38 | * [http://sitecorebasics.wordpress.com/2013/01/28/basic-ways-of-troubleshooting-eventqueue-challenges/ ](http://sitecorebasics.wordpress.com/2013/01/28/basic-ways-of-troubleshooting-eventqueue-challenges/) 39 | 40 | ## Diagnostics and Testing 41 | 42 | There are plenty of modules to help you extract information about your system, such as: 43 | 44 | * [Sitecore Informatics](http://nileshthakkar.github.io/Sitecore-Informatics/) 45 | * [Sitecore Log Analyzer](https://marketplace.sitecore.net/Modules/Sitecore_Log_Analyzer.aspx) 46 | 47 | ### Blog Posts 48 | 49 | * [http://kate-butenko.blogspot.dk/2012/07/types-of-i-need-your-dump-issues.html](http://kate-butenko.blogspot.dk/2012/07/types-of-i-need-your-dump-issues.html) 50 | * [http://sitecorebasics.wordpress.com/2011/04/16/testing-database-performance/ ](http://sitecorebasics.wordpress.com/2011/04/16/testing-database-performance/ ) 51 | * [http://sitecorebasics.wordpress.com/2011/10/02/basics-of-memorymonitorhook ](http://sitecorebasics.wordpress.com/2011/10/02/basics-of-memorymonitorhook ) 52 | * [http://sitecorebasics.wordpress.com/2011/03/01/sitecore-performance/ ](http://sitecorebasics.wordpress.com/2011/03/01/sitecore-performance/ ) 53 | * [http://laubplusco.net/category/fighting-google-page-speed/](http://laubplusco.net/category/fighting-google-page-speed/) 54 | * [http://sitecorebasics.wordpress.com/2013/03/27/sitecore-troubleshooting-path/ ](http://sitecorebasics.wordpress.com/2013/03/27/sitecore-troubleshooting-path/ ) 55 | * [http://sitecorebasics.wordpress.com/2011/04/25/basics-of-sql-profiling/ ](http://sitecorebasics.wordpress.com/2011/04/25/basics-of-sql-profiling/ ) 56 | * [http://sitecorebasics.wordpress.com/2011/07/30/basics-of-counterdumpagent](http://sitecorebasics.wordpress.com/2011/07/30/basics-of-counterdumpagent) 57 | * [http://kevinobee.wordpress.com/2013/03/14/testing-strategies/](http://kevinobee.wordpress.com/2013/03/14/testing-strategies/) 58 | * [http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/03/7-tips-automated-Sitecore-testing-Selenium.aspx](http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/03/7-tips-automated-Sitecore-testing-Selenium.aspx) 59 | 60 | ### Tools 61 | * [http://sitecore.unic.com/2014/08/11/sitecore-glimpse](http://sitecore.unic.com/2014/08/11/sitecore-glimpse) 62 | * [http://kevinobee.github.io/Sitecore.Glimpse/](http://kevinobee.github.io/Sitecore.Glimpse/) 63 | -------------------------------------------------------------------------------- /documentation/Search/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Search 4 | --- 5 | 6 | ### Official Sitecore Documentation (7.0 - 7.2) 7 | 8 | * [Developer's Guide to Item Buckets and Search](http://sdn.sitecore.net/Reference/Sitecore%207/Developers%20Guide%20to%20Item%20Buckets%20and%20Search.aspx) 9 | * [Sitecore Search Scaling Guide](http://sdn.sitecore.net/Reference/Sitecore%207/Sitecore%20Search%20and%20CMS%20Scaling%20Guide.aspx) 10 | * [Sitecore Search and Indexing Guide](http://sdn.sitecore.net/Reference/Sitecore%207/Sitecore%20Search%20and%20Indexing%20Guide.aspx) 11 | 12 | ### Blog Posts 13 | 14 | #### Getting Started 15 | 16 | * [Sitecore 7 Search – Quick Start Guide](http://coreblimey.azurewebsites.net/?p=71) 17 | * [Building Dynamic Content Search LINQ Queries In Sitecore 7](http://getfishtank.ca/blog/building-dynamic-content-search-linq-queries-in-sitecore-7) 18 | * [Sitecore 7 - Predefined Queries](http://getfishtank.ca/blog/new-sitecore-7-feature-predefined-queries) 19 | * [Lucene Query walk-through](http://learnsitecore.cmsuniverse.net/en/Developers/Articles/2009/06/LuceneQuery1.aspx) (Sitecore 6) 20 | 21 | #### In-depth Mechanics 22 | 23 | * [Sitecore 7 in-depth - Indexing mechanics](http://www.partechit.nl/en/blog/2013/04/sitecore-7-in-depth-indexing-mechanics) 24 | 25 | #### Customizing Fields 26 | 27 | * [Computed Index Fields – Sitecore 7 Content Search](http://reasoncodeexample.com/2014/04/01/computed-index-fields-sitecore-7-content-search/) 28 | * [Sitecore Standard Analyzer : Managing your own stop words filter](http://blog.horizontalintegration.com/2014/03/19/sitecore-standard-analyzer-managing-you-own-stop-words-filter/) 29 | * [Implementing a Virtual Field in Sitecore](http://www.kasaku.co.uk/2015/08/16/implementing-a-virtual-field-in-sitecore/) 30 | 31 | #### Indexing Strategies 32 | 33 | * [Creating Custom Indexing Strategies In Sitecore 7](http://getfishtank.ca/blog/creating-custom-indexing-strategies-in-sitecore-7) 34 | 35 | #### Optimization 36 | 37 | * [Making Lucene index smaller in Sitecore 7](http://sitecoresnippets.blogspot.de/2013/08/making-lucene-index-smaller-in-sitecore.html#.VCKWifmSxBE) 38 | * [Best Practices for Sitecore Architecture and DMS Scalability](http://www.awareweb.com/awareblog/8-15-14-sitecorearchscalability) 39 | 40 | #### Rules Queries 41 | 42 | * [Rules Engine Lucene Queries Pt I](http://cardinalcore.co.uk/2014/07/07/rules-engine-lucene-queries-pt-i/) 43 | * [Rules Queries Pt II – Using Sitecore Rules Queries in Code](http://cardinalcore.co.uk/2014/07/10/using-sitecore-rules-queries-in-code/) 44 | * [Rules Queries Pt III – What can we use rules queries for ?](http://cardinalcore.co.uk/2014/07/23/rules-queries-pt-iii-what-can-we-use-rules-queries-for/) 45 | 46 | #### Blog Series 47 | 48 | * [Sitecore Blog: Sitecore 7 Development Team](http://www.sitecore.net/en-gb/learn/blogs/technical-blogs/sitecore-7-development-team.aspx) 49 | 50 | #### Security 51 | 52 | * [Indexing Sitecore Item security and restricting returned search results](http://stackoverflow.com/questions/16683487/indexing-sitecore-item-security-and-restricting-returned-search-results) 53 | 54 | #### Tools 55 | 56 | * [Index Viewer 2.0 for Sitecore 7](http://learnsitecore.cmsuniverse.net/en/Blog/Sitecore-Index-Viewer-2-released.aspx) 57 | * [Sitecore Datasource Indexer](http://sitecorefun.baziret.com/2014/06/sitecore-datasource-indexer/) 58 | 59 | #### Lucinq 60 | 61 | * [Lucinq on GitHub](https://github.com/cardinal252/Lucinq) 62 | * [Lucinq Wiki](https://github.com/cardinal252/Lucinq/wiki) 63 | * [Getting started with Lucinq on Sitecore](http://cardinalcore.co.uk/lucinq/lucinq-sitecore-extensions/getting-started-with-lucinq-on-sitecore/) 64 | 65 | #### Troubleshooting 66 | 67 | * [Sitecore ContentSearch Fails for Lucene Reserved Keywords like and/or](http://blog.horizontalintegration.com/2013/07/30/sitecore-contentsearch-fails-for-lucene-reserved-keywords-like-andor/) 68 | * [How To Fix Lucene Scoring Issues In Sitecore 7](http://getfishtank.ca/blog/sitecore-contentsearch-has-no-relevancy-or-scoring) 69 | * [Pitfalls when indexing numbers – “Input string was not in a correct format”](http://reasoncodeexample.com/2014/02/21/pitfalls-when-indexing-numbers-sitecore-7-content-search/) 70 | 71 | ### Video 72 | 73 | * [Search Hangouts](http://www.youtube.com/user/SitecorePM) 74 | 75 | ## Solr 76 | 77 | ### Blog Posts 78 | 79 | * [Sitecore and Solr - custom field reader and indexing](http://www.skillcore.net/sitecore/sitecore-and-solr-custom-field-reader-and-indexing) 80 | * [Setting up Solr with Sitecore 7](http://www.dansolovay.com/2013/05/setting-up-solr-with-sitecore-7.html) 81 | * [Solr - Search On Exact Phrase](http://mikerobbins.co.uk/2014/09/23/solr-search-on-exact-phrase/) 82 | * [How to Achieve Zero-Downtime Sitecore Deployments (Solr Search)](http://www.ehabelgindy.com/category/solr/) 83 | * [Using SwitchOnRebuildSolrSearchIndex Solr provider for Sitecore](http://www.skillcore.net/sitecore/using-switchonrebuildsolrsearchindex-solr-provider-for-sitecore) 84 | * [Install Solr as Windows Service for Sitecore Content Search](http://mikerobbins.co.uk/2014/11/07/install-solr-as-windows-service-for-sitecore-content-search/) 85 | 86 | ### Video 87 | 88 | * [Sitecore SOLR Flair - SUGCON](https://www.youtube.com/watch?v=8-puZJQeng4) 89 | * [Inside Sitecore7 Session 4: Scaling with Solr](https://www.youtube.com/watch?v=iVQJDgXXsJU) 90 | * [SOLR in Action - New England User Group](https://www.youtube.com/watch?v=J9B7uLwameM) 91 | -------------------------------------------------------------------------------- /documentation/Services and ORMs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Services and ORM 4 | --- 5 | 6 | # Services and ORM 7 | 8 | ## Item Web API 9 | * [Web API Sitecore ID Formatter](http://mikerobbins.co.uk/2014/12/02/web-api-sitecore-id-formatter/) 10 | 11 | ### Video 12 | * [https://www.youtube.com/watch?v=muLFkTlYtCM - by Kern Herskind Nightingale](https://www.youtube.com/watch?v=muLFkTlYtCM ) 13 | * [Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs (By Mike Reynolds)](https://www.youtube.com/watch?v=VBZjWZnbsQU) 14 | * [Sitecore User Group New England Meetup - The Sitecore Item Web API (by Mike Reynolds, Ben Lipson and Jamie Michalski)] 15 | (https://www.youtube.com/watch?v=SpcZIvG6UPQ ) 16 | 17 | ### Blog Posts 18 | * [http://sitecorestrategy.blogspot.com/2014/03/content-as-service-and-sitecore-item.html](http://sitecorestrategy.blogspot.com/2014/03/content-as-service-and-sitecore-item.html) 19 | * [http://sitecorejunkie.com/category/sitecore-item-web-api/](http://sitecorejunkie.com/category/sitecore-item-web-api/) 20 | 21 | ## ORM 22 | 23 | ### Frameworks 24 | 25 | | Framework | Type | Features | 26 | | ----- | ---- | ----- | 27 | | [Glass.Mapper.Sc](http://glass.lu) | Mapper | | 28 | | [Fortis](http://fortis.ws/) | Wrapper | | 29 | | [Synthesis](https://github.com/kamsar/Synthesis) | Wrapper | | 30 | | [Diamond](https://github.com/sitecorerick/diamond) | Wrapper | | 31 | 32 | * [http://glass.lu/](http://glass.lu/) 33 | * [http://cardinalcore.co.uk/category/glass-mapper/](http://cardinalcore.co.uk/category/glass-mapper/) 34 | * [http://herskind.co.uk/blog/2012/05/auto-generating-glass-model-with-tds-t4](http://herskind.co.uk/blog/2012/05/auto-generating-glass-model-with-tds-t4) 35 | * [http://kamsar.net/](http://kamsar.net/) 36 | * [https://github.com/hermanussen/CompiledDomainModel](https://github.com/hermanussen/CompiledDomainModel) 37 | * [https://github.com/NTTDATA/ClassySitecore/](https://github.com/NTTDATA/ClassySitecore/) 38 | * [http://www.harshbaid.in/2013/09/23/code-generation-using-sitecore-rocks-and-visual-studio/](http://www.harshbaid.in/2013/09/23/code-generation-using-sitecore-rocks-and-visual-studio/) 39 | * [http://www.seanholmesby.com/sitecore-glass-mapper-data-handler-for-a-link-list-field/](http://www.seanholmesby.com/sitecore-glass-mapper-data-handler-for-a-link-list-field/) 40 | -------------------------------------------------------------------------------- /documentation/Sitecore 7-5/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore 7.5 4 | --- 5 | 6 | # Sitecore 7.5 7 | 8 | Sitecore 7.5 dramatically alters the way that Sitecore stores and handles analytics data - notably the addition of noSQL **MongoDB**. 9 | 10 | ### Official Documentation 11 | * [Complete Index of Sitecore 7.5 Documentation](http://sdn.sitecore.net/Reference/Sitecore%207/Sitecore%207,-d-,5%20Documentation.aspx) - please refer to the **xDB Overview and Architecture** document for an introduction to xDB architecture. 12 | 13 | ### Blog Posts - Sitecore 7.5 14 | 15 | * [http://hermanussen.eu/sitecore/wordprss/2012/05/making-sitecore-faster-with-mongodb/](http://hermanussen.eu/sitecore/wordprss/2012/05/making-sitecore-faster-with-mongodb/) 16 | * [http://getfishtank.ca/blog/sitecore-xdb-technical-introduction-to-mongodb](http://getfishtank.ca/blog/sitecore-xdb-technical-introduction-to-mongodb) 17 | * [http://cardinalcore.co.uk/2014/07/08/using-mongodb-to-provide-items-as-a-cache-for-sitecore/](http://cardinalcore.co.uk/2014/07/08/using-mongodb-to-provide-items-as-a-cache-for-sitecore/) 18 | * [http://blog.eldblom.dk/2014/08/22/merging-visitor-cookies-in-sitecore-cms-7-5-and-the-experience-database/](http://blog.eldblom.dk/2014/08/22/merging-visitor-cookies-in-sitecore-cms-7-5-and-the-experience-database/) 19 | * [One Month with Sitecore 7.5](http://www.techphoria414.com/Blog/2014/June/One_Month_with_Sitecore_7-5_Part_1) 20 | * [http://sitecoreblog.blogspot.co.uk/2014/06/sitecore-75-setting-up-xdb-without.html](http://sitecoreblog.blogspot.co.uk/2014/06/sitecore-75-setting-up-xdb-without.html) 21 | * [http://www.delphicdigital.com/home/blog.aspx/d=2227/title=4-advantages-to-using-mongodb-in-sitecore](http://www.delphicdigital.com/home/blog.aspx/d=2227/title=4-advantages-to-using-mongodb-in-sitecore) 22 | * [http://blog.coates.dk/2014/11/09/no-images-after-upgrading-to-sitecore-7-5/](http://blog.coates.dk/2014/11/09/no-images-after-upgrading-to-sitecore-7-5/) 23 | * [http://laubplusco.net/bug-hunt-sitecore-7-5/](http://laubplusco.net/bug-hunt-sitecore-7-5/) 24 | * [http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/11/Deployment-Support-Sitecore-7-5-MongoDB.aspx](http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/11/Deployment-Support-Sitecore-7-5-MongoDB.aspx) 25 | * [Images not re-sizing in Sitecore 7.5, Sitecore 8.](http://www.seanholmesby.com/images-not-resizing-in-sitecore-7-5-sitecore-8-0/) 26 | 27 | ### Blog posts - General MongoDB 28 | 29 | * [MongoDB Official Blog - Scaling](http://blog.mongodb.org/tagged/scaling) 30 | * [http://blog.mongolab.com/2014/01/how-big-is-your-mongodb/](http://blog.mongolab.com/2014/01/how-big-is-your-mongodb/) 31 | 32 | ### Tools 33 | * [xDB Ingestion Manager Module by Adam Conn](https://t.co/UFWxdhsSSh) 34 | -------------------------------------------------------------------------------- /documentation/Sitecore 8/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore 8 4 | --- 5 | 6 | # Sitecore 8 7 | 8 | The technical preview for Sitecore 8 was made available to MVPs and those that registered at Symposium. 9 | 10 | * [http://sitecorebasics.wordpress.com/2014/09/28/basics-of-sitecore-8-0/](http://sitecorebasics.wordpress.com/2014/09/28/basics-of-sitecore-8-0/) (Lots of screenshots in this one!) 11 | * [http://www.seanholmesby.com/presentation-details-changes-in-sitecore-8-how-renderings-are-stored/](http://www.seanholmesby.com/presentation-details-changes-in-sitecore-8-how-renderings-are-stored/) 12 | * [http://corescorner.wordpress.com/2014/10/01/sitecore-8-fxm-federated-experience-manager/](http://corescorner.wordpress.com/2014/10/01/sitecore-8-fxm-federated-experience-manager/) 13 | * [http://sitecoreskills.blogspot.co.uk/2014/09/looking-ahead-to-sitecore-8.html](http://sitecoreskills.blogspot.co.uk/2014/09/looking-ahead-to-sitecore-8.html) 14 | * [http://petersondave.wordpress.com/2014/10/01/sitecore-8-at-a-glance/](http://petersondave.wordpress.com/2014/10/01/sitecore-8-at-a-glance/) 15 | * [http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/10/Sitecore-8-Adding-applications-launch-pad.aspx](http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/10/Sitecore-8-Adding-applications-launch-pad.aspx) 16 | * [http://www.hhogdev.com/blog/2014/october/speak-app-changes.aspx](http://www.hhogdev.com/blog/2014/october/speak-app-changes.aspx)(Changes to SPEAK apps on the Sitecore 8 Dashboard) 17 | * [Sitecore SPEAK: How to add Applications to Sitecore 8 Launch Pad](http://mikerobbins.co.uk/2014/12/20/how-to-add-speak-applications-to-sitecore-8-launch-pad/) 18 | * [Active Commerce and the Experience Explorer Pad](http://www.techphoria414.com/Blog/2014/September/Sitecore-8-Technical-Preview-Active-Commerce-and-the-Experience-Explorer) 19 | * [Sitecore Pipeline Groups](http://blog.boro2g.co.uk/sitecore-pipeline-groups/) 20 | * [What's new about goals in Sitecore 8](http://blog.horizontalintegration.com/2014/10/28/whats-new-about-goals-in-sitecore-8/) 21 | * [Sitecore 8 : How to Programatically associate visitor data into Contact Card](http://blog.horizontalintegration.com/2014/11/05/sitecore-8-how-to-programatically-associate-visitor-data-into-contact-card/) 22 | * [Sitecore 8 : Overview of Experience Profile](http://blog.horizontalintegration.com/2014/11/01/sitecore-8-overview-of-experience-profile/) 23 | * [Sitecore 8 Outcomes](http://coreblimey.azurewebsites.net/sitecore-8-outcomes/) 24 | * [xDB and Experience Profile Simplified](http://coreblimey.azurewebsites.net/sitecore-8-xdb-and-experience-profile-simplified/) 25 | * [Firing up the Sitecore Path Analyser](http://coreblimey.azurewebsites.net/firing-up-the-sitecore-8-path-analyser/) 26 | -------------------------------------------------------------------------------- /documentation/Sitecore Best Practices/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Best Practices 4 | --- 5 | 6 | ## Official Sitecore Blog Posts 7 | * [Best practice blogs](https://www.sitecore.net/learn/blogs/best-practice-blogs) 8 | 9 | ## Community Blog Posts 10 | 11 | * [Don’t Fight The Framework – Sitecore’s built on Sitecore so build your site on Sitecore](http://cardinalcore.co.uk/2014/07/22/dont-fight-the-framework-pt-i-sitecore/) 12 | * [Importance of Datasources - Advice and insights into why Datasources are so important](https://sitecorejim.wordpress.com/2015/02/17/the-importance-of-datasources/) 13 | -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/API/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Data Provider API 4 | --- 5 | There are any types that are used when building a custom data provider. 6 | 7 | * [Sitecore.Data.DataProviders.DataProvider](#DataProvider) 8 | * [Sitecore.Data.ItemDefinition](#ItemDefinition) 9 | * [Sitecore.Data.DataProviders.CallContext](#CallContext) 10 | 11 | ## Sitecore.Data.DataProviders.DataProvider 12 | 13 | `DataProvider` is the class that must be inherited when building a custom data provider. 14 | 15 | Details on the API for this type is available on the [Data Provider API page]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/API/DataProvider). 16 | 17 | ## Sitecore.Data.ItemDefinition 18 | 19 | `ItemDefinition` represents the most basic data needed to represent a Sitecore item. This type is a common parameter on many methods on `DataProvider`. 20 | 21 | It has the following properties: 22 | 23 | * **ID** - The item ID. 24 | * **Name** - The item name. 25 | * **TemplateID** - The ID of the template used to create the item. 26 | * **BranchId** - The ID of the branch template used to create the item. If no branch template was used this property will return `Sitecore.Data.ID.Null`. 27 | 28 | ## Sitecore.Data.DataProviders.CallContext 29 | 30 | `CallContext` represents the runtime environment in which the `DataProvider` is executed. This type is a common parameter on many methods on `DataProvider`. 31 | 32 | #### Abort() 33 | 34 | Data providers are executed in the order they are specified in the Sitecore configuration. For example, if your Sitecore database is configured to use 2 data providers, when the `GetChildIDs()` method is called, the method is called on both data providers. 35 | 36 | There are cases where the first data provider is the only data provider that needs to run. In this case the first data provider can use the `Abort()` method to prevent the second data provider's method from being run. 37 | 38 | The following is an example of how to use this method: 39 | 40 | public override IDList GetChildIDs(ItemDefinition itemDefinition, CallContext context) 41 | { 42 | if (itemDefinition.ID == MyItemIDs.MyProviderRoot) 43 | { 44 | var ids = new IDList(); 45 | ids.Add(MyItemIDs.Child1); 46 | ids.Add(MyItemIDs.Child2); 47 | ids.Add(MyItemIDs.Child3); 48 | context.Abort(); 49 | return ids; 50 | } 51 | return null; 52 | } 53 | -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Non-hierarchical data/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Implementing Sitecore Data Providers for Non-Hierarchical Data 4 | --- 5 | Sitecore data providers expect that data can be organized hierarchically, with each item having one - and only one - parent. 6 | 7 | In the real-world, however, not all data fits into this patterns. For example, in a product information management (PIM) system a product may be located in multiple categories. In this case the product doesn't have a single parent. 8 | 9 | Data providers can accommodate non-hierarchical data, but this sort of data must be handled in a specific way. 10 | 11 | -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Publishing/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Implementing Publishing for Sitecore Data Providers 4 | --- 5 | Publishing in Sitecore is a lot more simple than a lot of people assume. It is the process of copying Sitecore items in one Sitecore database available in another Sitecore database. 6 | 7 | * [To publish or not to publish?](#to_publish_or_not) 8 | * [What to implement when you want to publish](#publish_implement) 9 | * [What to implement when you don't want to publish](#no_publish_implement) 10 | 11 | ## To publish or not to publish? 12 | 13 | One question that needs to be answered is whether the items exposed by a data provider should be published? 14 | 15 | Remember that publishing involves copying data from one Sitecore database to another. Items retrieved from an external data source in one Sitecore database can be published to another Sitecore database where the content is stored as a "regular" Sitecore item (meaning the content is stored in the Sitecore database's relational database). 16 | 17 | In this case the data, after it is published, is "disconnected" from the original data source. This can be desired in some cases. For example, this approach can expose content that resides behind a firewall without requiring any firewall modifications. 18 | 19 | It can also be undesired. For example, if the data provider is exposing product prices from an ERP you probably want prices read from the ERP in real-time. You don't want to publish in that case. 20 | 21 | ## What to implement when you want to publish 22 | 23 | ## What to implement when you don't want to publish -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Search/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Implementing Search for Sitecore Data Providers 4 | --- 5 | All of Sitecore's search capabilities are available for Sitecore items handled by custom data providers. But without understanding how the Sitecore content index is kept up-to-date you run the risk of items exposed by a custom data provider not being reindexed when needed. 6 | 7 | * [How the default indexing process works](#default_indexing_process) 8 | * [Why the default process may be insufficient for a custom data provider](#limitations) 9 | 10 | ## How the default indexing process works 11 | 12 | The indexing process involves the use of the [strategy design pattern](http://www.dofactory.com/net/strategy-design-pattern). The interface `Sitecore.ContentSearch.Maintenance.Strategies.IIndexUpdateStrategy` represents a component that implements the logic needed to update the search index. 13 | 14 | In the Sitecore configuration, under the section `/sitecore/contentSearch/indexConfigurations/indexUpdateStrategies` you can see a variety of index strategies. These index strategies are responsible for updating the search index when certain events occur. Some examples are: 15 | 16 | * **IntervalAsynchronousStrategy** - reindex items in a queue at a regular interval 17 | * **OnPublishEndAsynchronousStrategy** - reindex items that were published after the `publish:end` event is fired 18 | * **RebuildAfterFullPublishStrategy** - rebuild an entire index after a full site publish is completed 19 | * **SynchronousStrategy** - reindex items as the items are changed 20 | 21 | Basically, these strategies know when to run because they either ask Sitecore if they should run or Sitecore tells them when they should run. 22 | 23 | ## Why the default process may be insufficient for a custom data provider 24 | 25 | The main challenge with getting data from a custom data provider to be indexed is figuring out how to inform Sitecore when the data in the external system has changed. Sitecore probably knows nothing about the external system, and the external system probably knows nothing about Sitecore. 26 | 27 | #### When the default process WILL work 28 | 29 | The default process will work if the external items are manually reindexed. This can happen when: 30 | 31 | * The entire search index is rebuilt 32 | * A branch containing items from a custom data provider is re-indexed 33 | 34 | #### When the default process will NOT work 35 | 36 | The default process will not work if you want the Sitecore search index to be kept in sync with the external data source. Sitecore has no way of knowing that the external data has changed, so Sitecore has no reason to reindex anything. 37 | 38 | A custom index update strategy class can provide a solution. The precisely implementation of this class will depend on the external system. Some examples are: 39 | 40 | * **Push** - the external system notifies Sitecore that content has changed. This might be an event that is fired on the external system. An event handler on the external system makes a web service call to Sitecore. This web service call acts as the notification that Sitecore needs in order to know that a change has been made on the external system. 41 | * **Monitor** - a Sitecore scheduled task periodically checks the external system for any changes. 42 | 43 | -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Templates/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Templates for Custom Sitecore Data Providers 4 | --- 5 | A custom data provider does not need to provide its own templates. Often Sitecore's existing templates are sufficient to accomodate external data. But that is not always the case. 6 | 7 | If a data provider exposes its own templates, there are some additional methods to implement on the data provider. 8 | 9 | -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Implementing a Sitecore Data Provider 4 | category: extending 5 | --- 6 | When you implement a data provider you are creating two things: 7 | 8 | 1. [Implementation](#implementation) - a .NET class that implements the data provider 9 | 2. [Configuration](#configuration) - specifies where Sitecore should use the implementation 10 | 11 | ## Implementation 12 | 13 | A data provider inherits from the abstract class `Sitecore.Data.DataProviders.DataProvider`. 14 | 15 | * [API]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/API) - describes the API used to build a custom data provider 16 | * [Mapping identifiers]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Mapping Identifiers) - approaches for mapping unique identifiers from external systems to Sitecore item IDs 17 | * [Search]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Search) - how to ensure items from custom data providers are available to the Sitecore search API 18 | * [Publishing]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Publishing) - how to ensure publishing items from custom data providers works as required 19 | * [Templates]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Templates) - how to work with templates 20 | * [Non-hierarchical data]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/Non-hierarchical data) - how to work with templates 21 | 22 | ## Configuration 23 | 24 | Configuration is used to tell Sitecore which data providers a Sitecore database should use. 25 | 26 | * [Adding a data provider to a Sitecore database](#add_data_provider) 27 | * [Data provider order](#data_provider_order) 28 | 29 | #### Adding a data provider to a Sitecore database 30 | 31 | The following example demonstrates how to define a data provider and add the data provider to the `master` Sitecore database: 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | #### Data provider order 46 | 47 | Data providers are handled in the order they appear in the configuration. For more information on configuration and how order is determined, see the section on the [Patch Files]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Patch Files). 48 | 49 | It is important to understand that a data provider is assigned to a Sitecore database, *not* a Sitecore item. This means that when multiple data providers are assigned to a Sitecore database, all data providers will run for all items in that database. 50 | 51 | This is useful because it allows multiple data providers to work together to populate items. 52 | 53 | However, this can cause problems if you are not expecting this to happen. If you want to ensure that no subsequent data providers are run after your data provider runs you must use the `Abort()` method on the `CallContext` object that is passed to your data provider. For more information on the `CallContext` type, see the data provider [API page]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Data Providers/Implementing a Data Provider/API). -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Data Providers/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Data Providers 4 | category: extending 5 | --- 6 | A Sitecore data provider exposes data as Sitecore items. The default data provider exposes data stored in Sitecore's content repositories (SQL Server or Oracle databases). Custom data providers can be written that expose data stored in third-party systems. 7 | 8 | * [Data provider basics](#data_provider_basics) 9 | * [Implementing a data provider]({{ site.baseurl }}/documentation/Sitecore%20Fundamentals/Data%20Providers/Implementing%20a%20Data%20Provider) 10 | * [Links for more information](#links) 11 | 12 | ## Data provider basics 13 | 14 | Before you start integrating external data with Sitecore you really need to understand how content is modeled in Sitecore. There are several concepts you need to understand: 15 | 16 | 1. [Fields](#Fields) 17 | 2. [Items](#Items) 18 | 4. [Relationships](#Relationships) 19 | 3. [Databases](#Databases) 20 | 5. [Publishing](#Publishing) 21 | 22 | #### Fields 23 | 24 | In Sitecore content is exposed via `Fields`. Each field stores a value. The value can be anything: a block of formatted text, a block of simple text, a number, a reference to an image, and much more. Anything that can be represented as a value can be stored in a field. 25 | 26 | #### Items 27 | 28 | Related fields are grouped together in constructs called `Items`. An item is a collection of `Fields`. But there is more to an item. Each item has the following properties: 29 | 30 | * **ID** - a GUID (global unique identifier) that uniquely identifies an item. An ID is often expressed as a hexadecimal number, such as `{BD36FFD2-211B-4B93-886C-F87DA01DCE2C}`. 31 | * **Name** - a name that identifies an item. Names are not unique, but they are useful because they are easier to understand the the item ID. 32 | * **Parent** - an item has 1 parent item. 33 | * **Children** - an item may have 0-to-many child items. 34 | * **Versions** - a version is a construct that is used to save the field values that were set at a specific point in time. An item may have 1-to-many versions. 35 | 36 | #### Relationships 37 | 38 | Relationships between items can be described in a couple of ways: 39 | 40 | 1. **Hierarchy** - An item has 1 parent item and it may have 0-to-many child items.. 41 | 2. **Fields** - An item can be linked to other items using fields. For example, a field may represent "related products". The field value would identify the different items that are related. 42 | 43 | Relationships between items can be followed using the following means. In order for a custom data provider to work correctly it is important to consider each of these: 44 | 45 | * **Sitecore Content API** - used to access content directly from a Sitecore database 46 | * **Sitecore Content Search API** - used to search for content 47 | 48 | #### Databases 49 | 50 | A Sitecore database exposes items using the items' hierarchical relationships. 51 | 52 | The root item in a Sitecore database has the name `sitecore` and the ID `{11111111-1111-1111-1111-111111111111}`. All items in a Sitecore database are descendants of the root item. 53 | 54 | By default the following Sitecore databases are pre-configured, but additional databases can be added: 55 | 56 | * **core** - stores content that determines how the Sitecore application works 57 | * **master** - stores content available during the content authoring process 58 | * **web** - stores content available during the content delivery process 59 | 60 | The specific items that are exposed in a Sitecore database depend on the data providers that are assigned to the Sitecore database. Each of the default Sitecore databases has a data provider assigned that exposes items stored in a relational database. These relational databases are created and specified during Sitecore installation. 61 | 62 | Additional data providers can be assigned to a Sitecore database. When this is done, the Sitecore database may expose items stored in multiple content repositories. The result is a single hierarchy of items. 63 | 64 | #### Publishing 65 | 66 | Publishing is the process of copying items (and their content) from one Sitecore database to another. 67 | 68 | ## Links 69 | 70 | The following links provide more information on Sitecore data providers: 71 | 72 | * [The Black Art of Sitecore Custom Data Providers](http://www.techphoria414.com/Blog/2011/January/Black-Art-of-Sitecore-Data-Providers) by [Nick Wesselman](https://twitter.com/techphoria414) - Probably the single most valuable resource on data providers. Don't be misled by the fact that Nick's post was written in 2011. Nick's information is still completely valid and should be read by anyone considering writing a custom Data Provider. 73 | * [When to Implement Data Providers](http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2012/05/when-to-implement-data-providers-in-the-sitecore-aspnet-cms) by [John West](https://twitter.com/sitecorejohn) - A very comprehensive explanation of when you should and shouldn't consider custom data providers. 74 | * [Sitecore Data Architecture](http://kamsar.net/index.php/2013/11/sitecore-data-architecture/) by [Kam Figy](https://twitter.com/kamsar) - An excellent overview of the different components that make up Sitecore's data architecture. There's a lot more than just data providers. -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Providers/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Providers 4 | category: extending 5 | --- 6 | .NET's provider model offers a convenient and consistent model for encapsulating business logic so that is can be extended or replaced. Sitecore uses providers extensively. 7 | 8 | * [Provider Basics](#provider_basics) 9 | * [Implementing a Custom Provider](#implementing_a_custom_provider) 10 | 11 | ## Provider Basics 12 | 13 | * [What is a Provider?](#what_is_a_provider) 14 | * [How does Sitecore use Providers?](#how_does_sitecore_use_providers) 15 | 16 | #### What is a Provider? 17 | A provider is a component that implements logic. They are used to encapsulate functionality for a problem domain. Much of Sitecore's functionality is implemented in providers. For example, when you publish items Sitecore uses a publishing provider. 18 | 19 | Dependency injection is used to identify which providers Sitecore should use. This makes it possible to replace providers without changing code. As a result, providers make it easy for developers to extend or replace Sitecore functionality. For more information on dependency injection and Sitecore see [this section]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Dependency Injection). 20 | 21 | #### How does Sitecore use Providers? 22 | Most functionality in Sitecore is implemented in and accessed using providers. The following is a list of some of the Sitecore functionality that is implemented by providers. 23 | 24 | * Archiving 25 | * Authentication 26 | * Authorization 27 | * Presentation 28 | * Publishing 29 | * CRUD operations for items 30 | * Site resolution 31 | * Link generation and resolution 32 | 33 | ## Implementing a Custom Provider 34 | 35 | * [Provider Class](#provider_class) 36 | * [Provider Collection Class](#provider_collection_class) 37 | * [Manager Class](#manager_class) 38 | * [Provider Configuration](#provider_configuration) 39 | * [Using a Provider](#using_a_provider) 40 | 41 | #### Provider Class 42 | A provider is a class that inherits from `System.Configuration.Provider.ProviderBase`. Apart from making inheriting from this class, the only other thing you need to do to implement a provider is to add the methods that allow other components to interact with your provider. 43 | 44 | > Expect that your provider will be extended. One of the main reasons for 45 | > implementing a provider is to allow developers to extend or replace the 46 | > default provider. Mark methods as virtual where appropriate. 47 | 48 | The following is an example of a provider. 49 | 50 | public class HelloWorldProvider : System.Configuration.Provider.ProviderBase 51 | { 52 | public virtual string SayHello() 53 | { 54 | return "Hello, world."; 55 | } 56 | } 57 | 58 | #### Provider Collection Class 59 | It is possible for a single Sitecore server to support multiple implementations of a certain provider. For example, Sitecore supports basic and digest authentication, so Sitecore has multiple HTTP authentication providers. The provider collection class provides access to these multiple providers. 60 | 61 | The following is an example of a provider collection. 62 | 63 | public class HelloWorldProviderCollection : System.Configuration.Provider.ProviderCollection 64 | { 65 | public HelloWorldProvider this[string name] 66 | { 67 | get 68 | { 69 | return (base[name] as HelloWorldProvider); 70 | } 71 | } 72 | } 73 | 74 | #### Manager Class 75 | A manager class is used to access a provider. The manager makes it easier for a developer to ask Sitecore for the appropriate provider without having to hard-code and references to a specific implementation. 76 | 77 | A manager is used to access providers and to facilitate using providers. 78 | 79 | The following is an example of a manager. 80 | 81 | public static class HelloWorldManager 82 | { 83 | private static Sitecore.Configuration.ProviderHelper _providerHelper; 84 | static HelloWorldManager() 85 | { 86 | _providerHelper = new Sitecore.Configuration.ProviderHelper("helloWorldManager"); 87 | } 88 | public static HelloWorldProvider Provider 89 | { 90 | get 91 | { 92 | return _providerHelper.Provider; 93 | } 94 | } 95 | public static HelloWorldProviderCollection Providers 96 | { 97 | get 98 | { 99 | return _providerHelper.Providers; 100 | } 101 | } 102 | public static string SayHello() 103 | { 104 | return Provider.SayHello(); 105 | } 106 | } 107 | 108 | #### Provider Configuration 109 | Providers are defined in `Web.config` and Sitecore patch files under `/configuration/sitecore`. 110 | 111 | The following is an example of a provider configuration. 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | #### Using a Provider 121 | The easiest way to use a provider is through the manager class. The following is an example of how to use the manager class. 122 | 123 | var msg = Testing.Providers.HelloWorldManager.SayHello(); 124 | 125 | -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Rules Engine/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Rules Engine 4 | category: extending 5 | --- 6 | Sitecore's Rules Engine provides the ability to evaluate conditions and perform actions that is usable for business users. Using the Rules Engine provides a consistent means for configuring complex, rule-based business logic within Sitecore. 7 | 8 | * [Terminology](#terminology) 9 | 10 | ## Terminology 11 | * [Condition](#condition) 12 | * [Action](#action) 13 | * [Rule](#rule) 14 | * [Rule Editor](#rule_editor) 15 | * [Rule Engine](#rule_engine) 16 | 17 | #### Condition 18 | A state that can be either true or false. 19 | 20 | A condition is configured by a business user who specifies values for parameters. The available parameters depend on the condition. An example of a condition is "where the visitor is logged in". In this condition the parameter is the "is" part of the condition. The business user can specify whether the condition is "where the visitor is logged in" or "where the visitor is not logged in". 21 | 22 | A condition is implemented as a .NET class. The available parameters are exposed as properties on the class. The class has a method that evaluates the condition. 23 | 24 | Each condition has a corresponding Sitecore item that defines the condition. 25 | 26 | #### Action 27 | Logic that is performed. 28 | 29 | An action is configured by a business user who specifies values for parameters. The available parameters depend on the action. An example of an action is "set the data source to /sitecore/content/Promotions/Summer Holidays". In this action the parameter is the "/sitecore/content/Promotions/Summer Holidays" part of the action. The business user can specify the item that should be used. 30 | 31 | An action is implemented as a .NET class. The available parameters are exposed as properties on the class. The class has a method that performs the action. 32 | 33 | #### Rule 34 | A set of conditions that, when met, result in a set of actions being performed. 35 | 36 | A rule is configured by a business user who selects and configures conditions and actions. 37 | 38 | Sitecore stores rules in an XML format. Sitecore provides an API that allows developers to execute rules. 39 | 40 | #### Rule Editor 41 | The user interface in the Sitecore Client that allows business users to define rules. Defining a rule entails configuring conditions and actions, which the Rule Editor facilitates. 42 | 43 | #### Rule Engine 44 | The Sitecore component that is responsible for evaluating conditions and performing actions. 45 | 46 | Sitecore provides an API that allows developers to access the Rules Engine. 47 | -------------------------------------------------------------------------------- /documentation/Sitecore Fundamentals/Settings/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Settings 4 | category: config 5 | --- 6 | Settings are used to store values that are accessed by code when the code needs to perform a task. A setting is name and a value. 7 | 8 | * [Defining Settings](#defining_settings) 9 | * [Reading Settings from Code](#reading_settings_from_code) 10 | 11 | ## Defining Settings 12 | Settings are defined in the Sitecore configuration section under `sitecore/settings`. 13 | 14 | > Do not define custom settings directly in `Web.config`. Only Sitecore platform settings 15 | > should be defined in `Web.config`. Custom settings for a module should be defined in 16 | > the module's [patch file]({{ site.baseurl }}/documentation/Sitecore Fundamentals/Patch Files). 17 | 18 | ## Reading Settings from Code 19 | The Sitecore API provides a variety of methods that can be used to read settings. The methods are available on the `Sitecore.Configuration.Settings` class. 20 | 21 | * `GetSetting(string, string)` - Reads the setting as a string. 22 | * `GetBoolSetting(string, bool)`- Reads the setting as a bool. 23 | * `GetDoubleSetting(string, string)` - Reads the setting as a double. 24 | * `GetIntSetting(string, string)` - Reads the setting as an int. 25 | * `GetLongSetting(string, string)` - Reads the setting as a long. 26 | * `GetTimeSpanSetting(string, string)` - Reads the setting as a TimeSpan. 27 | 28 | > While there is an API that allows a developer to write settings, this API should not be used. 29 | > The API will only update the `Web.config` file. If a setting is defined in a patch file, or 30 | > should be saved to a patch file, using the API will result in the `Web.config` file being 31 | > updated. This may result in undesired results. 32 | -------------------------------------------------------------------------------- /documentation/Sitecore Services Layer/Play with Item Services/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Play with ItemServices 4 | --- 5 | 6 | # Prerequisites 7 | 8 | In order to get everything needed fro the "game", do following: 9 | 10 | 1. Install clean version of Sitecore 8.1 11 | 1. Install [Postman](https://www.getpostman.com/) tool 12 | 1. Download following Postman tool export file from [here]({{ site.baseurl }}/files/Sitecore.ItemServices.examples.postman_collection.json) 13 | 1. Update host names Postman to correspond your local Sitecore instance. 14 | 15 | # Authentication 16 | 17 | Few words about authentication: **it works in ItemServices**! But... your site should be available by HTTPS. Logging in works only over HTTPS ([configuring HTTPS binding and self-signed certificate](http://weblogs.asp.net/scottgu/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates) shouldn't be a big deal). 18 | 19 | ## Log in 20 | 21 | In order to log in, you should do POST request to "https://-your_hostname-/sitecore/api/ssc/auth/login" method with some JSON in the request body (don't forget to set "Content-Type" header to be "application/json"). See an example in Postman export. 22 | 23 | ![Postman Login]({{ site.baseurl }}/images/SitecoreServicesClient/Postman_login.png) 24 | 25 | **Note**: Please pay your attention to "Content-Type: application/json" in request header. 26 | As soon as you are logged in, you will get a cookie ".ASPXAUTH" cookie. That cookie should be in every request in order to keep you logged in (**Note**: Postman tool shares somehow cookies, so you don't need to add that to every request explicitly) 27 | 28 | ## Log out 29 | 30 | As simple as it is: just POST request to "https://-your_hostname-/sitecore/api/ssc/auth/login". No specific request body or headers required. 31 | 32 | ## Get an item 33 | 34 | Just take one of the example request from Postman export and try them. For example the one with the name "SSC: get item by path". 35 | There are pretty much methods and parameters. They are described in the [official documentation](https://sdn.sitecore.net/upload/sitecore7/75/developer's_guide_to_sitecore.services.client_sc75-a4.pdf). However, please pay attention that it seems that the documentation is a bit outdated. At least I couldn't get some of the methods working. For example running a Sitecore search, described in chapter 3.4.9. there. 36 | 37 | ## Update an item 38 | 39 | There is also such example in Postman export. In order to get an item updated you should be logged in as an "admin" user. 40 | 41 | ## Remove an item 42 | 43 | Example in Postman export, removes an item "/sitecore/layout/Placeholder Settings/webedit". Please be careful with that and play with your custom items. 44 | 45 | ## Add an item 46 | 47 | The example just adds an item underneath Home from "Simple item" template (see parameters in request body). 48 | -------------------------------------------------------------------------------- /documentation/Sitecore Services Layer/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Services Services Layer 4 | --- 5 | # Item Services 6 | [Play with ItemServices]({{ site.baseurl }}/documentation/Sitecore Services Layer/Play with Item Services/) 7 | 8 | ## EntityService 9 | * [EntityService within Sitecore.Services.Client](mikerobbins.co.uk/2015/01/06/entityservice-sitecore-service-client/) 10 | * [EntityService Custom Controller Action](http://mikerobbins.co.uk/2015/03/20/sitecore-entity-service-ssc-custom-controller-action/) 11 | * [EntityService Adding Paging](http://mikerobbins.co.uk/2015/03/23/sitecore-entity-service-ssc-adding-paging/) 12 | 13 | ## Reference Materials 14 | 15 | [Official Sitecore Documentation](http://sdn.sitecore.net/SDN5/Reference/Sitecore%207/Developers%20Guide%20to%20Sitecore%20Services%20Client.aspx) 16 | 17 | ##Developer Tools 18 | * [EntityService Visual Studio Project Template](https://github.com/sobek1985/EntityServiceTemplate) 19 | 20 | ## Sample Modules 21 | * [EntityService Demo Application](https://github.com/sobek1985/EntityServiceDemo) 22 | * [Wallpaper Manager (EntityService)](https://github.com/sobek1985/WallpaperManager) 23 | * [Bulk Workflows (EntityService)](https://github.com/sobek1985/SitecoreSPEAKBulkWorkflows) 24 | 25 | ## Videos 26 | * [EntityService Overview](https://www.youtube.com/watch?v=g0cVr6CnNKM) -------------------------------------------------------------------------------- /documentation/Sitecore and Media/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore and Media 4 | --- 5 | 6 | # Sitecore and Media 7 | 8 | ## General Blog Posts 9 | 10 | * [http://sitecoreblog.patelyogesh.in/2013/06/sitecore-image-control-parameters.html](http://sitecoreblog.patelyogesh.in/2013/06/sitecore-image-control-parameters.html) 11 | * [http://briancaos.wordpress.com/2011/02/28/sitecore-image-parameters/](http://briancaos.wordpress.com/2011/02/28/sitecore-image-parameters/) 12 | 13 | ## Responsive 14 | 15 | ### Blog Posts 16 | 17 | * [http://kamsar.net/index.php/2014/07/automatic-sitecore-image-optimization-with-dianoga/](http://kamsar.net/index.php/2014/07/automatic-sitecore-image-optimization-with-dianoga/) 18 | * [http://blog.xcentium.com/2014/02/images-in-sitecore-and-responsive-design/](http://blog.xcentium.com/2014/02/images-in-sitecore-and-responsive-design/) 19 | * [http://laubplusco.net/make-sitecore-deliver-images-fits-screen/](http://laubplusco.net/make-sitecore-deliver-images-fits-screen/) 20 | * [http://laubplusco.net/make-sitecore-deliver-images-fits-screen-part-2/](http://laubplusco.net/make-sitecore-deliver-images-fits-screen-part-2/) 21 | * [http://www.matthewdresser.com/sitecore/responsive-images-in-sitecore-mvc](http://www.matthewdresser.com/sitecore/responsive-images-in-sitecore-mvc) 22 | 23 | ## Media Framework 24 | 25 | The Sitecore Media Framework refers to a product that allows you to integrate web video and other media services. There are two flavors - [Sitecore Media Framework Brightcove Edition](http://sdn.sitecore.net/Products/Sitecore%20Media%20Framework/Brightcove.aspx) and [Sitecore Media Framework Ooyala Edition](http://sdn.sitecore.net/Products/Sitecore%20Media%20Framework/Ooyala.aspx) - [documentation can be found here](http://sdn.sitecore.net/Products/Sitecore%20Media%20Framework/Documentation.aspx). 26 | 27 | ### Blog Posts 28 | * [http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/10/Introducing-Sitecore-Media-Framework.aspx](http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/10/Introducing-Sitecore-Media-Framework.aspx) 29 | * [http://himadritechblog.wordpress.com/2014/06/16/a-youtube-connector-for-sitecore-media-framework-part-1/](http://himadritechblog.wordpress.com/2014/06/16/a-youtube-connector-for-sitecore-media-framework-part-1/) 30 | * [http://himadritechblog.wordpress.com/2014/08/06/youtube-connector-is-available-in-sitecore-marketplace/](http://himadritechblog.wordpress.com/2014/08/06/youtube-connector-is-available-in-sitecore-marketplace/) 31 | 32 | ## Responsive Images 33 | 34 | * [http://kamsar.net/index.php/2014/07/automatic-sitecore-image-optimization-with-dianoga/](http://kamsar.net/index.php/2014/07/automatic-sitecore-image-optimization-with-dianoga/) 35 | * [http://blog.xcentium.com/2014/02/images-in-sitecore-and-responsive-design/](http://blog.xcentium.com/2014/02/images-in-sitecore-and-responsive-design/) 36 | * [http://laubplusco.net/make-sitecore-deliver-images-fits-screen/](http://laubplusco.net/make-sitecore-deliver-images-fits-screen/) 37 | * [http://laubplusco.net/make-sitecore-deliver-images-fits-screen-part-2/](http://laubplusco.net/make-sitecore-deliver-images-fits-screen-part-2/) 38 | * [http://www.matthewdresser.com/sitecore/responsive-images-in-sitecore-mvc](http://www.matthewdresser.com/sitecore/responsive-images-in-sitecore-mvc) 39 | 40 | 41 | ## Cropping 42 | 43 | ### Modules 44 | * [Image Field with Cropping Module](https://marketplace.sitecore.net/en/Modules/ImageCropping.aspx) 45 | * [Image Cropper Module](https://marketplace.sitecore.net/Modules/Image_Cropper.aspx) 46 | 47 | ### Blog Posts 48 | 49 | * [http://herskind.typepad.com/apropos-sitecore/2011/07/imagecropper-and-scimage-the-missing-piece.html](http://herskind.typepad.com/apropos-sitecore/2011/07/imagecropper-and-scimage-the-missing-piece.html) 50 | -------------------------------------------------------------------------------- /documentation/Upgrades and Migrating/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Upgrades and Migrating 4 | --- 5 | 6 | # Upgrades and Migrating 7 | 8 | ### Blog Posts 9 | 10 | * [http://oshyn.com/web-content-management/updating-your-sitecore-site (Upgrade tips)](http://oshyn.com/web-content-management/updating-your-sitecore-site) 11 | * [http://www.seanholmesby.com/a-fix-for-the-sitecore-7-1-upgrade-process/ (a fix for the 7.1 upgrade)](http://www.seanholmesby.com/a-fix-for-the-sitecore-7-1-upgrade-process/) 12 | * [http://getfishtank.ca/blog/sitecore-7-2-upgrade-encoding-media-library-item-names](http://getfishtank.ca/blog/sitecore-7-2-upgrade-encoding-media-library-item-names) 13 | * [http://sitecorebasics.wordpress.com/2014/06/21/sitecore-version-upgrade-troubleshooting-basics/ ](http://sitecorebasics.wordpress.com/2014/06/21/sitecore-version-upgrade-troubleshooting-basics/ ) 14 | * [http://sitecorebasics.wordpress.com/2011/03/05/sitecore-upgrade-decision/](http://sitecorebasics.wordpress.com/2011/03/05/sitecore-upgrade-decision/) 15 | * [http://blog.horizontalintegration.com/2014/04/01/sitecore-content-migration-basics/ ](http://blog.horizontalintegration.com/2014/04/01/sitecore-content-migration-basics/ ) 16 | * [http://laubplusco.net/quick-tip-upgrading-sitecore-fast-easy/](http://laubplusco.net/quick-tip-upgrading-sitecore-fast-easy/) 17 | -------------------------------------------------------------------------------- /documentation/User Groups/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: User Groups and Conferences 4 | 5 | --- 6 | 7 | # User Groups and Conferences 8 | 9 | ## Conferences 10 | SUGCON? 11 | 12 | ## User Groups 13 | * **[The Sitecore User Group Directory](http://sitecoreug.org/)** 14 | * [United Kingdom User Groups Index](http://www.sitecore.net/TechUserGroupUK) 15 | * [SUGNL - Sitecore User Group Nederland](http://www.sugnl.net/) 16 | * [SUGCH - Sitecore User Group Switzerland](http://sugch.eventbrite.com) 17 | * [Sitecore User Group - New England](http://www.meetup.com/Sitecore-User-Group-New-England/) 18 | * [NY Metro Sitecore User Group](http://www.meetup.com/NY-Metro-Sitecore-User-Group/) 19 | * [Sitecore User Group - Philadelphia](http://www.meetup.com/Sitecore-User-Group-Philadelphia/) 20 | * [LASUG - Los Angeles Sitecore User Group](http://www.meetup.com/Los-Angeles-Sitecore-User-Group/) 21 | * [Atlanta Sitecore User Group](http://www.meetup.com/atlanta-sitecore) 22 | * [Milwaukee Sitecore Developers Meetup](http://www.meetup.com/Milwaukee-Sitecore-Developers-Meetup/) 23 | * [Sitecore User Group - Chicago](http://www.meetup.com/Sitecore-User-Group-Chicago/) 24 | * [Sitecore User Group - Portland, Oregon](http://www.meetup.com/Sitecore-Portland-Oregon-User-Group/) 25 | * [Sitecore User Group - Dallas](http://www.meetup.com/Sitecore-User-Group-Dallas/) 26 | * [SUG-BELUX](http://www.meetup.com/Sitecore-User-Group-Belgium/) 27 | -------------------------------------------------------------------------------- /download/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Download Sitecore 4 | --- 5 | 6 | To download Sitecore and associated official modules, you must be a **Sitecore certified developer** or **partner**. To become a certified developer, you must [attend developer training and pass the exam](https://www.sitecore.net/services-and-support/training.aspx). 7 | 8 | ## Download Sitecore 8+ 9 | 10 | The Sitecore Experience Platform and all official associated modules can be downloaded from the **Sitecore Developer Portal**. This site hosts all downloads and updates after Sitecore 8. This is also where you will find the installation guide and upgrade instructions for all versions of Sitecore including and after 8. 11 | 12 | dev.sitecore.net 13 | 14 | ## Download Sitecore 7.5 and older 15 | 16 | All versions of Sitecore and associated official modules can be downloaded from the Sitecore Developer Network. Any updates to these versions (e.g. Sitecore 7.5 Update-2) will also be posted here. 17 | 18 | sdn.sitecore.net 19 | 20 | ## Download free modules 21 | 22 | The marketplace offers free modules, some of which are supported by Sitecore. Some modules are either [tested by or supported by Sitecore](https://marketplace.sitecore.net/en/Better_Shared_Source.aspx), but many are built and maintained by the commnity. 23 | 24 | marketplace.sitecore.net 25 | 26 | ## Sitecore on GitHub 27 | 28 | There is a [formal Sitecore GitHub](https://github.com/sitecore) and an [informal Sitecore GitHub](https://github.com/sitecore-community). Community docs are hosted on the informal version. -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/favicon.ico -------------------------------------------------------------------------------- /google5bfe650617552bca.html: -------------------------------------------------------------------------------- 1 | google-site-verification: google5bfe650617552bca.html -------------------------------------------------------------------------------- /how-to-help/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: How to help 4 | --- 5 | 6 | ## Sitecore Community Docs are hosted on GitHub 7 | 8 | In order to contribute, all you need is a GitHub account! Fork the [docs repository](http://github.com/sitecore-community/docs), add or edit a page, and make a pull request. We will merge in your changes or ask for changes. 9 | 10 | ### How to add an article 11 | 12 | * Create some folders. **Folder structure** determines URLs (simple!) - if you want to create an article under /xdb/facets, create a folder named **xdb**, a folder named **facets** inside that, and an **index.md** file inside that 13 | * Include the following code at the top of your page: 14 | 15 |
16 | 	---
17 | 	layout: default
18 | 	title: How to help	
19 | 	---
20 | 21 | The title variable will be the title of your page. 22 | 23 | * Write your article using Markdown - please put all images inside the **images** folder in the top level directory - feel free to use sub-folders. 24 | * Make a pull request to merge in your changes; we will review the content and publish it. That's it! 25 | 26 | ### What about navigation? 27 | 28 | Navigation is only semi-automated - each section's navigation tree is stored in an individual .html file inside `_includes` folder in the top level directory. 29 | 30 | * To add a page to an existing tree, just edit the relevant HTML file. 31 | * To add a navigation tree to a particular page, add a category to your page frontmatter: 32 | 33 |
34 | 	---
35 | 	layout: default
36 | 	title: How to help	
37 | 	catgory: mvc
38 | 	---
39 | 40 | Have a look in `_layouts\default.html` to see which category displays which navigation tree. 41 | * To add a brand new section with its own navigation tree, copy one of the files in `_includes`, construct your tree, and edit the logic in `_layouts\default.html` to display the tree when the context page has a certain category set. Make sure it hasn't already been used! 42 | 43 | 44 | ### A note about links and images 45 | 46 | When you are inserting links or images, use `{{ site.baseurl }}` instead of `sitecore-community.github.io/docs` - this ensures that the links will still work of the base URL changes. -------------------------------------------------------------------------------- /humans.txt: -------------------------------------------------------------------------------- 1 | _ _ __ __ _ _ 2 | | | _ _| | _____| \/ | __ _ ___(_) __ _| | __ 3 | | | | | | | |/ / _ \ |\/| |/ _` |/ __| |/ _` | |/ / 4 | | |__| |_| | < __/ | | | (_| | (__| | (_| | < 5 | |_____\__,_|_|\_\___|_| |_|\__,_|\___|_|\__,_|_|\_\ 6 | maciak.net * terminally-incoherent.com * @LukeMaciak 7 | 8 | # TEAM 9 | 10 | Luke Maciak -- @LukeMaciak 11 | 12 | # THANKS 13 | 14 | Dave Perrert (Jekyll Plugins) -- http://recursive-design.com 15 | Chintan Patel (favicon) -- https://github.com/chintan100 16 | 17 | # TECHNOLOGY 18 | 19 | HTML5, CSS3, Jekyll, Ruby 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/Condition1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/Condition1.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/InitialStatePageEventSubscription.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/InitialStatePageEventSubscription.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/Page1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/Page1.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/What_to_Open_Marketing_Control_Panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/What_to_Open_Marketing_Control_Panel.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/engPlan1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/engPlan1.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/home_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/home_item.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks1.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks10.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks11.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks12.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks13.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks2.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks3.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks4.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks5.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks6.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks7.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks8.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/howitworks9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/howitworks9.png -------------------------------------------------------------------------------- /images/Engagement Automation/Testing Plan/page1_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Engagement Automation/Testing Plan/page1_item.png -------------------------------------------------------------------------------- /images/Explaining tables in Reporting db/1 Tables list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Explaining tables in Reporting db/1 Tables list.png -------------------------------------------------------------------------------- /images/Explaining tables in Reporting db/2_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Explaining tables in Reporting db/2_dashboard.png -------------------------------------------------------------------------------- /images/Extending reports/aggregatedData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/aggregatedData.png -------------------------------------------------------------------------------- /images/Extending reports/areChartOnReport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/areChartOnReport.png -------------------------------------------------------------------------------- /images/Extending reports/areaChartLayout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/areaChartLayout.png -------------------------------------------------------------------------------- /images/Extending reports/browsersReport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/browsersReport.png -------------------------------------------------------------------------------- /images/Extending reports/configAndCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/configAndCode.png -------------------------------------------------------------------------------- /images/Extending reports/dimensionItem1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/dimensionItem1.png -------------------------------------------------------------------------------- /images/Extending reports/dimensionTransformerConfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/dimensionTransformerConfig.png -------------------------------------------------------------------------------- /images/Extending reports/fieldsTrendingBrowsers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/fieldsTrendingBrowsers.png -------------------------------------------------------------------------------- /images/Extending reports/idsMapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/idsMapping.png -------------------------------------------------------------------------------- /images/Extending reports/noDashes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/noDashes.png -------------------------------------------------------------------------------- /images/Extending reports/overviewReport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/overviewReport.png -------------------------------------------------------------------------------- /images/Extending reports/robomongo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/robomongo1.png -------------------------------------------------------------------------------- /images/Extending reports/speakLayout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Extending reports/speakLayout.png -------------------------------------------------------------------------------- /images/Outcomes/Marketing center.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Outcomes/Marketing center.JPG -------------------------------------------------------------------------------- /images/Outcomes/xdb_outcome.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Outcomes/xdb_outcome.JPG -------------------------------------------------------------------------------- /images/Refreshing reports/connectionStrings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Refreshing reports/connectionStrings.png -------------------------------------------------------------------------------- /images/Refreshing reports/emptyDashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Refreshing reports/emptyDashboard.png -------------------------------------------------------------------------------- /images/Refreshing reports/reportSitecore8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Refreshing reports/reportSitecore8.png -------------------------------------------------------------------------------- /images/Refreshing reports/workaroundCast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/Refreshing reports/workaroundCast.png -------------------------------------------------------------------------------- /images/SitecoreServicesClient/Postman_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/SitecoreServicesClient/Postman_login.png -------------------------------------------------------------------------------- /images/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/banner.jpg -------------------------------------------------------------------------------- /images/banner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/banner2.png -------------------------------------------------------------------------------- /images/connect-project-to-rocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/connect-project-to-rocks.png -------------------------------------------------------------------------------- /images/create-corresponding-item.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/create-corresponding-item.PNG -------------------------------------------------------------------------------- /images/create-new-view-rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/create-new-view-rendering.png -------------------------------------------------------------------------------- /images/create-view-rendering.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/create-view-rendering.PNG -------------------------------------------------------------------------------- /images/data-providers-GetLanguages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/data-providers-GetLanguages.png -------------------------------------------------------------------------------- /images/folder-list.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/folder-list.PNG -------------------------------------------------------------------------------- /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/logo.png -------------------------------------------------------------------------------- /images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/logo2.png -------------------------------------------------------------------------------- /images/path-of-view-rendering.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/path-of-view-rendering.PNG -------------------------------------------------------------------------------- /images/project-rocks-properties.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/project-rocks-properties.PNG -------------------------------------------------------------------------------- /images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/addcore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/addcore.png -------------------------------------------------------------------------------- /images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/bitnamistart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/bitnamistart.png -------------------------------------------------------------------------------- /images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/configsets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/configsets.png -------------------------------------------------------------------------------- /images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/solrfolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/Configuring-Solr-for-use-with-Sitecore-8/solrfolder.png -------------------------------------------------------------------------------- /images/search/solr/fast-track/corefolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/fast-track/corefolder.png -------------------------------------------------------------------------------- /images/search/solr/fast-track/corefolderdone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/fast-track/corefolderdone.png -------------------------------------------------------------------------------- /images/search/solr/fast-track/disablelucene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/fast-track/disablelucene.png -------------------------------------------------------------------------------- /images/search/solr/fast-track/enablesolr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/fast-track/enablesolr.png -------------------------------------------------------------------------------- /images/search/solr/fast-track/solrrunning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/fast-track/solrrunning.png -------------------------------------------------------------------------------- /images/search/solr/fast-track/solrstart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/fast-track/solrstart.png -------------------------------------------------------------------------------- /images/search/solr/fast-track/solrstarted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/fast-track/solrstarted.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-1.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-2.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-3.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-4.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-5.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-6.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-7.png -------------------------------------------------------------------------------- /images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/search/solr/installing-solr-using-the-bitnami-apache-solr-stack/bitnami-8.png -------------------------------------------------------------------------------- /images/sesssion/local-env.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/sesssion/local-env.PNG -------------------------------------------------------------------------------- /images/sesssion/single-cluster-session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/sesssion/single-cluster-session.png -------------------------------------------------------------------------------- /images/sesssion/sticky-sessions-are-no.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/sesssion/sticky-sessions-are-no.PNG -------------------------------------------------------------------------------- /images/sitecore-rocks-install.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/sitecore-rocks-install.PNG -------------------------------------------------------------------------------- /images/smtp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/smtp.PNG -------------------------------------------------------------------------------- /images/smtp2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/smtp2.PNG -------------------------------------------------------------------------------- /images/smtp3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/images/smtp3.PNG -------------------------------------------------------------------------------- /learn/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Learn Sitecore 4 | category: learn 5 | --- 6 | 7 |

Installation and Setup

8 | 11 | 12 |

Workflow and User Permissions

13 | 16 | 17 | {% include nav_site.html %} 18 | 19 |
20 | 21 |

Link Aggregation

22 | 23 | 42 | 43 |

Feeds

44 | 45 | 50 | 51 |

Newsletters

52 | 53 | 59 | 60 |

User Groups

61 | 62 | 68 | 69 |

Unsorted

70 | 71 | 77 | 78 |

Scheduled Tasks and Agents

79 | 83 | 84 |

Best Practices: Multi-Site Solutions

85 | 88 | 89 |

Forums

90 | 91 | 94 | -------------------------------------------------------------------------------- /pipelines-and-events/pipelines/extending-creating-pipelines/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Extending or Creating Pipelines 4 | category: pipelinesandevents 5 | --- 6 | 7 | Pipelines are extended by adding or replacing processors. Extending a pipeline involves modifying the pipeline definition located in a Sitecore patch file. 8 | 9 | The following is an example of how the Sitecore patch file `Sitecore.Analytics.config` extends the pipeline `httpRequestBegin`: 10 | 11 | 12 | 13 | 14 | 15 | 16 | ## Creating and Configuring a Processor 17 | 18 | To extend a pipeline, you must either replace an existing processor or [add a custom processor]({{ site.baseurl }}/pipelines-and-events/pipelines/pipeline-processors#custom_processors). If you are replacing an existing pipeline, be sure to check for updates to that pipeline when you upgrade Sitecore. 19 | 20 | Most processors are specified by type only, but there are other ways to specify a processor. 21 | 22 | * **Description:** Only the processor type is specified 23 | * **Example:** `` 24 | * **Method called:** `void Process(PipelineArgs)` 25 | 26 | * **Description:** The processor type and method are specified 27 | * **Example:** `` 28 | * **Method called:** `void SetPriority(PipelineArgs)` 29 | 30 | The second approach can be useful when you would like to use the same class more than once in a pipeline (or across pipelines), with different methods, allowing you to group functionality together or share common methods within the class. 31 | 32 | ## Creating a Custom Pipeline 33 | Creating custom pipelines is an essential part of integrating an external system with Sitecore. 34 | 35 | * [`PipelineArgs`](#pipelineargs) 36 | * [Defining a Pipeline](#defining_a_pipeline) 37 | * [Invoking a Pipeline](#invoking_a_pipeline) 38 | 39 | ### `PipelineArgs` 40 | When creating a custom pipeline a custom `PipelineArgs` class is not required. The standard `PipelineArgs` class can be used. 41 | 42 | However, a custom `PipelineArgs` class makes it easier to pass objects between processors and to provide output to the process that called the pipeline. At runtime the `PipelineArgs` object acts as the pipeline's context. 43 | 44 | In order to create a custom `PipelineArgs` class you must inherit from `Sitecore.Pipeline.PipelineArgs`. 45 | 46 | public class MyPipelineArgs : Sitecore.Pipelines.PipelineArgs 47 | { 48 | public string Val1 { get; set; } 49 | public string Val2 { get; set; } 50 | } 51 | 52 | > Objects used with `PipelineArgs` objects must be serializable 53 | 54 | ### Defining a Pipeline 55 | A pipeline itself is nothing more than a block of XML in the `configuration > Sitecore > pipelines` section of `Web.config` or a Sitecore patch file. 56 | 57 | The following is an example of a custom pipeline definition. 58 | 59 | 60 | 61 | 62 | 63 | 64 | Processors are executed in the order they are defined in the configuration. 65 | 66 | ### Invoking a Pipeline 67 | The following is an example of calling a pipeline. 68 | 69 | var args = new Testing.MyPipelineArgs(); 70 | Sitecore.Pipelines.CorePipeline.Run("myPipeline", args); 71 | 72 | Set values from the Sitecore context and from other static objects on the `PipelineArgs` object. 73 | Pipelines run in a different context than the process (the request) that invokes the pipeline. Explicitly set any values you need on the `PipelineArgs` before running a pipeline. 74 | 75 | > Pipelines run synchronously on the current thread, so be aware that a call to run a pipeline will block the thread until the pipeline has finished executing or is aborted. 76 | -------------------------------------------------------------------------------- /pipelines-and-events/pipelines/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Pipelines 4 | category: pipelinesandevents 5 | redirect_from: "/documentation/Sitecore Fundamentals/Pipelines/" 6 | --- 7 | 8 | * [What is a Pipeline?](#what_is_a_pipeline) 9 | * [Common Pipelines](#common_pipelines) 10 | * [Sitecore 8 Pipelines](#sc8_pipelines) 11 | 12 | 13 | Pipelines are one of Sitecore's essential integration concepts. They are used to extend existing functionality, and to allow custom functionality to be extended in the future. They also provide a level of documentation and transparency by virtue of how they are configured. 14 | 15 | ## What is a Pipeline? 16 | A pipeline is basically a method whose flow is defined using XML. 17 | 18 | A pipeline consists of a sequence of [processors]({{ site.baseurl }}/pipelines-and-events/pipelines/pipeline-processors). A processor is a .NET class that implements a method. When a pipeline is invoked, the processors are run in order. 19 | 20 | Pipelines are used to control most of Sitecore's functionality. Processes ranging from authentication to request handling to publishing to indexing are all controlled through pipelines. 21 | 22 | Pipelines are defined in `Web.config` and in Sitecore patch files. 23 | 24 | The following is an example of the pipeline that is responsible for rendering a page: 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## Sitecore's Pipelines 40 | 41 | Sitecore includes more than 140 pipelines. Each new version of Sitecore adds pipelines. Installing Sitecore modules also results in more pipelines being added. 42 | 43 | The following is a list of some of the more commonly used pipelines. It is unlikely you will ever call any of these pipelines directly, but it is not unusual to extend these pipelines. 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
Pipeline nameDefined inArgs typeDescription
initializeWeb.configPipelineArgsRuns when the IIS application pool is started. Processors handle initialization tasks that need to run once.
httpRequestBeginWeb.configHttpRequestArgsHandles the HTTP request. This includes tasks such as resolving the context item, device and presentation settings.
insertRenderingsWeb.configInsertRenderingsArgsDetermines the presentation components to include when rendering an item.
renderFieldWeb.configRenderFieldArgsRuns when the FieldRenderer is used to render a field value.
52 | 53 | ## Sitecore 8 Pipelines 54 | 55 | Sitecore 8 introduced a large number of additional pipelines. See links below for more information about these pipelines: 56 | 57 | * [A Sitecore 8 Request from Beginning to End](http://sitecoreskills.blogspot.co.uk/2015/02/a-sitecore-8-request-from-beginning-to.html) 58 | * [Sitecore 8's 'StartTracking' pipeline](http://sitecoreskills.blogspot.co.uk/2015/03/sitecore-pipelines-starttracking.html) -------------------------------------------------------------------------------- /pipelines-and-events/pipelines/pipeline-processors/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Pipeline Processors 4 | category: pipelinesandevents 5 | --- 6 | 7 | Processors provide the logic that is used when a pipeline is invoked. 8 | 9 | * [Passing Data to a Pipeline](#passing_data_to_a_pipeline) 10 | * [Reading Information from a Pipeline](#reading_information_from_a_pipeline) 11 | * [Aborting a Pipeline](#aborting_a_pipeline) 12 | * [Custom Processors](#custom_processors) 13 | 14 | ## Passing Data to a Pipeline 15 | 16 | When the base `PipelineArgs` class is used to run the pipeline, the `CustomData` property is used to pass parameters to the pipeline. This property is a `Dictionary` object. 17 | 18 | var args = new Sitecore.Pipelines.PipelineArgs(); 19 | args.CustomData.Add("product", "Sitecore"); 20 | Sitecore.Pipelines.CorePipeline.Run("somePipeline", args); 21 | 22 | In addition, custom `PipelineArgs` classes can be created. This can make it easier to pass values to a pipeline. Values can be passed using a constructor or by properties. 23 | 24 | var args = new Testing.MyPipelineArgs(); 25 | args.Val2 = "value set before the pipeline runs"; 26 | Sitecore.Pipelines.CorePipeline.Run("myPipeline", args); 27 | 28 | ## Reading Information from a Pipeline 29 | The `PipelineArgs` object is what is used to read information from the pipeline. If you think of a pipeline as a method, then the `PipelineArgs` object is a parameter passed by reference to the method. Any of the processors in the pipelines may set fields on the `PipelineArgs` object. When the pipeline is finished running, the `PipelineArgs` object is still available and the fields can be read. 30 | 31 | The following is an example of calling a pipeline and then reading a value that (ostensibly) has been set during the execution of the pipeline. 32 | 33 | var args = new Testing.MyPipelineArgs(); 34 | args.Val2 = "value set before the pipeline runs"; 35 | Sitecore.Pipelines.CorePipeline.Run("myPipeline", args); 36 | var val1 = args.Val1; 37 | 38 | ## Aborting a Pipeline 39 | Pipelines are made up of one or more processors. If a processor determines a condition exists that should prevent the rest of the processors from running, the processor can abort the pipeline. 40 | 41 | The following example shows how a processor can abort a pipeline. 42 | 43 | public class SetVal1 44 | { 45 | public void Process(MyPipelineArgs args) 46 | { 47 | Sitecore.Diagnostics.Assert.ArgumentNotNull(args, "args"); 48 | if (!string.IsNullOrEmpty(args.Val1)) 49 | { 50 | args.AbortPipeline(); 51 | return; 52 | } 53 | args.Val1 = "some value set by the processor"; 54 | } 55 | } 56 | 57 | The code that invoked the pipeline might want to know if the pipeline was aborted. The following example shows how to determine whether the pipeline was aborted. 58 | 59 | var args = new Testing.MyPipelineArgs(); 60 | args.Val1 = "this value will result in the pipeline being aborted"; 61 | Sitecore.Pipelines.CorePipeline.Run("myPipeline", args); 62 | if (args.Aborted) 63 | { 64 | //aborted 65 | } 66 | 67 | > An aborted pipeline does not indicate an error has occurred. 68 | > It simply means that one of the processors determined the 69 | > remaining processors do not need to run. 70 | 71 | ## Custom Processors 72 | While there is neither a class to extend nor an interface to implement, a convention must be followed in order for Sitecore to be in order for a class to be used as a processor: 73 | 74 | * If the processor has a method specified, the method must accept a `PipelineArgs` object and return `void` 75 | * If the processor does not have a method specified, the processor must have a method named `Process` which accepts a `PipelineArgs` object and returns `void` 76 | 77 | The following is an example of a custom processor. 78 | 79 | public class SetVal1 80 | { 81 | public void Process(MyPipelineArgs args) 82 | { 83 | Sitecore.Diagnostics.Assert.ArgumentNotNull(args, "args"); 84 | //do something 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /resources-overview/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore Resources Overview 4 | --- 5 | 6 | ## Official Sitecore Documentation 7 | 8 | ### [doc.sitecore.net](http://doc.sitecore.net/) 9 | 10 | All Sitecore documentation to come out of Product after the launch of Sitecore 8 will be posted on doc.sitecore.net. This includes all modules. 11 | 12 | ### [sdn.sitecore.net](http://sdn.sitecore.net/) 13 | 14 | All Sitecore documentation for Sitecore 7.5 and older lives on the old Sitecore Developer Network as PDFs. 15 | 16 | ## Sitecore on YouTube 17 | 18 | ### [SitecoreChannel](http://youtube.com/sitecorechannel) 19 | 20 | ### [MasterSitecore](http://youtube.com/mastersitecore) 21 | 22 | ### [Sitecore CEP](http://youtube.com/sitecorepm) 23 | 24 | ## Sitecore Training 25 | 26 | * [Training for Back-End Developers](https://www.sitecore.net/services-and-support/training/back-end-developers.aspx) 27 | * [Training for Front-End Developers](https://www.sitecore.net/services-and-support/training/front-end-developers.aspx) -------------------------------------------------------------------------------- /search-results/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Search Results 4 | --- 5 | 6 | 18 | 19 | -------------------------------------------------------------------------------- /search/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Search 4 | category: search 5 | --- 6 | 7 | > This is a work in progress! 8 | 9 | Sitecore ships with a single search option by default but is designed to allow for additional search providers to be integrated. Below is a list of available search options: 10 | 11 | * Lucene 12 | * [Solr](solr/) 13 | * Coveo 14 | -------------------------------------------------------------------------------- /search/solr/fast-track-solr-for-lazy-developers/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Fast track Solr for lazy Sitecore developers 4 | category: search 5 | --- 6 | 7 | Please use this document only if you don't need to do anything specific and you are not installing in production (or you do, but you are really sure in what you are doing). 8 | Ideal for testing locally. SOLR 4.10, Sitecore 8.1 versions (might also work for 8.0, needs checking) 9 | 10 | 11 | ## Shortest guide version 12 | ...if you have already done installing and configuring before and you are just looking for links: 13 | 14 | * [SOLR 4.10 zip](http://archive.apache.org/dist/lucene/solr/4.10.4/solr-4.10.4.zip) 15 | * [SOLR Bitnami installer for 4.10](https://www.dropbox.com/s/599lglniv58gxf9/bitnami-solr-4.10.3-0-windows-installer.exe?dl=0) - not needed if you use link above 16 | * [Sitecore Solr Support package for 8.1 update-3](https://dev.sitecore.net/~/media/7CE11E1730444897A41D89D2333019E6.ashx) 17 | 18 | * [Clean Sitecore SOLR 4.10 cores](https://www.dropbox.com/s/0sf9esus1c3eypa/Clean%20SOLR%20cores%204.10.zip?dl=0) 19 | * [Script disabling all Lucene configs](https://www.dropbox.com/s/cvel877qg4opvyd/disablelucene.bat?dl=0) - put to App_Config/Include and run from command line 20 | * [Script enabling all Solr configs](https://www.dropbox.com/s/d1fwvocdchruq8l/enablesolr.bat?dl=0) - put to App_Config/Include and run from command line 21 | * [Microsoft.Practices.Unity.dll](https://www.dropbox.com/s/pu6mgbrvz52ie9z/Microsoft.Practices.Unity.dll?dl=0) 22 | * [Changed Global.asax](https://www.dropbox.com/s/32z16hkwiwm280h/Global.asax?dl=0) 23 | 24 | 25 | ## Longer guide version 26 | ...if you are doing it first time 27 | 28 | **Step 1:** Download [SOLR 4.10 installer](http://archive.apache.org/dist/lucene/solr/4.10.4/solr-4.10.4.zip) and unpack anywhere. 29 | 30 | **Notes:** 31 | 32 | Currently officially supported version of SOLR is 4.10. A list of supported versions you can see in the compatibility table at [this KB article](https://kb.sitecore.net/articles/227897) 33 | 34 | If you want to install it through Bitnami, [Here is a link to SOLR Bitnami installer for 4.10](https://www.dropbox.com/s/599lglniv58gxf9/bitnami-solr-4.10.3-0-windows-installer.exe?dl=0). 35 | 36 | If officially supported version changes to 5+, or you want to use SOLR version 5+, sorry, for now you'll need to use [the fullest guide]({{ site.baseurl }}/search/solr/Configuring-Solr-for-use-with-Sitecore-8/). 37 | 38 | 39 | **Step 2:** Download [clean Sitecore SOLR cores](https://www.dropbox.com/s/0sf9esus1c3eypa/Clean%20SOLR%20cores%204.10.zip?dl=0) carefully created for you by me <3. These are all the cores needed to run Sitecore 8.1 with SOLR. 40 | 41 | Unpack the archive and put the cores to the place where your example SOLR cores are. It will be C:\solr-4.10.4\example\solr or C:\Bitnami\solr-4.7.1-1\apache-solr\solr. 42 | 43 | The shortest definitive guide of finding where your SOLR cores should lie is "find a folder with collection1 in it, that doesn't have anything about schemaless or morphlines in path". Example: 44 | 45 | 46 | 47 | This is how the folder will look like after you unpack cores there: 48 | 49 | 50 | 51 | **Step 3:** Go to folder C:\solr-4.10.4\bin (this folder should contain solr.cmd) and run Windows Command Line there. Type "solr start" in command line: 52 | 53 | 54 | 55 | Now you should have SOLR running at http://localhost:8983/solr/#/ with all our cores visible in Core Selector: 56 | 57 | 58 | 59 | **Step 4:** Download [Script disabling all Lucene configs](https://www.dropbox.com/s/cvel877qg4opvyd/disablelucene.bat?dl=0). 60 | Put the script to App_Config/Include and run from command line. You should see the next output: 61 | 62 | 63 | 64 | **Step 5:** [Script enabling all Solr configs](https://www.dropbox.com/s/d1fwvocdchruq8l/enablesolr.bat?dl=0). 65 | Put the script to App_Config/Include and run from command line. You should see the next output: 66 | 67 | 68 | 69 | **Step 6:** Unpack Sitecore Solr Support package to bin folder and add [Microsoft.Practices.Unity.dll](https://www.dropbox.com/s/pu6mgbrvz52ie9z/Microsoft.Practices.Unity.dll?dl=0) 70 | 71 | Solr Support package for 8.1 update-3 can be downloaded by [this link](https://dev.sitecore.net/~/media/7CE11E1730444897A41D89D2333019E6.ashx) 72 | 73 | **Step 7:** Edit the *Global.asax* file as follows: 74 | 75 | {% highlight html %} 76 | <%@Application Language='C#' Inherits="Sitecore.ContentSearch.SolrProvider.UnityIntegration.UnityApplication" %> 77 | {% endhighlight %} 78 | 79 | or download Global.asax with this change [here](https://www.dropbox.com/s/32z16hkwiwm280h/Global.asax?dl=0) 80 | 81 | ## Verify that it works 82 | Go to Sitecore Control Panel, Indexing Manager and rebuild any index. 83 | 84 | 85 | -------------------------------------------------------------------------------- /search/solr/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Solr 4 | category: search 5 | --- 6 | 7 | > This is a work in progress! 8 | 9 | This section contains articles that relate to installing, configuring and using Solr with Sitecore 8. 10 | 11 | * [Installing Solr using the Bitnami Apache Solr Stack](installing-solr-using-the-bitnami-apache-solr-stack/) 12 | * [Configuring Solr for use with Sitecore 8](Configuring-Solr-for-use-with-Sitecore-8/) 13 | * Configuring a Sitecore 8 solution to use Solr 14 | * [Install and configure SolrCloud](Install-and-configure-SolrCloud/) 15 | * [Fast track Solr for lazy Sitecore developers](fast-track-solr-for-lazy-developers/) -------------------------------------------------------------------------------- /search/solr/installing-solr-using-the-bitnami-apache-solr-stack/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Installing Solr using the Bitnami Apache Solr Stack 4 | category: search 5 | --- 6 | 7 | > This is a work in progress! 8 | 9 | One of the simplest methods for getting Solr installed, especially in a development environment, is to use the Bitnami Apache Solr Stack. This installer handles installing Apache, Jetty and Solr and configuring it properly. No prior knowledge needed. 10 | 11 | The installation process is not really all that different then a typical Windows installation, there are just a few things to be aware of as you perform this installation. To start, double-click on the installer (bitnami-solr-5.0.0-0-windows-installer.exe for the purposes of this article). The first screen you are greeted with looks like this: 12 | 13 | Bitnami Installation Step 1 14 | 15 | From here, click Next. The default installation path should be fine for most, change it if you must but this article will assume a default path of C:\Bitnami\solr-5.0.0-0: 16 | 17 | Bitnami Installation Step 2 18 | 19 | Clicking Next brings you to a screen allowing you to define the port that Apache should run on. On this screen, if you are setting up Solr for development use and installing locally it is important that you change the default port to something other then 80 (in use by IIS), for this article we used port 8080: 20 | 21 | Bitnami Installation Step 3 22 | 23 | Click Next, a screen shows offering up details about Bitnami Cloud Hosting. Feel free to leave that checked but this article will assume it was unchecked: 24 | 25 | Bitnami Installation Step 4 26 | 27 | After clicking Next, Windows Firewall will alert you that it has blocked some features of this installation. Ensure that the check boxes for Domain networks, such as a workplace network and Private networks, such as my home or work network are checked. Complete this step by clicking the Allow access button. 28 | 29 | Bitnami Installation Step 5 30 | 31 | Once the Bitnami installation has completed keep the Launch Bitnami Apache Solr Stacak now? check box checked and click Finish. 32 | 33 | Bitnami Installation Step 6 34 | 35 | Your browser of choice should open with a page that looks like this: 36 | 37 | Bitnami Installation Step 7 38 | 39 | Clicking on on the Access Bitnami Apache Solr Stack link which will launch the Solr dashboard and should look similar to this: 40 | 41 | Bitnami Installation Step 8 42 | 43 | That is it for this article, you now have Solr installed and waiting to be configured for use with Sitecore. 44 | -------------------------------------------------------------------------------- /site-assets/css/custom.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'KievitLight'; 3 | src: url('/docs/site-assets/fonts/kievit-light.eot'); 4 | src: url('/docs/site-assets/fonts/kievit-light.eot?#iefix') format('embedded-opentype'), 5 | url('/docs/site-assets/fonts/kievit-light.svg#kievit-light') format('svg'), 6 | url('/docs/site-assets/fonts/kievit-light.woff') format('woff'), 7 | url('/docs/site-assets/fonts/kievit-light.ttf') format('truetype'); 8 | font-weight: normal; 9 | font-style: normal; 10 | } 11 | 12 | h1, h2, h3, h4, h5, h6, strong.heading { 13 | font-family: 'KievitLight', Arial, sans-serif; 14 | font-weight: bold; 15 | } 16 | 17 | h1 { 18 | margin-top: 0; 19 | } 20 | 21 | .heading { 22 | display: block; 23 | } 24 | 25 | .navbar-nav>li>a:hover { 26 | background: #1cb0c2; 27 | } 28 | 29 | h3#what-is-this { 30 | margin-top: 0; 31 | } 32 | 33 | a { 34 | color: #006f7c 35 | } 36 | 37 | a:hover { 38 | color: #1cb0c2; 39 | } 40 | 41 | img { 42 | max-width: 100%; 43 | border:1px solid #999; 44 | } 45 | 46 | .jumboContainer .jumbotron { 47 | margin-bottom: 0; 48 | background: url('/docs/images/banner2.PNG') #ccc; 49 | 50 | color: #fff; 51 | text-shadow: 1px 1px 1px #000; 52 | background-position: -180px -320px; 53 | background-repeat: no-repeat; 54 | } 55 | 56 | @media all and (max-width: 1024px) { 57 | .jumboContainer { 58 | display:none; 59 | } 60 | } 61 | 62 | 63 | .navbar-toggle { 64 | color: #fff; 65 | } 66 | 67 | .navbar-sitecore { 68 | background: #000000; 69 | border-radius: 0; 70 | } 71 | 72 | .navbar-inverse .navbar-brand, 73 | .navbar-inverse .navbar-nav>li>a { 74 | color: #fff; 75 | } 76 | 77 | .navbar-sitecore a { 78 | color: #fff; 79 | } 80 | 81 | #sidebar-menu { 82 | padding: 0; 83 | } 84 | 85 | #sidebar-menu h2 { 86 | font-size: 18px; 87 | margin-top: 25px; 88 | } 89 | 90 | #sidebar-menu ul { 91 | list-style-type: none; 92 | margin: 0; 93 | padding: 0; 94 | } 95 | 96 | #sidebar-menu .main-menu a { 97 | display: block; 98 | font-size: 13px; 99 | font-weight: 500; 100 | color: #999; 101 | padding: 0; 102 | } 103 | #sidebar-menu .main-menu a:hover { 104 | background:none; 105 | } 106 | #sidebar-menu .sub-menu a { 107 | padding-top: 1px; 108 | padding-bottom: 1px; 109 | padding-left: 15px; 110 | font-size: 12px; 111 | font-weight: 400; 112 | } 113 | 114 | #sidebar-menu strong.heading { 115 | font-size: 16px; 116 | border-bottom: 1px solid #eee; 117 | padding: 4px 0 2px 4px; 118 | } 119 | 120 | #sidebar-menu .main-menu { 121 | border-bottom: 1px solid #eee; 122 | padding: 10px 4px; 123 | } 124 | 125 | .nav .open>a, .nav .open>a:hover, .nav .open>a:focus { 126 | background: #1cb0c2; 127 | border: none; 128 | } 129 | 130 | /* BUTTON OVERRIDES */ 131 | 132 | .btn-default { 133 | background: #008998; 134 | border-color: #008998; 135 | color: #fff; 136 | } 137 | 138 | .btn-default:hover { 139 | background: #006f7c; 140 | border-color: #006f7c; 141 | color: #fff; 142 | } 143 | 144 | /* SEARCH */ 145 | 146 | .searchBar { 147 | background: #008998; 148 | margin-bottom: 30px; 149 | min-height: 50px; 150 | padding: 20px 0; 151 | } 152 | 153 | .searchBarInner { 154 | margin: 0 auto; 155 | float: none; 156 | } 157 | 158 | .searchBarInner .btn-default { 159 | background: #1cb0c2; 160 | border: 1px solid #1cb0c2; 161 | } 162 | 163 | .searchBar .col-lg-6 { 164 | margin: 0 auto; 165 | } 166 | 167 | .searchBar input[type="text"] 168 | { 169 | font-size: 20px; 170 | } 171 | 172 | .cse .gsc-control-cse, .gsc-control-cse { 173 | background: none !important; 174 | border: none !important; 175 | } 176 | 177 | .gsc-search-button 178 | { 179 | background-color: #1cb0c2; 180 | border-radius: 5px; 181 | 182 | } 183 | 184 | .gsc-selected-option-container { 185 | min-width: 100px !important; 186 | } 187 | 188 | .gsc-control-cse { 189 | padding: 0; 190 | } 191 | 192 | /* RESPONSIVE */ 193 | 194 | 195 | 196 | /* body { 197 | background: #000; 198 | } 199 | 200 | @font-face { 201 | font-family: 'KievitLight'; 202 | src: url('/docs/site-assets/fonts/kievit-light.eot'); 203 | src: url('/docs/site-assets/fonts/kievit-light.eot?#iefix') format('embedded-opentype'), 204 | url('/docs/site-assets/fonts/kievit-light.svg#kievit-light') format('svg'), 205 | url('/docs/site-assets/fonts/kievit-light.woff') format('woff'), 206 | url('/docs/site-assets/fonts/kievit-light.ttf') format('truetype'); 207 | font-weight: normal; 208 | font-style: normal; 209 | } 210 | 211 | h1, h2, h3, h4, h5, h6 { 212 | font-family: 'KievitLight', Arial, sans-serif; 213 | font-weight: bold; 214 | } 215 | 216 | h3#what-is-this { 217 | margin-top: 0; 218 | } 219 | 220 | a { 221 | color: #006f7c 222 | } 223 | 224 | a:hover { 225 | color: #1cb0c2; 226 | } 227 | 228 | img { 229 | max-width: 100%; 230 | } 231 | 232 | .btn-primary { 233 | background: #33aab7; 234 | border-color: #33aab7; 235 | } 236 | 237 | .btn-primary:hover { 238 | background: #006f7c; 239 | border-color: #006f7c; 240 | } 241 | 242 | .container .doc-masthead { 243 | color: #fff; 244 | background: #008998; 245 | margin-bottom: 0; 246 | border-radius: 0; 247 | } 248 | 249 | .doc-body-inner { 250 | padding: 40px; 251 | background: #fff; 252 | } 253 | 254 | .container.doc-body { 255 | background: #071a2d; 256 | border-top: 1px solid #203a51; 257 | padding: 30px 10px; 258 | } 259 | */ 260 | 261 | /* RESPONSIVE */ 262 | /* 263 | @media (max-width: 768px) 264 | { 265 | .container.doc-body { 266 | padding: 0; 267 | border: 0; 268 | 269 | } 270 | 271 | .doc-body-inner { 272 | padding: 20px; 273 | } 274 | } 275 | 276 | } 277 | */ -------------------------------------------------------------------------------- /site-assets/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /site-assets/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /site-assets/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /site-assets/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /site-assets/fonts/kievit-light-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/kievit-light-italic.eot -------------------------------------------------------------------------------- /site-assets/fonts/kievit-light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/kievit-light.eot -------------------------------------------------------------------------------- /site-assets/fonts/kievit-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/kievit-light.ttf -------------------------------------------------------------------------------- /site-assets/fonts/kievit-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/site-assets/fonts/kievit-light.woff -------------------------------------------------------------------------------- /sitecore-basics/installing-sitecore/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Installing Sitecore 4 | category: definingdata 5 | --- 6 | 7 | Once you become a **certified Sitecore developer**, you will be able to download the latest version of Sitecore and all associated modules from http://dev.sitecore.net/. On dev.sitecore.net, there are always two different formats available for download - the **complete site root** or an **executable file**. The following is a list of ways that you can install Sitecore. 8 | 9 | ## Executable File 10 | 11 | Download the .exe from [http://dev.sitecore.net/](http://dev.sitecore.net/) and double-click to start. This .exe will do everything for you - attach databases, modify host file, and set folder permissions. The only downside is that it leaves an entry in the registry under ```[HKEY_LOCAL_MACHINE\SOFTWARE\Sitecore CMS]``` and makes your instance available under 'Add/Remove Programs', which is misleading. Sitecore is just an ASP.NET application, not a Desktop application. 12 | 13 | ## Manual Install 14 | 15 | You can choose to install and set up Sitecore manually by downloading the **site root** zip. You are responsible for attaching databases and ensuring that permissions are set up properly. You may wish to use this method in environments that require custom installation steps (databases are on another server, custom permissions needed). Follow the **installation guide** (available on http://dev.sitecore.net/; make sure you are reading the guide for your specific version) and - if you are installing on production - the Security Hardening Guide. 16 | 17 | ## Sitecore Instance Manager (SIM) 18 | 19 | [SIM is available as a ClickOnce application](https://dl.sitecore.net/updater/sim), and allows you to download and install any version of Sitecore and manage instances of Sitecore on your machine. This is an essential tool for development environments. It also bundles many other handful apps like Log Analyzer, Config Builder and NuGet Generator. 20 | 21 | ## Sitecore Rocks 22 | 23 | Sitecore Rocks allows you to set up an installation script with any number of custom steps you require for your particular project or development environment. The default scripts are a great example of how to use Powershell to install Sitecore: 24 | 25 | ![Sitecore Rocks installation script]({{ site.baseurl }}/images/sitecore-rocks-install.PNG) 26 | -------------------------------------------------------------------------------- /sitecore-basics/installing-sitecore/setting-up-mongodb/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sitecore-Community/docs/9f27f04c5df3d4bbb53a52a5de75cef748e1bdde/sitecore-basics/installing-sitecore/setting-up-mongodb/index.md -------------------------------------------------------------------------------- /sitecore-mvc/controller-renderings/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Controller Renderings 4 | category: mvc 5 | redirect_from: "/documentation/Sitecore MVC/Controller Renderings/" 6 | --- 7 | 8 | A controller rendering is an advanced component type that allows you to specify a **controller** and an **action** on the component definition item. The action [must return a result that can be rendered](http://mhwelander.net/2014/04/09/sitecore-controller-rendering-action-results-what-can-i-return/) - such as a view. The controller itself does not need to inherit from a Sitecore-specific class - it is just a normal MVC controller. 9 | 10 | ---------------- 11 | 12 | ## Tutorials 13 | 14 | ---------------------- 15 | 16 | ### Tutorial: Creating a controller rendering in Sitecore Rocks 17 | -------------------------------------------------------------------------------- /sitecore-mvc/creating-project/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Creating a Visual Studio Project for Sitecore MVC 4 | redirect_from: "/documentation/Sitecore%20MVC/Creating a Visual Studio Project for Sitecore MVC/" 5 | category: mvc 6 | --- 7 | 8 | In order to work with Sitecore, you must set up a Visual Studio project. The following article explains how to do so for a Sitecore MVC project. 9 | 10 |
11 | 12 |
13 | 14 | ## Before You Start 15 | 16 | ### Which Version of MVC? 17 | 18 | Different versions of Sitecore support different versions of ASP.NET MVC. For a complete list, [refer to the Knowledgebase article](https://kb.sitecore.net/articles/522918). Your version affects the type of project you create. 19 | 20 | ### Work Outside the Web Root 21 | 22 | Sitecore recommends that you create your Visual Studio project in a location outside the web root, and set up a process that copies files into the web root of the Sitecore instance (on build, for example). There are several methods of doing this: 23 | 24 | * Use something like [Team Development for Sitecore (TDS)](https://www.hhogdev.com/products/team-development-for-sitecore/overview.aspx) 25 | * Create a post-build script 26 | * Use [Web One Click Publish](http://msdn.microsoft.com/en-us/library/vstudio/dd434211.aspx) in Visual Studio 27 | 28 | ## Step 1 - Create a Visual Studio Project 29 | 30 | 1. Open Visual Studio, and create a new project with the [correct version of ASP.NET MVC for your version of Sitecore](https://kb.sitecore.net/articles/522918). Choosing the wrong version (ASP.NET MVC 5.0 vs 5.1) will result in application errors when the .dlls are copied into the bin directory. 31 | 2. Replace the **default web.config** with the web.config from your Sitecore instance. Because the web.config file references **App_Config\ConnectionStrings.config**, you may get complaints that it can't find a referenced file. If this is the case, copy App_Config\ConnectionStrings.config into your solution. 32 | 3. Delete the **default Global.asax** and replace it with the Global.asax from your Sitecore instance. 33 | 5. Configure your method of copying files from the project to the web root (whether that's Visual Studio's Web One Click Publish, TDS, or something else). 34 | 6. Build your solution and browse to your site. 35 | 36 | ## Step 2 - Add References 37 | 38 | Add a reference to **Sitecore.Kernel.dll** and **Sitecore.MVC.dll** at the very least. It is recommended that you do not add your references directly from the web root /bin directory, as the version and location may vary across machines. Here are some options: 39 | 40 | * Create a **lib** folder in your project root, and make copies of the Sitecore .dlls that you require. 41 | * Create a central library for Sitecore .dlls within your organization. 42 | * Set up a **local NuGet server** within your organization to store different versions of the Sitecore .dlls. 43 | 44 | ## Step 3 - Connect Your Project to Sitecore Rocks 45 | 46 | This is not a Sitecore MVC-specific step. 47 | 48 | 1. Make sure [Sitecore Rocks](https://marketplace.sitecore.net/en/Modules/Sitecore_Rocks.aspx) is installed. 49 | 2. Right-click on your main project, and select **Sitecore > Connect to Sitecore...**. 50 | 3. Choose the Sitecore instance from the list. 51 | 52 | Connecting your project to Sitecore Rocks means that when you create certain files from the **Sitecore** menu, you will be prompted to add a corresponding Sitecore item. For example, a view rendering consists of a .cshtml file on the file system and an item under ``sitecore/Layout/Renderings``. 53 | 54 | ## FAQs and Troubleshooting 55 | 56 | ### My project has the wrong ASP.NET MVC dlls - how can I correct this? 57 | 58 | If you are using a version of Sitecore that requires ASP.NET MVC 5.1 but you have accidentally created a 5.0 project (of you're in Visual Studio 2012 without the update that lets you create a 5.1 project), you can get the .dlls from NuGet. 59 | 60 | ``` 61 | Uninstall-Package Microsoft.AspNet.Mvc 62 | ``` 63 | 64 | Then install the version you need: 65 | 66 | ``` 67 | Install-Package Microsoft.AspNet.Mvc -Version 5.1.0 68 | ``` 69 | 70 | All references (``System.Web.Razor``, and so on) will automatically update. 71 | 72 | ### What's different about Sitecores Global.asax file? 73 | 74 | The following is a default Sitecore Global.asax: 75 | 76 | ``` 77 | <%@Application Language='C#' Inherits="Sitecore.Web.Application" %> 78 | ``` 79 | 80 | Notice that it inherits ``Sitecore.Web.Application`` (which in turn inherits the standard (``System.Web.HttpApplication``). To extend Global.asax (which you are very likely to do if you use any kind of IoC container), you can simply add in the ``Application_*`` methods: 81 | 82 | <%@Application Language='C#' Inherits="Sitecore.Web.Application" %> 83 | 93 | 94 | Or, if you want to use a ``Global.asax.cs`` to work in, just remember to inherit ``Sitecore.Web.Application``. 95 | 96 | ### How do I install WebGrease if I am using Sitecore 7.2 and ASP.NET MVC 5.1? 97 | 98 | See Kern's [gist](https://gist.github.com/herskinduk/7a67839b4af39fc7ebcc) for web.config changes. At time of writing (17/10/2014), the MVC assemblies are targeting a lower version of the WebGrease assembly than the one used in the MVC project template. 99 | -------------------------------------------------------------------------------- /sitecore-mvc/rendering-content/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Rendering Content 4 | redirect_from: "/documentation/Sitecore MVC/Rendering Content/" 5 | category: mvc 6 | --- 7 | 8 | In standard ASP.NET MVC, a view accepts a view model. Recommended practice says that the view model contains everything that the view requires, and that the view should contain no further business logic. The view should only contain display logic. In standard ASP.NET MVC, something like EntityFramework or nHibernate may be used to return data as objects in the application's repository layer - for example, you may have a ``NewsArticle`` model with a ``Text`` and ``Title`` property. The view receives the completed model and outputs it as HTML: 9 | 10 | {% highlight html %} 11 |

@Model.Title

12 | @Model.Text 13 | {% endhighlight %} 14 | 15 | In Sitecore, you have two options. Whether you are using a view rendering or a controller rendering, you *can* pass a custom model to the view as you would in standard ASP.NET MVC and simply call on its properties. The other option is to use Sitecore's **field helper** together with a more generic model. 16 | 17 | ## Using @Html.Sitecore().Field() 18 | 19 | Sitecore's field helper is Sitecore MVC's answer to the ````. In Web Forms, there are a number of more specialized versions, such as ```` and ````. Ultimately, the Web Forms controls and MVC helper call on exactly the same method: ``FieldRenderer.Render()``. 20 | 21 | The helper accept as a field name, item, and set of parameters. At the very least, you must supply a field name. If no item has been specified, Sitecore will look for that field on the **context item** and output its content. Consider the following view - it is used by a **view rendering**, and uses Sitecore's default ``RenderingModel``. 22 | 23 | {% highlight html %} 24 | @model RenderingModel 25 | 26 | @Html.Sitecore().Field("Pet Name") 27 | {% endhighlight %} 28 | 29 | The only content in this view is the ``Pet Name`` field. Because we did not specify an item, the helper will use the context page item by default (if you browse to http://mysite/dogs/spot, then the context item is 'spot'). To make it absolutely clear where the content is coming from, you could pass the context item in explicitly: 30 | 31 | {% highlight html %} 32 | @model RenderingModel 33 | 34 | @Html.Sitecore().Field("Pet Name", Model.PageItem) 35 | {% endhighlight %} 36 | 37 | Alternatively, you can pass in the **datasource item** - if no datasource item is found, it will fall back to the context item: 38 | 39 | {% highlight html %} 40 | @model RenderingModel 41 | 42 | @Html.Sitecore().Field("Pet Name", Model.Item) 43 | {% endhighlight %} 44 | 45 | You do not have to use Sitecore's ``RenderingModel`` - any model that gives you access to a Sitecore ``Item`` will work, but all view renderings use this model by default, and if you are only outputting simple data, it is quite likely that you will be using a view rendering. 46 | 47 | ### Field rendering parameters 48 | 49 | Like the standard HTML helper, Sitecore's field helper accepts parameters. If Sitecore recognizes something as a **field rendering parameter** (like max width and max height for images), it will process them accordingly. All other parameters are added as attributes (such as CSS class in the example below): 50 | 51 | {% highlight html %} 52 | @Html.Sitecore().Field("Pet Image", Model.PageItem, new { @class="large-image", @mw="250" }) 53 | {% endhighlight %} 54 | 55 | 56 | Note: Sitecore does have some problems processing data_* attributes - see Brad Christie's blog post for a solution. 57 | 58 | 59 | ### Creating a custom field helper 60 | 61 | You can create your own library of field helpers that support a specific field type - for instance, you might create an image, date, or link field helper. Refer to [John West's blog post on custom field helpers](https://www.sitecore.net/Learn/Blogs/Technical-Blogs/John-West-Sitecore-Blog/Posts/2012/06/Sitecore-MVC-Playground-Part-4-Extending-the-SitecoreHelper-Class.aspx) for more information. 62 | 63 | ### This doesn't feel very MVC... 64 | 65 | For developers that are accustomed to seeing ``@Model.PropertyName``, using a generic model with a field helper may look a bit wrong. It does, however, have certain advantages: 66 | 67 | * It's very simple - if you are just rendering content from a single item, you may not want to go to the effort of populating a custom model or view model with data 68 | * It supports the Experience Editor straight away without any additional work 69 | * You can pass different field parameters to the helper that are specific to the view - for instance, a news article may require different date formatting depending on where it is being displayed 70 | 71 | If a rendering's only job is to output Sitecore content (no business logic, no data from elsewhere in the tree), it may not be worth complicating the process by returning a custom model. 72 | 73 | ## Populating a custom model 74 | 75 | *Coming soon!* 76 | -------------------------------------------------------------------------------- /sitecore-mvc/view-renderings/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: View Renderings 4 | redirect_from: "/documentation/Sitecore MVC/View Renderings/" 5 | category: mvc 6 | --- 7 | 8 | A view rendering is the simplest Sitecore MVC rendering type. As with all presentation items in Sitecore, a view rendering consists of a definition item in Sitecore and a file on the file system. In the case of view renderings, the file is a standard Razor view (``.cshtml``) which expects a model of type ``RenderingModel`` by default (but can be configured to use a custom class). The model is assembled by the Sitecore MVC pipeline - you do not create a controller and ``ActionResult`` as you would with standard ASP.NET MVC. For this reason, [controller renderings may be a better choice for complex business logic](http://mhwelander.net/2014/06/13/view-renderings-vs-controller-renderings/). 9 | 10 | ## Using a datasource with a view rendering 11 | 12 | The default ``RenderingModel`` has a property named ``.Item`` - this will return the datasource item if present, or the context item if no datasource has been set. ``.PageItem`` will always return the context item. Either item can be used by the [field helper]({{ site.baseurl }}/documentation/Sitecore MVC/Rendering Content/index.html). 13 | 14 | ## Creating a view rendering with Sitecore Rocks 15 | 16 | 1. Connect your website project to an instance of Sitecore by right-clicking on the project and choosing the **Sitecore** menu. This will allow Sitecore Rocks to create a corresponding rendering item in the master database. 17 | 18 | ![Sitecore menu]({{ site.baseurl }}/images/connect-project-to-rocks.png) 19 | 20 | 2. Choose your instance from the **Sitecore Explorer Connection** dropdown list: 21 | 22 | ![Choose an instance of Sitecore from the dropdown]({{ site.baseurl }}/images/project-rocks-properties.PNG) 23 | 24 | 3. To create a view rendering, right-click on the folder in your project where you wish to insert the ``.cshtml`` file and select **Add > New Item...**. 25 | 4. Choose **Sitecore** in the left-hand menu, and select **Sitecore View Rendering** in the right-hand pane. Give the view rendering a name. Keep in mind that this will also be the name of the compenent definition item in Sitecore, so it should be human-readable. 26 | 27 | ![Select and name view rendering]({{ site.baseurl }}/images/create-view-rendering.PNG) 28 | 29 | 5. Sitecore will prompt you to add a corresponding definition item. View renderings live under ``/sitecore/Layout/Renderings``, and should ideally be organized into a sub-folder. 30 | 31 | ![Create a Sitecore item]({{ site.baseurl }}/images/create-corresponding-item.PNG) 32 | 33 | Choose a location and click OK (or right-click to insert a new sub-folder). Sitecore will create a definition item in the tree, and you will get a ``.cshtml`` file that is setup in the following way: 34 | 35 | @using Sitecore.Mvc 36 | @using Sitecore.Mvc.Presentation 37 | @model RenderingModel 38 | 39 | 6. If you are working outside the web root, remember to move your files across (by using One-Click Web Publish in Visual Studio, TDS, or a custom post-build step). 40 | -------------------------------------------------------------------------------- /sitecore-speak/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore SPEAK 4 | redirect_from: "/documentation/Sitecore SPEAK/" 5 | category: speak 6 | --- 7 | 8 | Sitecore SPEAK is the new framework for creating applications within Sitecore, it replaces Sheer UI. 9 | 10 | ## SPEAK 1.1 11 | 12 | SPEAK 1.1 Documentation 13 | 14 | ## SPEAK 2.0 15 | 16 | SPEAK 2.0 Documentation -------------------------------------------------------------------------------- /sitecore-speak/sitecore-speak-20/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Sitecore SPEAK 2.0 4 | redirect_from: "/documentation/Sitecore SPEAK/Sitecore SPEAK 20" 5 | category: speak 6 | --- 7 | 8 | Introduced in Sitecore 8.1, SPEAK 2.0 is the updated framework for buidling applications within the Sitecore CMS. 9 | 10 | 11 | #### Blog Posts 12 | 13 | * [http://mikerobbins.co.uk/2015/10/20/sitecore-speak-2-0-component-vs-speak-1-1/](http://mikerobbins.co.uk/2015/10/20/sitecore-speak-2-0-component-vs-speak-1-1/) -------------------------------------------------------------------------------- /unofficial/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: onecol 3 | title: Why unofficial? 4 | --- 5 | 6 | Unless otherwise stated, the information on this site is completely unofficial and unsupported by Sitecore - all available official information is on [http://doc.sitecore.net/](http://doc.sitecore.net/). Treat the content on this site as you would a blog post. -------------------------------------------------------------------------------- /xDB/Engagement Automation/create-a-plan/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Creating an Engagement Plan 4 | category: xdb 5 | --- 6 | 7 | Engagement plans lets you track visitors through a series of states based on their behaviour and status. You can find out more about the basics of Engagement Plans on doc.sitecore.net: 8 | 9 | * [Engagement plans overview](https://doc.sitecore.net/Products/Sitecore%20Experience%20Platform/Engagement%20plans/Engagement%20plans) 10 | * [Creating an engagement plan](https://doc.sitecore.net/Products/Sitecore%20Experience%20Platform/Engagement%20plans/Walkthrough%20Creating%20an%20engagement%20plan) 11 | 12 | The engagement plan walkthrough demonstrates how to create an engagement plan using a **design interface** that resembles Visio: 13 | 14 | ![Alt text]({{site.baseurl}}/images/Engagement%20Automation/Testing%20Plan/engPlan1.png) 15 | 16 | In the background, this creates a number of items - which is what we are going to focus on. 17 | 18 | ## Initial State 19 | 20 | The initial state is the state that visitors are added to when you subscribe them to your engagement plan. Even though we have called it 'Initial State', there is nothing stopping us from enrolling visitors in any state in the plan: 21 | 22 | ![alt]({{site.baseurl}}/images/Engagement%20Automation/Testing%20Plan/InitialStatePageEventSubscription.png) 23 | 24 | Pay attention to **Page Event Subscription** and **Time interval** fields - one or both of these fields **must** be filled in in order for the contact to progress. In this example, a contact will only progress if: 25 | 26 | * The contact is in the Initial State 27 | * The contact triggers the Sample Goal whilst in that state 28 | 29 | There is a dropdown on the condition that allows you to specify if you want to **evaluate always, on timeout, or when an event has been triggered**. 30 | 31 | In this example, triggering Sample Goal whilst in the Initial State will run a **condition**, which is a child item of the state. You **must** specify a trigger or timeout - conditions will only be evaluated if something has triggered that to happen. You can [find out more about different types of triggers](https://doc.sitecore.net/Products/Sitecore%20Experience%20Platform/Engagement%20plans/Engagement%20plan%20triggers%20and%20conditions). 32 | 33 | > **Note:** You will **not** see the results in Marketing Control Panel immediately. A lot of work in Sitecore 8 is done in the background and inside the contact session. 34 | 35 | ## Conditions 36 | 37 | This example uses a Goal condition, but you can use any condition you want. Remember - this particular rule will only be run if you have set Page Event Subscription on the parent state. In our rule, when a Sample goal is triggered (see Page Event Subscription of the Initial State) we are asking Sitecore to check if Google +1 goal has been triggered during the same visit. If yes, user should be transferred to the next state: 38 | 39 | ![alt]({{ site.baseurl}}/images/Engagement%20Automation/Testing%20Plan/Condition1.png) 40 | 41 | ## Goal Triggered state 42 | 43 | No specific settings - we could mark this as the 'final' state by checking the checkbox. 44 | 45 | ## Checking that it works 46 | 47 | Now for the fun part - checking that the engagement plan is doing what it is supposed to. See [debugging engagement plans]({{ site.baseurl }}/xDB/Engagement Automation/debug-a-plan) for more information. 48 | -------------------------------------------------------------------------------- /xDB/Engagement Automation/debug-a-plan/Sample layout.aspx: -------------------------------------------------------------------------------- 1 | <%@ Import Namespace="Sitecore.Analytics"%> 2 | <%@ Import Namespace="Sitecore.Analytics.Automation.Data"%> 3 | <%@ Import Namespace="Sitecore.Analytics.Automation.MarketingAutomation"%> 4 | <%@ Import Namespace="Sitecore.Data"%> 5 | <%@ Page Language="c#" Inherits="System.Web.UI.Page" CodePage="65001" %> 6 | <%@ Register TagPrefix="sc" Namespace="Sitecore.Web.UI.WebControls" Assembly="Sitecore.Kernel" %> 7 | <%@ OutputCache Location="None" VaryByParam="none" %> 8 | 9 | 54 | 55 | 56 | 57 | 58 | Welcome to Sitecore 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
69 |
70 |
71 | 72 | 73 |
74 |
75 | 76 |     77 | sitecore\\Kate 78 |
79 |
80 | 81 |     82 |
83 | 84 |              85 | {38C0F589-B70E-4504-9DCA-0C98EACBE9E8} 86 |
87 | 88 |  {36659348-332A-4422-80E2-048E66A47EF5} 89 |
90 |
91 | 92 |
93 |
94 | 95 |
96 |
97 |
98 | 99 | 100 | -------------------------------------------------------------------------------- /xDB/Engagement Automation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Engagement Automation 4 | category: xdb 5 | --- 6 | 7 | Engagement Plans, Automation States, transferring between states on triggered event and timeout, actions, all those things. 8 | 9 | ## [Creating an Engagement plan]({{ site.baseurl }}/documentation/xDB/Engagement Automation/create-a-plan) 10 | How to create a simple plan through UI, explained. 11 | 12 | ## [Debugging an Engagement plan]({{ site.baseurl }}/documentation/xDB/Engagement Automation/debug-a-plan) 13 | to make sure that your Engagement plan is working properly (devs edition). 14 | -------------------------------------------------------------------------------- /xDB/contact-facets/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Contact Facets 4 | redirect_from: "/documentation/xDB/Facets/" 5 | category: xdb 6 | --- 7 | 8 | Not to be confused with **goal facets** or **search facets**, a contact facet is a property of a contact - such their first name, e-mail address, or job title. You can easily [add your own facets](http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2014/09/Introducing-Contact-Facets.aspx). 9 | 10 | ### Configuring Facets 11 | 12 | Facets are configured in ``Sitecore.Analytics.Model.config``. There are no corresponding items in Sitecore - it's all done in configuration. The configuration file contains two main sections: 13 | 14 | * A list of **elements**. This section maps an interface to a concrete implementation - for instance, the concrete implementation of ``Sitecore.Analytics.Model.Entities.IContactEmailAddresses`` is, by default, ``Sitecore.Analytics.Model.Generated.ContactEmailAddresses``. 15 | * An **entity** definition section that defines the structure of the contact model, including a list of facets and their names. This is the default list: 16 | 17 | 18 | 19 | 20 |