LibrarySites.Banner
    • 11 Apr 2014

    SPEAK, Part 0: Links to other blog posts

    This blog post contains links to SPEAK related blog posts. Part 1: Introduction Part 2: Commandments of SPEAK Part 3: Embracing the platform Part 4: Components Part 5: Data Binding Part 6: Page Code Part 7: Layouts and ren...
    • 11 Apr 2014

    SPEAK, Part 1: Introduction

    This blog post gives an introduction to SPEAK. SPEAK is here to help you as a developer by trying to make things as easy as possible. If SPEAK does not help you, makes you develop faster and increases the quality of your UI, SPEAK has failed. Sitecor...
    • 11 Apr 2014

    SPEAK, Part 2: Commandments, Sins and Virtues

    This blog post gives the Commandments, Sins and Virtues of SPEAK.The commandments, sins and virtues of SPEAK. Print these commandments and hang them on your wall. Commandments Thou shall: Using Sitecore layouts, sublayouts and renderings for eve...
    • 11 Apr 2014

    SPEAK, Part 3: Embracing the platform

    This blog post describes some details of the architecture of SPEAK.Architecture SPEAK is about embracing the UI platform which for SPEAK is the web browser. SPEAK is built upon standard and well known technologies. Sitecore layouts, ...
    • 11 Apr 2014

    SPEAK, Part 4: Components

    The blog post describes the basic elements in SPEAK.The basic element in SPEAK is a component. In Sitecore terms, a component is implemented as a Sitecore rendering. A component (aka control) is a UI element and consists of a Backbone model and view....
    • 11 Apr 2014

    SPEAK, Part 5: Data Binding

    This blog post describes the data binding concept in SPEAK.Data binding in SPEAK works in the same way as traditional data binding, but comes in two variants; Knockout data binding and cross-binding data binding. The first variant is to synchro...
    • 11 Apr 2014

    SPEAK, Part 6: Page Codes

    This blog post describes the centralized Page Code object in SPEAK. Each page has a centralized JavaScript code file that has access to all components in the page. This object is called an application. The Page Code is responsible for initializing t...
    • 11 Apr 2014

    SPEAK, Part 8: Debugging

    This blog post describes how to debug while using SPEAK.If you enable debugging (by adding sc_debug=1 in the URL), SPEAK annotates the Html with rendering information, if available. The following information is added: ...
    • 11 Apr 2014

    SPEAK, Part 9: Data Sources

    This blog post describes how to use data sources in SPEAK.A central concept in SPEAK is a Data Source. A data sources provides data to other components. SPEAK does not impose any restriction on what can be a data source. Data sources are usually used...
    • 10 Apr 2014

    SPEAK, Part 7: Layouts and renderings

    This blog post describes how SPEAK uses layouts, sublayouts and renderings.All pages in SPEAK are built using standard Sitecore layouts, sublayouts and renderings. SPEAK requires no changes to standard Sitecore layouts, but imposes a strict approach....
    • 10 Apr 2014

    SPEAK, Part 10: Building a new page

    When building a new SPEAK page, follow the steps in this blog post.Create a new item in Sitecore. The template of the new item should have the one of the SPEAK pages template as a base template. Create a PageSettings item beneath the new item. The Pa...
    • 10 Apr 2014

    SPEAK, Part 11: Building a new component

    When building a new SPEAK component, follow the steps in this blog post.Create a file folder for the new component in an appropriate location. Add the component JavaScript scaffolding file to the folder. Add a MVC View cshtml file to the folder. In t...
    • 10 Apr 2014

    SPEAK, Part 12: Component interaction

    This blog post describes how to work with interactions in SPEAK.A SPEAK component may provide a number of interactions, for instance a button exposes a click interaction. Usually such a click interaction comes in 4 different variants or protocols. ...
    • 10 Apr 2014

    SPEAK, Part 13: Triggers

    This blog post describes how SPEAK base controls listen for events on the current application.For instance you can hide the control “Button1” by triggering this event: Sitecore.app.trigger(“hide:Button1”); This is very powerfu...
    • 10 Apr 2014

    SPEAK, Part 14: Events

    This blog post describes how SPEAK uses Backbone events to provide a familiar programming model and facilitate decoupling between controls.(For additional information please refer to the Backbone documentation: http://backbonejs.org/#Events). AVOID: ...
    • 10 Apr 2014

    SPEAK, Part 15: Rules

    This blog post describes how SPEAK provides the ability to evaluate Rules client-side. This enables simple logic to be expressed as a set of triggers, conditions and actions.The SPEAK Rules Engine uses the standard Sitecore Rules Engine UI, but diffe...
    • 10 Apr 2014

    SPEAK, Part 16: Scripts and stylesheets

    This blog post describes how SPEAK loads JavaScript.SPEAK contains a lot of JavaScript – so much in fact that it would be impractical load all of it upfront. SPEAK instead uses Require.js to load scripts, but with a Sitecore Twist, of course....
    • 10 Apr 2014

    SPEAK, Part 17: Page initialization

    The blog post describes how SPEAK initializes a page.During page render the PageCode rendering inserts JavaScript and Css references into the page. These references are located under the SPEAK-Layout item (/Sitecore/client/SPEAK/Layouts/Layouts/SPEAK...
    • 10 Apr 2014

    SPEAK, Part 18: Script resolving

    The blog post describes how SPEAK resolves scripts and stylesheet using Require.js.Modules in Require.js are normally identified by their Url. Require.js will use the module name to generate a Url (using a base Url) and load the script from it. This ...
    • 10 Apr 2014

    SPEAK, Part 19: Content structuring

    This blog describes how content is structured in SPEAK.In SPEAK the content items are organized in a different way than the traditional Sitecore way. SPEAK tries to place logically connected items close together. For instance the template for renderi...