The "update" module (a dependency of "apps") is constantly telling users to update out-of-date modules, however, this is rarely safe for a distribution.

Open Atrium just added an oa_update module to modify this default behavior. A more generic version of this should be implemented and added to Panopoly, since pretty much every Panopoly-based distribution will want to do the same.

Here is the Open Atrium module:

http://drupalcode.org/project/oa_core.git/tree/refs/heads/7.x-2.x:/modul...

And the issue where it was created:

#2128325: Recent update broke site CSS

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

caschbre’s picture

I went through the code in the oa_update module. It's actually pretty generic (other than appending oa_ in front of stuff) that I think we could easily re-use it with some minor changes.

I wonder if that would almost be a good separate contrib module for distributions to use in general.

dsnopek’s picture

Sweet! Yeah, I agree. Even if we put it "officially" in Panopoly is should be a seperate contrib module, ex. panopoly_update, and have no other Panopoly dependencies so that even non-Panopoly distros can use it (like is already the case with panopoly_wysiwyg, for example).

If you want to take the lead on this, that'd be awesome!

caschbre’s picture

Version: 7.x-1.0-rc5 » 7.x-1.x-dev
Assigned: Unassigned » caschbre
caschbre’s picture

After further investigation it appears that this won't be a simple / straight port. The oa_update module displays the distribution update status and hides all modules including those not included / required by panopoly.

I think what we want to strive for is hiding the status update for:
* panopoly_* modules
* contrib modules required by panopoly_* modules

And display status updates for any module manually added by the site admin. A great example of what may show up here is the 'diff' module if added manually. It's not a required contrib module.

This may require some additional thought as well given that panopoly_* modules may be added independently of the panopoly distro and panopoly may be a base distro.

dsnopek’s picture

It's a shame that it's not going to be a simple port. :-/ But I agree with what you think should be included.

This may require some additional thought as well given that panopoly_* modules may be added independently of the panopoly distro and panopoly may be a base distro.

Maybe we could mark which modules dependencies should be excluded using a hook?

Made up example:

/**
 * Implements hook_panopoly_update_exclude().
 */
function panopoly_widgets_panopoly_update_exclude() {
  return array(
    // All my dependencies to be excluded from updates and grouped into "master update"
    // when there is a new release of 'panopoly_widgets' as a whole.
    'panopoly_widgets',
  );
}

(Then we could have an alter hook as well.)

It would mean that anyone using both panopoly_widgets and panopoly_update (even outside of Panopoly) would only alert the user to panopoly_widgets updates, and not it's dependencies.

Then in the Panopoly install profile, we could implement the same hook and it would exclude all the panopoly_* modules.

Anyway, I'm not 100% sure this is a good idea - it's just an idea. :-)

caschbre’s picture

So during my research I've found a couple of interesting things we may be able to leverage.

Commerce_Kickstarter simply uses hook_update_status_alter() to remove anything in its .make files. We could do something similar in each of our panopoly_* modules by reading the .info / .make files.

I found the Update Status Advanced Settings module that lets the admin configure each project and whether or not a status update is checked, etc. More detail on what it does can be found in the readme.

I think in the long-run it would be nice to add update_advanced to our required modules and then hook into it to pre-configure the modules we don't want to be updated. It doesn't look like we can easily hook_alter it now but it we should be able to supply some patches to make it work better with distros in general.

I don't know if we could get update_advanced ready for 1.2 however so maybe the commerce_kickerstarter approach is a good 1.2 solution and update_advanced for 1.3.

caschbre’s picture

Also forgot... another option is still to create our own panopoly_update but make it so it doesn't hide every module.

caschbre’s picture

Component: Code » Admin

So breaking this down into the three main panopoly use cases...

1) Individual panopoly_* modules
Not sure we want to try and do anything here. If someone adds a panopoly module to their non-panopoly site then I think it may be more confusing if we start mucking around with their update screen / status.

2) Panopoly as a base distro
Thinking in terms of OpenAtrium... they run their own oa_update module so we probably don't want to do any modification to the update screen. We should leave that up to the distro.

3) Panopoly as main distro
Here we basically want to hide the panopoly_* modules from being updated individually. Theoretically we shouldn't have an individual module updated without the distro being updated so I think we'd be fine hiding the panopoly_* modules. The contribs that we depend on we want to make it very apparent that an admin updates them at their own risk.

The question then becomes how do we accomplish #3 without impacting #1 or #2?

