Я просто оставлю это здесь )
|
Денис Диденко, Спасибо, статья действительно интресная, страно не видел ее раньше. Есть идеи как это сделать на базе моего проекта?
Единственное объясни, какой черт нам при разработке полностью контолировать базу? Полный контоль базы имеет минусы. Допустим привязка к конкретной лицензии, куча служебный таблиц, типа этой: . Которые по факту приразработке не нужны. Мне кажется надо двигаться в направлении стадартых средств обновления. поддержка решений и модулей, которые будут обнавлять свои таблицы и грузить данные. То есть если измениния базы происходят в контектсте нашей работы, то это логичнее запилить в модуль или решение. И использовать написнную в будущем команду bitapp для обновления модулей А если эти обновления приходят с обновлениями стороних модулей, просто забить. И просто грамотно тестировать разрабатываемы продукт, что бы выявить отклонения работе системы. Честно, хотелось бы максимально плотно использовать возможности самой системы битрикс, потому что мы имеем продукт, на развитее которого мы не влияем, но использовать приходится. Готов к дальнейшейму обсуждению, тема интересна... |
|
|
|
|
|
|||
|
|
|
|
|||||||
|
|
|
Это мне помагает разобраться в битрикс, и это сокращает время моей работы в перспективе. Я не хочу более обсуждать нужно, то что делаю или нет. Я считаю нужно и буду продолжать и если это поможет еще кому-то буду рад. Этот проект Оpen Source и я всегда рад помощи и любому совету по существу. |
|||||||||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||||
|
|
|
Да у Битрикс код не идеальный, но именно это код у тебя работает. + есть официальные курсы (бесплатные и опубликованные здесь) и api- документация.
Роль хорошего учебного пособия по Битрикс будет реализации интернет-магазина в параллель с чтением доков и попыткой реализации всего согласно идеологии Битрикс, а не так как побыстрее. |
|||||
|
|
|
|
Владимир Полухин,
Я человек, работаю один и конечно иногда могу забить @уй, это же для себя, а не для заказчика. Но в целом какая разница какой проект. Почитайте о TDD, BDD. Это методики разработки, которые упрощают жизнь разработчику. Тесты это не требования для ТЗ, это нечто не разделимое с кодом приложения))). |
|
|
|
|
|
s909,
Одно рабочее место основное Но возникают ситуации, когда приходится на другом рабочем месте + срочно надо внести какую-нибуть правку в проект. Тут вариантов несколько. 1. Все держать в репозитории не приемлимо. сколько файлов в чистой установке без кеша и решений я описал выше. 2. Таскать все на флешке, флешку можно забыть-потерять, да и тогда мы искльчаем бонусы контроля версий. 3. хранить в репозитории только свои файлы. Но тогда надо сначала развернуть битрикс, поставить доп. модули, сверху накатить свои изменения, обновить базу. Все это я просто хочу автомотизировать и сократить до одного двух действий. У меняя за нескосколько лет уже наладился такой алгоритм работы. 1. Развертывание рапозитория. 2. Прогон тестов. 3. Написание теста для новой функциональности 4. Написание реализации 5. Прогон тестов 6 Коммит в репозиторий. В этом случае я точно уверен, что работу я выполнил. Иначе получается бардак. Так же консольные утилиты очень удобны для для быстрого развертования в тырнетах. Например используя vargant + косольную установку на чистой vps можно автоматом разверуть php, nginx, и нужный сайт. Приэтом не тра@ясь установкой и настройкой. Или же развернуть нужную конфигурацию у себя на виртуалке. Это я все к тому, что на таких мелочах много времени тратится, А мое время это деньги заказчиков) |
|||
|
|
|
|
Евгений Задорин,
-фикстуры миграции
|
|||||
|
|
|
|
Евгений Задорин,
В целом решение будет opensource, Чуть позже залью на гитхаб, сейчас не могу потому что в текушей реализации, есть код, который использует битрикс для генерации триальных ключей, и выкладывать такое в паблик я не могу. В двух словах о реализации, решение сейчас достаточно "хардкодное", ввиду того что сейчас ориентированно только на текущий проект Общая структура проекта такая:
Само приложение реализованно на symfony/console. Опишу только ключевые моменты 1. [05:32:32 nonlux@localhost:~/projects/kavsm] $composer install Компосер загружает в необходимую версию битрикс с в вендор 2. $bin/bitapp bitrix: dump:standard Тут просто, в папку /web из папки /vendor/bitrix/standard копируюся исходника битрикс + Копируются файлы из папки /fixtures/strandard -У меня здесь лежит модуль битрикс live api + я сделал некоторые правки в ядре :oops: , что убать нотисы 3.$bin/bitapp bitrix:install Устанвкой в битрикс занимается CWizard c пределенными СStep Я унаследовал их убрал "умирания" в итоге получил точную реализацию установки в консоли конфиги сейчас , обычный массив в котором указаны основные параметры установки, типа кофгурация базы, использование utf8, пароль администратора. 4. $bin/bitapp bitrix: dump:kavsm ну так из папки fitures/kavsm в папку /web копируется файы текущего проета + заливается база данных в дву словах как то так |
|||
|
|
|
|
Dmitry Ban
Главное что бы было не вежливо, а содержательно. Для себя давно сделал вывод, что для эффектирной работы, крикание мышкой в браузере неприемлемо.По этому мой вопрос скорее такой: Я толком не знаю битрикс и не понимаю, как мне перестать тыкать мышкой в панели администратора и наконец начать писать код, абсолютно не открывая браузер, и при этом получить готовый сайт. Вот что я для этого сделал (специально в консоли добавил время вывода, чтобы было видно сколько времени отнимает задача по развертованию рабочего проекта на новой машине):
Поясню по порядку: Считаем, что на компьютере установлен git, php, composer. В наше репозитории хранятся только наши файлы от текушего проекта(ни одного файла ядра нет). 1. Получаем наш репозиторий и ставим нужные зависимости (behat, phpunit)
2. Разворачиваю Битрикс: управление сайтом-стандарт ( данное действие равностильно, выкачиванию, нужной версии битрикс, и разворачивание его на сервере)
3. Установка битрикс, по ранее заданному конфигу. (Использует нативный визард битрикс, который производит установку)
|
|||||||||||
|
|
|
|
Андрей Гаврилов, почему сразу агрессия?
|
|||||||||
|
|
|