This week saw the commit of part one and two of the major menu-system rewrite in which menu-links become plugins. The original patch weighed in at over 600kb and was one of the remaining seven beta-blockers. Splitting it into five separate issues made reviews more forthcoming and this was evident with part one and two moving quickly from needs review to RTBC to ultimately being committed. Reviewers have now moved onto parts three through five.
There was a massive volume of commits this week with cleanups keeping the committers very-busy, lots of deprecated functions were removed and lots of procedural menu and form code was ported to the new Object-oriented approaches.
Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem-space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented with a draft change record, we could use your help!
- We need people to review Issue #2260457: Allow config entities to remove dependent configuration keys when dependencies are deleted. Uninstalling modules in Drupal 8 will remove any configuration that has a dependency on that module. This will keep your site working but at the moment the delete is a bit greedy! Two other related issues, #2212081 and #1881630 could use some work too.
- Issue #2268939: Config overrides not updated when config changes needs review.
- As mentioned aboveIssue #2256521: New plan, Phase 2: Implement menu links as plugins, including static admin links and views, and custom links with menu_link_content entity, all managed via menu_ui module has been split into five issues, three of which still needs reviews, API changes documented, a change record drafted, and existing change records that will need updates identified and updated to reference the issue.
- There are still 7 beta-blockers that need to be done to provide a stable data model and stable critical APIs (including a couple of the issues above), and 14 non-critical issues that significantly change the data model or critical APIs, and therefore can only be committed before the first beta is released. Please help move them forward!
Issue #1679344: Race condition in node_save() when not using DB for cache_field recently caused a Drupal.org outage. The issue already has a proposed resolution recommended in comment #24 — help out by reviewing the patch for either D7 or D8.
Additionally, there are a bunch of easy documentation issues which need some help moving forward. For each of these, there is a "Child Issues" sidebar. Look there for issues that are "active", "needs work", or "needs review":
- Issue #2269389: Make sure plugin developer info is discoverable
- Issue #2294117: Some @defgroup topics should be moved/renamed
- Issue #1908570: Update or create hook_help() texts for D8 core modules
As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.
You can also help by sponsoring Drupal core development.Notable Commits
The best of git log --since "1 week ago" --pretty=oneline (112 commits in total):
- Various conversions of controllers and forms to OO code, only a handful remain now
- Issue 2010246 by tim.plunkett, tkuldeep17, plopesc, InternetDevels, pfrenssen, googletorp: Convert update_manager_install_form, update_manager_update_form, update_manager_update_ready_form to the new form interface.
- Issue 2030165 by Berdir, tim.plunkett, vijaycs85, tkuldeep17 | rteijeiro: Convert form_test_* functions to classes.
- Issue 1978926 by likin, YesCT, Pancho, kim.pepper, h3rj4n, tim.plunkett, disasm, Luxian, neetu morwani | vijaycs85: Convert locale_translation_status_form to a Controller.
- Issue 2132477 by tkuldeep17, tim.plunkett | shameemkm: Convert batch_test forms to controllers.
- Issue 2086499 by phiit, tim.plunkett | Gábor Hojtsy: Convert two page callbacks in language_elements_test.module to the new controller system.
- Issue 2078867 by tim.plunkett, jackbravo, ianthomas_uk, InternetDevels, piyuesh23, disasm, nano_monkey | vijaycs85: Convert _form_test_* functions to classes.
- Issue 1998198 by pwolanin, splatio, Albert Volkman, tim.plunkett, andypost, disasm, Les Lim, tkuldeep17: Convert user_pass_reset to a new-style Form object.
- Issue 2302525 by tim.plunkett: Convert file_module_test_form to a class.
- Issue 2078015 by er.pushpinderrana, RoSk0 | alexanansi: Modernize views_test_data.module forms.
- Issue 2302531 by tim.plunkett: Convert database_test_theme_tablesort to a class.
- Issue 2291137 by cilefen | webchick: Rename various *links.yml files to improve DX.
- Issue 2202511 by hussainweb, benjy | mikeryan: Added Implement migration groups.
- Issue 2302463 by effulgentsia: Cleanup User::hasPermission() and UserSession::hasPermission() to follow Law of Demeter.
- Issue 2302331 by kim.pepper: Move drupal_valid_path to PathValidator service.
- Issue 2296839 by MKorostoff, er.pushpinderrana | YesCT: Remove deprecated comment_num_new().
- Issue 2289063 by larowlan, andypost | Berdir: Change contact message entity to behave more like a normal entity.
- Issue 2301239 by pwolanin, dawehner, Wim Leers, effulgentsia, joelpittet, larowlan, xjm, YesCT, kgoel, victoru, berdir, likin, and plach: MenuLinkNG part1 (no UI or conversions): plugins (static + MenuLinkContent) + MenuLinkManager + MenuTreeStorage.
- Issue 2284103 by alexpott, fabpot, damiankloip, Xano, Xen, Berdir: Fixed Remove the request from the container - this switches from using Request to RequestStack, gets rid of our custom HttpKernel and the Request scope, lets us upgrade Symfony past 2.3 and closes a critical. Special thanks to Fabien Potencier, Project Lead for Symfony for getting the ball rolling and working with the Drupal community on patches.
- More standardising of entity-field API
- Lots of cleanup of deprecated functions
- Issue 2297487 by er.pushpinderrana, marcingy: Remove the check_plain function.
- Issue 2301591 by joshi.rohit100: Remove drupal_rebuild_form() as it is deprecated.
- Issue 2208893 by ngocketit, longwave: Remove unused functions from Views.
- Issue 2301601 by joshi.rohit100: Remove drupal_validate_form() as it is deprecated.
- Issue 2301587 by joshi.rohit100: Remove form_state_defaults() as it is deprecated.
- Issue 2301577 by ParisLiakos, joshi.rohit100: Remove drupal_alter() as it is deprecated.
- Issue 2300853 by joshi.rohit100: Remove language() method from bootstrap.inc as it is deprecated.
- Issue 2300891 by joshi.rohit100: Remove format_backtrace() from error.inc as deprecated.
- Issue 2301597 by joshi.rohit100: Remove drupal_prepare_form() as it is deprecated.
- Issue 2300831 by joshi.rohit100: Remove module_exists() as it is deprecated.
- Issue 2300857 by joshi.rohit100: Remove lock() method from bootstrap.inc as deprecated.
- Issue 2300821 by joshi.rohit100: Remove module_invoke_all() as it is deprecated.
- Issue 2300847 by joshi.rohit100: Remove drupal_get_form() as it is deprecated.
- Issue 2300843 by joshi.rohit100: Remove drupal_json_encode() and drupal_json_decode() methods as deprecated.
- Issue 2300833 by joshi.rohit100: Remove module_hook() as it is deprecated.
- Issue 2300697 by joshi.rohit100: Remove drupal_is_cli() as It is deprecated.
- Issue 2299499 by joshi.rohit100: Remove form_clear_error() as it is deprecated.
- Issue 2301975 by kim.pepper: Move drupal_is_front_page to PathMatcher service.
- Issue 697760 by sun: Replace getInfo() in tests with native phpDoc + annotations (following PHPUnit).
You can also always check the Change records for Drupal core for the full list of Drupal 8 API changes from Drupal 7.Drupal 8 Around the Interwebs
Blog posts about Drupal 8 and how much it's going to rock your face.
- Drupalize.me recap Drupal 8's plugin system.
- Nuvole give us a preview of their Amsterdam session on packaging and reusing configuration in Drupal 8.
- chx gives us an update on Drupal 8 from both his and a MongoDB perspective.
- Wunderkraut gave us the lowdown on configuration entities in Drupal 8.
- Cameron Zemek from PreviousNext introduces us to Mink previewing one of the core-conversations from Amsterdam.
- July 17-20: DrupalCorn in Iowa, USA will have a Drupal 8 contributed module sprint. @drupalcorn
- Aug 7-10: Twin Cities DrupalCamp in Minnesota, USA will have a sprint room for all four days and has a sprint sign-up. @TCDrupal
- Aug 7-10: Drupalaton at Lake Balaton, Hungary has Drupal 8 sessions and sprints. @drupalaton
- Aug 22: DrupalGov in Canberra, Australia featuring everything relating to Drupal and Australian Government, including Drupal 8 sessions.
Do you follow Drupal Planet with devotion, or keep a close eye on the Drupal event calendar, or git pull origin 8.x every morning without fail before your coffee? We're looking for more contributors to help compile these posts. You could either take a few hours once every six weeks or so to put together a whole post, or help with one section more regularly. Contact xjm if you'd like to help communicate all the interesting happenings in Drupal 8!AttachmentSize july_criticals.png40.56 KB july_majors.png37.64 KB july_beta_blockers.png32.25 KB