PC Magazine/RE - Журнал PC Magazine/RE №09/2009

Тут можно читать онлайн PC Magazine/RE - Журнал PC Magazine/RE №09/2009 - бесплатно ознакомительный отрывок. Жанр: Циклы, издательство ЗАО «СК Пресс»4cb82042-6c02-102c-b0cc-edc40df1930e, год 2009. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Журнал PC Magazine/RE №09/2009
  • Автор:
  • Жанр:
  • Издательство:
    ЗАО «СК Пресс»4cb82042-6c02-102c-b0cc-edc40df1930e
  • Год:
    2009
  • Город:
    Москва
  • ISBN:
    нет данных
  • Рейтинг:
    3.8/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

PC Magazine/RE - Журнал PC Magazine/RE №09/2009 краткое содержание

Журнал PC Magazine/RE №09/2009 - описание и краткое содержание, автор PC Magazine/RE, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Главный материал сентябрьского номера, обзор «Коммуникаторы: парад тенденций», адресован ценителям «подлинной мобильности».

«Массовые опросы, фокус-группы, анализ пользовательских предпочтений… Однако сделать аппарат, на который с готовностью набросилось бы большинство потенциальных пользователей, невозможно в принципе. Точно так же никакая реклама и пропаганда не спровоцируют массовый спрос там, где его не было. Предсказывать, где находится точка компромисса, можно долго и безуспешно. А вот отслеживать, кто и на каком направлении ищет компромисс, мы умеем.»


Также в номере:

Игры по сети WiFi: настройка маршрутизатора

В вашем доме завелся маршрутизатор. Более того, он здесь нужен. В стандартном режиме все хорошо, но… Если спросить любого сисадмина, как настроить маршрутизатор, он наверняка скажет: «Очень просто!». И (если в настроении) закатит лекцию часа на полтора с лирическими отступлениями и историями из жизни. А вам всего-то нужно было выяснить… Вот для тех, кому «для полного счастья» требуется узнать о маршрутизаторе какую-то сущую ерунду, и предназначена эта статья…

«Лента друзей»: разрабатываем компонент «1С-Битрикс»

Со временем эта статья может занять вполне достойное место в рубрике «Истории из истории», в особенности если автор в будущем вспомнит, на каких ошибках он научился тому, чему научился. Хотя в ней описан пример вполне конкретной разработки, здесь можно найти много поучительного и полезного и для других ситуаций…

В преддверии SaaS

Еще года полтора назад термин SaaS достиг такой популярности, что его уже используют в выступлениях и публикациях без расшифровки и специального объяснения. Но как часто бывает в ИТ-отрасли, термин всем хорошо знаком, а суть его покрыта туманом. Четкого представления о том, что обозначается термином SaaS и чем это отличается от не-SaaS, нет. Потому разговор о SaaS придется начать с разбирательства: что же это такое и чем данная модель отличается от предыдущих…

Журнал PC Magazine/RE №09/2009 - читать онлайн бесплатно ознакомительный отрывок

Журнал PC Magazine/RE №09/2009 - читать книгу онлайн бесплатно (ознакомительный отрывок), автор PC Magazine/RE
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
«Пользователь»

Из свойств объекта пользователя нас интересуют настройки, которые можно задать на персональной странице социальной сети в формах настроек приватности и прав доступа к блогам. Среди настроек приватности для нашей задачи важны два поля: «кто может смотреть друзей» и «кто может смотреть мои группы». Эти поля влияют на включение в ленту записей из блогов друзей и из блогов групп, в которых состоит владелец. Причем записи из блогов друзей или групп должны включаться только, если право на просмотр имеют все пользователи. Иными словами, если Иван зайдет на страницу «Ленты друзей» Петра, а Петр разрешает просмотр своих групп только друзьям, то Иван не должен видеть записи из блогов групп Петра, даже если между ними установлены дружеские связи (в соответствующем интерфейсе модуля «Социальная сеть»).

Рис 1 Формы настроек прав доступа объекта пользователь В настройках блогов - фото 101
Рис. 1. Формы настроек прав доступа объекта «пользователь»

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

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

«Группа»

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

