Online Activities
The Online Acitivities javascript control can be used to produce a list of online activites for display on your website. Using the attributes associated with an activity, you can configure the control to display these attributes any way you like. A common use of this list is as a widget on the homepage of your website to promote your available online activities showing the activity name and summary.
The list can be a general one of all your online activities, or it can be configured to show activities associated with a templateID.
This article will guide you through integrating a JavaScript control that will call the API and render a list of activities according to your configuration options, template, and CSS.
Contents
- Getting Started
- Code Editor Example
- Control Configuration
- Code Editor Example
- Custom Templates
- Template Helpers
- Sub Controls
Getting Started
The following code block contains a simple example of all the elements necessary to create an Online Activities control on your webpage.
Based on the general getting started guide.
<div id="online-activities-control"></div> <script src="//connect.arlocdn.net/jscontrols/1.0/init.js" charset="utf-8" defer="defer"></script> <script id="online-activities-control-template" type="text/html"> <%= Name %> </script> <script> document.addEventListener("arlojscontrolsloaded", function () { var onlineActivitiesControl = { moduleType: "OnlineActivities", targetElement: "#online-activities-control", template: "#online-activities-control-template" }; new ArloWebControls().start({ "platformID": "demo.arlo.co", "modules": [ onlineActivitiesControl ]}); }); </script>
Explanation of the example configuration above:
- Define a container for an online activities control.
- Load the Arlo JS Controls application code onto the page
-
Define a configuration for an online activities control (
moduleType: "OnlineActivities"
) that will a list of all online activities. This control will be displayed in the DOM element with id#online-activities-control
and rendered using the template in the script element with id#online-activities-control-template
. - Start the application, specifying a platform ID of "
demo
", and the Online Activities Control configuration.
Code Editor Example
For an explanation about the demo control code editors and how you can integrate these demos into your own page, click here.
Online Activities List
See the Pen Online Activities List by Arlo Software Ltd. (arlosoftware) on CodePen.
Online Activities Control Configuration
To create an online activities control, you should use a moduleType
value of "OnlineActivities".
Example: moduleType: "OnlineActivities"
Please see the general control configuration guide for details about how to configure an online activities control.
Filters
The available filters for the online activities control can be found here, in the API documentation.
For more information on how to use these filters to configure a control, click here.
Online Activities - Full Configuration Example
var onlineAcitvitiesControl = { moduleType: "OnlineActivities", targetElement: "online-activities-control", top: 5, template: "online-activities-control-template", eventFullMessage: "Registration Limit Reached", callbacks: { onBeforeRender: function(eventData, jQuery){//Do something with onlineActivitiesData}, onShow: function(getOAListItemsFunction, jQuery){//Do something with list item elements} }, customUrls: { eventtemplate: "http://example.com/eventtemplatepage.html", presenter: "http://example.com/presenterpage.html", venue: "http://example.com/venuepage.html" } }; <script id="online-activities-control-template" type="text/html"> <%= Name %> </script>
Code editor example
This editor allows you to view and modify the template/css and javascript used to create the complex control seen earlier. You can modify the code to fine tune the control to your needs. You can then take this code and add it to your own page to use this control with your own platform. Here's how:
-
The HTML
- Copy the 3 lines at the top of the HTML section to where you would like the control to appear on your page. Make sure to include the wrapping container (with class='arlo') so that the scoped css rules will be applied.
- Copy the remaining template scripts and the javascript controls script link to the bottom of your HTML page, before the </body> closing tag.
-
The CSS
- Copy the code in the CSS section into a <style></style> tag on your page. Or save it to a file in your webserver and link to that file.
-
The Javascript
- Copy the code in the javascript section into a <script></script> tag at the bottom of you HTML page, before the </body> closing tag.
Custom Templates
You can write a custom template for your control using HTML combined with the Underscore library templating system.. See the general template guide for more information.
Available Template Properties
From API
Field | Description |
---|---|
OnlineActivityID | An integer value that uniquely identifies this resource within the platform. |
Name | A string representing the name of the activity, up to 128 characters long. |
Code |
A string representing the short code used when referring to this resource, up to 32 characters long.
By default this value is based off the EventTemplate Code with a unique
integer ID appended. For example, MGMT101-001 for the first Event instance based off a template with code MGMT101 .
|
Summary | A string representing a short plaintext one-line or one-paragraph summary of this activity, suitable for display in lists and search results. If the summary is blank, this field will be omitted. Field from the EventTemplate. |
Description |
A structure containing marked-up text representing the description for this activity's template used in situations that require the template's full HTML content. This field is not suitable for display in lists and can contain arbitrary HTML including
tables, lists and images.
Field from the EventTemplate.
Structure fields
|
TemplateID | An integer value that identifies the template associated with this activity. |
TemplateCode |
The root EventTemplate Template Code used to generate the Code of this resource, up to 32 characters long.
|
DeliveryDescription | A string describing the delivery of the activity, suitable as promotional text. For example Watch a recorded session and learn at your own pace! |
ViewUri | A string representing a URI where more details of the activity can be found. |
Tags | An array of strings representing tags associated with this activity. If the activity has no tags, this field will be omitted. |
TemplateTags | An array of strings representing tags associated with this activity's template. If the template has no tags, this field will be omitted. |
ReferenceTerms |
A structure describing the vocabulary terms to use when referring to the activity.
Structure fields
|
Credits | A structure describing any credits associated with the activity, such as professional development hours or points. The structure supports multiple definitions (such as points and hours). Exact field names depend on those configured for the platform. |
RegistrationInfo |
A structure containing information about registration for this activity.
Structure fields
Important notes
|
AdvertisedOffers | An array of AdvertisedOffer structures representing all promoted offers (pricing) for the activity, including base offers and discounts (if any). |
Generated Fields
Field | Description |
---|---|
Credits | An unordered list of credits created from the credits object in the API results. |
Template Helpers
Beside the global template helpers, the following template helpers are also available in your online activities templates.
Field Helpers
Field helpers will manipulate the resource data that comes from the API, making it easier to display the information you want in the way you want, without writing any complicated code.
Helper Function | Field(s) | Type | Description |
---|---|---|---|
formatRegistrationInfo(format) | RegistrationInfo | string |
Allows you to specify how the registration info/link should be displayed. You have three options for the format.Formats
Example: <%= formatRegistrationInfo("link") %>
|
formatAdvertisedOffers(config) | AdvertisedOffers | string |
Advertised offers is a collection of structures representing the offers (or prices) for the event.
This field helper provides you with a means of choosing how to display this information.
It has many configuration options to offer full flexibility of the information displayed, but each option has sensible defaults
so you do not have to specify them all.Settings
Example: <%= formatAdvertisedOffers({ showPriceWithTaxInclusive: true, showSingleOffer: false, showLabel: true, showCurrencyCode: true, showMessage: true, showTaxRate: true }) %>
|
Sub Control Helpers
Additional information helpers allow you to embed information from other resources into your templates. See general sub controls documentation for more information
Resource(s) | Helper Function | Description |
---|---|---|
Event Template | showEventTemplateInformation(config) |
Allows you to display the information from the events template.
Example: <%= showEventTemplateInformation({message:"Click here to show this events templates information", template:"#eventtemplate-template"}) %>
|