Giter Site home page Giter Site logo

ddev-drupal-solr's Introduction

DDEV logo with light and dark mode variants

CircleCI project is maintained Gitpod Ready-to-Code Open in GitHub Codespaces

DDEV is an open-source tool for running local web development environments for PHP, Python and Node.js, ready in minutes. Its powerful, flexible per-project environment configurations can be extended, version controlled, and shared. DDEV allows development teams to adopt a consistent Docker workflow without the complexities of bespoke configuration.

Documentation

To check out live examples, docs, contributor live training, guides and more visit ddev.com and ddev.readthedocs.io

Questions

If you need help, our friendly community provides great support.

Wonderful Sponsors

DDEV is an Apache License 2.0 open-source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider sponsoring DDEV development.

DDEV Sponsor logos with light and dark mode variants

Contributing

See โ€œHow can I contribute to DDEV?โ€ in the FAQ, and the Contributing page.

Overview of GitHub contributions

Get Started

  1. Check System Requirements: macOS (Intel and Apple Silicon), Windows 10/11, WSL2, Linux, Gitpod, and GitHub Codespaces.
  2. Install a Docker provider and DDEV.
  3. Try a CMS Quick Start Guide.

Additionally, https://ddev.com/get-started/ provides an up-to-date getting-started guide.

Highlighted Features

  • Quickly create local web development environments based on code repositories, with minimal configuration.
  • Import a database to any of your local environments.
  • Import upload files to match the project (e.g. Drupal sites/default/files or WordPress wp-content/uploads).
  • Customizable integration with hosting platforms like Platform.sh, Pantheon, Acquia and others.
  • Run commands within the Docker environment using ddev exec.
  • View logs from the web and database containers.
  • Use ddev ssh to explore the Linux environment inside the container.
  • List running projects with ddev list.
  • Snapshot databases with ddev snapshot.
  • Temporarily share your development website with others using ddev share.
  • Create custom commands as simple shell scripts.
  • Enjoy effortless, trusted HTTPS support.
  • Extend and customize environments as much (or as little!) as you need to.

Run ddev to see all the commands.

ddev-drupal-solr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ddev-drupal-solr's Issues

multiple core support

Would be nice if this supported or documented how to setup a configuration with multiple cores.

data not persistent

Hi,

I've been using this template and I found that when running ddev restart the solr data get cleared.

After digging, I found that the volume path used for is wrong, and the real data is saved in other location.

Upgrade Drupal modules

Candidates for updating

  • Access Unpublished 8.x-1.3 ->8.x-1.4
  • Admin Toolbar 8.x-2.5 -> 3.1.0
  • Allowed Formats 8.x-1.3 ->8.x-1.5
  • Better Exposed Filters 8.x-5.0-beta1 -> 8.x-5.1
  • Block Class 8.x-1.3 -> 2.0.0-beta15
  • Block Exclude Pages 2.0.0 -> 2.0.1
  • Block Field 8.x-1.0-rc1 -> 8.x-1.0-rc2
  • Calendar 8.x-1.0-alpha2+17-dev -> 8.x-1.0-alpha4
  • CAPTCHA 8.x-1.1 -> 8.x-1.3
  • Chosen 3.0.0 -> 3.0.3
  • Config Filter 8.x-1.5 -> 8.x-2.3
  • Crop API 8.x-2.1 -> 8.x-2.2
  • Facets 8.x-1.8 -> 2.0.2
  • Field Group 8.x-3.1 -> 8.x-3.2
  • jQuery UI Datepicker 8.x-1.0 -> 8.x-1.2
  • Metatag 8.x-1.16 -> 8.x-1.19
  • Pathauto 8.x-1.8 -> 8.x-1.10
  • Search API Pantheon 8.0.0-beta6 -> 8.0.0
  • Search API Solr 4.2.1 -> 4.2.7
  • Token 8.x-1.9 -> 8.x-1.10
  • Search API 8.x-1.18 -> 8.x-1.23
  • Workbench 8.x-1.7 -> 2.2.1
  • Workbench email 8.x-1.7 -> 2.2.1
  • Moderation Sidebar 8.x-1.4 8.x-1.5
  • Media Bulk Upload 8.x-1.0-alpha27 -> 3.0.0
  • Migrate Tools 8.x-5.0 -> 6.0.0
  • Migrate Source CSV 8.x-3.4+6-dev -> 8.x-3.5
  • Migrate Plus 8.x-5.1 -> 6.0.0
  • Migrate Tools 8.x-5.0 -> 6.0.0
  • Migrate Files 2.0.0 -> 2.1.1
  • Menu Block 8.x-1.7 -> 8.x-1.8
  • Media Bulk Upload 8.x-1.0-alpha27 -> 3.0.0
  • Twig Tweak 8.x-2.5 -> 3.1.3
  • Siteimprove Plugin 8.x-1.10 -> 8.x-1.12

