Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The Drupal 8 version.
Latest code: https://www.drupal.org/sandbox/yarontal/2345855
Comment | File | Size | Author |
---|---|---|---|
#38 | The_module_block_class_is_compatible_with_8_0_2_Drupal_8_Core.patch | 8.7 KB | matio89 |
| |||
#38 | block_class.zip | 2.17 KB | matio89 |
Comments
Comment #1
Greg BoggsPferlito,
From just reviewing the code, I noticed the panels code from the D7 branch is not in your zip, is that an open todo, or is it not needed in 8?
Comment #2
Anonymous (not verified) CreditAttribution: Anonymous commentedThat's an open todo. I'm not a panels guy. Feel free to jump in.
Comment #3
Yaron Tal CreditAttribution: Yaron Tal commentedFixed some bugs in the module. Now works on the latest D8 git version.
Moved it into a sandbox: https://www.drupal.org/sandbox/yarontal/2345855
Panels integration is still a todo.
Comment #4
pivica CreditAttribution: pivica commentedOK first patch based on @Yaron sandbox - there is no issue list there so I am posting it here.
Nothing special just hook_form_alter() rename to hook_form_FORM_ID_alter() format and better checking for blocks that comes over page_manager.
When #2358677: Add ThirdPartySettingsInterface to BlockInterface lands we can add support for ThirdPartySettingsInterface.
Comment #6
Berdir@Yaron Tal: Want to open the issue queue of your sandbox or give us (me and @pivica) commit access so we can push improvements to it?
About the panels code, that is going to be very different in 8.x I guess, we could already look into integrating with page_manager, but I'm not sure if it will in the end integrate with that or panels or something else. I would suggest to do a first commit without that and open a follow-up issue to discuss that.
That said, I think it would make sense to wait with that until we can use the third_party settings stuff, which I think would be great to have, as then the configuration is part of each block, so it is easier to provide defaults in features/modules and easier to deploy I think. Please +1 the core issue and if you know, post additional use cases.
Comment #7
Yaron Tal CreditAttribution: Yaron Tal commentedAdded both of you to the sandbox, you should have issue administration and VCS write access.
Will check back later if there is anything else I can contribute.
Comment #8
BerdirThanks, sorry for not getting back to you.
I posted the patch here and a new one for immutable configuration changes in the issue queue a few moments ago. Going to commit them in a few days unless you have any feedback.
Will also try to give #2358677: Add ThirdPartySettingsInterface to BlockInterface another push.
Comment #9
BerdirUpdated the patch there, if someone wants to review/test it.
Comment #10
BerdirQuick update from the sandbox.
We added some basic tests, and I've just written a patch that refactors it to use the new block third party settings, which now landed in core: #2425675: Use block third party settings. Which I think is pretty awesome, because it allows to store (and deploy) class configurations together with the block, and they are automatically deleted when blocks are deleted.
Once that is in, I'd suggest to bring this module back to this repository as an 8.x-1.x branch. There is no page_manager/panels support there, but I think that's is a feature that we can always add back later, there are still many moving parts in that area.
We (MD Systems) are happy to help maintain the 8.x branch, we're doing that anyway now in the sandbox. Any of the maintainers still active that could give me and miro_dietiker co-maintainer rights?
Comment #11
DYdave CreditAttribution: DYdave at DAVYIN Internet Solutions / 戴文信息科技有限公司 commentedHi guys,
Thank you so much for all the fantastic work on this ticket and for contributing this new version of the module.
I greatly apologize for the delay of my reply, but I thought it would be a good idea to leave some time to other users to test Block Class D8 in @Yaron Tal's sandbox.
Additionally, I also wanted to wait a little bit longer for D8 to be more stable and I know it's been for a couple of months, but I'm talking about when the ticket was initially posted (I kind of stalled, I know).
Alright, so I spent the necessary amount of time testing the module and reviewing the code.
It's really impressive how simple and small the code has become. I initally wanted to co-maintain this module because I thought the perimeter was very clear and the code base rather compact (I already managed cutting it by more than half with the 7.x-2.x branch), so that I could very well control the maintenance workload and maybe spend more time on SimpleTests (inexistant when I took over the module), support and documentation .... what can I say with this version :-) Things just keep getting better!!
In D8, the module file only contains two main functions (form_alter and preprocess_block) so far, since I guess more will perhaps follow, if there are any specific integration issues with Context, Panels, etc...
(
Minor comment though: we might want to capture the submitted value for basic validation.... or not: validate what?! :-))@Berdir I love what you've done with #2425675: Use block third party settings, in particular
block.block.*.third_party.block_class:
removing the need for a submit callback... cutting down the code even further.Main difference with D7 is that it appears one more load is necessary for the block classes
$block = Block::load($variables['elements']['#id']);
, which was one of the most important points in the 7.x-2.x branch revamp.No more install/uninstall fuctions and the long
block_class.install
file is gone (!!), since schema's in a metadata language now and in a specific file.Same for permissions, moved to their own metadata file.
I see you've ported the initial SimpleTests, which is certainly understandable, since 7.x-2.x branch's Tests have a lot to do with Context and Features integration.
We'll see if more work is needed down the road, but that doesn't seem a problem at all initially to move forward with this version.
Overall the code is amazingly clean, clear, elegant (@Berdir it really demonstrates your deep understanding and involvement in the D8's development) and I would surely be delighted to have it committed to a new 8.0.x-1.x branch, if there isn't any particular objections.
Now, in terms of credits, I've seen plenty of you have given a stab to this D8 Port: @pferlito, @Yaron Tal, @pivica, @Berdir.... not sure how I could split the authorship of a single commit into several users, so perhaps I should have this committed in multiple parts.... So that each of you guys get credited with a commit? (but that's not really ideal in terms of code maintenance in the repo....)
Any suggestions about that?
Which pretty much wraps up my review/comment.
Please let me know if you would have any further comments, feedback, questions, issues, objections, suggestions or concerns on any aspects of Block Class D8's code, my comment or this ticket in general, I would be glad to provide more information or explain in more details.
Thanks again very much to everyone for your testing, reviews, and great work on this port of the Block Class module.
(code should be committed shortly)
Cheers!
Comment #12
BerdirThanks for the feedback.
Yes, I'm not too happy about that.
Note that the block has already been loaded, so the configuration is in the static cache. However, what's not is the block config entity. Unfortunately, that information is no longer in there, because we want to ensure that code also works with page manager and so on, which also displays blocks, but without block config entity...
If you want to open a core issue and argue for adding it again (because the id is also optional, so there really isn't a big difference..), or maybe just make the third party settings available
Also, block caching is much more effective in 8.x, so that code will not be called as often as in 7.x I think.
You could possibly just keep the commits and just merge it in from the sandbox?
Comment #13
Anonymous (not verified) CreditAttribution: Anonymous commentedExcept I don't have any commits in the sandbox. I would appreciate
proper attribution on this. Thanks.
Comment #14
DYdave CreditAttribution: DYdave at DAVYIN Internet Solutions / 戴文信息科技有限公司 commentedHi guys,
Happy to see this issue is moving along so well.
@Berdir
Thank you very much for your kind and detailed feedback.
To be really honest, I'm actually still far from having the level of understanding of D8's internals that you might have.... so as much as wiseness goes, I'd like to rely on your opinion for this and do whatever you would think would be best, considering the implications this may also have on other Contributed or Core modules.
If you would think it would be worth it and best to work on getting back the block config entity or somehow making the third party settings available, I would definitely be glad to work on this Core issue (I would clearly appreciate a little guidance to get started though).
I've just been thinking this situation could surely happen in numerous other Contributed modules...
In any case, we are going to move forward with the code as it currently is. If changes to core functions were ever made in the future, we'd come back to the module and have a new issue opened.
However, before getting the code in the repository, I'd really like to settle on the credits for this issue (I know it matters).
@pferlito,
Bet you would! :-D and I'd also be in favor of giving credit to everyone who carried work on this issue.
I totally understand the feeling (more so if it was on your own time).
I'd really like to accomodate everyone's requests, so how about:
Issue #2198023 by pferlito: Accounts for the work performed on porting Block Class to Drupal 8.
This way everybody would get credited: @pferlito, @Anushka-mp, @Berdir, @pivica, @Yaron Tal.
How does it sound? Would something like that work for everyone?
Feel free to let me know if you would have any other ideas or suggestions for crediting everyone for their work on this issue, I would be glad to hear potentially better alternatives.
Please let me know if you would have any further comments, feedback, questions, issues, objections, suggestions or concerns on any aspects of this comment or this feature request in general, I would be glad to provide more information or explain in more details.
Thanks again very much to everyone for your great feedback, help and comments.
Looking forward to having this code committed soon.
Cheers!
Comment #15
BerdirOn the core issue, what we could do is either in BlockViewBuilder::buildBlock(), remove the unset() there again. Or in viewMultiple(), additionally to #configuration, also add #third_party_settings as a key so that modules can access their third party settings again without having to load the block again.
About commit credits, no special requirements there from my side. What would be great is if you could list "MD Systems" as a supporting organization on the project page (there's a special field for that now) and give us credit there for the port. My own, Anushka-mp's and pivica's work has been sponsored by us.
As an alternative to your suggestion with the README, you could change the existing "Initial commit" commit message to give credit to @pferlito and Yaron Tal. See http://stackoverflow.com/questions/1186535/how-to-modify-a-specified-commit on how to change the commit message.
Also, one last note: The 8.0.x-1.x is actually incorrectly named. Contrib projects still use 8.x-1.x, you will have to rename it before pushing to the official repository.
Comment #16
Anonymous (not verified) CreditAttribution: Anonymous commentedI am ok with Berdir's suggestion of initial commit message credit. Thanks.
Comment #17
Devin Carlson CreditAttribution: Devin Carlson commentedIt would be great to get this merged in!
I've been using the sandbox without any problems and don't see any issues with the code.
Comment #18
samuel.mortensonEdit: this was related to #2509142: Add support for page manager, sorry for the spam.
When using this patch and adding a block with Page Manager, the "page" argument is located at "$form_state->getBuildInfo()['args'][1]", not "$form_state->getBuildInfo()['args'][0]" (see block_class_page_manager_display_variant_block_form_submit() and block_class_form_alter()). Is anyone else seeing this, and if so is there a better way to pull in the current page? If it can be assumed that the page will always be at offset 1 then I can re-roll the patch.Comment #19
shree.yesare CreditAttribution: shree.yesare commentedHi,
I'm also interested in maintaining the block_class project.
Can we please have D8 version of Block_class project under the current project, so we don't change the project name to "block_class_d8" just for D8, because the functionality will remain same.
Comment #20
yannickooHey guys, axe312 and I have created the Block Attributes which solves the "class on block" problem. Give it a try :)
Comment #21
kingfisher64 CreditAttribution: kingfisher64 commentedA reiteration of #19 - can we please have a current project release for drupal 8?
Kind regards
Comment #22
chegor CreditAttribution: chegor as a volunteer commentedUp this task, because there are only 2 weeks before stable 8.0.0
Comment #23
Archual CreditAttribution: Archual commentedI wasn't able to apply patch: block_class_d8-2198023-4.patch
I fixed bug with interface and immutable config, create patch for this and I am posting it here.
With bootstrap theme module works now. Must be tested with other theme.
Comment #25
Archual CreditAttribution: Archual commentedI fixed header of the patch, and attaching new file.
Comment #26
BerdirDo not use the patch. The latest code is in the sandbox referenced in the comments: https://www.drupal.org/sandbox/yarontal/2345855
Comment #27
Angerslave CreditAttribution: Angerslave commentedAre there any plans from the module maintainers to organize D8 development in this module? Looks like things are getting split by several places. Berdir, may be you want to get the module maintainership so the code will be organized, attributed and deployed (for current 7.x users) properly?
Comment #28
BerdirWe're waiting for the maintainer to commit this. I'm not too eager to get more modules I have to maintain, I already have too many ;)
Comment #30
andypostComment #31
andypostComment #32
emanuelrighetto CreditAttribution: emanuelrighetto commentedI've installed the sandbox module. I had no problem. IMHO the module is ready for a stable release.
Comment #33
axe312 CreditAttribution: axe312 commentedGuys keep on working on/testing this small not yet working module.. or just use my port of block_attributes which is working smoothly on several projects https://github.com/axe312ger/block_attributes
Edit: I would love to merge, but looks like the block_attributes maintainer is not active -> https://www.drupal.org/node/2574899#comment-10679248
Comment #34
Greg BoggsIt might be helpful if you could explain the differences between your project and the current Block Class port? Maybe they could be merged into Block_class?
Comment #35
awasson CreditAttribution: awasson commentedThe sandbox linked in #26 seems to be working just fine. I haven't looked at the code for problems but it installed cleanly and works as expected with no detectable side-effects.
Comment #36
raj45 CreditAttribution: raj45 commentedI can confirm that the sandbox module linked in #26 works just fine, and probably ready to be released here officially.
Comment #37
Rajab Natshah CreditAttribution: Rajab Natshah at Vardot commentedI have tested the module on Drupal 8 .. and It's working well for Block configuration on the Block Layout for the theme.
Comment #38
matio89 CreditAttribution: matio89 commentedHi guys ,
i made the version stable of block class compatible with Drupal 8.0.2 Core. :)
@raj45 @RajabNatshah, the sandbox module doesn't work.it's still have hook_permission and user_access and $form_state['values'] => not compatible with Drupal 8.0.2
Here is the patch and the module zipped or view this issue (https://www.drupal.org/node/2652942).
Thanks.
Comment #39
BerdirI have no idea what you are looking at. The sandbox in https://www.drupal.org/sandbox/yarontal/2345855 works just fine with 8.0.2.
Comment #41
matio89 CreditAttribution: matio89 commentedHi Berdir ,
I downloaded the zip file, that's why i told that => i tested and it's worky perfectly :).
Comment #42
raj45 CreditAttribution: raj45 commented@matio89: Have you actually tried the sandbox module in https://www.drupal.org/sandbox/yarontal/2345855 with Drupal 8.0.2?
As I said earlier, it works perfectly for me...
Comment #43
matio89 CreditAttribution: matio89 commented@raj45 : Yes , it's works perfectly. :)
Comment #44
BerdirThen lets go back to RTBC.
Comment #45
raj45 CreditAttribution: raj45 commentedComment #46
chegor CreditAttribution: chegor as a volunteer commentedSo, can we push this to d.org?
Comment #47
yannickooDid anyone here test https://github.com/axe312ger/block_attributes?
Comment #48
lomasr CreditAttribution: lomasr commentedI have tested the module and its working for me.
Comment #49
raj45 CreditAttribution: raj45 commentedThe sandbox module still works fine for me, it would be great to get it officially released on drupal.org soon.
Comment #50
joshuautley CreditAttribution: joshuautley commentedIn block_class.info.yml
Why is the "package: Core"?
I recommend...
Comment #51
joshuautley CreditAttribution: joshuautley commentedAfter Install while running Drupal 8.0.3
Notice: Undefined index: class in block_class_preprocess_block() (line 69 of modules/block_class/block_class.module).
block_class_preprocess_block(Array, 'block', Array)
Drupal\Core\Theme\ThemeManager->render('block', Array)
Drupal\Core\Render\Renderer->doRender(Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7aec483dc763850ec3244bdbd2a53e3ee66cc42bccbb7486fcf563e27881c60c->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/seven/templates/page.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('page', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7ad8b6b9136b224eb85bcc3592462a8242d4db3e3a326fb1325830e8bb975d94->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/classy/templates/layout/html.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('html', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1)
Drupal\ban\BanMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1)
Stack\StackedHttpKernel->handle(Object, 1, 1)
Drupal\Core\DrupalKernel->handle(Object)
Notice: Undefined index: class in block_class_preprocess_block() (line 69 of modules/block_class/block_class.module).
block_class_preprocess_block(Array, 'block', Array)
Drupal\Core\Theme\ThemeManager->render('block', Array)
Drupal\Core\Render\Renderer->doRender(Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7aec483dc763850ec3244bdbd2a53e3ee66cc42bccbb7486fcf563e27881c60c->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/seven/templates/page.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('page', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7ad8b6b9136b224eb85bcc3592462a8242d4db3e3a326fb1325830e8bb975d94->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/classy/templates/layout/html.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('html', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1)
Drupal\ban\BanMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1)
Stack\StackedHttpKernel->handle(Object, 1, 1)
Drupal\Core\DrupalKernel->handle(Object)
Notice: Undefined index: class in block_class_preprocess_block() (line 69 of modules/block_class/block_class.module).
block_class_preprocess_block(Array, 'block', Array)
Drupal\Core\Theme\ThemeManager->render('block', Array)
Drupal\Core\Render\Renderer->doRender(Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7aec483dc763850ec3244bdbd2a53e3ee66cc42bccbb7486fcf563e27881c60c->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/seven/templates/page.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('page', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7ad8b6b9136b224eb85bcc3592462a8242d4db3e3a326fb1325830e8bb975d94->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/classy/templates/layout/html.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('html', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1)
Drupal\ban\BanMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1)
Stack\StackedHttpKernel->handle(Object, 1, 1)
Drupal\Core\DrupalKernel->handle(Object)
Notice: Undefined index: class in block_class_preprocess_block() (line 69 of modules/block_class/block_class.module).
block_class_preprocess_block(Array, 'block', Array)
Drupal\Core\Theme\ThemeManager->render('block', Array)
Drupal\Core\Render\Renderer->doRender(Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7aec483dc763850ec3244bdbd2a53e3ee66cc42bccbb7486fcf563e27881c60c->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/seven/templates/page.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('page', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1)
__TwigTemplate_7ad8b6b9136b224eb85bcc3592462a8242d4db3e3a326fb1325830e8bb975d94->doDisplay(Array, Array)
Twig_Template->displayWithErrorHandling(Array, Array)
Twig_Template->display(Array)
Twig_Template->render(Array)
twig_render_template('core/themes/classy/templates/layout/html.html.twig', Array)
Drupal\Core\Theme\ThemeManager->render('html', Array)
Drupal\Core\Render\Renderer->doRender(Array, )
Drupal\Core\Render\Renderer->render(Array)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1)
Drupal\ban\BanMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1)
Stack\StackedHttpKernel->handle(Object, 1, 1)
Drupal\Core\DrupalKernel->handle(Object)
Comment #52
Danny EnglanderI just tested the Sandbox module with Drupal 8.0.5 and it works like a charm.
Comment #54
Yaron Tal CreditAttribution: Yaron Tal at One Shoe commentedI guess this can be closed and any new/remaining bugs should have separate issues? I'll also close my sandbox project.
Comment #55
BerdirI didn't see that this was committed, nice.
Yes, we can close it then I think.
@YaronTal: Be careful with deleting the sandbox. Users might refer to it, e.g. as git submodules and deleting it will break that. I'd just add a description that says that this is now in the main repository again.
Comment #56
raj45 CreditAttribution: raj45 commentedIs there an easy way to change from the sandbox version to the official version, or do I need to uninstall the sandbox version, install the official release and reconfigure my blocks?
Comment #57
BerdirIt's the same code, drupal doesn't care where it comes from. Just update the code, no other changes are necessary.
You want to update to a release, even if it's just a dev snapshot (an alpha release would be nice) as you will then get notifications when updates are available.
Comment #58
raj45 CreditAttribution: raj45 commentedThanks @Berdir! So, would this do it?
Comment #59
Yaron Tal CreditAttribution: Yaron Tal at One Shoe commentedI also noticed an issue was still open. I updated the frontpage and will create a new issue in this issue queue so I can close the issue in the sandbox project.
I'll leave the sandbox as is for now. If a 8.x version is released I'll close it, people still using it by then deserve to have their builds broken.
@raj45 the old and new module should have the same path, it is possible that a drush cr would fix this, but I'd advising testing it on a test-version before running this on production.
Comment #60
raj45 CreditAttribution: raj45 commented@Yaron Tal, I have tested and updated from sandbox to dev-release with the above commands, even with different paths.