- Issue created by @goose2000
- πΊπΈUnited States goose2000
I think this does work as designed, it was just a bit confusing that the private files system would be needed in the debug settings.
I have installed the modules and done the web services configuration. I can see that Drupal is accessing Moodle, in the moodle logs. I have a clean test setup. I create a few terms in my designated Course Category vocabulary, added the required ID field : field_moodle_id
I try to run the manual sync from this screen and get the error :
Error: Class "Drupal\moodle_sync\Service\FileSystemInterface" not found in Drupal\moodle_sync\Service\MoodleSyncLogger->log() (line 39 of D:\wwwroot\bhs_dev\web\modules\contrib\moodle_sync\src\Service\MoodleSyncLogger.php).
#0 D:\wwwroot\bhs_dev\web\modules\contrib\moodle_sync\modules\moodle_sync_category\src\Service\UpdateService.php(146): Drupal\moodle_sync\Service\MoodleSyncLogger->log(Object(Drupal\Core\StringTranslation\TranslatableMarkup), 'info', 'core_course_upd...', '{"categories[0]...', '1', 3)
#1 D:\wwwroot\bhs_dev\web\modules\contrib\moodle_sync\modules\moodle_sync_category\src\Batch\MoodleSyncAllCategoriesBatch.php(37): Drupal\moodle_sync_category\Service\UpdateService->updateCategory(Object(Drupal\taxonomy\Entity\Term), true)
#2 D:\wwwroot\bhs_dev\web\core\includes\batch.inc(297): Drupal\moodle_sync_category\Batch\MoodleSyncAllCategoriesBatch::processCategory(Object(Drupal\taxonomy\Entity\Term), Array)
#3 D:\wwwroot\bhs_dev\web\core\includes\batch.inc(139): _batch_process()
#4 D:\wwwroot\bhs_dev\web\core\includes\batch.inc(95): _batch_do()
#5 D:\wwwroot\bhs_dev\web\core\modules\system\src\Controller\BatchController.php(52): _batch_page(Object(Symfony\Component\HttpFoundation\Request))
#6 [internal function]: Drupal\system\Controller\BatchController->batchPage(Object(Symfony\Component\HttpFoundation\Request))
#7 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#8 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\Render\Renderer.php(638): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#9 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#10 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#11 D:\wwwroot\bhs_dev\vendor\symfony\http-kernel\HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#12 D:\wwwroot\bhs_dev\vendor\symfony\http-kernel\HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#13 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\StackMiddleware\Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\StackMiddleware\KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#15 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\StackMiddleware\ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#16 D:\wwwroot\bhs_dev\web\core\modules\big_pipe\src\StackMiddleware\ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#17 D:\wwwroot\bhs_dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(116): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#18 D:\wwwroot\bhs_dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(90): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 D:\wwwroot\bhs_dev\web\core\modules\ban\src\BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\StackMiddleware\ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#21 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\StackMiddleware\NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#22 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\StackMiddleware\AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#23 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\StackMiddleware\StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#24 D:\wwwroot\bhs_dev\web\core\lib\Drupal\Core\DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#25 D:\wwwroot\bhs_dev\web\index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#26 {main}
Follow the install guide and configuration for both Drupal and Moodle.
Create a taxonomy category (adding the field_moodle_id ) and add some terms.
Try to run the manual sync button from the screen: /admin/config/moodle_sync/category/settings
Document or fix FileSystemInterface - not found.
Active
1.0
Code
I think this does work as designed, it was just a bit confusing that the private files system would be needed in the debug settings.