List is incomplete... tbc

In some instances may be preferable not to update to latest where there is a more stable previous version. eg if on 1.1 and options are 2.0-alpha or 1.9, would probably be better to roll with 1.9 until next version stabilises.

Would suggest updating key modules related to search and upgrading workflow before starting work on related task.

Also worth noting is that many modules have been patched and may require re-apply patch (if possible). In some instances those patches may already be included.

Why Drupal?

Aside from the documentation on how specifically use it with Drupal's solr_search_api module, I don't see any reason why this container would be Drupal-specific?

ddev-drupal9-solr makes `ddev start` take longer

Problem

Normally, a Drupal 10 DDEV project takes 8-10 seconds to start, which is great. But if you install Solr with ddev get ddev/ddev-drupal9-solr (https://github.com/ddev/ddev-drupal9-solr) it slows down and ddev start takes about 35 seconds.

Here's the output after export DDEV_DEBUG=true && export DDEV_VERBOSE=true when starting a plain Drupal 10, and a Drupal 10 with Solr. I removed the first 40 lines, since they're identical:

Drupal 10

$ time ddev start
[...]
Pulling image for drud/ddev-dbserver-mariadb-10.4:v1.21.5 
Pulling image for phpmyadmin:5 
Pulling image for drud/ddev-webserver:v1.21.5 
Pulling image for drud/ddev-router:v1.21.5 
Pulling image for drud/ddev-ssh-agent:v1.21.5 
Executing docker-compose -f /home/user/dev/drupal10/.ddev/.ddev-docker-compose-full.yaml up --build -d 
Network ddev-drupal10_default  Created 
Container ddev-drupal10-web  Started 
Container ddev-drupal10-db  Started 
Container ddev-drupal10-dba  Started 
Testing to see if /mnt/ddev_config is properly mounted 
INFO[0007] starting app.Exec &{  ls -l /mnt/ddev_config/nginx_full/nginx-site.conf >/dev/null [] false false <nil> <nil>} at 20:29:36.161027021 
INFO[0007] PERF: app.Exec &{  ls -l /mnt/ddev_config/nginx_full/nginx-site.conf >/dev/null [] false false <nil> <nil>} took 0.21s 
Container ddev-router  Running 
Ensuring write permissions for drupal10 
Existing settings.php file includes settings.ddev.php 
INFO[0008] starting app.Exec &{db  mysql -e "SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;" 2>/dev/null [] false false <nil> <nil>} at 20:29:37.553466319 
INFO[0009] PERF: app.Exec &{db  mysql -e "SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;" 2>/dev/null [] false false <nil> <nil>} took 0.13s 
Ensuring write permissions for drupal10 
Successfully started drupal10 
Project can be reached at https://drupal10.ddev.site https://127.0.0.1:33009 
INFO[0009] PERF: main() took 9.04s                      

real  0m9,104s
user  0m0,415s
sys 0m0,145s

Drupal 10 with Solr

$ time ddev start
[...]
Pulling image for drud/ddev-dbserver-mariadb-10.4:v1.21.5 
Pulling image for phpmyadmin:5 
Pulling image for solr:8 
Pulling image for drud/ddev-webserver:v1.21.5 
Pulling image for drud/ddev-router:v1.21.5 
Pulling image for drud/ddev-ssh-agent:v1.21.5 
Executing docker-compose -f /home/user/dev/d10solr/.ddev/.ddev-docker-compose-full.yaml up --build -d 
Network ddev-d10solr_default  Created 
Container ddev-d10solr-web  Started 
Container ddev-d10solr-db  Started 
Container ddev-d10solr-solr  Started 
Container ddev-d10solr-dba  Started 
INFO[0003] starting CopyIntoVolume /home/user/dev/.local/share/mkcert ddev-global-cache at 20:27:34.528600635 
Copied /home/user/dev/.local/share/mkcert:CopyIntoVolume_ntmekywxlxhy into /mnt/v/mkcert in 104.923129ms 
Exec chown -R 1000 /mnt/v/mkcert stdout=, stderr=, err=<nil> 
INFO[0004] PERF: CopyIntoVolume /home/user/dev/.local/share/mkcert ddev-global-cache took 0.55s 
Pushed mkcert rootca certs to ddev-global-cache/mkcert 
Testing to see if /mnt/ddev_config is properly mounted 
INFO[0007] starting app.Exec &{  ls -l /mnt/ddev_config/nginx_full/nginx-site.conf >/dev/null [] false false <nil> <nil>} at 20:27:38.393838787 
INFO[0007] PERF: app.Exec &{  ls -l /mnt/ddev_config/nginx_full/nginx-site.conf >/dev/null [] false false <nil> <nil>} took 0.19s 
Container ddev-router  Started 
Ensuring write permissions for d10solr 
Existing settings.php file includes settings.ddev.php 
INFO[0034] starting app.Exec &{db  mysql -e "SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;" 2>/dev/null [] false false <nil> <nil>} at 20:28:05.057264093 
INFO[0034] PERF: app.Exec &{db  mysql -e "SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;" 2>/dev/null [] false false <nil> <nil>} took 0.13s 
Ensuring write permissions for d10solr 
Successfully started d10solr 
Project can be reached at https://d10solr.ddev.site https://127.0.0.1:32985 
INFO[0034] PERF: main() took 34.26s                     

real  0m34,314s
user  0m0,599s
sys 0m0,162s

Solr Admin not acessible on HTTPS

If you follow the instructions to open the Solr Admin via HTTP (http://.ddev.site:8983/solr/) you are redirect automatically to HTTPS and that doesn't work.

ddev-drupal-solr is obsolete

I carefully read the README of ddev-drupal-solr. Everything described there could be done with ddev-solr 0.4.0.
The only difference is that the downloaded config.zip has to be extracted to .ddev/solr/configsets/<CORE_NAME>/ instead of .ddev/solr/conf/.
(That would automatically solve #37 )

I suggest to convert this add-on. It should depend on ddev-solr and just contain the drupal-specific documentation, examples and tests. And maybe som convenient ddev commands that hide complex options of the drush commands.

See ddev/ddev-solr#14 (comment)

Use a security.json file

Hi

Is there a simple way to use a security.json file?
By "simple" I mean as easy as putting the core config files in the /conf directory.
I have created a .ddev/solr/security.json file and restarted my project, but it seems that it's not the right way.

Thanx

Upgrade modules

Candidates for updating

  • Access Unpublished 8.x-1.3 ->8.x-1.4
  • Admin Toolbar 8.x-2.5 -> 3.1.0
  • Allowed Formats 8.x-1.3 ->8.x-1.5
  • Better Exposed Filters 8.x-5.0-beta1 -> 8.x-5.1
  • Block Class 8.x-1.3 -> 2.0.0-beta15
  • Block Exclude Pages 2.0.0 -> 2.0.1
  • Block Field 8.x-1.0-rc1 -> 8.x-1.0-rc2
  • Calendar 8.x-1.0-alpha2+17-dev -> 8.x-1.0-alpha4
  • CAPTCHA 8.x-1.1 -> 8.x-1.3
  • Chosen 3.0.0 -> 3.0.3
  • Config Filter 8.x-1.5 -> 8.x-2.3
  • Crop API 8.x-2.1 -> 8.x-2.2
  • Facets 8.x-1.8 -> 2.0.2
  • Field Group 8.x-3.1 -> 8.x-3.2
  • jQuery UI Datepicker 8.x-1.0 -> 8.x-1.2
  • Metatag 8.x-1.16 -> 8.x-1.19
  • Pathauto 8.x-1.8 -> 8.x-1.10
  • Search API Pantheon 8.0.0-beta6 -> 8.0.0
  • Search API Solr 4.2.1 -> 4.2.7
  • Token 8.x-1.9 -> 8.x-1.10
  • Search API 8.x-1.18 -> 8.x-1.23
  • Workbench 8.x-1.7 -> 2.2.1
  • Workbench email 8.x-1.7 -> 2.2.1
  • Moderation Sidebar 8.x-1.4 8.x-1.5
  • Media Bulk Upload 8.x-1.0-alpha27 -> 3.0.0
  • Migrate Tools 8.x-5.0 -> 6.0.0
  • Migrate Source CSV 8.x-3.4+6-dev -> 8.x-3.5
  • Migrate Plus 8.x-5.1 -> 6.0.0
  • Migrate Tools 8.x-5.0 -> 6.0.0
  • Migrate Files 2.0.0 -> 2.1.1
  • Menu Block 8.x-1.7 -> 8.x-1.8
  • Media Bulk Upload 8.x-1.0-alpha27 -> 3.0.0
  • Twig Tweak 8.x-2.5 -> 3.1.3
  • Siteimprove Plugin 8.x-1.10 -> 8.x-1.12

List is incomplete... tbc

In some instances may be preferable not to update to latest where there is a more stable previous version. eg if on 1.1 and options are 2.0-alpha or 1.9, would probably be better to roll with 1.9 until next version stabilises.

Would suggest updating key modules related to search and upgrading workflow before starting work on related task.

Also worth noting is that many modules have been patched and may require re-apply patch (if possible). In some instances those patches may already be included.

Drop drupal version (9) from project name

I see people are avoiding the use of this addon because it says drupal9 on the project name. It only happens with people newer to DDEV.

With drupal9 being EOL, I would advise to rename the project and completely remove the core version from that and the description.

search_api_solr shows "Outdated solr configuration"

Today I tried to setup a Solr server.
After following the instructions and clicking save, I recieved 2 messages:

  • "The server was successfully saved."
  • "You are using outdated Solr configuration set. Please follow the instructions described in the README.md file for setting up Solr."

outdated_config

It states it can connect OK is the view table in Drupal 10. And the configured version and detected version appear to match:

Server Connection The Solr server could be reached.
Core Connection The Solr core could be accessed (latency: 10.037945343018 ms).
Configured Solr Version 8.11.2
Detected Solr Version 8.11.2

However, I am unfamiliar with Solr so not really sure if there are any "issues".
We may need to update the configuration or, perhaps, add a note on the addon page to "ignore the warning".

Test

1.. Follow installation guide.
2. Click "save"
3. Check messages.

DDEV: 1.24.1
Drupal: 10.0.2

Remove the `docker volume rm` statement from the `ddev get drud/ddev-drupal9-solr` output

If you install the drupal9-solar add-on you get currently the following output with ddev 1.19.0:

$> ddev get drud/ddev-drupal9-solr
Downloading https://api.github.com/repos/drud/ddev-drupal9-solr/tarball/v1.1.1
v1.1.1_4133593099.tar.gz 1.22 MiB / ? [---------------------------------------------------------------------------------------------------------------------------=-------------------------------------------------] 12803.42% 0s
docker volume rm ddev-${DDEV_PROJECT}_solr 2>/dev/null || true

Installed file /Users/myuser/Sites/happen/.ddev/solr
Installed file /Users/myuser/Sites/happen/.ddev/docker-compose.solr.yaml
Executed post-install action chmod +x solr/docker-entrypoint-initdb.d/solr-configupdate.sh.
Downloaded add-on drud/ddev-drupal9-solr, use `ddev restart` to enable.
For more information about this add-on visit the source repo at
https://github.com/drud/ddev-drupal9-solr
Please file issues and create pull requests there to improve it.

The string docker volume rm ddev-${DDEV_PROJECT}_solr 2>/dev/null || true might be hidden from the users. it doesn`t provide any benefit or information and is rather confusing for the user.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.