|
|
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
Привет народ! Вообщем тут встала задачка передо мной, раньше с таким не сталкивался. Для нее у меня пока два пути решения крутится в голове, посоветуйте на каком остановиться или может что нибудь оригинальное кто предложит. (Пишется все на ASP.Net 2.0 + SQLServer 2005) Задача в следующем: клиенты заказывают онлайн печать фотографий, загружают изображения на сервер, выбирают параметры печати, в тоже время если какая нибудь фотка не понраивиться клиенты могут ее удалить , удаление происходит как физически с диска так и с таблицы где пишуться записи о фотках. Вся проблема в том, что после того как клиент оплатит заказ и вдруг захочет сразу же удалить все фотки со своего ресурса (на это он имеет полное право), изображения не сможет загрузить оператор для их печати. Что можно сделать что бы этого можно было избежать? Я пока вижу выход в следующем, когда пользователь подтверждает оплату заказа, все фотографии в его заказе копируются в другое место на диске, откуда потом и будет забирать оператор для их печати, НО, я боюсь что эта процедура может затянуться по времени... Или же может пометить эти фотки в б/д какимнибудь флагом, типа заказаны но не приняты, и не давать пользователю удалять их? А если пойти по первому пути и все это повесить на хранимую процедуру которая и будет все это дело копировать, может быть в этом случае пользователь не заметит тормозов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 21:18 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
У вашего заказа просто должно быть поле - стадии обработки. И разрешать удалять только на определенных стадиях. При чем проверку лучше делать на клиенте. Хотя можно и на триггере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 21:28 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
Мне почему-то кажется, что если хапретить клиенту удалять фотографии, по которым есть, но еще не готов заказ, он не будет возмущаться... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 21:29 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
DeColo®esМне почему-то кажется, что если хапретить клиенту удалять фотографии, по которым есть, но еще не готов заказ, он не будет возмущаться... ;) Да, я стараюсь тоже придерживаться такого же мнения, не люблю ущемлять права пользователя. Так что, пока остается один выход это заниматься копированием файлов на диске и хотелось бы делать это все средствами сервера, т.е. после оформления заказа вызывается хранимая процедура и выполняет копирование файлов или все таки лучше сделать это средствами ASP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 21:35 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
TaffyУ вашего заказа просто должно быть поле - стадии обработки. И разрешать удалять только на определенных стадиях.Дополню, имхо, на стадии "заказ оплачен" должно быть возможно удаление с возвратом денег, на стадии "ушло в печать" удаление уже невозможно. Копировать, имхо, никуда не надо кроме как для технологических нужд, т.е. самой печати. Если печать невозможно в он-лайне связать с базой, то интервал времени от перехода в стадию "ушло в печать" до самой печати должен быть минимален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 21:47 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
CrvikВся проблема в том, что после того как клиент оплатит заказ и вдруг захочет сразу же удалить все фотки со своего ресурса (на это он имеет полное право), изображения не сможет загрузить оператор для их печати. Что можно сделать что бы этого можно было избежать? При оплате заказа ставить флаг "требуется для печати". При удалении фотографии проверять флаг и выставлять другой - "удалить когда будут напечатаны, а пока спрятать и нигде не показывать". Это самый простой путь вписаться в названные требования. Но вообще-то тут больше интересно, что делать по бизнесу - например, не нужно ли спросить клиента "может тогда удалить и из заказа тоже?" Или, допустим, дать клиенту выставлять флаг "удалить по завершении заказа"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 23:54 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
softwarer CrvikВся проблема в том, что после того как клиент оплатит заказ и вдруг захочет сразу же удалить все фотки со своего ресурса (на это он имеет полное право), изображения не сможет загрузить оператор для их печати. Что можно сделать что бы этого можно было избежать? При оплате заказа ставить флаг "требуется для печати". При удалении фотографии проверять флаг и выставлять другой - "удалить когда будут напечатаны, а пока спрятать и нигде не показывать". Идея впринципе неплохая, т.е. если я правильно понял, после заказа выставлять флаг "требуется для печати" для всех фоток и после того как клиент нажмет удалить эту фотку возводиться еще один флаг и после этого убрать эту фотку с глаз клента, а после того как оператор забрал удалять фотки с последним флагом. Млин, с одной стороны ничего сложного как кажется нету, а с другой стороны можно запутаться с этими флагами 8) softwarer Это самый простой путь вписаться в названные требования. Но вообще-то тут больше интересно, что делать по бизнесу - например, не нужно ли спросить клиента "может тогда удалить и из заказа тоже?" Или, допустим, дать клиенту выставлять флаг "удалить по завершении заказа"? Нет, пока насчет отмены заказа клиентом речи не шло, да и скорее всего не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 08:42 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
CrvikМлин, с одной стороны ничего сложного как кажется нету, а с другой стороны можно запутаться с этими флагами 8) Флаг - это условность. С тем же успехом флагом может выступать, например, ссылка на фотографию из позиции заказа или еще как. Главное - сначала нужно продумать сценарий, продумать, что должно происходить с точки зрения бизнес-логики. А потом подбирать технически удачную реализацию продуманного - не пытаясь подогнать бизнес-логику под "то, что я легко могу написать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 13:08 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
Taffy При чем проверку лучше делать на клиенте. Ну-ну, кстати. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 13:46 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
CrvikДа, я стараюсь тоже придерживаться такого же мнения, не люблю ущемлять права пользователя. Так что, пока остается один выход это заниматься копированием файлов на диске и хотелось бы делать это все средствами сервера, т.е. после оформления заказа вызывается хранимая процедура и выполняет копирование файлов или все таки лучше сделать это средствами ASP?Вообще-то я имел в виду - не давать удалять фотографии вообще. При чем тут ущемление "прав пользователя"? Вы же не показываете "неудаленные" фото другим ? А с точки зрения пользователя, с того момента, когда он передал фотографию, он не может быть уверен, что никто ее не будет использовать по своему усмотрению. Даже, если ее "удалили" - в нормальной базе все равно есть бэкапы системы, включающие и удалденные фото тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 14:03 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
DeColo®esВообще-то я имел в виду - не давать удалять фотографии вообще. При чем тут ущемление "прав пользователя"? Вы же не показываете "неудаленные" фото другим ? А с точки зрения пользователя, с того момента, когда он передал фотографию, он не может быть уверен, что никто ее не будет использовать по своему усмотрению. Даже, если ее "удалили" - в нормальной базе все равно есть бэкапы системы, включающие и удалденные фото тоже. Ну как же тут не идет речь об ущемлении прав пользователя, раз мы не даем право удалять их же фотографии? С точки зрения пользователя, он должен быть уверен, что фотография дойдет до точки пеати и будет распечатана, но как я могу это гарантировать если этот же пользователь после заказа сразу эе захочет поудалять эти фотки на своем ресурсе, что бы загрузить новые и сделать еще один заказ? Вот я и ущу оптимальный способ как бы это реализовать... DeColo®es Вы же не показываете "неудаленные" фото другим ? Дргуим , вы имеете ввиду другим пользователям, нет это протеворечит условиям проекта, или вы имеете ввиду публичные фотографии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 14:18 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
CrvikНу как же тут не идет речь об ущемлении прав пользователя, раз мы не даем право удалять их же фотографии? С точки зрения пользователя, он должен быть уверен, что фотография дойдет до точки пеати и будет распечатана, но как я могу это гарантировать если этот же пользователь после заказа сразу эе захочет поудалять эти фотки на своем ресурсе, что бы загрузить новые и сделать еще один заказ? Вот я и ущу оптимальный способ как бы это реализовать...С того момента, как пользователь передал куда-либо фотографию, он может быть уверен в одном - с ней могут сделать все, что угодно, даже если он нажмет кнопку "удалить" и ему "сделают вид, что все удалено". На самый крайний случай, фотографию можно отсканировать после печати и пользователь об этом даже не узнает. К тому же, Вы со своей схемой перемещения сами только имитируете удаление - ведь если удалять "по-честному", то нужно удалить везде, включае отправленные в печать файлы, да и из бэкапов тоже нужно удалять. Так что ни о какой "гарантии удаления" речи идти не может. А то, где именно хранится фото до момента печати - пользователю реальной разницы нет. Crvik DeColo®es Вы же не показываете "неудаленные" фото другим ? Дргуим , вы имеете ввиду другим пользователям, нет это протеворечит условиям проекта, или вы имеете ввиду публичные фотографии?Я не знаю, что значит "публичные фотографии" в Вашем понимании, а под "другими" - да, других пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 15:59 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
DeColo®esС того момента, как пользователь передал куда-либо фотографию, он может быть уверен в одном - с ней могут сделать все, что угодно, даже если он нажмет кнопку "удалить" и ему "сделают вид, что все удалено". ... А то, где именно хранится фото до момента печати - пользователю реальной разницы нет. Уважаемый DeColo®es, топик создавался с целью узнать какой метод лучше выбрать хранения фотографий до момента печати, а не о том что можно сделать с фотками клиентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 16:55 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
Crvikтопик создавался с целью узнать какой метод лучше выбрать хранения фотографий до момента печати Cкажу так: копирование не есть хороший метод. Это жутко расточительно. Хотя, конечно, при нулевой загрузке можно и так; просто это... непрофессионально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 22:43 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
softwarerCкажу так: копирование не есть хороший метод. Это жутко расточительно. Хотя, конечно, при нулевой загрузке можно и так; просто это... непрофессионально. Я, тоже уже начал склоняться к тому, что это не рационально.. Хотелось бы послушать профессиональное мнение, как бы вы поступили в данном случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 23:45 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
2 Варианта Вам уже предлдожили - либо не давать "удалить" до момента печати вообще, либо помечать, как удаленные. Я бы "не удалял" - клиенту возможно будет интересно посмотреть, что же именно у него находится в обработке. Причем увидеть картинку, а не просто DSC1290837.jpg А для удаления - сделать "галку": "Удалить после печати". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 08:49 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
softwarerФлаг - это условность. С тем же успехом флагом может выступать, например, ссылка на фотографию из позиции заказа или еще как. Главное - сначала нужно продумать сценарий, продумать, что должно происходить с точки зрения бизнес-логики. А потом подбирать технически удачную реализацию продуманного - не пытаясь подогнать бизнес-логику под "то, что я легко могу написать". Это утверждение - квитэссенция всего топика. Больше ничего можно не писать. Если до автора вопроса не дошло - то и бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 09:38 |
|
||
|
По какому пути лучше пойти?
|
|||
|---|---|---|---|
|
#18+
Программист-Любитель softwarerФлаг - это условность. С тем же успехом флагом может выступать, например, ссылка на фотографию из позиции заказа или еще как. Главное - сначала нужно продумать сценарий, продумать, что должно происходить с точки зрения бизнес-логики. А потом подбирать технически удачную реализацию продуманного - не пытаясь подогнать бизнес-логику под "то, что я легко могу написать". Это утверждение - квитэссенция всего топика. Больше ничего можно не писать. Если до автора вопроса не дошло - то и бесполезно. спасибо за помощь, именно за этим я и обратился, еще раз спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 20:25 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=104&tid=1543891]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 311ms |

| 0 / 0 |
