apigee / apigee-devportal-kickstart-drupal

A fast demo and starting point for Apigee Developer Portals for Drupal
https://www.drupal.org/project/apigee_devportal_kickstart
GNU General Public License v2.0
26 stars 34 forks source link

Not able to install jsonapi_extras module #569

Closed simantstha closed 2 years ago

simantstha commented 2 years ago

Description

After installing devportal when i install json api extras module it shows me

Steps to Reproduce

Steps to reproduce the behavior:

  1. Go to extend
  2. Type json
  3. select jsonapi_extras and click install

Actual Behavior

What happened after the steps to reproduce. image

Expected Behavior

It should go back to same page with green box which says module jsonapi_extras has been enabled.

Screenshots

If applicable, add screenshots to help explain your problem.

I have drupal log message as well image

Notes

It did not used to happen but suddenly from yestarday i was not able to do it. Then i reinstalled everything but still getting this error/

Version Info

This can be the version you can see on admin/modules in Drupal or the output of this command: composer show. Add Drupal core and other version information if needed.

shishir-intelli commented 2 years ago

Hi @simantstha Can you please share the version info or composer show list to reproduce this issue.

simantstha commented 2 years ago

version: 2.3.10 { "name": "apigee/devportal-kickstart-project", "description": "Composer project template for the Apigee Developer Portal Drupal distribution.", "type": "project", "license": "GPL-2.0-or-later", "homepage": "https://www.drupal.org/project/apigee_devportal_kickstart", "support": { "docs": "https://www.drupal.org/docs/8/modules/apigee-developer-portal-kickstart" }, "repositories": [ { "type": "composer", "url": "https://packages.drupal.org/8" }, { "type": "package", "package": { "name": "furf/jquery-ui-touch-punch", "version": "dev-master", "type": "drupal-library", "dist": { "url": "https://github.com/furf/jquery-ui-touch-punch/archive/master.zip", "type": "zip" } } } ], "require": { "php": "^7.4 || ^8.0", "apigee/apigee_devportal_kickstart": "^2", "composer/installers": "^1.9", "drupal/apigee_m10n": "^2", "drupal/commerce": "^2.21", "drupal/core-composer-scaffold": "^9", "drupal/core-project-message": "^9", "drupal/core-recommended": "^9", "drupal/google_analytics": "^3.1", "drupal/jsonapi_extras": "", "drupal/smtp": "^1.0", "furf/jquery-ui-touch-punch": "dev-master" }, "require-dev": { "apigee/apigee-mock-client-php": "^1.1", "drupal/core-dev": "^9", "drush/drush": "^11" }, "conflict": { "drupal/drupal": "" }, "minimum-stability": "dev", "prefer-stable": true, "config": { "sort-packages": true, "process-timeout": 0, "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "cweagans/composer-patches": true, "composer/installers": true, "drupal/core-composer-scaffold": true, "drupal/core-project-message": true } }, "extra": { "drupal-scaffold": { "locations": { "web-root": "web/" } }, "installer-paths": { "web/core": ["type:drupal-core"], "web/libraries/{$name}": ["type:drupal-library"], "web/modules/contrib/{$name}": ["type:drupal-module"], "web/profiles/contrib/{$name}": ["type:drupal-profile"], "web/themes/contrib/{$name}": ["type:drupal-theme"], "drush/Commands/contrib/{$name}": ["type:drupal-drush"], "web/modules/custom/{$name}": ["type:drupal-custom-module"], "web/themes/custom/{$name}": ["type:drupal-custom-theme"] }, "drupal-core-project-message": { "include-keys": ["homepage", "support"], "post-create-project-cmd-message": [ " </>", " Congratulations, you’ve installed the Apigee Developer Portal Drupal codebase </>", " from the apigee/devportal-kickstart-project template! </>", " </>", "", "Next steps</>:", " Install the site: https://www.drupal.org/docs/8/modules/apigee-developer-portal-kickstart/get-started-with-kickstart", " Read the guide: https://www.drupal.org/docs/8/modules/apigee-developer-portal-kickstart", " * Report issues : https://github.com/apigee/apigee-devportal-kickstart-drupal/issues" ] }, "enable-patching": true, "patches": { "drupal/core": { "Support entities that are neither content nor config entities":"https://www.drupal.org/files/issues/2020-12-02/3042467-50.patch" }, "drupal/jsonapi_extras":{ "JSON APIS EXTRAS BULK PATCH": "https://www.drupal.org/files/issues/2020-02-20/add-enable-disable-all-buttons--2896799--10.patch" } }, "patchLevel": { "drupal/core": "-p2" } }, "scripts": { "quick-start": [ "composer install", "php web/core/scripts/drupal quick-start apigee_devportal_kickstart" ] } }

shishir-intelli commented 2 years ago

Could you please share with us the version of drupal/jsonapi_extras, The composer.json which you have shared above is showing " " for drupal/jsonapi_extras;

Could you also share with us the list of installed packages details by running the command composer show.

simantstha commented 2 years ago

C:\xampp\htdocs\devproject>composer show apigee/apigee-client-php 2.0.16 Client library for connecting to the Apigee Edge API. apigee/apigee-mock-client-php 1.1.1 To be used for queueing mock API responses for the ... apigee/apigee_devportalkickstart 2.1.0 A fast demo and starting point for Apigee Developer... asm89/stack-cors 1.3.0 Cross-origin resource sharing library and stack mid... behat/mink v1.10.0 Browser controller/emulator abstraction for PHP behat/mink-selenium2-driver v1.6.0 Selenium2 (WebDriver) driver for Mink framework chi-teck/drupal-code-generator 2.5.3 Drupal code generator clue/stream-filter v1.6.0 A simple and modern approach to stream filtering in... commerceguys/addressing v1.3.0 Addressing library powered by CLDR and Google's add... commerceguys/intl v1.1.1 Internationalization library powered by CLDR data. composer/ca-bundle 1.3.2 Lets you find a path to the system CA bundle, and i... composer/composer 2.2.17 Composer helps you declare, manage and install depe... composer/installers v1.12.0 A multi-framework Composer library installer composer/metadata-minifier 1.0.0 Small utility library that handles metadata minific... composer/pcre 1.0.1 PCRE wrapping library that offers type-safe preg* ... composer/semver 3.3.2 Semver library that offers utilities, version const... composer/spdx-licenses 1.5.7 SPDX licenses list and validation library. composer/xdebug-handler 3.0.3 Restarts a process without Xdebug. consolidation/annotated-command 4.5.6 Initialize Symfony Console commands from annotated ... consolidation/config 2.1.1 Provide configuration services for a commandline tool. consolidation/filter-via-dot-access-data 2.0.2 This project uses dflydev/dot-access-data to provid... consolidation/log 2.1.1 Improved Psr-3 / Psr\Log logger based on Symfony Co... consolidation/output-formatters 4.2.2 Format text by applying transformations provided by... consolidation/robo 3.0.10 Modern task runner consolidation/self-update 2.0.5 Provides a self:update command for Symfony Console ... consolidation/site-alias 3.1.5 Manage alias records for local and remote sites. consolidation/site-process 4.2.0 A thin wrapper around the Symfony Process Component... cweagans/composer-patches 1.7.2 Provides a way to patch Composer packages. dealerdirect/phpcodesniffer-composer-installer v0.7.2 PHP_CodeSniffer Standards Composer Installer Plugin dflydev/dot-access-data v3.0.1 Given a deep data structure, access data by dot not... doctrine/annotations 1.13.3 Docblock Annotations Parser doctrine/collections 1.6.8 PHP Doctrine Collections library that adds addition... doctrine/instantiator 1.4.1 A small, lightweight utility to instantiate objects... doctrine/lexer 1.2.3 PHP Doctrine Lexer parser library that can be used ... doctrine/reflection 1.2.3 The Doctrine Reflection project is a simple library... drupal/address 1.10.0 Provides functionality for storing, validating and ... drupal/admin_toolbar 3.1.0 Provides a drop-down menu interface to the core Dru... drupal/adminimal_admin_toolbar 1.11.0 Adminimal styling brought to admin toolbar. drupal/apigee_api_catalog 3.0.2 Apigee API Catalog for Drupal drupal/apigee_edge 2.0.5 Apigee Edge for Drupal. drupal/apigee_m10n 2.0.2 Apigee Edge Monetization for Drupal drupal/better_exposed_filters 5.2.0 Replaces the Views default single- or multi-select ... drupal/coder 8.3.15 Coder is a library to review Drupal code. drupal/commerce 2.30.0 Drupal Commerce is a flexible eCommerce solution. drupal/components 2.4.0 Registers folders of components defined by your the... drupal/core 9.4.2 Drupal is an open source content management platfor... drupal/core-composer-scaffold 9.4.2 A flexible Composer project scaffold builder. drupal/core-dev 9.4.2 require-dev dependencies from drupal/drupal; use in... drupal/core-project-message 9.4.2 Adds a message after Composer installation. drupal/core-recommended 9.4.2 Core and its dependencies with known-compatible min... drupal/ctools 4.0.0 Provides a number of utility and helper APIs for Dr... drupal/default_content 1.0.0-alpha9 Imports default content when a module is enabled drupal/email_registration 1.1.0 Allows users to register with an email address as t... drupal/entity 1.3.0 Provides expanded entity APIs, which will be moved ... drupal/entity_reference_revisions 1.9.0 Entity Reference Revisions drupal/file_link 2.0.6 Extends the core Link module by storing metadata ab... drupal/fontawesome 2.23.0 The web's most popular icon set and toolkit. drupal/google_analytics 3.1.0 Allows your site to be tracked by Google Analytics ... drupal/inline_entity_form 1.0.0-rc11 Provides a widget for inline management (creation, ... drupal/jquery_ui 1.4.0 Provides jQuery UI library. drupal/jquery_ui_datepicker 1.2.0 Provides jQuery UI Datepicker library. drupal/jquery_ui_slider 1.1.0 Provides jQuery UI Slider library. drupal/jquery_ui_touch_punch 1.0.1 Provides jQuery UI Touch Punch library. drupal/jsonapi_extras 3.20.0 JSON:API Extras provides a means to override and pr... drupal/key 1.15.0 Provides the ability to manage site-wide keys drupal/paragraphs 1.14.0 Enables the creation of Paragraphs entities. drupal/pathauto 1.10.0 Provides a mechanism for modules to automatically g... drupal/profile 1.4.0 Provides configurable user profiles. drupal/radix 4.11.0 Radix is a base theme for Drupal. It has Bootstrap,... drupal/requirement 1.1.0 A Drupal module to that gives modules a way to decl... drupal/restui dev-1.x 3d4e9a6 Provides a user interface to manage REST resources. drupal/smtp 1.0.0 Allow for site emails to be sent through an SMTP se... drupal/state_machine 1.6.0 Provides code-driven workflow functionality. drupal/token 1.10.0 Provides a user interface for the Token API, some m... drush/drush 11.1.1 Drush is a command line shell and scripting interfa... e0ipso/shaper 1.2.4 Lightweight library to handle in and out transforma... easyrdf/easyrdf 1.1.1 EasyRdf is a PHP library designed to make it easy t... egulias/email-validator 3.2.1 A library for validating emails against several RFCs enlightn/security-checker v1.10.0 A PHP dependency vulnerabilities scanner based on t... fightbulc/moment 1.33.0 Parse, validate, manipulate, and display dates in P... firebase/php-jwt v5.5.1 A simple library to encode and decode JSON Web Toke... friends-of-behat/mink-browserkit-driver v1.6.1 Symfony2 BrowserKit driver for Mink framework furf/jquery-ui-touch-punch dev-master grasmash/expander 2.0.3 Expands internal property references in PHP arrays ... guzzlehttp/guzzle 6.5.8 Guzzle is a PHP HTTP client library guzzlehttp/promises 1.5.1 Guzzle promises library guzzlehttp/psr7 1.9.0 PSR-7 message implementation that also provides com... instaclick/php-webdriver 1.4.14 PHP WebDriver for Selenium 2 jeremeamia/superclosure 2.4.0 Serialize Closure objects, including their context ... justinrainbow/json-schema 5.2.12 A library to validate a json schema. laminas/laminas-diactoros 2.11.3 PSR HTTP Message implementations laminas/laminas-escaper 2.9.0 Securely and safely escape HTML, HTML attributes, J... laminas/laminas-feed 2.17.0 provides functionality for consuming RSS and Atom f... laminas/laminas-stdlib 3.7.1 SPL extensions, array utilities, error handlers, an... league/container 4.2.0 A fast and intuitive dependency injection container. league/period 4.12.0 Time range API for PHP masterminds/html5 2.7.5 An HTML5 parser and serializer. mikey179/vfsstream v1.6.10 Virtual file system to mock the real file system in... myclabs/deep-copy 1.11.0 Create deep copies (clones) of your objects nikic/php-parser v4.14.0 A PHP parser written in PHP pear/archive_tar 1.4.14 Tar file management class with compression support ... pear/console_getopt v1.4.3 More info available on: http://pear.php.net/package... pear/pear-core-minimal v1.10.11 Minimal set of PEAR core files to be used as compos... pear/pear_exception v1.0.2 The PEAR Exception base class. phar-io/manifest 2.0.3 Component for reading phar.io manifest information ... phar-io/version 3.2.1 Library for handling version information and constr... php-http/client-common 2.5.0 Common HTTP Client implementations and tools for HT... php-http/discovery 1.14.3 Finds installed HTTPlug implementations and PSR-7 m... php-http/guzzle6-adapter v2.0.2 Guzzle 6 HTTP Adapter php-http/httplug 2.3.0 HTTPlug, the HTTP client abstraction for PHP php-http/message 1.13.0 HTTP Message related tools php-http/message-factory v1.0.2 Factory interfaces for PSR-7 HTTP Message php-http/promise 1.1.0 Promise used for asynchronous HTTP requests phpdocumentor/reflection-common 2.2.0 Common reflection classes used by phpdocumentor to ... phpdocumentor/reflection-docblock 5.3.0 With this component, a library can provide support ... phpdocumentor/type-resolver 1.6.1 A PSR-5 based resolver of Class names, Types and St... phpmailer/phpmailer v6.6.3 PHPMailer is a full-featured email creation and tra... phpspec/prophecy v1.15.0 Highly opinionated mocking framework for PHP 5.3+ phpstan/phpdoc-parser 1.6.4 PHPDoc parser with support for nullable, intersecti... phpunit/php-code-coverage 9.2.15 Library that provides collection, processing, and r... phpunit/php-file-iterator 3.0.6 FilterIterator implementation that filters files ba... phpunit/php-invoker 3.1.1 Invoke callables with a timeout phpunit/php-text-template 2.0.4 Simple template engine. phpunit/php-timer 5.0.3 Utility class for timing phpunit/phpunit 9.5.21 The PHP Unit Testing framework. politsin/jquery-ui-touch-punch 1.0 Extension to jQuery UI for mobile touch event support. psr/cache 1.0.1 Common interface for caching libraries psr/container 1.1.2 Common Container Interface (PHP FIG PSR-11) psr/http-client 1.0.1 Common interface for HTTP clients psr/http-factory 1.0.1 Common interfaces for PSR-7 HTTP message factories psr/http-message 1.0.1 Common interface for HTTP messages psr/log 1.1.4 Common interface for logging libraries psy/psysh v0.11.7 An interactive shell for modern PHP. ralouphie/getallheaders 3.0.3 A polyfill for getallheaders. react/promise v2.9.0 A lightweight implementation of CommonJS Promises/A... sebastian/cli-parser 1.0.1 Library for parsing CLI options sebastian/code-unit 1.0.8 Collection of value objects that represent the PHP ... sebastian/code-unit-reverse-lookup 2.0.3 Looks up which function or method a line of code be... sebastian/comparator 4.0.6 Provides the functionality to compare PHP values fo... sebastian/complexity 2.0.2 Library for calculating the complexity of PHP code ... sebastian/diff 4.0.4 Diff implementation sebastian/environment 5.1.4 Provides functionality to handle HHVM/PHP environments sebastian/exporter 4.0.4 Provides the functionality to export PHP variables ... sebastian/global-state 5.0.5 Snapshotting of global state sebastian/lines-of-code 1.0.3 Library for counting the lines of code in PHP sourc... sebastian/object-enumerator 4.0.4 Traverses array structures and object graphs to enu... sebastian/object-reflector 2.0.4 Allows reflection of object attributes, including i... sebastian/recursion-context 4.0.4 Provides functionality to recursively process PHP v... sebastian/resource-operations 3.0.3 Provides a list of PHP built-in functions that oper... sebastian/type 3.0.0 Collection of value objects that represent the type... sebastian/version 3.0.2 Library that helps with managing the version number... seld/jsonlint 1.9.0 JSON Linter seld/phar-utils 1.2.0 PHAR file format utilities, for when PHP phars you up sirbrillig/phpcs-variable-analysis v2.11.3 A PHPCS sniff to detect problems with variables. slevomat/coding-standard 7.2.1 Slevomat Coding Standard for PHP_CodeSniffer comple... squizlabs/php_codesniffer 3.7.1 PHP_CodeSniffer tokenizes PHP, JavaScript and CSS f... stack/builder v1.0.6 Builder for stack middleware based on HttpKernelInt... symfony-cmf/routing 2.3.4 Extends the Symfony routing component for dynamic r... symfony/browser-kit v4.4.37 Simulates the behavior of a web browser, allowing y... symfony/console v4.4.43 Eases the creation of beautiful and testable comman... symfony/css-selector v4.4.37 Converts CSS selectors to XPath expressions symfony/debug v4.4.41 Provides tools to ease debugging PHP code symfony/dependency-injection v4.4.43 Allows you to standardize and centralize the way ob... symfony/deprecation-contracts v2.5.2 A generic function and convention to trigger deprec... symfony/dom-crawler v4.4.42 Eases DOM navigation for HTML and XML documents symfony/error-handler v4.4.41 Provides tools to manage errors and ease debugging ... symfony/event-dispatcher v4.4.42 Provides tools that allow your application componen... symfony/event-dispatcher-contracts v1.1.13 Generic abstractions related to dispatching event symfony/filesystem v4.4.42 Provides basic utilities for the filesystem symfony/finder v4.4.41 Finds files and directories via an intuitive fluent... symfony/http-client-contracts v2.5.2 Generic abstractions related to HTTP clients symfony/http-foundation v4.4.43 Defines an object-oriented layer for the HTTP speci... symfony/http-kernel v4.4.43 Provides a structured process for converting a Requ... symfony/inflector v5.4.3 Converts words between their singular and plural fo... symfony/lock v4.4.40 Creates and manages locks, a mechanism to provide e... symfony/mime v5.4.10 Allows manipulating MIME messages symfony/options-resolver v4.4.37 Provides an improved replacement for the arrayrepl... symfony/phpunit-bridge v5.4.10 Provides utilities for PHPUnit, especially user dep... symfony/polyfill-ctype v1.25.0 Symfony polyfill for ctype functions symfony/polyfill-iconv v1.25.0 Symfony polyfill for the Iconv extension symfony/polyfill-intl-grapheme v1.26.0 Symfony polyfill for intl's grapheme* functions symfony/polyfill-intl-idn v1.25.0 Symfony polyfill for intl's idn_to_ascii and idn_to... symfony/polyfill-intl-normalizer v1.25.0 Symfony polyfill for intl's Normalizer class and re... symfony/polyfill-mbstring v1.25.0 Symfony polyfill for the Mbstring extension symfony/polyfill-php56 v1.20.0 Symfony polyfill backporting some PHP 5.6+ features... symfony/polyfill-php72 v1.26.0 Symfony polyfill backporting some PHP 7.2+ features... symfony/polyfill-php73 v1.26.0 Symfony polyfill backporting some PHP 7.3+ features... symfony/polyfill-php80 v1.25.0 Symfony polyfill backporting some PHP 8.0+ features... symfony/process v4.4.41 Executes commands in sub-processes symfony/property-access v4.4.41 Provides functions to read and write from/to an obj... symfony/property-info v4.4.42 Extracts information about PHP class' properties us... symfony/psr-http-message-bridge v2.1.2 PSR HTTP message bridge symfony/routing v4.4.41 Maps an HTTP request to a set of configuration vari... symfony/serializer v4.4.43 Handles serializing and deserializing data structur... symfony/service-contracts v2.5.2 Generic abstractions related to writing services symfony/string v5.4.10 Provides an object-oriented API to strings and deal... symfony/translation v4.4.41 Provides tools to internationalize your application symfony/translation-contracts v2.5.2 Generic abstractions related to translation symfony/validator v4.4.43 Provides tools to validate values symfony/var-dumper v5.4.9 Provides mechanisms for walking through any arbitra... symfony/yaml v4.4.43 Loads and dumps YAML files theseer/tokenizer 1.2.1 A small library for converting tokenized PHP source... twig/twig v2.15.1 Twig, the flexible, fast, and secure template langu... typo3/phar-stream-wrapper v3.1.7 Interceptors for PHP's native phar:// stream handling webflo/drupal-finder 1.2.2 Helper class to locate a Drupal installation from a... webmozart/assert 1.11.0 Assertions to validate method input/output with nic... webmozart/path-util 2.3.0 A robust cross-platform utility for normalizing, co... webonyx/graphql-php v14.11.6 A PHP port of GraphQL reference implementation

shishir-intelli commented 2 years ago

Hi @simantstha, Thanks for sharing the info,

This issue is because of JsonApi ContentEntityDenormalizer class which is deprecated, we are working on this issue, I will create a patch for same.

simantstha commented 2 years ago

Oh great thank you

simantstha commented 2 years ago

Also while we are into apis. Why does my devportal doesnot make a new revision everytime i update the content through RESTful api calls. It just updates the content but new revision is not made. Do you have any idea regarding this?

shishir-intelli commented 2 years ago

Hi, Make sure create new revision is enabled, If you go to the edit page for apidoc content type (i.e. admin/structure/types/manage/apidoc), under Publishing options, you can enforce new revisions by default. image

if this is already checked the you could try to implement hook_node_presave() and call setNewRevision(TRUE) or override the rest plugin.

simantstha commented 2 years ago

Thank you for your response i did this but it did not work. Am i doing it correct. I have also enabled create new revision. image

shishir-intelli commented 2 years ago

@simantstha

These questions are more about Drupal and not related to Apigee,

For understanding Drupal hooks you can refer to this https://www.drupal.org/docs/creating-custom-modules/understanding-hooks or for hook presave refer this https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21entity.api.php/function/hook_entity_presave/9.4.x

simantstha commented 2 years ago

Thank you, Shishir. When can I expect the patch for this bug?

shishir-intelli commented 2 years ago

Hi @simantstha

This issue is occurring for Drupal 9.4.2 and greater versions(This issue is related to https://www.drupal.org/project/jsonapi/issues/3042467) ContentEntityDenormalizer is deprecated in jsonapi module, but drupal/jsonapi_extras module is still using the service which is deprecated

We have created a patch here, please let us know if this resolves the issue and works fine. Patch - patch#569-1.txt

simantstha commented 2 years ago

Thank you can you guide me how to apply this patch ?

shishir-intelli commented 2 years ago

On terminal go to /modules/contrib/jsonapi_extras and run patch -p1 < patch#569-1.patch (Note rename patch#569-1.txt to patch#569-1.patch)

For more details refer this https://www.drupal.org/docs/develop/git/using-git-to-contribute-to-drupal/applying-a-patch-in-a-feature-branch

simantstha commented 2 years ago

It has been resolved thank you so much.