* Add Update Status Advanced Settings to the drupal-org.make and panopoly.info files. We have to do this at the distribution/install profile level otherwise we're forcing distros like OA to include the module.

* In each panopoly_* module we conditionally check for the existence of update_advanced and programmatically set certain modules to hidden. This should at least allow #1 and #2 to use this logic if they desire, but not force it.

* In panopoly_core we check if panopoly is the install profile and make sure we add it to the updates page (like oa_update). We also hide the panopoly_* modules from appearing since the update the distro and not individual modules.

caschbre’s picture

Component: Admin » Miscellaneous
liza’s picture

FUNNY THAT YOU MENTION ADVANCED STATUS MODULE i just re-installed it after thinking i didn't need it due to Drush, so let me report:

(1) the module needs debugging on the site-reports end of things. for some bizarre reason, it will not recognize the commands to either ignore or never update a module.
yes, i like pink #ComeAtMeBro

(2) meanwhile drush will respect the settings and ignore/never ping the blacklisted modules, unless there is a security update. in this case though, because the security update happens to be CTools, even if Panels wasn't explicitly marked as so, it also pinged as needing an update:

Name                  Installed Version  Proposed version  Message
 Chaos tools (ctools)  7.x-1.3+33-dev     7.x-1.4           SECURITY UPDATE available
 Panels (panels)       7.x-3.3+63-dev     7.x-3.4           Update available

(3) Drush has that pm-update --lock function but i found it problematic due to it running update for all modules BEFORE setting the function of locking out blacklisted modules. there should be a way of blacklisting them BEFORE running update. i dont think there's a way to set it up in the drush config file ---but that would then set a dependency on drush for Panopoly, no?

btw, i found this article and it looks like going the hook route makes more sense if we don't want to add yet another contrib module to the bunch. my feeling though is that, if advanced update were properly debugged for accurate update reports via the web UI, it would be useful alongside a hook/alter for the Panopoly modules (not the contribs) themselves. am thinking that, as a platform for building other distributions, this combo may come in handy.

with all this in mind: what happens when there's a security update for CTools or Panels? will the Panopoly team release updates for these? Or are site builders meant to update those? This question refers back to my previous post (#2190579: [META] We have no best practices for updating to new Panopoly releases). i want to capture whatever we discuss here for the documentation draft/patch am contributing.

dsnopek’s picture

The goal is to make Panopoly releases shortly after security releases - the site builder shouldn't do the update themselves. Unfortunately, security releases are usually a complete surprise to us! So, we can't necessarily do a release the moment a security release happens. The update needs to be tested so that we don't break something else.

For the CTools/Panels one that just happened, we have an issue for it already:

#2194641: Update to actual CTools 1.4 (security vulnerablity!) and Panels 3.4 releases!

And in this case, we DID know about it in advance - I've been working on the fix with the maintainer for the last two weeks. And we started testing in advance, so we have a lot more confidence that it won't break anything. However, there still is a bunch of work to do! I'm hoping to devote some time to this tomorrow and I'll meet with Matt and Tom soon to discuss when we should release.

caschbre’s picture

@liza... thanks for the input on update_advanced!

I think overall the goals with this are to...

a) Hide the panopoly_* modules from update.
b) Show the panopoly distro in update.
c) Default configure update_advanced to *never* check for updates on contrib modules that the panopoly distribution/modules require. This piece here still allows an admin to change the behavior if they so desire.

We'll definitely want to make sure update_advanced is working. By making use of it we can help promote it and no reinvent the wheel. We'll help in plugging any holes in that module the same way we help with other contribs we rely on.

I don't think we'll get everything done for panopoly 1.2 so we may have a stop-gap solution in 1.2 and a much more thorough solution in 1.3.

liza’s picture

@caschbre

that sounds like a plan; but i was also wondering if it would be of any value to have a pop-up message for security updates. remember that security updates will anyway trigger a response from advanced_update and once that happens, the site will not stop triggering the alert until it's been taken care of. i think it would be good to add something to the effect: "The Panopoly Team has been alerted about this security update; please wait for our next release".

am looking at triggers/actions to see if there's a way to do this and just pull out a feature; but am not sure it can't be done that way. maybe am missing something, but not seeing it with Rules either. but there's that hook/trigger function that could be coded into the new Panopoly update module.

caschbre’s picture

@liza... we'll do the best we can with it to make it the least annoying as possible but still give the admin control. I have to run panopoly sites as well so I definitely feel your pain. :-)

caschbre’s picture

Status: Active » Needs review
FileSize
6.27 KB

