+38(073) 413-59-71  info@binliz.org.ua

Велика робота по транспорутванню сайту на Laravel (перший етап).

 11.09.2019
Перспектива

Для чого цей сайт? Або історія ідеї та її реалізація.

10 років назад а саме в 16 вересня 2009 року було створено, опубліковано, і дано початок в боротьбі за свій власний інформаційний простір сайт Переспектива. 19 вересня цого ж року була опублікована перша стаття (новина) під назвою "Йти, їхати, боротись". Саме ця новина дала назву, можна так сказати переконання в тому, що із данного ресурсу в майбутьному вийде ідеальне сховище унікальних знань про наше місто та його околиці.

Отже, яка мета? Першою і найважливішою метою створення данного сайту було бажання мого батька і в даному випадку основного і редактора ресурсу - збереження інформації у глобальній мережі інтернет. Таке собі постійне сховище данних, для приватного використання та росповсюдження інформації для зацікавлених. Так ми можемо сумніватся у тому, що дане сховище є надійним, і 100% знаємо, що навіть найбільші ресурси страждають на таку недугу як втрата інформації. Але можемо констатувати факт, що ресурс вижив і втілив саме перше побажання його замовника.

Є досягнення, які ж помилки?

І так перша мета була досягнута в перший же день обрано систему управління сайтом на базі MODX Evolution 1.0.2 т.я. на той момент система показалася достатньо потужною і задовілняла всім потребам ресурсу. Почалася велика робота по створенню сайту. Основні функції сайт одразу ж і виконував. Але значною мірою не відповідав по швидкості. А саме при створенні інформаційного ресурсу важливою частиною є пошукова система сайту.

Першим і не дуже вдалим рішенням було використання пошукового модуля від самої MODX, пошук виявився вийнятково невдалим, та ми на цьому не зупинилися. Отримавши проблему і головну біль почалися пошуки більш вдалої системи пошуку. На той час гугл вже презентував свій плагін для пошуку і було прийнято рішення використати його, і знво невдача. Пошукова система гугл дуже довго індексувала сайт і нові статті з'являлися в пошуку не одразу.

Потрібно було із цим щось вирішувати. На допомогу пришла технологія sphinxserach. Яка вирішила подальшу долю сайту. Хостинг - не підтримував її і взагалі не був надто потужним, щоб сайт міг якось розширятися, тому було прийнято рішення переходу на vps, це було дуже боляче адже фінансування сайту як в принципі і на даний момент будо відстунє. Зате ми отримали ідеальний пошук, який шукав швидко і використовував морфологію.

Далі було дуже багато інших нововведень, які чесно кажучи не прижилися. Було бажання інтегрувати форум, але саме причина відстутності форума із коробки і дуже невдала як на мій погляд система авторизації привела до того, що якісно форум, на той час був обраний phpBB так і не був інтегрований, врахвуючи те, що він мав ще додаткову адміністартивну панель а авторизація в MODX була для WEB і адміністративної панелі різною - форум потім взагалі був вилучений із системи т.я. створював додаткові проблеми в безпеці сайту. Також ті проблеми були і в самій MODX Evolution неодноразово сайт попадав під атаку вірусів по причині явних дірок в файловому менеджері який слугував для загрузки картинок на сайт. Кожного нового релізу системи MODX автор сайту чекав як манни для того, щоб отримати хоч і не стабільну але більш захищену систему.

Були деякі спроби оптимізувати запроси до сторінок, створення різних фільтрів з використанням різного роду готових сніпетів та розробка своїх. Прийшлося створити деяку объектну структуру яка працює і на даний момент, а саме інтегрувати компоненти з інших врефмворків для більш адекватної і стабільної роботи системи. Вони були по суті такими обгортками над MODX і частково перебирали логіку роботи системи на себе. Але як кажуть кожна система накладає певні незручності на її використання. В MODX дані незручності пов'язані на початкових етапах з тим, що весь програмний код повя'заний із виводом даних зберігався у базі данних а не у файловій системі. Так потім добрі люди зрозуміли як це обійти але це костиль а не рішення тому що всеодно у базі даних як мінімум зберігається посилання на файл який потрібно відкрити. 

Коли стало ясно, що підтримувати розробники дану систему більше не будуть - виникло бажання швише змінити її та на щастя зявився Дмитро Лук'яненко (Dmi3yy) який зробив вилку від основної системи і додав саму основну функцію - це файл autoloader.php до якого легко підключався композер який і мною був до цього вже туди встановлений але постійно приходилось після кожного оновлення використовувати скрипт який модифікував системні файли, щоб його по новому туди "всунути". Також ним було пророблена колосальна робота по стабілізації системи, по внесенню в неї нових можливостей і якщо сказати зараз, що дану систему легко можна і на сьогоднішній день використовувати як щвидкий старт і вона буде достатньо конкурентною. 

Що вже зроблено?

Я зупинився на версії 1.4 і більше не намагався оновлювати систему лише коли були якісь явні дірки в безпеці, так як по троху розроблював план переходу і не дивно сама команада Дмитра також громко заявила про перехід на нову систему але із підтримкою старої, вони вибрали шлях Laravel я рік тому також, але щоб його реалізувати я не почав видумувати як підтримати стару систему і не намагався навіть побудувати структуру і всі залежності вони мені не потрібні, а по троху по можливості реалізовував нову. І так навколо папки public почала з'являтися структура, додалися компоненти з symfony та laravel почалось реалізовуватися API із представленнями даних. В общому закрутилося. Частково я ще трохи підтримував старий сайт на плаву і зараз цим займаюся, додавав деякі візуальні покращення, декілька разів змінював інтерфес сайту, але зробити із нього саме портал - буде дуже боляче тому і не намагюся. 

Ми проаналізували, що шукають люди, чим цікавляться, як реагують на інформацію. Інтегрували сайт у фейсбук і телеграм та все ж є бажання більшого.

І гучна заява

Отже три зелених свистка на старт подано! perspekt.org.ua йде новим шляхом який буде створювати із простого сайту новин і статей, те чим він зараз називаеться - Портал.