Music News Generator
Когда вел пару музыкальных доков на НоНайме - Militaria, Tracker Bunker, Tracker MP3 Bunker (сейчас уже не веду), часто сталкивался с тем, что для оформления новости приходилось делать очень много лишних телодвижений: заходить на Discogs, искать необходимую информацию, копировать нужные данные и вставлять в шаблон, который, думаю, есть у каждого модератора-релизера музыкального блога или форума. Частично, эту проблему решает генератор NoNaMe Music News Maker. В нем необходимо заполнить указаные поля и, после отправки значений формы, получаем сгенерированную новость по шаблону, в данном случае дока Noisebunker. Да, упрощение на лицо, но, телодвижения остаются. Обращаемся к Discogs, ищем информацию по релизу, копируем необходимые данные, вставляем в поля формы, и при этом, каждая такая мини-операция сопровождается переключениями между окнами браузера и движениями мышкой для выделения информации. С целью упрощения стандартных телодвижений и был создан Musiс News Generator - генератор содержимого "музыкальной" новости.
Кратко о Music News Generator
Music News Generator (MNG) – позволяет быстро сгенерировать код музыкальной новости (поста) для блогов, форумов, порталов. Данные берутся с мировых музыкальных баз данных: Discogs и Last.fm. В качестве входных данных необходима Discogs ссылка на музыкальный релиз.
Сервис будет полезен, прежде всего, пользователям, которые выкладывают ссылки на музыкальные релизы в интернете на блогах, форумах, порталах.
Принцип работы
Принцип работы достаточно прост и состоит из 7-ми основных шагов:
- Получаем Discogs-ссылку на релиз. Для этого, пока что:
- обращаемся к сайту Discogs и ищем необходимый релиз;
- Копируем найденную ссылку релиза;
- Вставляем ссылку в соответствующее поле MNG;
- Выбираем шаблон из выпадающего списка (используемый в соответствующем блоге, форуме...);
- Указываем тип и качество аудио-файлов входящие в релиз;
- Вставляем ссылки загрузки файлов релиза;
- В случае, если установлен пароль, например, пароль архива, либо пароль доступа к загрузке файла(-ов), указываем пароль;
- Нажимаем Сгенерировать (Generate) и получаем результат.
Результат
В результате получаем следующую сгенерированную информацию о релизе:
- Заголовок новости - будем вставлять в заголовок в записи блога, темы на форуме и т.п...
- Изображения релиза. При выборе картинки появляется ссылка на изображение максимального размера доступного на Discogs;
- Сгенерированная новость - сам шаблон с автоматически заполненными данными;
- Тэги - сгенерированные тэги, которые относятся к релизу (на некоторых сайтах такие поля необходимы, например, на NoNaMe).
Основные возможности
- Генерирование заголовка новости в виде: Артист – Релиз (Год) [качество файлов];
- При генерировании заголовка новости учитывается максимальная допустимая длинна (напр., на NoNaMe – это 60 символов);
- Получение ссылок на изображения релиза;
- Генерирование содержимого новости в BB-коде;
- Система шаблонов, благодаря которой можно генерировать код в любом формате текстового представления данных (XHTML, XML, BB-code, Texy,Textmate и т.п...);
- Привязка шаблонов к ресурсам, которая позволяет удовлетворять любые требования к оформлению генерируемого содержимого в зависимости от ресурса, для которого и предназначена новость;
- Генерирование тэгов новости;
- Система плагинов - позволяет добавлять в шаблоны вывод дополнительных данных:
- Lastfm – для вывода данных о похожих исполнителях артиста, и популярных тегов;
- Filedata – для обработки и вывода данных о файле/ах;
- MusicMap – для вывода ссылки Исполнителя на сайте Music-Map;
- BuyMusic (alfa версия) – для вывода ссылки/ок где можно купить данный релиз на Discogs;
- Выбор языка интерфейса: Русский или Английский.
На чем работает
При разработке MNG были использованы такие технологии и решения:
- PHP фреймворк CodeIgniter;
- собственные библиотеки DiscogsAPI и LastfmAPI для полученния и обработки данных с Discogs и LastFM использующие API этих сервисов: Discogs API и LastFM API;
- MiniXML - PHP класс для генерирования и парсинга XML данных;
- Texy! - конвертер с текста в XHTML код;
- База данных MySQL;
- JavaScript библиотека jQuery:
- jQuery UI библиотека;
- плагин локализации Localisation assistance;