Learning Management System
Summary of Learning Management Software Features
CBT Planet contains five main areas: My Workspace, Learning Center, Reference Center, Collaboration Center and Administration.
- Domain Capability – the use of domains allows for each business unit, partner or customer to configure the following functional areas based upon their unique requirements.
- My Workspace is where users access their personal content such their homepage, learning plan, career developing planning, 360 skills assessments, transcript, calendar, and account info.
- The Learning Center is where users find and access courses, course surveys, tests and training facilities.
- The Reference Center is where announcements, documents, frequently asked questions (FAQ) and site surveys are located.
- The Collaboration Center contains blogs, user and instructor directories, and collaboration spaces where users may share knowledge and documents about a specified topic.
- The Administration area is where authorized users manage content and courseware, manage roles and users, view general and user-specific reports, and perform other administrative actions.
- The learning management system is designed for maximum user friendliness, with the following features:
- Site-wide and page level online help accessible from any screen
- Dynamic menu bars that conform to the user’s permissions and show only those functions available to the user
- Full support of 508c requirements for use with assisted browsers.
Learning Management System (LMS) Globalization / Localization Support
CBT Planet provides complete globalization support, and may be localized with multiple languages. Full time zone support is also included, with time zone information (daylight savings time rules and offsets) being configurable. All date/time information is displayed to the user in his/her own time zone. For example, training scheduled in a specific time zone will display in the user’s preferred time zone. CBT Planet also provides full regional support for date/time formats, number formats and currencies.
Courseware and Learning Objects
CBT Planet imports, launches and tracks AICC, SCORM 1.2 and SCORM 2004 courseware. In addition, CBT Planet includes Extensive Classroom scheduling functionality which includes multiple sections, multiple events and multiple instructors per section. Classroom scheduling also contains full conflict resolutions so that facilities or instructors may not be “double-booked.” Course administrators have the option of Collaboration spaces may automatically be created that is associated with that section. All content including courseware, assessments, and learning objects can each be assigned to individual users and / or groups of users (organizations, roles).
SCORM and AICC Bulk Importer
Content Administrators may use the SCORM bulk importer to mass-load several SCORM courses at once. Courses are copied to the server, and then the SCORM bulk importer tool will scan a specified location on the server for all course manifests, and import them and create the new courses in CBT Planet. The Content Administrator can then complete course setup for each course as needed.
Tracking Multiple Attempts
The system supports multiple attempts at the same content item. There is a configuration option to determine how multiple attempts are handled per content type (site wide), offering the following three options:
1. Never allow a new attempt (this option does not work with required training).
2. After completion, automatically start a new attempt at next launch.
3. After completion, ask the user if they want to review current attempt or start a new attempt.
Starting a new attempt is not based on expired required training periods. Rather, it's based on the configuration option selected for each content type. This gives the user more control over their content progress and completion. Also, by separating attempts tracking from required training, it allows a client who is not using required training to allow multiple tracked attempts at the same content item.
Required Training
Required Training tools enable authorized users to assign a content item to users and user groups. User groups include organizations, roles, and job titles. Required training can be assigned under the following conditions:
- One time without a deadline
- One time with a single deadline (dynamic date or fixed date)
- Initial training period with recurrence at fixed intervals
- Recurrence at fixed intervals with no initial training period
The completion requirements (due date and recurrence) are based on the training profile(s) associated with the content being assigned as required. Multiple profiles can be associated with the same content item. Additionally, each profile can be configured to send up to five reminder emails at specified intervals prior to the period due date. The reminder emails are all the same text, managed as a single email in the Email Console. Emails are also sent at assignment, upon completion, and when a training period deadline is missed.
Required training adheres to time zone rules, when time zone support is turned on. When creating a training profile, a time zone must be selected and deadlines for all users are normalized to this time zone (meaning a 12:00 midnight deadline in EST is due at 9 pm in PST).
The actual process of assigning training occurs as follows:
1. Search for content item.
2. Select Required Training option.
3. Select a training profile (to assign training with no deadline, select "No Profile").
4. Select the users/user groups to be assigned through that profile.
Somewhat related to required training is how the system will handle multiple attempts at a content item. When a training period is passed, the system does not automatically start a new attempt. Rather, there is a configuration option that determines how attempts are handled. See related item Content: track multiple attempts.
Certification Tracking
CBT Planet provides every user with a historical, dynamic personalized transcript. The transcript tracks all training of any medium completed, any certification, accreditations and self-reported training events called Personal Learning Events.
Personal Learning Events can be managed by a user's manager on their behalf. Depending on a configuration option setting, the end user may also be able to manage their personal learning events. Learning events appear on the user's Transcript, and it's from here they can be added, edited, and removed. Examples of Personal Learning Events include: Attendance at a conference, Demonstrating performance on the job, on-the-job training, developmental assignments including job shadowing, and courses taken outside of the LMS.
Learners can also add and track Certifications via their transcript. Certification types are configurable by the Administrator. Examples of Certifications include: Annual CPR Certification, Professional Certification such as Microsoft Certified Systems Engineer (MCSE) or Project Management Professional (PMP), etc. Learners can track total hours required to maintain the certification, total earned, certification expiration date, etc.
(My Transcript - Click Image to Enlarge)
When a certification is about to expire, the user and their manager can receive a reminder email a specified number of days prior to the expiration, depending on the system's configuration (30, 60, 90, etc.). Also, when adding a new certification, an email is sent to both the user (if the user added a certification for them) and their manager. If an authorized user creates a certification for a user, they also receive an email.
Assesment / Test Creation
The test creator is completely SCORM compliant allowing you to re-use the tests in any SCORM compliant environment. A test may be published as either a SCORM 1.2 or SCORM 2004 conformant assessment, at which point it may be taken by students within the LMS. The mastery score required for passing may be set per assessment instance (so that the same test may be published as a posttest and pretest with different passing scores, for example).
Emails and Automated Notifications
CBT Planet features trigger-driven automated emails that provide the ability to notify users of their status in the system regarding memberships, training deadlines, enrollment status, and other important notifications. Emails can be edited by CLIENT_NAME making email notification possibilities virtually boundless.
Emails are sent to one or more users as a result of various system actions (triggers). The system has a fixed list of emails (users can display all by performing a blank search on the Email administration page). Each trigger can have one or more system emails associated with it. Each trigger has to have at least one system email associated with it.
Emails are sent to users based upon the combination of an action performed by a user of the system and the value of certain variables as the action is performed. For example—with access approval requests for a content item—when the approver grants a user’s request, both the content type and the approver’s place in the path affect which emails are sent (e.g., to the user and the next approver in the path).
If an email trigger occurs while a user is managing (editing) a system email that is associated with an action, the system will send the email in its current format. If the user has not saved the edits to the email, the prior version will be sent.
CBT Planet also features standard ad hoc “push” email capabilities that allow all users to blast emails to course rosters or user groups, email collaboration space members, access and search user and instructor directories to compile contact lists, and perform other basic email tasks. Below are charts breaking down the trigger system and screen captures demonstrating CLIENT_NAME’s email capabilities:
Heading Name |
Explanation |
||||
Trigger |
The reason (event) that causes an email to be sent to one or more users. |
||||
Required/Existing Emails |
The first number indicates the minimum number of emails required for the trigger (usually one; this number cannot be changed by users). The second number indicates how many emails currently exist for the trigger (dynamically changes as emails are created and deleted). |
||||
Action |
Select an action from the menu and click Go.
|

