2012-06-13 9 views
1

На самом деле мне нужно подсчитывать количество посетителей для конкретного документа.Как найти счет посетителя документа?

Я могу сделать это, добавив поле и увеличив его значение.

Но проблема состоит в следующем.,

У меня есть 10 копий репликации в другом месте. Он реплицируется по расписанию. Так происходит конфликт репликации, потому что количество документов редактирует один и тот же документ в другом месте.

+1

Почему вы не берете обновленное поле? – Ramkumar

+0

Обновлено поле, мы можем получить только имя редактора. Но я должен отслеживать счет посетителя. –

ответ

1

Также я столкнулся с этой проблемой. Я не могу сказать, что это простое решение. Блокировка документов - единственное решение, которое я нашел. Но счет посетителя невозможен.

3

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

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

В противном случае, если хранение не требуется, обратитесь в Google Analytics.

0

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

Это может быть написано в LS, Java или @Formulas. Я постараюсь сделать это на 100% в @Formulas, чтобы сделать его максимально эффективным.

Вы также можете добавить логику для исключения чтения с того же самого пользователя или того же исходного IP-адреса.

База данных отслеживания затем реплицируется с использованием того же расписания, что и другая база данных.

Ежедневные или ежечасные агенты могут запускаться для создания сводных документов и удаления подробных документов, чтобы вы не превышали пределы для @DBLookup.

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

/Newbs

0

Назад в 90-е годы, у нас был клиент, который необходимо знать, что каждый человек прочитал документ без них, нажав на знак или что-нибудь.

Исходным решением было добавить каждое имя в текстовое поле отдельного документа отслеживания. Это столкнулось с проблемами, когда он получил более 32 000 реалов. Затем один из моих коллег понял, что вы можете просто создать документ для каждого пользователя, чтобы записать, что они его прочтут.

Возможно, у вас может быть одна база данных, используемая для отслеживания всех чтений для всех пользователей всех документов, поскольку один пользователь может открывать только один документ за раз - каждый раз, когда они открывают новый документ, либо добавляйте это значение к или создать поле, названное в честь документа, который они прочитали, на своем собственном документе «reader tracker».

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

На самом деле существует множество способов кожи этого кота.

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