Невероятные приключения или немного про баги и последствия их устранения 🐞Честно говоря, заголовок я хотел сделать иным. Страдания. Секс с отрицательным контекстом. Но это слишком громко и некрасиво. Поэтому попробую описать простыми словами. Представьте, что вы уже практически закончили миграцию сайта, угрохали пару недель, в довесок поправили кучу деталей и внесли улучшалочки и все выглядит красиво! И тут перед самым запуском обнаружили баг, который не получается поймать.Именно это случилось со мной после миграции проекта с Joomla 3 на Joomla 5. Речь идет о Privacy Tool Suite. Данный функционал позволяет пользователю два действия: выгрузить логи своих действий на сайте или подать запрос на уничтожение персональных данных. Очень крутой встроенный компонент, который, между прочим, соответствует духу GDPR, да и нам для 152-ФЗ пригодится.Создаю пункт меню Privacy data и вместо вьюшки со списком действий Request type - Export / Remove
, получаю сообщение:
We're sorry, you can't submit an information request at this time.Я начал перебирать все возможные варианты:✔️ плагины приватности включены✔️ пункт меню имеет права publicНо самое главное - выяснилось, что на стороне панели администратора также пропала кнопка New. Начал дебажить, разбираться. Тут явно проблема с правами доступа. Но Privacy Tool Suite не имеет вкладку с настройками доступа (permissions).ЭкспериментыЯ потратил вечер одного дня и целый следующий день до вечера. Это больше, чем полный рабочий день. Я создал еще несколько клонов сайта, снова попробовал мигрировать с тройки на пятерку, в первом случае снова пропала настройка, во втором - нет. Начал свой излюбленный прием, который я называю «раздеванием сайта». Это когда, как с цветка, срываешь по лепестку - отключаешь одно расширение и проверяешь, отключаешь второе - проверяешь. И так последовательно убираешь на сайте все сторонние расширения, чтобы проверить теорию, что какое-то из них приводит к конфликту. Тупая, нудная работа, требующая внимательности и сосредоточения.И знаете в чем оказалась причина проблемы? В настройках Send mail! Я проводил миграцию на промежуточном полигоне и отключил возможность отправки сообщений на период проведения работ. Я угробил полных 12 часов рабочего времени на то, чтобы выяснить, что дело было в этой скромной настройке!! Эти 12 часов стресса, недовольства, тщенного поиска причины. Какие выводы можно из этого сделать?✔️ 1. Веб-разработка таит в себе коварство в виде плавающих багов. ✔️ 2. Пример, который я привел - это стресс. Ты понимаешь, что вот же где-то настройка или что-то сломалось при миграции. В итоге уже собирался заново пересобирать весь сайт, проведя миграцию с нуля. И чисто случайно, при отключении расширений нажал на настройку отключения отправки почты при очередной итерации в виде разворачивания копии сайта. ✔️ 3. Так вот. Если это и можно сравнить с сексом, то только исключительно в негативном контексте. Почему? Потому что вместо положительных эмоций от работы над проектом ты испытываешь негатив, так как понимаешь, что не можешь сдать работу, а как поправить баг - непонятно. ✔️ 4. В итоге, когда баг побежден, ты понимаешь, что никто, абсолютно никто кроме тебя не оценит степень значимости этой маленькой победы. ✔️ 5. И самое главное - ты постоянно думаешь о том, сколько времени ты теряешь на ерунду и сколько всего полезного можно было сделать за эти 12 рабочих часов, ведь время - деньги!💡Совет: если сталкиваетесь с плавающим багом, пользуйтесь моим методом последовательного отключения расширений и пошагового повторения действий с проверкой результата в отдельной вкладке.Но посыл данного сообщения: показать изнанку процесса разработки и поделиться соображениями, как же важно не сливать время на ерунду, а если это происходит, то это лично ваша маленькая победа, по поводу которой уже не остается сил порадоваться. Поэтому при работе закладывайте в бюджет время на решение подобных ситуаций. Иначе будете переживать по поводу упущенной выгоды при разборе багов.