Параметр «группа видима всем посетителям» должен учитываться при включении записей блога группы в ленты ее участников. В настройках блогов нас интересует параметр «кто может просматривать сообщения». От него зависит, войдут ли записи блога в ленты участников группы, причем они будут включаться только, если просмотр будет разрешен всем пользователям.

Идеи и принципы

Теперь подберем функции, которые будут использоваться для выборки записей блогов с учетом прав доступа и связей пользователей внутри социальной сети. Сначала выясним, не заложены ли в системе уже готовые решения, на базе которых можно сформировать «Ленту друзей» или хотя бы нечто похожее. Первое, что приходит на ум – если есть компонент ведения журнала событий, то нет ли в нем подходящих функций? Изучаем список свойств и методов (или код компонента) и видим, что для получения списка событий в нем используется функция CSocNetLogEvents::GetUserLogEvents():

CSocNetLogEvents:: GetUserLogEvents(int userID, array arFilter = Array());

Функция возвращает структуру, содержащую список событий социальной сети по фильтру arFilter. Параметр userID – идентификатор пользователя, в массиве arFilter сохраняется набор параметров для выборки данных из БД. Он имеет структуру вида:

array(«фильтруемое поле»=>"значение фильтра" [, ...])

где фильтруемое поле может принимать специфичные значения: ENTITY_TYPE (тип сущности социальной сети, U – пользователь или G – группа), ENTITY_ID – идентификатор сущности социальной сети, EVENT_ID – идентификатор инициатора события (сигнатуры blog, photo, forum или system), LOG_DATE_DAYS – количество дней для выборки журнала. Фактически количество дней ограничено временем жизни журнала (неделя), очистка выполняется агентом CSocNetLog::ClearOldAgent().

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

Во-первых, функция CSocNetLogEvents::GetUserLogEvents() работает только в контексте пользователя, а нам нужны еще и данные групп. Во-вторых, не передаются типы записей, т. е. записи добавления комментариев и сообщений ничем не отличаются друг от друга, идентифицировать их «по-человечески» не получится. Не возвращаются ID блогов и сообщений, а они нам нужны, чтобы сформировать ссылки. Время жизни записи «Ленты друзей» принудительно ограничивается агентом модуля (это поправимо, но требует вмешательства в обработку соответствующего события, чего делать не хотелось бы). Возможно, в будущих версиях «Социальной сети» разработчики «Битрикс» предпримут какие-то меры, но сегодня ситуация такова.

Рис 2 Формы настроек прав доступа объекта группа Поиск других подходящих - фото 102
Рис. 2. Формы настроек прав доступа объекта «группа»

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

Общая идея выглядит так. Для объектов типа «пользователь» мы получаем списки идентификаторов пользователей-друзей и идентификаторов групп, для сущности «группа» – список идентификаторов пользователей-участников. Далее из списков идентификаторов пользователей исключаем тех, чьи записи не должны войти в «Ленту друзей». Аналогично обрабатываем список идентификаторов групп. Какие именно записи из блогов не должны включаться в ленты, мы выяснили при разборе свойств объектов «пользователь» и «группа». На основе созданных списков пользователей и групп составляем списки идентификаторов блогов, извлекаем необходимые записи и передаем их в шаблон для вывода на Web-странице, откуда был вызван компонент.

Для получения списка записей в блогах будем использовать функцию CBlogPost::GetList(). На первый взгляд, больше подходит функция CBlogUser::GetUserFriendsList(), которая специально предназначена для формирования списка сообщений друзей пользователя, но, к сожалению, она опирается на связи пользователей внутри модуля блогов, а не социальной сети, а это значит, что она нам не подходит. Функция же CBlogPost::GetList() возвращает список записей, соответствующих заданному фильтру, с возможностью сортировки и разбивки на страницы.

Включение в «Ленты» записей собственных блогов (для группы или пользователя) будем рассматривать как необязательное. Для ускорения обработки запросов и уменьшения нагрузки на сервер информацию, независящую от конкретного обратившегося посетителя, будем кэшировать. Итак, основные входящие параметры:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

PC Magazine/RE читать все книги автора по порядку

PC Magazine/RE - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Журнал PC Magazine/RE №09/2009 отзывы


Отзывы читателей о книге Журнал PC Magazine/RE №09/2009, автор: PC Magazine/RE. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x