Zkušenosti – modulární aplikace/web/cms

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Václav Pávek
Backer | 100
+
0
-

Vím, že toto téma zde bylo probírané několikrát, ale zajímali by mě vaše zkušenosti z praxe a nikoli konkrétní technické řešení.

Konkrétní příklad: web s administrací

Možná řešení:

  • modul obsahuje frontend + backend
  • modul pro frontend i backend jsou oddělené
  • jiné (popiš)

V tomto tématu neřeším závislosti mezi moduly, assety apod.

Dále by mě zajímalo jak řešíte zákaznické úpravy modulů – úprava vs. kopie. Myšleno směrem k případným aktualizacim systému.

Děkuji všem za čas a odpověď.

Václav Pávek
Backer | 100
+
0
-

asi nikdo nepoužívá moduly a nebo má jen negativní zkušenosti :-(

iNviNho
Člen | 352
+
-1
-

Ahoj,

ja väčšinu aplkácií rozdelujem na AdminModule a FrontModule.

AdminModule
Modul do ktorého je možné pristúpiť iba s uživateľskou rolou admin. Je tu umiestnená správa webu (CMS) alebo správa zákazníkov (CRM) a množstvo iných „podmodulov“, ktoré súvisia s firmou, alebo administráciou.

FrontModule
Modul do ktorého vie každý vstúpiť. Klasicky webová stránka napr www.csfd.cz

AdminModule má svoje vlastné presentre aj templaty. FrontModule má tiež svoje vlastné presentre a templaty. Ale obidva moduly dedia od nejakého rodiča.

V každom module by som rôzne „podmoduly“ rozdelil tak, aby som ich vedel prípadnému zákaznikovi akokoľvek osekať, alebo upravovať podľa prianí. Modularita je veľmi dôležitá

Prípadne ak sa registruje uživateľ, tak by som vytvoril další modul UserModule napr a tam by mohol vstupiť a editovať svoje veci registrovaný User

Editoval iNviNho (25. 11. 2015 12:41)

akadlec
Člen | 1326
+
+7
-

a proto bych to dělení na moduly vzal z toho druhého konce. Nejdříve dělit na moduly dle funkce – uživatelé, články, eshop a až tyto moduly dělit na podmoduly typu admin a front. Toto mi přijde více logické, hlavně pokud někdo chce modulární systém. Jednoduše veme modul uživatelé a články a to mu bude stačit, pro dalšího klienta pak zase veme modul uživatelé a eshop atd. atd.

iNviNho
Člen | 352
+
0
-

Asi sa nerozumieme. Admin a Front modulmi myslím iba rozdelenie na časti kde vstupi admin a kde má možnosť úpravy a časť front, ktorá je iba zobrazovacia časť stránky.

V AdminModule máš potom ako keby ďalšie podmoduly presne ako píšeš. Napr. multimedia, seo, nastavenia, članky atd atd a všetko to mám rozdelené tak aby to bolo nezávislé a odstránenie jedného modulu neviedlo k chybovosti druhého.

Šaman
Člen | 2665
+
+2
-

Moduly používám pro logické rozdělení aplikace, ale nikoliv jako znovupoužitelné části. (Ze zmínky o zákaznické úpravě modulů usuzuji, že chceš mít sadu modulů použitelných ve více appkách.)

Jako znovupoužitelné vytvářím jen pomocné třídy (utility), několik base tříd a pak komponenty, nebo továrny na formuláře. Asi to souvisí s tím, že nedělám weby, ale aplikace, které mají zadání zakázku od zakázky velmi rozdílné. A často ani nemají klasický veřejný frontend.

Jiří Nápravník
Člen | 710
+
+3
-

@iNviNho pokud dobře chápu, tak ty máš

AdminModule
 – ArticleModule
 – PhotoModule
FrontModule
 – ArticleModule

apod.

Nicméně akadlec i já mám a doporučuji, přijde mi to logičtější, a lépe se řeší přenositlenost, nemusím to vyzobávat:
ArticleModule
 – AdminModule
 – FrontModule
PhotoModule
 – AdminModule
 – FrontModule

iNviNho
Člen | 352
+
0
-

áno presne presne.

Ano, tvoje riešenie je viac prehladnejšie, ale v rýchlosti si neviem predstaviť funkčnosť. Napr. ako by front moduly pracovali s @layout.latte, resp. s nejakym layoutom? Majú všetky moduly nejakého rodiča?

Václav Pávek
Backer | 100
+
0
-

Děkuji za odpovědi a váš čas. V současné době připravuji nový systém pro své potřeby a chtěl jsem znát názory z praxe. Pravdou je, že každý web je jiný a originál, ale taky spousta věcí je stejná jen má rozšířenou datovou strukturu.

Budu rád pokud někdo další napíše své zkušenosti.

Jiří Nápravník
Člen | 710
+
+3
-

@iNviNho Mám ještě jeden modul AppModule – kde je nejaky ten zakladni config, nastaveni database apod. a mj je tam FrontBasePresenter a AdminBasePresenter a od toho pak dedi ty presentery uvnitr modulu… je pravda, ze je to nejaka zavislost na nejakym dalsim modulu, ale nejaky BasePresenter je vzdycky potreba…

iNviNho
Člen | 352
+
0
-

rozumiem :) dobre vedieť