Agenda

Back-end Developer Training – Agenda (For CMS Version 4)

1)    Obtain overall development background knowledge of the attendees.

 

2)    Run through a Micro Site Admin training

  1. System Management
  2. Content/Content Version
  3. Templates
  4. List Views
  5. Form Templates
  6. Navigation
  7. Dynamic Form
  8. Device Detection

 

3)    Explain the CMS project structure and platform the system is built on.

  1. DB with FileStore and Data access layer
  2. Spring.Net
  3. Solution structure – Admin, WebUI and Logic projects
  4. Assets Folder – purpose of each folder
  5. Active MQ

 

4)    Demonstrate how to setup a local version

  1. Create Solution/Install dependencies
    1. VS Plugin - W:\Development\SeamlessNugetPlugin\beta3
  2. Setup Assets folder
  3. Setup new Database
    1. Create/Restore new DB
    2. Integrated security
    3. FileStream - http://wiki.seamless.com.au/display/SCV4/Enable+FileStream
  4. Setup Active MQ (Install as windows service)
    1. http://wiki.seamless.com.au/display/SCV4/Install+ActvieMQ+as+Windows+Services
  5. Setup web.config in Admin and WebUI application
  6. Run admin and web application to demonstrate and configure using Config.aspx

 

5)    Demonstrate how to create custom control (Hello world)

  1. Add control in WebUI project – follow proper folder structure to reflect the group as well
  2. Alter the Namespace to keep it consistent – All controls for the particular group to be in the same Namespace
  3. Extend control from ControlBase
  4. Add CustomControl and CustomControlInstance record in cmsConfig.config
  5. Create Spring context xml to generate the related spring objects. Can use Autowire for injecting core objects
  6. If using ContentVersion,ItemVersion or FileVersion , the user needs to manually inject the objects.
  7. Demonstrate the control by dropping it in a page.

 

6)    Demonstrate how to create a custom control with ability to create multiple instance

  1. Add control in WebUI project – follow proper folder structure to reflect the group as well
  2. Alter the Namespace to keep it consistent – All controls for the particular group to be in the same Namespace
  3. Extend control from ControlBase and implement ISeamlessCMSControl interface
  4. Add a CustomControlInstanceProperty to demonstrate the functionality
  5. Add CustomControl record in cmsConfig.config
  6. Create Spring context xml to generate the related spring objects. Can use Autowire for injecting core objects
  7. If using ContentVersion,ItemVersion or FileVersion , the user needs to manually inject the objects.
  8. Create multiple instances in the admin application
  9. Demonstrate the control by dropping all instances in a page.

 

7)    Demonstrate creating custom control with properties and how to access them through the control (Show all the possible types of properties that could be created)

 

8)    Demonstrate Utils and helper classes in Seamless Packages

  1. Core.FormatTools
  2. ListViewHelper
  3. DataDefinitionOption
  4. CMSSettings
  5. Exception Logging

 

9)    Create CMS Configurations

  1. Create new configuration in Sprint.Net
  2. Access the new keys through ConfigurationManager

 

10) Demonstrate how to hook up to Manager events

  1. Demonstrate Before Save/Delete …
  2. Demonstrate After Save/Delete
  3. Show WorkflowManager Item Submit events

 

11) Demonstrate how to hook up to events in WebUI

  1. Demonstrate ContentProcessed & CompletingItemTemplateProcess
    1. Adding file size to all asset links
    2. Using a custom tag in the template and replacing with a processed value
  2. Explain the difference between the 2 events – Anything in custom controls will not be processed.

 

12) Demonstrate ability to create custom control from RSS feed

  1. Weather control

 

13) Demonstrate how to create a custom page in the Admin

  1. Add new Page
  2. Use of different MasterPages
  3. Adding record in securityConfig.config
    1. Setup task
    2. Different ways of adding page security – visible and hidden

14) Explain all configuration files that can be overridden or added

  1. log4net
  2. cmsTools.xml
  3. securityConfig.config

 

15) Creating custom tables ?

 

16) Attribute based transaction management ?

 

17) Questions and Answers (provide solutions to issues)