Sitecore Dashboard User Guide



Similar documents
This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

HOW TO CREATE THEME IN MAGENTO 2

Quick Start Guide Mobile Entrée 4

Building A Very Simple Web Site

Introduction to Ingeniux Forms Builder. 90 minute Course CMSFB-V6 P

Kentico CMS for.net User Groups

Kentico CMS 5 Developer Training Syllabus

Notes on how to migrate wikis from SharePoint 2007 to SharePoint 2010

Kentico CMS 6.0 Tutorial

Kentico 8 Certified Developer Exam Preparation Guide. Kentico 8 Certified Developer Exam Preparation Guide

Engagement Analytics Configuration Reference Guide

1. Tutorial - Developing websites with Kentico Using the Kentico interface Managing content - The basics

Portals and Hosted Files

SharePoint Integration Framework Developers Cookbook

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Terms and Definitions for CMS Administrators, Architects, and Developers

Kentico CMS 7.0 Tutorial

Kentico CMS 7.0 E-commerce Guide

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing Microsoft SharePoint Server 2013 Core Solutions

Scott Moore, Esri April 4, Intermountain, Great Falls, MT

MAGENTO TRAINING PROGRAM

Kentico CMS 7.0 Tutorial ASPX

Installing and Sending with DocuSign for NetSuite v2.2

Course MS55077A Project Server 2013 Development. Length: 5 Days

A set-up guide and general information to help you get the most out of your new theme.

ADMINISTRATOR GUIDE VERSION

Drupal CMS for marketing sites

Page Editor Recommended Practices for Developers

Real Time Data in Web Applications

Petroleum Web Applications to Support your Business. David Jacob & Vanessa Ramirez Esri Natural Resources Team

Building and Deploying Web Applications

Expanded contents. Section 1. Chapter 2. The essence off ASP.NET web programming. An introduction to ASP.NET web programming

Developing ASP.NET MVC 4 Web Applications

MOC 20488B: Developing Microsoft SharePoint Server 2013 Core Solutions

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

FormAPI, AJAX and Node.js

IBM Unica emessage Version 8 Release 6 February 13, User's Guide

Analytics Configuration Reference

Egnyte for Salesforce v2.1 Administrator s Guide

Building A Very Simple Website

How To Use Titanium Studio

Content Reference. Sitecore CMS 6. A Conceptual Overview of Content Management in Sitecore. Content Reference Rev

What s New in IBM Web Experience Factory IBM Corporation

Magento 1.4 Themes Design

Sitecore InDesign Connector 1.1

Quick Start Guide. This guide will help you get started with Kentico CMS for ASP.NET. It answers these questions:

SPHOL326: Designing a SharePoint 2013 Site. Hands-On Lab. Lab Manual

Cache Configuration Reference

Kentico Site Delivery Checklist v1.1

Localizing dynamic websites created from open source content management systems

Programming Fundamentals of Web Applications Course 10958A; 5 Days

Working with Indicee Elements

metaengine DataConnect For SharePoint 2007 Configuration Guide

skype ID: store.belvg US phone number:

Bringing M2M to the web with Paho

Fortis Theme Update Guide

COURSE OUTLINE FACULTY OF INFORMATION AND COMMUNICATION TECHNOLOGY UNIVERSITI TEKNIKAL MALAYSIA MELAKA

Kentico CMS 7.0 Intranet Administrator's Guide

MASTERTAG DEVELOPER GUIDE

UH CMS Basics. Cascade CMS Basics Class. UH CMS Basics Updated: June,2011! Page 1

WHAT'S NEW IN SHAREPOINT 2013 WEB CONTENT MANAGEMENT

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

ultimo theme Update Guide Copyright Infortis All rights reserved

Developers Guide. Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB. Version: English

Salesforce Customer Portal Implementation Guide

Vector HelpDesk - Administrator s Guide

INTRO TO THEMING IN MAGENTO

Performance Monitor. Intellicus Web-based Reporting Suite Version 4.5. Enterprise Professional Smart Developer Smart Viewer

Visual COBOL ASP.NET Shopping Cart Demonstration

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

This guide provides additional information about topics covered in the webinar

SAHARA FASHION15 RESPONSIVE MAGENTO THEME

Bazaarvoice for Magento Extension Implementation Guide v6.3.4

CrownPeak Playbook CrownPeak Hosting with PHP

SharePoint Checklist and Resources

Dev01: Kentico CMS 7 Developer Essentials Syllabus

Official Amazon Checkout Extension for Magento Commerce. Documentation

DEMO ONLY VERSION. Easy CramBible Lab M Magento Front End Developer Certification Exam. ** Single-user License **

Microsoft Dynamics Training

ECG-1615A. How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections. elinar.com

HTML5. Turn this page to see Quick Guide of CTTC

Administering Jive for Outlook

