Netbeans Nette Framework Plugin

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

Stalo se tak zhruba před dvěma dny ;)

Edit: Proto snad na dobré cestě, ale ještě to nemůžeme vyzkoušet.

Editoval redhead (23. 8. 2010 18:47)

redhead
Člen | 1313
+
0
-

Btw ani nevím, kam by to mělo v addonech patřit. Není to ani plugin do Nette…

Ondřej Brejla
Člen | 746
+
0
-

vrtak-cz napsal(a):

Btw nechcete kvůli té závislosti napsat přímo netbeansákům? Petr Pišl vypadal minimálně na WebExpu hodně ochotně.

Ono to bude už tak týden, diskutujeme a hledáme řešení ;-)

Tím fixem jsem myslel jeden dnešní plánovaný, který mimochodem již proběhl.

redhead napsal(a):

Snad možná do „Rozšíření a nástroje“, ale to se mi moc nezdá. Spíš nějaká extra sekce ;-)

Patrik Votoček
Člen | 2221
+
0
-

udějte si sekci třeba „Nástroje pro snadnější práci“ nebo tak něco…

crempa
Člen | 198
+
0
-

Tak jsem si vytvoril vlastni build a mam hned nekolik dotazu.. :)

  • je mozne pouzit plugin na stavajici klasicke PHP projekty, nebo je nutne vytvorit nove projekty (z existujiciho zdrojaku) kde se nastavi jako framework prave nette?
  • je mozne nejak zmenit v NB barvy ve zvyraznovani latte filtru? nasel jsem na to rozhrani ale nezda se ze funguje… pripadne kde ve zdrojaku je mozne si ty barvy editovat? udelal bych si vlastni build… pouzivam sede pozadi takze aktualni stav neni idealni.. :)
  • je nutne dodrzovat defaultni nazvy slozek app, document_root apod. a pokud ano je mozne toto nekde zmenit? (opet predpokladam ze pouze ve zdrojaku ⇒ idealni by byla moznost toto nastavit primo nekde v GUI NB)

Dekuji

redhead
Člen | 1313
+
0
-

crempa napsal(a):

  • je mozne pouzit plugin na stavajici klasicke PHP projekty, nebo je nutne vytvorit nove projekty (z existujiciho zdrojaku) kde se nastavi jako framework prave nette?

Já myslím, že možná nebude problém se stávajícími projekty vůbec. Pokud ti fungují latte šablony (což by měli i na ne-nette projektu v souborech phtml) nebo zkus alt + insert, jestli se v seznamu objeví generátor komponent. Když ne, zkus to přes ty nové projekty. Ale nezkoumal sem to..

  • je mozne nejak zmenit v NB barvy ve zvyraznovani latte filtru? nasel jsem na to rozhrani ale nezda se ze funguje… pripadne kde ve zdrojaku je mozne si ty barvy editovat? udelal bych si vlastni build… pouzivam sede pozadi takze aktualni stav neni idealni.. :)

Mělo by to fungovat přes nastavení v NB, ale nefunguje. Nevím proč a snad to někdy dokážu spravit.

Nicméně, v package .nette.resources hledej soubor FontAndColors.xml (tam si to můžeš změnit)

  • je nutne dodrzovat defaultni nazvy slozek app, document_root apod. a pokud ano je mozne toto nekde zmenit? (opet predpokladam ze pouze ve zdrojaku ⇒ idealni by byla moznost toto nastavit primo nekde v GUI NB)

Toto bude otázkou do budoucna. Rozhodně to budeme chtít nějak řešit, ale rozhodně není nutné dodržovat tu strukturu, co se vytvoří při novém projektu. Jediné, co můžeš ztratit je napovídání proměnných v šablonách z presenterů (což mám pocit stejně přestalo fungovat s úpravou na virtuální kód).

crempa
Člen | 198
+
0
-

Dekuju za promtni odpoved :)

Já myslím, že možná nebude problém se stávajícími projekty vůbec. Pokud ti fungují latte šablony (což by měli i na ne-nette projektu v souborech phtml) nebo zkus alt + insert, jestli se v seznamu objeví generátor komponent. Když ne, zkus to přes ty nové projekty. Ale nezkoumal sem to..

