Мої перші враження від Flarum
Я знаю, що тема вибору рушія для форуму й досі актуальна для адмінів, тому лишу деякі спостереження після свого першого досвіду користування Flarum (https://flarum.org) впродовж місяця.
Сподобалося
- Мінімалістичний. Якщо порівнювати з популярним Discourse (https://www.discourse.org) - я не втопився в налаштуваннях, а також не мучусь з усіляким задротним JS типу кастомних Ctrl+F (та їх вимиканням)
- Зручно писати довгі дописи, статті. Усі навороти організовані модулями, я просто вимкнув BBCode і лишив Markdown, тому усі мої попередні дописи вдалося просто портувати. Також тут зручна форма редагування: вона влаштована так, що вікно можна просто масштабувати, при цьому текст вирівняно до ширини реального блоку стандартної теми; оновлення існуючого блоку відбувається прямо під час написання.
- Правильна архітектура на базі Symfony / Laravel: це значить що тут використовуються промислові, перевірені часом стандарти, а не самопал. Це трохи ускладнює модифікації в плані часових витрат на розгортання середовища але воно того варте, плюсую.
- Є більш-менш робочий сценарій перегляду форуму без JavaScript. Це може бути зручно для користувачів Інтернет в плані SEO просування а також альт-мереж, в плані приватності - бо тут часто зустрічаються садомазохісти що орієнтуються без ~світла~ JS.
- Адаптивність: підтримка мобільних пристроїв і світла/темна теми з коробки (для другої версії рушія) - останнє це суб'єктивно важливий фактор на мої "професійні" очі.
Не сподобалося
- Повільний. Реально настільки, що я спочатку не розумів які такі функції працюють на бекграунді, але вимкнувши дебаг режим, інших не знайшов. Тут можна грішити на SSD і той факт, що я не налаштував сесії в пам'яті, але в мене на цьому ж диску працює βtracker (btracker-bittorrent-tracker-in-rust.gmi), який швиденько собі шукає по нинішнім 500 торентам, враховуючи час на bencode парсинг, scrape та повнотекстовий пошук файлів, яких там буває до десятка тисяч на торент. Не знаю коротше, поки загадка для мене.
- Немає RSS з коробки. Це сабж другої версії рушія, котру я поставив від балди як "профі" не боючись бета-тестів і можливих доопрацювань - я потім не хочу мігрувати, мені простіше почати з другої. Отже, я поцікавився (https://discuss.flarum.org/d/38016-rss-feed-for-v2) сабжем, та зрозумів, що адміни ультра-модні, RSS для них вже не камільфо - враховуйте.
- Немає української локалізації і покищо хз як натягнути першу версію локалізацію рушія на другу, хоча б частково, я думаю там має бути спільний скелет. Майнейнеру на моє питання - пофіг (https://discuss.flarum.org/d/31921-ukrainian-language-pack-for-flarum/54).
- Налаштування теми. Зокрема - теґів: тут якийсь фільтр палітри, дрочусь і по цей день: бо в темній темі одне а в світлій інше. Утім, це не є великою траблою якщо зайнятись питанням фундаментально.
- Хоч і наявне сховище файлів для аватарок, не можливо просто додати вкладення до повідомлення, тому наприклад, далекі від технічних приколів адміни сусіднього форуму `zabytki.in.ua` - публікують історичні фото на сторонніх сервісах, типу `twimg.com` про що я їм своєчасно нагадав (https://zabytki.in.ua/community/d/618-zovnisnye-sxovishhe-dlya-zobrazen)
- З коробки немає функціональності відтермінованих дописів, чернеток та автозбереження, що б могло бути зручним в локальних умовах перебоїв з живленням.
- Немає підтримки альтернативних URL парсером Markdown, зокрема - сирих IPv6 і усіляких протоколів (схем) Gemini (gemini-protocol-as-http-alternative.gmi), Nex (nex-lightweight-gemini-alternative.gmi) тощо: й досі вісять не клікабельні лінки, знаю, але фікситиму потім - тут в нас під капотом патерни Symfony / Laravel.
- Немає підтримки кастомних E-mail та альтернативної системи авторизації зокрема. Є окремі модулі OAuth, але в рамках моєї спільноти не актуально. Думаю, це частково вирішується модулями але з побаченого я зустрів залежність від констант filter_var аж на рівні хвалених вище компонентів Symfony. Також є науково-популярні рішення від типових веб-розробників, які мені замість дебатів, таки довелось просто вирішити для себе форком фреймворку (https://github.com/YGGverse/flarum-framework/commit/bd421ee6604b358a9c81e59d4f100c93e2ce264d).
Висновки
Якщо не брати до уваги моє ставлення до сучасних Веб технологій в цілому - то я задоволений. Археологію типу phpBB, SMF я в принципі сьогодні для створення форуму спільноти відкинув, а сучасний Discourse мені не зайшов на рівні користувача (зокрема - форумів GTK і Rust). Тому планую користуватись Flarum надалі.