Getting Started Developing JavaScript Web Apps. this = that. VT Geospatial Forum 2015

Top Navigation menu - Tabs. User Guide 1. &

Porting Legacy Windows Applications to the Server and Web

Yandex.Widgets Quick start

AppDev OnDemand Microsoft Development Learning Library

CrownPeak Platform Dashboard Playbook. Version 1.0

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Managing Existing Mobile Apps

ADS2013: App Development with SharePoint 2013

A Conceptual Overview for CMS Administrators, Architects, and Developers

Drupal and ArcGIS Yes, it can be done. Frank McLean Developer

CrownPeak Java Web Hosting. Version 0.20

Developing Web Views for VMware vcenter Orchestrator

SAV2013: The Great SharePoint 2013 App Venture

Transcription:

Sitecore Dashboard User Guide Contents Overview... 2 Installation... 2 Getting Started... 3 Sample Widgets... 3 Logged In... 3 Job Viewer... 3 Workflow State... 3 Publish Queue Viewer... 4 Quick Links... 4 Configuration... 4 Adding Quick Links... 5 Repositioning Widgets... 6 Common Widget Properties... 6 Sample Widget Properties... 7 Selecting a Theme... 7 Customization... 7 Creating a Custom Theme... 7 Building Custom Widgets... 8 Real-Time Updates... 8 Creating a View... 9 Creating a Model Class... 10 Project Info... 11

Overview The Sitecore Dashboard is a Sitecore app that aggregates real-time data about your site into a customizable widget-based view. Installation Requirements:.NET 4.0+ IIS 7+ Steps: Json.NET 4.5 (contained in Sitecore package and will overwrite existing version of Newtonsoft.Json.dll) Tested on Sitecore 6.4.1, 6.5, and 6.6 1. Install Sitecore package 2. Add to <runtime>/<assemblybinding> in Web.config: <dependentassembly> <assemblyidentity name="newtonsoft.json" publickeytoken="30ad4fe6b2a6aeed" /> <bindingredirect oldversion="1.0.0.0-3.6.0.0" newversion="4.5.0.0" /> </dependentassembly>

Getting Started The module comes preconfigured with a sample dashboard view and set of widgets. Sample Widgets Logged In This widget displays the names of users who are currently logged into the CMS and a timestamp of their last activity. The Kick Users link opens the /sitecore/shell/applications/login/users/kick.aspx page which allows admins to terminate user sessions. Job Viewer This widget displays a list of recently queued jobs. Each row contains the name of the job, the job status, the user that started the job, and the time at which the job was queued. Workflow State

This widget shows a preview of the items in a particular workflow state (as listed in the Workbox). The View All link opens the Workbox application with the workflow pre-selected. Each row includes the item name, version information, path, and the associated user and date of the last event in the item s workflow history. Publish Queue Viewer This widget displays items that are in the publish queue and therefore would be included in the next incremental site publish. If the item is in a workflow, the associated user and date of the last event in the item s workflow history is displayed. If the item is not in a workflow, the last modified user and date are displayed. This widget supports pagination since there is no Sitecore application which displays a full list of this data. Quick Links In addition to the widgets that appear in the main area of the Dashboard, the side rail may contain groups of links which may open either a Sitecore application or URL. Configuration The default Dashboard view is configured in Sitecore under /sitecore/content/applications/dashboard in the core database.

The Dashboards folder may contain multiple Dashboard configurations (i.e., combinations of widgets, links, theme, etc.). Currently, the only way to change which Dashboard configuration is displayed is to modify the Dashboard.DefaultDashboard setting in Sitecore.Dashboard.config. Future enhancements may include allowing different users to view different configurations. Adding Quick Links Each Dashboard configuration contains a Links folder under which you can add items based on the Application Shortcut or Link template. Note that the Application Shortcut template is part of the core Sitecore product. Therefore, certain items under the /sitecore/applications tree may simply be copied to the Quick Links folder rather than creating the item from scratch.

A link may also point to any URL by creating an item based on the Link template, which contains a single General Link field. Links are grouped using the Link Section template, which contains a field for header text. Repositioning Widgets Widgets are assigned to a Position /placeholder in the Dashboard layout. The out-of-the-box Left and Right positions reference the columns in the main content area of the Standard Dashboard. New positions can be created as children of the Widgets folder, but must be added by a developer to the Dashboard layout (ASPX). To reposition a widget, simply move the Widget item under the desired Position. Re-ordering items under a given position also updates the order in which Widgets are displayed within a given Position. Common Widget Properties Each Widget contains the following fields which may be edited in Sitecore: Name the title to appear at the top of the Widget Type the Widget Type which defines the code used to render the Widget content Css Class an optional CSS class to be applied to the widget s HTML container