Zda se ze je to tak, latte funguje, generator komponent funguje.. vse na stavajicim projektu

hledej soubor FontAndColors.xml

Perfektni, uz jsem to nasel

Jediné, co můžeš ztratit je napovídání proměnných v šablonách z presenterů

Prave proto jsem se ptal, to je jedine co me asi nejde z uvedeneho seznamu na zacatku diskuse, pokud ale rikas ze to i tak nefunguje nebudu to zatim resit

Diky za perfektni praci !

2bfree
Člen | 248
+
0
-

Paráda. Jen bych poprosil, či by se dalo nějakým způsobem definovat vlastní adresářová struktura.
Já například používám v adresářích app a document_root ještě název projektu který dělám a teprve v něm mám ostatní adresáře.

Ondřej Brejla
Člen | 746
+
0
-

Už to mám v Todo…počítám s tím. Teď mám něco rozděláno a definice vlastní adresářové struktury by měla být jako další bod. Jen nevím, jestli to bude umět dynamicky generovat názvy složek podle projektu, nejspíš ne. Uvidíme.

Aurielle
Člen | 1281
+
0
-

Aby bylo jasno v čem je problém (NB 6.9.1 stahované dneska, nejnovější buildnutá verze NF pluginu):
 

Starší build funguje bez problémů. (Btw novější build má 1.3.2 verzi a starší 1.4.2 :D)

Bugreport starší verze: Nedovolil mi do odkazu napsat { když jsem chtěl napsat makro… <a href=" v ten moment nejen že to nešlo napsat, ale celému dokumentu vypadlo obarvování a byl černý…

Editoval gmvasek (24. 8. 2010 14:33)

jannemec
Člen | 78
+
0
-

Jen drobnost – možná by pro nette plugin mohlo v sloupci Category být PHP míst Uncategorized
vím, že je to blbost, ale pro formu …
Jinak autorům děkuji – vypadá fakt dobře a ten poslední build se podařilo nainstalovat i na upgradeovaný NB6.9.1

Patrik Votoček
Člen | 2221
+
0
-

Pokud se bude dělat napovídání proměných a komponent v šablonách tak je to pro mě z důvodu hodně upraveného presenter loaderu nepoužitelé plánujete řešit i tohle? (je mě jasné že to nebude hračka)

redhead
Člen | 1313
+
0
-

vrtak-cz napsal(a):

Pokud se bude dělat napovídání proměných a komponent v šablonách tak je to pro mě z důvodu hodně upraveného presenter loaderu nepoužitelé plánujete řešit i tohle? (je mě jasné že to nebude hračka)

Napadlo mě řešení v podobě nastavení univerzální relativní cesty k souboru presenteru.

V normální adr. struktuře:

../../presenters/		(pro templates/Presenter/view.phtml)
../presenters/			(pro templates/Presenter.view.phtml)

Ještě by tam někde mohl být nějaký prvek určující jméno presenteru (třeba ..{presenter}/../presenters). Ale dozajista to také nepokryje všechny možné kombinace adresářů..

Druhé co mě napadlo, že by se na začátek šablony přidal komentář s nějakou „anotací“ určující cestu k presenteru.

{* @presenter ../../presenters/MyPresenter.php *}

Ale to je takové nepraktické..

Nebo má někdo lepší nápad? ;)

redhead
Člen | 1313
+
0
-

@gmvasek (ad bug): můžeš poslat obsah šablony, kdy se to stalo? Tohle může být dost specifické.. (nepodařilo se mi to reprodukovat a nebo to bylo opraveno v novém buildu.).

A pls posílejte to na github (zvláště v editech postů to těžko najdu..)

Patrik Votoček
Člen | 2221
+
0
-

Nevím jsestli vy potřebujete pracovat i s cestou k presenteru. (ja to neřeším – zlatý robotloader). Ale tím upraveným PresenterLoaderem jsem myslel hlavně totálně překopaný Full class name. Se spoustou díky čemuž v aplikaci dosahuji geniální modularity. Abych byl konkrétnější… https://github.com/…s/Loader.php

