Не изменяйте ядро
Предупреждение
В целом, вы не должны изменять файлы, не являющиеся конфигурационными, которые поставляются со сторонним программным обеспечением, таким как Elgg.
Лучший способ кастомизировать поведение Elgg — это установить Elgg как зависимость composer и использовать плагин для хранения модификаций, специфичных для вашего приложения, и изменять поведение через богатый API плагинов Elgg.
Если вы хотите поделиться кастомизациями между сайтами или даже опубликовать свои изменения как переиспользуемый пакет для сообщества, создайте плагин, используя те же API плагинов и структуру файлов.
Это затрудняет получение помощи
Когда вы не делитесь той же кодовой базой, что и все остальные, другим невозможно узнать, что происходит в вашей системе и виноваты ли ваши изменения. Это может расстроить тех, кто предлагает помощь, поскольку это может добавить значительный шум в процесс поддержки.
Это делает обновление сложным и потенциально катастрофическим
Вы наверняка захотите или будете нуждаться в обновлении Elgg, чтобы воспользоваться
патчами безопасности
новыми функциями
новыми API плагинов
новыми улучшениями стабильности
улучшениями производительности
Если вы изменили файлы ядра, то вы должны быть очень осторожны при обновлении, чтобы ваши изменения не были перезаписаны и чтобы они были совместимы с новым кодом Elgg. Если ваши изменения потеряны или несовместимы, то обновление может удалить функции, которые вы добавили, и даже полностью сломать ваш сайт.
Это также может быть скользким путём. Множество модификаций может привести вас к процессу обновления, настолько сложному, что он практически невозможен. Есть много сайтов, застрявших на запуске старых версий программного обеспечения из-за выбора этого пути.
Это может сломать плагины
Вы можете не осознавать до гораздо более позднего времени, что ваше «быстрое исправление» сломало, казалось бы, несвязанную функциональность, от которой зависели плагины.
Резюме
- Сопротивляйтесь искушению
Редактирование существующих файлов быстро и легко, но это сильно рискует поддерживаемостью, безопасностью и стабильностью вашего сайта.
При получении совета подумайте, будет ли человек, говорящий вам изменить ядро, рядом, чтобы спасти вас, если вы столкнётесь с проблемами позже!
- Применяйте эти принципы к программному обеспечению в целом.
Если вы можете этого избежать, не изменяйте и сторонние плагины по тем же причинам: авторы плагинов также выпускают новые версии, и вы захотите эти обновления.