Sample Screen: A blank search from the email section of the administrative drop down menu displays a complete list of automated system emails.

Sample Screen: Manage Email allows administrators to either edit the email text or create a new path for an email by assigning it to a different trigger.

Sample Screen: Editing an automated system generated email.
Spellcheck, HTML Editor
CBT Planet includes an integrated third-party product(s) for spell checking in text boxes throughout the site. This is particularly helpful for content administrators and instructors to validate their content entries’ spelling.
LDAP Single Sign on
Active Directory Authentication setup for CBT Planet currently works via LDAP to validate credentials with a Microsoft Exchange Server. Credentials via Forms or Windows authentication are verified with the LDAP server and then attempted to tie the account in an existing account or allows registration to create an account with Global to be linked with LDAP.
Site Search
The Site Search functionality within the system allows the user to quickly search amongst all content types within the system. This functionality is provided in addition to content type specific searches available as appropriate throughout the system.
Advanced Site Search
The advanced site search will allow users to search all content in the site in a single search by title, description, keywords, category, cost, and rating.
Category Search
Categories are updated to include sub-categories in the search. Also, the drop down list displays categories in correct hierarchy.
Calendaring
CBT Planet provides a universal event scheduling and calendaring mechanism. One-time or recurring events may be scheduled, with various recurrence types (workdays, weekly for selected days of the week, monthly, etc.) supported, again with full time-zone support. Instructors may view their schedules for the sections they teach, and users may view their personal calendars. In addition, each Collaboration Space has its own Collaboration Space specific calendar, filtered to display events for that Space.