Ondřej Brejla
Člen | 746
+
0
-

jannemec napsal(a):

Jen drobnost – možná by pro nette plugin mohlo v sloupci Category být PHP míst Uncategorized
vím, že je to blbost, ale pro formu …
Jinak autorům děkuji – vypadá fakt dobře a ten poslední build se podařilo nainstalovat i na upgradeovaný NB6.9.1

Snad fixed.

Aurielle
Člen | 1281
+
0
-

redhead napsal(a):

@gmvasek (ad bug): můžeš poslat obsah šablony, kdy se to stalo? Tohle může být dost specifické.. (nepodařilo se mi to reprodukovat a nebo to bylo opraveno v novém buildu.).

A pls posílejte to na github (zvláště v editech postů to těžko najdu..)

{block #contenttitle}Hráči právě hrající na tomto serveru{/block}
{block #content}
<div id="sidebar">
	{block #menu}{include '@menu.phtml'}{/block}
</div>

<div id="inner-content">
	{assign $server Servers::find($serverId)}
	{assign $info ServerInfo::findCached($serverId)}
	<p>Zobrazuji hráče ze serveru {if $info !== FALSE}<strong>{$info->hostname}</strong> ({$server->ip}:{$server->port}){else}<strong>{$server->ip}:{$server->port}</strong>{/if}:</p>
	<table style="width: 100%; margin-top: 1.5em">
		<tr>
			<th>Stát</th>
			<th>Jméno</th>
			<th>Steam ID</th>
			<th>IP adresa</th>
			<th>Čas ve hře</th>
			<th>Ping</th>
		</tr>
		{if $players}
		{foreach $players as $data}
		<tr>
			<td style="text-align: center">{if !empty($data['country'])}<img src="{$basePath}/images/country/{$data['country']|lower}.gif" alt="{$data['country']}" style="vertical-align: middle" />
			{else}<img src="{$basePath}/images/country/zz.gif" alt="Neznámo" style="vertical-align: middle" />{/if}</td>
			<td>{$data['name']}
			<br />
			{if $user->hasFlag(ADMIN_ADD_BAN)}<a href="{plink :Viewer:Admin:Servers:kick sid => $serverId, name => $data['name'], reason => 'noreason'}" onclick="return getReason(this);">kick</a> - <a href="{plink :Viewer:Admin:Bans:add sid => $serverId, name => $data['name']}">ban</a>, {/if}<a href="http://steamcommunity.com/profiles/{$data['communityid']}">community</a>
			<br />bany:
			<a href="{plink :Viewer:Banlist:list search => TRUE, searchText => $data['authid']}">Steam ID</a>, <a href="{plink :Viewer:Banlist:list search => TRUE, searchText => $data['ip']}">IP</a>, <a href="{plink :Viewer:Banlist:list search => TRUE, searchText => $data['name']}">Nick</a>
			</td>
			<td>{$data['authid']}</td>
			<td>{$data['ip']}</td>
			<td>{$data['time']}</td>
			<td>{$data['ping']}</td>
		</tr>
		{/foreach}
		{else}
		<tr>
			<td colspan="6" style="text-align: center">momentálně na serveru nikdo nehraje</td>
		</tr>
		{/if}
	</table>
</div>

<script type="text/javascript">
//<![CDATA[
function getReason(el)
{
	reason = prompt('Zadejte důvod vykopnutí:');
	if(reason == null) return false;
	var url = $(el).attr('href').replace('noreason', reason);
	window.location = url;
	return false;
}
//]]>
</script>

<div class="cleaner"></div>
{/block}

{block #title}Správa serverů{/block}

Toto je ta šablona, barvení vypadne po tom, co napíšu <a href=" a sem se pokusím napsat složenou závorku.

redhead
Člen | 1313
+
0
-

vrtak-cz napsal(a):

Nevím jsestli vy potřebujete pracovat i s cestou k presenteru. (ja to neřeším – zlatý robotloader). Ale tím upraveným PresenterLoaderem jsem myslel hlavně totálně překopaný Full class name. Se spoustou díky čemuž v aplikaci dosahuji geniální modularity. Abych byl konkrétnější… https://github.com/…s/Loader.php

Já potřebuju pracovat z cestou k presenteru pro napovídání proměnných/komponent, resp. musím najít způsob, jak vyhledat podle umístění šablony (příp. názvu) cestu k presenteru. Ale protože nikdy nebudu moct najít dobrý a intuitivní systém pro hledání každého případu adres. struktury, jmen souborů a full-class-name, který se dá v Nette vytvořit, tak je dost možné, že zrovna u tvého případu to nebude dost dobře fungovat..

redhead
Člen | 1313
+
0
-

@gmvasek: stále nic, zkoušel jsem to na třech různých místech. Když tak ještě napiš, kde přesně ten link začneš psát (také záleží na kontextu ;) je to složitý..).

Pokud se mi to nepovede i tak, tak nejspíš opraveno (fixoval jsem ještě jiný reportovaný bug, možná s tím měl něco společného)

Yrwein
Člen | 45
+
0
-

Menší bug s Latte:

{plink RegOrders: , 'edit', $payment->getRegOrderId()} // Tady mě to seřve s „expected instanceof,…“.

{plink RegOrders:, 'edit', $payment->getRegOrderId()} // Tady už ne. (Rozdíl je v absenci mezery na místě s očekávanou action.)

Jinak dík za tenhle čuprovej plugin. Někdy budu muset konečně zřídit paypal a poděkovat i jinak. .)

Editoval Yrwein (25. 8. 2010 0:41)

mkoubik
Člen | 728
+
0
-

Mám tip do budoucna k tomu kopírování nette při zakládání projektu – určitě by se hodilo mít možnost použít trunk z githubu. Sice by to asi bylo o dost složitější, ale uvádim to tady jako takovej malej nápad na zlepšení.

Patrik Votoček
Člen | 2221
+
0
-

rozhodně by nebylo lepší použít clone master z GitHubu.. Už jenom kvuli absenci dat v Nette\Framework

crempa
Člen | 198
+
0
-

AD napovidani komponent a promennych… proc nevyuzit presne ten postup ktery pouziva nette a jen ho neobratit (nette hleda soubor sablony, ty budes hledat soubor presenteru).

Netusim jake jsou ted moznosti v kombinaci nazvu presenteru a sablon, porad pouzivam klasicke presenters/… a templates/presenterName/… ale furt to musi bejt nejakej jeden promyslenejsi regular ne?

Navic se nabizi i moznost cteni vystupu z robotloaderu (a prelozenych sablon vcetne jejich nazvu), ktery se uklada do tempu ⇒ tim ziskas kompletni prehled nad projektem, stejny jako ma nette.

V neposledni rade je tu pak jeste okno settings projektu (do ktereho netusim zda mas pristup a jak s nim muzes pracovat), kde si kazdy pripadne proste nastavi kde ma presentery, kde ma sablony a pripadne i regular jak zjistovat presenter z nazvu (cesty) sablony a smitec, konfigurace na pet minut muze slouzit mesice na jednom projektu… :)

Ondřej Brejla
Člen | 746
+
0
-

mkoubik napsal(a):

Mám tip do budoucna k tomu kopírování nette při zakládání projektu – určitě by se hodilo mít možnost použít trunk z githubu. Sice by to asi bylo o dost složitější, ale uvádim to tady jako takovej malej nápad na zlepšení.

To mi napadlo dnes k ránu v horečnatém spánku, ale pak jsem to zavrhl. Protože to je dost wtf…člověk si udělá clone a má „cosi“ (pokud nekoukne na github, tak ani pořádně neví, co se kde měnilo), navíc když udělám za 5 min nový projekt, tak mohu mít opět jiný clone…což je minimálně velice podivné…

Nehledě na vrtákův postřeh.

Ondřej Brejla
Člen | 746
+
0
-

crempa napsal(a):

AD napovidani komponent a promennych… proc nevyuzit presne ten postup ktery pouziva nette a jen ho neobratit (nette hleda soubor sablony, ty budes hledat soubor presenteru).

Přesně tak to má také fungovat…

Netusim jake jsou ted moznosti v kombinaci nazvu presenteru a sablon, porad pouzivam klasicke presenters/… a templates/presenterName/… ale furt to musi bejt nejakej jeden promyslenejsi regular ne?

Po letmém shlédnutí vrtákovy varianty mám dojem, že můžeš mít presentery kdekoliv a mohou se ti jmenovat jakkoliv (podle nějaké pattern).

Navic se nabizi i moznost cteni vystupu z robotloaderu (a prelozenych sablon vcetne jejich nazvu), ktery se uklada do tempu ⇒ tim ziskas kompletni prehled nad projektem, stejny jako ma nette.

To bych buď musel RobotLoader spouštět sám (to se mi moc nezdá, navíc Nette nemusí být u projektu vůbec nakopírováno) nebo sahat do tempu (což je blbost, ne vždy je v tempu aktuální cache loaderu…zvlášť ze začátku…).

V neposledni rade je tu pak jeste okno settings projektu (do ktereho netusim zda mas pristup a jak s nim muzes pracovat), kde si kazdy pripadne proste nastavi kde ma presentery, kde ma sablony a pripadne i regular jak zjistovat presenter z nazvu (cesty) sablony a smitec, konfigurace na pet minut muze slouzit mesice na jednom projektu… :)

