ОБСУЖДЕНИЕ

Счетчик

12 ответов 7,3 тыс.
AI-выжимка обсуждения скоро
Задача такова: нужно сделать счетчик просмотров на каждый документ., т.е. как на форуме: "данную тему просматривали N раз". Причем счетчик должен работать как в Вебе, так и в Лотусе

Как это лучше всего сделать?, чтобы не было разных конфликтов и ошибок...

Вариант, чтобы при открытии документа там в поле_счетчик срабатывал "+1", вроде не подходит! Будут насколько я понимаю конфликты...

Есть один вариант, это при открытии документа создавать документ (где будет занесено в определенное поле ID главного документа )
И так каждый раз на каждый документ....
Потом по расписанию работает агент, ... он считает сколько доков с ID_№1, и заносит(прибавляет) в поле этого документа, далее удаляет все левые документы, которые были созданы при открытии...
Т.е., пример:

Есть главный документ, в нем счетчик = 5
ID главного документа = N

За день этот документ открывали 10 раз. создано 10 левых документов, В каждом из этих документов есть полеID со значением "N"
Далее работает агент, находит, что количество документов со значением "N" равно 10, и прибавляет в главном документе в счетчик число 10, получается что док открывали уже 15 раз....

Надеюсь что идея ясна...
У кого какие есть замечания к этой идеи....
Может у кого-н есть другие мысли, может кто делал счетчик???????????
 
Почему не делать только 1 сторонний документ для каждого отслеживаемого, в котором и апдейтить счётчик?
Зачем нам новый док на каждое открытие?
 
Omh , вопрос конечно интересный, думаю профи подскажут ответ на этот вопрос...
Просто думаю создать новый документ будет быстрей, чем искать ранее созданный и добавлять к нему +1...И не факт что документ создан
Тем более я думал что агент будет удалять эти документы по расписанию

Также если 2 юзера откроют один и тот же документ, то может быть какой-н конфликт при изменении документа_счетчика
 
А потом база будет засерена делишен стабами по самое "не балуйся".

И меня терзают смутные сомнения, что при изменеии дока счётчика может появиться конфликт: там все действия достаточно быстры.
В крайнем случае можно систему локинга простенькую начирикать (использовать встроенную).

Лучше не лениться, апдейтить один и тот же документ.
Базе будет легче.
 
И меня терзают смутные сомнения, что при изменеии дока счётчика может появиться конфликт: там все действия достаточно быстры.
будут возникать. было такое при атоматическом нумераторе ( у меня )


а может в виде просто использовать @DocChildren - кол-во ответов и будет количеством просмотров... хотя канечно база будет "засрана"
 
А потом база будет засерена делишен стабами по самое "не балуйся".
думал над этим...

Если популярность БД будет не велика, то думаю ничего страшного...

А если наоборот, то думал создать какую-н левую БД, где будут хранится только эти документы
 
Morpheus
Ок.

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

Цитата отседа:
""...Domino воспринимает делишин стабы так же как и все остальные документы и при сёрче он их тоже проверяет на удовлетворение критериям отбора...""

Сам не проверял пока.
 
Выносим тогда эти документики-факты открытия в соседнюю простенькую базу и генерим их там.
ну и как продолжение мысли ,просто каждый Х минут агентом собираем данные о доках -фактах и заносим их в главный документ... простенькая база пусть очищаеться каждый день )))).. точнее ночь... часика в 2 например
 
думал создать какую-н левую БД, где будут хранится только эти документы
Выносим тогда эти документики-факты открытия в соседнюю простенькую базу и генерим их там.

Ну вот как я и думал...

Может есть еще какой-н другой вариант счетчика?
 
А остальное - разновидности в зависимости от того куда и как кропалить:
1. тек. док
2. сторонний док
3. профайл :)

Кмк, ничего принципиально нового не придумаеться...
 
""...Domino воспринимает делишин стабы так же как и все остальные документы и при сёрче он их тоже проверяет на удовлетворение критериям отбора...""

Хмм..... У меня в БД есть поисковик,.... т.е. если я не вынесу в отдельную БД, то мой поисковик начнет МЕДЛЕННЕЙ работать? Я правильно понял!
 
wowa
Ну это ещё надо проверить.
Т.к. источник не трастед :)

Но если это правда, то да.
 
для каждого документа (А) сделать документ счетчик(В) пусть там будет поле ID документа(А), для кот. он счетчик.
в основном документе будет поле -кол-во просмотров, кот берет значения из этого дока-счетчика,и поле, будет вычисляться через формулу при открытии, но не не сохраняется, да и зачем.
а за тем, чтобы не было конфликтых документов-счетчиков следим в программе, т.е. перед увеличением счетчика берем документ счетчик по ID документа(А), здесь также можем проверить их количество, за основу брать тот док, где значение счетчика выше, остальные убить
 

Статистика тем

Создано
wowa,
Последний ответ от
oxystile,
Ответы
12
Просмотры
7 336