« 1 2 »
Autor Zpráva
martindeveloper
Profil
Dobrý den.

Jsem zástupcem projektu VisionCMS, který se snaží vytvořit redakční systém schopný konkurovat velkým systémům jako je Joomla!, či Drupal.
Jistě si teď myslíte: "Proč další systém? Vždyť už jich je jako máku." To je sice pravda, ale za Českou republiku jich opensource moc není
(SunlightCMS, K:CMS, pecanRS, ... - na víc si momentálně nevzpomenu).

Naším cílem tudíž je vyvinout systém, který je přívětivý, jak pro programátory, tak i pro koncového uživatele.
Náš systém má za sebou již několik verzí, ale nyní jsme se dali na kompletní přepis, který už dokončujeme.

Jádro (framework) je nyní mnohem více odděleno od všech výstupních komponent.

Do budoucna tedy dokáže team šikovných lidí napsat poměrně lehce další odnože na jednom jádru, pouze změnou v komponentách (která je jednoduchá). Jednoduše tak později můžeme do hry
dostat redakční systém zaměřený na blogování, eshop, fórum i další věci.

Do našeho teamu sháníme programátory, kteří by se starali o vývoj základních oficiálních komponent.
V teamu jsme dva a plně se zabýváme jádrem(frameworkem). Díky tomu nestíháme upravovat komponenty a tím pádem také dodržovat termíny vydání.

Projekt je celý OpenSource. Nemůžeme tedy nabídnout žádnou finanční odměnu, pouze zkušenosti z práce na větším a především aktivním projektu,
který jen tak neskončí.

Systém je psaný v PHP5, tudíž by uchazeč měl ovládat tento jazyk a nejlépe také JavaScript (framework MooTools), ale není to podmínkou.
Vývoj vedeme pod verzovacím systémem SVN a na aktuální zdrojáky VisionCMS Next (Next = název nového jádra) se můžete podívat na http://svn.ifrit.eu/listing.php?repname=VisionCMS+Next, jádro je ve složce system a komponenty ve složce components.
Pokud máte tedy zájem se k nám připojit napište svůj kontakt zde do fóra či se obraťte na email martin.developer(at)hotmail(dot)com .

Mimochodem rozhodoval jsem se mi sekcí pro zakázky a touto doufám že jsem zvolil správně.

Děkuji za přečtení.
noname4u
Profil *
Jen tak mimo,
nebylo by lepší vyvýjet CMSko které by bylo postavené na nějakém již hotovém FW který má dobrou dokumentaci (Cakephp, Nette, Zend)??
Výhody bych pak viděl na:
- dobrá dokumentace
- lidé již FW budou znát, bude tak rychlejší a lepší porozumnět CMSku a dále ho vyvýjet
- s tím souvisý i velká komunita okolo těchto FW (mnoho uživatelů vyvýjí své komponenty a tak by nebylo těžké je implementovat dle potřeb)

Tak proč proboha vyvýjíte svůj vlastní FW? bude lepší? bude rychlejší? bude toho umět více? Myslím že to bude pouze okleštěná verze těchto systémů a čím více komponent (fcí) do něj budete přidávat, tím více problémů s tím později budete mít.

sry za můj rejp.
Velekrt
Profil
A vývoj vzhledů by nebyl ??
mckay
Profil
noname4u:
nebylo by lepší vyvýjet CMSko které by bylo postavené na nějakém již hotovém FW který má dobrou dokumentaci (Cakephp, Nette, Zend)??
Výhody bych pak viděl na:
- dobrá dokumentace
- lidé již FW budou znát, bude tak rychlejší a lepší porozumnět CMSku a dále ho vyvýjet
- s tím souvisý i velká komunita okolo těchto FW (mnoho uživatelů vyvýjí své komponenty a tak by nebylo těžké je implementovat dle potřeb)

• Vyvýjet určitě ne, možná vyvíjet, když už.
• Otázka se končí jedním otazníkem.
• Nebude rychlejší porozumnět CMSku, kdyby jsi náhodou měl na mysli porozumět, tak bych z vlastních zkušeností mohl říct, že ty jako uživatel nebo vývojář prakticky nepotřebuješ porozumět, vše je postaveno na modulech a komponentách, které jsou velmi propracovaným způsobem začleněny.
• Samozřejmě s tím nesouvisý, nýbrž souvisí, velká komunita uživatelů...

