ugrás a tartalomhoz

Melyik framework vagy CMS tudja ezeket?

ggabor · 2011. Aug. 17. (Sze), 16.47
Néhány hónappal ezelőtt nyitottam itt egy "saját fejlesztés vs meglévő rendszer" témát, amely egészen sok reakciót váltott ki pro és kontra egyaránt. Én magam végül nekiláttam egy saját fejlesztésnek mégpedig azért mert azt gondoltam, hogy a meglévőknél sokkal hatékonyabbat is tudok készíteni.

Ma már eljutottam az alaprendszer fejlesztésében odáig, hogy nagyjából minden alapelvárásom működik, méghozzá igen gyorsan. Ugyanakkor az általam választott módszer fejlesztői, karbantarthatósági szempontok szerint kész rémálom. :)

Ezért most, csak úgy közbevetőleg feltenném a kérdést, hogy létezik olyan framework, CMS vagy bármi egyéb, amely az alábbi funkcionalitást alapból (további érdemi fejlesztések nélkül) tudja?

1. Több nyelvű tartalomkezelés
2. Több nyelvű url generálás és értelmezés
3. Több szintű jogosultságkezelés bármely tartalmi elemre
4. Többféle, tisztán php alapú sablon kezelése
5. Master page alapú sablonok támogatása
6. Kiegészítő, külső widgetek támogatása
7. Helyszín, térkép, koordináták támogatása (google map)
8. Hierarchikus katalógusok kezelése webshophoz
9. Hierarchikus adatmező öröklődés a katalóguson belül
10. Személyes, történeti számlakezelés a webshopon belül
11. Hírek, cikkek, szöveges tartalmak magazin szerű kezelése
12. Hírek, cikkek, szöveges tartalmak kapcsolása a katalógushoz, illetve a katalógus elemeinek kapcsolása ezekhez
13. Fórum, privát üzenet funkciók
14. Bármely tartalom vagy felhasználó értékelése, pontozása

Most hirtelen ennyi jut eszembe.

Egyébként nem túl nagy gond, ha nincs ilyen. Ezek nagyjából már működnek, de mivel alapvetően fájl alapon oldottam meg a dolgot, ezért pl. a nyelvkezelés miatt elég nehézkes lett a katalógus karbantartása.

Még egy érdekes ötlet a végére. Arra gondoltam, hogy érdemes lenne kifejleszteni mondjuk C#-ban egy olyan desktop progit, ami a backend feladatokhoz a php fájlok alapján könnyen kezelhető admin eszközöket valósítana meg. Ugyanis nem terveztem komplett web alapú admin felület létrehozását, mert szükségtelen. Ugyanakkor igen jó lenne mondjuk a katalógus és az alap rendszerbeállítások kezelésére egy sima desktop app. Mit gondoltok erről? Illetve: létezik olyan PHP alapú rendszer amit destop progival lehet adminisztrálni?
 
1

Drupal

Poetro · 2011. Aug. 17. (Sze), 17.34
És benne 1-2 óra alatt össze is tudod dobni ezt. Csak telepíteni kell pár közösségi modullal egyetemben.
2

Biztos vagy ebben?

ggabor · 2011. Aug. 17. (Sze), 18.52
Annak idején néztem a drupal-t is, de nem úgy tűnt mintha minden benne lenne a fenti listából. Legjobb esetben is arra jutottam, hogy "lehet hozzá fejleszteni saját modult".

És így, mivel nem értek a drupalhoz csak az lenne legalább 1-2 hét mire rendesen megtanulom. Tehát esetemben semmiképpen sem mondhatjuk, hogy 1-2 óra alatt összedobnám az egészet.

Felteszem te meg tudnád csinálni olyan könnyedén, ahogy írtad. A kérdésem csupán annyi, hogy mennyi az annyi? :)

