CityOfBoston / boston.gov-d8

The official repository City of Boston public website, boston.gov.

Home Page:https://boston.gov

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BuildingHousing synch issue

ebshrier opened this issue · comments

Another project not synching on BuildingHousing. This project did have 2 webupdate objects, but we've deleted one and cleaned up the links between them. We saved updates to the remaining WU and the project but aren't seeing any of these reflected on site.

https://www.boston.gov/buildinghousing/174-176-boylston-23-dalrymple

@ebshrier will alert Alex now.

@ebshrier it looks like the link is completely broken -- is there another link, or is that part of the issue?

Follow up on this: The project name wasn't being updated on the website, but it looks like the URL did get updated and is forwarding to an amended version (with "streets" at end, which is now part of the name).

Hi @duffy-james Can you provide an update on this ticket? The project page is down completely.
I've tried updating & saving the project and web update objects in SF but can't get them to synch. I also reverted the project name back to the original (no "Street") and updated the Boston.gov link to try and get these all consistent, but DNS isn't getting updated (still redirects to "https://www.boston.gov/buildinghousing/174-176-boylston-23-dalrymple-streets").
Thanks

logs from Acquia:

php-error web-15136 #51 /mnt/www/html/bostond8/docroot/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
php-error web-15136 #50 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #49 /mnt/www/html/bostond8/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #48 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #47 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #46 /mnt/www/html/bostond8/docroot/core/modules/ban/src/BanMiddleware.php(50): Asm89\Stack\Cors->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #45 /mnt/www/html/bostond8/vendor/asm89/stack-cors/src/Asm89/Stack/Cors.php(49): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #44 /mnt/www/html/bostond8/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(82): Drupal\page_cache\StackMiddleware\PageCache->lookup(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #43 /mnt/www/html/bostond8/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(128): Drupal\page_cache\StackMiddleware\PageCache->fetch(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #42 /mnt/www/html/bostond8/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(191): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #41 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #40 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
php-error web-15136 #39 /mnt/www/html/bostond8/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
php-error web-15136 #38 /mnt/www/html/bostond8/vendor/symfony/http-kernel/HttpKernel.php(163): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
php-error web-15136 #37 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
php-error web-15136 #36 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
php-error web-15136 #35 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
php-error web-15136 #34 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(132): Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
php-error web-15136 #33 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(242): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
php-error web-15136 #32 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
php-error web-15136 #31 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(241): Drupal\Core\Render\Renderer->render(Array, false)
php-error web-15136 #30 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
php-error web-15136 #29 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(363): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
php-error web-15136 #28 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(772): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
php-error web-15136 #27 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
php-error web-15136 #26 [internal function]: Drupal\Core\Entity\EntityViewBuilder->build(Array)
php-error web-15136 #25 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(239): Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array)
php-error web-15136 #24 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(282): Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full')
php-error web-15136 #23 /mnt/www/html/bostond8/docroot/core/modules/node/src/NodeViewBuilder.php(24): Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full')
php-error web-15136 #22 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(340): Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array)
php-error web-15136 #21 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php(263): Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceFormatterBase->view(Object(Drupal\Core\Field\EntityReferenceFieldItemList), NULL)
php-error web-15136 #20 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php(76): Drupal\Core\Field\FormatterBase->view(Object(Drupal\Core\Field\EntityReferenceFieldItemList), 'en')
php-error web-15136 #19 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Field/FormatterBase.php(89): Drupal\node_buildinghousing\Plugin\Field\FieldFormatter\EntityReferenceTaxonomyTermBSPublicStageFormatter->viewElements(Object(Drupal\Core\Field\EntityReferenceFieldItemList), 'en')
**php-error web-15136 #18 /mnt/www/html/bostond8/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermBSPublicStageFormatter.php(60): Drupal\node_buildinghousing\Plugin\Field\FieldFormatter\EntityReferenceTaxonomyTermBSPublicStageFormatter->getMeetings(Object(Drupal\node\Entity\Node))
php-error web-15136 #17 /mnt/www/html/bostond8/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermBSPublicStageFormatter.php(409): Drupal\Core\Render\Renderer->render(Array)**
php-error web-15136 #16 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
php-error web-15136 #15 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(422): Drupal\Core\Theme\ThemeManager->render('field', Array)
php-error web-15136 #14 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/custom/b...', Array)
php-error web-15136 #13 /mnt/www/html/bostond8/docroot/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
php-error web-15136 #12 /mnt/www/html/bostond8/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
php-error web-15136 #11 /mnt/www/html/bostond8/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
php-error web-15136 #10 /mnt/www/html/bostond8/vendor/twig/twig/src/Template.php(405): __TwigTemplate_f13e4d22fa1d699238456bbcf9b46c71ce5a1f41e9e9f1bb5111d25f342a0918->doDisplay(Array, Array)
php-error web-15136 #9 /mnt/tmp/bostond8/php_storage/twig/27b0fe2/bostond8/twig/6283bf65183f9_field.html.twig_wwWF5Kb2v00W_Po0lLgK4rJ3d/d9dUObm4wrwPraKMWAUtIFoqhv58V54_hYUDuem9Mz0.php(88): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
php-error web-15136 #8 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Template/TwigExtension.php(479): Drupal\Core\Render\Renderer->render(Array)
php-error web-15136 #7 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
php-error web-15136 #6 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(363): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
php-error web-15136 #5 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Render/Renderer.php(772): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
php-error web-15136 #4 /mnt/www/html/bostond8/docroot/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
php-error web-15136 #3 [internal function]: Drupal\filter\Element\ProcessedText::preRenderText(Array)
php-error web-15136 #2 /mnt/www/html/bostond8/docroot/core/modules/filter/src/Element/ProcessedText.php(118): Drupal\filter\Plugin\Filter\FilterUrl->process(Array, 'en')
php-error web-15136 #1 /mnt/www/html/bostond8/docroot/core/modules/filter/src/Plugin/Filter/FilterUrl.php(42): _filter_url(Array, Object(Drupal\filter\Plugin\Filter\FilterUrl))
php-error web-15136 [17-May-2022 12:54:33 America/New_York] TypeError: preg_split(): Argument #2 ($subject) must be of type string, array given in /mnt/www/html/bostond8/docroot/core/modules/filter/filter.module on line 529 #0 /mnt/www/html/bostond8/docroot/core/modules/filter/filter.module(529): preg_split('/(<.+?>)/is', Array, -1, 2)```

