Новая «разница во мнениях» началась в твиттере.
Несколько уважаемых разработчиков начинают удалять свои расширения из Magento Connect по той причине, что нетехнические люди не должны устанавливать расширения.
Другие разработчики не согласны с этой причиной.
Я спрашиваю об этом, потому что считаю обе стороны как-то верными.
Поскольку 140 символов намного меньше, чем необходимо для объяснения причин, почему бы не централизовать их здесь.
Таким образом, технические и нетехнические люди могут читать их.
Я знаю, что ответы будут в основном основаны на мнении, но я обещаю закрыть этот вопрос, как только некоторые мнения будут выражены.
Или, если модератор считает, что это лучше подходит для мета, это можно перенести в мета.
magento-connect
Мариус
источник
источник
Ответы:
Я думаю, что удаление расширений на MC слишком экстремально. Connect не только для механиков, но и для разработчиков (мне нравится функция обновления). Но я согласен, что люди без необходимых навыков не должны устанавливать расширение, поскольку они редко совместимы с используемыми темами, существует слишком много потенциальных конфликтов, и чаще всего это приведет к совершенно ненужной дурной крови между продавцом и (бесплатным) поставщиком расширений. Или между продавцом и разработчиком сайта.
Люди, создание магазинов - это все равно, что создавать музыку - лучше оставить профессионалам.
источник
Установка расширения и последствия
Идея иметь расширяемую систему великолепна, но, как мы, разработчики, знаем, не все так просто. Многие вещи могут (и, к сожалению, делают) пойти не так.
обзор
Я начну со списка проблем, которые могут быть вызваны установкой расширений. Затем я выскажу свою главную мысль и изложу выводы, которые лично сделаю из всего этого, и, наконец, предложу решение. (Это, вероятно, получится долго, заранее извиняюсь. Я постараюсь написать как можно меньше и все же осветить тему.)
Итак, для начала, вот список распространенных проблем, обнаруженных при установке расширения.
Безопасность
Проверка кода не выполняется до тех пор, пока расширение не будет принято в Magento Connect. Как следствие, многие расширения содержат уязвимости. Есть много причин, таких как неопытные или ленивые разработчики, использование уязвимого стороннего кода, а некоторые расширения даже содержат вредоносный вредоносный код. Удаленное выполнение кода, SQL-инъекции и простои - реальность. Последствия - потерянные данные клиентов, потерянные учетные данные, потерянный доход, потерянное время и потерянное доверие.
Представление
Расширение может нормально работать на одном сайте или на экземпляре разработчика, но с другим каталогом или клиентской базой, это может вызвать серьезные проблемы с производительностью. Может быть много конкретных причин, начиная от неэффективной загрузки сущностей, неоптимизированных объединений SQL, большого количества запросов ajax, большого количества опций или атрибутов атрибутов и многих других. Как каждый торговый звонок говорит нам разработчикам, производительность имеет значение. Это стоит торгового дохода.
конфликты
Даже только два расширения, даже если они разработаны с использованием лучших практик, могут конфликтовать. В основном это происходит из-за того, что среда Magento объединяет конфигурационный XML. В лучшем случае эти конфликты видны через трассировку стека или пустой экран, в худшем случае сайт запрещает странное и трудно отлаживаемое поведение. Продавец не сможет решить проблемы и заставить сосуществующие конфликтующие расширения сосуществовать без помощи разработчика. Это стоит времени и денег.
Возможность обновления
Не обновление не вариант, если только из соображений безопасности. Необходимо поддерживать расширения как отдельные кодовые базы и как часть инфраструктуры Magento. Если расширение используется, и первоначальный разработчик не продолжает поддерживать расширение, другой разработчик должен вступить во владение. Отсутствие разработчика часто делает невозможным для продавца обновление, что, в свою очередь, приводит к тому, что сайты работают медленнее, чем нужно, а проблемы с безопасностью эксплуатируются и, таким образом, теряются доходы.
растяжимость
Добавление новых функций в существующий сайт становится все более сложным и, следовательно, дорогостоящим, поскольку каждое расширение в системе добавляет свой технический долг. Общая задолженность намного больше, чем у каждого отдельного расширения, так как совокупная сложность также больше, чем у каждого отдельно. Неспособность легко экспериментировать с новыми функциями и изменениями приводит к тому, что продавец теряет много прибыли.
Пробные
Следующие вещи вызывают сбой в Magento при удалении расширения:
Поломка сайта конечно стоит денег.
Magento Connect
Учитывая приведенный выше список проблем, как можно ожидать, что не разработчик установит расширение и оценит, работает ли оно на данном сайте?
Нет гарантированной чистой деинсталляции, поэтому часто сломанную установку невозможно восстановить. Единственный вариант - сделать полное резервное копирование заранее, а затем выполнить откат вручную, если что-то пойдет не так. Может ли нетехнический человек сделать это? По моему опыту нет.
Предположим, все выглядит хорошо. Знает ли продавец, что все в порядке?
Как насчет безопасности? Как насчет проблем с производительностью? Что насчет проблем с обновлением?
Нет, не разработчик может оценить эти вещи.
Сообщение, которое сообщает Magento Connect, заключается в том, что ваш магазин Magento легко расширить, установив Magento без разработчика. Возможно, в торговой точке было бы удобно сказать кому-то, что это так, но это просто не соответствует действительности.
Что я испытываю в основном, так это то, что в общении необходимость разработчика просто подразумевается, а не сообщается. В результате многие владельцы магазинов ломают свой магазин, устанавливая расширения. Это стоит денег, времени, нервов и репутации Magento и разработчика.
Мне нравится, чтобы у моих классов был явный интерфейс, и я считаю, что было бы хорошо, если бы требование разработчика для Magento также было бы сообщено явно.
Выводы
Это совсем не хорошо для экосистемы, даже если исправление неработающих сайтов приносит доход некоторым разработчикам Magento. Те же деньги могут быть использованы для создания реальной стоимости для клиентов торговцев.
В Твиттере кто-то сказал, что торговцы - это взрослые люди, которые могут сами решить, установить расширение или нет. Я не согласен. Если продавец не является разработчиком в то же время, он не может принять решение самостоятельно.
Magento Connect не должен позволять нетехническим людям стрелять себе в ногу.
Лично мне надоело видеть испорченные установки Magento из-за расширений. Я предпочитаю создавать вещи, которые просто убирают беспорядок.
Я думаю об удалении моих расширений из Magento Connect, потому что я больше не хочу поддерживать ошибочную идею.
Решение
На мой взгляд, решение легко и дешево. Речь идет не о создании еще одного нового расширения Marketplace , коммерческого или бесплатного. Это не технический вопрос, это все о связи.
Если Magento Connect заявит, что это ресурс разработчика, и что расширения должны быть проверены перед установкой, и что только разработчики должны устанавливать расширения, это не будет проблемой. Продавцы, которые все еще устанавливают расширения, делают это, зная риски.
Итак, вот три простых шага, которые сделают Magento более дружелюбным к торговцам:
Завершающие слова
Я люблю делиться расширениями. Я люблю с открытым исходным кодом. Я думаю, что сообщество разработчиков Magento - это круто!
Просмотр расширений - отличный способ учиться. Magento Connect не плохой, просто сообщение, которое он проецирует для нетехнических людей.
Каждый сайт Magento является приложением. Он уникален и должен рассматриваться как уникальная разработка.
В экосистеме должен быть общий консенсус в отношении того, что расширения могут быть полезны, но их установка чаще, чем когда-либо, не потребует написания или изменения кода и, следовательно, требует разработчика.
РЕДАКТИРОВАТЬ : я разместил некоторые менее техническую справочную информацию в моем блоге .
источник
У нас было много клиентов, устанавливающих расширения через Connect, и я знаю о многих тысячах сайтов, которые успешно используют наше расширение. Connect нуждается в обновлении, все знают об этом. Но, как поставщики технологических решений, мы должны делать наши продукты еще проще, и моя конечная цель в WebShopApps - достичь точки, где продавец может устанавливать, удалять и использовать расширение без участия разработчика, и я надеюсь, что следующая версия Connect идет каким-то образом, чтобы поддержать эту цель.
Нам нужен App Store. Потому что тогда это позволит разработчикам быть разработчиками, сосредоточиться на наших сильных сторонах, а не создавать собственный веб-сайт, поддержку, маркетинг и т. Д. При первом запуске. И это будет стимулировать инновации и обеспечит торговцам центральное место, где они смогут узнать о новейшем, лучшем и всем, что между ними.
Ясно, что существует огромное количество extns, которые нуждаются в помощи разработчика и, действительно, помощи поставщика extn, если бы мы могли объяснить, что более простым способом было бы здорово (например, сложность установки / настройки / целевого рынка / и т. Д.). Но есть много дополнений Plug / Play, мы не должны задушить их.
Может быть, это утопия, я не уверен, но разве мы не должны всегда стремиться к лучшему? Я лично искренне верю в возможность купцов. Они хотят сделать это, они хотят иногда лучше контролировать ситуацию (не всегда), и если вам приходится платить разработчику каждый раз, когда вы хотите попробовать что-то, что является неправильным IMO. Это должно быть в самом сердце стратегии роста МСП для Magento.
Я мог бы продолжать, но я не буду. Я не думаю, что там идет война;)
источник
Прочитав мнение других людей, я решил написать свое.
Я не приму этот ответ, потому что я так обещал. :) У
меня есть только расширение, опубликованное на Magento Connect (MC), из-за его последней политики.
Я разработчик, и я знаю только, как развиваться.
У меня вообще нет художественных навыков, единственное, что я знаю о Photoshop, - это то, что он существует, и с ним можно делать «вещи».
На мой взгляд, MC стал ориентироваться на торговца. При отправке расширения я должен загрузить красивую картинку в качестве логотипа расширения. Я понятия не имею, как их создать, и никто не предложил сделать их бесплатно.
Поэтому я ограничен в публикации своих расширений на github. Нетехнические люди не ходят на GitHub.
Я согласен, что есть проблема с тем, как работает MC, и он представлен прямо сейчас, но он представляет собой уважаемый авторитет и действительный источник расширений.
Я знаю, что есть много дерьмовых расширений, но наверняка создатели их не снимут их только потому, что их устанавливают не технические специалисты.
Я вижу, что доверенные разработчики, такие как Vinai или Tim, снимают расширения. Это не решение для экосистемы. Это делает это хуже. Но на самом деле есть решение для человека, который устал получать жалобы на расширения от людей, которые даже не читают файл «как» или, по крайней мере, что делает расширение.
На мой взгляд, образование лучше, чем ограничение.
Специально образование об ограничении. :). Разработчики должны отключить Magento Connect при развертывании веб-сайта. Это просто. Просто создайте файл
app/etc/modules/Z_z.xml
с этим контентом.Затем просто удалите
downloader
папку из экземпляра magento.Научите клиентов, что использовать расширение не значит просто установить его. Это требует обзора от технического лица.
Это мои 2 цента.
источник
Я думаю, что это действительно дело разработчика - удаление ваших расширений из соединения пытается заставить людей лучше управлять своей кодовой базой, поскольку они не могут установить их от администратора, но в то же время означает, что они гораздо реже могут найти расширение в первое место. В конечном итоге люди будут разрабатывать свои магазины именно так, как им нужно, будь то подключение или FTP для установки расширений, или использование лучшего репозитория -> настройка развертывания, и отсутствие расширений в подключении ни к чему не приведет. По сути, я придерживаюсь мнения, что вы просто стреляете себе в ногу, удаляя их из соединения.
источник
Мы забываем, как превосходно было «Connect», когда Magento впервые вышел. Это показало, что Magento была платформой разработчика, а не одним из тех проектов с открытым исходным кодом, которые никто не использует. Хотя «Connect» был полезен для обеспечения усыновления Magento, время шло, и я думаю, что люди ожидают, что с расширениями в наше время они будут чуть менее счастливы.
Лично я как разработчик предпочитаю проверять код расширения и проверять его на контроль версий. «Connect» должно быть больше похоже на это - вы загружаете tarball или git clone.
Я с @karen помогаю конечным пользователям в розничной торговле, а не «скрываю» от них вещи для разработчиков. Помимо всего прочего, небольшая прозрачность позволяет разработчикам быть честными: «на разработку этого модуля уйдет неделя, а на тестирование уйдет еще одна неделя…», это может быть правдой, но проверка на практике заключается в том, что подобный модуль доступен на «Соединении» становится все труднее оправдать ххх часы чем-то.
С такими модулями, как написанные командой @ karen, я бы предпочел, чтобы они были написаны и протестированы другими модулями при «подключении», установленном «конечным пользователем», любому произвольному коду разработчика (если он не написан Vinai), для установки которого требуется «разработчик». ,
источник
Мы (ebizmarts) удалили расширения из MagentoConnect в прошлом, за эти годы мы оставили только те, которые мы готовы поддерживать, и являемся финансово жизнеспособными для нас. Приняв эти основные правила, мы смогли держать поддержку под контролем, а продавцы / разработчики были довольны.
MagentoConnect в том виде, в каком он есть сейчас, работает только для составления списков, обнаружения и, в конечном итоге, рейтинга разработчиков (серая область, Карен оставила это открытым в MMNYC) Нам нужен лучший Рынок, куратор, проверенный и с сильной политикой качества, и даже имея это, мы все еще будем сталкиваться с проблемами, подобными описанным здесь, это в нашей природе создает проблемы, по любой причине, плохие вещи будут продолжаться, и не обязательно по вине торговцев, мы все знаем, что плохой разработчик в 100 раз хуже, чем «неграмотный» торговец.
Я верю в свободную волю и свободный рынок. Разработчики могут свободно использовать или не использовать MagentoConnect, продавцы (если они знают о последствиях) не должны путаться с эксклюзивными задачами разработчика (такими как установка расширений). Удаление расширения из MagentoConnect заставит рынок незамедлительно заменить его (да, Magento настолько велик), и новый вариант может быть, а может и не быть лучше или создавать меньше проблем для продавцов, чем предыдущий.
Простого и уникального решения этой проблемы не существует, но я согласен, что улучшение связи и введение некоторых ограничений, чтобы торговцам было немного сложнее установить расширение, помогло бы (простой контрольный список задач, которые нужно выполнить перед установкой, таких как резервные копии) , обзор кода разработчика, тестирование на сайте DEV и т. д.).
Я не думаю, что удаление расширений из MagentoConnect поможет сделать этот мир лучшим местом для продавцов, но мы, разработчики, должны оставлять только те расширения, которые мы стремимся поддерживать и улучшать, и мы должны взять на себя инициативу распространение хорошей практики, это на нас как сообщество.
источник
Нетехнические заинтересованные стороны не должны устанавливать расширения по моему мнению.
Magento Connect - это не App Store, и процесс утверждения не такой последовательный, как мне кажется, в отношении качества.
Magento Connect может быть хорошим ориентиром, но в большинстве случаев расширение не обеспечивает 100% соответствия требованиям. Возможно, хорошей идеей является управление Magento Connect через ACL, чтобы мы не шли на крайние меры по удалению расширений с официального рынка платформ.
По моему личному опыту, у меня есть пара платных расширений и одно бесплатное, которое есть как в Connect, так и в GitHub, так как в GitHub больше преимуществ с точки зрения возможностей. GitHub репо находится в описании в Magento Connect. Это не помешало пользователям загружать расширение и одновременно видеть код, а также делать вилки и выдвигать запросы с новыми функциями.
источник
Это действительно зависит от того, сколько работы разработчик хочет потратить на то, чтобы сделать его расширение надежным, сколько времени они готовы потратить на поддержку и требуют ли они плату за расширение. Поэтому, если вы считаете, что ваше расширение не должно быть установлено нетехническими специалистами, снимите его, если хотите, отсоедините его, но я не могу согласиться с общим мнением о том, что все расширения будут слишком требовательны к техническим навыкам для обычных пользователей.
источник
Magento Connect (MC) вводит в заблуждение некоторых продавцов / разработчиков-любителей, полагая, что MC служит своего рода магазином приложений для Magento.
Например, в MC они могут найти и установить расширения, которые могут претендовать на добавление некоторых функций на свой сайт Magento, но MC / расширения обычно ничего не говорят о потенциальных конфликтах между расширениями и модулями, рисками безопасности, проблемами со скоростью, последующими затратами и потерями разработчика. доходов, которые установка расширения может привести к их магазине Magento.
Невежественный продавец устанавливает расширение WHATEVER на свой действующий сайт, чтобы добавить некоторые функции. В конце концов, в какой-то цикл обновления или в новых бизнес-потребностях необходимо вызвать будущего разработчика, чтобы разобраться в полученном беспорядке кода, потенциальных угрозах безопасности и запутанных расширениях. Затем разработчик должен сообщить продавцу, что все расширения, которые он / она установил на MC, конфликтуют друг с другом, замедляя сайт для сканирования, потенциально подвергая данные клиентов, разрушая UX всего сайта, в то же время убивая продажи.
Возможно, предупреждения, направленные на торговцев, которые думают о добавлении расширения от MC, должны быть более масштабными и внушительными, с добавлением еще одного слоя отказов от ответственности.
Сообщество Magento действительно могло бы получить гораздо больше пользы от MC, если бы существовал активный, более заметный процесс обзора / обсуждения расширений. Расширения, которые рецензируются / тестируются или имеют более высокий рейтинг / рецензируются, должны рекламироваться и отображаться первыми Более выдающаяся система чести / значков, как у нас здесь, на SE, также помогла бы.
Сообществу полезно иметь MC, но оно нуждается в определенной доработке. Надеемся, что доработка произойдет до того, как уважаемые разработчики расширений покинут MC навсегда.
источник
Всегда учитывайте, что сама версия Magento Community Edition бесплатна для всех без официальной гарантии, и я думаю (как продавец), что это является одной из наиболее важных причин популярности Magento как самого всеобъемлющего (бесплатного) программного обеспечения для магазинов в мире, не в последнюю очередь потому, что из большого количества легкодоступных расширений в Magento Connect.
Специалисты, специализирующиеся на Magento, могут иметь изолированное представление о своем (не имеющем себе равных !!) программном обеспечении для магазинов, но, будучи маленьким начинающим торговцем, вы сравниваете каждое программное обеспечение для магазинов с другим, прежде чем начинать свой проект, и самой большой опасностью для Magento будет стать непопулярность, и это обязательно произойдет, если доступ к самому важному источнику для расширений Magento Connect будет ограничен.
В этом случае никогда не проводите различий между профессиональными разработчиками и («технически подкованными») торговцами. Вам не всегда нужно изучать компьютерную науку "10 лет", чтобы запустить собственный интернет-магазин (конечно, для оценки всей системы действительно нужны большие знания), но я, например, работаю с двумя хорошо сделанными книгами, чтобы установить до моего собственного магазина. В этих (написанных разработчиком) книгах описаны многие расширения с их преимуществами, недостатками и рисками для системы, так зачем мне запрещать эти (известные) расширения?
Также совершенно нереально нанимать разработчика каждый раз, когда вы хотите установить расширения, которые вы прекрасно знаете, только потому, что у вас нет к ним доступа. Торговец должен работать экономно! Это ваш собственный магазин, это ваша собственная ответственность, и НЕВОЗМОЖНО узнать о рисках того, что вы хотите сделать.
Итак, давайте оставим Magento CE таким, какой он есть: самая мощная в мире платформа для электронной коммерции, доступная каждому . Отсюда и популярность Magento.
источник
В течение некоторого времени мы редко устанавливаем расширения через Magento Connect исключительно потому, что клиент может войти в него, увидеть, что расширение устарело и попытаться обновить потенциально уничтожая любые модификации или ломая части своего веб-сайта.
Мы используем Magento Connect только для установки расширений, которые, как мы знаем, будут на 99% безопасны для обновления без какого-либо вмешательства, если клиент столкнется с этим.
Единственное преимущество использования Magento Connect, которое я вижу в любом случае, заключается в том, чтобы быстро увидеть, доступно ли обновление до расширения. Кроме этого, я не вижу никакой выгоды от установки через Magento Connect по сравнению с ручной загрузкой файлов в установку Magento вручную.
Даже если клиент технически настроен, я бы предпочел не давать им такой гибкости, чтобы потенциально взломать его веб-сайт, особенно если они удобно забывают сообщать обо всем, что он мог сделать сам, чтобы вызвать проблему. Это, по крайней мере, экономит нам время на отладку и их, дополнительные затраты на наше исправление времени, затраты, которые, я уверен, в долгосрочной перспективе они бы предпочли избежать.
Что бы это ни стоило, я думаю, что это хорошая дискуссионная тема, и я часто задавался вопросом о том, что делают все остальные, что работает в Magento ежедневно.
источник
По моему мнению, удаление расширения из Magento Connect не является идеальным решением ни с точки зрения разработчика, ни с точки зрения клиента.
Как разработчик, всякий раз, когда мой клиент хочет, чтобы на его веб-сайте была реализована новая функциональность, первым делом я проверяю, доступно ли какое-либо расширение, БЕСПЛАТНОЕ или КОММЕРЧЕСКОЕ, в Magento Connect, которое может удовлетворить требования моего клиента. Это как Google для меня, где мы можем искать запрос, и независимо от того, правильно или неправильно он предложит мне результат. Это полностью на меня, чтобы выбрать тот, который подходит.
Затем я получаю шанс оценить лучшее решение, а именно: мне нужно использовать БЕСПЛАТНО, перейти с КОММЕРЧЕСКОГО или внедрить его самостоятельно. В большинстве случаев я рекомендую все три варианта своему клиенту с временными рамками и указывать отдельно. При удалении расширения из connect будет выбрана эта опция или она станет более сложной, поскольку мне придется искать в Интернете поиск по расширениям.
Вместо того, чтобы удалять расширение из connect, мы должны попытаться сделать нашего клиента образованным. Что я делаю: всякий раз, когда мой клиент выбирает БЕСПЛАТНОЕ расширение, я прошу дополнительные часы на просмотр кода и, таким образом, чтобы убедиться, что код чистый. Более того, я объясняю клиенту недостатки использования чужого кода, и большую часть времени клиент понимает его и не имеет проблем, давая мне время оптимизировать код или перекодировать его.
Более того, всякий раз, когда я делаю сайт LIVE, я удаляю разрешение на запись из загрузчика, поэтому даже если случайно или из любопытства, если мой клиент попытается установить расширение, он не сможет этого сделать. Таким образом, это спасает как клиента, так и меня от невидимых рисков. Когда мой клиент приходит ко мне по этому поводу, я просто объясняю ему причину, и большую часть времени он благодарен за это.
С точки зрения клиента, чем больше бесплатных вещей вы получите, тем больше вас это привлекает. Простой пример - WORDPRESS. С таким большим сообществом и множеством бесплатных плагинов WordPress расцветает, как и все. Я думаю, точно так же, если мы хотим поддерживать рост и расцвет сообщества Magento, я бы сказал, что вместо удаления расширений из connect мы стараемся обучать наших клиентов.
Однако, если мы склонны удалить расширение из Magento Connect, мир magento будет покинут. Без форума сообщества, с удалением языковых пакетов, с исчезновением расширения это похоже на падение звезды.
источник