Centralized Course Catalog Calendar
CBT Planet includes a comprehensive course calendar for viewing schedules for instructor-facilitated courses. Learners can click on the Calendar View link within the Course Catalog to view the monthly schedule for classroom courses. Learners can navigate to future months or years using the browse arrows.

Personalization
CBT Planet offers many ways for the user to personalize their experience. Starting with their Homepage, their own personal workspace, each user may control which “panes” of functions (access to shortcuts, online courses in progress, etc.) appear on their homepage. The top five most recent content items appear as quick links providing quick access to their preferred items. Users have control over the location, layout, and appearance of their favorite items.

The application provides self-registration capability, allowing users to provide profile (name, address, etc.) information as well as allowing them to specify time-zone, language, and regional settings preferences. The user may change this information at any time within the system.
The user may also select from among available “skins”. Each skin may have a completely different user interface, including alternate fonts, colors, graphic elements, and positioning of interface elements (toolbars, etc.). Addition of new skins does not require any changes to application code, and skins may be created by Web designers via style sheets (CSS).
Personal Learning Events
Personal Learning Events can be managed by a user's manager on their behalf. Depending on a configuration option setting, the end user may also be able to manage their personal learning events. Learning events appear on the user's Transcript, and it's from here they can be added, edited, and removed.

Collaborative Features
CBT Planet supports the building of communities of practice among users of the application. To facilitate communication and collaboration, Collaboration Spaces have a landing page from which users can then access the functions within the space. Each space may have its own logo the homepage.
Blogs allow users to post a particular topic (along with images) to foster comments and discussion. For example, an instructor may use this functionality to post a topic for discussion within their class.
The powerful Email Console allows centralized management of email messages sent based on various triggers throughout the system. (An example trigger would be a user approving and access approval request). Multiple email messages may be created per trigger, and field codes used for dynamic values within messages (ex. the name of the user approving the request, the name of the user whose request was approved, etc.). In addition, ad-hoc distribution lists may be created for sending messages and notifications to groups of users.
Collaboration Spaces allow virtual teams of users with a common interest to share documents, post announcements, schedule events (via the Calendar within the space), and participate within blogs within the space. Collaboration Spaces may be private (only specified members are allowed within the Space), Moderated (anyone can join but only specified members may post content), or Public (anyone may join and/or post content).

