After updating to version 2.15 i can't create a new space (http://sitename/?q=node/add/oa-space).
It has worked with version 2.13.

Someone got an answer ?

Solution

Revert all Features after update. In this case it is the oa_core feature in particular that needs to be reverted.

Going forward

Updated docs to reflect that all features should be reverted after an updated in #13. The status of the issue is to check that the new instructions in the docs page are sound - https://drupal.org/node/2169701 - with suitable warnings that reverting features might cause customisations to be lost unless they are exported using Features Overrides.

Comments

mschuurman’s picture

Component: Miscellaneous » Code
mschuurman’s picture

Category: Support request » Bug report
Argus’s picture

Clean URLs seem to be disabled? It shouldn't make any difference but that would be the first thing I would try, go to admin/config/search/clean-urls to do so.

mschuurman’s picture

http://site/?q=admin/config/search/clean-urls results in clean-urls failed.

When i'm going to http://site/?q=node/add/oa-space i'm getting a blank screen (http5000 can't find page).

pmota’s picture

i have the same problem,

( ! ) Fatal error: Call to undefined function oa_buttons_get_allowed_types() in C:\wamp\www\open.atrium\modules\taxonomy\taxonomy.module on line 1485

the best option is go to 2.13?

dsnopek’s picture

Have you tried reverting all Features? Here's how with Drush:

drush fra -y
drush cc all
JKingsnorth’s picture

Status: Active » Postponed (maintainer needs more info)

Let us know how you get on with that and if it fixes the issue, thanks.

JKingsnorth’s picture

xinomilo’s picture

same error here (500 internal server error) when creating or editing a new space :
"xxx.xxx.xxx.xxx" $HOST [13/Mar/2014:xx:xx:xx +0200] "GET /node/add/oa-space/1 HTTP/1.1" 500 5 585 432 "http://$HOST/node/add/oa-space"

"xxx.xxx.xxx.xxx" $HOST [13/Mar/2014:xx:xx:xx +0200] "GET /node/37/edit HTTP/1.1" 500 5 573 577 "-"

where node 37 is type 'oa_space'. all nodes of type 'oa_space" cannot be edited and give a blank page (500 internal server error) after upgrade from 2.13.
on a clean 2.15 install, creation and editing of spaces work fine..

dsnopek’s picture

@xinomilo: Have you tried reverting all Features? Here's how with Drush:

drush fra -y
drush cc all
olak’s picture

reverting oa_core, fixes the issue.
drush fr oa_core -y

dsnopek’s picture

@olak: Thanks for the feedback! :-)

I suspect this is just people not following the documentation for doing Open Atrium upgrades:

https://drupal.org/node/2169701

I know it says that running "drush fra -y" is optional, but really, it's necessary in most upgrades. Maybe we should update it?

JKingsnorth’s picture

Title: Cannot create space after upgrade to 2.15 » Cannot create space after upgrade to 2.15 [Fixed by reverting features - docs task]
Status: Postponed (maintainer needs more info) » Needs review

Agreed, I've changed the documentation page with suitable bold warnings about what the command will do. I hope it reads OK? https://drupal.org/node/2169701

Setting this as needs review so another pair of eyes can check it over.

dsnopek’s picture

Looks good to me! @.John: +1 for taking the initiative. :-)

olak’s picture

the problem is more complex though.
open atrium is using features, a concept that many of us are not familiar still. also it comes with some features overriden in a fresh install. so its not so easy to tell which changes are yours to put on a feature override. also oa_core was after the update to 2.15 mark "Needs Review" and after the revert, is "Overriden" which doesnt make sense.
lastly, on Aegir, drush fra doesnt work. to make it work, i revert each feature separately.
i know about the bug with alreay overriden feautures on a clean install, which seems to vary on every release.

i'd suggest to write a section on the project page, about features and feature override, and if its possible to note which ones appear as overriden on a fresh install. personaly for my next OA projects, i'd user OA as is, with no changes, and create my custom content types, sections, etc. i'm afraid that at some point after an upgrade the site will break badly and it would be very difficult to fix it

dsnopek’s picture

@olak: That's a great idea - a warning about how some Features are currently overridden (with a link to the issue to fix) and maybe a link with an introduction to Features and Features Override would be awesome on the project page! However, editing the project page is something that only Mike Potter (and maybe other members of the Phase2 team?) can do, so we'll have to wait for Mike to chime in. :-)

As far as upgrades: I've been maintaining a site for client that that started on one of the earlier 2.0-beta's and I've been able to update it with every new release. I wouldn't say it was "seamless", there were several times that required manual intervention, but I have managed to keep it in working order!

Mariem001’s picture