Attached is a patch that:

* Adds update_manager module to panopoly_core.make file.
* Adds hook_update_projects_alter() to add the panopoly distro to the modules list.
* Adds to the install/update hooks to enable & configure the update_advanced module.

I'm sure a bit more could be done to beautify the update report, but this at least stops modules provided by the panopoly distro from checking for updates. And because it's using update_advanced, an admin does have the capability to enable update checks on a module-by-module basis.

This logic should only execute when the install profile is 'panopoly' so that other distros based on panopoly are not affected.

dsnopek’s picture

Thanks for working on this! With every new release, I think about how much easier life would be if this feature were implemented. :-)

I haven't reviewed the patch yet, however, there's two concerns I have (which I'll look at when I review the patch):

  • Using the update_advanced module. Since removing modules later is such a pain, I'm a little skeptical of depending on update_advanced unless it's pretty awesome. :-) But I haven't tried it yet, so it could be a great module.
  • Do we want it to only work on the Panopoly profile? Or is there a way we have it affect all the panopoly_* modules so that child distributions can re-use this easily?

Anyway, just the first things that come to mind! After reviewing this it, I might no longer have either concern. :-)

caschbre’s picture

I definitely think the update manager report can be made more "pretty". The update_advanced module pretty much just lets you mark which modules you want to ignore when checking for updates. They all still get listed, but those set to 'never' get shown with a note. I made the note say that the modules were provided in the Panopoly distro so update at your own risk.

I also didn't make the update_advanced module a dependency. It's in the panopoly_core.make file and enabled if the profile=panopoly and the update module is enabled. Then I configure update_advanced based on any module that is a dependency of the panopoly modules.

Child distros can use this, but not sure we want it to work the same way. If I have a child distro using "some" of the panopoly modules, I want to see when those modules are updated. I also manage the other contrib updates.

The way I'd approach this patch would be as a step 1. It turns off update notifications for modules provided in the Panopoly distro. Then we can make another patch later to make the page look better.

dsnopek’s picture

I also didn't make the update_advanced module a dependency. It's in the panopoly_core.make file ...

