<bgdev />free

Вход Регистрация

Идея за включване на атачнатите картинки в текста на съобщението
0

0 1 2
#1222 (ツ) johnfound
Последно редактирано на 28.07.2020 от johnfound, видяно: 2725 пъти.

Проблемът

Проблемът е, че когато се пише нов пост, то прикачените файлове все още нямат URL и по принцип URL-то им още не е възможно да се предскаже.

Затова е и невъзможно да се вмъкне таг за картинка/видео/mp3 в поста, сочеща към прикачения файл.

Заобикаляне

В момента заобикалянето на проблема става в две стъпки - създава се пост с прикачените файлове и след това се редактира този пост, като се вмъкват желаните медиа елементи с вече известните URL-та на прикачените файлове.

Идея за кардинално решение

В момента, URL-тата на прикачените файлове се създават на базата на ID-то на файла в таблицата в базата данни:

  /!attached/%FILE_DB_ID%

Идеята е да се направи втора схема на URL-то, базирано на MD5 сумата на файла:

  /!file/%MD5_SUM%

Тъй като MD5 сумата на файла е известна преди записа му в базата данни, то и URL-то ще е известно и ще може да се използва в непубликуван пост.

Алгоритъма го виждам така:

1. Когато един или няколко файла се посочат за прикачане в browse редактора, то техните MD5 суми се изчисляват с JS и се създават бутончета за всеки файл, които да вмъкват в редактора таговете за картинка/видео/аудио със коректното URL на файла по новата схема.

Единственото, което ме притеснява е, че подобни сметки могат да забавят значително работата на редактора и това би било тъжно.

Тука може да се опита и последният писък – webassembly.

2. Разбира се, в бакенда се имплементира поддръжката на новата схема на URL-то.

3. Готово. ;-)

Аз лесно ще направя точка 2. Обаче точка 1 е леко доста над възможностите ми в JS/WASM...

Моля за коментари, пропуснати моменти, възможни усложнения...

Също, ако решението се приеме за работоспособно, се търсят доброволци за т.1

#1224 (ツ) Elim Garak
Създадено на 28.07.2020, видяно: 2719 пъти.

според мен е хубаво уиа да работи и без джаваскрипт

#1225 (ツ) johnfound
Създадено на 28.07.2020, видяно: 2712 пъти.
Elim Garak

според мен е хубаво уиа да работи и без джаваскрипт

Добре е. Но целият UI принципно не може да работи без JS. Например тулбара в редактора на постовете. Или чата.

А основната функционалност си работи супер и без JS.

#1226 (ツ) Евлампи
Създадено на 28.07.2020, видяно: 2701 пъти.
johnfound

Проблемът

Проблемът е, че когато се пише нов пост, то прикачените файлове все още нямат URL и по принцип URL-то им още не е възможно да се предскаже.

Затова е и невъзможно да се вмъкне таг за картинка/видео/mp3 в поста, сочеща към прикачения файл.

Нещо не схващам на каква фаза е проблемът. В джаваскрипта ако имаш блоб с данните моеш да изплющиш измислено урл с createObjectURL

#1227 (ツ) Golden Gega
Създадено на 28.07.2020, видяно: 2699 пъти.

Вместо MD5 ползвай session id + identity на прикачения файл

#1228 (ツ) johnfound
Създадено на 28.07.2020, видяно: 2699 пъти.
Евлампи
johnfound

Проблемът

Проблемът е, че когато се пише нов пост, то прикачените файлове все още нямат URL и по принцип URL-то им още не е възможно да се предскаже.

Затова е и невъзможно да се вмъкне таг за картинка/видео/mp3 в поста, сочеща към прикачения файл.

Нещо не схващам на каква фаза е проблемът. В джаваскрипта ако имаш блоб с данните моеш да изплющиш измислено урл с createObjectURL

Честно си нямам на идея какъв точно URL създава това. Има се предвид, че URL-то трябва да е такова, че бакенда да го разбира и да връща нужния файл.

#1231 (ツ) stewie
Създадено на 28.07.2020, видяно: 2485 пъти.
Golden Gega

Вместо MD5 ползвай session id + identity на прикачения файл

Добра идея, но ако юзъра качи в същата сесия файл със същото име?

#1234 (ツ) Golden Gega
Последно редактирано на 28.07.2020 от Golden Gega, видяно: 2691 пъти.
stewie
Golden Gega

Вместо MD5 ползвай session id + identity на прикачения файл

Добра идея. Сесия, име на файл и големина в байтове. Не би трябвало да се повтарят.

под identity имам предвид поредния номер на файла в качените файлове за тая сесия

#1245 (ツ) Stilgar
Създадено на 28.07.2020, видяно: 2682 пъти.

Качваш файла, даваш му id (тоест URL), показваш. Това е.

#1263 (ツ) BIGBUGEX
Последно редактирано на 28.07.2020 от BIGBUGEX, видяно: 2676 пъти.
Stilgar

Качваш файла, даваш му id (тоест URL), показваш. Това е.

Просто и елегантно. Мислех сложни схеми всяко мнение да има собствена именна област като виртуална директория на сървъра. Но е значително по-просто да чистиш понякога локални адреси които не се срещат в мненията.