Surveys
CBT Planet provides the capability to create surveys consisting of Likert scale, free-text/comment or a combination of responses. Surveys may be general-purpose (independent of specific functionality or content) or associated with courses for use as course evaluations. A given course evaluation may be associated with multiple courses.
Permissions Management
CBT Planet employs a sophisticated role-based permissions architecture, restricting/allowing access to site functionality, specific actions that may be taken on specific content, access to Collaboration Spaces, etc. Each function and action in the system may be controlled via the permissions architecture.
Content Ratings/Comments
CBT Planet allows end-users to rate content throughout the system as well as provide comments about the content. Other users may view these content ratings and comments in order to choose amongst available content based on the opinions of their peers.
Categorization
All content in the system may be categorized using an infinite, configurable hierarchy of categories, subcategories, etc. Users may search for content by category throughout the system (through the Advanced Search for the content type).
Check-in/check-out
CBT Planet provides content check-in/check-out capability. The system can be configured to provide implicit check-in/check-out (wherein when an authorized user chooses to manage a content item, it is automatically checked out), or explicit check-in/check-out (wherein the user must specifically choose to check the content item in/out). Checked out content items are not available for launching by other users until checked back in.
Performance Management System
CBT Planet includes a robust Competency Modeling Suite and related employee information tools providing the foundation for a complete talent and performance management capability. CBT Planet includes an online Performance Evaluation tool and additional workforce analytic tools to provide a comprehensive performance management system.
The Performance Management Suite allows clients to leverage the strategic human resource management aspects of competency modeling as well as Individual Development Plans, online Performance Evaluations, and professional histories for each employee. These aspects support the entire lifecycle of an employee and provide the organization with substantial efficiencies, employee satisfaction, and a decision support system for personnel utilization and training investment.
The Performance Management System consists of five primary components:
- Competency Management
- Performance Evaluation
- Performance Management Reports
- Employee Resume
- Employee Development Record
Performance Evaluations
CBT Planet’s Performance Evaluation tool provides an online tool for documenting employee performance, measuring progress, and conducting performance evaluations.
Both the employee and the manager have evaluation tools to complete the Performance Evaluation for the employee. The tools include support for both current and past/archived evaluations. The Performance Evaluation tool includes free form text entry of comments on performance, ratings for each assessed area, and associated information.
Administrators have tools to create performance evaluation templates. A performance evaluation template is used to create an evaluation form to rate an individual's performance as an employee. Evaluation templates contain components, which are groups of evaluation items. Items are typically skills against which the user is rated or questions/comments for which the user enters information. Once created, the template is published and can be associated with one or more job profiles. When an employee and their manager go to create a performance evaluation, the published template associated with their job profile is presented to them for completion.
Domain Management
The Domain Manager facilitates the creation customized portals or interfaces of CBT Planet for different organizations, sub-organizations, target audiences (internal employees vs. external customers), and stakeholder groups (such as different divisions or departments) through either single or multiple points of entry. Each “Domain” looks and feels like a unique website, while actually sharing a common infrastructure. Content as well as the user base of each domain may be dictated by each targeted audience. The Domain Manager provides the organization with a way to control one copy of the CBT Planet to meet the unique needs of different communities within the enterprise.
The key features of this module include:
- Manage Domain configuration options (welcome text, URL, etc.)
- Manage Menu options and function names (authorized users can turn features on and off)
- Manage Domain “skins”, including default interface and optional additional interfaces
- Manage Domain membership (by user, organization, etc.).
- Charge to an account code associated with the user being enrolled (Payment Options page).
- Charge to an account code of the enrolling user (Shopping Cart).
- Charge to the enrolling user's credit card (Shopping Cart).
- Administrator/HR Administrator – can create a new account, edit existing accounts
- IDP Coach – Edit peers, send email, view IDP data, send skills surveys
- User Manager – Manage personal learning events, view transcript and IDP, email email
When searching throughout the site, each domain can control what users appear in search results by selecting from one of the following options: users in current domain only, users in the current and all descendant domains, or users in all domains. This is referred to as the User Search Standard (USS). USS is also applied to roles and organizations, when assigning training, editing permissions, and running reports.
Pre-Populated Searches
Previously in CBT Planet, all content searches displayed a search form with no default search results. This release contains Search Profiles, which will allow different default searches to run automatically for different users. Authorized users create Search Profiles and then associate them with users and user groups (organizations and job titles). These search profiles determine what results appear when each user navigates to a simple search page for content.
Batch enrollment / Payments
When batch enrolling users, there is now a Payment Options page where users can select a payment option to pay for user enrollments. Discount codes can also be entered. The Payment Options page only displays if you attempt to batch enroll users for which a cost must be paid, or if account codes are a supported payment type in the current domain.
Account Codes
Authorized users create and manage account codes, and they are associated with account code types. Account codes are accounts that are used as payment types on the Payment Information page of the Shopping Cart Checkout process, and the Payment Options page of batch enrollment (using account codes must be a payment type that is supported in the domain in which a user wants to use an account code). Available payment types are managed per domain.
Discount Codes
Authorized users create and manage discount codes, which can be used if the site contains the E-commerce feature. Users can create a discount code that users can enter during the checkout process. Discount codes can provide fixed dollar amount discounts, fixed percentage discounts and more.
Refund and Order Status Console
When users use account codes and discount codes, the Refund Console and the Order Status Console now include account code and discount code information such as Payment Type and Payment Number. When proceeding through the Shopping Cart Checkout process, users are able to use account codes and discount codes that they have been given permission to use. For batch enrollment, authorized users can select a payment number (which is associated with an account code) for users being enrolled in course sections.
The cost for course sections can now be paid using one of three methods:
Bulk Approve/Deny Console
An authorized user can bulk approve or deny requests that have a status of pending. Requests with any other status must be processed one at a time. Access the Approval Console, search for pending requests, and use the checkboxes and the Approve/Deny buttons to bulk approve or deny multiple requests at the same time. When the user clicks the Approve or Deny button, a page displays in a new window, and the user can enter a single action reason in the Reason for Action field for all of the requests and then click the Approve or Deny button to Approve/Deny all of the selected pending requests.
Custom Certificates
Authorized users can create custom certificates and associate them with content, domains, and the site. Which certificate is displayed to the user on their Transcript depends on arbitration rules (look for a certificate at the course level – if that does not exist, then look at the domain level – if that does not exist, then look at the site level). The authorized user can create a new certificate and manage existing certificates. When editing the actual certificate, the user uploads the completed certificate via a zip file that includes the certificate file and any supporting files (images, etc.). To include database values (such as user name and course title) when the certificate is displayed to a user, the certificate file should include calls to Field Codes that are specified in a JS file that comes with the application. Two sample certificates are available on CServer.
Deep Linking
Users can send links to content directly to another user of the system and allow the recipient to access this content with as few clicks as possible. The URL for a specific content item is displayed on the Summary tab of the information page for all content items that support content linking. This link is called the Content Link, and it includes the URL of the domain the user is currently logged into (which means the Content Link for the same content item will look different when copied from two different domains). When the user launches the URL, what happens depends on whether the user launched the link from a current session of the system, and an attribute of the content item called Allow Access without Loggin.
Homepage Feeds
Allows authorized users to create a dynamic and engaging presentation to be displayed on My Homepage. Each domain can select one current homepage feed, and that is the one that is displayed to users. If a domain does not have a homepage feed enabled, nothing is displayed at the top of My Homepage.
User Import
In order to support customers with a limited user-base who wish to upload user profile records without an HRIS feed, CBT Planet supports the ability to bulk import new users and bulk update existing users into the system. Clients are provided a template for populating user data, which can then be uploaded to the system. The functionality is designed so the client can maintain a single template of users for both import (new users) and update (existing users). The template covers most fields that appear in the user profile. Some fields for which the system has reasonable defaults are omitted. See the Help (Site-level Help – search for “Import Users” – or Page-level Help) for information about the template.
Landing Pages
The landing page is the page that displays when the user first logs in, and when the user clicks the Home link in the breadcrumb trail. For each domain, there is a configuration option that determines whether users are allowed to choose their own landing page (each user could have a different landing page), or the administrator selects the landing page (all users would have the same landing page). This option is set on the Edit Configuration Options page for each domain. If users are able to select a landing page in the domain they are currently logged into, they can select from the main page of all functions to which they have access (active functions for which the user has permissions). The main page of a function is the page that results when the user selects a menu item from the menu or the Site Map page. Users cannot select "child pages" to a function. For example, the Rate Content page or the Edit Summary page for a content type cannot be selected as landing pages since these pages are accessed from within a function and not from the menu.
Internal Email Messaging
There is a configuration option that determines whether My Messages and associated elements are visible within the system. My Messages is an optional function in the system that enables the user to view the contents of emails sent by the system. Messages that appear in My Messages come from two sources: Emails sent automatically by the system when certain events (triggers) happen (These emails are managed in the Email Console), and emails sent manually from within the system by another user from the Send Email page. Users with an email address can indicate whether they want to receive system communications via My Messages, their external email address, or both, using the Communication Method options on the Preferences tab of their profile.
Site Configuration
CBT Planet is designed to place the maximum configuration options in the hands of the site administrator so that professional services are not required. This includes the naming of site functions, visibility of site functions, role assignment, content management, system generated email text and much more. For example, over 90 emails are automatically generated when various actions are performed within the application (such as course enrollment, course un-enrollment, required training etc.). CBT Planet has also included active links in certain emails. Access approval emails sent to approvers include a link directly to the access approval console. When the link is clicked, the system will automatically log the user in and display the Access Approval Console. If the user is a member in more than one domain, they are taken to the Approval Console in their primary domain. As a result, the system now requires that multiple URL implementation users have primary domains (this was only required of single URL implementations in the previous release).
Reports Console
The Reports Console includes a number of standard reports on user progress, assigned training, course (online and classroom) statistics, content and site usage statistics, and test item analysis. These reports provide flexible reporting options that support exporting of data to third party analysis tools. Additionally, each user may modify the results set in a number of ways using our analysis grid tools. Once the data is shaped into a more useable format, that format may be saved so that each time the report is generated the results are in the preferred format. Multiple formats are supported.


