Kdyby\Console

kdyby nette Existují knihovny, bez kterých bych si vývoj webových aplikací již téměř nedokázal představit. Jedním z nich je Kdyby\Console. Již dříve jsem sice napsal článek o Nette CliRouteru, ale postupem času a hlavně také díky Doctrine jsem velmi rychle a rád přešel na jiné a dokonalejší řešení. Vzhledem k tomu, že na jednom projektu používám tuto knihovnu velmi hodně a vlastně na ní celý projekt stojí, rád bych alespoň prostřednictvím tohoto článku autorovi poděkoval (Filip Procházka). Zároveň bych tímto počínáním rád postupně smazával věčný problém těchto knihoven, protože většinou z hlediska návštěvníka ani není jasné, na co ta knihovna je… Proč uvažovat o konzoli? Pro mě je tato otázka celkem jednoduchá, protože mám projekty, které nejedou jen na sdíleném hostingu, ale jsou to samostatně stojící aplikace. Z toho plyne, že je často zapotřebí vykonávat pomocí CRONu velké množství úkolů. Toto je hlavní část, proč vůbec o konzolovém nástroji uvažuju. Použití je totiž velmi jednoduché a…  přečtěte si více

Komunikace s ERP pomocí XML-RPC

API odoo python Spousta lidí by se ráda připojovala na API ERP systému Odoo, ne vždy je to však procházka růžovým sadem, protože se očekává místy až přehnaná interní znalost tohoto systému. Přitom je to zbytečné. V dnešním článku se pokusím zdokumentovat právě tuto žalostně zdokumentovanou stránku věci tak, aby to zvládl každý alespoň trochu zdatný programátor. Prvně však několik málo slov o co vlastně jde. Odoo je ERP (Enterprise Resource Planning) systém poměrně bohatý na funkce a má za úkol řešit zejména vnitrofiremní procesy a obecně všechny záležitosti, které se okolo jakékoliv firmy motají. Lze tedy řešit plánování projektů, jejich workflow, rozvrhování času, řízení zakázek…  přečtěte si více

Za hranicí ORM

odoo python xml Již mnohokrát jsem slyšel, že je ORM antipattern. Já si to nemyslím. Je to hloupý a uspěchaný názor. V dnešním článku však nechci rozebírat co je a co není antipattern. To je jen zbytečnou ztrátou času. Rád bych ukázal použití jednoho ORM systému, který mě naprosto uchvátil. Když jsou potřeba firemní procesy Zejména začínající firmy mají na svém startu náročný úkol. Je zapotřebí vytvořit vnitrofiremní procesy, které striktně řídí běh různých akcí jako je například výroba, reklamace, nebo třeba koloběh dokumentů. Ve firmě taková řešení nabízíme a je o ně velký zájem. Má to svůj smysl. Není žádným tajemstvím, že používáme ERP systém Odoo, protože je to velmi silný…  přečtěte si více

SračkoAPI

API úvaha Následující řádky budou čistý hate na několik tvůrců API, který má posloužit budoucím tvůrcům API. Sám totiž musím obsluhovat několik služeb a získávat z nich data. A ačkoliv se nebráním složitostem, některé věci jsou tak absurdní, že až rozum zůstává stát… No to si ze mě děláte… První místo na žebříčku debility získává API pro obsluhu a registraci domén od Web4U. Jedná se o klasické SOAP API, které mě však místy přivádí k šílenství. Začnu pěkně od začátku. Aby bylo vůbec možné API volat, musíte nejdříve získat identifikátor služby. Kde jej sehnat? Napadá vás někde v aministraci? Kde jinde také, že? Omyl! Identifikátor služby se získává tak, že zavoláte jakoukoliv funkci z jejich API špatně a identifikátor najdete ve vrácené exception. A to si nedělám prdel. To fakt mají napsané v dokumentaci. A aby toho nebylo málo, tak vrácené ID je ve formátu IDxxxxxxx, .... Koho by však napadlo, že ID je tich prvních 9 znaků, tak je na omylu. ID je totiž to ID bez úvodního ID, tedy xxxxxxx.…  přečtěte si více

Novinky na blogu a extension RFC

nette RFC Kdo pravidelně sleduje můj twitter, tak už to ví. A je to skvělé! Včera jsem totiž mergnul důležitou část tohoto blogu a tím vydal verzi 1.1 snad stable… (-: Jedná se o celkem významný krok, ale stále je to nic oproti tomu co mám v plánu. V dnešním článku bych se rád podělil o většinu zajímavých novinek a v druhé části bych rád požádat o pomoc s rozvinutím jednoho zajímavého nápadu. Novinky v release 1.1 A hned první novinka je ta nejzajímavější. Zastávám názor, že by si měl programátor za svým kódem stát a to v každé situaci. Proto jsem se rozhodl, že pustím kohokoliv do své administrace. Ostatně proč ne. Je to výzva. Rád bych však napřed požádal kohokoliv kdo najde nějakou chybu, aby mi to dal vědět na základě nepsané programátorské etikety a nesnažil se celý blog hned zničit. Zálohu mám… :-) Administraci najdete na adrese www.zeminem.cz/admin a přístupové údaje jsou demo / demo. Enjoy. Ačkoliv je první představená novinka asi nejzajímavější pro kohokoliv jiného, pro mě osobně…  přečtěte si více

