Requires DB changes:
CREATE TABLE portfolio_rel_tag (id INT AUTO_INCREMENT NOT NULL, tag_id INT NOT NULL, c_id INT NOT NULL, session_id INT DEFAULT NULL, INDEX IDX_DB734472BAD26311 (tag_id), INDEX IDX_DB73447291D79BD3 (c_id), INDEX IDX_DB734472613FECDF (session_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB;
ALTER TABLE portfolio_rel_tag ADD CONSTRAINT FK_DB734472BAD26311 FOREIGN KEY (tag_id) REFERENCES tag (id) ON DELETE CASCADE;
ALTER TABLE portfolio_rel_tag ADD CONSTRAINT FK_DB73447291D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE;
ALTER TABLE portfolio_rel_tag ADD CONSTRAINT FK_DB734472613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE;
You also need to edit src/Chamilo/CoreBundle/Entity/PortfolioRelTag.php and follow the instructions about the @ORM\Entity() line
Block a user account if there are multiple failed login attempts. It requires DB changes:
```sql
CREATE TABLE track_e_login_attempt
(
login_id INT AUTO_INCREMENT NOT NULL,
username VARCHAR(100) NOT NULL,
login_date DATETIME NOT NULL,
user_ip VARCHAR(39) NOT NULL,
success TINYINT(1) NOT NULL,
INDEX idx_track_e_login_attempt_username_success (username, success),
PRIMARY KEY (login_id)
) DEFAULT CHARACTER SET utf8
COLLATE utf8_unicode_ci
ENGINE = InnoDB;
```
Then add the "@" symbol to TrackELoginAttempt` class in the `ORM\Entity()` line.
Enable reminders for agenda events. Requires database changes:
```sql
CREATE TABLE agenda_reminder (id BIGINT AUTO_INCREMENT NOT NULL, type VARCHAR(255) NOT NULL, event_id INT NOT NULL, date_interval VARCHAR(255) NOT NULL COMMENT '(DC2Type:dateinterval)', sent TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB;
```