Giter Club home page Giter Club logo

magento2-reindex's Introduction

magepal

MagePal Extensions - Install our extensions with confidence knowing that they will just work! But if you run into an issue... no problem, we normally solved all issues in 15 minutes or less.

magento2-reindex's People

Contributors

brosenberger avatar dominicwatts avatar samjuk avatar srenon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

magento2-reindex's Issues

Deferred Strategy breaks di:compile

Magento version #:

2.2.x

Edition (EE, CE, OS, etc):

CE

Expected behavior:

di:compile runs through without error

Actual behavior:

di:compile throws an error: [ReflectionException]
Class Magento\Framework\MessageQueue\PublisherInterface does not exist

possible solutions:

either remove the feature or drop the magento versions in the composer.json which do not support that interface

Invalid foreign key while reindexing Customer Grid

Hi,

When I want to reindex customer grid directly from backend, it shows "Invalid foreign key" as below image:
https://prnt.sc/i2hda0

I execute reindex from command line:
php bin/magento indexer:reindex customer_grid

Also got the same error:
Invalid foreign key

Do you know how to fix this issue? Thanks.
My Magento version is: 2.1.8

Tim

Schedule full reindex and process it by next cron run instead of executing from controller

Magento version #:

2.2.6

Edition (EE, CE, OS, etc):

CE

Expected behavior:

Indexes was reindexed

Actual behavior:

Got timeout from nginx after long wait.

Steps to reproduce:

  1. try to reindex big index
  2. wait
  3. get timeout

It is better do not execute any long-running tasks using web (php-fpm+nginx). It is better fast schedule reindexation and actually execute it later on next cron run. Maybe add new status to indexers: "scheduled reindexation". Also add progressbar.

Error while checking if topic is synchronous

First of all: Thanks for the module! It has been working fine so far but it seem the last version 1.1.0 introduced some troubles.

Magento version #: 2.3.6

Edition (EE, CE, OS, etc): Open Source (OS)

Expected behavior:

No error during deployment.

Actual behavior:

Error during setup:db-schema:upgrade during Deployment:

Module 'Magento_Amqp':
302In DataMapper.php line 133:
303
304  Error while checking if topic is synchronous

Steps to reproduce:

It took me quite long to find out why I run into this error during deployment and see where it comes from.
Finally I found the reason: The last version 1.1.0 introduced a communication.xml

Magepal content in communication.xml
<topic name="magepal.reindex" request="string[]" />

Example from vendor/magento/module-sales-rule/etc/communication.xml

    <topic name="sales_rule.codegenerator" request="Magento\SalesRule\Api\Data\CouponGenerationSpecInterface">
        <handler name="codegeneratorProcessor" type="Magento\SalesRule\Model\Coupon\Consumer" method="process" />
    </topic>

I believe this is the problem, however I did not do further testing and set the version to 1.0.11.
Also I had to disable redis on the staging server to get it running (?!)

From the system.log:

[2021-01-19 11:43:16] main.ERROR: Error while checking if topic is synchronous
#0 /var/www/magento/releases/47673/vendor/magento/framework-message-queue/Topology/Config/QueueConfigItem/DataMapper.php(95): Magento\Framework\MessageQueue\Topology\Config\QueueConfigItem\DataMapper->isSynchronousTopic('magepal.reindex')
#1 /var/www/magento/releases/47673/vendor/magento/framework-message-queue/Topology/Config/QueueConfigItem/DataMapper.php(71): Magento\Framework\MessageQueue\Topology\Config\QueueConfigItem\DataMapper->createQueueItems('magepal_reindex', 'magepal.reindex', 'db')
#2 /var/www/magento/releases/47673/vendor/magento/framework-message-queue/Topology/Config/QueueConfigItem/Iterator.php(38): Magento\Framework\MessageQueue\Topology\Config\QueueConfigItem\DataMapper->getMappedData()
#3 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(121): Magento\Framework\MessageQueue\Topology\Config\QueueConfigItem\Iterator->__construct(Object(Magento\Framework\MessageQueue\Topology\Config\QueueConfigItem\DataMapper), Object(Magento\Framework\MessageQueue\Topology\Config\QueueConfigItemFactory))
#4 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array)
#5 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Framewo...')
#6 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/Compiled.php(79): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Framewo...')
#7 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Framewo...')
#8 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/Compiled.php(79): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Framewo...')
#9 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Framewo...')
#10 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/Factory/Compiled.php(79): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Framewo...')
#11 /var/www/magento/releases/47673/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Amqp\\Se...', Array)
#12 /var/www/magento/releases/47673/setup/src/Magento/Setup/Model/Installer.php(1146): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Amqp\\Se...')
#13 /var/www/magento/releases/47673/setup/src/Magento/Setup/Model/Installer.php(1523): Magento\Setup\Model\Installer->createSchemaDataHandler('Magento\\Amqp\\Se...', 'Magento\\Framewo...')
#14 /var/www/magento/releases/47673/setup/src/Magento/Setup/Model/Installer.php(1066): Magento\Setup\Model\Installer->getSchemaDataHandler('Magento_Amqp', 'schema-recurrin...')
#15 /var/www/magento/releases/47673/setup/src/Magento/Setup/Model/Installer.php(862): Magento\Setup\Model\Installer->handleDBSchemaData(Object(Magento\Setup\Module\Setup), 'schema', Array)
#16 /var/www/magento/releases/47673/setup/src/Magento/Setup/Console/Command/DbSchemaUpgradeCommand.php(83): Magento\Setup\Model\Installer->installSchema(Array)
#17 /var/www/magento/releases/47673/vendor/symfony/console/Command/Command.php(255): Magento\Setup\Console\Command\DbSchemaUpgradeCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/magento/releases/47673/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /var/www/magento/releases/47673/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(Magento\Setup\Console\Command\DbSchemaUpgradeCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 /var/www/magento/releases/47673/vendor/magento/framework/Console/Cli.php(115): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#21 /var/www/magento/releases/47673/vendor/symfony/console/Application.php(149): Magento\Framework\Console\Cli->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#22 /var/www/magento/releases/47673/bin/magento(23): Symfony\Component\Console\Application->run()
#23 {main} [] []

