I. Хостинг Мне ничего не остаётся, как надеяться на великого Морозовского - уж очень это непросто, приютить полтора гига барахла.
II. Но, представим, что это решено. Куча mp3-файлов уже где-то уютно улеглась. Админская страница сразу предлагает наполнение базы. Основная структурная единица этого процесса - концерт или альбом. Чтобы было нагляднее, попробую оперировать иллюстрациями.
Иллюстрация 1 Это действительно не более, чем иллюстрация, никаких скриптов там нет.
Название записи - вещь важная. Запись может быть концертом, альбомом, а может быть и просто результатом рассеянного включения диктофона на посиделках.
Название стороны кассеты/части альбома - иногда бывает так, что альбом состоит из двух комплектов, вот как старая кассета "Балкон над парком - Дорога в Дублин".
Дата записи - вещь суперважная. Настолько, что не даже стоит оставлять радиокнопку "дата неизвестна". Поле даты записи будет формировать весь порядок отображения альбомов-концертов настранице mp3-архива. По умолчанию и в админском, и в юзерском интерфейсе хронология должна быть обратная - то есть, сверху идут самые поздние записи, внизу - самые ранние. Но если кому-то надо будет инвертировать хронологию - будет специальная ссылка. Выбор даты из выпадающих менюшек специально сделан помягче, но дата должна быть всё равно.
Кто вёл запись - ещё одна обязательная информация. Не стоит ей пренебрегать - если будет нужда, именно тот, кто записывал, сможет найти потерянную запись или рассказать что-нибудь важное.
Количество треков - в общем-то, это поле должно считаться само автоматически, при набивании следующей записи уже по конкретному альбому-концерту. Но лучше его оставить для контроля. Если вдруг пропустишь при наполнении песнями какой-то трек - пусть оно завопит и затопает ногами. И это поле, и следующее - общее время - не составляет труда заполнить, закинув папку с файлами в плей-лист плеера.
В дополнительную информацию, естественно, входит всё, что может относиться к предмету. Ниже, в примерах данных, отображается под заголовком P.S.
Юзерский вариант отличается отсутствием полей и управляющих ссылок после каждой записи.
Данные по общему времени звучания записи генерятся автоматически, в соответствии с наполнением треками.
После нажатия кнопки "отправить в базу" информация записывается, куда должно, и открывается следующая админская страница - наполнения конкретной записи песнями.
Иллюстрация 2
Как видно на частично работающем макете, вначале идут поля наполнения, а затем - уже наполненные данные. Первое поля является обязательным, но если как-то отмечен пункт 6 - отдельный трек с другим событием, поле первая строка может оставаться пустым.
Очень важный момент для этой базы данных - связь первой строки и названия. Она должна устанавливаться автоматически по умолчанию, с возможностью её отмены. Для этого присутствует админская ссылочка [ разорвать связь "первая строка - название" ], ведущая на Иллюстрацию 2а, где можно исправить неверную связь.
Главные типы данных для этого раздела: песня, стихотворение, история, комментарий, трек с шумовой или технической информацией. Каждый тип имеет свои правила описания, я постарался их показать в иллюстрации, равно как и основные правила синтаксиса и пунктуации при отображении данных.
В пункте 4 - название истории - должна быть предусмотрена возможность, когда одна история соотносится к нескольким произведением. Нажатие на админскую ссылочку [ ещё к песне (стихотворению) ] должно вывести дополнительные повторные поля для этого момента.
Пункты 8 и 9 принципиально отличаются между собой: Карпов может играть и петь в качестве ведущего, а может и просто подпевать или подыгрывать кому-то. Здесь я полагаюсь только на своё знание предмета.
Кнопка "отправить как последний трек в записи" должна закрывать запись и выводить к общей странице альбомов (концертов). При этом если заявленное количество треков не соответствует действительности, должна оставаться предупреждающая красная запись.
В разделе отображения уже наполненных данных по трекам должны присутствовать адимнские ссылочки [ вверх ] [ вниз ] - на тот случай, если последовательность наполнения была спутана.
Суть комментария может быть раскрыта в поле дополнительная информация.
Вес mp3-файла должен автоматически рассчитываться на серверной стороне и выводиться в режиме подробной записи.
Админская запись типа [ http://karpov.hole.ru/mp3/уникальная_ссылка ], которая создаётся автоматически только для песен и стихов, нужна для того, чтобы вставлять её в качестве ссылки к mp3-файлу на текстовых страницах. Например, на странице http://karpov.hole.ru/songs/balkon.htm в самом низу есть ссылка "mp3". После кликанья на неё юзер должен получить комплект ВСЕХ записей песни "БАЛКОН НАД ПАРКОМ" в обратной хронологической последовательности, в полном режиме.
Иллюстрация 3
По-моему, всё довольно прозрачно. Если у юзера происходит переизбыток информации, он волен перевести данные в краткий режим:
Иллюстрация 3а
Юзерская ссылочка [ сформировать пакет для скачивания ] достойна отдельного упоминания. Она видна, как в полном, так и в кратком режиме. Для чего она нужна, становится понятно из следующей иллюстрации:
Иллюстрация 3b
Видимо для её работы необходимо разработать дополнительный программный модуль. Функция сформировать пакет для скачивания должна быть доступна при ЛЮБОМ выводе результатов. Независимо от того, что запросил юзер - будь то: вывести все песни вывести все стихотворения вывести все истории вывести все треки с комментариями
вывести все произведения чужого авторства вывести все произведения чужого исполнения вывести все произведения, исполняемые только А.Карповым вывести все произведения, исполняемые А.Карповым совместно с кем-то
- всё это дополнительные управляющие юзерские ссылочки, которые становятся видны сверху, если юзер ткнул на [ вывод по заданным критериям ] (см. иллюстрация 1). Их состав пока неустойчив и станет окончательно известен лишь в процессе тестирования и отладки всей системы в целом.
Чтобы юзер не путался при разных фильтрациях данных, что он уже скачал, а что - ещё нет, в результатах вывода (иллюстрация 3) скачанные файлы отмечаются другим цветом, а при формировании пакета для скачивания (иллюстрация 3b) соответствующие окошки с галочками должны быть затемнены и деактивированы. Видимо, не без кукисов.
III. О будущем Можно попробовать представить себе следующий шаг в этом неохватном труде. А именно, когда система архива уже сложится и устаканится - можно попробовать сделать надскрипт. То есть генерацию комплекта php-скриптов mp3-архива АП для стороннего пользования; с определением некоторых характерных моментов для выпадающих меню. Возможно, такой готовый сетевой механизм смог бы оказаться полезным не только упёртым архивистам, но и обычным любителям авторской песни, выкладывающим свои архивы в Сеть. |