Коллеги, предупреждаю, всё описанное в данном топике является ВРЕДНЫМ СОВЕТОМ. Я рекомендую не пытаться повторить мой эксперимент, поскольку он может привести к некорректной работе устанавливаемых модулей. Однако знать о подобной возможности следует в первую очередь новичкам, которые могут столкнуться с проектом, где такой метод использовался.
В ходе эксперимента не пострадало ни одного сайта и ни одного правообладателя. Я приношу свои искренние извинения Роману за то, что эксперимент проводился на его модуле.
Просто оставлю этот пост здесь для того, чтобы не искать.
Иногда бывает так, что никто ничего не трогал, но вдруг неожиданно вместо сайта висит FatalError с некой функцией. Вдвойне обидно, если это ошибка на какой-нибудь модуль из Маркета (с такой бедой даже в техподдержку не пойдёшь ведь): Вдвойне обидно, если после возврата к бекапу от числа, когда всё 100% работало система работать не начинает. Не помогает и удаление модуля и комментирование проблемного куска. Это говорит о том, что проблема вовсе не там, где мы её наблюдаем и ищем. В моём случае истинная проблема выглядела так:
Class: CHotKeys File: /var/www/u2302529/data/www/xn--80ahcjeib4ac4d.xn--p1ai/bitrix/modules/main/classes/general/hot_keys.php
Line: 764
MySQL Query Error: SELECT * FROM b_hot_keys WHERE (1=1 AND ( USER_ID=1 ) ) [Unknown table engine 'InnoDB']
Увы по подобным ошибкам для 1С-Битрикс мало что ценное удаётся найти, а применительно ко всему остальному интернету рекомендации сводятся к "поправь конфиги сервера БД" и "перезагрузи сервак".
В чём проблема? У меня проблему удалось детектировать с помощью SQL запроса:
SHOW ENGINES
Это дало: Как видим здесь вообще не фигурирует InnoDB!!!
Если вы (как и я в этом случае) обитаете на виртуальном хостинге и не можете ни конфигурировать сервер, ни перезапускать - обратитесь в Техническую поддержку хостера (если ещё этого не сделали, а если сделали, то проделайте аналогичные манипуляции и покажите им результат). Таблицы вашей Базы данных работают в режиме InnoDB, но самой системы нет! А должна быть! Никакие "запросы" или "утилиты" не помогут пока система не появится. А сама проблема может вызывать другие и маскироваться под целым слоем ошибок, никак не связанных с другими компонентами системы, которые вы будете ругать.
Вывод.
Видишь на сайте под 1С-Битрикс Unknown table engine 'InnoDB' - иди к админу.
P.S. альтернативный вариант - перевести базу на работу в режиме MyISAM. P.P.S. вывода "видишь непонятную ошибку, закомментируй этот кусок кода" не делаю - какой-то он... с запашком, в общем... Но иногда только так и доберёшься до реальной ошибки.
У всех разные процессы деплоя. Я вполне допускаю, что кто-то использует git только в IDE для того чтобы пушить на боевой сервер, либо на сервер сборки, откуда например вебхуками код уйдёт на бой. Впрочем даже в последнем случае наверное иногда возникает потребность зайти на бой по ssh и сделать в системе контроля версий НЕЧТО (откатиться, например).
Так вот, мой опрос именно про то, используете ли вы GIT именно на боевом сервере. Ну и если используете, то какие обычно операции выполняете. Если какие-то операции выполняются редко, но регулярно (например, раз в месяц), то интересно было бы узнать в комментариях что это за такие особые сценарии
Набор из 10 уроков (не считая вводного с разметкой шаблона на области) - это лишь начало цикла. Каждая статья описывает работу максимально подробно (вплоть до описания последовательности нажатия кнопок для создания инфоблока), но с учётом ранее поданной информации.
Сегодня опубликовал модуль с библиотекой GIT.PHP в маркете.
Исходный код в GitHub -
Обращаю внимание, что модуль не содержит никакого GUI. Это просто (пока) подключение библиотеки в Битриксе.
Есть (некоторые уже могли видеть её в Google+, я опубликовал её не дожидаясь модерации).
Отдельное спасибо коллегам за статью - - замотивировало всё-таки обернуть.
Есть желание добавить настройки модуля (множественное свойство с адресами репозиториев сайта по крайней мере, возможно страница с управлением каждым из них (статус, лог, создание коммита, пуш в удалённый репо, пулл оттуда). Но очень лень.
Ещё перед новым 2016 годом стартовала пробная сдача очных экзаменов в которой я принял участие. Странно, что до сих пор из других участников не поделился своим опытом. Ну, поскольку теперь эта сертификация объявлена обязательной для получения партнёрского статуса с определённого момента (см партнёрский блог 1с-битрикс), поделюсь своими впечатлениями.
На Хабре опубликована статья "" - прошу поддержать меня!
В статье некоторые вещи опущены, некоторые упрощены. Ряд решений сознательно "не оптимальны", однако статья писалась для не опытных разработчиков, с целью создания УРОКА. Это пошаговая инструкция и демонстрация. Прошу поддержать, если такой материал кажется вам полезным.
С началом декабря все партнёры активизировались - предновогодний высокий сезон стимулирует. за 2 дня после выпуска неплохо подросло в ТОПах (благо бесплатное). Однако есть и грустные моменты. Начну издалека.
Зачем разработчики делают бесплатные решения для маркета? Я вижу несколько основных причин:
изучить технологию, опробовать, научиться (примером является мой "")
делается что-то "для себя" и публикуется "поскольку не жалко" (пример - моя же "")
для рекламы себя любимого, как правило ссылкой с сайта, использующего ваше типовое решение (опять же мой "" и новый "")
для рекламы своих услуг (в том числе по интегрированию этого самого решения) (примеров не будет, т.к. это граничило бы с обвинениями на мой взгляд)
для рекламы других своих решений (например, ПАЛ одно время рекламировал "", что не помогло последнему)
для продажи каких-то своих доп продуктов (это все бесплатные платёжные шлюзы и онлайн консультанты)
Как видим, довольно узкий набор. Покупки внутри приложений обсуждались с партнёрами уже больше года назад, но видимо "не взлетели" (да и не верю я в них). Пожертвования не работают (я встретил всего 1 такую попытку, когда человек купил лендинг Парфюмерии с целью сказать спасибо за бесплатный ПАЛ).
Как видим, первые 2 варианта некоммерческие, последние 3 имеют серьёзную специфику и рискуют натолкнуться на Правила Маркета. Оказывается использование Маркета как рекламной площадки запрещено... Остаётся мой "любимый" пункт про ссылку из решения. И есть только 1 загвоздка... Дело в том, что наши пользователи не хотят сохранять ссылку на автора. Я и сам этим грешу (ну по крайней мере в прошлом точно грешил, сейчас вроде бы стараюсь держаться приличий). Моё типовое решение "Простой Адаптивный Лендинг" пережило 1600+ установок (считая установки в виртуальной лаборатории и на демо сборки). Я знаю как минимум о 100+ работающих копиях (часть из которых помогал кастомизировать или устанавливать). И 99% из них (если не 100%) удалили мой копирайт. Откуда я это знаю? Потому что я внедрил "защиту". Я не предъявлял претензий никому, ибо не было письменных договорённостей, что люди должны оставить копирайт (а совести у них не нашлось), поэтому я не предъявлял претензий никому из установших решение, просто с какой-то версии прошил ссылку жёстко и скрытно. Однако задумавшись над новым типовым решением я захотел быть прозрачнее и честнее.
Зачем нужна кастомная лицензия? Когда мы устанавливаем БУС мы читаем и принимаем лицензионное соглашение. Оно проприетарное. А в природе таких лицензий существует вагон и маленькая тележка. И некоторые из них в свете вышесказанного мне нравятся больше. Например те, что требуют сохранения ссылки на автора. А ещё в своём решении вы можете использовать чьё-то чужое решение. Как я. "Сайт STURTUP'а" базируется на решении . И наши индийские друзья хотят очень немногого. Они хотят 8$ за право снять из копирайт. Но платить им надо напрямую, т.е. с маркетом 1С-Битрикс не интегрироваться. И платить надо ДО того как снимешь ссылку. А платежи из маркета приходят... В общем, кто продаёт модули знает как они ходят... Что делать в таком случае? Добавлять свою кастомную лицензию. Я просто добавил шаг в мастер установки, где необходимо поставить галочку.
Как "гарантировать" постановку копирайта в бесплатном типовом решении для маркета Битрикс? Правильный ответ - никак Неправильный ответов у меня 2:
1) см - просто зашить ссылку внутрь шаблона максимально незаметно (использовать склейку домена из нескольких кусков, инклуды и прочую ересь по вкусу. Скрыть от юзера с помощью CSS. Риск для пользователей - санкции от Яндекс/Google за клоакинг. Риск для автора - вашу хитрость раскусят и будут ругать
2) см - добавить и в модуль какой-нибудь хитрый функционал, который будет проверять наличие ссылки на странице. Мне было лень, я сделал очень просто (любой программист найдёт за 5 минут и поправит за 1 секунду). Надо понимать, что городить полноценный DRM дело довольно гиблое. Я например, ничего не шифрую, не обфусцирую и не прячу. Я делаю не защиту, а удобный инструмент информирования пользователя:
храним в настройках модуля ключ (генерируем на основе ключа БУС для уникальности)
специальным компонентом выводим копирайт. Если в настройках есть ключ, то разрешаем копирайт убрать или заменить
другим компонентом проверяем наличие на странице первого и выводим JS уведомление
Ещё раз повторю - я не собирался защищать решение. Если у вас хватает навыков убрать оба компонента и вы считаете, что вы имеете на это право без ключа - делайте. Я ничего не могу поделать с вами (и не хочу). Более того, я получил от авторов оригинального дизайна примерно такой же ответ:
OK, it's not a problem. However, it should be borne in mind that even a reference to myself, users often removed. I can not take responsibility for their actions. = (
Именно поэтому всем пользователям решения "Сайт STARTUP'а" я предлагаю на выбор типы лицензии:
Бесплатная лицензия Решение STARTUP распространяется бесплатно при условии соблюдения лицензии:
Лицензионное соглашение
Вы не можете удалять ссылку на авторов шаблона и решения без приобретения РАСШИРЕННОЙ ЛИЦЕНЗИИ.
Вы можете использовать шаблон и решение в своих личных и коммерческих целях.
Вы можете изменять шаблон и решение для себя и своих клиентов.
Вы не можете перепродавать решение и шаблон третьим лицам.
Для использования решения без указания авторства дизайна Шаблона компании GrayGrids и интеграции с 1С-Битрикс Задойного А.В. возможно в рамках расширенной коммерческой лицензии либо ограниченной лицензии. Бесплатный лицензионный ключ FREE
Ограниченная лицензия Может быть выдана автором решения по запросу. Ограниченная лицензия в отличие от бесплатной позволяет снять копирайт автора интеграции с 1С-Битрикс (но не копирайт GrayGrids). Ограниченная лицензия может быть предоставлена в случае:
Вклада в функционал решения (рекомендуется в запросе давать ссылки на конкретные Pull Request'ы из GitHub)
Ссылки на сообщения и социальные группы (до 27 января)
Как приобрести ограниченную лицензию бесплатно (до 27 января 2015) почти ничего не делая
Расскажите о мероприятии "Открой Настоящую Данию" в своём блоге или на сайте с указанием ссылки события, сделайте ретвит любого официального сообщения в twitter или репост в Facebook/Instagramm/Вконтакте.
Напишите автору решения на с описанием вашего подвига (и желательно ссылками на ваши сообщения)
Укажите код лицензионного ключа 1С-Битрикс сайта для которого планируется использовать решение.
В случае подтверждения получите 1 лицензионный ключ абсолютно бесплатно.
Помощь в установке решения на сайт под управлением 1С-Битрикс
Замена контента предоставленным заказчиком
Возможность указать в копирайте произвольную информацию
Приоритет в приёме заявок на разработку нового функционала
Лицензия Graygrid на шаблон Startup
Правила лицензирования:
Устанавливая решение вы принимаете лицензионное соглашение, указанное выше
Лицензируется каждый ключ 1С-Битрикс отдельно:
Все сайты на 1 ключе (многосайтовость) могут использовать решение в рамках 1 расширенной лицензии
Для использования решения в режиме расширенной лицензии на 2 и более лицензионных ключах 1С-Битрикс (разные сайты) необходимо приобретение соответствующего числа расширенных лицензий.
Лицензия на решение STARTUP выписывается на конкретный актуальный ключ 1С-Битрикс** (для генерации ключа потребуется передача ключа автору решения, либо предоставление доступа к сайту)
Лицензируются только активные коммерческие и NFR ключи 1С-Битрикс (не лицензируются DEMO ключи)
Ключ не может быть перевыпущен для другой лицензии 1С-Битрикс (необходимо повторное приобретение лицензии)
* - стоимость указана по состоянию на 25.11.2015 и может быть изменена в связи с изменение курса $ и другими факторами (в связи с тем, что лицензия включает сублицензирование у GrayGrids, оплачиваемое в долларах США) ** - для генерации ключа потребуется передача ключа 1С-Битрикс автору решения или адреса домена, привязанного к лицензионному ключу при регистрации, либо предоставление доступа к сайту.
Заключение Идёт ли всё вышенаписанное вразрез с имеющимися правилами Маркета? Идёт. Но честно говоря я не вижу просто другого способа для реализации такого решения другим путём.
Неожиданно быстро прошло модерацию (напомню предыдущее весьма популярное было ) Честно говоря, решение "долгострой", поскольку пилилось в свободное время и "для души". Как всегда есть и приветствуются на пуллреквесты, так и Issue. Решение содержит внутри себя другой мой бесплатный модуль "микроразметка Schema.Org" (и при установке можно выбрать вариант сайта сразу с разметкой). В ближайшее время отправлю в маркет на модерацию новость с описанием решения, поэтому пока прошу просто устанавливать и/или смотреть онлайн демо.
В общем, делюсь по большому счёту радостью. Оригинальный шаблон доступен тут - (впрочем, я его немного дополнил ништяками вроде карты, микроразметки и детальной страницы новости)
P.S. планирую наконец сделать то, что нужно было совершить лет эдак 5 назад - заредизайнить кофедизайн.рф и перевести на этот шаблон. Но для этого нужно собраться с силами, а я ж ведь и на этот простенький модуль убил прорву времени.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».