Skip to content
Snippets Groups Projects
Commit 691e7e58 authored by catch's avatar catch
Browse files

Merge branch '3492930-add-activityanswer-plugin' into '1.0.x'

Issue #3492930: add xapi ActivityAnswer plugin.

See merge request !1
parents c64efa59 71573071
Branches
Tags
No related merge requests found
Pipeline #367748 failed
langcode: en
status: true
dependencies:
config:
- field.field.lms_activity._bundle_placeholder_.field_xapi_package
- lms.lms_activity_type._bundle_placeholder_
module:
- lms_xapi
id: lms_activity._bundle_placeholder_.default
targetEntityType: lms_activity
bundle: _bundle_placeholder_
mode: default
content:
created:
type: datetime_timestamp
weight: 10
region: content
settings: { }
third_party_settings: { }
field_xapi_package:
type: lms_xapi
weight: 26
region: content
settings:
progress_indicator: throbber
third_party_settings: { }
name:
type: string_textfield
weight: -4
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
uid:
type: entity_reference_autocomplete
weight: 5
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
hidden: { }
langcode: en
status: true
dependencies:
config:
- field.field.lms_activity._bundle_placeholder_.field_xapi_package
- lms.lms_activity_type._bundle_placeholder_
module:
- lms_xapi
- user
id: lms_activity._bundle_placeholder_.default
targetEntityType: lms_activity
bundle: _bundle_placeholder_
mode: default
content:
field_xapi_package:
type: lms_xapi
label: above
settings: { }
third_party_settings: { }
weight: 1
region: content
name:
type: string
label: above
settings:
link_to_entity: false
third_party_settings: { }
weight: -4
region: content
uid:
type: author
label: hidden
settings: { }
third_party_settings: { }
weight: 0
region: content
hidden: { }
langcode: en
status: true
dependencies:
config:
- field.storage.lms_activity.field_xapi_package
- lms.lms_activity_type._bundle_placeholder_
module:
- lms_xapi
id: lms_activity._bundle_placeholder_.field_xapi_package
field_name: field_xapi_package
entity_type: lms_activity
bundle: _bundle_placeholder_
label: 'XAPI package'
description: ''
required: true
translatable: false
default_value: { }
default_value_callback: ''
settings:
file_directory: lms_xapi_packages
file_extensions: zip
max_filesize: ''
description_field: 0
handler: 'default:file'
handler_settings: { }
field_type: lms_xapi
langcode: en
status: true
dependencies:
module:
- file
- lms
- lms_xapi
id: lms_activity.field_xapi_package
field_name: field_xapi_package
entity_type: lms_activity
type: lms_xapi
settings:
display_field: 0
display_default: 0
uri_scheme: public
target_type: file
module: lms_xapi
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
name: LMS XAPI Activity
type: module
description: Adds XAPI activity plugin.
core_version_requirement: ^10.3 || ^11
package: LMS
dependencies:
- drupal:lms_xapi
- lms:lms
<?php
namespace Drupal\lms_xapi_activity\Plugin\ActivityAnswer;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\lms\Attribute\ActivityAnswer;
use Drupal\lms\Entity\Answer;
use Drupal\lms\Plugin\ActivityAnswer\ActivityAnswerBase;
/**
* Xapi/TinCan activity plugin.
*/
#[ActivityAnswer(
id: 'xapi',
name: new TranslatableMarkup('Xapi / TinCan'),
)]
class Xapi extends ActivityAnswerBase {
/**
* {@inheritdoc}
*/
public function getScore(Answer $answer): float {
$lrs_service = \Drupal::service('lms_xapi.tincan');
$account = $answer->getOwner();
$score = $lrs_service->getScoreFromLrs($answer->id(), 'lms_answer', $account->id());
return $score ?? 0;
}
/**
* {@inheritdoc}
*/
public function evaluatedOnSave(Answer $answer): bool {
return FALSE;
}
}
name: LMS XAPI name: LMS XAPI
type: module type: module
description: Adds XAPI lesson and activity types. description: Adds XAPI lesson.
core_version_requirement: ^10.3 || ^11 core_version_requirement: ^10.3 || ^11
package: LMS package: LMS
dependencies: dependencies:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment