<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Mario's cosy freelance cavern» Марио Пешев - freelance проекти, консултации и обучения</title>
	
	<link>http://peshev.net/blog</link>
	<description>Here I come, there I am.</description>
	<lastBuildDate>Fri, 20 Aug 2010 13:59:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/peshevsworld" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="peshevsworld" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Колко от вас работят с CakePHP?</title>
		<link>http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/</link>
		<comments>http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 13:49:06 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Общи]]></category>
		<category><![CDATA[конференция]]></category>
		<category><![CDATA[програмисти]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1793</guid>
		<description><![CDATA[Един интересен въпрос за PHP (CakePHP) разработчиците:&#160; Колко от вас работят с CakePHP? След 10-тина дни се провежда CakeFest 2010 - едно доста мащабно събитие, уви, в Щатите. Искрено се надявам на видео записи, за да видя последните трендове във фреймуърка. Доколкото познавам PHP пазарът в България, няма ярко изразена платформа или фреймуърк в PHP, [...]


Сходни постове:<ol><li><a href='http://peshev.net/blog/cakephp-i-rss-feed-bez-magii/' rel='bookmark' title='Permanent Link: CakePHP и RSS feed без магии'>CakePHP и RSS feed без магии</a> <small>&nbsp; Cak</small></li><li><a href='http://peshev.net/blog/cakephp-i-svarzani-select-i-s-ajax/' rel='bookmark' title='Permanent Link: CakePHP и свързани select-и с AJAX'>CakePHP и свързани select-и с AJAX</a> <small>Наложи се </small></li><li><a href='http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/' rel='bookmark' title='Permanent Link: CakePHP - администрация, Auth, Acl и привилегии'>CakePHP - администрация, Auth, Acl и привилегии</a> <small>В CakePHP </small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Един интересен въпрос за PHP (<a href="http://cakephp.org">CakePHP</a>) разработчиците:&nbsp;</p>
<p><strong>Колко от вас работят с CakePHP?</strong></p>
<p>След 10-тина дни се провежда <a href="http://cakefest.org/">CakeFest 2010</a> - едно доста мащабно събитие, уви, в Щатите. Искрено се надявам на видео записи, за да видя последните трендове във фреймуърка.</p>
<p>Доколкото познавам PHP пазарът в България, няма ярко изразена платформа или фреймуърк в PHP, наложени масово. Използват се Joomla, WordPress, от известно време Drupal. Отвъд CMS (и блогинг) системите познавам малки групи от кодери на CakePHP, Zend, Symfony и множество custom фреймуърци.&nbsp;</p>
<p>Тъй като скоро CakeFest 2010 ще премине, колегите от Cake Software Foundation разучават възможни локации за провеждане на събитието. Имах неангажиращ разговор с Graham Weldon, по време на който той прояви интерес към София като дестинация за феста през 2011-та година. Един от основните фактори, разбира се, е каква част от PHP (и не само) разработчиците (и отново не само) в страната биха посетили такова събитие? Естествено, яснота за цени няма, но най-малкото отпадат разходи за път и хотели (за разлика от конференции в други страни).</p>
<p>Конференциите обикновено са 2 части: workshop и семинар. Полезното на първата част е, че се вижда технологията в действие: реален проект с всичко стандартно по него и някои fine tunes с въпроси и отговори. Във втората част има някои интересни плъгини или трикове с технологията.&nbsp;</p>
<p>Като цяло минимална бройка заинтересовани е <strong>110-120 човека</strong> от БГ. Без яснота в цената е трудно да се прогнозира, но в случай, че цените са достъпни, датите - също, смятам че хората от самото ядро на проекта биха били истински интересни и полезни за такъв тип събитие.</p>
<p>Аз лично познавам ограничен кръг от CakePHP заинтересовани потребители и бих се радвал да чуя колко от вас биха посетили такова събитие? Предполагам че някои фирми биха закупили ваучери/билети за участие на служителите им, ако имат такава практика. Някой сеща ли се за PHP фирми, които биха включили хора в такъв тип?</p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/" type="text/javascript" charset="utf-8"></script>

<p>Сходни постове:<ol><li><a href='http://peshev.net/blog/cakephp-i-rss-feed-bez-magii/' rel='bookmark' title='Permanent Link: CakePHP и RSS feed без магии'>CakePHP и RSS feed без магии</a> <small>&nbsp; Cak</small></li><li><a href='http://peshev.net/blog/cakephp-i-svarzani-select-i-s-ajax/' rel='bookmark' title='Permanent Link: CakePHP и свързани select-и с AJAX'>CakePHP и свързани select-и с AJAX</a> <small>Наложи се </small></li><li><a href='http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/' rel='bookmark' title='Permanent Link: CakePHP - администрация, Auth, Acl и привилегии'>CakePHP - администрация, Auth, Acl и привилегии</a> <small>В CakePHP </small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Топ 10 проблема при преговорите - дискусия</title>
		<link>http://peshev.net/blog/top-10-problema-pri-pregovorite-diskusiya/</link>
		<comments>http://peshev.net/blog/top-10-problema-pri-pregovorite-diskusiya/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 18:45:22 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[techies]]></category>
		<category><![CDATA[Общи]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1789</guid>
		<description><![CDATA[Една дискусия за Топ 10 проблема (или въпроса) по мое мнение при преговорите с клиенти. Това са деликатни точки, които ме притесняват през последните 2 години и наистина ще се радвам на странично мнение или оценка. Тъй като &#34;безплатен обяд няма&#34;, условията на играта са следните:&#160; Всеки, който отговори сериозно на списъка, ще получи 2 [...]


Сходни постове:<ol><li><a href='http://peshev.net/blog/prava-i-otgovornosti-za-domeynite-onlayn-diskusiya/' rel='bookmark' title='Permanent Link: Права и отговорности за домейните - онлайн дискусия'>Права и отговорности за домейните - онлайн дискусия</a> <small>Голяма час</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Една дискусия за <strong>Топ 10 проблема</strong> (или въпроса) по мое мнение при <strong>преговорите с клиенти</strong>. Това са деликатни точки, които ме притесняват през последните 2 години и наистина ще се радвам на странично мнение или оценка.</p>
<p style="text-align: center; "><a href="http://www.elledgegroup.org/" target="_blank"><img align="middle" alt="преговори с клиенти" height="200" src="http://www.elledgegroup.org/image_manager/bsp-Business-Negotiations-Men-311984.jpg" width="300" /></a></p>
<p>Тъй като &quot;безплатен обяд няма&quot;, условията на играта са следните:&nbsp;</p>
<p>Всеки, който отговори сериозно на списъка, ще получи <strong>2 линка</strong> в <strong>2 поста</strong> (в този блог и във <a href="http://freelance-lodge.org">Freelance Lodge</a>) с кратък коментар от списъка. За отговор се счита коментар под поста с мнение по 10-те въпроса или пост в блога на колегата (тип меме на задачата).</p>
<p>А ето и въпросите:</p>
<ol>
	<li>Как договаряте условията - гъвкави (agile) методологии или дълги спецификации?</li>
	<li>Колко време отнема контактът с клиента: срещи, телефонни разговори, мейли?</li>
	<li>По какъв начин договаряте дизайна, за да избегнете постоянните промени в процеса на работа?</li>
	<li>Как разпределяте минорните (незначителни и кратки) корекции от съществените (тези, които отнемат време и водят до закъснения и загуби)?</li>
	<li>По какъв начин договаряте плащанията (авансови, на фази, на срокове)?</li>
	<li>Работите ли извън стандартното време (вечер, уикендите)?</li>
	<li>Как реагирате при закъснения на клиент (забавяне на материали, закъснение при отговор и на плащане)?</li>
	<li>Кои са задължителните въпроси и уточнения, които задавате и разяснявате на клиента в началото?</li>
	<li>Колко от проектите ви са на загуба или със закъснение?</li>
	<li>Кои са признаците на потенциалния проблемен клиент?</li>
</ol>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/top-10-problema-pri-pregovorite-diskusiya/" type="text/javascript" charset="utf-8"></script>

<p>Сходни постове:<ol><li><a href='http://peshev.net/blog/prava-i-otgovornosti-za-domeynite-onlayn-diskusiya/' rel='bookmark' title='Permanent Link: Права и отговорности за домейните - онлайн дискусия'>Права и отговорности за домейните - онлайн дискусия</a> <small>Голяма час</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/top-10-problema-pri-pregovorite-diskusiya/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Уикенд молване</title>
		<link>http://peshev.net/blog/uikend-molvane/</link>
		<comments>http://peshev.net/blog/uikend-molvane/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 20:17:35 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[Общи]]></category>
		<category><![CDATA[serdika center]]></category>
		<category><![CDATA[the mall]]></category>
		<category><![CDATA[молове]]></category>
		<category><![CDATA[разходка]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1775</guid>
		<description><![CDATA[С Ива прекарахме известна част от уикенда в молване. Преди да си взема офис, голяма част от времето ми преминаваше в Coffee Heaven в City Center или в някоя от Ондите. Досега не бях стъпвал в моловете на Ситняково (сиреч Сердика център) и великия The Mall. Признавам, че успяха да ме впечатлят по различни параметри [...]


Няма сходни постове.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>С <a href="http://ivdimova.com">Ива</a> прекарахме известна част от уикенда в молване. Преди да си взема офис, голяма част от времето ми преминаваше в <a href="http://www.coffeeheaven.eu/">Coffee Heaven</a> в City Center или в някоя от Ондите. Досега не бях стъпвал в моловете на Ситняково (сиреч Сердика център) и великия The Mall. Признавам, че успяха да ме впечатлят по различни параметри <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Вчерашната ни разходка беше по-скоро изследователска - разглеждахме за някои неща, но така и не попаднахме на нещо конкретно. В Сердика мола ни заболя главата от магазини от двете страни - типичен търговски център ала Илиянци (базар за дрехи, обувки и бижута).&nbsp;</p>
<p style="text-align: center; "><img align="middle" alt="" height="300" src="http://avtora.com/uploads/images/content/news/2010/04_April/22/arena_01.jpg" width="400" /></p>
<p>Днес обаче разходката до The Mall бе далеч по-ползотворна. Последният път, връщайки се от Пловдив, бях без кола и не успяхме да напазаруваме оттам. Днес си взех едни къси гащи от New Yorker, прегледахме магазина за видео фенове (със статуетки, плакати и книги от Star Wars, Simpsons etc), минахме през Ку-Ку частта в Карфур и, разбира се, в плей центъра с конзоли, игри, боулинг, 4D кино. <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Радвам се, когато има възможност да се прекара един ден с такива неща. Повечето клубове с конзоли, за които се сещам, отдавна не съществуват; за Боулинг се сещам за Люлин и залата в Студентски и в общи линии повечето игрални зали или са адски зле поддържани, или просто ги няма.&nbsp;</p>
<p>Основните предимства на моловете изобщо са, че имат безплатен (за известен период) паркинг, а вътре в себе си съдържат повечето неща, необходими за ежедневието - храна (супермаркети, готвена храна и джънк), дрехи, книги. По няколко различни вида кафенета, подходящи за срещи (снадбени обикновено с отворен безжичен нет). Споменах ли и кино залите? (с натъртване на iMax в Mall of Sofia). От започването на кризата насам в Илиянци вдигнаха цените и наемите неимоверно (безкрайно тъпа идея), а в центъра намалиха цените по 30-70% дори на доста маркови стоки - внос от Италия, Германия, Англия. Вече доста маркови и хубави дрехи са на доста достъпни цени - в Тера Нова дрехите са по 5-30лв, както и в различни други чужди вериги за тениски, дънки, блузки и подобни. Конкуренцията (20+ такива магазина в един мол) прави нещата още по-конкурентни, а при наличието на охладена сграда в летните жеги не е невъзможно обикалянето до няколко съседни магазина и сверка на часовника.</p>
<p>Банките вътре, гишетата на Easy Pay, магазините за техника, за мобилни оператори и прочие обслужват и останалите нужди, така че да може да се свърши максимално работа за минимална единица площ и време (поне чисто теоретично). Тъй че, колкото и да съм скептичен спрямо изчезването на малките магазинчета по блоковете и уличките (подобно на динозаврите едно време), големите хранителни вериги и молове имат значителни предимства в доста аспекти.</p>
<p>P.S. Виждал съм Guitar Hero на няколко места, но играта с танците на квадратната арена със стрелки е нещо, което съм виждал единствено в Malcolm in the Middle и американски филми, така че с Ива направихме няколко разигравания на въпросното. <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) Ако има състезания, може да се подготвям за участие в тях <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/uikend-molvane/" type="text/javascript" charset="utf-8"></script>

<p>Няма сходни постове.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/uikend-molvane/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Циркулярни (рекурсивни) импорти в Django / Python</title>
		<link>http://peshev.net/blog/cirkulyarni-rekursivni-importi-v-django-python/</link>
		<comments>http://peshev.net/blog/cirkulyarni-rekursivni-importi-v-django-python/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 11:55:08 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[techies]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[imports]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1772</guid>
		<description><![CDATA[Python има проблеми с циркулярните (рекурсивни) вмъквания (circular imports) на модули в началото на файловете. Например, ако във файла one.py се опитаме да извикаме &#34;import two.py&#34;, а в two.py направим обратното - &#34;import one.py&#34;, то ще изпаднем във въпросния кръгов цикличен импорт и ще счупим кода успешно Като цяло решенията, които открих, са: дизайн на [...]


Няма сходни постове.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Python има проблеми с циркулярните (рекурсивни) вмъквания (circular imports) на модули в началото на файловете.</p>
<p>Например, ако във файла one.py се опитаме да извикаме &quot;import two.py&quot;, а в two.py направим обратното - &quot;import one.py&quot;, то ще изпаднем във въпросния кръгов цикличен импорт и ще счупим кода успешно <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Като цяло решенията, които открих, са:</p>
<ul>
	<li>дизайн на кода по начин, който не довежда до такива взаимни извиквания</li>
	<li>късни импорти (import в логиката на кода, а не в началото на модула)</li>
</ul>
<p>В Django обаче, при взаимни връзки между апликации, се налага да се вмъкват отделни модели от models.py в различните апликации. Грешката, която извежда при подобен проблем, обикновено няма абсолютно нищо общо и трудно ще откриете проблема.&nbsp;</p>
<p>За да може да се обърнете към връзка 1:M или M:M, вариант е да посочвате името на модела като символен литерал, като по този начин не се налага да го добавяте в импортите отгоре. Например:</p>
<p>&nbsp;</p>
<pre class="python">countries = models.<span style="color: black;">ManyToManyField</span><span style="color: black;">&#40;</span>
<span style="color: #483d8b;">'mainapp.Country'</span>, db_table=<span style="color: #483d8b;">'mainapp_country_links'</span>, blank=<span style="color: #008000;">True</span>, null=<span style="color: #008000;">False</span><span style="color: black;">&#41;</span></pre>
<p>&nbsp;</p>
<p>С горния начин печеля две неща: не довеждам до рекурсивно вмъкване директно, а и посочвам с db_table таблица за &quot;many to many&quot;, в която да търси дадената връзка.</p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/cirkulyarni-rekursivni-importi-v-django-python/" type="text/javascript" charset="utf-8"></script>

<p>Няма сходни постове.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/cirkulyarni-rekursivni-importi-v-django-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CakePHP - администрация, Auth, Acl и привилегии</title>
		<link>http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/</link>
		<comments>http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 17:32:39 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[ACL]]></category>
		<category><![CDATA[acl_plugin]]></category>
		<category><![CDATA[auth.]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1764</guid>
		<description><![CDATA[В CakePHP book има два урока за начинаещи - първият от които е за създаването на блог (нещо доста лесно дори за начинаещи), а второто - създаване на администрация с Auth и Acl компонентите - нещо изключително сложно дори и за не толкова начинаещи На мен ми отне доста време да навлезна в нещата. Досега [...]


Сходни постове:<ol><li><a href='http://peshev.net/blog/zonesci-malka-codeigniter-auth-biblioteka/' rel='bookmark' title='Permanent Link: ZonesCI - малка CodeIgniter auth библиотека'>ZonesCI - малка CodeIgniter auth библиотека</a> <small>&nbsp; Вче</small></li><li><a href='http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/' rel='bookmark' title='Permanent Link: Колко от вас работят с CakePHP?'>Колко от вас работят с CakePHP?</a> <small>Един интер</small></li><li><a href='http://peshev.net/blog/cakephp-i-rss-feed-bez-magii/' rel='bookmark' title='Permanent Link: CakePHP и RSS feed без магии'>CakePHP и RSS feed без магии</a> <small>&nbsp; Cak</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>В <a href="http://book.cakephp.org/">CakePHP book</a> има два урока за начинаещи - първият от които е за <a href="http://book.cakephp.org/view/219/Blog">създаването на блог</a> (нещо доста лесно дори за начинаещи), а второто - създаване на <a href="http://book.cakephp.org/view/641/Simple-Acl-controlled-Application">администрация</a> с Auth и Acl компонентите - нещо изключително сложно дори и за не толкова начинаещи <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>На мен ми отне доста време да навлезна в нещата. Досега бях ползвал единствено Auth, а бях писал и мой собствен малък компонент за забрана на административния панел. Acl връзките обаче ми отнеха доста време. Прегледах няколко open source проекта, както и плъгини на мои колеги, но не намерих работещ пример за същото нещо. Получи се горе-долу като в CodeIgniter - има доста различни решения за Acl, тъй като стандартното не е особено удобно или е трудно за интеграция (по тази причина пуснах алфата на <a href="http://code.google.com/p/zonesci/">ZonesCI</a>)</p>
<p>В края на краищата урокът от сайта на <strong>CakePHP</strong> е на <a href="http://mark-story.com/posts/view/auth-and-acl-an-end-to-end-tutorial-pt-1">Mark Story</a>, който го е описал в две страници в блога си. След като опитах няколко пъти да го направя, а и поговорих лично с него и с други по-опитни хора от contributor-ите, успях да подкарам демото. Качен е <a href="http://mark-story.com/files/auth_demo.zip">примерен проект</a> и лекцията е относително подробна, с няколко дребни изключения поради разликата между CakePHP 1.2 и 1.3.</p>
<ul>
	<li>трябва да добавим Session в масива с компоненти в app_controller.php, тъй като от версия 1.3 не се добавя автоматично, а flash съобщенията използват сесията</li>
	<li>cake schema run create вече не изисква &#39;run&#39; като аргумент, така че трябва да се махне</li>
	<li>cake acl grant вече има друг синтаксис</li>
</ul>
<p>Първата страница обикновено не е проблемна при следване на инструкциите. Там са основните неща - създаване на базата и промяна на контролерите и моделите, за да бъдат свързани с <strong>ACO и ARO</strong> функционалностите. Тъй като ACO и ARO са неясни в началото, добър урок е <a href="http://book.cakephp.org/view/320/Access-Control-Lists">Access Control Lists</a> от сайта, обясняващ с примери access control обектите и различните роли за тях.</p>
<p>Във втората част има малко повече места, които могат да бъдат спънка. На първо място идва въпросът:<strong> какъв е този root controllers</strong> обект? Отговорът е следният: controllers е <strong>главната папка, в която се намират контролерите</strong>. Това е началната точка, от която започваме. По-нататък, със скрипт (а може и на ръка), могат да се извлекат всички контролери + всички действия (actions) в CakePHP проекта ни. По този начин рекурсивно може да извикаме скрипт, който да ни генерира този списък.&nbsp;</p>
<p>Може да извикаме командата <strong>1 към 1 в шела на Cake</strong>, без да се притесняваме.</p>
<p>P.S. За row-based ACL може да ползваме плъгина на Ceeram - <a href="http://github.com/ceeram/user">user plugin</a>. Той ни дава по-добра връзка за Auth, който прави проверки за ACO обекти, създадени с AclBehavior обекта.</p>
<p>По-долу има един скрипт <strong>buildAcl</strong>. Той прави именно това, което ни трябва - да мине надолу по контролерите и да напълни acos таблицата с всички контролери и методи, които ни трябват. Имайки списък с всички пътища, можем да зададем привилегии за тях за всяка роля - група или потребител в група.&nbsp;</p>
<p>buildAcl се извиква по следния начин:</p>
<p><strong>http://localhost/иметонапроекта/users/buildAcl</strong> (ако хостваме на локалния хост)</p>
<p>Функцията може да се вика всеки път, когато добавяме нови методи или контролери в папката, за да е актуален списъкът. Това може да се прави и на ръка от шела, но е доста повече механична работа.&nbsp;</p>
<p>Най-критичната част по мое мнение е следващата: <strong>Setting permissions</strong>. Там срещнах основните затруднения.&nbsp;</p>
<p>След като сме прочели статията за <strong>Access Control Lists</strong>, става ясно, че трябва да свържем ролите (потребителите и групите) с контролите (контролерите и действията). Тъй като самия add <strong>не е със същия синтаксис</strong> от шела, лесен начин за начало е да се добави <strong>initDB</strong> функцията по-долу и да се извика - <strong>http://localhost/сайтътни/users/initDB</strong> (ако хостваме на локалната машина). Това ще даде примерни привилегии за нашите групи от 1 до 3, както е описано по-долу.</p>
<p>Така все пак ще имаме почти работещо приложение. Ако добавим <strong>login.ctp</strong> в <strong>app/views/users </strong>и добавим 2-та реда в <strong>logout() action</strong>-а на users_controller, ще имаме изцяло работеща система: ще можем да се логнем с предварително създадените ни потребители и те ще бъдат ограничени, както сме посочили.&nbsp;</p>
<p><a href="http://peshev.net/blog/wp-content/uploads/acl_plugin_cakephp.png" target="_blank"><img align="left" alt="CakePHP Acl plugin" height="191" hspace="5" src="http://peshev.net/blog/wp-content/uploads/acl_plugin_cakephp.png" width="300" /></a>Проблем обаче е задаването на привилегиите. Писането в шела е мъчно и дълго, а и най-вече неясно и съвсем неудобно за нетехнически хора. На помощ идва <strong>acl_plugin</strong> - плъгин за ACL в CakePHP, който предоставя удобен ajax-базиран административен панел <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://dev.newnewmedia.com/cakephp/admin/acl">Демо на панела ще откриете тук</a>. Така с drag&#39;n&#39;drop (или click+click) може да си създавате привилегии.</p>
<p>Схемата е следната - <a href="http://bakery.cakephp.org/articles/view/acl-management-plugin">теглим проекта</a> по http или с git и го добавяме в app/plugins/acl на проекта. Въпреки че онлайн се подвизава като acl_plugin, <strong>трябва в папката plugins да се именова като acl!</strong> Допълнителни настройки не са необходими - влизаме като администратор и достъпваме:</p>
<p><strong>http://localhost/иметонапроекта/admin/acl/acl</strong></p>
<p><strong>Note</strong>: За да имаме достъп до acl, най-лесният вариант е временно да добавим в app_controller -&gt; beforeFilter action-а един:</p>
<p><strong>$this-&gt;Auth-&gt;allow(&#39;*&#39;);</strong></p>
<p>Това ще ни разреши достъп до всеки път, докато си сглобим привилегиите. След това може да премахнем реда и да не го достъпваме без права.</p>
<p>Така имаме <strong>работеща CakePHP система с Auth, ACL и административен панел</strong> за привилегии. <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/" type="text/javascript" charset="utf-8"></script>

<p>Сходни постове:<ol><li><a href='http://peshev.net/blog/zonesci-malka-codeigniter-auth-biblioteka/' rel='bookmark' title='Permanent Link: ZonesCI - малка CodeIgniter auth библиотека'>ZonesCI - малка CodeIgniter auth библиотека</a> <small>&nbsp; Вче</small></li><li><a href='http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/' rel='bookmark' title='Permanent Link: Колко от вас работят с CakePHP?'>Колко от вас работят с CakePHP?</a> <small>Един интер</small></li><li><a href='http://peshev.net/blog/cakephp-i-rss-feed-bez-magii/' rel='bookmark' title='Permanent Link: CakePHP и RSS feed без магии'>CakePHP и RSS feed без магии</a> <small>&nbsp; Cak</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Читанка за IT-та</title>
		<link>http://peshev.net/blog/chitanka-za-it-ta/</link>
		<comments>http://peshev.net/blog/chitanka-za-it-ta/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 12:49:41 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[techies]]></category>
		<category><![CDATA[книги]]></category>
		<category><![CDATA[програмна литература]]></category>
		<category><![CDATA[черна дупка]]></category>
		<category><![CDATA[читанка]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1761</guid>
		<description><![CDATA[Покрай драмите с Читанката и спирането на достъпа до хората, имам един страничен коментар. От месец и нещо, минавайки през книжарниците до офиса, поглеждам за БГ литература за IT-та. Пазарът винаги е бил беден, но напоследък никакъв го няма. Издания, които имам вкъщи от преди 4-5 години (и още са що-годе актуални) не са преиздавани [...]


Сходни постове:<ol><li><a href='http://peshev.net/blog/nov-tiraj-na-vavedenie-v-programiraneto-s-java/' rel='bookmark' title='Permanent Link: Нов тираж на "Въведение в програмирането с Java"'>Нов тираж на "Въведение в програмирането с Java"</a> <small>&nbsp; От </small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Покрай драмите с <a href="http://chitanka.info/">Читанката</a> и спирането на достъпа до хората, имам един страничен коментар.</p>
<p>От месец и нещо, минавайки през книжарниците до офиса, поглеждам за БГ литература за IT-та. Пазарът винаги е бил беден, но напоследък никакъв го няма. Издания, които имам вкъщи от преди 4-5 години (и още са що-годе актуални) не са преиздавани и ги няма никъде. Няколко е-книги, които имам също от доста време, отсъстват на книжния пазар.</p>
<p>Изобщо сумарно навсякъде - <strong>Orange, Хеликон, Пингвините</strong> и още няколко големи + <strong>Славейков</strong>, а и книжарниците на <strong>НБУ</strong> и <strong>ТУ-София</strong>, въртят <strong>20-тина компютърни книги</strong>, като <strong>2/3 от тях</strong> са &quot;<em>Компютър for dummies</em>&quot;, &quot;<em>Skype за начинаещи</em>&quot; и &quot;<em>Windows 2000</em>&quot;. В програмните пък има <strong>Visual Basic</strong> и <strong>Pascal</strong>, 2-3 книги за Java, някакви преводни неща на O&#39;Reilly и толкоз.&nbsp;</p>
<p>Колегата <a href="http://www.veselin.bg/blog/">Веселин</a> има в библиотеката в офиса си <strong>10-тина книжки на БГ за PHP</strong>. От тях само <strong>1 или 2</strong> се разпространяват в момента.&nbsp;</p>
<p>Та какво &quot;пиратството ограбва&quot;, като и да имаш желание, <strong>няма какво да си вземеш</strong> за pocket manual, ако тепърва започваш в училище например? В случая дори не обсъждаме преводите (от лингвисти, които не работят с компютри) и странната терминология от математиката през 70-те, която отдавна не е актуална...</p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/chitanka-za-it-ta/" type="text/javascript" charset="utf-8"></script>

<p>Сходни постове:<ol><li><a href='http://peshev.net/blog/nov-tiraj-na-vavedenie-v-programiraneto-s-java/' rel='bookmark' title='Permanent Link: Нов тираж на "Въведение в програмирането с Java"'>Нов тираж на "Въведение в програмирането с Java"</a> <small>&nbsp; От </small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/chitanka-za-it-ta/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Изкуственият инкубатор и ледената стена</title>
		<link>http://peshev.net/blog/izkustveniyat-inkubator-i-ledenata-stena/</link>
		<comments>http://peshev.net/blog/izkustveniyat-inkubator-i-ledenata-stena/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 08:12:26 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[On the road]]></category>
		<category><![CDATA[Общи]]></category>
		<category><![CDATA[Болоня]]></category>
		<category><![CDATA[Италия]]></category>
		<category><![CDATA[размисли]]></category>
		<category><![CDATA[свят]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1752</guid>
		<description><![CDATA[Преди около 2 месеца Ива запази билети за кратка разходка до Италия от Wizz Air на изключително преференциални цени. От вторник до четвъртък бяхме там, пътувахме доста, починахме си, разгледахме и прочие - типично по туристически. Макар и да съм бил няколко пъти навън по различни причини, за пръв път летях с нискотарифни авиокомпании и [...]


Няма сходни постове.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://peshev.net/blog/wp-content/uploads/pic1piaza.jpg"><img align="left" alt="Болоня" height="225" hspace="5" src="http://peshev.net/blog/wp-content/uploads/pic1piaza.jpg" width="300" /></a>Преди около 2 месеца <a href="http://ivdimova.com">Ива</a> запази билети за кратка разходка до <strong>Италия</strong> от <a href="http://wizzair.com">Wizz Air</a> на изключително преференциални цени. От вторник до четвъртък бяхме там, пътувахме доста, починахме си, разгледахме и прочие - типично по туристически. Макар и да съм бил няколко пъти навън по различни причини, за пръв път летях с нискотарифни авиокомпании и видях практически, че е възможно да стигнеш на 1000+ километра в едната посока и да дадеш по-малко пари, отколкото да отидеш до Пловдив или Търново с кола например.</p>
<p>В <strong>Италия</strong> беше хубаво. Хората в тези ширини са по-отворени и познават понятия като почивка. Привечер по улиците има хора, за разлика от много градове в Германия например. По площадите хората са айляк, правят си седянки по фонтаните, свирят, рисуват, почиват. Чудя се какво ли е да си израснал в такава обстановка. Най-малкото в градския транспорт не става пого, а има съобразяване. Прикачам 1-2 снимки за цвят, Ива ще качи в албумчето ни повече кадри за <a href="http://ivdimova.com/">София - Болоня</a> (<em>P.S. специални благодарства на <a href="http://vladi.telemaniac.com/">Влади</a> за хубавите extreme тениски, които ми подари</em> <img src='http://peshev.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) ).</p>
<p><a href="http://peshev.net/blog/wp-content/uploads/pic2tower.jpg"><img align="middle" alt="на кулата в Болоня" height="333" hspace="5" src="http://peshev.net/blog/wp-content/uploads/pic2tower.jpg" width="250" /></a><a href="http://peshev.net/blog/wp-content/uploads/pic3neptun.jpg"><img align="middle" alt="Нептун Болоня" height="333" hspace="5" src="http://peshev.net/blog/wp-content/uploads/pic3neptun.jpg" width="250" /></a></p>
<p>Това не е основното в случая, де. <strong>Болоня</strong>, <strong>Равена</strong> и <strong>Форли</strong>, които разгледахме, бяха много приятни дестинации. Но с една особеност. Европейски. А България е гранична точка между Северна Африка и Западна Азия. Вероятно преди Освобождението е имало някакви дрязги и за сметка на отнетите ни земи за ни причислили към Европа (компромисно). За жалост това не ни променя особено много.</p>
<p>Гледам да страня от културния шок при кацане на летището или минаване през границата (макар че при втория случай се минава през балканска страна и преходът е по-плавен). При все това сутринта с Ива обсъждахме pros and cons на България. Съпоставяйки с преди две-три години, някои неща вървят в добра насока. Стандартът се е вдигнал малко от влизането ни в ЕС насам (макар цените и таксите да скочиха гротескно много). Направиха се някои ремонти на пътища и продължават да се правят, пусна се все пак някаква форма на метро. Някои по-невидими, но важни промени в народа също настъпиха. Пешеходните пътеки се ползват по-активно, а шофьорите спират по-често. Дали заради засилен контрол (според мен да), или заради нещо друго - не знам.</p>
<p>Обаче манталитетът още си е същият. Изнервеното положение, агресията, войната по пътищата, снобизмът, липсата на вежливост, неграмотността, простотията и други подобни качества прозират дори в изкуствения свят.</p>
<p>Защо изобщо споменавам &bdquo;изкуствен свят&ldquo;?</p>
<p>Защото тези от нас, които живеят относително добре в България, не живеят като българите. Изкарах средното си в специализирано училище, пълно с ИТ-та, под някаква форма на контрол и с някакво желание за развитие. Университетът ми е частен. Работя в ИТ сферата - сиреч комуникирам основно с чужденци и/или бизнесмени, седя пред компютър през голяма част от времето. Пътувам с кола, маршрутки или таксита; умишлено избягвам градския транспорт в пиковите часове по много причини. Повечето ми познати процедират по подобен начин - комуникират виртуално или с колеги в някаква специализирана ниша, пътуват, самоусъвършенстват се. И да, това не е истинската България, но това е и един от малкото начини да поддържаш нещата поносими.</p>
<p>Няма смисъл от особени лирични отклонения за страната - всеки си я знае, но не всеки положително настроен осъзнава, че се намира в затворена капсула с определен филтриран социален живот. Нещата в периферията имат почти митологичен характер.</p>
<p>За финал - нещо на Яворов, носещо името &quot;<strong>Ледена стена</strong>&quot;:</p>
<p>&nbsp;</p>
<p style="text-align: center;"><cite><em>Ледена стена - под нея съм роден.</em></cite></p>
<p style="text-align: center;"><cite><em>Стъклена стена - отвред съм обграден.</em></cite></p>
<p style="text-align: center;"><cite><em>Хладната стена - замръзна моя дих.</em></cite></p>
<p style="text-align: center;"><cite><em>Вечната стена - с глава я не разбих...</em></cite></p>
<p style="text-align: center;"><cite><em><br />
	</em></cite></p>
<p style="text-align: center;"><cite><em>Който приближи - стовари черен труп:</em></cite></p>
<p style="text-align: center;"><cite><em>кой не приближи! - и мъртъвци са куп.</em></cite></p>
<p style="text-align: center;"><cite><em>Който приближи - затули лъч една:</em></cite></p>
<p style="text-align: center;"><cite><em>кой не приближи! - и чезна в тъмнина.</em></cite></p>
<p><cite><em><br />
	<br />
	</em></cite></p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/izkustveniyat-inkubator-i-ledenata-stena/" type="text/javascript" charset="utf-8"></script>

<p>Няма сходни постове.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/izkustveniyat-inkubator-i-ledenata-stena/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Права и отговорности за домейните - онлайн дискусия</title>
		<link>http://peshev.net/blog/prava-i-otgovornosti-za-domeynite-onlayn-diskusiya/</link>
		<comments>http://peshev.net/blog/prava-i-otgovornosti-za-domeynite-onlayn-diskusiya/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 12:00:08 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[techies]]></category>
		<category><![CDATA[Общи]]></category>
		<category><![CDATA[idg.bg]]></category>
		<category><![CDATA[домейни]]></category>
		<category><![CDATA[регистрация]]></category>
		<category><![CDATA[суперхостинг]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1747</guid>
		<description><![CDATA[Голяма част от онлайн потребителите притежават свой или корпоративен уебсайт, блог или просто уеб пространство за определени материали. Процедурата по регистрация на повечето домейни е тривиална и хостинг с домейн могат да се закупят буквално за секунди. Въпреки това мнозинството ползватели не са наясно с правата и задълженията, които поемат при закупуване на домейн за [...]


Сходни постове:<ol><li><a href='http://peshev.net/blog/top-10-problema-pri-pregovorite-diskusiya/' rel='bookmark' title='Permanent Link: Топ 10 проблема при преговорите - дискусия'>Топ 10 проблема при преговорите - дискусия</a> <small>Една диску</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Голяма част от онлайн потребителите притежават свой или корпоративен уебсайт, блог или просто уеб пространство за определени материали. Процедурата по регистрация на повечето домейни е тривиална и хостинг с домейн могат да се закупят буквално за секунди. Въпреки това мнозинството ползватели не са наясно с правата и задълженията, които поемат при закупуване на домейн за своето пространство.&nbsp;</p>
<p>При работа с посредници нещата могат да се усложнят допълнително. Ако използвате фирма или freelance специалист за своя уебсайт, след това може да имате проблеми при заемане на правата на своето собствено онлайн пространство. Ако имате нужда от <strong>.bg</strong> домейн, от своя страна, ще трябва да предоставите доста подробна документация за себе си и дейността си, за да може да заемете място в бранша, завършващо на .bg.</p>
<p>На <strong>29-ти юни (утре) от 11ч</strong> <a href="http://idg.bg">IDG.bg</a> ще проведе онлайн дискусия със съдействието на <a href="http://superhosting.bg">Суперхостинг</a>, в която ще се разяснят много междинни въпроси по темата. Важни теми са правилата на потребителите и на компаниите, които предлагат услугите; юридическите норми, действащи в законодателството, участието на повече посредници и други. Дискусията е отворена и достъпна онлайн утре на <a href="http://chat.idg.bg">chat.idg.bg</a>.</p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/prava-i-otgovornosti-za-domeynite-onlayn-diskusiya/" type="text/javascript" charset="utf-8"></script>

<p>Сходни постове:<ol><li><a href='http://peshev.net/blog/top-10-problema-pri-pregovorite-diskusiya/' rel='bookmark' title='Permanent Link: Топ 10 проблема при преговорите - дискусия'>Топ 10 проблема при преговорите - дискусия</a> <small>Една диску</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/prava-i-otgovornosti-za-domeynite-onlayn-diskusiya/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Таговете или категориите в WordPress 3.0 не работят (Headspace fix)</title>
		<link>http://peshev.net/blog/tagovete-ili-kategoriite-v-wordpress-3-0-ne-rabotyat-headspace-fix/</link>
		<comments>http://peshev.net/blog/tagovete-ili-kategoriite-v-wordpress-3-0-ne-rabotyat-headspace-fix/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 08:29:04 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[techies]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1742</guid>
		<description><![CDATA[При update до WordPress 3.0 всичко изглеждаше ОК при мен, с изключение на неработещите тагове. Изобщо съобщението &#34;Add new tag&#34; не изчезваше при клик в текстовото поле. След малко ровене се оказа, че проблемът е в HeadSpace2 SEO плъгина (за тези, които го ползват). Тъй като е вързан за доста неща и миграцията от него [...]


Сходни постове:<ol><li><a href='http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/' rel='bookmark' title='Permanent Link: Колко от вас работят с CakePHP?'>Колко от вас работят с CakePHP?</a> <small>Един интер</small></li><li><a href='http://peshev.net/blog/haknat-peshev-net-wordpres-2-8-4-malko-optimizam/' rel='bookmark' title='Permanent Link: Хакнат peshev.net WordPress 2.8.4 + малко оптимизъм'>Хакнат peshev.net WordPress 2.8.4 + малко оптимизъм</a> <small>&nbsp; Таз</small></li><li><a href='http://peshev.net/blog/modernoto-cv-ili-linkedin-integraciyata/' rel='bookmark' title='Permanent Link: Модерното CV или LinkedIn интеграцията'>Модерното CV или LinkedIn интеграцията</a> <small>&nbsp; Раб</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>При update до <a href="http://wordpress.org">WordPress 3.0</a> всичко изглеждаше ОК при мен, с изключение на неработещите тагове. Изобщо съобщението &quot;Add new tag&quot; не изчезваше при клик в текстовото поле.</p>
<p>След малко ровене се оказа, че проблемът е в <a href="http://wordpress.org/extend/plugins/headspace2/">HeadSpace2 SEO</a> плъгина (за тези, които го ползват). Тъй като е вързан за доста неща и миграцията от него не е проста, по-лесно е да се фиксне плъгина.</p>
<p>Корекцията е в <strong>headspace-tags.js</strong> - трябва да заменим get_tag_element() функцията с тази:</p>
<p>&nbsp;</p>
<pre class="javascript"><span style="color: #003366; font-weight: bold;">function</span> get_tag_element <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'#tax-input-post_tag'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">length</span> == <span style="color: #CC0000;">1</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'#tax-input-post_tag'</span>;
  <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'#tags-input'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">length</span> == <span style="color: #CC0000;">1</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'#tags-input'</span>;
  <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'#tax-input<span style="color: #000099; font-weight: bold;">\[</span>post_tag<span style="color: #000099; font-weight: bold;">\]</span>'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">length</span> == <span style="color: #CC0000;">1</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'#tax-input<span style="color: #000099; font-weight: bold;">\[</span>post_tag<span style="color: #000099; font-weight: bold;">\]</span>'</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>&nbsp;</p>
<p><a href="http://urbangiraffe.com/support/topic/number-of-problems-with-wordpress-30">10x на Aaron</a> за фикса.</p>
<script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/tagovete-ili-kategoriite-v-wordpress-3-0-ne-rabotyat-headspace-fix/" type="text/javascript" charset="utf-8"></script>

<p>Сходни постове:<ol><li><a href='http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/' rel='bookmark' title='Permanent Link: Колко от вас работят с CakePHP?'>Колко от вас работят с CakePHP?</a> <small>Един интер</small></li><li><a href='http://peshev.net/blog/haknat-peshev-net-wordpres-2-8-4-malko-optimizam/' rel='bookmark' title='Permanent Link: Хакнат peshev.net WordPress 2.8.4 + малко оптимизъм'>Хакнат peshev.net WordPress 2.8.4 + малко оптимизъм</a> <small>&nbsp; Таз</small></li><li><a href='http://peshev.net/blog/modernoto-cv-ili-linkedin-integraciyata/' rel='bookmark' title='Permanent Link: Модерното CV или LinkedIn интеграцията'>Модерното CV или LinkedIn интеграцията</a> <small>&nbsp; Раб</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/tagovete-ili-kategoriite-v-wordpress-3-0-ne-rabotyat-headspace-fix/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CakePHP и свързани select-и с AJAX</title>
		<link>http://peshev.net/blog/cakephp-i-svarzani-select-i-s-ajax/</link>
		<comments>http://peshev.net/blog/cakephp-i-svarzani-select-i-s-ajax/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 07:10:25 +0000</pubDate>
		<dc:creator>nofearinc</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://peshev.net/blog/?p=1733</guid>
		<description><![CDATA[Наложи се в CakePHP проект да свържа 2 &#60;select&#62; елемента, които да са свързани - при избор на елемент от първия лист, да се филтрират резултатите във втория. Концепцията не е нова - прихваща се click на първия списък, взима се стойността, а на базата на нея се зареждат резултатите във втория лист. Въпреки това [...]


Сходни постове:<ol><li><a href='http://peshev.net/blog/cakephp-i-rss-feed-bez-magii/' rel='bookmark' title='Permanent Link: CakePHP и RSS feed без магии'>CakePHP и RSS feed без магии</a> <small>&nbsp; Cak</small></li><li><a href='http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/' rel='bookmark' title='Permanent Link: CakePHP - администрация, Auth, Acl и привилегии'>CakePHP - администрация, Auth, Acl и привилегии</a> <small>В CakePHP </small></li><li><a href='http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/' rel='bookmark' title='Permanent Link: Колко от вас работят с CakePHP?'>Колко от вас работят с CakePHP?</a> <small>Един интер</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Наложи се в <a href="http://cakephp.org">CakePHP</a> проект да свържа 2 &lt;select&gt; елемента, които да са свързани - при избор на елемент от първия лист, да се филтрират резултатите във втория.</p>
<p>Концепцията не е нова - прихваща се click на първия списък, взима се стойността, а на базата на нея се зареждат резултатите във втория лист. Въпреки това структурата на CakePHP не предполага функциите да извеждат чисто и просто резултат, а MVC подходът изисква връзка на controller-а с view, което да извежда резултат. Нещата стават малко по-усложнени - особено поради необходимостта от шаблон (layout). Така че се налага да се направят някои корекции по въпроса.</p>
<p>Първо, използвам <a href="http://www.erichynds.com/jquery/jquery-related-dependent-selects-plugin/">jQuery Related (Dependent) Selects Plugin</a>. Само с няколко реда код може да навържем няколко списъка като верига (chain).&nbsp;</p>
<p>След като добавим плъгина в webroot/js на проекта и го вмъкнем в шаблона (наред с jQuery скрипта, разбира се), трябва да добавим скрипта във view-то, в което са селектите, и да го навържем към дадена функция.&nbsp;</p>
<p>Тъй като трябва да попълваме списък, най-удобният вариант е да правим find() в таблица, в която филтрираме записите, и да връщаме &#39;list&#39;. Сериализираме това към json и го подаваме на AJAX метода.</p>
<p>Има два лесни начина да накараме функцията да връща само това, което ни е необходимо - без да спазва структурата на CakePHP и да зарежда различни шаблони и да счупи връщания резултат.</p>
<p>1. Да използваме вградения layout &quot;ajax&quot;:</p>
<p><span class="Apple-style-span" style="font-family: monospace; white-space: pre; ">$this-&gt;layout = &#39;ajax&#39;;</span></p>
<p>, след което върнатият резултат няма да има шаблон, а само json кода от нас.</p>
<p>Да използваме RequestHandler и да специфицираме, че ще връщаме json съдържание. Зареждаме RequestHandler компонента в контролера:</p>
<p><span class="Apple-style-span" style="font-family: monospace; white-space: pre; ">var $components = array(&#39;RequestHandler&#39;);</span></p>
<p>, а след това (в action метода) задаваме какво точно съдържание да се връща:</p>
<p><pre class="php"><span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">RequestHandler</span>-&gt;<span style="color: #006600;">setContent</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'json'</span>, <span style="color: #ff0000;">'text/javascript'</span><span style="color: #66cc66;">&#41;</span>;</pre></p>
<p>И в двата случая по-горе трябва да направим празен view файл с името на метода, както е конвенцията на Cake. В противен случай системата ще изведе съобщение за грешка... вместо просто сериализираните данни.&nbsp;</p>
<p>Примерен код от view-то, което вика ajax-а:</p>
<p><pre class="php"><a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$form</span>-&gt;<span style="color: #006600;">create</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Order'</span><span style="color: #66cc66;">&#41;</span>;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$form</span>-&gt;<span style="color: #006600;">input</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'account_id'</span>, <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'empty'</span> =&gt; <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$form</span>-&gt;<span style="color: #006600;">input</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'location_id'</span>, <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'empty'</span> =&gt; <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
...
$<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'#OrderAddForm'</span><span style="color: #66cc66;">&#41;</span>.relatedSelects<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span>
	onChangeLoad: <span style="color: #ff0000;">'locbyaccount'</span>,
	selects: <span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'data[Order][account_id]'</span>, <span style="color: #ff0000;">'data[Order][location_id]'</span><span style="color: #66cc66;">&#93;</span>
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre></p>
<p>Примерна функция, която handle-ва:</p>
<p><pre class="php"><span style="color: #000000; font-weight: bold;">function</span> locbyaccount<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$account_id</span> = <span style="color: #000000; font-weight: bold;">NULL</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">RequestHandler</span>-&gt;<span style="color: #006600;">setContent</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'json'</span>, <span style="color: #ff0000;">'text/javascript'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
		<span style="color: #0000ff;">$account_id</span> = <span style="color: #0000ff;">$_GET</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'data'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'Order'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'account_id'</span><span style="color: #66cc66;">&#93;</span>;
		<span style="color: #0000ff;">$orders</span> = <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">Order</span>-&gt;<span style="color: #006600;">Location</span>-&gt;<span style="color: #006600;">find</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'list'</span>, <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'conditions'</span> =&gt; <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Location.account_id'</span> =&gt; <span style="color: #0000ff;">$account_id</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #ff0000;">'fields'</span> =&gt; <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'location_id'</span>, <span style="color: #ff0000;">'location_address'</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #ff0000;">'order'</span> =&gt; <span style="color: #ff0000;">'location_address'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
		<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> json_encode<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$orders</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></p><script src="http://feeds.feedburner.com/~s/nofearinc?i=http://peshev.net/blog/cakephp-i-svarzani-select-i-s-ajax/" type="text/javascript" charset="utf-8"></script>

<p>Сходни постове:<ol><li><a href='http://peshev.net/blog/cakephp-i-rss-feed-bez-magii/' rel='bookmark' title='Permanent Link: CakePHP и RSS feed без магии'>CakePHP и RSS feed без магии</a> <small>&nbsp; Cak</small></li><li><a href='http://peshev.net/blog/cakephp-administraciya-auth-acl-i-privilegii/' rel='bookmark' title='Permanent Link: CakePHP - администрация, Auth, Acl и привилегии'>CakePHP - администрация, Auth, Acl и привилегии</a> <small>В CakePHP </small></li><li><a href='http://peshev.net/blog/kolko-ot-vas-rabotyat-s-cakephp/' rel='bookmark' title='Permanent Link: Колко от вас работят с CakePHP?'>Колко от вас работят с CakePHP?</a> <small>Един интер</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://peshev.net/blog/cakephp-i-svarzani-select-i-s-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
