User Tools

Site Tools


Lesson Strips

This page is a WIP. There is likely to be incomplete and or missing information while the page is being built.

Summary

The idea behind Lesson Strips is to provide a convenient and unobtrusive way of guiding users through a series of tasks, with rich compelling content, directly within the DAZ Studio User Interface (UI) via widgets in the Status Bar.

With a strong desire to make the process easy for potential developers, while allowing ultimate flexibility, we've created an example comprised of several scripts and QtDesigner .ui files.

Terms

  • Lesson Content: A collection of files delivered to a user as a guide to something.
  • Lesson Series: A collection of Lessons provided in a form that allows a user to load a set of them and select one to follow along within the UI.
  • Lesson: A collection of Steps provided in a form that allows a user to progressively follow along and achieve a goal, learn a skill, and/or grow their understanding of a concept, tool, or UI component.
  • Step: An action, task or description of a concept, tool, or UI component.
  • Lesson Selector: The combobox widget displayed in the Lesson Strip that allows a user to select a Lesson from the Lesson Series.

Folders & Files

Below are descriptions of the various folders and files that [together] implement the Lesson Strip concept. There are 3 levels to the Lesson Strip hierarchy; Lesson Series, Lessons, and Steps. The naming conventions, along with the folder/file structure, exist in effort to simplify the creation of Lesson Content through the use of visual tools like QtDesigner.

Lesson Series

  • Series Folder: This folder contains all of the folders and files that define the Lesson Series. For any Lesson Series that is general in nature, that is to say the Lesson Series is not Layout specific, the relative path of the folder that this folder should exist within is “<%DS4_INSTALL%>/resources/lesson strips/general”. For any Lesson Series that is specific to a particular layout, the relative path of the folder that this folder should exist within is “<%DS4_INSTALL%>/resources/lesson strips/layouts/<%LAYOUT_NAME%>”. The name of a Series Folder is used as the name of the Lesson Series and determines what the user sees in the Lesson Selector. Sorting of Lesson Series' within the Lesson Selector is done alpha-numerically.

Lessons

  • Lesson Folders: Each Lesson is contained within its own folder; a direct sub-folder of the Series Folder. The name of these folders are used as the names of the Lessons and will determine what the user sees in the Lesson Selector. Sorting of Lessons within the Lesson Selector is done alpha-numerically, so it is recommended that if an order of progression though the Lesson Series is desired, that you prepend the folder names with a number, a period and a space (e.g. “1. Activities”, “2. Tabs”, etc.); zero padded (e.g. “01. Activities”, “02. Tabs”, etc.) if the number of Lessons will exceed 9.

Steps

  • Step Activation Script: This script is responsible for validating the existence of the corresponding Step Folder, along with the Popup Builder Script. This script executes the Popup Builder Script.
  • Step Folders: Each Step is contained within its own folder. The name of the folder should coincide with the index of the step it represents, starting at 0 and ending at 9. The folder named “0” is reserved for a Popup Builder Script and Popup UI Definition that ultimately cause an overview video to be displayed.
  • Popup Builder Script: Each Step Folder contains one of these scripts. This script is executed by the Step Activation Script. It is responsible for validating the existence of the Popup UI Definition file, and subsequently causing it to be loaded into the DzUIPopUpWgt. This script is also responsible for creating any DzCallBack objects triggered by signals emitted by widgets in the Popup UI Definition file.
  • Popup UI Definition: Each Step Folder contains one of these QtDesigner .ui files. This file determines the layout and widgets that will be presented in the DzUIPopUpWgt. The Popup Builder Script will use the statusTip of any button in this file to create a DzCallBack that will open the specified path in the system default application for that path, triggered by clicking and releasing the button.