0
<< предыдущая заметкаследующая заметка >>
26 января 2010
"Сложность программы растет до тех пор, пока не превысит способности программиста"(с)

Движок стоит на стапелях. Дневник свой я давно перекопировал на новый движок (точнее, сделал модули апгрейда, которые это в миг делают), и оно вроде живет. Но что-то мне мешает его запустить официально. Погодю пока.

Делаю пока фотоальбом. Фотоальбом до какого-то момента складывался очень просто и удачно. Ведь всплывающие окна - это прекрасно. С тех пор, как мне показали а) всплывающее окно и б) команду eval(), я почувствовал силы захватить Вселенную.

У окошек движка пока есть глюки - во-первых, мне не удалось сделать перетаскивание, во-вторых, там есть какая-то строка, которая не работает в IE, и надо найти ей кроссбраузерную замену. Но это явно мелочи, которые заведомо имеют простое и легкое решение, все сделаем позже.

Итак, я булькал этими всплывающими окнами, и все шло хорошо, пока я не сделал окошко закачки фотки. Оно прекрасно, легко, быстро, и позволяет открываться в неограниченном числе и качать сразу сколь угодно фоток, не перезагружая страницу, а занимаясь выбором фотки следующей, пока докачиваются прошлые. Но подумалось: как-то тупо все лить в одну папку, верно? Значит, надо сделать возможность открыть дополнительное окно с фотоальбомом и выбрать там папку, куда мы качаем фотки сегодня. И запомнить желательно до следующего выбора.

Сказано - сделано. Открывай альбом, выбирай папку. Но тут встал вопрос: а если папки нет, ее надо создать? А если создана, но сдуру, - то надо ее удалить? Это тоже не проблема, даже все три папки (если вы помните, при обработке закачанной фотки, движок не только ее ужимает и подписывает, но и создает две превьюшки - в папке мелких /pre и совсем микроскопических /mic). Не проблема удалять все три папки. Но если в папке были фотки? Надо их как-то уметь выделить мышкой и поудалять оптом? Тоже, в общем, не проблема - поудалять. А вот если перенести в другую папку надо? Тогда надо породить от окна с фотоальбомом дополнительное окно с фотоальбомом, в котором сделать выбор папки для переноса, и...

Некоторое время я размышлял над тем, как слегка изменить систему взаимодействия всплывающих окон, чтобы они понимали, кто окно-родитель, а кто потомок, и с какой целью открыто родителем - короче, чтобы могли обмениваться информацией между собой горизонтально. Теоретически это несложно - несколько строк кода, я полагаю. Проблема лишь в том, чтобы грамотно продумать саму архитектуру.

В этот момент я вдруг понял, что строю на странице дневника самый настоящий файловый менеджер! Иначе ведь не назовешь. Мне стало очень страшно, и я пошел вчера срочно спать.

Пойду что ли книжку попишу для разнообразия, столь страшные мысли должны отстояться и обсохнуть, привыкнуть к ним надо.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А мне иногда кажется, что "создателям" некоторых файловых менеджеров такие мысли и в голову не приходят. По крайней мере, поначалу... :)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
а что если и комменты подгружать тоже жабаскриптом? В смысле, каждый раз после открытия страницы, а не только после того, как они спрячутся под кнопкой. Через 7 дней, кажется.

Тогда можно будет обновлять их без перезагрузки страницы. Например, после отправки комментария. Или просто по кнопке, если захочется. :-)
0
0
Леонит Каганофф
Кто ж вам мешает? Откройте редактор данной страницы, выберете опцию "комментарии показывать: КНОПКУ" - и будут они подгружаться не сразу, а по нажатию пользователя.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
М. А возможность оставлять комментарии останется?
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
И я, все-таки, немного о другом говорил. %)

А еще оно не сохраняет юзернейм, мыло и утверждает, что я впервые на сайте. :)
0
0
Леонит Каганофф
Это странно. А куки у вас включены?
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Куки включены (слева «login 2946» висит уже довольно давно), но выключен флеш, насколько я помню, он как-то тоже используется в дневнике.
0
0
Леонит Каганофф
По идее, если флеш не включен, то он влиять и не должен - это резервная вспомогательная система, куки должны выдаваться без нее. А браузер какой?
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Opera 10.10. Когда я в прошлый раз на это же пожаловался (до появления новой системы комментов), вы что-то поправили и логин стал сохраняться. А когда перестал - не помню. Попробую щас перелогиниться, если найду как. Не хочется куки тереть.
0
0
Леонит Каганофф
Вам просто надо ткнуть в заголовок заметки, открыть редактор (он же вроде должен вам открыться в демо-режиме, да?) и изучить нижнюю строку настроек. Там все раздельно задается - как показывать комментарии, как принимать, и какие скрывать. Настроек куча.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Кстати. Если будете ковырять форму авторизации, можно туда прикрутить что-то такое:

это для тех, кто не знает, что такое openid, но имеет аккаунт на одном из сайтов. Русские гиганты (яндекс, рамблер, мейлрушечка) сейчас ведь тоже работают openid-провайдерами.
0
0
Леонит Каганофф
А какой в этом смысл? Ведь openid не является ключевым способом идентификации в движке. Нет проблемы, если человек, который не понимает, что такое openid, просто напишет комментарий от своего имени, заполнив капчу. А для сохранения аккаунта заполнит графу "пароль" в личной карточке.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
м. Ну, для удобства. Зачем плодить регистрации? :)
0
0
Леонит Каганофф
А регистрация происходит автоматически по факту захода на страницу. Зашел - уже получил номер.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Тут надо оценить насколько часто та-иная фича будет востребована. И стоит ли оно затраченных усилий.

Для того чтобы самому не реализовывать файловый менеджер, можно воспользоваться настоящим ФМ: mc или любым свободным php-скриптом.
0
0
Леонит Каганофф
Так мне не нужен файловый менеджер, мне нужно управление фотоальбомом.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Чтобы не строить файловый менеджер, надо отказаться от файлов :)
В том смысле что пофиг как они там на диске хранятся. Хоть в папках, хоть без, хоть авто-папки по дате/месяцу.
А что не пофиг - это способ использования фотографий. Для удобства использования их надо сортировать, выбирать, группировать. И все это можно делать не файловой системой, а чем-то более подходящим. Метками, тегами, exif, gps и прочими данными. Все это можно хранить где-то в базе для ускорения процесса.
Тогда вместо удалений папок и созданий просто надо будет изменить одно поле "категория" в базе. И отображать человеку не всю папку, а отфильтровав запросом по категории или другому параметру.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Может, просто положиться на FTP и не делать пока такую фичу? Сотни и тысячи фоток действительно удобнее закачивать\удалять не в браузере.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Кстати, о мелочах
"Комментарии к этой заметке автоматически отключились, потому что прошло больше 7 дней или число посещений превысило 20000. Но если что-то важное, вы всегда можете написать мне письмо: lleo@aha.ru"

а нашёл я это на http://johny.eehome.ru/blog/2009/12/21.html

Просто мелочь
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ему и напишите. Мне-то зачем?
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Я к тому, что ...
ну да, в принципе каждый, кто поставит движок сам залезет и изменит строчку с "ы всегда можете написать мне письмо: lleo@aha.ru" ...
0
0
Леонит Каганофф
Да это было сто лет назад в движке первой версии, которую вы нашли. Поэтому пишите все-таки ему, а не мне.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Действительно, нет смысла пользователю знать, как хранятся фотки физически. Пользователю надо дать возможность искать фотки по дате размещения и по тэгу. Тэги можно менять, дату - нельзя.
А как именно раскладывать это по папкам - внутреннее дело движка.
Windows Opera
0
0
kosenko-danila
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А не проще все сделать на базе данных?
База foto
Поля:id,id_album,status,sort,hide
База album
Поля: id,id_parent,name,status,sort,hide
И не гонять фотки туда-сюда, а просто менять им ид_альбома.
Альбомы (они же папки) вложенные. Корневые имеют родителя 0.
Вобщем, обычная форумная структура :)

Кстати, разрастание это беда почти всех проектов. Знакомый просил написать простенький каталог для заказа мебели. Три таблицы, правка, сортировка. Делов на неделю.
Вылилось все это в очень серьезную вещь, с отчетами по продажам, по заработанным деньгам, по количеству денег в конкретном офисе.
Данную беду легко обратить в плюс, главное сразу сказать заказчику, что все дополнительные модули - за отдельную плату. :)
Linux Firefox
 Москва
0
0
Леонит Каганофф
Нет, на базе данных не проще. Накопится в папке тысяч пять фотографий - и что тогда?

всего комментариев: 25

<< предыдущая заметка следующая заметка >>