Extension is not compatible with Magento 2.3.0

Magento version #:
2.3.0

Edition (EE, CE, OS, etc):
CE && EE

Expected behavior:
The extension should install using composer

Actual behavior:
composer require dependencies fails

Dependency resolution completed in 0.093 seconds
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - magepal/magento2-reindex 1.0.0 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.15 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.14 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.13 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.12 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.20 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.11 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.10 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.19 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.18 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.9 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.8 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.17 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.16 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.7 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.6 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.15 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.5 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.14 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.4 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.13 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.3 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.2 requires php ~5.6.5|7.0.2|7.0.4|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.12 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.1 requires php ~5.6.0|7.0.2|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.11 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.10 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.1.0 requires php ~5.6.0|7.0.2|~7.0.6 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.9 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.8 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.7 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.6 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.5 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.4 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.3 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - magento/framework 100.0.2 requires php ~5.5.0|~5.6.0|~7.0.0 -> your PHP version (7.1.22) does not satisfy that requirement.
    - Conclusion: don't install magepal/magento2-reindex 1.0.4
    - Conclusion: don't install magepal/magento2-reindex 1.0.3
    - Conclusion: don't install magepal/magento2-reindex 1.0.2
    - Conclusion: don't install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.4|don't install colinmollenhour/php-redis-session-abstract v1.3.4|install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.4|don't install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.4|don't install colinmollenhour/php-redis-session-abstract v1.3.4|install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.3|don't install colinmollenhour/php-redis-session-abstract v1.3.4|install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.3|don't install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.3|don't install colinmollenhour/php-redis-session-abstract v1.3.4|install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.2|don't install colinmollenhour/php-redis-session-abstract v1.3.4|install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.2|don't install magento/framework 101.0.0|install magento/framework 100.1.16
    - Conclusion: don't install magepal/magento2-reindex 1.0.2|don't install colinmollenhour/php-redis-session-abstract v1.3.4|install magento/framework 101.0.0|install magento/framework 100.1.16
    - Installation request for magepal/magento2-reindex ^1.0 -> satisfiable by magepal/magento2-reindex[1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4].
    - magepal/magento2-reindex 1.0.1 requires magento/framework 100.0.*|100.1.*|101.0.* -> satisfiable by magento/framework[100.0.2, 100.0.3, 100.0.4, 100.0.5, 100.0.6, 100.0.7, 100.0.8, 100.0.9, 100.1.0, 100.0.10, 100.0.11, 100.1.1, 100.0.12, 100.1.2, 100.1.3, 100.0.13, 100.1.4, 100.0.14, 100.1.5, 100.0.15, 100.1.6, 100.1.7, 100.0.16, 100.0.17, 100.1.8, 100.1.9, 100.0.18, 101.0.0, 100.0.19, 101.0.1, 100.1.10, 100.1.11, 101.0.2, 100.0.20, 100.1.12, 101.0.3, 100.1.13, 101.0.4, 101.0.5, 100.1.14, 100.1.15, 101.0.6, 100.1.16, 101.0.7].
    - magento/framework 101.0.1 requires colinmollenhour/php-redis-session-abstract 1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4].
    - magento/framework 101.0.2 requires colinmollenhour/php-redis-session-abstract 1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4].
    - magento/framework 101.0.3 requires colinmollenhour/php-redis-session-abstract 1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4].
    - magento/framework 101.0.4 requires colinmollenhour/php-redis-session-abstract 1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4].
    - magento/framework 101.0.5 requires colinmollenhour/php-redis-session-abstract 1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4].
    - magento/framework 101.0.6 requires colinmollenhour/php-redis-session-abstract 1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4].
    - magento/framework 101.0.7 requires colinmollenhour/php-redis-session-abstract 1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4].
    - Conclusion: don't install colinmollenhour/php-redis-session-abstract v1.3.4|install magento/framework 101.0.0|install magento/framework 100.1.16


