Folio je CMS od Sinfin.digital
Folio je naše open-source CMS, kterým vybavujeme každý nový web od microsite, přes prezentační webové stránky až po komplexní webové aplikace. Předně je souhrnem těch nejlepších postupů, které jsme ověřili v praxi u mnoha předchozích projektů (k dubnu 2018 máme na Gitu 207 projektů ;).
Prvotní inspirací pro vývoj byl projekt Suspender pro rychlý rozjezd aplikací od známého amerického studia thoughtbot. Postupem času se rozrostl do plnohodnotného CMS s přívětivou administraci stromové struktury stránek, podporu SEO a komplexní správou médií.
Vlastnosti CMS Folio
- správa libovolné stromové struktury stránek (články, kategorií, atp)
- pokročilý WYSIWYG editor Redactor.js
- možnost výběru šablony pro libovolnou stránku
- neomezený počet dílčích šablon pro sestavení libovolého obsahu (střídání textu, obrázků, leadových formulářů, detailu výrobku, …)
- správa meta atributů pro SEO (meta title a description, og pole pro Facebook)
- symetrický i výběrový překlad webu do libovolného jazyka
- integrace datových modelů na míru do administrace (katalogy produktů, adresáře osob atp)
- publikování stránek přepínačem a/nebo k datu a hodině
- správa uživatelských účtů a oprávnění k různým typům obsahu
- podpora pro asynchronní a pravidelné úlohy (exporty, importy, hromadné zpracování dat)
- vlastní sledování návštěv a akcí uživatele pro efektivní propojení s externími analytickými nástroji
- správa více různých menu (hlavička — patka)
- možnost škálování na neomezený počet serverů a zároveň na více procesů a vláken v rámci stejného serveru
Správa médií
- správa médií s možností vložení obrázku na více stránek
- automatické změnšování a ořezu na formát daný šablonou
- podpora hi-dpi obrázků pro front-end s fallbackem na standardní velikost
- souborové přílohy stránek
- zmenšování obrázků probíhá jako proces na pozadí a nezdržuje administraci, ani běh webových stránek
Leadové formuláře a zápis do newsletteru
- od začátku je připraven Lead form pro sběr poptávek a kontaktů z webu
- zápis do newsletteru napojený na Mailchimp
Technologie
Webový framework Ruby on Rails 5, jazyk Ruby 2.4, databáze PostgreSQL, asynchronní úlohy ActiveJob a Sidekiq na db Redis, šablony responzivní HTML5 Bootstrap psané ve Slim, Haml a Erb. Javascript preprocesor CoffeeScript, CSS Sass. Turbolinks pro akceleraci přechodů mezi stránkami. Správce obrázků je napsaný jako samostatný modul / single-page aplikace v React.js za použití Redux. Hosting médií a příloh v rychlých a bezpečných Amazon S3 bucketech.
Webové stránky postavené na Foliu jsou nasazeny na oddělených serverech pro aplikaci, pro asynchronní úlohy i databázi. Deploy probíhá pomocí Capistrana ze zdrojového kódu umístěného v Gitu (Bitbucket nebo Github). Aplikační servery běží na workerech Puma za webovým serverem Nginx. Stav všech vrstev aplikace kontroluje Monit a případné chyby padají do Sentry, kde si je vyzvedneme pro případ, že nám unikla chyba na produkci.
Pro šifrování webů používáme SSL certifikáty od Letsencrypt s automatickou obnovou, nebo ještě raději umisťujeme weby za rychlou CDN Cloudflare, která poskytuje SSL certifikáty v ceně služby.
Každý web postavený na Folio CMS si nadále uchovává vlastnosti Ruby on Rails aplikace s možností dalšího rozšiřování a úprav.
Pokud si chcete prohlédnout zdrojový kód, vyzkoušet Folio na vlastním projektu, nebo poslat pull request pokračujte na https://github.com/sinfin/folio.
Sinfin.digital // http://sinfin.digital // info@sinfin.cz