Sitecore SPEAK Guidance

Living SPEAK guideline used internally to share same structure and code style. It is work in progress and you are welcomed to pull request it.

On GitHub Fork

What is this?

The SPEAK Guidance Repository provides concise guidelines, conventions, and best practices related to implementing components and applications in SPEAK. The SPEAK Guidance Repository replaces the Sitecore.Speak.Guideline repository.

This repository describes what to do, not how to do it. Please refer to the Sitecore documentation site for information regarding how to perform tasks in SPEAK.

SPEAK on doc.sitecore.net

Mission

SPEAK combines Sitecore's web development platform with best-of-breed web technologies to empower application developers in the rapid development of powerful, friendly, consistent, high performance Sitecore applications.

How to use this repository

The repository organization helps you find the information most relevant to you based on your main activity, presuming that you currently focus mainly on either implementing an application using existing components, or creating new components.

We recommend that you read ALL guidance related your primary task, and you may safely ignore guidance that is not related to your work.

We welcome your input!

If you encounter issues, please tell us! To learn best practices to follow when reporting issues, please read the Reporting issues guidance.

If you have suggestions for how to improve these guidelines, or existing SPEAK components, please read the Contributing to SPEAK guidance.

Application development guidance

Please follow all the guidance in this section when implementing applications in SPEAK.

General guidance

Application definition storage - Where to store your application files and items.
Custom components - When and how to create custom components.
Dialog definition storage - Where to store dialogs used by your SPEAK application.
Application testing - Best practices when testing your SPEAK application.

Page development

Component settings - Guidelines for configuring components on a page.
Dialog definition conventions - Guidelines for configuring dialogs for a page.
Page definition conventions - Guidelines for implementing an application page.
SubPage definition items - Guidelines for implementing a set of components embedded on an application page.

PageCode

All language styling - Guidelines for styling code regardless of the language chosen.
C# - Guidelines for C# based page code.
JavaScript - Guidelines for JavaScript based page code.

Component development guidance

Please follow all the guidance in this section when implementing components in SPEAK.

Architecture

Component definition storage - Where to store and how to name component files and items.
Baseline functionality - Minimal functionality required by all components.

Coding guidelines

All language styling - Guidelines for styling code regardless of the language chosen.
C# - Guidelines for C# component code.
JavaScript - Guidelines for JavaScript component code.
JavaScript for Core 1.1 - Guidelines for JavaScript for Core 1.1 components.
Razor View (CSHTML) - Guidelines for CSHTML code that defines the component View.
StyleSheets (CSS and Less) - Guidelines for StyleSheet code in CSS and Less.

Items

Definition items - Guidelines for component definition items.
Parameters template - Guidelines for component parameters templates.