Редакция
Зарегистрирован:
|
Добавлено: 08/04/00 в 08:19
|
Техзадание Я размещу прогу как она есть, ко всеобщему удовольствию и вящей славе автора, но, если автор сделает прогу по тому техзаданию, что приведено ниже (сам хотел было делать), то он ДЕЙСТВИТЕЛЬНО может зарабатывать на ней очень неплохо. ------------------------------------------------- Программа должна быть построена таким образом, чтобы человек, ничего не понимающий в ХТМЛ мог создавать, размещать и рекламировать свои тумбинал-галереи (далее ТГ). (Это просто программа-максимум. Я внезапно стал с уважением относиться к Биллу Г. с его методикой драг-энд-дроп. Это оптимально для обезьян, т.е. для тех, кто НЕ ПОНИМАЕТ что физически происходит при, например, перетаскивании пиктограммы файла в "корзину") Он должен иметь комплект фоток и комплект тумбинашек к ним (ориентировочно с названиями типа photo#####.jpg и tumb####.jpg), расположенных в каталогах content и preview. Дополнительно существуют каталоги buttons и banners. (Надо сказать, что это ИСХОДНЫЕ каталоги. На выходе программа должна создавать "дерево каталогов" примерно следующего вида: content preview buttons banners patterns galleries Year2000 February 01-01-2000 Gallery01 файлы галереи 01 - ХТМЛы, фотки, превьюхи, кнопки и баннеры, копии содержимого исходных каталогов Gallery02 файлы галереи 02 Программа должна при отсутствии нужного каталога генерировать его, опираясь на текущую дату и номер последней галереи) Работа программы делится на несколько частей (То есть, одна из менюшек -- выбор типа работ, по изменению типа меняются вкладки в основном окне программы) - управление БД - формирование БД по пользователю - имя - комплект имен (Один пользователь может иметь до десятка ников и мэйлов, все представлено в виде: выпадающего меню с никами, поля ввода нового ника, кнопок "добавить", "удалить", "установить по умолчанию". Можно еще предусмотреть соотнесение пар ник/мэйл, но это не обязательно) - емэйл - комплект емэйлов - формирование БД по галереям (Т.к. галерей может быть тысяча, надо реализовать выбор галерей из стандартного виндового диалога "Open", при получении ее дискового адреса ищется строка в базе. То есть, наличествует кнопка "Выбрать галерею". Предусматривается обработка ошибки, если галерея была переименована извне.) - адрес галереи на диске - адрес галереи на хосте - дата создания (и аплоада) галереи - список элементов галереи - тумбинашки - кнопки ТГП - баннеры - текстовые ссылки - тексты (заголовок, описания и пр.) - счетчики - иллюстрации (логотип и пр.) - список ТГП, в которых галерея была отрекламирована (Все перечисленное генерируется прогой по завершению соответствующих операций (создания, аплоада, сабмиттинга) и представлено в виде простого потока текста или списка в текстовом окне с прокруткой. Не редактируется пользователем.) - прочие заметки пользователя (Второе текстовое окно с прокруткой. Туда можно вводить текст, стирать ранее написанное. При снятии фокуса ввода с окна, содержимое запоминается в базе.) - формирование БД по ТГП (Новая вкладка) - адрес ТГП - адрес сабмит-страницы ТГП (Однострочные поля для ввода с описанным выше принципом запоминания. При отсутствии во вводимом префикса http:// он добавляется. Две кнопки, напрямую открывающие эти адреса в броузере) - дата внесения ТГП в базу (Ставит сама текущую дату, но допускается редактирование в рамках шаблона) - дата последней проверки ТГП на изменения на сабмит-странице (Кнопка "Check TGP". При нажатии получает дату последней модификации сабмит-страницы ТГП и сравнивает с датой внесения/посл.проверки. При отличии отправляет разработчикам мылом уведомление о необходимости выложить на сайт обновление базы и предупреждает пользователя о несоответствии дат.) - перечень явных полей для заполнения в сабмит-форме - возможно что-то еще (Возможно, ничего и не надо. Даже скорее всего, что ничего не надо. Данные по ТГП пользователь берет с нашего сайта и сам не вводит. Вводим мы за отдельную плату. Содержание файла с базой ТГП -- отдельная большая песня, пока скажу только, что он текстовый и напоминает ini-файл) - прочие заметки пользователя (См. выше) - формирование БД по спонсорам (Новая вкладка. Вот тут юзер все вводит сам. Поэтому все поля -- активные.) - название спонсора (Пусть пишет, что хочет) - адрес сайта спонсора (Берет из адресной строки броузера. Рядом -- кнопка "Открыть сайт") - код рекламы спонсора (Многострочное поле ввода. Вносит из письма или вставляет с сайта) - адрес баннера спонсора на диске (Поле ввода и кнопка "Brouse" для прямого нахождения баннера. Хорошо бы иметь возможность видеть маленькую превьюшку баннера рядом.) - прочие заметки пользователя (Ну, это аналогично. Заметь, что после внесения всех данных и нажатия на кнопку "Add", содержимое полей добавляется в базу, и название спонсора появляется в выпадающем меню в самом верху. Выбираешь в нем строку -- все поля заполняются. Есть и кнопка "Del". Подразумевается, что к-во спонсоров может быть большим, но не чрезмерно. 64 и при превышении выскакивает алерт.) - формирование БД по хостам (Новая вкладка) - название хоста - адрес хоста (Или его IP. Есть кнопки "Add", "Del", "Open") - логин и пароль доступа (Как по WWW, так и по FTP. То есть две пары.) - изготовление галереи (Вообще работа с шаблоном видится мне так: в таблице из 3 столбцов и 10 строк размещены одинаковые вып.менюшки с перечнем возможных элементов, и надо просто выбирать, что именно будет стоять на этом месте. Менюшки включают в себя: а) Строка из трех тумбинашек; б) Баннер; в) Кнопка ТГП; г) Произвольная иллюстрация; д) Произвольный текст с сылкой или без; е) Гориз.линия При выборе любой строчки выскакивает окошко для ввода доп.информации, например, для "а" -- это имя файла тумбинашки, текст ALT, толщина рамки. Для баннера или кнопки ТГП -- это имя файла и линк (для баннера можно указывать весь блок кода) и пр. Для баннеров и кнопок надо иметь возможность выбирать их из списка, который формируется на основе БД. Для тумбинашек и иллюстраций -- стандартный диалог "Open" с возможностью предпросмотра) - изготовление шаблона или выбор готового шаблона или выбор готовой галереи для редактирования (То есть, выбор типа открытия. При разных типах лишь меняется начальные значения в "менюшках элементов". При изготовлении -- везде стоит "Select element", при выборе готового шаблона -- названия элементов без конкретных значений, при редактировании -- названия элементов со значениями. ) - изготовление (редактирование) шаблона (Шаблон берется по номеру из списка, не более 20. Галерея на редактирование берется из каталога.) - выбор будущих элементов шаблона (То есть, идет работа с менюшками. Один за другим заполняются поля.) - размещение их по некоей модульной сетке (Это уже излишне, они и так в ней.) - просмотр в броузере с исп. "образцовых" элементов (В любой момент можно нажать кнопку "View in brouser". Те ячейки, где уже выбор произведен, отображаются как положено, а где еще нулевые значения -- там вставляются просто цветные прямоугольники со словами "BANNER", "PIC" и пр. Прога быстро сохраняет темпоральный файл и открывает его в браузере) - сохранение шаблона и внесение его в список (То есть, одно и то же можно сохранить и как шаблон, и как галерею. При сохранении в виде шаблона вместо имен файлов вставляются некие строки, типа [pic], вместо линков -- [link] и пр. По ним программа ориентируется, что выставлять в менюшках при открытии потом этого шаблона. Шаблон вносится в перечень шаблонов и сохраняется в каталоге "patterns" в виде ХТМЛ-файла. При сохранении же как галереи, прога не переписывает поверх старой галереи новую, а добавляет в дерево каталогов новую папку Gallery## в соответствующий день и заносит туда и ХТМЛ, и все выбранные элементы.) - выбор готового шаблона из списка (Ну, это понятно...) - выбор элементов будущей галереи (То есть, когда шаблон или галерея открыты для редактирования, что описано выше, то можно делать то, что описано ниже ;-)) - превьюшки - случайным образом (По теории, это имеет смысл делать только в том случае, если они все однотипны, иначе будет mix-галерея. Но эта возможность -- единственная для автоматического создания галерей.) - по диапазону (напр. от 135 до 187 фотки) (Думаю, можно не реализовывать) - выборочно из списка (Обычное дело для ручного редактирования.) - баннеры (Баннер, как и любой другой элемент выбирается в типовом ниспадающем меню, выбрал -- тут же появляется панелька с уточняющими полями выбора) - выбор спонсора из списка (Это уже на панельке. То есть, последовательность выбора: баннер вообще -> конкретный спонсор -> конкретный баннер спонсора) - выбор баннера из списка (См. предыдущее. Все это берется из соотв. БД) - кнопки ТГП - выбор ТГП из списка (Аналогично как для баннеров. Однако подразумевается, что на одну ТГП -- одна кнопка и один код к ней) - ввод текстов (Если выбрал в менюшке, что в этом месте страницы должен быть некий текст, например "Next gallery", то выпадает панелька с уточняющими полями: сам текст, линк к нему и размер букв текста) - выбор счетчиков (ввод готового кода) (Думаю, можно и без счетчиков. А можно и с ними...) - выбор иллюстраций (если заданы в шаблоне) (Уточняющие поля: имя файла, надпись ALT, линк, бордер) - предпросмотр галереи в броузере (Это я уже объяснял, просмотр темпорального файла. Элементы пишутся тоже в директорию TEMP и после удаляются.) - повторное редактирование при необходимости (То есть, мы редактирование и не заканчивали) - выбор категории галереи (Это важно. Какая получится. То есть, вверху все время есть выпад. меню "категория", т.е. аматеур, матуре и пр. Потом, по сохранении окончательного варианта галереи, категория вносится в БД.) - генерация окончательного варианта галереи (Заключительный предпросмотр. Конечно, остановиться мы могли в любой момент...) - запись (Никаких "Save as...". Имя и каталог генерируются автоматом.) - галереи и ее элементов на диск с созданием дерева каталогов (Все, что в галерею вошло копируется в новый каталог.) - информации о галерее в БД галерей (Ну, и инфа соответственно. Все одной кнопкой. Если мы уже сохраняли промежуточный вариант в ходе сессии, то нужен вопрос "Перезаписать поверх старой?") - размещение галереи (Самое для меня тугое место...) - выбор целевого хоста пользователем (Это уже новая вкладка. Выпадающее меню со списком внесенных в базу хостов. выбираем один и жмем "Аплоад". Понятно, что заведение аккаунта было проведено юзером заранее и вручную.) - соединение с хостом (Ход коннекта как-то иллюстрируется. Сообщения об отдельных операциях, что ли?..) - по ФТП (Только по ФТП. Не по ФТП -- как-то несолидно...) - по "файл-менеджеру" хоста (необязательно) - заливка галереи и ее элементов на хост с созданием на хосте дерева каталогов (Не надо никаких деревьев. Все имена уникальны и наложения могут быть только в фотках. В таком случае, фотка не обновляется, а используется уже залитая.) - возможность реконнекта и возобновления заливки с места обрыва (Ну, по возможности...) - ведение лога заливки, расчет времени заливки (С этим просто.) - возможность реконнекта и возобновления заливки с места обрыва (Если у них плохой дуал-ап -- это их, а не наша проблема. Пусть линию тянут.) - внесение информации о заливке в БД галереи (По окончании заливки.) - рекламирование галереи (Это самое важное, но необходимое) - получение информации о пользователе и галерее из соотв. БД - внесение информации в поля сабмит-формы программы - имя пользователя (выбор из списка) - мэйл пользователя (выбор из списка) (Или установленные по умолчанию.) - адрес галереи на хосте - адрес "кнопки ТГП" на хосте - категория галереи (Помнишь, вводили выше?) - описание галереи (Э-э-э... А ведь тоже надо было где-то вводить...) - заголовок (название) галереи (Если ручками вводили -- одно. А при автомате?! Надо придумать некий генератор описаний из 3-4 слов...) - количество фоток в галерее (Подсчитывается) - необязательные поля (5-6 шт) (Есть такие ТГП, которые спрашивают всякую дрянь, типа номера аккаунта или реферера наводчика, или комментария... Надо как-то вводить это заранее в БД конкретно для этой ТГП и потом вставлять, когда автоматом...) - отправка этих данных в использованные на галерее ТГП в формате именно этих ТГП (То есть, надо реализовать метод POST и вызов некоего cgi со строкой параметров. Ответ скрипта может появляться в окне броузера. А может игнорироваться.) - возможность отправки данных в любые ТГП по выбору пользователя (Имеются в виду ТГП, не требующие обратного линка. Надо как-то иметь возможность отмечать в списке ТГП нужные и иметь строчку "во все", и отправлять данные соответственно меткам.) - получение ответов от ТГП (в окне броузера или необязательно) - ведение лога рекламирования - занесение информации о рекламировании в БД галереи (Отправили данные -- поставили метку в БД.) - управление галереей - возможность открытия в окне броузера любой галереи из списка (Это уже реализовано выше, в БД галерей есть кнопка "Open") - возможность стирания файлов на хосте (Вот это необязательно.) - update данных по программе (Придется сайт иметь!-) - получение обновленных данных по ТГП с сайта разработчика То есть, в проге есть кнопка "Апдейт" и она появляется только при регистрации проги. Или сиди без данных по ТГП...) - проверка лицензионности программы (См. выше) (Дополнения. При создании галереи должна быть возможность выбирать цвета фона, текста и линков. Все параметры должны иметь возможность устанавливаться как дефаултные. Это надо для автосоздания галерей. Кроме имен файлов картинок, конечно...) Теперь рассмотрим, что происходит при автоматической работе. Прога запускается и нажимается кнопка "Авто". Прога берет шаблон по умолчанию, вставляет на заданные места баннеры по умолчанию, кнопки ТГП по умолчанию, ничего не показывает, записывает на диск и соединяется с хостом. Заливает на хост по умолчанию галерею и элементы, и рекламирует в ТГП, установленных по умолчанию. Отключается. При попытке повторно проделать то же, сообщает, что надо поменять ТГП, меняем -- проделывает поцесс. Или может сама менять, в случайном порядке. Как и хосты, как и спонсоров. Это как уж выставишь в параметрах, случайно, или по запросу. ------------------------------------------------- Если что непонятно -- свяжись со мной, объясню.
|