Managing Users
CBT Planet includes several tools, depending on your access rights, for managing users and user accounts. Each of the following user roles has permission to manage particular parts of an account:
Third Party Integrations
CBT Planet can support various application integrations using various integration methods. The architecture is fully object oriented and supports integration to the various levels of the architecture through .NET Remoting, Web Services, and/or COM. Standards based technologies can be mated with CBT Planet in varying degrees of integration. Whether it is an HRIS integration, populating user, organization, and/or other various data facets, a financial integration to track training costs across an organization, Virtual Classroom tools, or CRM/Customer Service applications, most applications can be integrated to meet an organization’s business needs. Integrations can be as simple as providing single sign-on capabilities into an organization’s 3rd party application, data feeds to import necessary business data, or full object or web service integrations to pair service offerings of CBT Planet and critical 3rd party or custom applications. Most integrations can be evaluated and recommendations provided after consulting with your business professionals to examine how one’s organization actually uses their 3rd party or custom applications and wished to integrate it into the LMS platform.
Such integrations need to be appropriately evaluated to provide the optimal performance and efficiency for an organization. Risks to integrations include data flow dynamics, 3rd party application availability, security requirements, and actual effectiveness when relating to the business process expectations of such an integration. Careful analysis needs to be performed to guarantee that a simple business process is not being over complicated, and/or creating more of an administrative burden to an organization, than would exist had no integration occurred. Overall usability also needs to be a factor to make sure an organization is not losing the interest or support of its constituents, due to functional clutter within the LMS or other application itself. All of these factors will be closely examined throughout the initial workbook and requirements gathering sessions during the project lifecycle.
HRIS Integration
The CBT Planet team is very experienced with HRIS integrations, ranging from simple home-grown applications to Oracle, PeopleSoft, Ceridian, CGI Advantage, Cyberworks, and other various HRIS applications. The CBT Planet LMS suite has been integrated with Active Directory and other various LDAP applications to provide user data and login authentication. Common data integrations for HRIS include User feeds to populate users into the LMS, Organizational feeds to population organizational demographic information, and Job Position feeds to match users to the appropriate job titles and requirements. Other metadata may be passed into and out of the LMS to meet one’s specific needs. Each integration will be thoroughly evaluated to guarantee data security and functional awareness. These can be a simple as nightly data feeds being parsed into system or detailed Web Services that make operations available to one’s HRIS application(s).
Architecture
CBT Planet employs an advanced distributed, service-oriented, application architecture designed and built to provide a high degree of scalability, ease customization and upgrades, and allow extensive configuration.
Overview
CBT Planet is an ASP.NET application, written in C#, and consisting of 100% .NET managed code. Any third-party components used also are 100% .NET managed code. The architecture is composed of 3 tiers on the server-side – the UI tier (Knowledge View), middleware/application tier (Knowledge Server) and the database.
The UI and middleware servers require Windows Server 2003 or higher (with .NET Framework 2.0 or higher). The database tier requires any operating system supporting the chosen supported database (SQL Server 2005 or higher, or Oracle 10g or higher). The browser requirements are Internet Explorer 6.0 or higher, or FireFox 2.0 or higher. Additional browsers may be supported as well (i.e. Chrome). Note that the user interface consists of 100% HTML/JavaScript, using no Java or ActiveX, greatly easing deployment in restricted environments.
Ease of Configuration
CBT Planet is highly configurable. Most system configuration may be achieved via a Web-based administration interface included within the application. In addition, the application is highly XML-driven, allowing many aspects of the system to be changed simply by editing an XML configuration file. All application text is externalized from the application code per locale, including all user interface element text (form fields, buttons, etc.), instructions and help text, etc. in XML files. All images are also specified in XML files (again per locale).
Each CBT Planet page is defined by an XML file which indicates the elements that make up that page. When a custom field is added for a particular content item, that field may be added to a form for that content item simply by adding it to the XML Page Definition File for that page. These Page Definition Files can reuse common elements (buttons, tabs, form field definitions, etc.) allowing these common UI elements to be easily changed in one file and automatically applied throughout the application.
The CBT Planet menu structure is completely defined within an XML file, allowing the menu structure (as well as the names of menu items) to be quickly and easily changed, with cookie crumb navigation automatically also changing based on such changes. Permissions may be applied with this XML file as well, restricting access to particular functions.
The locale arbitration rules (indicating what language pack should be delivered to users for whom an exact locale-specific pack is not yet available), time zone information, mapping of physical database column names to element names returned in XML messages from the middleware, and many other system functions are all configured via XML files.
Note that the application time zone may be configured entirely independently of the operating system time zone, and may be configured to any time zone desired by the client. This allows the CBT Planet time zone to be set independently of other applications on the same server. Note that all date time data in the database is normalized to the client specified time zone, thus allowing the time zone of CBT Planet data to match, for example, other data stored in a data warehouse. All date/time information displayed to users is automatically converted to the user time zone.
Ease of Customization/Upgrades
CBT Planet has been specifically designed with ease of customization and upgrades in mind. To that end, it employs a CBT Planet developed application architecture, the Dynamic Instantiation Service Map Architecture, which allows all calls to any base product object to be remapped to an alternate custom object via a simple change in a configuration file (the service map). Custom objects must conform to the same interfaces as the base objects, ensuring compatibility of the custom code with the other objects using that code.
This architecture thus allows all customized code to be kept completely separate from the base product code. The service map indicates exactly where customized code has been employed. CBT Planet implementation teams supporting a particular client’s implementation will not ever change base product code, but rather develop separate customized objects (which may optionally inherit from base objects and only override select functions).
Upgrades are greatly eased with this architecture as well, in that the files that have changed as part of the upgrade may simply be copied over the previous version files, leaving all customizations completely intact and operational. If desired, the client may also choose to instead use some upgraded functionality that was previously upgraded simply by changing the service map.
Scalability
The application architecture is highly distributable and allows high scalability. The Knowledge Server, Knowledge View, and database tiers may each be deployed on their own servers or server farm (or cluster). However, the DISM architecture together with .NET Remoting, provide an even higher level of potential scalability, allowing individual application objects within each tier to be distributed to individual servers (or even server farms). Thus, if, for example, one object/class is particularly processor intensive, it could optionally be deployed to a separate server. Of course, for smaller implementations, all tiers may also be collapsed onto a single server as well. The architecture is adaptable to allow for both small and very large user audiences.
Ease of Integration, Services/API Access
All CBT Planet middleware (Knowledge Server) is exposed as a Web Services API which maybe be used to provide platform-neutral LMS services to other enterprise applications via XML messages sent to the application.
In addition, all middleware is also exposed via COM, as well as .NET Remoting (this interface is used by the CBT Planet UI tier, Knowledge View for optimal speed). The architecture has been designed to be as future-proof as possible to allow support for additional protocols to be easily added as they might arise in the future.
Security
SSL may be employed across the UI tier to protect data passed between the browser and the server. In addition, user information is not stored on the user’s machine (only a session ID is stored to maintain state) and the user’s password is stored via a 1-way hash (so that not even the database administrator may have access to the user’s password).
User data is never passed along the query string in the application, and the application has been designed to prevent SQL injection attacks. Data passed to the middleware may also be encrypted via SSL, and access to the middleware controlled via authentication provided by IIS.
LMS Hosting Partner
CBT Planet’s hosting partner, is a leading provider of enterprise managed hosting services, supporting a worldwide customer base including government agencies, large enterprises and small-to-medium businesses in datacenters across the world including United States and Canada. Specifically, Equinix Hosting’s Ashburn, VA datacenter serves as a reliable and secure destination for the world’s most powerful networks and companies.
Equinix Hosting services are designed to meet the specific needs of government agencies, enterprises, and small and medium-size businesses. The suite of services is designed for organizations who seek scalable, secure, robust, enterprise-grade hosting solutions that can be quickly provisioned, or can be tailored to meet their unique requirements. Equinix differentiates itself in three key aspects:
1. Improvement the performance of complex hosting infrastructure by staying on the cutting edge of technology-driven Data Center Optimization.
2. Emphasis upon providing flexible solutions built around our customers’ schedule.
3. The E3 Promise: Experience Exceeding Expectations.
Equinix ensures the stability of any IT infrastructure with our full range of services, by minimizing or eliminating many of the risks that may affect your network and data security without any extra capital investment by the customer. Through Unified Threat Management, Load Balancing and Managed Firewall services, protection against network intrusion and virus threats is provided. We take it one step further by incorporating the industry leading i365 Evaluate Software to provide secure, reliable and easy-to-use online backup and recovery for your organization’s entire business-critical data. Equinix and CBT Planet understand security and believes every customer deserves the peace of mind that comes with it.
As a result, we have built a system that can grow and change with your business, while providing redundancy built on the Equinix Intelligently Routing Network™ (CIRN™). CIRN is built exclusively atop N+1 redundant, hot failover Cisco hardware and analyzes each one of our transit providers and peers for latency, jitter, and packet loss before automatically selecting the highest performing IP network. This ensures that all customers are receiving the most reliable and fastest speeds available.
Overall design


