Fix installation instructions

Created on 16 June 2023, over 1 year ago
Updated 9 January 2024, 9 months ago

Another patch stopped applying, and the instructions no longer reflect files that need to be included in composer.json.

We can y

πŸ› Bug report
Status

Postponed

Version

1.0

Component

Documentation

Created by

πŸ‡ΊπŸ‡ΈUnited States darren oh Lakeland, Florida

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

Comments & Activities

  • Issue created by @darren oh
  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 8.1 & MySQL 8
    last update over 1 year ago
    Waiting for branch to pass
  • @darren-oh opened merge request.
  • Status changed to Needs review over 1 year ago
  • πŸ‡ΊπŸ‡ΈUnited States darren oh Lakeland, Florida
  • Status changed to Postponed over 1 year ago
  • πŸ‡ΊπŸ‡ΈUnited States jrockowitz Brooklyn, NY

    We can use the *.diff file as a patch because the contents of that file can be changed by anyone able to commit to the ticket. We must use *.patch files.
    @see https://git.drupalcode.org/project/drupal/-/merge_requests/4197.diff

    I think we need to NOT make every patch compatible with multiple versions of Drupal. It is creating a lot of noise in Drupal core's issue queues.
    @see πŸ› MenuLinkContent menu_name max length is too long Needs work

    Let's slow down and develop a better solution, like only supporting one (or two) versions of Drupal.

  • πŸ‡ΊπŸ‡ΈUnited States darren oh Lakeland, Florida

    I'm not concerned about using the .diff because this is a demo, not a live product. Patches can stop applying any time, whereas the diff can be rebased. My main concern is that other people will not try out the demo if it takes them as long as it has taken me to get it working.

  • πŸ‡ΊπŸ‡ΈUnited States jrockowitz Brooklyn, NY

    The rebased diff is the security issue that allows any site using the diff to be hacked.

    I am 100% for simplifying the demo. The first step would be to limit the supported version of Drupal. I am very close to only supporting 10.0.x. We might still keep the composer.patches.VERSION.json files so that we can gradually upgrade to newer versions of Drupal.

  • πŸ‡°πŸ‡¬Kyrgyzstan sahaj

    With **OPTIONS 3** using web/modules/contrib/schemadotorg_demo/scripts/schemadotorg_demo.sh install_demo_standard_next I got my terminal looping indefinitely into 'Y' (see screenshot).

    PS: now that 10.1.x is released, maybe only to support that version of Drupal?

  • πŸ‡°πŸ‡¬Kyrgyzstan sahaj

    Also might be obvious, but a Run `composer update` might be welcome between these 2 instructions:

    - Set install path for schemadotorg_demo. See example below.
    - Run `composer require 'drupal/schemadotorg_demo-schemadotorg_demo:1.0.x-dev@dev' -W`. Repeat until there are no more changes.

    And I had to rename the 'schemadotorg_demo-schemadotorg_demo' folder into 'schemadotorg_demo' at some point.

    But beside that I could complete both **OPTIONS 1** and **OPTIONS 2** .

  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 8.1 & MySQL 8
    last update about 1 year ago
    Waiting for branch to pass
  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 8.1 & MySQL 8
    last update about 1 year ago
    Waiting for branch to pass
  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 8.1 & MySQL 8
    last update about 1 year ago
    Waiting for branch to pass
  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 8.1 & MySQL 8
    last update about 1 year ago
    Waiting for branch to pass
  • πŸ‡ΊπŸ‡ΈUnited States darren oh Lakeland, Florida

    sahaj, the -W in composer require serves the same purpose as composer update and only affects the dependencies of the package being updated. It needs to be run at least three times to merge in libraries from all the dependencies. You also need to require schemadotorg_next. For the scripts to work you need to require schemadotorg_demo_profile. I have updated the instructions and example to account for this.

  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 8.1 & MySQL 8
    last update about 1 year ago
    Waiting for branch to pass
  • πŸ‡ΊπŸ‡ΈUnited States darren oh Lakeland, Florida

    jrockowitz, still wondering why security takes priority over being installable in a demo. I seriously doubt many people can spend as much time as I have just to get it running. Not being installable is hindering adoption by and contribution from others.

  • πŸ‡ΊπŸ‡ΈUnited States jrockowitz Brooklyn, NY

    I am all for helping people use the demo. We can't use remote diffs patches where the contents can change.

  • πŸ‡ΊπŸ‡ΈUnited States darren oh Lakeland, Florida

    The contents of the patches have to change so they will continue to apply. Otherwise the demo can only support point releases of Drupal. Could we disclose the security issue and deprecate using the demo in any environment that needs to be secure?

  • πŸ‡ΊπŸ‡ΈUnited States jrockowitz Brooklyn, NY

    We can't allow such a blatant security risk where anyone can commit code to a patch and take over someone's website.

    I am continually updating the demo as needed, especially when a patch is committed to a dependency and impacts the compose update command.

  • πŸ‡ΊπŸ‡ΈUnited States darren oh Lakeland, Florida

    I’ve never seen anyone get the demo running on the first day of trying, and I’m getting ashamed to recommend it.

  • πŸ‡ΊπŸ‡ΈUnited States boinkster

    The demo ran and installed for me without any issues. Installed on a local DDEV instance.

  • πŸ‡ΊπŸ‡ΈUnited States NicholasS

    I would love to see like a DrupalPod button/link on the project page for a one click demo.

    Such as ....

    https://gitpod.io/new/#DP_PROJECT_NAME=schemadotorg_demo,DP_PROJECT_TYPE...

    But Currently this results in an error.

     [success] Successfully enabled: admin_toolbar_tools, devel, admin_toolbar
    
    In PmCommands.php line 341:
                                                                                                           
      Unable to install modules: module 'schemadotorg_demo' is missing its dependency module anchor_link. 
  • πŸ‡ΊπŸ‡ΈUnited States NicholasS

    I was able to get it to run in gitpod but took a very long time of running individual composer commands. I followed the steps at https://git.drupalcode.org/project/schemadotorg_demo/-/blob/1.0.x/README.md replaced the composer.json and ran composer update 3 times but still had to install all the dependencies one by one.

    Maybe a gitpod link, and just a massive copy/paste terminal command to install everything and install the demo for users?

        1  .gitpod/utils/send-a-message-gcs.sh > /tmp/output1.txt
        2  .gitpod/utils/ddev-in-gitpod-setup.sh
        3  .gitpod/utils/set-base-environment.sh
        4  time ddev start
        5  # Temporary fix for wrong value of GITPOD_REPO_ROOT when opening a Gitpod snapshot
        6  # Todo: remove this when this issue is resolved - https://github.com/gitpod-io/gitpod/issues/9804
        7  if [ "$GITPOD_REPO_ROOT" == '/workspace' ]; then
        8    export GITPOD_REPO_ROOT="$THEIA_WORKSPACE_ROOT"
        9  fi
       10  .gitpod/utils/ddev-in-gitpod-setup.sh
       11  .gitpod/utils/env-setup.sh
       12  .gitpod/drupal/ssh/01-check-private-ssh.sh
       13  .gitpod/drupal/drupalpod-setup/drupalpod-setup.sh
       14  ddev composer i
       15  ddev drush cim -y
       16  ddev composer update
       17  ddev drush site-install schemadotorg_demo_profile
       18  ddev drush install schemadotorg_demo
       19  ddev composer require 'drupal/anchor_link:^3.0@alpha'
       20  ddev drush install schemadotorg_demo
       21  ddev composer require 'drupal/better_exposed_filters:^6.0'
       22  ddev drush install schemadotorg_demo
       23  ddev composer require 'drupal/block_field:^1.0@RC'
       24  ddev drush install schemadotorg_demo
       25  ddev composer require 'drupal/chosen:^4.0'
       26  ddev drush install schemadotorg_demo
       27  ddev composer require 'drupal/ckeditor5_fullscreen:^1.0@beta'
       28  ddev drush install schemadotorg_demo
       29  ddev composer require 'drupal/ckeditor_link_styles:^1.0'
       30  ddev drush install schemadotorg_demo
       31  ddev composer require 'drupal/ckeditor5_paste_filter:^1.0'
       32  ddev drush install schemadotorg_demo
       33  ddev composer require 'drupal/ckeditor_codemirror:^3.0@beta'
       34  ddev drush install schemadotorg_demo
       35  ddev composer require 'drupal/ckeditor_details:^2.1@alpha'
       36  ddev drush install schemadotorg_demo
       37  ddev composer require 'drupal/ckeditor_find:^2.0@beta'
       38  ddev drush install schemadotorg_demo
       39  ddev composer require 'drupal/ckeditor_indentblock:^1.0'
       40  ddev drush install schemadotorg_demo
       41  ddev composer require 'drupal/context_stack:^1.1'
       42  ddev drush install schemadotorg_demo
       43  ddev composer require 'drupal/convert_bundles:^2.0@beta'
       44  ddev drush install schemadotorg_demo
       45  ddev composer require 'drupal/dropzonejs:^2.8'
       46  ddev drush install schemadotorg_demo
       47  ddev composer require 'drupal/duration_field:^2.1'
       48  ddev drush install schemadotorg_demo
       49  ddev composer require 'drupal/entity_clone:^2.0@beta'
       50  ddev drush install schemadotorg_demo
       51  ddev composer require 'drupal/entity_print:^2.13'
       52  ddev drush install schemadotorg_demo
       53  ddev composer require 'drupal/linkit:^6.1'
       54  ddev drush install schemadotorg_demo
       55  ddev composer require 'drupal/markup:^2.0@beta'
       56  ddev drush install schemadotorg_demo
       57  ddev composer require 'drupal/menu_select:^2.0@RC'
       58  ddev drush install schemadotorg_demo
       59  ddev composer require 'drupal/range:^1.5'
       60  ddev drush install schemadotorg_demo
       61  ddev composer require 'drupal/redirect:^1.9'
       62  ddev drush install schemadotorg_demo
       63  ddev composer require 'drupal/redirect_metrics:^2.0'
       64  ddev drush install schemadotorg_demo
       65  ddev composer require 'drupal/revision_log_default:^1.3'
       66  ddev drush install schemadotorg_demo
       67  ddev composer require 'drupal/scheduler_content_moderation_integration:^2.0@beta'
       68  ddev drush install schemadotorg_demo
       69  ddev composer require 'drupal/time_field:^2.1'
       70  ddev drush install schemadotorg_demo
       71  ddev composer require 'drupal/token_filter:^2.1'
       72  ddev drush install schemadotorg_demo
       73  ddev composer require 'drupal/viewsreference:^2.0@beta'
       74  ddev drush install schemadotorg_demo
       75  ddev composer require 'drupal/views_bulk_operations:^4.2'
       76  ddev drush install schemadotorg_demo
       77  ddev composer require 'drupal/admin_dialogs:^1.0'
       78  ddev drush install schemadotorg_demo
       79  ddev composer require 'drupal/admin_toolbar:^3.4'
       80  ddev drush install schemadotorg_demo
       81  ddev composer require 'drupal/autosave_form:^1.4'
       82  ddev drush install schemadotorg_demo
       83  ddev composer require 'drupal/dashboards:^2.1'
       84  ddev drush install schemadotorg_demo
       85  ddev composer require 'drupal/diff:^1.1'
       86  ddev drush install schemadotorg_demo
       87  ddev composer require 'drupal/environment_indicator:^4.0'
       88  ddev drush install schemadotorg_demo
       89  ddev composer require 'drupal/field_compare:^1.1'
       90  ddev drush install schemadotorg_demo
       91  ddev composer require 'drupal/file_delete:^2.0'
       92  ddev drush install schemadotorg_demo
       93  ddev composer require 'drupal/login_destination:^2.0@beta'
       94  ddev drush install schemadotorg_demo
       95  ddev composer require 'drupal/masquerade:^2.0@RC'
       96  ddev drush install schemadotorg_demo
       97  ddev composer require 'drupal/moderated_content_bulk_publish:^3.0@beta'
       98  ddev drush install schemadotorg_demo
       99  ddev composer require 'drupal/moderation_dashboard:^2.1'
      100  ddev drush install schemadotorg_demo
      101  ddev composer require 'drupal/moderation_sidebar:^1.7'
      102  ddev drush install schemadotorg_demo
      103  ddev composer require 'drupal/multiple_fields_remove_button:^2.2'
      104  ddev drush install schemadotorg_demo
      105  ddev composer require 'drupal/r4032login:^2.2'
      106  ddev drush install schemadotorg_demo
      107  ddev composer require 'drupal/queue_ui:^3.1'
      108  ddev drush install schemadotorg_demo
      109  ddev composer require 'drupal/ultimate_cron:^2.0@alpha'
      110  ddev drush install schemadotorg_demo
      111  ddev composer require 'drupal/unpublished_404:^2.0'
      112  ddev drush install schemadotorg_demo
      113  ddev composer require 'drupal/consumer_image_styles:^4.0'
      114  ddev drush install schemadotorg_demo
      115  ddev composer require 'drupal/openapi:^2.1'
      116  ddev drush install schemadotorg_demo
      117  ddev composer require 'drupal/openapi_jsonapi:^3.0'
      118  ddev drush install schemadotorg_demo
      119  ddev composer require 'drupal/openapi_ui:^1.0@RC'
      120  ddev drush install schemadotorg_demo
      121  ddev composer require 'drupal/openapi_ui_redoc:^1.0@RC'
      122  ddev drush install schemadotorg_demo
      123  ddev composer require 'drupal/openapi_ui_swagger:^1.0'
      124  ddev drush install schemadotorg_demo
      125  ddev composer require 'drupal/toolbar_language_switcher:^2.0@alpha'
      126  ddev drush install schemadotorg_demo
      127  ddev composer require 'drupal/gin:^3.0@RC'
      128  ddev drush install schemadotorg_demo
      129  drush user:password admin admin
      130  history
  • πŸ‡ΊπŸ‡ΈUnited States NicholasS

    Here is my attempt after ~2hrs of trying but this gitpod link and that terminal one liner seems to work for me so far.

    The run the following command in the terminal of gitpod

    cp repos/schemadotorg_demo/install/composer.example.json composer.json && rm composer.lock && ddev composer i && ddev composer i && ddev composer i && ddev drush site-install schemadotorg_demo_profile -y && ddev composer require 'drupal/anchor_link:^3.0@alpha' 'drupal/better_exposed_filters:^6.0' 'drupal/block_field:^1.0@RC' 'drupal/chosen:^4.0' 'drupal/ckeditor5_fullscreen:^1.0@beta' 'drupal/ckeditor_link_styles:^1.0' 'drupal/ckeditor5_paste_filter:^1.0' 'drupal/ckeditor_codemirror:^3.0@beta' 'drupal/ckeditor_details:^2.1@alpha' 'drupal/ckeditor_find:^2.0@beta' 'drupal/ckeditor_indentblock:^1.0' 'drupal/context_stack:^1.1' 'drupal/convert_bundles:^2.0@beta' 'drupal/dropzonejs:^2.8' 'drupal/duration_field:^2.1' 'drupal/entity_clone:^2.0@beta' 'drupal/entity_print:^2.13' 'drupal/linkit:^6.1' 'drupal/markup:^2.0@beta' 'drupal/menu_select:^2.0@RC' 'drupal/range:^1.5' 'drupal/redirect:^1.9' 'drupal/redirect_metrics:^2.0' 'drupal/revision_log_default:^1.3' 'drupal/scheduler_content_moderation_integration:^2.0@beta' 'drupal/time_field:^2.1' 'drupal/token_filter:^2.1' 'drupal/viewsreference:^2.0@beta' 'drupal/views_bulk_operations:^4.2' 'drupal/admin_dialogs:^1.0' 'drupal/admin_toolbar:^3.4' 'drupal/autosave_form:^1.4' 'drupal/dashboards:^2.1' 'drupal/diff:^1.1' 'drupal/environment_indicator:^4.0' 'drupal/field_compare:^1.1' 'drupal/file_delete:^2.0' 'drupal/login_destination:^2.0@beta' 'drupal/masquerade:^2.0@RC' 'drupal/moderated_content_bulk_publish:^3.0@beta' 'drupal/moderation_dashboard:^2.1' 'drupal/moderation_sidebar:^1.7' 'drupal/multiple_fields_remove_button:^2.2' 'drupal/r4032login:^2.2' 'drupal/queue_ui:^3.1' 'drupal/ultimate_cron:^2.0@alpha' 'drupal/unpublished_404:^2.0' 'drupal/consumer_image_styles:^4.0' 'drupal/openapi:^2.1' 'drupal/openapi_jsonapi:^3.0' 'drupal/openapi_ui:^1.0@RC' 'drupal/openapi_ui_redoc:^1.0@RC' 'drupal/openapi_ui_swagger:^1.0' 'drupal/toolbar_language_switcher:^2.0@alpha' 'drupal/gin:^3.0@RC' 'drupal/gin_login:^2.0' 'drupal/gin_lb:^1.0@RC' 'drupal/gin_type_tray:^1.0@beta' 'drupal/gin_moderation_sidebar:^1.0' && ddev drush install schemadotorg_demo -y && ddev drush user:password admin admin && preview
    

    I know giant one liner commands kind of suck to maintain, but so does all this composer merge stuff it seems.

  • πŸ‡ΊπŸ‡ΈUnited States NicholasS
  • πŸ‡ΊπŸ‡ΈUnited States jrockowitz Brooklyn, NY

    @NicholasS Adding GitPod support would be greatly appreciated.

    How about creating a ticket for adding GitPod support? Once we have the ticket and starting point, I can add the GitPod button to the project page with a link to the ticket.

Production build 0.71.5 2024