https://drupal.org.gr logo
Join Slack
Powered by
# decoupled
  • v

    vensires

    09/20/2022, 7:19 AM
    Πολλά πράγματα δηλαδή που στο 7άρι τα είχες ως
    hook_info
    (πχ. hook_block_info) πλέον υπάρχουν ως annotations σε κλάσεις.
  • s

    Stavros Zavrakas

    09/20/2022, 7:20 AM
    Θεωρώ ότι έχει θέμα με τα permissions, εφόσον είναι αυτό, παίζει να είναι απλά κανένα configuration ή θα είναι κάπου μέσα στον κώδικα;
  • v

    vensires

    09/20/2022, 7:20 AM
    Λογικά configuration. Διαβάζοντας όμως έχω άλλη ιδέα... Έχεις δοκιμάσει να κάνεις - με cold caches - πρώτα το query από anonymous και μετά από admin;
  • s

    Stavros Zavrakas

    09/20/2022, 7:21 AM
    cold caches εννοείς drush cr?
  • s

    Stavros Zavrakas

    09/20/2022, 7:21 AM
    και μετά να χτυπήσω τα request?
  • v

    vensires

    09/20/2022, 7:22 AM
    ναι. Μήπως cachάρεται δηλαδή από admin και μετά δε μπορεί να το δείξει στον anonymous. Ενώ αν κάνεις τον anonymous πρώτα παίξει.
  • s

    Stavros Zavrakas

    09/20/2022, 7:22 AM
    κάνω πάντα
    drush cr
    πριν χτυπήσω το request (το έχω βάλει σε postman για να μη φορτώνει ολή τη σελίδα)
  • d

    dimitriskri

    09/20/2022, 7:23 AM
    Δεν θυμάμαι από ποια έκδοση αλλά σε queries πρέπει πάντα να αναγράφεται το checkAccess() οπότε ίσως είναι κάτι τέτοιο
  • s

    Stavros Zavrakas

    09/20/2022, 7:23 AM
    οπότε έχω ένα postman request με cookies για ανώνυμο χρήστη και ένα για admin χρήστη
    👍🏻 1
  • v

    vensires

    09/20/2022, 7:24 AM
    @dimitriskri ναι, το έστειλε πρόσφατα ο Κώστας αλλά αφορούσε νομίζω έκδοση 10 ως requirement. Αλλά εδώ μιλάμε για GraphQL. Ακόμη κι αν απαιτούνταν, θα έπρεπε να το περνάει το ίδιο το GraphQL ως true.
  • s

    Stavros Zavrakas

    09/20/2022, 7:25 AM
    βλέπω ότι σε ένα άλλο custom module έχει υλοποιηθεί η checkAccess, αλλά στο συγκεκριμένο απ’ότι βλέπω όχι
  • v

    vensires

    09/20/2022, 7:26 AM
    Οπότε έλεγξε καλύτερα τα permissions. Γιατί το issue αναφέρει persisted queries και όπως λέει ο κώδικας για να θεωρηθεί persisted πρέπει να περάσεις ως παράμετρο ένα
    queryId
    . Από την στιγμή που στον κώδικά σου δεν περνάς κάτι τέτοιο, κάτι άλλο συμβαίνει.
  • s

    Stavros Zavrakas

    09/20/2022, 7:26 AM
    είναι κάπως έτσι:
    Copy code
    <?php
    
    namespace Drupal\tog_spaces;
    
    use Drupal\Core\Entity\EntityAccessControlHandler;
    use Drupal\Core\Entity\EntityInterface;
    use Drupal\Core\Session\AccountInterface;
    use Drupal\Core\Access\AccessResult;
    
    /**
     * Access controller for the Meeting room details entity.
     *
     * @see \Drupal\tog_spaces\Entity\MeetingRoomDetail.
     */
    class MeetingRoomDetailAccessControlHandler extends EntityAccessControlHandler {
    
      /**
       * {@inheritdoc}
       */
      protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
        /** @var \Drupal\tog_spaces\Entity\MeetingRoomDetailInterface $entity */
        switch ($operation) {
          case 'view':
            if (!$entity->isPublished()) {
              return AccessResult::allowedIfHasPermission($account, 'view unpublished meeting room details entities');
            }
            return AccessResult::allowedIfHasPermission($account, 'view published meeting room details entities');
    
          case 'update':
            return AccessResult::allowedIfHasPermission($account, 'edit meeting room details entities');
    
          case 'delete':
            return AccessResult::allowedIfHasPermission($account, 'delete meeting room details entities');
        }
    
        // Unknown operation, no opinion.
        return AccessResult::neutral();
      }
    
      /**
       * {@inheritdoc}
       */
      protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
        return AccessResult::allowedIfHasPermission($account, 'add meeting room details entities');
      }
    
    }
  • v

    vensires

    09/20/2022, 7:27 AM
    Αυτό έλεγε ο Δημήτρης, Σταύρο: https://www.drupal.org/node/3201242. Άλλο πράγμα αυτό. Αυτό που έστειλες είναι για το entity αν είναι accessible ή όχι. Αυτό που λέει ο Δημήτρης είναι όταν κάνεις entity query.
  • s

    Stavros Zavrakas

    09/20/2022, 7:37 AM
    κατάλαβα (στο περίπου)
  • s

    Stavros Zavrakas

    09/20/2022, 7:38 AM
    αν είναι κάποιο configuration που θα πρέπει να κοιτάξω, μήπως έχεις κάποια ίδεα που πρέπει να το δω;
  • s

    Stavros Zavrakas

    09/20/2022, 7:45 AM
    @vensires legend!
  • s

    Stavros Zavrakas

    09/20/2022, 7:46 AM
  • s

    Stavros Zavrakas

    09/20/2022, 7:47 AM
    eprepe na tsekarw to bypass field security για τον anonymoys user
  • s

    Stavros Zavrakas

    09/20/2022, 7:51 AM
    να κάνω άλλη μία ερώτηση; το configuration έχει ώς εξης • macOS BigSur (16gb ram) • php7 (πρεπει να γινει upgrade σε 8) • drupal9 • composer1.10.1 και χρησιμοποιώ lando για όλα αυτά όλα είναι πάρα πολύ αργά στο local περιβάλλον. δηλαδή το composer update μπορεί να παίρνει και πάνω από 20 λεπτά, όταν κάνω refresh στη local σελίδα, μπορεί να πάρει και 1 λεπτό για να τη φορτώσει, κάνει μόνιμα redirect σε ssl παρόλο που είναι local και γενικά όλα είναι πάρα πολύ αργά. είναι φυσιολογικό όλο αυτό;
    d
    k
    • 3
    • 3
  • s

    Stavros Zavrakas

    09/20/2022, 7:51 AM
    εκει που θα περίμενα να κάνω κάτι debug και να προσπαθήσω να κάνω upgrade κάποια modules μου παίρνει άπειρο χρόνο
  • s

    Stavros Zavrakas

    09/20/2022, 7:52 AM
    είναι γνωστό πρόβλημα με τα mac ή παίζει να είναι είναι το lando που τα κάνει όλα πολύ αργά;
  • k

    kostask

    09/20/2022, 8:18 AM
    και στο δικό μου μακ το lando ήταν αργό και πήρα ένα καινούριο μηχανάκι dell και έβαλά και ένα linux mint και όλα πάνε σφαίρα πλέον. Το lando και οτιδήποτε docker είναι λίγο πιο αργό στο mac. Αν δεν το έχεις δοκιμάσει ήδη το mutagen λένε ότι αυξάνει πολύ τις επιδόσεις στο μακ. Στο ddev είναι πολύ ευκολο να το ενεργοποιήσεις, στο lando δεν ξέρω.
  • v

    vensires

    09/20/2022, 8:39 AM
    Σε M1 με ddev χωρίς mutagen σε εμένα προσωπικά πάει αρκετά καλά. Στον @kyriazo χωρίς mutagen το
    drush cr
    αργεί υπερβολικά. Με lando είχα φοβερές καθυστερήσεεις. Δεν είχα δοκιμάσει mutagen εκεί.
  • k

    kyriazo

    09/20/2022, 8:46 AM
    Η αληθεια ειναι οτι το mutagen μειωνει δραματικα το χρονο που θες πχ για ενα drush cr τουλαχιστον στο μισο. Δεν εχω συναντησει κάποιο αλλο προβλημα, περα οτι θελει (αναλογως τον ογκο του project) καποιο χρονο στο ddev start για να κανει το sync (συνηθως μεταξυ 30-60sec) και οτι αργεια καποια δευτερολεπτα πχ σε ενα drush cex να μου συγχρονισει τα αρχεια για να τα δω στο git status. Γενικά χωρις mutagen δεν θα μπορουσα να δουλεψω με ddev σιγουρα. (και εννοειται βαλε compsoer 2)
    👍🏻 1
  • s

    Stavros Zavrakas

    09/21/2022, 7:28 AM
    Ευχαριστώ πολύ, σε όλους, σιγά σιγά θα αρχίσω να κοιτάω το mutagen. Η αλήθεια είναι ότι ένας φίλος που το τρέχει σε linux είναι πολύ πιο γρηγορο, για αυτό σκέφτηκα μήπως είναι θέμα του mac
  • s

    Stavros Zavrakas

    09/21/2022, 7:29 AM
    θα κάνω μερικές ερωτήσεις αραιά και που με διάφορες απορίες που θα έχω
  • s

    Stavros Zavrakas

    09/21/2022, 8:20 AM
    Άλλη μία ερώτηση για το drush, μετά το upgrade, στο cache rebuild σκάει (έβαλα το stack trace παρακάτω). Όταν πάω και κάνω comment out τη γραμμή με το assertion συνεχίζει και είναι successful. Υπάρχει λόγος που είναι εκεί πέρα το assertion βέβαια, απλά δε ξέρω πως να το προσεγγίσω. Τα δεδομένα στη βάση είναι σε μορφή που θα έπρεπε να έχουν κάπου
    entity:
    και δε το έχουν;
    Copy code
    PHP Fatal error:  Uncaught AssertionError: assert(strpos($data_type, 'entity:') !== 0 || $this instanceof EntityContextDefinition) in /app/docroot/core/lib/Drupal/Core/Plugin/Context/ContextDefinition.php:115
    Stack trace:
    #0 /app/docroot/core/lib/Drupal/Core/Plugin/Context/ContextDefinition.php(115): assert(false, 'assert(strpos($...')
    #1 /app/docroot/modules/contrib/ctools/src/ContextProvider/EntityRouteContext.php(79): Drupal\Core\Plugin\Context\ContextDefinition->__construct('entity:block', Object(Drupal\Core\StringTranslation\TranslatableMarkup))
    #2 /app/docroot/modules/contrib/graphql/src/GraphQL/Context/ContextRepository.php(52): Drupal\ctools\ContextProvider\EntityRouteContext->getAvailableContexts()
    #3 /app/docroot/modules/contrib/graphql/modules/graphql_core/src/Plugin/Deriver/Fields/ContextDeriver.php(43): Drupal\graphql\GraphQL\Context\ContextRepository->getAvailableContexts()
    #4 /app/docroot/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php(101): Drupal\graphql_core\Plugin\Deriver\Fields\ContextDeriver->getDerivativeDefinitions(Array)
    #5 /app/docroot/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php(87): Drupal\Component\Plugin\Discovery\DerivativeDiscoveryDecorator->getDerivatives(Array)
    #6 /app/docroot/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php(285): Drupal\Component\Plugin\Discovery\DerivativeDiscoveryDecorator->getDefinitions()
    #7 /app/docroot/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php(175): Drupal\Core\Plugin\DefaultPluginManager->findDefinitions()
    #8 /app/docroot/modules/contrib/graphql/src/Plugin/Deriver/PluggableSchemaDeriver.php(230): Drupal\Core\Plugin\DefaultPluginManager->getDefinitions()
    #9 /app/docroot/modules/contrib/graphql/src/Plugin/Deriver/PluggableSchemaDeriver.php(103): Drupal\graphql\Plugin\Deriver\PluggableSchemaDeriver->buildFieldAssociationMap(Object(Drupal\graphql\Plugin\FieldPluginManager), Array)
    #10 /app/docroot/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php(101): Drupal\graphql\Plugin\Deriver\PluggableSchemaDeriver->getDerivativeDefinitions(Array)
    #11 /app/docroot/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php(87): Drupal\Component\Plugin\Discovery\DerivativeDiscoveryDecorator->getDerivatives(Array)
    #12 /app/docroot/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php(285): Drupal\Component\Plugin\Discovery\DerivativeDiscoveryDecorator->getDefinitions()
    #13 /app/docroot/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php(175): Drupal\Core\Plugin\DefaultPluginManager->findDefinitions()
    #14 /app/docroot/modules/contrib/graphql/src/Routing/QueryRoutes.php(54): Drupal\Core\Plugin\DefaultPluginManager->getDefinitions()
    #15 /app/docroot/core/lib/Drupal/Core/Routing/RouteSubscriberBase.php(37): Drupal\graphql\Routing\QueryRoutes->alterRoutes(Object(Symfony\Component\Routing\RouteCollection))
    #16 [internal function]: Drupal\Core\Routing\RouteSubscriberBase->onAlterRoutes(Object(Drupal\Core\Routing\RouteBuildEvent), 'routing.route_a...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
    #17 /app/docroot/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Drupal\Core\Routing\RouteBuildEvent), 'routing.route_a...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
    #18 /app/docroot/core/lib/Drupal/Core/Routing/RouteBuilder.php(189): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Drupal\Core\Routing\RouteBuildEvent), 'routing.route_a...')
    #19 /app/docroot/core/lib/Drupal/Core/ProxyClass/Routing/RouteBuilder.php(83): Drupal\Core\Routing\RouteBuilder->rebuild()
    #20 /app/docroot/core/includes/common.inc(587): Drupal\Core\ProxyClass\Routing\RouteBuilder->rebuild()
    #21 /app/docroot/core/includes/utility.inc(41): drupal_flush_all_caches(Object(Drupal\Core\DrupalKernel))
    #22 /app/vendor/drush/drush/src/Commands/core/CacheCommands.php(229): drupal_rebuild(Object(Composer\Autoload\ClassLoader), Object(Symfony\Component\HttpFoundation\Request))
    #23 [internal function]: Drush\Commands\core\CacheCommands->rebuild(Array)
    #24 /app/vendor/consolidation/annotated-command/src/CommandProcessor.php(257): call_user_func_array(Array, Array)
    #25 /app/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback(Array, Object(Consolidation\AnnotatedCommand\CommandData))
    #26 /app/vendor/consolidation/annotated-command/src/CommandProcessor.php(176): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter(Array, Array, Object(Consolidation\AnnotatedCommand\CommandData))
    #27 /app/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(350): Consolidation\AnnotatedCommand\CommandProcessor->process(Object(Symfony\Component\Console\Output\ConsoleOutput), Array, Array, Object(Consolidation\AnnotatedCommand\CommandData))
    #28 /app/vendor/symfony/console/Command/Command.php(255): Consolidation\AnnotatedCommand\AnnotatedCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #29 /app/vendor/symfony/console/Application.php(1027): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #30 /app/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(Consolidation\AnnotatedCommand\AnnotatedCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #31 /app/vendor/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #32 /app/vendor/drush/drush/src/Runtime/Runtime.php(124): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #33 /app/vendor/drush/drush/src/Runtime/Runtime.php(51): Drush\Runtime\Runtime->doRun(Array, Object(Symfony\Component\Console\Output\ConsoleOutput))
    #34 /app/vendor/drush/drush/drush.php(72): Drush\Runtime\Runtime->run(Array)
    #35 /app/vendor/drush/drush/drush(4): require('/app/vendor/dru...')
    #36 {main}
      thrown in /app/docroot/core/lib/Drupal/Core/Plugin/Context/ContextDefinition.php on line 115
  • t

    theodorosploumis

    02/03/2023, 10:38 AM
    Gatsby + Netlify: https://twitter.com/Netlify/status/1620821991627309056
  • t

    theodorosploumis

    02/18/2023, 6:42 PM
    Για Gatsby + Drupal: https://www.talkingdrupal.com/381