Installation failed, reverting ./composer.json to its original content.

Steps to reproduce:

  • Install a fresh setup of magento 2.3.0 EE or CE
  • run command composer require magepal/magento2-reindex -vvv

Feature Request: Magepal consumer amqp compatibility

Magento version #: 2.4.5-p1

Edition (EE, CE, OS, etc): EE

Expected behavior: New Feature

It would be awesome if we could add amqp compatibility to the Magepal reindex consumer. Thank you for all of the work on this plugin.

Magento 2.3.1 Compatibility

In Magento 2.3.1 the version of magento/module-backend is 101.0.1 which doesn't meet the requirements set out in the composer.json file of this module:

  Problem 1
    - magepal/magento2-reindex 1.0.5 requires magento/module-backend 100.0.*|100.1.*|100.2.*|101.0.0 -> satisfiable by magento/module-backend[100.2.7, 100.0.2, 100.0.3, 100.0.4, 100.0.5, 100.0.6, 100.0.7, 100.1.0-rc1, 100.1.0-rc2, 100.1.0-rc3, 100.1.0, 100.0.8, 100.1.1, 100.1.2, 100.0.9, 100.1.3, 100.0.10, 100.2.0-rc20, 100.2.0-rc21, 100.2.0-rc22, 100.2.0-rc23, 100.2.0-rc30, 100.1.4, 100.0.11, 100.2.0, 100.2.1, 100.1.5, 100.1.6, 100.2.2, 100.0.12, 100.1.7, 100.2.3, 100.1.8, 100.2.4, 100.2.5, 100.1.9, 100.1.10, 100.2.6, 100.1.11, 101.0.0, 100.1.12, 100.2.8].
...
    - magento/product-community-edition 2.3.1 requires magento/module-backend 101.0.1 -> satisfiable by magento/module-backend[101.0.1].
    - magento/product-community-edition 2.3.1 requires magento/framework 102.0.1 -> satisfiable by magento/framework[102.0.1].
    - Installation request for magento/product-community-edition 2.3.1 -> satisfiable by magento/product-community-edition[2.3.1].
    - Installation request for magepal/magento2-reindex ^1.0.4 -> satisfiable by magepal/magento2-reindex[1.0.4, 1.0.5].

The problem stems from the following line:

"magento/module-backend": "100.0.*|100.1.*|100.2.*|101.0.0",

Stuck indexes with larger datasets

Overview

We have this module installed on a client site and for the most part, it works fine while reindexing single indexes. Whenever the client performs mass indexes we are seeing an increase in stuck indexes, caused by the Nginx+PHP-FPM workers timing out.

Adding a feature flag to toggle between the existing Synchronous processing and a new Async mode would alleviate this issue. Which could be achieved by defering the reindex & picking up by a cron, or spawning a new background task that calls Magento's CLI indexer commands.

Magento version #:

Magento 2.3.5

Edition (EE, CE, OS, etc):

Community Edition

Expected behavior:

Able to reindex all indexes are once successfully.

Actual behavior:

Page times out and Indexes get stuck processing on Catalog Rule

Steps to reproduce:

  1. Trigger full reindex from the backend

Preconditions

PHP: 7.2
Mage: 2.3.5 : CE
Mode: Production
Average size store: ~35k Products

requires magento/module-backend not found

Hello I get following Error during the installation.

magepal/magento2-reindex 1.0.8 requires magento/module-backend 100.0.|100.1.|100.2.|101.0. -> no matching package found.

Magento version #:

Magento 2.3.5-p1

Preconditions

PHP version (7.3.18)

php code is not workong

Magento version #:

Edition (EE, CE, OS, etc):

Expected behavior:

Actual behavior:

Steps to reproduce:

Preconditions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.