FileSecurity and UnsafeFileValidation traits are not found

Created on 15 June 2023, over 1 year ago

Problem/Motivation

You can't create new SCORM node with opigno_module module version 3.1
Fatal error: Trait "Drupal\opigno_module\Traits\UnsafeFileValidation" not found in /var/www/docroot/modules/contrib/opigno_scorm/src/OpignoScorm.php on line 19

Proposed resolution

Add 2 new traits to the repository.

🐛 Bug report
Status

Active

Version

3.1

Component

Code

Created by

🇺🇦Ukraine vselivanov Kyiv, Ukraine

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @vselivanov
  • 🇺🇸United States ankur

    I'm experiencing the same issue when trying to upgrade from opigno_scorm 3.0.3 to opigno_scorm 3.1.0.

    The missing trait referenced in the error message (Drupal\opigno_module\Traits\UnsafeFileValidation) is only defined in the separate opigno_module module, version 3.1.0 which would suggest that opigno_module 3.1.0 is a dependency that is not declared for opigno_scorm module 3.1.0 in opigno_scorm's .info.yml file. However, the opigno_module module itself has a dependency on 4 other modules which I'm not interested in installing.

    Are the 3.0.x versions on a different branch from the 3.1.x versions? They both seem to come off of the 3.x branch. Will there be other 3.0.x releases that do NOT require opigno_module and its dependencies or will future updates beyond 3.0.3 require the installation of opigno_module and its dependencies?

  • 🇨🇭Switzerland axelm

    Hi,

    This trait is in opigno_module module that is probably not installed on your sites.
    Can you please check this ?

  • Status changed to Postponed: needs info over 1 year ago
  • 🇺🇸United States ankur

    Hi @axelm, as I explained in my previous comment, the opingo_module module is not installed and that there are 2 problems with this:

    1) The opingo_module module is not listed as a dependency of the opigno_scorm module 3.1.x in opigno_scorm.info.yml. However, code in the opigno_scorm module requires PHP classes defined by the opigno_module module. I can add the opigno_module, but it should probably be listed as a dependency in the opigno_scorm module's .info.yml file. However, when enabling the opigno_module module, we learn about the other problem:

    2) Enabling the opigno_module module requires installing 4 other modules: h5p, pdf, opigno_group_manager, and opigno_skills_system. I'm just trying to render a SCORM file. Do I really need to add these other modules to my site just to render a SCORM file? Do they also provide functionality necessary to rendering SCORM files? If not, it feels like, architecturally, there should be a cleaner separation of the code of these modules and their inter-dependencies.

  • 🇺🇦Ukraine vselivanov Kyiv, Ukraine

    Hi!
    Thank you @ankur.
    I also use only this opigno_scorm module and prefer to not have additional dependencies.

    @axelm Could we just copy these traits from opigno_module to the current module?
    If it's ok I'll create a merge request.

  • Status changed to Needs review about 1 year ago
  • 🇺🇦Ukraine vselivanov Kyiv, Ukraine
  • 🇺🇸United States matt_paz

    I'll chime in on this as well. It would be highly desirable not to require these dependencies.

  • 🇮🇳India nishtha.pradhan

    I faced the same issue when updating from 3.0.3 to 3.2.7
    As mentioned in #5, it seems redundant to add 5 additional modules just to satisfy the Trait dependencies.
    So I have created a patch for adding this, it applied smoothly and worked well for my website.
    Hope this helps for others too!

    P.S. I tried to create an MR, but was facing some issues so created this patch instead.

Production build 0.71.5 2024