Aktualizace na nove verze Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
neznalek
Člen | 60
+
0
-

Ahoj,

proc kdyz pokazdne aktualizuju Nette stravim pul dne projitim celeho webu jestli vsechno funguje jak ma.. Takovy zbytecny update prejmenovani: onSubmit na onSuccess.. Proc?

Kdyz se podivam na verze nette je tu 0.9, ktera je nekompatibilni a zastarala. 2.0 beta ktera se vyviji a 2.0 dev pro zkusene nette vyvojare take ve vyvoji.. Pokud ovsem mam nette 2.0 pul roku starou a chci aktualizovat na novou verzi 2.0 nejde to, protoze se obevil neon, prejmenovali se konstaty service na services atd.. Dokonce i sablony se registruji jinak, helpery atd.. Takze fakt ztrata jednoho dne ladeni veci ktere byli napsany a odladeni behem pul roku vyvoje webu..

Dokumentace je zastarala a jedine z ceho se da nette naucit je forum, ktere je uz take pro zkusenejsi programatory..

Nechci aby jste reagovali ze nette neni jedina moznost, ale proc vyvoj FW neni plne kompatibilni s predchozimi verzemy?

Jan Tvrdík
Nette guru | 2595
+
0
-

neznalek wrote:

Proc vyvoj FW neni plne kompatibilni s predchozimi verzemy?

Protože ne všechny změny lze provést kompatibilně.

nanuqcz
Člen | 822
+
0
-

Tohle je problém z doby, kdy bylo ke stažení Nette 2.0alfa. Na to ale David přímo na stránce ke stažení upozorňoval, že API se pravděpodobně může měnit.

Teď už máme betu a tam by se API měnit pokud vím nemělo (prosím o ujištění :-) )

22
Člen | 1478
+
0
-

do RC verze :-)

Patrik Votoček
Člen | 2221
+
0
-

neznalek napsal(a):

2.0 beta ktera se vyviji a 2.0 dev pro zkusene nette vyvojare take ve vyvoji..

Od vydání 2.0 beta jsou DEV a BETA balíky shodné.

Pokud ovsem mam nette 2.0 pul roku starou a chci aktualizovat na novou verzi 2.0 nejde to…

To je daň za používání DEV verzí (proto se taky jmenuje DEV)

Dokumentace je zastarala a jedine z ceho se da nette naucit je forum, ktere je uz take pro zkusenejsi programatory..

Dokumentace zastaralá? Víš o tom že je kompletně nová dokumentace ? Která je dokonce napřed před kódem :-) .

… ale proc vyvoj FW neni plne kompatibilni s predchozimi verzemy?

Tak to u vývoje SW chodí. Zkrátka a dobře desetinkové verze jsou / měli by být kompatabilní. A major verze se od kompatability oprosťují, protože se tak dá vyvinout něco co je daleko „lepšího“.

Nette není v tomto ohledu jediné. Koukni se třeba na Doctrine 1.x vs 2.x, Symfony 1.x vs 2.x tam je těch nekompatabilních věcí daleko více než v Nette.

kravčo
Člen | 721
+
0
-

neznalek napsal(a):

Takovy zbytecny update prejmenovani: onSubmit na onSuccess.. Proc?

Je to zbytočné – nie je to zbytočné… Každý môže mať svoj názor. Podstatné je to, u ktorého prevažujú pozitíva a u ktorého negatíva. V tomto prípade je zrejmé, že premenovanie má za cieľ odstrániť nepresný názov a nahradiť ho presným. To všetko pri dočasnom zachovaní spätnej kompatibility (áno, drvivá väčšina zmien sa deje s dočasným zachovaním spätnej kompatibility, pričom starý spôsob vyhodí warning). To znamená, že nedôjde k syntaktickej chybe, ale jasne zrozumiteľnému warningu „Nette\Forms\Form->onSubmit changed its behavior; use onSuccess instead.“

…, ale proc vyvoj FW neni plne kompatibilni s predchozimi verzemy?

Akonáhle sa FW vyvíja v istom momente dôjde k tomu, že doterajšie API nepostačuje, treba ho upraviť, či dokonca výraznejšie prekopať. Je to o rozhodnutí: buď stabilné API a stabilné (staré) fičúry, alebo nové API a nové (čerstvé) fičúry… A to rozhodnutie môžeš spraviť aj ty sám…

jannemec
Člen | 78
+
0
-

No s vývojem a změnami tj. i nekompatibilitou je třeba u DEV počítat – zároveň bych také uvítal, kdyby byl nějaký „roadmap“ – z posledních verzí mám pocit, že už čas na 2.0 verzi nazrál. Jenže zároveň rozumím, že to dělá někdo ve svém volném čase … těžko požadovat termíny a jejich plnění. Brání to ale imho dalšímu rozšíření. Asi málokterá firma si troufne použít verzi, která je zastaralá a nevyvíjí se (0.9), je ve stavu beta (2.0 beta) a všeobecně se ví, že se API změní – viz DEV verze. Já mám třeba několik projektů v 0.9 verzi, ale upgrade na 2.0 beta je půlkrok, takže s jejich rozvojem čekám na nějakou „finál“ verzi … no a nové věci dělám v DEV verzi, abych si osahal nové věci. A to je docela náročné …

