Test Yourself

Test yourself in the CMS System Integrator track

By doing the assignment below, you can test your knowledge of the CMS System Integrator track. Make sure you have studied all the materials suggested in this track.

The assignment consists of 10 tasks. Some of the tasks refer to the data you have to create in some of the previous tasks. So we recommend that you do the tasks in the suggested order.

The actual assignment may include one or more tasks similar to those below. However, you should bear in mind that the actual tasks may be different from the topics covered here and be a bit more complex.

Task 1

  1. Deploy a CMS Website on IIS as “Website 1”.
  2. Run the initial setup wizard.
  3. Select a starter site of your choice.
  4. Log in to the CMS Console.

Task 2

  1. Create a Razor function (no parameters) called “Test.Hello”.
  2. Add some arbitrary text to it.
  3. Create a page called “My Razor Page”.
  4. Insert the function on the page.

Task 3

  1. Create a Razor function called “Test.ListPages”.
  2. Add a parameter called “No Older Than” (DateTime),
  3. Have the function list CMS Pages with their change dates, which are no older than than the date specified in the "No Older Than" parameter.
  4. Insert the “Test.ListPages” function on the “My Razor Page” and set its date to some value.
  5. Save and preview the page.

Task 4

  1. Install the Composite.Community.Extranet package.
  2. Create a custom extranet provider called “TestExtranet” (class library).
  3. Create a class called “TestExtranetSource” that contains 10 users with passwords and 2 groups these users assigned to.
  4. Create a class called “TestExtranetProvider” that implements the IExtranetProvider interface and provides extranet data retrieved from TestExtranetSource.
  5. Make sure the provider gets its title from Composite.config.
  6. Deploy TestExtranet on a CMS Website and register it in Composite.config

Task 5

  1. Install the Northwind database on a Microsoft SQL Server (if necessary).
  2. Create a read-only data provider called “CustomersDataProvider” that exposes the Customers table from the database.
  3. Add this data provider to a CMS Website.

Task 6

  1. Create a custom data interface “IContact” with two properties “ID” (Guid) and “Name” (string).
  2. Create a writable data provider "Test.Contacts.Provider" to manage entries in this data type (add, delete, update, retrieve).
  3. Store entries in an in-memory variable: Dictionary<Guid, IContact>.
  4. Add this provider to a CMS Website.

Task 7

  1. Edit the Razor function called “Test.ListPages” (Task 3).
  2. Write to the log the value set in the "No Older Than" parameter as an “Information” entry.

Task 8

  1. Add another language of your choice to the website.
  2. Translate and publish two or more pages. (You can use fictitious “translations”.)
  3. Make sure the pages allows users to switch between the languages (via the Composite.Navigation.LanguageSwitcher add-on).

Task 9

  1. Install the Composite.Tools.XmlBasedSiteBackup package on “Website 1” (Task 1).
  2. Back up the website using the package.
  3. Download the backup file.
  4. Restore the website from the backup file on IIS as “Website 2”.

Task 10

  1. Make the website backup file (Task 9) publically available.
  2. Deploy the existing website from this backup file on Microsoft Azure in a cloud service.