RSS footer

Един вчерашен trackback в моя блог ме подсети за нещо, върху което отдавна умувам, а именно да добавям в RSS емисията си copyright бележка или по-точно creative commons бележка. Не само като малка пречка за SPAM блоговете, недобросъвестното вършеене на съдържание и още какво ли не, за което пише oggin, ами и най-вече като маркиране на моето съдържание като свободно. Защото, тези които го потребяват през сайта може и да видят избраният от мен CC договор за използване ако се понапънат, но тези които четат RSS емисията ми директно или чрез планети и агрегатори нямат никакъв шанс да разберат че това е свободно съдържание под Creative Commons.

Плъгинчето за WordPress, което си харесах и прави това възможно, се нарича RSS footer и се инсталира елементарно.

RSS footer

WordPress България

Ники Бачийски е обявил в своя блог старта на WordPress България – локализирано на български местенце в мрежата за WordPress, което по моя (немеродавна) преценка е най-използваната blog-платформа в България, а много вероятно и по света. Факт, който е производен на другия факт, че това е приложение с отворен код под GPL, развивано вече няколко години от общност, която добавя, критикува, превежда и дописва кода.

Не че досега не беше така или не е било възможно, но с появата на местенце за българи, в официалния сайт на WordPress би трябвало ползвателите и особено допринасящите за развитието му, да имат още една пречка по-малко или още един начин по-лесно да използват, популяризират и помагат на проекта.

WordPress 2.0 is out

Ами от няколко минути този сайт се задвижва от някаква си final версия на WordPress 2.0. Всъщност самият сайт wordpress.org е още счупен в голяма степен по лични наблюдения. WordPress.com май вече е upgrade-нат към 2.0 или поне до някакъв release candidat.

При мен всичко тръгна почти без бой. Поне всичките ми нужни plugins работят. Единствено грижи ми създаде административния панел (новият), който вече е безобразно шарен. Наложи се да увелича малко memory_limit в php.ini на сървъра, защото 8 мегабайта му се оказаха малко и задължително трябва да си спра новия rich text editor, който по подразбиране предявява претенции да ми е текстов редактор.

Подозирам, че след пет дни ще ми е по-комфортно с новия WP, но в момента още го гледам с враждебна подозрителност. А, да – наложи се и да си регистрирам account в wordpress.com, заради ключ, с който да ползвам новия anti-spam плъгин на WP2. Хмрр…

А преди да си видите preview-то в edit-интерфейса – там най-долу на страницата, пийте един валериан…

gravatar.com

Днес няколко души ме разпитваха какво е gravatar…

Avatar (в Интернет) означава малка картинка, която идентифицира по някакъв начин потребителя, най-често такива се ползват в различните web-форуми. Принципно повечето форуми позволяват човек да си качи свой avatar или да си избере някой от множество възможни за употреба. Така обаче в различните форуми човек трябва да прави това, а често avatar-ите му са различни за всеки различен сайт.

Така преди време се появи услугата gravatar.com, което иде да рече globally recognized avatar (т.е. глобално разпознаваем avatar). Към всеки email адрес, който използвате в различните форуми можете да закачите avatar, такъв какъвто предварително сте качили на gravatar.com (с размери 80×80 пиксела). Така във всички сайтове, форуми, блогове и т.н., които поддържат gravatar не е нужно да направите нищо повече от това да се подписвате с вашия email адрес, което автоматично ще прикача и вашия [gr]avatar.

Самият avatar ще се вземе от gravatar.com, ще се мащабира спрямо дизайна на сайта, е който пишете и ще се закачи към поста ви. Avatar-ът може да бъде ваша снимка, някакъв символ, рисунка или каквото друго пожелаете, а когато смените avatar-а си в gravatar.com той автоматично ще се смени навсякъде, където сте писали (понякога след седмица, защото avatar-ите се кешират).

Всеки avatar се преглежда от човек на gravatar.com и одобрението му отнема известно време, картинката се категоризира спрямо различни критерии – така сайтовете могат да регулират типа avatar-и към тях и да филтрират (ако желаят) такива с неприлично съдържание, примерно ако някой е решил да ползва като avatar снимка на пишката си…

WordPress RSS-feeds time fix

Днес, след конференцията на linux-bg.org Emerald ме попита какви настройки на WordPress трябва да смени, за да се визуализират читаво във времето RSS-фийдовете от нейния блог на open-culture.net. И понеже проблемът е много масов ще взема да отговоря публично.

Всъщност проблемът не е в настройките. В General секцията на Options менюто на административния интерфейс на всеки WordPress следва да се зададе просто вярната часова зона, в която се намира сървърът, който хоства сайта ви, като отклонение от Гринуич. Ако машината се намира в България, тя най-вероятно тиктака като нас по българско време. Някои администратори пускат сървърите си по Гринуич или UTC, но за това обикновено си има нарочни причини и е относително рядко срещано. България е в EET-зоната (Eastern European Time), която е +2 часа от Гринуич. Т.е. всичко, което трябва да бъде зададено в WordPress опциите е:

Times in the weblog should differ by: 2 hours

Това обаче е вярно само извън периода на лятното часово време (daylight saving time). Всяка година от последната събота на март до последната събота на октомври нашата часова зона всъщност се казва EEST (Eastern European Summer Time) и е с още един час в повече от UTC или +3 часа. Затова след смяната на часовника трябва да впишете 3 в онова поле и след натискане на бутона Update Options страницата с General Options се обновява и следва да показва вярното време в Output полето на Default Time Format.

До тук добре… Дето се вика за това всеки сам се е сетил… И защо тогава, по дяволите вие пишете нещо, което на вашия сайт си е хубаво, красиво и най-важното във вярното време, а на open-culture.net или в някой четец, времето е сбъркано с един, два или три часа според зависи?

Проблемът е че RSS-feed-овете, които вашия блог генерира са всъщност изхода на скрипта wp-rss2.php, който се намира в директорията, в която стоят wordpress-файловете. Ето пример с моите feeds. Ta в този файл има скромна грешчица. Ако го отворите с текстов редактор тя се набива в очи веднага. Говоря за второто срещане на функцията mysql2date в момента, в който тя изписва item-секцията на всеки post. Там има едно поле pubDate, което е точно времето, в което следва да e публикуван post-а ви. Ако погледнете кода, ще видите, че там твърдо е зададено +0000 без значение каква е зоната ви, а времето, което сте вкарали в базата си като параметър на поста ви не е по Гринуич (в общия случай), а е отместено спрямо зоната, затова се получава и глупавото разминаване.

Просто трябва +0000 да се замени с +0300 през лятото и с +0200 като се върнем обратно към нормалното време през есента. Ето така би трябвало да изглежда сега:

< ?php echo mysql2date('D, d M Y H:i:s +0300', get_the_time('Y-m-d H:i:s')); ?>

Да, знам, че това е супер дървен hack, но нямам амбиции да patch-вам WordPress – това е очеизваден bug и ще бъде оправен със сигурност. Обърнете внимание, че първото извикване на функцията mysql2date, където описва кога е публикуван целия канал, си е съвсем читаво, нищо че е по Гринуич. Това не е проблем за четците и синдикиращите скриптове. Проблем възниква само ако времето е по една зона, а се декларира че тя е друга, което пречи отсрещния скрипт да изчисли читаво времето, защото на практика бива лъган от вашия RSS-генератор.