И другото нещо. Имената на файловете ги няма. Добре е да се помисли за генерирането на url като "!attached/33/ime-na-faila.ext".

#1278 (ツ) Дон Реба
Създадено на 29.07.2020, видяно: 2669 пъти.

не искам да ти давам такива идеи, но либераската цензура го е измислила вече - слагаш някакъв служебен таг за урл например #attachment001# или каквото там ти е най-лесно за парсване, който после ще се "цензурира" . когато юзера субмитне поста, бекенда виждайки "хейтспийч" го подменя с "новговор", в случая истинското урл, след като вече е качил атачмента разбира се. само да не почнеш после да ползваш същия механизъм за истинска цензура

#1279 (ツ) Дон Реба
Създадено на 29.07.2020, видяно: 2667 пъти.
Stilgar

Качваш файла, даваш му id (тоест URL), показваш. Това е.

за 99.9% от случаите няма да има проблем, обаче подозирам че в разни специални случаи ще дразни, например ако пиша пост офлайн. ще кажеш кой пише офлайн - може да не е нарочно, интернета спира примерно за малко, а ти не си усетил, пишеш си там, цъкаш субмит, файла още не е изпратен, става една каша. по добре транзакцията да е атомарна, а не на две части

#1281 (ツ) johnfound
Създадено на 29.07.2020, видяно: 2662 пъти.
Golden Gega

Вместо MD5 ползвай session id + identity на прикачения файл

Да, ама фронтенда не знае session id-то на юзера. И не ми се иска да го знае.

#1314 (ツ) Golden Gega
Създадено на 29.07.2020, видяно: 2647 пъти.
johnfound
Golden Gega

Вместо MD5 ползвай session id + identity на прикачения файл

Да, ама фронтенда не знае session id-то на юзера. И не ми се иска да го знае.

Еми прави както правят всички нормални платформи за уеб - прави си хеш или каквато щеш производна на session id и си я подавай на фронта, ако там искаш да я ползваш.

#1320 (ツ) johnfound
Създадено на 29.07.2020, видяно: 2641 пъти.
Golden Gega
johnfound
Golden Gega

Вместо MD5 ползвай session id + identity на прикачения файл

Да, ама фронтенда не знае session id-то на юзера. И не ми се иска да го знае.

Еми прави както правят всички нормални платформи за уеб - прави си хеш или каквато щеш производна на session id и си я подавай на фронта, ако там искаш да я ползваш.

А какъв е проблемът със MD5 сумата на файла, както е в началния пост? Тя вече си съществува в базата данни и е уникална без някакви специални танци.

#1322 (ツ) Courvoisier
Създадено на 29.07.2020, видяно: 2635 пъти.

Когато девица роди непорочно-заченат по пълнолуние във високосна година ще имаш колизия на MD5 и затова специалистите препоръчват SHA-2, SHA-3, или BLAKE2.

#1323 (ツ) Дон Реба
Създадено на 29.07.2020, видяно: 2633 пъти.

никакъв, ако се смята бързо от фронтенда, обаче там си с по-вързани ръце, жаваскрипт, това онова

#1325 (ツ) Golden Gega
Създадено на 29.07.2020, видяно: 2631 пъти.
johnfound
Golden Gega
johnfound
Golden Gega

Вместо MD5 ползвай session id + identity на прикачения файл

Да, ама фронтенда не знае session id-то на юзера. И не ми се иска да го знае.

Еми прави както правят всички нормални платформи за уеб - прави си хеш или каквато щеш производна на session id и си я подавай на фронта, ако там искаш да я ползваш.

А какъв е проблемът със MD5 сумата на файла, както е в началния пост? Тя вече си съществува в базата данни и е уникална без някакви специални танци.

Ми както си решиш, аз само давам предложение

#1327 (ツ) johnfound
Създадено на 29.07.2020, видяно: 2628 пъти.
Golden Gega
johnfound
Golden Gega
johnfound
Golden Gega

Вместо MD5 ползвай session id + identity на прикачения файл

Да, ама фронтенда не знае session id-то на юзера. И не ми се иска да го знае.

Еми прави както правят всички нормални платформи за уеб - прави си хеш или каквато щеш производна на session id и си я подавай на фронта, ако там искаш да я ползваш.

А какъв е проблемът със MD5 сумата на файла, както е в началния пост? Тя вече си съществува в базата данни и е уникална без някакви специални танци.

Ми както си решиш, аз само давам предложение

Това е ясно. Мисълта ми беше, че щом отхвърляш едното решение и предлагаш друго, трябва да имаш някакви причини. Нещо да не ти харесва в единият вариант и да ти харесва в другия. Това е което ме интересува.

#1355 (ツ) Stilgar
Създадено на 29.07.2020, видяно: 2617 пъти.

Чакам да ви видя кога ще дойдете на моето. Само да кажа, че преди съм минавал по тоя път.

0 1 2

Идея за включване на атачнатите картинки в текста на съобщението
0

AsmBB v3.0 (check-in: a316dab8b98d07d9); SQLite v3.42.0 (check-in: 831d0fb2836b71c9);
©2016..2023 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE