2011-02-08 4 views
0

Как лучше всего представить родительские дочерние отношения, когда у ребенка есть свои собственные настройки, родительский имеет свой собственный, но родительский может перезаписать ребенка?Родительско-детские отношения для конфиденциальности фотографий альбомов

My usecase - это уровень конфиденциальности для фотоальбома. Каждый альбом и каждая фотография имеют уровень конфиденциальности. Так что если альбом = обычай, то каждая фотография может иметь другой уровень конфиденциальности. Но, конечно, если альбом настроен только на «друзей», тогда фотографии не могут быть общедоступными, поэтому любая открытая фотография перезаписывается на личную. Или если альбом настроен на «только сеть», друзья могут видеть его, но публика не может.

Я не уверен, обрабатывается ли это через логику приложения или через схему. Если через логику приложения мне нужен «ANY» colunm в этих таблицах для этого или это 100% сторона приложения?

ответ

0

У вас может быть иерархия разрешений, 0 - общедоступная, 1 - сетевая, 2 - друзья, 3 - самостоятельно. Оба альбома и фотографии будут иметь поле разрешений в базе данных, но разрешения для фотографий всегда должны быть> = разрешения для альбома, в котором они находятся. По умолчанию они будут равны разрешениям альбома.

Таким образом, у вас может быть только сетевой альбом с некоторыми друзьями и отдельными фотографиями.

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

+0

Ну, это нормально для сайта, такого как facebook, где конфиденциальность структурирована. У меня есть неструктурированная конфиденциальность, так как вы можете разрешать «друзьям друга», но блокировать своих друзей. Или разрешите только друзьям и друзьям, но заблокируйте своих друзей. Таким образом, существует сочетание структурированной и неструктурированной конфиденциальности + есть списки блоков. – Rohit

0

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

+0

Но мне все еще нужно хранить текущие уровни конфиденциальности в таблицах, которые я принимаю как Album = friends only, и также сохраняю уровень конфиденциальности для фотографий? – Rohit

+0

Да, альбомы и фотографии имеют уровень конфиденциальности - если установлен уровень конфиденциальности альбома, используйте его, в противном случае используйте уровень конфиденциальности фотографий. – Skilldrick

+0

Ok Позвольте мне рассказать об этом с моими уровнями конфиденциальности и посмотреть, как это работает. – Rohit

 Смежные вопросы

  • Нет связанных вопросов^_^