В этой статье будут объединены предыдущие наработки и рассмотрены основные принципы построения системы управления содержимым (CMS). Такая система позволит управлять хранением, индексацией и поиском текстового содержимого, а также мультимедийного контента.
Вся описательная часть сопровождается примерами кода на PHP, который тестировался на IDE EasyEclipse for LAMP со встроенным просмотрщиком результатов работы PHP. Приводимые скрипты имеют емкие комментарии и описательную часть, достаточную для быстрого усвоения и дальнейшей адаптации проекта к существующим задачам.
После полугода разработки наконец-то вышел новый, четырнадцатый релиз популярной OpenSource-платформы для ведения блогов — WordPress 3.1 «Reinhardt». Данный релиз посвящен джаз-исполнителю Джанго Рейнхардту.
В новой версии переработанно рабочее пространство — появилась верхняя панель, которая позволяет получить доступ к часто используемым функциям админпанели (dashboard). В частности, она создаёт простой интерфейс для новичка, которого может отпугнуть множество тех пунктов меню, которые можно наблюдать в админпанели. Также в данной версии обновлена голубая тема оформления.
Кроме того, среди новинок есть множество приятностей для разработчиков, как, например, новые форматы заметок, упрощающие создание различных стилей для различных типов постов в темах оформления. Новые возможности CMS, такие как архивация страниц для различных типов содержимого. Новая панель администрирования для управления несколькими сайтами, пересмотренная система импорта и экспорта, расширенные возможности по управлению метками, рубриками и пользовательскими полями.
При разработке этой версии совершено более двух тысяч коммитов и закрыто более 820 проблем в Trac.
Теперь разработчики берут курс на версию 3.2 и просят не беспокоиться, ведь они продолжат использовать PHP (djangoproject.com).
Сегодня одновременно с KDE SC 4.6 был анонсирован выпуск версии 4.2 популярной среды разработки KDevelop и сопутствующих ему модулей KDevelop-php. Главным новшеством версии является поддержка интерфейса KTextEditor::MovingInterface из Kate, благодаря чему стало возможным использовать KDevelop в свежевышедшем KDE 4.6.
Среди изменений по сравнению с предыдущей версией стоит отметить:
улучшенный модуль QtHelp теперь позволяет подключать сторонние файлы справки .qch, благодаря чему стало возможным пользоваться документацией kdelibs или libstdc++ прямо в IDE;
добавлен новый модуль поддержки man-страниц документации;
Проект KDE представил сервис paste.kde.org, предназначенный для обмена небольшими фрагментами текста (например конфигурационными файлами и исходным кодом программы или скрипта). Исходный код (на PHP) открыт под лицензией BSD.
Возможности сервиса:
подсветка синтаксиса для многих языков программирования и типов разметки;
заметки можно публиковать, и защищая их паролем;
в процессе рецензирования кода можно сразу просматривать прошлые заметки;
оповещения о новых записях по технологии RSS;
API для автоматизации отправки заметок из скриптов и программ;
возможности по группировке заметок;
Причины создания этого сервиса:
необходимость учесть специфику проекта KDE;
избавление от отвлекающих элементов и рекламы на страницах;
требование унификации с внешним видом нового веб-сайта KDE;
В четвертой статье цикла, подробно рассмотрены вопросы общей структуры создаваемой почтовой системы с веб-интерфейсом и порядка ее функционирования. Приведены и описаны фрагменты кода главного управляющего сценария системы электронной почты с веб-интерфейсом, отвечающие за организацию входа и выхода из системы. Рассмотрены функции вывода HTML-формы для добавления новых учетных записей пользователей, заголовка страницы, выводимой при настройке учетной записи, функции, отвечающие за извлечение имеющихся учетных записей из базы данных проекта, создания новой учетной записи пользователя, выбора из числа имеющихся и их изменения.
Обзорно рассмотрен логический порядок работы частей сценария, показано для чего и как они функционируют, что является источником инициализации тех или иных событий в работе. Приведены снимки экрана, поясняющие работу сценариев и отдельных участков кода.
В этой серии статей будут рассмотрены вопросы, посвященные реализации веб-интерфейса к существующему почтовому серверу с использованием PHP-библиотек, поддерживающих IMAP. Во всех приводимых примерах используется EasyEclipse для LAMP версии 1.2.2.2 и встроенный браузер PHP.
В рамках этого проекта планируется разработать почтовый клиент под гипотетическим названием «Безопасная и быстрая почта», который может предложить пользователям следующие функции:
подключение к своим учетным записям на почтовых серверах POP и IMAP;
чтение приходящих почтовых сообщений;
отправка своих сообщений электронной почты;
отправка ответов на пришедшие сообщения;
переадресация сообщений;
удаление ненужных сообщений из своего почтового ящика.
Вышел PHP 5.3.3, включающий в себя официальную поддержку PHP-FPM (FastCGI Process Manager SAPI) и большое количество исправлений (результат акции «Month of PHP Security»). Включение в основную ветку патчей от php-fpm.org открывает перспективы для широкого распространения альтернативных для apache + mod_php5 решений — таких комбинаций, как nginx + php-fpm или lighttpd + php-fpm, позволяющих обеспечить более высокую производительность веб-приложений.
Сегодня, 15-го июня, в соответствии с расписанием состоялся выпуск NetBeans 6.9.
По сравнению с предыдущей версией, добавлены следующие значительные новшества:
OSGi: включен контейнер Felix (есть возможность подключения Equinox); совместимость NetBeans-модулей и OSGi-bundles; поддержка OSGi-проектов для Maven;
Платформа NetBeans: генерация инсталляторов для большинства имеющихся платформ; редактор персонализации (branding);
JavaFX: включён JavaFX SDK 1.3; поддержка форм в Composer; улучшенные палитры для задания цветов/эффектов/форм; улучшения в рефакторинге и форматировании кода;
Java: группировка точек останова в отладчике, улучшенная навигация по stack trace; поддержка annotation processor'ов в редакторе; улучшения в поддержке апплетов и WebStart-приложений;
Веб: автодополнение для id- и class-селекторов в CSS; рефакторинг CSS и HTML-подобных языков;
PHP (php.net): поддержка Zend Framework; обновленное автоформатирование кода с поддержкой множества правил;
C/C++: улучшенная удаленная отладка/разработка; поддержка модульного тестирования (unit testing);
Прочее: проверка орфографии в редакторе; поддержка нескольких серверов типа Kenai.
NetBeans — известная с 1997 года интегрированная среда разработки, изначально для Java, а впоследствии и для множества других языков (Scala, Groovy, C/C++, Python, PHP, Ruby, Scheme), а также платформа для создания desktop-приложений. Множество приложений, созданных на основе NetBeans Platform, включает в себя промышленные, научные, обучающие приложения, корпоративные информационные системы и приложения в области компьютерного искусства. Выпуск NetBeans 6.9 знаменателен тем, что это первый релиз, состоявшийся под эгидой Oracle. Вопреки пессимистичным прогнозам, NetBeans продолжает выходить четко по расписанию; потерь в динамике развития NetBeans также не наблюдается.
По данным независимой исследовательской компании в области внедрений технологий Forrester Research, новое поколение разработчиков предпочитает использовать программные продукты с открытым исходным кодом. Однако процесс полного отказа от проприетарных решений может затянуться – ввиду сформировавшейся приверженности им старшего поколения.
По словам аналитика Forrester Джефри Хаммонда (Jeffrey Hammond), подрастающее поколение разработчиков чаще использует Ruby и PHP, чем Java или .Net, и в целом больше склоняется к разработкам на Linux, чем на Windows или Unix. Правда, даже если это новое поколение девелоперов полностью вытеснит «старых», а динамические языки программирования - Java и .Net, процесс устаревания технологий все равно продолжится. При этом Java и .Net уже продемонстрировали свою долговечность, а «новички» – пока не успели.
«Разработчики находятся под жестким контролем, - считает Джефри Хаммонд. - Open Source помогает разбить железную хватку бюрократии и таким образом влияет на развитие и производительность компании. Новое поколение продолжает использовать Windows и Java, но растет с идеей Open Source».
Программа конференции
1) PHP5 - Premature Optimization Mistakes от автора PHP.
Ilia Alshanetsky - Core PHP Developer.
2) Как в Badoo на PHP5 перешли - апгрейд в большой системе на 50 миллионов пользователей.
Алексей Рыбак [fisher].
3) Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием расширения libevent.
Вадим Крючков [Long].
4) Мониторинг производительности MySQL с использованием performance schema.
Алексей Копытов, Senior Software Developer, Sun Microsystems.
5) История MySQL & MariaDB. Впервые в России - автор MySQL & MariaDB.
Michael Widenius, один из основателей MySQL AB, автор MySQL Server и MariaDB (http://monty-says.blogspot.com/).
6) В ожидании PostgreSQL 9.0.
Голубь Павел, MicroOLAP Technologies.
7) Флипчарт: PostgreSQL на DEVConf - встреча фанатов. Алексей Борзов [Sad Spirit].
8) Классификация и методологии использования систем обработки и хранения данных совместно с PHP в масштабируемых веб-проектах.
Eugene Klimov, ведущий программист i-jet, разработка и публикация игр в социальных сетях.
Российские разработчики из «Студии 42» выпустили новую версию свободного файлового менеджера для web - elFinder.
Хотя номер версии изменился всего лишь на единичку, на самом деле это совершенно новый продукт, сохранивший от предшественника только основные идеи.
В теперешней инкарнации elFinder мало в чём отличается от своих десктопных собратьев:
Копирование/перемещение файлов с drag&drop
Выделение файлов мышью и с клавиатуры
Поддержка большинства сочетаний клавиш для управления файлами
Контекстное меню
Создание файлов/директорий привычным способом
Быстрый просмотр большинства типов файлов (QuickLook)
Работа с архивами
Редактирование текстовых файлов
Папка «Избранное»
«Запоминание» последней открытой директории и её вида
Информативный statusbar
Поскольку elFinder - web приложение, особое значение имеют безопасность и производительность.
Этим аспектам разработчики уделили максимум внимания.
Безопасность:
Пути к файлам не передаются в «чистом» виде
Ограничение загружаемых файлов по типам. (Разрешенные/запрещенные и порядок применения правил - по аналогии с Access Control в веб-сервере Apache)
Доступ к файлам и директориям указывать с помощью регулярных выражений (regex => access)
Возможность скрыть имя корневой директории
Отключение почти любых команд
Возможность разрешить/запретить показ URL'ов файлов
Logger действии пользователя
Работа с symlinks
Производительность:
Возможность отключить подсчёт места занимаемого директориями и создания миниатюрок
Генерация миниатюрок в фоновом режиме
Передача данных в формате JSON
Клиентская часть оптимизирована, чтобы обеспечить комфортную работу даже если в открытой директории 2-3 тысячи файлов (в случае Safari или Chrome - 4-6 тыс)
elFinder - инструмент для разработчиков и администраторов. Его API построен на базе JSON, хорошо документирован на 3-х языках, имеются примеры интеграции с WYSIWYG редакторами CKEitor/TinyMCE и конечно же elRTE, кроме php-коннектора в дистрибутив включен коннектор на python (в работе коннектор на Java).
Вместе с новой версией файлового менеджера вышел очередной релиз-кандидат редактора elRTE 1.0rc3, а также обновился сайт.
Rutorrent - известный web-интерфейс для управления rtorrent, серверная часть которого написана на php. В богатые возможности web-интерфейса rutorrent входит поддержка плагинов.
В новой версии переработан пользовательский интерфейс, расширены возможности управления пирами и трекерами, подверглась реструктуризации внутренняя архитекура системы.
Rutorrent развивается силами отечественных разработчиков и распространяется под лицензией GPLv3. Паралельно с версией 3.0 выпущена заключительная версия 2.9 предыдущей, уже неподдерживаемой ветки.
Стефан Эссер (Stefan Esser), создатель проекта Hardened-PHP, объявил о проведении в мае инициативы по увеличению безопасности интерпретатора PHP. Мероприятие повторяет по своей сути проведенную в марте 2007 года акцию «Месяц ошибок в PHP», в рамках которой в PHP было обнаружено более 40 проблем безопасности.
В отличие от прошлой инициативы, в которой участвовал только Стефан, к новой акции планируется привлечь представителей сообщества разработчиков. Нынешнее мероприятие будет оформлено в виде конкурса по поиску новых уязвимостей и связанных с безопасностью ошибок в интерпретаторе PHP и в популярных PHP-расширениях. На конкурс также принимаются статьи с описанием разбора известных уязвимостей в интерпретаторе PHP, с детальной демонстрацией реальных атак, с обдумыванием теоретических проблем безопасности или с практическими руководствами по безопасному программированию. Авторы имеющих отношение к безопасности PHP утилит и библиотек тоже могут выставить свои программы на конкурс.
Работы принимаются до 11 апреля. Победители будут определены экспертным советом и получат призы. Участники конкурса занявшие с первого по четвертое место получат возможность бесплатно посетить конференцию SyScan, кроме того в зависимости от занятого места им будет предоставлено денежное вознаграждение: за первое место - 1000 евро, второе - 750 евро, третье - 500 евро, четвертое - 250 евро. Занявшие с 5 и 6 место получат лицензию на ПО CodeScan PHP, а с 7 по 16 место - 65-долларовые купоны для интернет-магазина Amazon.
Победители будут объявлены 1 мая, в дальнейшем весь май, день за днем, работы участников конкурса и информация об обнаруженных новых уязвимостях будет публиковаться на сайте php-security.org.
19 декабря вышла финальная версия WordPress 2.9! Всего в новой версии было внесено более 500 поправок по сравнению с 2.8, в разработке новой версии движка приняло участие более 140 человек.
Производственный директор компании Zend Кент Митчелл (Kent Mitchell) официально заявил, что поддержка платформы FreeBSD в продуктах Zend прекращена в связи с отсутствием спроса.
По словам Митчелла, спрос на коммерческую продукцию компании Zend под платформу FreeBSD ничтожно мал — даже на сборки под Mac спрос на порядки выше. Оставлять поддержку FreeBSD-версий только для бесплатных продуктов (в частности, Zend Optimizer) также нецелесообразно, потому что они развиваются на деньги, вырученные при продаже коммерческой продукции.
Заметим, что последняя доступная под FreeBSD версия Zend Optimizer — 3.3.9 — существует только в 32-битной сборке.
Мейнтейнер PHP во FreeBSD Алекс Дюпре (Alex Dupre) уже сообщил, что новых релизов порта ZendOptimizer больше не будет.
Рунетовское сообщество Drupal (http://www.drupal.ru) проводит 3 декабря семинар Drupal Day в Москве. Участие бесплатное, требуется предварительная регистрация - ниже ссылка на сайт. Ввиду ограничений помещения семинар расчитан ровно на сто участников, на сегодня места ещё есть. Drupal Day будет интересен вебразработчикам - очевидно в основном разработчикам имеющим дело с PHP или уже строящим сайты на Drupal.
Drupal - это CMS и фреймворк для создания вебприложений, международная разработка с открытым исходным кодом под лицензией GPL. На сегодняшний день на основе Drupal в мире работают более 200000 сайтов. Как примеры сайтов на этом движке: whitehouse.gov, spreadfirefox.com, warnerbrosrecords.com, michaeljackson.com - крупных сайтов довольно много, причём их настолько же много вне рунета, насколько мало в рунете. Мы пробуем изменить эту ситуацию и завоевать в рунете бОльшую популярность.
Вот неполный список докладов Drupal Day:
Заглянем в будущее: Drupal 7
VDS и DS: стереотипы и оптимизация
JQuery в Drupal
Основы создания тем оформления
Прототипирование проекта на Drupal
Работа с Simpletest
Примеры использования Drupal: о создании сайта forbesrussia.ru
Обзор инструментов разработчика и вебмастера на unix-десктопе
Ubercart - электронный магазин на Drupal
Также запланирована сессия пятиминутных блиц-докладов на разные темы.
Вы не любите Drupal? Брезгуете PHP? Это ваши моральные трудности ;) Но если вы любите opensource, то приглашаем на drupal party после семинара - подробности на сайте.
В прошедшую субботу http://www.whitehouse.gov перешёл на CMS Drupal (система управления сайтом на PHP с открытым исходным кодом). В будущем возможен переход на использование opensource и других сайтов правительства США.
"Мы хотим более прозрачного общения между тысячами людей, которые заходят на WhiteHouse.gov, и представителями Белого дома", заявил медиа-директор правительства Макон Филипс. Он также пошутил на счёт обязательств Б.Обамы об открытости власти, что показать миру код правительственного сайта есть верх доверия.
В начале года Jetbrains представили RubyMine http://www.linux.org.ru/view-message...., интегрированную среду для разработчиков на Ruby. Оказалось, что многие клиенты покупали RubyMine не для Ruby, а только для редактирования HTML-Javascript кода. В 4 квартале Jetbrains собирается выпустить Web IDE: среду разработки, основанную на коде Maia, ориентированную на веб-разработчиков, и поддерживающую редактирование HTML, CSS, JavaScript, XML, SQL, PHP, сохранение в VCS. Для разработчиков PHP выйдет отдельная редакция PHP Developer Edition с улучшенной поддержкой редактирования PHP.