Tak proč proboha vyvýjíte svůj vlastní FW? bude lepší? bude rychlejší? bude toho umět více? Myslím že to bude pouze okleštěná verze těchto systémů a čím více komponent (fcí) do něj budete přidávat, tím více problémů s tím později budete mít.
Protože asi současné FW nejsou vyhovující? Myslíš, že kdyby to bylo snadnější, ušetřilo by to spoustu času a nebyly s tím žádné problémy, že by po tom nesáhli?

"sry za můj rejp."
jsim
Profil
mckay:
Protože asi současné FW nejsou vyhovující

můžeš mi říct, v čem je třeba Nette nebo Zend nevyhovující? Docela by mě to zajímalo ;)
mckay
Profil
jsim:
Nemluvím o žádné konkrétní nevýhodě, nejsem vývojářem VisionCMS, tudíž si mě s nimi nespojujte ;). Jen říkám, že třeba současné FW nemusí být vyhovující "matroš" pro stavbu jejich CMS tak, jak si oni představují. Nette i Zend jsou nabouchané FW, ale některé věci třeba chtějí řešit jinak a tak posléze došli k tomu, že by bylo vhodné napsat k tomu svůj vlastní FW. Takže asi tak.
jsim
Profil
mckay:
nejsem vývojářem VisionCMS,

tak to se omlouvám :), párkrát sem tu někde zahlíd, že všem doporučuješ používat tenhle cms, tak jsem myslel, že s nimi máš něco společné, sorry
mckay
Profil
jsim:
Však dříve jsem zkušenost tak trochu měl - vytvářel jsem komponentu a modul, a proto ho doporučuji :).
Lamicz
Profil
"můžeš mi říct, v čem je třeba Nette nebo Zend nevyhovující? Docela by mě to zajímalo ;) ")
MOJE poznatky (které nikomu nevnucuji):
- v Nette stále není hotova dokumentace + zastarávání (neexistující metody atp.) - i když už mnohem lepší než bývalo
- opensource (to, co vypadá super pro jednotlivce, může být někde na přítěž - např. záruka na produkt, jistota funkčnosti)
- PHP verze - ne každý je ochoten kvůli funkcionalitě příp. pluginu řešit verzi PHP a/nebo další knihovny
- relativně drahé hostingy - velká spotřeba hlavně RAM i CPU serveru i na malé pojekty
- aby mi daný FW vyhovoval, musel bych do něj dopsat relativně dost věcí, které již mám hotovy jinak a naproti tomu tam některé nevyužiji
- když se objeví díra, hned o ni všichni ví - nefunguje tam tzv. Security by obscurity (neříkám, že bych se na to měl spoléhat)
- velmi rozporuplný vývoj na PHP 5.3 - velmi zužuje výběr hostingů + možné bugy

- samotná představa, že pro čistý kód, OOP, bez require, musím mít cizí framework, je nesmyslná (tohle se bere jako hlavní argument proč používat frameworky).