Adding the old function oa_buttons_get_allowed_types
/**
* Allowed values callback for using particular space types.
*/
function oa_buttons_get_allowed_types($field) {
$options = array();
$gid = oa_core_get_space_context();
// If no gid, may be using this as a filter or such.
// @see oa_subspaces_form_node_form_alter().
if (!$gid || !module_exists('oa_subspaces') || user_access('administer group') || user_access('create oa_space content') || og_user_access('node', $gid, 'use any oa button space_type') || og_user_access('node', $gid, 'administer group')) {
return taxonomy_allowed_values($field);
}
if ($gid) {
foreach ($field['settings']['allowed_values'] as $tree) {
if ($vocabulary = taxonomy_vocabulary_machine_name_load($tree['vocabulary'])) {
if ($terms = taxonomy_get_tree($vocabulary->vid, $tree['parent'])) {
foreach ($terms as $term) {
if (og_user_access('node', $gid, _oa_buttons_perm_name($tree['vocabulary'], $term->tid))) {
$options[$term->tid] = str_repeat('-', $term->depth) . $term->name;
}
}
}
}
}
}
return $options;
}

@ the end of /profiles/openatrium/modules/contrib/oa_core/modules/oa_buttons/oa_buttons.module
resolved the issue for me.

dsnopek’s picture

@Mariem001: Did you try reverting all the Features first? I'm just trying to determine if reverting all Features will fail in certain circumstances...

It's configuration in the Features that tells Drupal to call that function, but it has changed in 2.15 to NOT call that function, so it shouldn't be necessary to add it back. Also if your OA is still calling it, there's probably other things it's doing that it shouldn't which should be fixed by reverting all Features.

Anyway, it'd be great if you could give that a try and let us know!

mschuurman’s picture

It's still not working after reverting all the Features.

I'm new to drupal/open atrium so please be gentle :-)

"sudo drush fra -y
The following modules will be reverted: panopoly_pages, oa_core, oa_teams, oa_sections, oa_appearance, oa_buttons, oa_config, oa_contextual_tabs, oa_layouts, oa_discussion, oa_events, oa_events_import, oa_home, oa_media, panopoly_users, oa_panopoly_users, oa_wiki, panopoly_search, oa_subspaces, oa_variables, oa_worktracker
Do you really want to continue? (y/n): y
explode() expects parameter 2 to be string, array given [warning]
features.drush.inc:674
array_shift() expects parameter 1 to be array, null given [warning]
features.drush.inc:675
array_shift() expects parameter 1 to be array, null given [warning]
features.drush.inc:676"

dsnopek’s picture

@mschuurman: Hrm! Well, that's no good. :-/

Did you try also clearing the Drush cache? Via drush that can be done with:

drush cc all
mschuurman’s picture

I have also cleared the drush cache, that didn't fixed the problem.

I have two sites: the default site and an other site in an different folder.

The default site is working correct.
The other site not.

olak’s picture

@mschuurman
you have 2 sites on the same installation, meaning on the same sites folder?
if you have upgraded then both should have been upgraded.
also if i understand it correctly, if you revert a feauture it gets reverted for all sites sharing the same codebase.

if you are running aegir, try to revert the features one by one, not all together. start with oa _core:
drush fr oa_core -y

jaxpax’s picture

I'm having the same problem after updating core on Pantheon. How do I fix this? I have no experience in using Drush... yet.

JKingsnorth’s picture

Issue summary: View changes

You can revert the features through the GUI, but it's a bit more tedious: Structure > Features: Click on a feature that is 'overridden', then select the 'Overridden' components and revert them.

Remember that you might lose any customisations that you haven't exported into Features Overrides, as stated in the docs:
https://drupal.org/node/2169701

This page is currently under review and has 1 positive appraisal in this thread.

jaxpax’s picture

I installed Drush and went up to speed with it and it saved me a lot of gray hairs, I guess...

I saved my custom features and went along with the Clearing Cache part, all the way down to drush fra -y and that fixed it for me.

Thanks for the help!

mpotter’s picture

Status: Needs review » Fixed

From the release notes for v2.15 here: https://drupal.org/node/2206043

NOTE: Many modules were updated in this release. Be sure to follow the procedure in the Documentation for upgrading your existing Open Atrium 2 site. Specifically be sure to run the update hooks (drush updb) and revert features (drush fra). When reverting features, note that any site specific changes made to Open Atrium 2 could be lost. Be sure to Featurize any customizations to save them to code before reverting. And finally, of course, clear your drupal cache.

With *any* module or distribution it is important to read the Release Notes when updating. As mentioned above, it is also in the Documentation for upgrading/installing Open Atrium 2. It's also well-known best practices for complex Drupal deployments (upgrading any Drupal distribution is a complex deployment, whether it's Open Atrium, Commons, Drupal Commerce, etc).

So I'm not going to update the Open Atrium project page just to document best Drupal practices that are already documented elsewhere.

Status: Fixed » Closed (fixed)

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