When I attempt to use site install, I get the following error:

drush si panopoly --db-url=mysql://some-db-credentials --account-pass=admin

Fatal error: Call to undefined function apps_profile_apps_select_form_panopoly() in /Applications/MAMP/htdocs/panopoly-7.x-1.0-beta1/includes/install.core.inc on line 473

Note that this is after moving solrphpclient to sites/all/libraries/SolrPhpClient as suggested.

Comments

aaronbauman’s picture

Priority: Normal » Critical

reproduced this.
bumped to critical as this is preventing install completely.

aaronbauman’s picture

Version: 7.x-1.0-beta1 » 7.x-1.x-dev
Priority: Critical » Normal

Seems like this is an issue only for non-interactive install (e.g. aegir / provision).

omega8cc’s picture

We are debugging it already and will report on the progress: #1500120: Add Open Academy to Octopus.

moshe weitzman’s picture

Got this too.

Note that site-install can pass params on the CLI to the installer so one could potentially enable apps and such from Drush. Would be cool if some examples of this were in the README for panopoly. You could conceivably ship with a drush commandfile containing a shell alias (or a new command) that issues an option laden instance of site-install.

BManuel’s picture

Subscribing

ashooner’s picture

Just to clarify: the problem is Panopoly requiring an interactive install, which does not take place in Aegir? Is there any additional patching required on the Provision side beyond #1088472: Introduce simple switch for changing write permissions to support apps (Drupal App Store) with plugin manager disabled? Would Moshe's suggestion be appropriate/realistic to add to the Panopoly profile?

omega8cc’s picture

@ashooner

There is nothing to be done on the Provision or Drush side.

This needs to be fixed in the profile itself, as it was done in the past for other profiles, so they just skip their interactive extra forms/requirements, using some sane defaults instead with simple if{} else{} like below:

if (!defined('DRUSH_BASE_PATH')) {
  // Do your standard interactive stuff/forms/steps
}
else {
  // Set some sane defaults and skip extra forms/steps
}
BManuel’s picture

Does the Panopoly maintainers have an ETA for this fix?

jeremiahtre.in’s picture

You could conceivably ship with a drush commandfile containing a shell alias (or a new command) that issues an option laden instance of site-install.

Yeah, dude.

Running into this isn't a huge deal, because we're going to have to get used to bringing up 30+ multisites with Panopoly at our university. I think we'll be able to set it up in our sleepz (how saddening).

However, how cool to just paste-in: drush site-install[...] !

We're totally for some more automation up-in-hur.

populist’s picture

Assigned: Unassigned » populist

I don't have a use case that involves installing this with the CLI, but happy to add this to the list of things to investigate and improve for the next version!

discipolo’s picture

StatusFileSize
new872 bytes

so this patch should just skip everything without setting defaults when installing via drush si or aegir?

David_Rothstein’s picture

Status: Active » Needs review
StatusFileSize
new1.32 KB

I don't think I understand the above patch or why it would be a good idea to define an entirely different code path for UI-based and command-line installs.

How about the attached patch instead? It works for me; after applying the patch and running "drush site-install panopoly" everything installs fine.

A couple of caveats:

  1. The install is missing some features (like the sample demo content) because the Apps module seems to be choosing to make certain features only available to UI-based installs. But that can only be addressed in the Apps module, not here.
  2. The install results in the 'theme_default' variable not being set, because the 'Choose a theme' page doesn't have a correct default value for the radio buttons. However, that's a potential issue with the UI-based install too (same thing happens if you submit the form on that page without explicitly selecting a theme). It would fix itself automatically if the radio buttons on that form got a valid default value, so, separate issue, probably.
webchick’s picture

I can confirm this fixes the problem w/ Drush installs. What you're left with though ain't pretty. 403 error on the home page, and if you attempt to install the "basic page" app that degrades to a WSOD. I think David's right though that these are upstream issues. And still, better than a fatal error during install. :)

populist’s picture

