Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля
Новогодние скидки до 25%!
Подробнее

Предложение по системе хранения файлов

Страницы: 1  |  2  |  3
02.03.2007, 14:11
sdelali
Сделали.Ру
sdelali

Зарегистрирован:
2004-12-24
Сообщений: 24

Давным-давно когда я писал про неудобную систему хранения файлов в /netcat_files/, я и не предполагал как ее "улучшат".
Да, раньше была "свалка", но сейчас свалка еще и обезличенная стала.

Это пипец вообще: вместо нормального названия файла имеем - /netcat_files/354/217/h_1711e0b309e53c4547764bc9ff8adeb4

Недостаток первый - когда открываешь /netcat_files/ видишь кучу безликих папок с номерами разделов! Попробуй-ка сопоставь что к чему - в какую папку из какого раздела и что складывается. Мало того, открыв папку 354 мы еще видим еще одну папку - на этот раз шаблона.

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

Ну и напоследок - если система с недавних пор стала позиционироваться, как "сео-френдли-кмс", то где тут френдли? Допустим мне картинкам нужно прописывать alt-ы и давать нормальные имена файлов - для seo, как быть тогда?
Яндексу нужен максимально простой адрес - что то типа этого <img src="/netcat_files/engine/netcat.jpg" alt="NetCat">

В общем мое предложение: в свойствах поля "Файл" добавить опцию куда именно сохранять файлы - например картинки из каталога продукции нужно ложить в /netcat_files/tovary/. Так и указываем в поле Сохранять в: /tovary

Ну и галочку можно примонстрячить - сохранять ли оригинальное название файла. Ведь согласитесь netcat.jpg всегда лучше безликого 354_217.jpg :-)

Получаем - логичную, упорядоченную файловую структуру и не страшно будет заходить в /netcat_files/ по FTP.

Кстати, а не думали /netcat_files/ просто на /files/ переименовать или вообще сделать ее изменяемой в vars.inc.php?

Сделали.Ру
02.03.2007, 16:53
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

Папка /netcat_files/ создана для удобной работы самой CMS.
Если вам нужны красивые имена файлов и путей, вы можете закачивать их через FTP (если уж вы полезли на сервер через FTP и обнаружили папку netcat_files)

по поводу сохранения файлов с оригинальными именами, то как вы предлагаете решать проблему с доступам к файлам с не латинскими буквами на любых стандартных хостингах ??

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

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

h_1711e0b309e53c4547764bc9ff8adeb4
хеш в имени файла, используется для предотвращения угадывания названий файлов на сайте.. если например на сайте существуют скрытые разделы с листингом файлов для внутреннего использования

папку /netcat_files/ переименовывать не думали, чтобы на проектах с больших кол-во папок можно было сразу определить папки относящиеся к
НетКет
изменение названия папки в vars.inc.php также не предусмотрено, как и не предусмотрено изменение папки /netcat/ или /netcat/admin/
03.03.2007, 18:18
sdelali
Сделали.Ру
sdelali

Зарегистрирован:
2004-12-24
Сообщений: 24

Угу - вот-вот забраковали всё. улыбка))

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

И я ведь не сказал, что надо так по умолчанию - просто как опция для веб-разработчиков - сохранять в определенную папку для более удобной и наглядной организации файловой структуры + более лучшее решение для SEO.

2. При удалении записи на сайте закачанные файлы может быть и удаляются - папки то остаются.

3. Не вижу вообще смысла в угадывании названий файлов на сайте (какой параноик этим будет заниматься), если как вы сказали "пользователь может сохранить файл с тем же названием с которым вы загружали этот файл в систему".

Вообще не видно преимуществ по сравнению со старой системой - та же свалка, только еще больше: куча папок, безимянных файлов и хеш (шифровальшики е-мае).

Сделали.Ру
03.03.2007, 18:42
sdelali
Сделали.Ру
sdelali

Зарегистрирован:
2004-12-24
Сообщений: 24

h/z писал(а):
Если вам нужны красивые имена файлов и путей, вы можете закачивать их через FTP (если уж вы полезли на сервер через FTP и обнаружили папку netcat_files)


Я предложил сейчас как сделать более правильное решение для SEO, а если я все руками буду закачивать по FTP - зачем мне тогда ваша система, а?
Мне например нравится пользоваться кнопочками "Обзор" и "прикрепить файл", а также видеть понятный и логичный адрес картинки (не только мне я думаю, но и поисковикам).

Если вы думаете, что добавив пару-тройку полей в системных таблицах (title, Description и Keywords) можно смело всем впаривать "специальную версию "СЕО-кмс", то это мягко говоря преувеличение.

Из мелочей все складывается.

Вот в версии SEO вы пишите "Корректные заголовки в Header-е, корректное время генерации страницы".
А я (GRR) вам про эту проблему напел еще в начале 2006 года - http://www.netcat.ru/support/forum/common/message_11259.html
Причем решения мне тогда никто не подсказал - пришлось разбираться самому.