Szóval aki úgy gondolja, hogy simán megcsinálná a fentieket, illetve egy kicsit részletesebb, pontosabb specifikáció alapján a konkrét site-ot, az küldjön privátba árajánlatot!
3

Meg tudnám

Poetro · 2011. Aug. 17. (Sze), 19.16
Természetesen meg tudnám csinálni, de nem tenném, mert nincs rá időm, hogy később karbantartsam, illetve a felmerülő egyedi igényeket (mert biztosan van olyan, amit alapból nem tud valami, de nincs benne a fenti listában, illetve "nem így gondoltam") teljesítsem.
Ami pár modul kell, az a Google Maps, User Points, Private messages, Ecommerce / Übercart / Drupal Commerce a webshopra. A webshop beállítása persze napokat is igénybe vehet, de mivel arra nem írtál részleteket ezért nem tudok ezügyben válaszolni, de az alapokat össze lehet dobni. Azt nem mondom, hogy szép lesz, illetve valószínű nem úgy fog működni, ahogy szeretnéd, de valahogy működni fog, és megfelel a fenti "specifikációnak".
4

symfony 1.4

Kubi · 2011. Aug. 19. (P), 07.31
szerintem (ha van időd belejönni és gyakorolni) használd a symfony-t mint framework. Nagyon sok segítséget ad, adott feladat megoldása lényegesen kevesebb időt vesz igénybe, az általad készített lista nagy részét lefedi, amit pedig nem, ahhoz többnyire létezik plugin, ami megvalósítja.

Most jelent meg a symfony2, de én az 1.4 -et javaslom jelenleg, mert ahhoz már van egy rakás plugin amit használhatsz. http://www.symfony-project.org/

Legnagyobb előnye, az admin generator, ami nagyjából az amire te gondoltál, hogy C#-ban megírod. Menj végig a joobet tutorialon: http://www.symfony-project.org/jobeet/1_4/Doctrine/en/ és nagyjából képbe kerülsz, meg böngészd át a plugineket. Doctrine ORM-et válaszd, van még propel, de az már leáldozóban.

Próbáltam még annó a Zend Framework-ot, de symfony-hoz képest az egy rakás sz.r
a többi framework pedig említésre sem méltó. (ha valakinek kétsége van efelől, nézze meg az új symfony2-t)
5

Kétségem az van, de nincs

inf · 2011. Aug. 19. (P), 11.40
Kétségem az van, de nincs időm nézegetni a symfony-t. Egyébként Zend-del nincs semmi problémám, teljesen jól működik.
6

rég foglalkoztam a zend-el,

Kubi · 2011. Aug. 19. (P), 18.37
rég foglalkoztam a zend-el, mint már írtam, ott hogy csinálsz újrahasznosítható, egy egységbe szedhető kódot, mondjuk egy felhasználó profil kezelő plugint, vagy egy egyszerü cms plugint? Mindezt úgy, hogy amikor felhasználod a plugint, a projekt specifikus módosításokat ne a pluginba keljen beleírnod (bővíthetőség, kiterjeszthetőség, config fájl szinten is)

nem kötözködés, tényleg kíváncsi vagyok rá
7

Hát van config mappa, oda be

inf · 2011. Aug. 19. (P), 19.36
Hát van config mappa, oda be lehet tenni a konfigurációs fájlokat, van többféle feldolgozó osztály ezzel kapcsolatban. Van egy Bootstrap osztály, amiben meg hozzá tudod adni az új névteret (amiben a plugin van) az Autoloader-hez, meg gyakorlatilag azt írsz bele, amit akarsz. Ennél mélyebben nem mentem még bele a dologba, de ha nagyon érdekel, akkor keresek neked cikkeket a témában. Én a fent leírt módon csinálnám...

szerk:
Kicsit utánaolvasva: még a bootstrap-hez sem kell érni, egyszerűen az application.ini-ben meg lehet adni és konfigurálni a plugin-t, amit használni akarsz.