O něčem takovém jsme taky uvažovali…buď určením adresářů s presentery atd., nebo zadání jakési „masky“ (nejspíš ne-regulár, aby to bylo co nejjednodušší), podle které by se hledalo…

Každopádně se snažíme najít co nejlepší způsob, aby byl pokud možno co nejvíc automatický a aby pokud možno fungoval bez nějakých větších zásahů uživatele…

Zatím to tedy vypadá, že hledání bude „vícevrstvé“. Tím mám na mysli, že první hledání se provede podle standardní adresářové struktury, pokud se odpovídající presentery nenajdou, použije se nějaký sofistikovanější způsob (třeba prohledání projektu, s tím, že výsledky se nakešují) a pokud ani to nepůjde, tak se bude hledat podle uživatelských „patternů“.

Resp. ten proces by byl nejspíš opačně – patterny (pokud jsou), standardní struktura, a nějaký brutal force…

Ale zatím se nic takového neimplementuje, hledáme nejlepší řešení.

Editoval Ondřej Brejla (25. 8. 2010 9:25)

Aurielle
Člen | 1281
+
0
-

Bude build? Rád bych odzkoušel novou verzi…
Btw taky jsem si vzpomněl, že plugin označoval za chybu zápis {!$nameForm['forumname']->control} (taky ve staré verzi)