Čteme Data Matrix bez čtečky

matrix Dnešním článkem navazuji na dřívější článek Čteme QR kódy bez čtečky, ve kterém jsem řešil čtení QR kódu bez použití jakéhokoliv čtecího zařízení. A dnes budu řešit téměř to samé, ale s jiným kódem. Data Matrix není tolik známý, ale myslím si, že patří, hned po QR kódech, mezi nejpoužívanější kódy vůbec. Po tomto článku si jich zajisté začnete všímat více. Naposledy jsem jej viděl na balíčku od jahod… (-: Opět platí, že hlavním cílem je kód přečíst, nikoliv mu úplně porozumět, takže nebudu rozebírat velké detaily. Levý obrázek je kód o kterém bude celou dobu řeč. Trocha nezbytné teorie Tento kód je oproti QR kódu velmi jednoduchý, takže i teorie bude stručná…  přečtěte si více

Disqus lazy loading

disqus javascript Tento článek ve skutečnosti odstartovalo zdánlivě nesouvisející vlákno na Nette fóru. V tomto vláknu se řeší parametr _fid v URL adrese, který tam Nette framework přikládá kvůli flash messages. Tato vlastnost někoho skutečně hodně štve, mě zase až tak moc ne. Jenže když jsem nad tím vláknem chvíli seděl, tak jsem si uvědomil, že mám komentářový systém Disqus implementovaný špatně. Čtěte dál a vyhněte se stejné chybě… (-: Univerzální kód Disqus poskytuje „by default“ univerzální kód, který prakticky pouze zkopírujete na svůj web na požadované místo a je hotovo. Tento kód vypadá zhruba takto: div id="disqus_thread" script type="text/javascript" /* * *…  přečtěte si více

Stáhněte si lepší blog

Čas od času se na Nette fóru najde někdo, kdo hledá vzorový projekt do kterého by se mohl podívat. Vlastně se většinou hledá cokoliv, jakákoliv inspirace. Bohužel se zřejmě všichni bojí toho, že o svůj projekt přijdou, protože v něm někdo najde bezpečnostní chybu. Já se toho také bojím, ale lepší než před tím utíkat je se tomu postavit čelem. A tak je to tady. Kdokoliv cokoliv K dispozici je pro nahlédnutí tento blog. A nejen k nahlédnutí, ale také k volnému používání. Na pozadí běží hned několik technologií, které si můžete prakticky osahat: Nette Framework (nette.org) Nette Tester (tester.nette­.org) Texy (je sexy) (texy.info) FSHL (fshl.kukulich­.cz) Webloader (addons.nette­.org) Kdyby\Doctrine 2 (GitHub) K dispozici je i databáze, protože si myslím, že bych se i s únikem databáze neměl nijak ohrozit… :-) Účelem tohoto nápadu a následně rozhodnutí je poskytnout pokud možno funkční a aktivní projekt, který staví právě na těchto technologiích. Důvodem je pak moje…  přečtěte si více

Znovupoužitelný formulář

doctrine nette Každý kdo nějakou chvíli pracuje s Nette Frameworkem již jistě narazil na prvky, které lze použít v aplikaci opakovaně. Říkejme jim znovupoužitelné komponenty, nebo prostě jen komponenty. Následující text má za úkol ukázat opět maximálně prakticky a uceleně jedno z možných řešení jak k tomuto problému přistupovat a co se mi na tomto řešení líbí, nebo naopak nelíbí. Motivace Proč vůbec přemýšlet o komponentách? Na tuto věc má pravděpodobně dost lidí zcela jiný názor. Pro mě je havní motivací to, že si vyčistím presentery. Chci toho mít v presenterech skutečně tak akorát. Vždyť podle MVP struktury bych v presenterech neměl mít nic složitého. A pak je zde ta znovupoužitelnost. Co když se rozhodnu, že potřebuji použít stejný formulář na více místech? Přece ho nebudu kopírovat. A že takový požadavek je sice často někdo zmíní, ale prakticky není moc reálný? Ale kdepak. Zrovna nedávno jsem vytvářel mnoho stránek a na každé jsem chtěl mít právě kontaktní formulář. To je požadavek na…  přečtěte si více

Plzeňský Barcamp - láska na první pohled

barcamp Ačkoliv jsem z dřívějších barcampů sledoval záznamy, tak jsem byl fakticky na barcampu úplně poprvé a rovnou jsem měl tu čest přednášet. Než se však dostanu k samotné přednášce, rád bych zde napsal nějaký feedback. Celkově jsem z Plzeňského Barcampu skutečně nadšen. Skvělá atmosféra, fajn lidi, spoustu jídla, alkoholu možná až moc… :-)) Na druhou stranu došlo i k pár přešlapům. Některé mě mrzí více, jiné ani tak ne, každopádně… Skutečně mě mrzí to, že nebyla nahrávána na video každá přednáška. @eshopkonzultant Honzo, máme to v plánu. Pokud nám ho nic nenaruší, chtěli bychom určitě záznamy dodat nejdéle do měsíce po skončení akce. — Plzeňský Barcamp (…  přečtěte si více