Yeah, sorry, that's what I meant! It's easy to remove something from a dependency list in a .info file. What's hard to accomplish is removing a module from a .make file. That's why we're current stuck with the 'defaultcontent' module in our .make file, even though we don't use it (and don't even recommend using it).

caschbre’s picture

I definitely think the functionality of update_advanced is useful though it doesn't make the update report any fancier. It's written by dww and has moderate usage (~3700). It looks like it provides an interface to some of the update manager features that are not exposed through the UI, like the ability to not receive update notifications on a module or provide notes on a module. There's no new schema to it, etc.

Our other options are to write a new custom module similar to oa_update or add the logic into something like panopoly_core.

Any preference on direction if not update_advanced?

dsnopek’s picture

So, like I said, I haven't reviewed this yet - I might look at update_advanced and love it. :-)

But, if we don't go with update_advanced, my preferred approach would be a new panopoly_update module that child distributions could include (or not) to easily provide the same functionality for their modules.

I'd also like to support the use-case where a site uses only a couple Panopoly modules (ex. panopoly_wysiwyg) but could still install panopoly_update to stop Drupal complaining about updates to the modules listed in their .make files (ex. panopoly_wysiwyg.make) with as little additional configuration as possible.

caschbre’s picture

Ok. Take a look at let me know what you think. The update_advanced module provides the functionality you're looking for with child distros or any site that uses some of the panopoly_ modules. The only thing lacking compared to oa_update is the presentation of it unless i'm missing something else oa_update does.

dsnopek’s picture

Status: Needs review » Needs work

I took a look at this finally. I like what it does to the "List" tab on the "Available updates" report.

The two most dangerous things, which we really need to prevent or discourage are:

  • The "Update" tab on the "Available updates" report.
  • drush up

The "Update" tab still lists all the dependencies from Panopoly without any warnings or anything. Where this usually goes wrong is when people mindlessly click the checkbox to select all. Ideally, the Panopoly stuff wouldn't be listed there at all (with some option to turn off this functionality for people who wanted to live dangerously).

drush up does appear to be affected! If something is set to "Never" in update_advanced, it won't try to update it, but it'll still update other modules. Panopoly "owned" modules will still get listed on the table before performing updates with the cryptic message "Unable to check status", although, that's pretty harmless.

Looking at the patch, it appears we've got to loop through the modules we care about and add them to the list of ignored modules. So, we'd have to do this on install for each panopoly_* module if we wanted them to have their .make file modules ignored when used individually (which we do!). We'll also have to be sure to update this as things are added to the .make file.

Also, it looks like this is ignoring dependencies from the module, rather than projects listed in the .make file. I'm really not sure if it's possible to do latter, but that's really what we want. We bundle a number of modules that we don't enable by default and those should get covered if possible as well.

Hmm. So, in summary, we definitely need a solution to the "Update" tab and to extend this to panopoly_* modules used on their own. I'm not super crazy update_advanced, I think I'd still prefer a solution that's like a more flexible version of oa_update...

caschbre’s picture

Looking at the patch, it appears we've got to loop through the modules we care about and add them to the list of ignored modules.

That's correct. We basically look for any dependencies. The original patch does this based on the panopoly.info file and it seems to pick up everything that I could see. Any module I manually add to the site is not affected.

Edit: I just realized you said we need to ignore any module in the .make file. I can change the patch to look for any module installed in profiles/panopoly/modules/* as opposed to reading dependencies.

So, we'd have to do this on install for each panopoly_* module if we wanted them to have their .make file modules ignored when used individually (which we do!).

I'm not so sure on this one. If I have a distro that uses some of the panopoly_* modules, I want to get a status update on those. I think it's up to that distro maintainer to manage how they deal with status updates. Or are you thinking of a difference scenario? As it stands, all modules built / required by the panopoly install profile are set to 'never'.

We'll also have to be sure to update this as things are added to the .make file.

Yeah, I'm not sure of an easy way around that. It should be easy enough to add though... it's just adding an element to an existing array.

caschbre’s picture

The "Update" tab on the "Available updates" report.

Yeah, I was thinking of this as well but didn't want to make too many changes. I also wasn't sure what we wanted here. At first I thought about just hiding the tab since we wouldn't want users updating panopoly profile modules that way anyway.

caschbre’s picture

I'm not super crazy update_advanced, I think I'd still prefer a solution that's like a more flexible version of oa_update...

Can you describe what you like about oa_update and / or dislike about update_advanced? Reason I ask is it seems more appropriate to try and make an existing module better instead of replicating it. There's an open issue in the update_advanced queue about making that module better so distros could use it. I'm wondering if we helped enhance that module to it's more distro friendly then we can get more distros using it.

dsnopek’s picture

I'm not so sure on this one. If I have a distro that uses some of the panopoly_* modules, I want to get a status update on those. I think it's up to that distro maintainer to manage how they deal with status updates. Or are you thinking of a difference scenario?

The use-case I was thinking about was people using panopoly_* module outside of Panopoly or any distribution. The two most commonly used on a vanilla Drupal site are panopoly_wysiwyg and panopoly_magic. The idea would be that they could just enable update_advanced/panopoly_update (and we'd recommend it all over the project pages!) and it'd give them extra support with handling updates.

The "Update" tab on the "Available updates" report.

Yeah, I was thinking of this as well but didn't want to make too many changes. I also wasn't sure what we wanted here. At first I thought about just hiding the tab since we wouldn't want users updating panopoly profile modules that way anyway.

Ideally, we'd remove all the modules managed by any panopoly_* module from the list so they could still use it to update any other modules.

Can you describe what you like about oa_update and / or dislike about update_advanced?

Sure! First, here's how I see the problem we are trying to solve...

Our panopoly_* modules each have their own .make files. We have the convention of then treating the modules/themes in the .make file as being "owned" by that module. Users are told to run the .make file if they install a panopoly_* module on it's own and never update the projects listed in it manually. Instead, they should update the panopoly_* module, and run the .make file again.

This general convention bubbles up to the panopoly profile and any other distributions that are built the same way (either using panopoly_* modules or not). It's really the same problem, just one level up: the profile's .make file lists its modules, which we now consider to be "owned" by the profile and you should only ever update the profile as a whole.

However, this creates all sorts of support issues, because not many people are aware of this convention! So, what we want to do is provide functionality that:

  1. Prevents people from doing things we're already telling them they shouldn't do (ie. drush up or the "Update" tab on modules we "own")
  2. Works easily with minimal configuration in each of our 3 supported use-cases: (a) with the panopoly profile, (b) in a child distribution, and (c) with individual panopoly_* modules on a vanilla Drupal site
  3. Helps detect when they managed to do something dangerous anyway. Not a priority at the moment, but it'd be great if it could compare versions of installed modules against what the .make file lists and alert them! That way if they updated, for example, panopoly_wysiwyg but didn't run the .make file, it could remind them.

Such functionality would probably save us from 80% of support requests we get currently. :-)

update_advanced isn't really solving the same problem as we want to solve: update_advanced is about giving site builders fine grained control over what Drupal tells them they need to update. Whereas we want to hide modules that are "owned" by another module (via the .make file) as if they were part of the main module, and encourage users to update that instead. We don't really need this to be configurable by the site builder, beyond turning it on or off.

I suppose we could hack on update_advanced until it is what we want... but it seems like the goals are different enough.

mglaman’s picture

Why do not do like Commerce Kickstart? https://github.com/commerceguys/commerce_kickstart/blob/7.x-2.x/commerce...

/**
 * Implements hook_update_status_alter().
 *
 * Disable reporting of projects that are in the distribution, but only
 * if they have not been updated manually.
 *
 * Projects with insecure / revoked / unsupported releases are only shown
 * after two days, which gives enough time to prepare a new Kickstart release
 * which the users can install and solve the problem.
 */
function commerce_kickstart_update_status_alter(&$projects) {
  $bad_statuses = array(
    UPDATE_NOT_SECURE,
    UPDATE_REVOKED,
    UPDATE_NOT_SUPPORTED,
  );

  $make_filepath = drupal_get_path('module', 'commerce_kickstart') . '/drupal-org.make';
  if (!file_exists($make_filepath)) {
    return;
  }

  $make_info = drupal_parse_info_file($make_filepath);
  foreach ($projects as $project_name => $project_info) {
    // Never unset the drupal project to avoid hitting an error with
    // _update_requirement_check(). See http://drupal.org/node/1875386.
    if ($project_name == 'drupal' || !isset($project_info['releases']) || !isset($project_info['recommended'])) {
      continue;
    }
    // Hide Kickstart projects, they have no update status of their own.
    if (strpos($project_name, 'commerce_kickstart_') !== FALSE) {
      unset($projects[$project_name]);
    }
    // Hide bad releases (insecure, revoked, unsupported) if they are younger
    // than two days (giving Kickstart time to prepare an update).
    elseif (isset($project_info['status']) && in_array($project_info['status'], $bad_statuses)) {
      $two_days_ago = strtotime('2 days ago');
      if ($project_info['releases'][$project_info['recommended']]['date'] < $two_days_ago) {
        unset($projects[$project_name]);
      }
    }
    // Hide projects shipped with Kickstart if they haven't been manually
    // updated.
    elseif (isset($make_info['projects'][$project_name])) {
      $version = $make_info['projects'][$project_name]['version'];
      if (strpos($version, 'dev') !== FALSE || (DRUPAL_CORE_COMPATIBILITY . '-' . $version == $project_info['info']['version'])) {
        unset($projects[$project_name]);
      }
    }
  }
}
caschbre’s picture

@dsnopek... I'm about a day or two out from releasing a new contrib. It's currently a sandbox project. Once I get the readme / project page content updated I'll turn it into a full project, however it should pretty much be fully functional.

I used the concepts from oa_update, and commerce_kickstart, along with some of my own needs as a child distribution to put this together. Ideally this can be used with any distribution and we can all avoid recreating the wheel. :)