arron
Člen | 464
+
0
-

neznalek wrote:

Ahoj,

proc kdyz pokazdne aktualizuju Nette stravim pul dne projitim celeho webu jestli vsechno funguje jak ma..

Protože nemáš pro svoje projekty napsané testy:-)

jannemec wrote:

Asi málokterá firma si troufne použít verzi, která je zastaralá a nevyvíjí se (0.9), je ve stavu beta (2.0 beta) a všeobecně se ví, že se API změní – viz DEV verze.

Upřímně, pokud v DEV verzi není zrovna nějaký „super-bug“, tak jí klidně použijeme :-) Je tam sice jisté riziko nekompatibility s budoucími verzemi, ale když to člověk dělá průběžně, tak je to docela v pohode :-)

22
Člen | 1478
+
0
-

@arron:

  • s těmi testy to není moc hezká argumentace :-)
  • Pokud si vezmu poslední betu a poslední dev, tak je tam změn celkem požehnaně jako je například úplné vyřazení robotLoaderu z config.neon, návrat konstant APP_DIR, LIBS_DIR atd. Tento nekomentovaný vývoj Nette, jakým směrem se montálně ubírá mě už trošku vadí a z changelogu nejsem například schopen vyčíst, ja teď definovat expiraci session v configu a jiné vychytávky souvisejcí s možností načítání uživatelských configů, atd.

Takže raději používej betu, než dev verzi, dokud nebudou nové věci dotáhnuté do konce i s nějakým „oficiálním uvedením“ v podobě nějakého postu od DG.

Filip Procházka
Moderator | 4668
+
0
-

@**22**: Přesunutí RobotLoaderu je jedna z mála věcí, která je výraznější BC, ale vůbec to není přeci problém. Stačí zkopírovat 3 řádky ze sandboxu. A konstanty nepoužívám a to mám poslední dev :)

22
Člen | 1478
+
0
-

@HosipLan: já neříkám, že je to problém. Ale přechod poslední beta na dev – robotLoader jsou 3 řádky, pak tu máme session, dalších 5 řádku, protože v neonu jsem ji prostě nenakofiguroval zatím :-), pokud používáš vlastní MyConfigurator, což ty používáš, musíš řešit jinak, protože robotLoader se spouští až po načtení configurace a to ještě nevím, na co narazím dál.

Filip Procházka
Moderator | 4668
+
0
-

Ale MyConfigurator, který jsem vždy radil, přece dědí od Nette\Config\Configurator :)

Mimochodem, s posledním dev možná přestanou fungovat továrničky v poděděném Configuratoru :) Ale nechce se mi to zkoumat, protože už ho nepoužívám :P

22
Člen | 1478
+
0
-

@HosipLan: teď nevím, ale i když od něj dědí, tak ho přece načítáš v bootstrapu místo Nette\Config\Configuratoru, takže si tu třídu musíš naloadovat ručně, protože robotLoader se rozjede až po načtení configu nebo se mi něco plete?

Edit: ber to jako řečnickou otázku, teď jsem četl toto

Editoval 22 (1. 12. 2011 12:08)

Patrik Votoček
Člen | 2221
+
0
-

22 napsal(a):

@arron:

  • s těmi testy to není moc hezká argumentace :-)

Naopak je to ten nejlepší a nejpravdivější argument, kterej mohl zaznít!

22 napsal(a):

… tak ho přece načítáš v bootstrapu místo Nette\Config\Configuratoru, takže si tu třídu musíš naloadovat ručně, protože robotLoader se rozjede až po načtení configu…

A co ti brání si RobotLoader hodit už před Configurator?

22
Člen | 1478
+
0
-

@patrik:

  • nějak nevím, v čem mi pomůže test, pokud přestane fungovat v neonu zápis:
service:
	session:
		arguments: [%session%]
session:
	expiration: +1 months
	save_path: %tempDir%/sessions
  • když ho hodím před configurator, tak jaksi nezavolám createRobotLoader, takže to máme x dalších řádků configurace robotLoaderu

Editoval 22 (1. 12. 2011 13:04)

David Grudl
Nette Core | 8082
+
0
-

Mám tady připravených ještě pár commitů a potom o DI sepíšu info do dokumentace.

awsickness
Člen | 98
+
0
-

tak to by bylo super kdyby si ty nejzasadnejsi zmeny a novinky sepsal nejak prestavam mit prehled co se jak meni.

arron
Člen | 464
+
0
-

Někdo někde napsal jednu úžasně pravdivou větu: „Unit testy nejsou jenom o testování kódu, ale zároveň poskytují (by měly poskytovat) příklady použití.“ Netvrdím, že je to 100%, ale často, když si nejsem jistý použitím něčeho konkrétního, tak testy Nette pomohou. Takže by se v nich dalo jistě částečně vyčíst, jak je potřeba upravit změněnou (nefunkční) část po update :-)

David Grudl
Nette Core | 8082
+
0
-

Postupně to vzniká tady https://doc.nette.org/cs/configuring