Lti: Update install/uninstall and readme

pull/3065/head
Angel Fernando Quiroz Campos 6 years ago
parent 2ec596b983
commit dce016a9d6
  1. 92
      plugin/ims_lti/ImsLtiPlugin.php
  2. 26
      plugin/ims_lti/README.md

@ -167,30 +167,60 @@ class ImsLtiPlugin extends Plugin
}
$queries = [
'CREATE TABLE '.self::TABLE_TOOL.' (
id INT AUTO_INCREMENT NOT NULL,
c_id INT DEFAULT NULL,
gradebook_eval_id INT DEFAULT NULL,
parent_id INT DEFAULT NULL,
name VARCHAR(255) NOT NULL,
description LONGTEXT DEFAULT NULL,
launch_url VARCHAR(255) NOT NULL,
consumer_key VARCHAR(255) DEFAULT NULL,
shared_secret VARCHAR(255) DEFAULT NULL,
custom_params LONGTEXT DEFAULT NULL,
active_deep_linking TINYINT(1) DEFAULT \'0\' NOT NULL,
privacy LONGTEXT DEFAULT NULL,
INDEX IDX_C5E47F7C91D79BD3 (c_id),
INDEX IDX_C5E47F7C82F80D8B (gradebook_eval_id),
INDEX IDX_C5E47F7C727ACA70 (parent_id),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB',
'ALTER TABLE '.self::TABLE_TOOL.' ADD CONSTRAINT FK_C5E47F7C91D79BD3
FOREIGN KEY (c_id) REFERENCES course (id)',
'ALTER TABLE '.self::TABLE_TOOL.' ADD CONSTRAINT FK_C5E47F7C82F80D8B
FOREIGN KEY (gradebook_eval_id) REFERENCES gradebook_evaluation (id) ON DELETE SET NULL',
'ALTER TABLE '.self::TABLE_TOOL.' ADD CONSTRAINT FK_C5E47F7C727ACA70
FOREIGN KEY (parent_id) REFERENCES '.self::TABLE_TOOL.' (id) ON DELETE CASCADE;',
"CREATE TABLE plugin_ims_lti_tool (
id INT AUTO_INCREMENT NOT NULL,
c_id INT DEFAULT NULL,
gradebook_eval_id INT DEFAULT NULL,
parent_id INT DEFAULT NULL,
name VARCHAR(255) NOT NULL,
description LONGTEXT DEFAULT NULL,
launch_url VARCHAR(255) NOT NULL,
consumer_key VARCHAR(255) DEFAULT NULL,
shared_secret VARCHAR(255) DEFAULT NULL,
custom_params LONGTEXT DEFAULT NULL,
active_deep_linking TINYINT(1) DEFAULT '0' NOT NULL,
privacy LONGTEXT DEFAULT NULL,
client_id VARCHAR(255) DEFAULT NULL,
public_key LONGTEXT DEFAULT NULL,
login_url VARCHAR(255) DEFAULT NULL,
redirect_url VARCHAR(255) DEFAULT NULL,
advantage_services LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json)',
INDEX IDX_C5E47F7C91D79BD3 (c_id),
INDEX IDX_C5E47F7C82F80D8B (gradebook_eval_id),
INDEX IDX_C5E47F7C727ACA70 (parent_id),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB",
"CREATE TABLE plugin_ims_lti_deployment (
id INT AUTO_INCREMENT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB",
"CREATE TABLE plugin_ims_lti_platform (
id INT AUTO_INCREMENT NOT NULL,
kid VARCHAR(255) NOT NULL,
public_key LONGTEXT NOT NULL,
private_key LONGTEXT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB",
"CREATE TABLE plugin_ims_lti_token (
id INT AUTO_INCREMENT NOT NULL,
tool_id INT DEFAULT NULL,
scope LONGTEXT NOT NULL COMMENT '(DC2Type:json)',
hash VARCHAR(255) NOT NULL,
created_at INT NOT NULL,
expires_at INT NOT NULL,
INDEX IDX_F7B5692F8F7B22CC (tool_id),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB",
"ALTER TABLE plugin_ims_lti_tool
ADD CONSTRAINT FK_C5E47F7C91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id)",
"ALTER TABLE plugin_ims_lti_tool
ADD CONSTRAINT FK_C5E47F7C82F80D8B FOREIGN KEY (gradebook_eval_id)
REFERENCES gradebook_evaluation (id) ON DELETE SET NULL",
"ALTER TABLE plugin_ims_lti_tool
ADD CONSTRAINT FK_C5E47F7C727ACA70 FOREIGN KEY (parent_id)
REFERENCES plugin_ims_lti_tool (id) ON DELETE CASCADE",
"ALTER TABLE plugin_ims_lti_token
ADD CONSTRAINT FK_F7B5692F8F7B22CC FOREIGN KEY (tool_id) REFERENCES plugin_ims_lti_tool (id)",
];
foreach ($queries as $query) {
@ -207,16 +237,10 @@ class ImsLtiPlugin extends Plugin
*/
private function dropPluginTables()
{
$entityManager = Database::getManager();
$connection = $entityManager->getConnection();
$chamiloSchema = $connection->getSchemaManager();
if (!$chamiloSchema->tablesExist([self::TABLE_TOOL])) {
return false;
}
$sql = 'DROP TABLE IF EXISTS '.self::TABLE_TOOL;
Database::query($sql);
Database::query("DROP TABLE IF EXISTS plugin_ims_lti_token");
Database::query("DROP TABLE IF EXISTS plugin_ims_lti_platform");
Database::query("DROP TABLE IF EXISTS plugin_ims_lti_deployment");
Database::query("DROP TABLE IF EXISTS plugin_ims_lti_tool");
return true;
}

@ -57,11 +57,10 @@ Run this changes on database:
## To v1.6.0
```sql
ALTER TABLE plugin_ims_lti_tool
ADD client_id VARCHAR(255) DEFAULT NULL,
ADD public_key LONGTEXT DEFAULT NULL,
ADD login_url VARCHAR(255) DEFAULT NULL,
ADD redirect_url VARCHAR(255) DEFAULT NULL;
CREATE TABLE plugin_ims_lti_deployment (
id INT AUTO_INCREMENT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB;
CREATE TABLE plugin_ims_lti_platform (
id INT AUTO_INCREMENT NOT NULL,
kid VARCHAR(255) NOT NULL,
@ -69,10 +68,25 @@ CREATE TABLE plugin_ims_lti_platform (
private_key LONGTEXT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB;
CREATE TABLE plugin_ims_lti_deployment (
CREATE TABLE plugin_ims_lti_token (
id INT AUTO_INCREMENT NOT NULL,
tool_id INT DEFAULT NULL,
scope LONGTEXT NOT NULL COMMENT '(DC2Type:json)',
hash VARCHAR(255) NOT NULL,
created_at INT NOT NULL,
expires_at INT NOT NULL,
INDEX IDX_F7B5692F8F7B22CC (tool_id),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB;
ALTER TABLE plugin_ims_lti_token
ADD CONSTRAINT FK_F7B5692F8F7B22CC FOREIGN KEY (tool_id)
REFERENCES plugin_ims_lti_tool (id);
ALTER TABLE plugin_ims_lti_tool
ADD client_id VARCHAR(255) DEFAULT NULL,
ADD public_key LONGTEXT DEFAULT NULL,
ADD login_url VARCHAR(255) DEFAULT NULL,
ADD redirect_url VARCHAR(255) DEFAULT NULL,
ADD advantage_services LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json)';
```
## To v1.5.1

Loading…
Cancel
Save