The gist of this module is that it scans for .make files and then through some configuration options, alters the various update manager admin pages.

dsnopek’s picture

@cashbre: I haven't tested your module yet, but I paged through the source code, and it looks AWESOME! :-) This is going to be a crazy busy week for me, but I'll try to find some time to actually test it out - at the latest on the upcoming weekend.

caschbre’s picture

Status: Needs work » Needs review
FileSize
813 bytes

Attached is a new patch that adds the Distribution Update Status Manager (distro_update) to panopoly_core.make/.info. The new contrib is not panopoly specific but should work with most distro's. It's driven off of .make files.

dsnopek’s picture

Status: Needs review » Needs work

The patch will also need a hook_update_N() function to enable the dependency on existing sites when they upgrade!

dsnopek’s picture

Status: Needs work » Needs review

Er, actually, I take that back. :-) We probably shouldn't include this as a dependency or enable on updates of panopoly_core, because we don't want to force child distributions to use it. It probably be best to enable it in panopoly.info and put an hook_update_N() in panopoly.install, so that direct users of Panopoly get the update by default.

caschbre’s picture

Ok, here are two patch files. One for panopoly_core which includes distro_update in the .make file. And the other for panopoly to add it to the .info file and creates the panopoly.install file with an update hook to enable it.

mglaman’s picture