Title: Undefined Function apps_profile_apps_select_form_panopoly » Allow Panopoly to Install with Drush (Including Apps support)
Status: Needs review » Active

Alright - I went ahead and committed David's patch from #13 and had previously made a change to default the theme_default to the ever popular Bartik. This now allows Panopoly to complete the Drush install.

As mentioned, there are still some issues with the Apps module and default content so I changed the issue to reflect that need. I will also check into the Apps integration since I know a fair bit about that to make sure that process works smoothly.

populist’s picture

Status: Active » Fixed

We should now be good to go with the Apps module as per #1561652: Allow Apps to Be Installed with Drush During Site Install which has been pushed to the Panopoly 7.x-1.x-dev branch.

rowbotony’s picture

Can someone instruct me on how to download a panopoly-7.x-1.x-dev.tgz? I've follwed the version control/git instructrions and am presented with a panopoly directory with the following files:

build-panopoly.make
drupal-org-core.make
drupal-org.make*
images/
panopoly.css
panopoly.info
panopoly.profile*

but when I drush make build-panopoly.make drush asks me "Make new site in the current directory?" I say (y) but end up with the same files, no drupal core files are created. I've also tried to drush make --tar build-panopoly.make panopoly-dev no tarball is made... guess I'm just not understanding these make files that are included with panoply git.

Sorry if this is an obvious n00b question, but I'd really like to get Panoply in to my Aegir development environment, and I think it can happen now on the panoply-7.x-1.x-dev branch, I just can't figure out how to build it :/

Thank you,
--Tony

jeremiahtre.in’s picture

Tony,

I know you're trying the 7.x-1.x-dev download, but maybe give the 7.x-1.0-beta3 package a shot. It looks like the same commit that enables drush support is within it.

I know when I tried the dev it wasn't working for me.

Additionally, #1565996: Panopoly Search Can Block Install - Web or Drush might help you. Someone posted a quick solution for drush/Aegir, in response to my issue.

Peace!

jtreinau

rowbotony’s picture

Thanks for the info about the commit in beta3. I just tried beta3 again this morning but am still getting Site install errors with Aegir. The Aegir Platform installs properly, but the Site install fails with app errors. I'm using Aegir 1.8 and Drush 4.5.

I think I'll try to manually create a site and then import it to Aegir, that should work fine until this apps issue is resolved maybe in beta4 or Aegir 1.9. Thanks again! --Tony

There was an error installing panopoly_admin app.                                                       [error]
There was an error installing panopoly_core app.                                                        [error]
There was an error installing panopoly_demo app.                                                        [error]
There was an error installing panopoly_images app.                                                      [error]
There was an error installing panopoly_magic app.                                                       [error]
There was an error installing panopoly_pages app.                                                       [error]
There was an error installing panopoly_search app.                                                      [error]
There was an error installing panopoly_theme app.                                                       [error]
There was an error installing panopoly_users app.                                                       [error]
There was an error installing panopoly_widgets app.                                                     [error]
There was an error installing panopoly_wysiwyg app.                                                     [error]
Updates downloaded successfully.                                                                        [status]
The configuration options have been saved.                                                              [status]
Command dispatch complete                                                                                  [notice]
Drush was not able to start (bootstrap) the Drupal database.                                            [error]
Hint: This error often occurs when Drush is trying to bootstrap a site that has not been installed or
does not have a configured database.
jeremiahtre.in’s picture

Tony,

Sorry to hear that!

http://drupal.org/node/1565996#comment-5986720 may help! It essentially tells sed to edit in place the .info file.

Now, the user's personal fix didn't clearly articulate whether this was done as a two-part command, or all on one line. Not sure how clever, or verbose, they were.

I think partially what's holding back this smooth install (for graphical and command) is the dependency on the Search app. Albeit, it would be fine to be left in, should the Search app install properly.

Happy to help,

jtreinau

rowbotony’s picture

jeremiahtre.in’s picture

Heck yeah!

Glad to hear it,

jtreinau

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.