P.S. Tohle jsem sepsal právě pro to, že FW sleduji, ne proto, že na ně kašlu ;)
noname4u
Profil *
2 mckay:
- když už rejpeš, tak aspoň rejpej k tématu, tyhle tvoje poznámky nikoho nezajímaj.
- nechápu v čem je např. Zend nevyhovující. (Pokud je nevyhovující pro tebe, tak ses asi nedostal k větším projektům (vývoj ve více lidech)

2 Lamicz:
- K Nette naprostý souhlas. Dle mého názoru je stále tento FW nedodělaný, dokumentace špatná (i když v poslední době se o kus zlepšila). Momentálnš pracuji se Zendem a Cakephp a můžu říct že dokumentace je naprosto skvělá.

Jinak se k tomu už nechci dál vyjadřovat. Podle mého názoru ( který také nebudu nikomu vnucovat ) tento "OpenSource" projekt, zůstane pouze projektem x lidí a dále se nerozšíří.
Lamicz
Profil
martindeveloper:
"To je sice pravda, ale za Českou republiku jich opensource moc není"
Kvalitních plně a opensource věcí je totiž obecně jako šafránu - on ten vývoj zabere nějaký čas a když má za něco stát, tak mi na to nějaký student základky stačit nebude...
"Projekt je celý OpenSource. Nemůžeme tedy nabídnout žádnou finanční odměnu, pouze zkušenosti z práce na větším a především aktivním projektu, který jen tak neskončí. "
To je velmi odvážné - nic za to nedostanu a nemám žádnou záruku reference, maximálně referenci v týmu, a to je naprd (nikomu nevysvětlím, že toto jsem dělal jen a pouze já, když to vyvíjí X lidí). Mnohem lepší je menší projekt, který je zvládnu sám.
"...redakční systém zaměřený na blogování, eshop, fórum i další věci"
Sry, ale nevíte, co mluvíte - udělat plhohodnotný RS na e-shop, fórum, blogování prostě nelze. Tohle je představa hlavně mladých studentů, že udělají do měsíce RS na vše a všem okolo vytřou zrak. Buď to bude pořádný eshop, pořádný blog apod. nebo ze všeho trochu k ničemu. Navíc každý typ má svá specifika, která jsou pro jiný typ zbytečná - např. sofistikovaná cache v eshopu, platby apod.
A to ještě nemluvím o požadavcích na úroveň vývojáře - jednoduchý blog zvládne určitě víc lidí než promyšlený e-shop, který pojede na průměrným hostingu a bude mít fce např. Czech Computeru. Lze udělat univerzální jádro - framework - a těch je tu už plno, tam už hlavně není téměř co vymyslet - MVC, OOP, JS (jQuery). Tečka. Můžu mít dvě vrstvy (PHP, šablona), procedurální návrh, ale moc si nepomůžu (spíš naopak).
mckay
Profil
noname4u:
- když už rejpeš, tak aspoň rejpej k tématu, tyhle tvoje poznámky nikoho nezajímaj.
Když už na někoho reaguješ, aspoň si nejprve přečti co napsal. Snažím se ti navrhnout přijatelné možnosti, proč používají vlastní FW.
Tonoucí se stébla chytá...
Pavel Mlejnek
Profil *
Z naprosto jednoduchého důvodu, chceme mít nad kódem kontrolu a zároveň se chceme procvičit v programování. Jak v Zendu, tak v Nette jsem pracoval, ale dopsat je do přijatelné podoby pro náš CMS by stálo spoustu sil a času navíc.

Lamicz
Sry, ale nevíte, co mluvíte - udělat plhohodnotný RS na e-shop, fórum, blogování prostě nelze. Tohle je představa hlavně mladých studentů, že udělají do měsíce RS na vše a všem okolo vytřou zrak.
CMS se vyvíjí již dva roky, nikde nikdo nepsal, že se budeme snažit udělat my něco podobného. Myslím, že se celkem žádnými představami neopíjíme a na nic podobného se nechystáme. Máme časové problémy dělat na jedné věci.
blizzboz
Profil
Som autorom dvoch vlastných CMS, pozeral som si Vision CMS a nenašiel žiadny dôvod prečo ho používať. Nemá objektový kód, neni ničím prívetivý pre developerov ktorý by na ňom chceli postaviť svoje aplikácie. Ak niekto vytvára nový CMS tak by na to mal mať dôvod mal by priniesť niečo nové nie len kopírovať koncepciu ostatných redakčných systémov.
mckay
Profil
blizzboz:
Som autorom dvoch vlastných CMS, pozeral som si Vision CMS a nenašiel žiadny dôvod prečo ho používať.
Ty sám? Pfiiiuuuu, tak to budeš asi třída...

Nemá objektový kód,
Prosím?

neni ničím prívetivý pre developerov ktorý by na ňom chceli postaviť svoje aplikácie
Je nemilé, že se opakuji, ale prosím?

Ak niekto vytvára nový CMS tak by na to mal mať dôvod mal by priniesť niečo nové nie len kopírovať koncepciu ostatných redakčných systémov.
To jsou docela silná slova, obzvlášť, když se podívám na AcidCMS, který se netváří být něčím výjimečný (už jen ta hlavní stránka vypadá dost okopírovaně, tohle má přeci každý CMS ne? Tak proč si neuděláš něco extra?)


Zkrátka a dobře, vidím to tak, že blizzboz nemá ani páru, co to Vision CMS je, nebo si ho s něčím plete.
Mastodont
Profil
mckay:
Tady by to asi nemělo být o rozborce kódu nějakého CMS, ale upřímně řečeno se mi Vision taky nelíbí. Stačí se podívat do index.php:

//ob_start();
session_start();

define('INDEX_LOADED', true);
require_once './boot.php';
require_once './libs/Framework/Page.php';

$page = new Page($GLOBALS['setting']['template'], $GLOBALS['setting']['language'], explode('/', $_GET['q']));
$page->output();
//ob_end_flush();


1. Ten zakomentovaný output buffering má znamenat, že když ho klient chce, má si odmazat lomítka?
2. $GLOBALS['setting']['template'], případně $GLOBALS['db']->query (z boot.php) je IMHO dost nešťastné a objektově to skutečně nepůsobí.
3. $page = new Page( ... explode('/', $_GET['q']) - to vypadá jako že celý systém neumí cool URI a to je dnes už taky dost velká bída.
martindeveloper
Profil
Prosím koukejte na SVN repozitář VisionCMS Next. Starý repozitář VisionCMS není již dlouho spravován.

btw: Ohledně "cool URI", celý systém na tom běží a díky jednoduchému rewritu v .htaccess je vpodstatě celá cool URI v jedné get proměnný která se pak v Routeru parsuje a pracuje se s ní, resp. s jejími fragmenty. A při vypnutém mod_rewrite jsou místo adres web.cz/content/supr-clanek adresy web.cz/?q=content/supr-clanek.

btw2: Některé $GLOBALS proměnné jsou v Nextu ještě kvůli zpětné kompatibilitě a ze základních komponent se je snažíme eliminovat a používat novější přístup, místo $GLOBALS['db'] použít Registry::get('db') popřípadě $this->db/$this->_query() pří odvození komponentní třídy od abstraktní třídy AComponent.
blizzboz
Profil
mckay:
ja nehovorím že CMS má byť originálny svojim užívateľským rozhraním(užívateľské rozhranie je pre každý projekt úplne iné) ale koncepciou. môj CMS sa napríklad skladá z modulov každý modul je potomok triedy Module, každý modul má vlastnú šablónu, tj každý modul má oddelenú logiku od prezenetačnej vrstvy, čo značne sprehľadňuje a zjednodušuje vývoj také niečo som u iných CMS zatiaľ nevidel.
martindeveloper
Profil
blizzboz:
Podobná myšlenka je taky u nás, jenže mi chceme dovolit psát komponenty/moduly i lidem kterým OOP moc neříká, tudíž nemusí odvozovat, nemusí používat Registry::get('db') místo toho použijí pouze $db apod. Taktéž každá základní komponenta má svůj "MVP" koncept a některé taktéž umí dílčí šablony. Viz /components/com_content/templates (v Nextu) ale tyto šablony v této složce jsou pouze "fail-safe/ukázkové" pokud je uživatel chce upravit tak si vytvoří složku components ve složce se svou šablonou (/templates/test/) a v ní subsložku s jménem komponenty, u které chce měnit dílčí šablony tudíž třeba com_content a v ní přepsanou verzi singleArticle.phtml či allArticles.phtml. A RS sám použije tyto šablony a pokud nejsou tak použije ty "fail-safe". Je faktem že tohle většina komponent nepodporuje, ale to chceme spravit do budoucna, není to nic těžkýho.
blizzboz
Profil
martindeveloper:

no to je škoda lebo OOP bol jeden z dôvodov prečo som si napísal vlastný CMS, OO vývoj je pre mňa omnoho rýchlejší a lacnejší, keby váš CMS bol plne objektový možno by som použil ten. Taktiež som hľadal niečo s čím by sa vývoj webových aplikácií jednoduchosťou priblížil vývoju desktopových aplikácií vo WPF a tiež mi chýbala podpora Ajaxu, preto som vytvoril vlastný CMS. do budúcna pripravujem aj podporu Eventov a vizuálny návrhár pre CMS, administráčné rozhranie ako desktopovú aplikáciu, podporu ORM a automatické generovanie formulárov podľa entít a rôzne generátory kódu.
martindeveloper
Profil
blizzboz:
Náš systém je v OOP, ale znalost OOP není podmínkou pro vývoj vlastní komponenty.
Eventy/Hooky již náš RS taktéž podporuje (odkaz, odkaz), HTML helpery (Form, Text ...) taktéž máme.
Napsat desktop aplikaci pro ovládání taktéž nebude problém. Ve verzi 1.0 bude mít systém své API s největší pravděpodobností založený na XML-RPC takže nebude problém cokoliv externího napsat.
Majkl578
Profil
martindeveloper:
Pokud chcete konkurovat nějakému systému, zkuste to kvalitou.
Kvalitou myslím kvalitu zdrojových kódů - ne formou bastlíme, ale formou MVC/P (v tom vašem jsem zahlédl nějakou divočinu se statickými metodami, kterých tam je víc než dost) a ideálně třeba nějakého ORM jako Doctrine 2. Dále coding standard - hrozný.
Některé metody jsou naprosto absurdní, například Db::escape, význam vystavování uživatele riziku jsem nepochopil.
Prvně zkuste projít nějaká kvalitní existující řešení a pak zkusit vyvíjet další kolo.
error_reporting(E_ALL & ~E_NOTICE); To jsem raději neviděl...

Lamicz:
Troufnu si říct, že kvalitní programátor k naučení se takového ne zrovna rozsáhlého frameworku jako Nette (oproti např. Zendu) nepotřebuje dokumentaci kde mu bude vše naservírováno (metoda copy&paste). A co se dokumentace týče, sám víš, protože chodíš na naši jabber konferenci, že je žhavým tématem.
blizzboz
Profil
martindeveloper: áno tak callbacky podporuje aj moj CMS... pod eventami som mal na mysli špeciálny typ callbackov.

Majkl578:
hlavne by to chcelo vyvynúť CMS na nejakom lepšom Frameworku vážne uvažujem nad tým že svoj 3tí CMS postavím na NET Frameworku a ASP.NET MVC
Majkl578
Profil
blizzboz:
vyvynúť CMS na nejakom lepšom Frameworku
Co se PHP týče: Nette, Symfony, Zend, CakePHP. Jinak třeba Ruby on Rails (Ruby), Django (Python) atd.
Ale to jsme mimo téma. O Nette si s námi můžeš popovídat real-time na jabberu.
dRaGen
Profil
Náhodně jsem klikal a ocitl se v tomhle souboru *******************6
Co tohle má společnýho s objektovym návrhem, trojvrstvej návrh aplikace, či další vzorový řešení aplikace ?
dRaGen
Profil
DJPW.cz mi zcenzurovala odkaz ... tak znovu
Moderátor Chamurappi: Nepoužívej tady zkracovače adres, není k tomu žádný důvod.
martindeveloper
Profil
Majkl578:
error_reporting(E_ALL & ~E_NOTICE);
je tam kvůli tomu aby se nám všude necpali hlášky typu "Notice: Undefined variable" - ano jde to ošetřit přes isset ale je toho poměrně hodně, tak jsme zatím potlačili NOTICE hlášky.

EDIT: "Dále coding standard - hrozný" ano to víme a proto jsme zavedli pravidla které máme na doc.visioncms.cz.

dRaGen:
Systém je rozdělen na komponenty a moduly, komponenty jsou ty hlavní obsahové věci typu články, stránky, fórum apod. a moduly jsou ty menší věci na stránkách jako je formulář pro přihlášení, menu apod.
Majkl578
Profil
martindeveloper:
K čemu pravidla, když je nedodržujete? Proč psát aplikaci čistě, když ji lze i zprasit? A víte co? Docela rád bych tam viděl použití register_globals, pak bych to mohl ukazovat jako další tuctovou zbastlenou OO aplikaci bez OOP.
Myslím, že je na čase začít pracovat na nové verzi od začátku s využitím OOP. Hodně štěstí.
dRaGen
Profil
martindeveloper:
Děkuji mě to stačilo. Gratuluju právě jste vytvořili další z 1000 bastl-rádoby-cms-systém.

Neberte to zle, ale tomu kódu chybí už jenom nacpat všude zavináče. To objektový programování jak říkate, je jen sada funkcí poskládaných do logickýho celku.
martindeveloper
Profil
Majkl578:
Už jsem začal pracovat na ověřování proměnných, není jich zas tolik jak jsem čekal.

dRaGen:
To že RS má vlastní logiku znamená že už je "bastl"?

Kromě NOTICE s nedefinovanou proměnnou, které se dá ošetři a taky ošetříme přes isset tam nevidím nic co by bylo "bastl"?
Jediné co je pochybně napsáno jsou backendy komponent, protože k jejich rewritu jsme se ještě nedostali.
« 1 2 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0