Status: Needs review » Reviewed & tested by the community
FileSize
48.68 KB
18.53 KB

This is slick. Tested it out, works awesome.

dsnopek’s picture

Status: Reviewed & tested by the community » Needs work

Finally did some testing of distro_update. Overall this looks great! On the Drupal end, it does pretty much exactly what I was looking for #26.

The one missing thing is handling drush up. In my testing, it would only prevent drush up from updating modules in .make files when the 'distro_update_allow_status_update' is set to FALSE, which is not the default (and for pretty good reason). Although, I'm still doing some further testing.

On IRC, @caschbre and I discussed maybe making a hook_drush_command_alter() in distro_update.drush.inc that actually changes the way the 'drush up' command works... But I'm not sure how easy/hard that would be, because I don't have that deep of knowledge with drush.

caschbre’s picture

@dsnopek... unfortunately I can't reproduce the issue with drush. With a fresh install of panopoly drush is not an issue but it sounds like with some legacy sites $ drush up is wanting to update some modules. What's odd is if I take a database copy from one of those legacy sites, drush still doesn't cause an issue for me.

So maybe some caching at the environment level?

caschbre’s picture

I've created a ticket in the distro_update queue regarding drush. #2324635: Drush pm-updatecode support

I also have a few fixes in the -dev version of distro_update to handle some issues with commerce_kickstart and openatrium. I'll be rolling beta2 later today with those fixes.

I can create a new patch for panopoly that uses beta2... but wanted to see if we need to wait until we figure out the drush issue? (someone else will have to debug drush since I can't reproduce).

dsnopek’s picture

Awesome, thanks!

Yeah, I'd really like to solve the drush issue before we include this in Panopoly. I'll try to debug it when I have time, but not sure when that'll be. It sounded like @mglaman could also recreate the issue. We'll see who gets to debugging it first. :-)

Also, a random thought I wanted some feedback on: Do you think this makes more sense in panopoly_admin.make? Technically, I'd call this an admin improvement. Although, I guess I'd really like everyone to use it, which makes an argument for panopoly_core.make. But I'm not sure we're including any other optional dependencies in panopoly_core.make (yet we are in panopoly_admin.make), and panopoly_core.make is needed by all child distro's and it'd be great to avoid bloat for the distro's that won't want to use it...

caschbre’s picture

I was thinking the same thing about panopoly_core vs panopoly_admin. I went with panopoly_core because I think this is a module that any distribution should use and making it available helps expose it. :-) The distro_update module is not panopoly specific and the goal is to work with any distro. I see more and more distro's creating their own version of oa_update (or similar) and this should help alleviate that.

But I'd also say we should check with OpenAtrium given they're the biggest panopoly user. Otherwise it's a small enough module that shouldn't have an impact if someone decides not to enable it. It's not like other modules (e.g. admin, admin_menu) that we include in the .make but panopoly never makes use of.

caschbre’s picture

Status: Needs work » Needs review
FileSize
430 bytes

I updated the panopoly_core patch to reference distro_update beta2. The panopoly distro patch should still be correct.

dsnopek’s picture

Status: Needs review » Needs work
FileSize
674 bytes

I was just about to commit this, but I found a couple issues in distro_update in final testing that I'd like fixed before we include it:

#2326039: PHP notices on /admin/reports/updates
#2326035: Should delete all variables on hook_uninstall()

Also, I decided that panopoly_core.make is perfectly fine place for add distro_update. We're also adding 'devel' and 'uuid' there, so that makes sense to me.

However, I made a couple minor changes to the panopoly profile patch - which is attached. I was just going to make the changes on commit, but now I'm including a new patch here so I don't forget when I do the final commit.

caschbre’s picture

Status: Needs work » Needs review
FileSize
430 bytes

Attached is an updated panopoly_core patch that references beta3. beta3 fixes the two issues noted in #41.

  • dsnopek committed 1df436e on 7.x-1.x
    Update Panopoly Core for #2128959 by caschbre, dsnopek: Replace default...
dsnopek’s picture

Status: Needs review » Fixed

Committed! Thanks, @caschbre, this is huge! The majority of support issues these days come from people updating things they shouldn't, and this should solve this problem nicely. I'm super excited for the next release. :-)

Here's the Travis-CI build:

https://travis-ci.org/panopoly/panopoly/builds/33484126

caschbre’s picture

Awesome! I'm super nervous! lol.

Status: Fixed » Closed (fixed)

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