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 .
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] .
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 .
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] .
Web a webové stránky | |
---|---|
globálně | |
Lokálně | |
Typy stránek a služeb |
|
Tvorba a údržba | |
Typy rozložení, stránek, webů | |
Technický | |
Marketing | |
Společnost a kultura |