redhead
Člen | 1313
+
0
-

Bude snad někdy na večer/noc. Ten zápis by už měl být opraven.

redhead
Člen | 1313
+
0
-

Yrwein napsal(a):

Menší bug s Latte:

{plink RegOrders: , 'edit', $payment->getRegOrderId()} // Tady mě to seřve s „expected instanceof,…“.

{plink RegOrders:, 'edit', $payment->getRegOrderId()} // Tady už ne. (Rozdíl je v absenci mezery na místě s očekávanou action.)

Jinak dík za tenhle čuprovej plugin. Někdy budu muset konečně zřídit paypal a poděkovat i jinak. .)

Asi to jako bug klasifikuju, ale obecně tam máš tu mezeru navíc (dokonce i ta čárka tam nemusí být ;) )

iguana007
Člen | 970
+
0
-

Rád bych nahlásil bug (snad už to tady nebylo zmíněné).

Když edituji template a umístím kurzor před složenou závorku: { a zmáčknu enter, tak se mi sice odřádkování provede, ale kurzor mi skočí na samotný začátek kódu. Používám NetBeans 6.9.1 a build pluginu ze dne: 23.8.2010 – v dřívějších verzích jsem toto chování nezpozoroval.

redhead
Člen | 1313
+
0
-

Lidi! GitHub! Issues!

Už opraveno, na večer/noc bude nový build.

Patrik Votoček
Člen | 2221
+
0
-

Hlavně nezapomeňte zvednou číslo verze… Blbě se mě aktualizovalo…

iguana007
Člen | 970
+
0
-

redhead napsal(a):

Lidi! GitHub! Issues!

Už opraveno, na večer/noc bude nový build.

sorry, příště to šoupnu tam ;) Díky za fix.