Так что h/z не стоит наверное отбрыкиваться от всего что предлагают - глядишь и полегчает кому-то.

Мы проблему с логичным хранением файлов решили с момента выхода версии 2.2 - пришлось перелопатить код и "поработать напильником", чтогбы предусмотреть поля "куда складывать файлы". Теперь мне будет смешно если это все таки появится года через два и у вас.

Сделали.Ру
05.03.2007, 00:31
ktotoff
АльтерЛан

Зарегистрирован:
2006-12-19
Сообщений: 339

Да, многим оригинальное название netcat_files не нравится. Для нескольких особо принципиальных заказчиков, требовательных к структуре папок на сервере, пришлось даже менять ФСК.

Кстати, а что мешает сохранять расширения загруженных и переименовынных файлов?

...жизнь прекрасна, когда правильно подобраны антидепрессанты...
05.03.2007, 08:27
resident
Веб-группа «Дабл Ю»

Зарегистрирован:
2005-01-10
Сообщений: 336

ответ на первое сообщение (не смог раньше запостить)

у френдли есть проблема - одинаковые имена файлов
да, согласен, путь /sub/cc/ не очень удобен, было бы лучше использовать номер поля улыбка все бы файлы каталога товаров были в одной папке и по типу определять проще

при желании можно написать функционал ктороый будет переименовывать файл в любой другой по вашем желанию, только он не будет удаляться при удалении объекта

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

единственный существенный минус такго принципа и реализации - отдельный sql запрос для определения пути файла, имея фотогалерею на неткате (допустим по 5 полей файл для каждого объекта, уменьшеный вариант и 4 дополнительных вида) размещая 4 колонки по 5 превью мы получаем 100 sql запросов для определения путей всех этих файлов чтоб при желании пользователь мог написав $f_file3 вывести любую из них в этом списке
допустим недостаточно безопасно было бы получать хэш из имени файла, размера, номера шаблона в разделе и номера раздела, чтоб можно было восстановить хэш без запроса, то хотя бы можно было сахранять хеш в поле шаблона где сейчас сохраняется оригинальное имя, размер, тип

преимущества:
- невозможно скачать файл не зная точного имени
- невозможно закачать выполняемый скрипт в папку netcat_files

насчет проблемы в начале 2006 года - ничего подобного небыло на многих сайтах разных версий, все заголовки корректные, может в этом ваш хостер был виноват?
05.03.2007, 12:44
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

tonox
Цитата:
Мы проблему с логичным хранением файлов решили с момента выхода версии 2.2 - пришлось перелопатить код и "поработать напильником", чтогбы предусмотреть поля "куда складывать файлы". Теперь мне будет смешно если это все таки появится года через два и у вас.


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

toresident
Цитата:
размещая 4 колонки по 5 превью мы получаем 100 sql запросов для определения путей

да проблема с лишними запросами к таблице Filetable действительно создает лишнюю нагрузку на бд.
кроме добавления дополнительных функционалов в новых версиях НетКет, команда разработчиков также по мере возможности занимается переработкой существующих концепций и логики в ядре НетКет.
15.03.2007, 13:33
zhilin
Жилин А.С.

Зарегистрирован:
2007-02-14
Сообщений: 108

Случай не еденичный. Действительно плохая реализация хранения файлов.
Цмс позволяет делать хороший код и здесь мы видим ужасные пути к файлам. Решение должно быть.
02.04.2007, 15:48
Гость
Гость

Даже не будучи шибко умным программистом,
первым делом переписал код таким образом,
чтобы все закачиваемые файлы переименовывались в транслит,
а если файл уже существует, то добавлялся бы суффикс _n
Иначе было бы просто противно работать, с этими жуткими конструкциями h_

У меня на это ушло порядочно времени, а изменить пришлось всего лишь несколько строчек кода.
Для разработчиков это плевое дело, а нормальным людям каждый раз заново велосипед изобретать грустный
10.04.2007, 00:53
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Данная тема мусолится еще с 2003 года. В моей компании по определенным соображниям надо выкладывать для скачивания файлы с их оригинальным именем. Мною был переписан движок 2.2 (а затем и 2.3). Был добавлен новый тип поля - файл пользователя. Если в шаблоне указыается поле с данным типом, то файл не переименовывается и закачивается в оригинале, если файл уже есть, то подставляется цифровой индекс. Данные наработки несколько раз отсылались в НетКет - толку от этого ноль.

Все закончилось тем, что кому требовалось такая вещь - скачивали мои скрипты и ставили их как патч... но, обновлять систему с таким вот патчем - гемор.

Посему, я и ща предлагаю сделать данный механизм. Пусть конечный юзер сам решает как ему файлы хранить...

Temet nosce...
11.04.2007, 02:25
gdsn
Goodsign

Зарегистрирован:
2006-03-13
Сообщений: 113

+1 в поддержку последнего оратора. За свободу выбора!

www.goodsign.ru
198 196 2009-02-03 01:40:25 8362
Страницы: 1  |  2  |  3
Описание проекта