@ebshrier we reached out to Alex yesterday about this error -- going to follow up now.

Just noticed the website is again working (progress!). The remaining issue is a community mtg (CME TrkgID 202205-046) that was added to the WU is not displaying (note: The community mtg was added as a related object, not put into Chatter. I'm not sure if related objects get picked up by the integration).

@duffy-james This site is still not synching properly. Updates to the project, WU object and a related community event are all being missed.
Marketing needs to get postcards out, and need to know if the community event will be posted to the site. If not, they need to adjust the info they include on the postcards. Please let us know when you think the website will have the community event added to the timeline.
Thanks
Ethan

@ebshrier Alex went ahead and manually fixed this project: https://www.boston.gov/buildinghousing/174-176-boylston-23-dalrymple-streets

The big issue is that data is not correct on the Salseforce side. The wrong web update object was deleted.

This is the Project on Drupal:

Image

This is the Project's Web Update on Drupal:

Image

When you go to that WU object on SF it shows it has been deleted:

Image

When we go to the Project object on SF it shows that its WU object is not the correct one by the name:

Image

It's not the name of the WP that matters, it's that the related WP Salesforce ID changed. At the time this functionality was built, we were told there would only ever be one WP object per project that would be created automatically and never change. If there's a need to be able to change and relate different WP objects, that would be new functionality out of our original scope.

While Alex manually fixed this on the Drupal side, to fix this permanently you would need restore that original WP object and remove the other one. Otherwise, each time the data syncs, this project will continue to break and you'll need us to manually update.

@ebshrier quick follow-up: @padora-cob went ahead and just did the re-association of objects in Drupal, since it looks like you folks put all your content updates in the WU in Salesforce that did not get deleted.

Alex re-associated the project, WU, and meeting in Drupal to the one that is not deleted. You can keep it as is for now. Updates for this project should now work going forward.

Thanks for explanation @davidrkupton @duffy-james . Bad data being the culprit doesn't surprise me, but tracking it down is a challenge. I had done a search for a URL field and didn't find it, but I don't think I looked on the meeting object.

As for the association between project and WU objects: There shouldn't be two WUs associated with a project, but SF doesn't prevent you from doing it. If this continues to be an issue I think the correct solution would be to prevent this in salesforce.

Thanks @padora-cob for reconnecting existing WU to the project. I'll let business unit know and we'll track how it works going forward.
thanks

@ebshrier one other issue was noted with this project: Changing the name of the project and then change it back to the original project name created an infinite loop redirect at one point. This is a separate issue from our existing sync issues.

We can handle name changes, but if you revert back to the original, you would need to let us know. We can make a change in Drupal to remove the infinite loop.

Issues corrected.