redhead
Člen | 1313
+
0
-

Nový build na http://goo.gl/uPQZ

vrtak-cz napsal(a):

Hlavně nezapomeňte zvednou číslo verze… Blbě se mě aktualizovalo…

My jsme ji museli upravit na nižší číslo z důvodu ujasnění verzování, nicméně nový build se nepřepíše i když by měl vyšší verzi. Vždycky jsem musel plugin odinstalovat, restartovat a nainstalovat znova :(

Aurielle
Člen | 1281
+
0
-

Bug s vypadávaním obarvování zmizel, zároveň potvrzuji že to jde nainstalovat na aktuální NetBeans :)

Patrik Votoček
Člen | 2221
+
0
-

redhead napsal(a):

My jsme ji museli upravit na nižší číslo z důvodu ujasnění verzování, nicméně nový build se nepřepíše i když by měl vyšší verzi. Vždycky jsem musel plugin odinstalovat, restartovat a nainstalovat znova :(

Ano nainstalovat ano… Ale při poslední aktualizaci jsem musel i odebrat ze seznamu aktualizací… Dneska jsem nemusel… :-)

Ondřej Brejla
Člen | 746
+
0
-

Jen připomínám, že o novinkách v pluginu a o vývoji obecně se dozvíte na Twitteru: http://twitter.com/NetBeansNette :-) Follow…

Ondřej Brejla
Člen | 746
+
0
-

Používáte u většiny Presenterů metodu action/render s názvem default? http://twtpoll.com/bs12yh

lmanik
Člen | 3
+
0
-

Zdravím, bylo by možné udělat build na 201008030030? To je dostupný build pro linux na netbeans.org. Díky

sin
Člen | 82
+
0
-

stahnul jsem si to z gitu ale nemuzu tam najit soubor nbm… co delam blbe?

redhead
Člen | 1313
+
0
-

A stáhnul jsi source nebo zip ze sekce download?

sin
Člen | 82
+
0
-

zip

redhead
Člen | 1313
+
0
-

Jestli opravdu ze sekce Download, tak tam ten soubor je, vlastně jako jedinej soubor. Nic jinýho tam není.

sin
Člen | 82
+
0
-

ja jsem to oteviral na macu a to mi rozzipovalo i obsah… omlouvám se za zmatek.
PS: jde vám to na macu ? chce to po me aktualizace, ale nemuzu najit kde je sehnat…

Ondřej Brejla
Člen | 746
+
0
-

Připravuje se podpora generování šablon pro generované action (render) metody při vytváření nového presenteru. Výroba je v procesu ;-)

iguana007
Člen | 970
+
0
-

Ondřej Brejla napsal(a):

Připravuje se podpora generování šablon…

Super :)

Bernard Williams
Člen | 207
+
0
-

Ocenil bych větší podporu PostgreSQL.. stejně tak u pluginu na tvorbu formulářů z DB. Ve většině případů mi to píše, že podporovaná je jen MySQL a přitom se v základu tolik neliší.

Bernard

Editoval Bernard Williams (9. 9. 2010 0:15)

Ondřej Brejla
Člen | 746
+
0
-

A kde bys ji ocenil? O žádné podpoře DB v pluginu nevím…ani si nedokáži dost dobře představit, jakou podporu máš na mysli. Max generování loginu, passu, atd. do configu…ale to je asi tak všechno…

Ondřej Brejla
Člen | 746
+
0
-

Poll: Jakou variantu uložení šablon používáte? http://twtpoll.com/1utdh9

Ondřej Brejla
Člen | 746
+
0
-

Feature: Presenter wizard umožňuje definovat parent Presenter http://twitpic.com/2o542n a generuje action šablony http://twitpic.com/2o54bj – via. @NetBeansNette

redhead
Člen | 1313
+
0
-

Updatováno makro cache podle nedávné Davidovi změny v source pro 1.0

Nový build pro NetBeans Build 201007282301 (ten nahoře ;) )