Сайт на домине

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Вы в результате придете к автору вот этого
Рыдаю. Походу, автор ни $$SearchTemplateDefaul ни $$ViewTemplateDefault в школе не проходил, особенно тут
Сайты интернета вообще не настроены.
 
Последнее редактирование:
  • Нравится
Реакции: Domino-Designer

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
IP бывают разные и большинство, в современном мире временные или за NAT...
т.о. плавно подходим к теме кукисов и трекинга ;)

Ну это уже расширение функционала :) Начну с простого ip :)

Кстати, для того чтобы накормить пришлось содержимое css засунуть в профильный док, а затем в header его вставить. Зато 100/100 !
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Ну это уже расширение функционала :) Начну с простого ip :)
Все же лучше начать с удобного движка и контента, а аудитория, источники трафика, поведение, конверсии и все что даже не снилось уже давно есть в и Вебмастере на Яндексе. С профайлами еще та песня - легко возвращают данные из поздней реплики в новую.
 
Последнее редактирование:
30.05.2006
1 345
12
BIT
0
.. С профайлами еще та песня - легко возвращают данные из поздней реплики в новую.
Это ЕСЛИ в той реплике профайла НЕ было. При обращении к профайлу он СОЗДАЁТСЯ (пустой?), а при репликации "затаптывает" актуальный
 
  • Нравится
Реакции: NetWood

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Это ЕСЛИ в той реплике профайла НЕ было.
Так, да не так. Профайл есть в обоих репликах. Есть у меня агент по расписанию, который прописывает всяко-разно изменения и обновления доков вроде результата лога. Раньше писал это в профайл и оттуда доставал, но при РУЧНОЙ репликации с тестового сервака старые данные легко влетали в новый, который уже сто раз обновился на боевом сервере. Забил и сделал через док. В профайле оставил только Стоунхендж. Пишу РУЧНОЙ, потому что при автоматической репликации между серверами по расписанию такой проблемы нет. Хз.
 
Последнее редактирование:

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Я, вот, написал про профайл и понял в чем причина). Он же не док и дата его изменения равна дате изменения текущей реплики и любым изменениям в базе, соответственно профайл становится свежее той куда реплицируется. Из-за этого, при репликации, все что в нем было накатывается на то что есть. А на сервере все работало потому что обновлялось раньше и реплицировалось на актуальную.
 
30.05.2006
1 345
12
BIT
0
При любом обращении? @GetProfileField вызывает создание профайла?
Именно. Вы не знали???
[doublepost=1488058586,1488057835][/doublepost]
Я, вот, написал про профайл и понял в чем причина). Он же не док и дата его изменения равна дате изменения текущей реплики и любым изменениям в базе, соответственно профайл становится свежее той куда реплицируется. Из-за этого, при репликации, все что в нем было накатывается на то что есть. А на сервере все работало потому что обновлялось раньше и реплицировалось на актуальную.
Гм.. Это ДО v5 профайл был частью дизайна. В v6 это стало опцией, на выбор: дизайн/док-т.
Вплоть до 8.5 поведение профайлов было вполне предсказуемым.
Что не гарантировало от ошибок - по собственному недомыслию ЛИБО по подляне репликатора: на больших объёмах, в 8-ке (м.б. и в др.версиях, но к милионным базам мы пришли с 8-кой) рано или поздно филиальская реплика вдруг оказывается неполной - отсутствуют эл-ты дизайна, и/или док-ты. Иногда среди пропаж оказывается и профайл. И вот тогда...

По 9-ке у меня статистики нет, м.б. индусы там чего нового накрутили (говорят, бывает более одной ноты с тем-же UNID-ом)
 

rinsk

Lotus Team
12.11.2009
1 156
126
BIT
43
ИМХО под веб профайлы для динамических данных лучше не использовать. Тут и ограничения в 6 тыс, и непонятки с репликами и т.п.
Есть вариант быстрого чтения созданных через хеш доков - типа @GetDocField(@Middle(@Password("hash string"),2,32); fieldName ).
Создание через LS, типа: doc.UniversalID=Mid(Join(Evaluate(|@Password({|+me.hashstr+|})|)),2,32).
Через вьюшки при интенсивном обновлении будут тормоза...
Которые впрочем обходятся через live view refresh
 
Последнее редактирование:

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
ИМХО под веб профайлы для динамических данных лучше не использовать. Тут и ограничения в 6 тыс, и непонятки с репликами и т.п.
Есть вариант быстрого чтения созданных через хеш доков - типа @GetDocField(@Middle(@Password("hash string"),2,32); fieldName ).
Создание через LS, типа: doc.UniversalID=Mid(Join(Evaluate(|@Password({|+me.hashstr+|})|)),2,32).
Через вьюшки при интенсивном обновлении будут тормоза...
Которые впрочем обходятся через live view refresh

Ну вот решение на первое время = отдельная база и getDocumentByUINID
 
R

romych2004

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

Поэтому и спрашиваю, у кого какой опыт есть
Ну я бы использовал FTSearchSorted
А рест клиент из экстеншн либрари(xpages) не подойдет? Создать 1 пейдж, кинуть туда 1 контрол.. А дальше работай с ним как хочешь.
В любом случае можно посмотреть как он работает, приложил, вдруг пригодится
 