Parameters an optional list of key/value pairs used to configure the Widget. (Note that a Widget Type may be used by multiple Widgets, so this allows each instance to be configured differently.) Sample Widget Properties The following table contains a list of parameters that may be used with certain sample widget types. Widget Type Parameter Name Description Job Viewer JobCategoryFilters Use to only display jobs in the given job category (e.g., Publish) Workflow State WorkflowID Sitecore ID of the Workflow item Workflow State WorkflowStateID Sitecore ID of the Workflow state item Workflow State MaxItems Number of items to display before showing the View All link Publish Queue Viewer PageSize Number of items to display per page Selecting a Theme Themes define the Dashboard look-and-feel and allow for custom branding of the UI. This module only comes with a single Default theme. However, if additional themes are developed (see Creating a Custom Theme), the theme to use may be selected on the Dashboard configuration root (e.g., /sitecore/content/applications/dashboard/dashboards/standard). Customization Creating a Custom Theme The look-and-feel of the Dashboard may be customized by creating a CSS file and corresponding Theme item that references it under /sitecore/content/applications/dashboard/themes. This file will be inserted after the base stylesheet and thus may be used to override any default styles. Example: CSS file (/css/dashboard.css): header.brand-logo { background: url('../img/ntt_data_logo.png') no-repeat 0 0; height:26px; width:168px; } Theme item (/sitecore/content/applications/dashboard/themes/ntt DATA):

Result: Building Custom Widgets Technically speaking, a Widget is simply a User Control that inherits the Sitecore.Dashboard.Web.UI.Widgets.Widget base class. You may develop your own User Control and create a new item under /sitecore/content/applications/dashboard/widget Types which references it by path. Inheriting the Widget base class provides easy access to the Parameters field on the Widget item in Sitecore. Referencing the Parameters property from your code-behind will return a NameValueCollection containing the keys and values on a given Widget item. Real-Time Updates A unique feature of the Sitecore Dashboard module is that it provides a framework for pushing live updates to Widgets as Sitecore events are triggered. This means that updates can be seen in real-time as opposed to a user having to constantly refresh the view. The Sitecore Dashboard leverages Microsoft SignalR (included with ASP.NET 4.5), an open source library that supports server push functionality through the use of the HTML5 WebSocket transport or a fallback mechanism where necessary (e.g., AJAX long polling, Forever Frame, etc.). The server pushes Sitecore events to the client, which then updates the Widgets subscribed to those events via AJAX. Below is an overview of the process through which Sitecore events trigger updates to the client UI.

1. Sitecore server-side event is raised 2. Dashboard Hub broadcasts message (i.e., name of the event) to all clients 3. Client-side hub proxy raises jquery event 4. Widgets subscribed to jquery event make AJAX call to get latest data from Web API 5. Web API gets updated model from Sitecore and returns as JSON 6. Widget view model is updated based on response and view is automatically refreshed through declarative data binding (Knockout JS) The LoggedIn and JobViewer Widgets are good examples to start from. However, if you wish to create a real-time Widget from scratch, the steps are as follows: Creating a View 1. Create a User Control (ASCX) that inherits the Sitecore.Dashboard.Web.UI.Widgets.Widget class. 2. Using Knockout JS, setup a with binding around your widget HTML, whose binding context is the User Control s ClientID. Add declarative bindings to the contained HTML to bind to properties of the view model. <!-- ko with: <%= ClientID %> --> <!-- Add HTML elements with data-bind attribute --> <!-- /ko -->

3. Add JavaScript to create a Widget object whose constructor takes the value of the ClientID and ApiRoute property (inherited from the Widget base class). Note: the ApiRoute is based on the GUID of the Widget item which determines the URL of the Web API call. <script> $j(document).ready(function() { // Constructor takes ID of widget to auto-refresh and URL of Web API call var widget = new Widget('<%= ClientID %>', '<%= ApiRoute %>');... }); </script> 4. Using jquery.bind, add a callback function for the events that should trigger an update to this Widget. The callback function should call widget.update(). <script> $j(document).ready(function() { // Constructor takes ID of widget to auto-refresh and URL of Web API call var widget = new Widget('<%= ClientID %>', '<%= ApiRoute %>'); // Bind update event handler to Sitecore security events $j(document).bind('job:started job:ended', function() { widget.update(); }); }); </script> Creating a Model Class 1. Create a Model class that inherits the Sitecore.Dashboard.Models.WidgetModel class. 2. Override the Initialize() method that populates the Model. This will be converted to JSON by the Web API WidgetsController. public class JobViewer : WidgetModel { public override void Initialize() { // Populate model } } 3. On the Widget Type item in Sitecore, specify the class signature (including assembly) in the Model Type field.

Project Info To report issues or contribute to the project, check out the project page at https://github.com/nttdata/sitecore-dashboard. For general questions and comments, contact Valerie Concepcion (valerie.concepcion@nttdata.com).