Перейти к публикации

UnitDev

новички
  • Публикации

    13
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    1

Сообщения, опубликованные пользователем UnitDev

  1. 4 часа назад, celsoft сказал:

    Я написал что делать

    Ну конечно, 10 минут никак не реагировать на странице загрузки файлов, призывая пользователя подумать о том что всё повисло и закрыть вкладку, это хорошая реализация.
    Сразу видны мировые практики.

    4 часа назад, celsoft сказал:

    Ничего подобного. Проблемы всегда одинаковы при нестабильной связи. И этот способ никак не увеличивает и не уменьшает проблем. Он вообще никак не влияет на проблемы в случае проблем со связью.

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

    4 часа назад, celsoft сказал:

    Если связь оборвалась, то она оборвалась, и DLE тут ничем не поможет, т.к. именно с ним оборвалась связь, потому что независимо от способа, все идет в любом случае через DLE и связь обрывается с DLE. Ваш Cloudflrae прерывает связь именно с DLE.

    Вы смешали и CloudFlare, и примонтирование FTP как путь в никсах, чего в моём сообщении не было.

    4 часа назад, celsoft сказал:

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

    Ну вот, от S3 одни проблемы, а вы так яростного его защищаете, что отказываетесь от нормальной реализации при FTP варианте, в угоду своему S3.
    А потом на форуме и появляются темы "у меня забит весь диск непонятно чем и как мне его почистить", а всё оказывается проще, DLE просто мусор за собой не удаляет, а потом и вовсе не сможет уже этого сделать, потому что мусор в перемешку с живыми файлами.

    4 часа назад, celsoft сказал:

    Я всегда был честен и откровенен со своими пользователями, за это меня кто то любит, кто то ненавидит, поэтому и сейчас буду с вами откровенен. Любой бесплатный продукт обладает рядом преимуществ и большим рядом минусов, платные продукты это тоже набор преимуществ но и также и минусов. И например это относится именно к минусам платных продуктов. Платный продукт должен быть хорошим, стабильным, качественным, но так, чтобы всегда в нем было что делать. В противном случае завтра будет нечего продавать. И банально будет нечего есть программистам и людям которые его делали. И это факт, так работает коммерция и сожалению она по другому не работает. Именно поэтому люди идут покупать Iphone 15 ))), не потому что это новый идеальный продукт которого не было ранее, а потому что это слегка переделанный и немного улучшенный относительно прошлого с самыми минимальными и скромными изменениями. Если сегодня сделать сразу то что больше нельзя улучшить, изменить и сделать немного лучше, то завтра уже будет нечего продавать. Поэтому никто далеко не дурак, как может показаться на первый взгляд.

    Т.е. вы признали что держите пользователей за дурачков? Можно сделать функционал сразу и потом уже к нему не возвращаться, а делать огромную кучу другого, чего до сих пор нет в DLE, а так вы просто имитируете бурную деятельность, в одной версии функционал ввели, в другой переменную добавили, в третьей добавили условия для переменной, это всё можно сделать сразу, и не возвращаться уже к данному функционалу, а делать следующие пожелания. А так список обновлений на 50 пунктов, из которых одна функция размазывается на 3-10 пунктов, что бы казалось что работы было проделано больше. И это не работает на пользу продукту, это наоборот тормозит его развитие, именно по этому вы со скрипом вводите в DLE то, что там уже как лет 10-15 должно быть, и то что у всех давно уже есть. В одной из версий вдруг ужаснулись например тому как выглядят личные сообщения и сказали что в следующей версии обновите раздел, и лет через 5-10 мы увидим обновление раздела, но вместо того что бы сразу скопировать лучшие практики интернета с того же телеграма, вы будете добавлять по одному-двум новым тегам, по одной-двум новым функциям в рамках новой линейки DLE. Я прекрасно понимаю что всё предусмотреть сразу нельзя, но уж основные переменные и условия к ним растягивать на 2-3 линейки DLE, это уже как то слишком, сейчас же не начало 2000-ых, что бы так медленно всё делать, и дистрибуция не на дискетах и дисках.

     

    4 часа назад, celsoft сказал:

    Безусловно иногда какие то вещи и делаются потому что потом впоследствии понимается, что первоначальная реализация была неверной и опыт показал что лучше делать по другому и добавить или изменить что то. Но также зачастую что то умышленно оставляется на потом, и это не далеко не дописывание или доработка, это было изначально заложено в этот план. И даже когда нам что то приходится сегодня переделывать чтобы сделать еще лучше и удобней, т.е. как вы выразились поменять код ради кода, то для нас это тоже плюс, потому завтра мы это сможем продать. Видите, я с в вами откровенен. Я бы хотел сразу создать что то идеальное, потом ничего не делать и просто получать деньги, только потому что я раньше очень много и круто сделал. Но так к моему великому сожалению не работает. Людям просто как воздух требуются всегда изменения, и только тогда они готовы за это платить, а иначе не заплатят, а DLE это коммерческий продукт со всеми его плюсами и минусами платных продуктов.

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

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

    Размазывание таких вот мелочей на кучу версий, это как минимум вождение пользователей за нос, зачем им покупать, если это можно и самим добавить за 2 минуты? Хотят тут конечно контингент такой, которому проще купить.

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

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

  2. 23.09.2023 в 19:20, kamensk сказал:

    Ну так закажите аффтору доработку - до желаемого вами "до логического завершения функционал"... Или вы за халявой пришли?

    Мне например магазин не нужен. А тем кто заинтересован - вступит в конструктивный диалог с разработчиком. На текущий момент, я вижу вполне завершенную работу продукта по созданию базового магазина. Думаю - ставить задачу делать из ДЛЕ породию битрикса -это бесмысслено.

    Потому что то, что сделал разработчик не логично, разделить цифровые товары и физические на два модуля.
    Это как минимум странно.

    Его просили сделать физические товары у старого модуля, он выпустил зачем то новый, причём насколько я понял (может конечно не прав), они вроде как делают одно и тоже, только для разных типов товаров.

  3. 24.09.2023 в 21:57, celsoft сказал:

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

    Если это единственный способ заливать крупные файлы с CloudFlare, то что поделать то?
    Ну либо как наиболее нормальный вариант который большинство и использует, переносить файлы порционно по крону, тогда это вообще в фоне будет работать и это самый быстрый вариант для пользователя.

    24.09.2023 в 21:57, celsoft сказал:

    Нет, нужно быть обьективным, а не только думать о себе. А именно принципом: Я не пользуюсь S3, значит никто не пользуется, а также я пользуюсь дешевым тарифом Cloudflare и нет возможности увеличить таймаут, поэтому замедлите процесс загрузки в десятки раз на FTP для всех  и прочее.

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

    24.09.2023 в 21:57, celsoft сказал:

    На все личные ограничения или желания, всегда есть такие же личные реализации и адаптации, но это не значит что это нужно тут же делать для всех в коробочной CMS. Например тот же внешний сервер можно на уровне OS примонтировать к системе при помощи того же FTP протокола, и он для OS будет как локальный диск, папку куда DLE загружает также можно на уровне OS примонтировать к этому диску. И все, вот у вас и загрузка по частям как вы хотите на ваш внешний диск, делается легко и просто путем не хитрых манипуляций настроек OS.  А не непонятная интеграция на уровне DLE, с замедлением всех, всего и вся и не работающее на других хранилищах. Решения всегда нужно пытаться делать оптимально а не пойми как.

    Это не практично, потому что при разрывах или нестабильной связности, проблем будет гораздо больше, чем плюсов от такого решения.
    Нужно что бы фасовкой файлов занимался именно DLE, и корректно обрабатывал различные возникающие ошибки, которые могут быть во время заливки файла, а не просто обрыв связи, отвал примонтированного пути и битые файлы в последующем. Кстате говоря, сейчас DLE даже не складывает файлы во временную директорию на удалённом хранилище с переносом потом уже файла по нормальному пути, и если загрузка объёмного файла завершается ошибкой, мы получаем файл который лежит там мёртвым грузом, и DLE его никак не очистит. Для кусков чанков вы сделали очистку от мусора, а вот о таком варианте развития событий почему то забыли.

    20 часов назад, celsoft сказал:

    Конечно. Потому что в любом без исключения хорошем продукте, всегда решения принимаются не на основе комментариев и желаний отдельных пользователей, и не пользователи решают, а за них решают, и делается это потому, что пожелания отдельных людей, это всегда разброд и шатание, и всегда один хочет одного, другой другого, и каждый думает только за себя и про себя. В отличии от нас, когда нам не важно что хочет один или другой, для нас важнее что получиться в итоге для всех, и как это будет применимо в максимально разных сценариях у абсолютно разных людей с разными желаниями. И так поступает любая компания с любым продуктов, которые добились хоть какого либо успеха в итоге. А не только DLE и нас это касается. И это по моему убеждению самый правильный подход.

    Это порождает код ради кода...

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

  4. 23.09.2023 в 07:03, celsoft сказал:

    Операцию "append" т.е. добавить можно только локально. С внешними хранилищами так не пройдет. То же S3 протокол этого не позволяет. Поэтому частями дополнять внешний файл нельзя.

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

    23.09.2023 в 07:03, celsoft сказал:

    На FTP нет скриптов, и по FTP скрипты не выполняются в принципе. Немного все иначе, но не важно.

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

  5. 13 часов назад, GoldSoft сказал:

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

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

  6. 21.09.2023 в 19:00, celsoft сказал:

    Да будет. По разному. Зависит от хранилища и зависит как файл загружается. Не всегда он поступает в DLE. Если поступает в DLE например с компьютера, то посчитает DLE, если например с внешнего сервера по URL, то посчитается потом с хранилища и т.д.

    Т.е. будет скрипт на FTP хостинге который будет дёргать DLE?
    Нужно ещё что бы можно было остальные алгоритмы хеширования добавить легко плагином, а не жестко зашиваться сугубо под MD5.

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

    Ещё есть одна проблема которую заметил при тестах, если файл слишком жирный, то время его передачи с DLE на удалённое хранилище слишком большое, и если используется что то типо CloudFlare, то получаем истечение таймаута на ответ. Я бы всё таки подумал над возможностью складывания файла по кусочкам, так же как сделано с чанками, и информировать об этом клиент небольшими ответами, это позволит заливать объёмные файлы и не отказываться от CloudFlare и ему подобным. Других вариантов решения проблемы я особо не вижу.

  7. 21.09.2023 в 21:25, GoldSoft сказал:

    Глазки раскрываем и смотрим список обновлений. Хотя нигде и не прописано, что обновления это нечто обязательное. Модуль купило всего три человека.

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

  8. 19.09.2023 в 12:38, celsoft сказал:

    Это я ошибся. Согласен, просто немного в будущем живу. Эта версия еще не вышла, а только скоро выйдет. Прошу прощения.

    Всё таки будет исправлено?
    А как если не секрет? Подсчёт на стороне сервера где DLE? Скрипт на хостинге файлового хранилища?
    Надо понимать, либо доделывать до конца нормальную реализацию и много в чём переписывать код DLE, или всё таки коробочное решение устроит.

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

    19.09.2023 в 12:38, celsoft сказал:

    Это я ошибся. Согласен, просто немного в будущем живу. Эта версия еще не вышла, а только скоро выйдет. Прошу прощения.

    Ничем и то о чем идет речь к изображениям вообще не имеет никакого отношения.

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

  9. 23 часа назад, celsoft сказал:

    У вас видимо не актуальная версия DLE. Актуальная версия DLE подсчитывает md5 хеши и для внешних хранилищ тоже.

    Вы точно прочитали верно моё сообщение?
    То что вы считаете MD5 файлов на удалённом сервере по своему волшебному алгоритму, который с остальным миром не состыкуется, это проблема DLE, а не остального мира. Причём возможность нормального подсчёта хэша есть, просто вам лень было нормально это реализовывать.

  10. 14.09.2023 в 16:38, radrigo сказал:

    Всем привет.

    Место на хостинге поджимает, и встаёт вопрос, брать более дорогой хостинг, или же воспользоваться внешним хранилищем для файлов и изображений.

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

    Также хотелось бы отдельно узнать про платные подписки Облако Яндекса и Облако mail.ru. Они подойдут под хранилище загружаемых файлов и изображений?

    Заранее признателен всем за подсказку!

    Практичней всего любой хостинг/сервер с FTP и HTTPS.
    Но имейте ввиду, что DLE не правильно считает MD5 хэш файлов (и скрывает это везде), загружаемых на удалённое хранилище, и @celsoft не видит в этом ничего такого, для него всё в норме.

  11. 2 часа назад, celsoft сказал:

    Нужно просто уведомлять тех кто сверяет, по какому алгоритму нужно сверять.

    С каких пор у md5 вариации начались?
    md5 файла это не то же самое что md5 от размера файла.

    Пока файл собирается из чанков в /uploads/files/, когда он дособран, его можно посчитать там, хотя правильнее всего было бы посчитать уже после загрузки на удалённый хост, но для этого его нужно либо выгружать обратно для подсчёта, либо на стороне удалённого хоста уже разместить служебный php файл, но так как сделано сейчас, это именно баг, потому что никакого md5 файла не подсчитывается, и он может быть таким же битым, и иметь такой же размер, тем более что при отправки и разбиение на чанки, не производится высчитывание хеша файла на стороне клиента, и последующей  сверкой на стороне сервера.

  12. @celsoft
    Заметил особенность, что хеши не совпадают, если файл залит на удалённый хост.

    $size = DLEFiles::Size( $this->upload_path . FOLDER_PREFIX . $uploaded_filename );
    
    if ( $driver AND !DLEFiles::$remote_error ) {
    	$http_url = $config['remote_url'];
    	$md5 = md5( $size );
    } else {
    	$http_url = $config['http_home_url'] . "uploads/";
    	$md5 = md5_file( ROOT_DIR . "/uploads/" . $this->upload_path. FOLDER_PREFIX . $uploaded_filename );
    	$driver = 0;
    }

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

×
×
  • Создать...