Вложения

  • RestViewNavigatorFactory.txt
    26,5 КБ · Просмотры: 536

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Прикольно, что есть в лотусскрипте функция FTSearchSorted
Спасибо за инфу. В хелпе ее нет, по крайней мере на 8.5.3

Кстати, есть ли большой смысл перейти на 9ку, в плане веб-приложений?
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Есть вариант быстрого чтения созданных через хеш доков - типа @GetDocField(@Middle(@Password("hash string"),2,32); fieldName ).
Создание через LS, типа: doc.UniversalID=Mid(Join(Evaluate(|@Password({|+me.hashstr+|})|)),2,32).
Через вьюшки при интенсивном обновлении будут тормоза...
Хочется думать, что это хитрый способ получения содержимого чужого дока во вьюхе), но @GetDocField не работает же в колумнах. Или я что-то пропустил? Да же если так, то тормозить будет знатно, да. Я собираю во вьюх-док все необходимое заранее.
 

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Сделал функцию проверки ip на уникальность.
Код:
Private Function checkIp(section As String, ip As String, doc As NotesDocument) As Boolean
   Dim dtNow As NotesDateTime
   Set dtNow = New NotesDateTime(CStr(Now))
   Dim fieldName As String
   fieldName = "ip_"+section  
   Dim ipList As Variant  
   With doc
       ipList = .Getitemvalue(fieldName)
       If ipList(0) = "" then      
           Call .Replaceitemvalue(fieldName, CStr(dtNow.LSLocalTime)+"~"+ip)
       Else
           Dim i As Integer
           i = UBound(ipList)
           If i>900 Then i=900
           Dim a() As String
           ReDim a(i+1)          
           Dim j As Integer
           j = i      
           While j>=0
               Dim dtString As String
               dtString = StrLeftBack$(ipList(j),"~")
               Dim dt As NotesDateTime
               Set dt = New NotesDateTime(dtString)
               If dtNow.TimeDifference(dt)>1800 Then
                   j=-1
               Else              
                   a(j) = ipList(j)              
                   Dim flag As Boolean
                   If StrRightBack$(ipList(j),"~") = ip Then flag = True
                   j=j-1              
               End If          
           Wend      
           If Not flag Then
               a(i+1) = CStr(dtNow.LSLocalTime)+"~"+ip
           End If
           Dim ta As Variant      
           ta = FullTrim(a)
           Call .Replaceitemvalue(fieldName, ta)          
       End If      
   End With
   If Not flag Then checkIp = true      
End Function
 

rinsk

Lotus Team
12.11.2009
1 156
126
BIT
43
Хочется думать, что это хитрый способ получения содержимого чужого дока во вьюхе)
да не - это вариант применения этой вот штуки:
Изврат еще тот - но иногда помогает)
 
  • Нравится
Реакции: romych2004

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Изврат еще тот - но иногда помогает)
Не, изврат мне намедни приснился). Ставим на вьюху Аякс запрос типа $("hard").load("doUnid?readform&id=unid") с юнидом искомого дока, и волшебным образом получаем все, что так не хватало в <div id="hard"></div> хоть в .html. Ну а что! Должно работать. Правда, в логах doUnid будет в супер топе и как браузеры к этому отнесутся на больших вьюхах с таким батальоном запросов не проверял :). Вместо формы можно еще агент прикрутить или в строке вьюхи получить другую вьюху. Во!
 

rinsk

Lotus Team
12.11.2009
1 156
126
BIT
43
Вместо формы можно еще агент прикрутить или в строке вьюхи получить другую вьюху. Во!

Ну будет по 1-2 отрисовывать - по кол-ву XHR запросов одновременных в браузере)
Не - эта штука для другого - отказ от вьюхи.
Я на ней сделал под веб лочку доков. Ключ - ИД обьекта, хеш от ключа - UID дока.
 

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Есть в документе 10 картинок в в ричтекстовом поле, прикрепленные как аттачи.
Есть соответственно 10 стринговых полей, в которых указаны имена файлов этих картинок.

Вопрос, можно ли как то в лотусе сделать кнопку, по которой откроется новое окно в котором будут видны сами картинки.
То есть сделать предпросмотр этих картинок.

Причем, выгрузка на диск, формирование html странички не нравится, так как потом остаются на диске файлы.
Можно ли это сделать без выгрузки на диск, чисто в лотусе?

заранее благодарю
 
R

romych2004

Мне на ум приходит ток Pass-Thru HTML и попробовать вывести там img
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Есть в документе 10 картинок в в ричтекстовом поле, прикрепленные как аттачи.
Есть соответственно 10 стринговых полей, в которых указаны имена файлов этих картинок.
А не могли бы объяснить уважаемой публике, зачем эти 10 стринговых полей для хранения имен и чем не устраивает функция @AttachmentNames? А если будет 20 аттачей еще 20 полей добавите? Вот же в посте #10 я приводил конструкцию, которая выводит картинки. И в посте #2 как конвертить RT в HTML с картинками. Это вообще не читали?

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!