Content Management Framework

Content Management Framework (CMF) je framework (content management framework) pro navrhování systémů pro správu obsahu. Na jejich základě vznikají redakční systémy (CMS) a také webové aplikace .

Výhody

Pokud je hlavním úkolem univerzálních redakčních systémů snadnost vytvoření webu bez zásahu programátora, tedy tvůrce webu, pak je redakční framework návrhářem redakčního systému (včetně vysoce specializovaných) pro programátor . Díky tomuto přístupu může mít web vytvořený pomocí frameworku ve srovnání s webem založeným na redakčním systému jednodušší a bezpečnější administrativní panel (který postrádá funkce přizpůsobení webu pro jakýkoli úkol) a být méně náročný na systémové zdroje (každý Modul implementuje přesně ty funkce, které jsou nezbytné pro provoz webu). Za přítomnosti dobře navrženého frameworku a hotových modulů musí programátor pouze sestavit tyto moduly do jednoho prostoru a navrhnout výstup v souladu s přáním klienta, to znamená vytvořit web založený na frameworku. je z hlediska pracnosti zcela srovnatelné s vývojem webu založeného na univerzálním redakčním systému [1] .

Potíže mohou nastat, pokud programátor-uživatel frameworku narazí na programátorské chyby při jeho implementaci. Protože není odborníkem na architekturu frameworku, může mít potíže s jeho lokalizací, není si jistý, zda sám neudělal chybu nebo nenarazil na chybu v frameworku. Hluboká znalost architektury frameworku může být také potřeba při jeho dolaďování, pokud chce programátor získat maximální výkon [2] .

Architektura

Webové aplikační rámce obvykle poskytují mechanismy pro přístup k databázi, vytváření šablon a správu relací .[3] .

Většina moderních rámců správy obsahu je implementací architektury Model-View-Controller . Webový rámec poskytuje bezproblémovou integraci všech tří vrstev architektury MVC. Frameworky skrývají před programátorem podrobnosti o připojení k databázi a generování webových stránek pomocí šablon zobrazení , což umožňuje programátorovi soustředit se na implementaci obchodní logiky [2] .

Proces vytváření aplikace pomocí rámce MVC spočívá v zápisu tříd řadiče, modelu a pohledu, z nichž každá zdědí základní třídy pro komponenty každé vrstvy.

Mnoho webových frameworků poskytuje poloautomatické vytváření prototypu webové aplikace, která provádí základní datové operace ( vytváření, čtení, aktualizace, mazání ) pomocí metody metaprogramování - scaffolding .

Důležité vlastnosti frameworku

Hranice mezi frameworkem a redakčním systémem

Mnoho moderních systémů pro správu obsahu (CMS) je postaveno na vzoru MVC. Takový rámec může být speciálně napsán pro systém, příklady jsou: Joomla! Na takovou architekturu TYPO3 postupně přecházejí (od verze 1.5), Bitrix (od verze 6), MODX Revolution (od verze 2.0), SilverStripe , Contao , Frog CMS / Wolf CMS . Jiné systémy používají rámce, které jsou samy o sobě populární. Redakční systém Plone napsaný v Pythonu je tedy postaven na bázi objektově orientovaného aplikačního serveru Zope (a jeho rozšíření - CMF [4] ), komerční CMS ExpressionEngine využívá bezplatný framework CodeIgniter od stejného autora. CMS eZ publish je založen na frameworku eZ Components, původně od stejného vývojáře (nyní převzatý Apache Foundation a přejmenován na Zeta Components). V poslední době se objevuje tendence používat jako základ pro stavbu redakčního systému Zend Framework : jako příklad může posloužit Pimcore , který vstoupil do finále Packt Open Source Awards - 2010 v kategorii „nejslibnější CMS“ .a Tomato CMS [5] , stejně jako Concrete5 , označeny za nejrychleji rostoucí CMS v roce 2011 Open Source CMS Market Share Report. Osmá verze Drupalu , která vyšla koncem roku 2014, je také postavena na Symfony .

Řada systémů pro správu obsahu, které poskytují rozhraní pro programování aplikací pro rozšíření své funkčnosti, tvrdí, že jsou rámcem, i když je někdy obtížné nakreslit jasnou hranici mezi systémem a rámcem. Hlavním rozdílem je, že pomocí systému můžete vytvořit webovou stránku bez psaní jediného řádku kódu. .

Takový redakční systém připravený k použití, jako je Drupal , je zároveň považován za framework pro budování takových systémů [6] , což je dáno jednak možností rozšíření funkcionality pomocí vlastních modulů [7] [8] [9] a bohatstvím mechanismů a abstrakcí pro správu obsahu poskytovaného tímto systémem [10] .

Poznámky

  1. Dmitrij Popov. CMF jako nástroj pro vývoj na volné noze (Reportáž na podzimní konferenci PHPConf 2004)  // PHP Inside. - phpclub.ru, 2004. - č. 7 . - S. 97-107 . Archivováno z originálu 7. května 2006.
  2. 1 2 3 4 Samisa Abeysinghe. Kap 3. Řešení složitosti → Rámce pro zjednodušení složitosti // Vývoj týmu PHP. — Packt, 2009. - S. 58-68. — 183p. — ISBN 978-1-847195-06-7 .
  3. Rokas Firantas, Martynas Jusevičius. Rámec webových aplikací založený na sémantických technologiích . - IT University of Copenhagen, 23. listopadu - 20. prosince 2006. Archivováno z originálu 5. listopadu 2012.
  4. Co je Zope CMF? (nedostupný odkaz) . Získáno 3. září 2014. Archivováno z originálu 6. března 2016. 
  5. TomatoCMS (downlink) . Datum přístupu: 8. února 2012. Archivováno z originálu 27. srpna 2016. 
  6. Kolisničenko Denis Nikolajevič. Výběr nejlepšího bezplatného enginu pro váš web. CMS Joomla! a Drupal . - BHV-Petersburg, 01.01.2010. — 288 s. — ISBN 9785977505970 . Archivováno 16. března 2022 na Wayback Machine
  7. Angela Byron, Addison Berry, Bruno De Bondt. Pomocí Drupalu . - "O'Reilly Media, Inc.", 2012-04-10. — 495 s. — ISBN 9781449336158 . Archivováno 16. března 2022 na Wayback Machine
  8. Matt Butcher, Larry Garfield, John Wilkins. Vývoj modulu Drupal 7 . — Packt Publishing Ltd, 2010-12-03. — 822 s. — ISBN 9781849511179 . Archivováno 16. března 2022 na Wayback Machine
  9. Jennifer Hodgdon. Programátorský průvodce Drupalem: Principy, postupy a úskalí . - "O'Reilly Media, Inc.", 2015-10-13. — 339 s. — ISBN 9781491912621 . Archivováno 16. března 2022 na Wayback Machine
  10. Liran Tal. Drupal 7 Media . — Packt Publishing Ltd, 2013-01-01. — 385 s. — ISBN 9781849516099 . Archivováno 16. března 2022 na Wayback Machine

Literatura

Odkazy