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

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Привет, совсем заморочился, прошу свежего взгляда на проблемку.

Задача вот какая. Сайт на домине. Причем хочется
1. Правильные урл из серии хост/раздел/документ для сео
Причем количество разделов произвольно.

2. Урл для создания секций сайта для отслеживания/рекламирования типа
хост/секция/раздел/документ
Причем количество разделов произвольно, количество секций хотелось бы произвольно.

3. Картинки в документе желательно задавать через импорт (чтобы пользователь видел итоговый результат)

4. На сайте необходимо иметь возможность сделать выборку данных

5. Сайт должен работать быстро.
============================================================

В общем, вот какие варианты:

Если отказаться от пункта 3 и вносить картинки как аттачи и как то ручками прописывать пути к ним, то есть отказаться от лотусового ричтекста, то задача решается по-моему прописыванием substitution типа

* ->/база.nsf/html?readform&key=*, где потом урл разбирается, вытаскивается из него ключ, ищется нужный док и отображается агентом wqo.
вид соотвественно тоже отображается агентом.
выборка отображается агентом с ftsearch

----------------------------------

А если не отказываться от лотусового ричтекста, то надо доставать сам документ
и пока пришел к таким substitution

хост/раздел/документ

/*/ -> /база/вид/*?OpenDocument
/*/$file/* -> /база/вид/*/$file/*
/*/*/ -> /база/вид/*~*?openDocument
/*/*/$file/* -> /база/вид/*~*/$file/*

хост/секция/раздел/документ

/s-*/*/ -> /база/вид/s-*~*?OpenDocument
/s-*/*/$file/* -> /база/вид/s-*~*/$file/*
/s-*/*/*/ -> /база/вид/*~*?openDocument
/s-*/*/*/$file/* -> /база/вид/s-*~*~*/$file/*

где s-* это секции типа s-1, s-2, s-...

в этом случае в документе есть несколько ключей, к каким секциям он относится, можно отображать лотусовый ричтекст, можно отображать виды - встроенными видами.

Но минус - надо всегда задавать секции в документе
-----------------------------

для выборки отображаются агентом с ftsearch

а также думал, может есть смысл закидывать данные на mysql и агентом вытаскивать выборку

----------------------------------------

Секции нужны по идее впереди, чтобы можно было использовать конструкцию base href, если виды не строить агентом. И в метрике потом будет четко видно где тусили посетители.

---------------------------------------------

ну и может у кого есть идеи, как пункт 3 реализовать без лотусового ричтекста

С одной стороны можно написать вставщик тэга картинки типа

Вид спереди<br><br>
<img src="/board-games/iq-link/images/iq-link-front.jpg" width=640 height=480 alt="Настольная игра 'Ай-Кью-Колечки', вид спереди.">

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


Еще уточню, что секции нужны для двух задач

а) отследить откуда пришел посетитель на сайт, например на контекстную рекламу от яндекса я назначаю секцию s-1 и все посетители тусят в этой секции не переходя на основной сайт.

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

Спасибо за внимание, что вы думаете об этом. Извиняюсь за сумбурный поток мыслей.
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
1. Все зачеркнуть (с)
2. Для SEO урл глубоко пофиг. Достаточно если встречается в нем слово, желательно слово?open. Все остальное прописывается в сложном поле $$HTMLHead (все мета, дескрипшоны и кейвордсы разные для каждой страницы, тайтлы) + хороший контент внутри.
3. Респонсы не нужны. Повязываете все полями Category1 Category2 Category3 CategoryN по количеству нужных "секций" и делаете по ним навигацию в меню.
4. Делаете форму для Notes и ее алиас для веба в которую натягиваете стили и html, например Person и PersonWeb|Person. Person редактируете только в Notes. PersonWeb показываете только на веб. Стилей и шаблонов в интернетах чуть больше чем дох... Много в общем.
5. Сложную навигацию на старших страницах делаете агентом через WQO по типу через заполнение HTML RT поля. Там еще шаблоны на codestore всякие посмотрите.
6. Сразу учите AJAX и JSON, поскольку с ними реально проще и потом все перепахивать будет сложно и дороже. JQuery - это наше все.
7. Откуда зашли определяйте входными параметрами без заморок.
8. По п.3 есть один хак в домино: если картинку вставлять в RT поле не файлом, а крупом из документа PDF, то на вебе она всегда будет иметь расширение типа такого
"<img src="pages/iso7380/sPictures/0.84?OpenElement&FieldElemFormat=gif" - его можно выводить вьюхой все имеджи из одного поля. Но это гиморно, рукопашно и я отказался в свое время. Юзаю для вывода RT поля во вьюху.
9. И помните НИКОГДА, СЛЫШИТЕ, НИКОГДА не скрывайте RT поля галочкой в свойствах текста 'Скрывать от WEB или по формуле' - сразу убирайте в вычисляемую подформу


Вид спереди<br><br>
<img src="/board-games/iq-link/images/iq-link-front.jpg" width=640 height=480 alt="Настольная игра 'Ай-Кью-Колечки', вид спереди.">
Ну кто так пишет(с)! <div class="imgstyle" id="imgboard">...</div> <script>$("#imgboard").load("doViewForm?ReadForm");</script>
 
Последнее редактирование:

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Спасибо за расширенный ответ!

по пункту 2 - структура урла имеет значение, сам гугл об этом пишет
тем более, если не гемороится с секциями, как писал выше, то простые web rule substitution сделают красивые урлы

пункт 3 секции в моем случае - как бы клоны сайта, иногда с урезанным контентом.

пункты 4,5 согласен

пункт 6 - query лучше dojo?

пункт 7
секции в моем случае - как бы клоны сайта, иногда с урезанным контентом, и поэтому надо чтобы посетитель как зашел в секцию, так в ней и сидел все время, не уходя на основной сайт и другие секции. Таким образом получается либо признак все время тащить в урле, либо его запихивать в куки. Куки могут быть отключены, хотя наверное это бывает редко.
С друой стороны, если в урле стоит номер секции, то в статистике, группируя по секции сразу видна посещаемость в разрезе секций и основного сайта. Зачем это нужно, например дал рекламу на какой нибудь ресурс, и все ссылки ведут в секцию s-5
и сразу сколько с ресурса зашло, сколько страниц посмотрело, сколько заказов заказали.

пункт 8
Подскажите, что конкретно делает агент, не совсем понятно, там много описаний.

Пункт 9 -можно ли подсказать почему так?
-------------------------------------------------------------------

В общем все упирается в хранение и отображение картинок

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

========================================================

Может кто то подскажет, можно ли сделать такое

в текстовом поле, есть такой текст

Вид спереди<br><br>
<img src="/board-games/iq-link/images/iq-link-front.jpg" width=640 height=480 alt="Настольная игра 'Ай-Кью-Колечки', вид спереди.">

можно ли по кнопке отобразить в лотусе форму, может в диалоговом окне, которая отобразит в виде html вышеуказанный текст и покажет картинку (картинка лежит в собственно в текущем документе)
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
1.пункт 6 - query лучше dojo?
2.Пункт 9 -можно ли подсказать почему так?
3.Возможно агент из пункта 8 позволяет достать содержимое рт поля с импортированными картинками, текстом, табличками и форматированием и получить в виде стринга html, который можно вставить в некое поле и отобразить под веб?
1. Это вопрос религии. Под jQuery написаны тонны кода.
2. Потому что будет несусветно глючить (галочку снимете, а поле не видно, например) и подформа - это правильно. Галочка только для текстов. Почему именно так - это вопрос к индусам :).
3. Имеено так. Достается содержимое РТ поля с картинками и таблицами и раскладывается на HTML в респонсdoc. Также в него можно вставить отдельный HTML разделяемый специальными тегами, например <!$HTML><font color=red>Красный Текст</font><!/$HTML>. Я в него вставляю код с ютуба.
 
Последнее редактирование:

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
отрендерить все странички заранее - потом по правильно ссылке сразу показывать нужный HTML
создайть правильный редирект и тогда даже *.nsf не будет
все картинки выложить в папку домино - и тогда их путь максимально короткий и без /$FILE
ещё и попутно пройтись по ним pngout / jpegoptim / jpegtran - дабы уменьшить в размере
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
создайть правильный редирект и тогда даже *.nsf не будет
все картинки выложить в папку домино - и тогда их путь максимально короткий и без /$FILE
Я пользуюсь правилом замены в серверном документе настройки сайтов интернета URL to URL. Может еще другие способы правильные есть?
Картинки в папке домино статиком быстрее, да, но тогда про @Attachments и @AttachmentNames можно забыть, а они во вьюхах очень помогают.
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
вот этого я вот совсем не понял - а зачем?
в чём смысл?
Допустим, у вас есть тысяч десять-пятнадцать разномерных и разноименных картинок, которые надо выводить по доку во вьюхе. К одним прикручивать lightbox плагин, а к другим нет. Я плохо себе представляю как это сделать из статика. А так мы их просто собачим:
CSS:
.usinglayer {
    border: 1px solid grey;
    padding: 2px;
    vertical-align: center;
    margin-bottom: 4px;
}
.usinglayer img{
    border: 1px solid grey;
    background: url(loading4.gif) 50% no-repeat;
    width: auto;
    height: 75px;
    margin: 2px;
}
.usinglayer img:hover {
  border: 1px solid red;
}
Код:
Link := "0/" + @Text(@DocumentUniqueID);
att:=@AttachmentNames;
nImg := @Trim(@Transform(att; "xn";@If(@Contains(xn;".jpg")&!@Contains(xn;"img.":"thumb.");@Text(xn);@Nothing)));
usingview := @If(@Elements(nImg)>0;@Implode(@Sort("<a rel='lightbox' title='"+Title+"' href='"+Link+"/$File/"+nImg+"'><img src='"+Link+"/$File/"+nImg+"'></a>");"");@Nothing);
usinginfo:= @If(@Elements(nImg)>0;"<div class='usinglayer'>"+usingview+"</div>";@Nothing);
Эта конструкция позволяет выделить из общего списка аттачей в доке необходимые картинки, показать их превьюхи высотой 75px отмасштабированные по ширине и запустить плагин lightbox раскрытия в полный размер.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Допустим, у вас есть тысяч десять-пятнадцать разномерных и разноименных картинок, которые надо выводить по доку во вьюхе. К одним прикручивать lightbox плагин, а к другим нет. Я плохо себе представляю как это сделать из статика. А так мы их просто собачим
вы меня не поняли

я против любого динамики вообще - если страница не меняется, или меняется редко, почему ЗАРАНЕ не отрендерить её на сервере один раз и потом сразу всем показывать статику? - такой себе док с одним полем(группой полей) содержащих HTML и показывающийся как есть

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

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

вот о этот гугле я говорю -
подаёте ему любую свою страницу и выгребаете всё - они в этом плане молодцы, такой инструмент дали

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

уже не говорю про автолинковки и авто анализ текста и картинок - согласно SEO
 
  • Нравится
Реакции: Gandliar

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
464
я против любого динамики вообще - если страница не меняется, или меняется редко, почему ЗАРАНЕ не отрендерить её на сервере один раз и потом сразу всем показывать статику? - такой себе док с одним полем(группой полей) содержащих HTML и показывающийся как есть
для этого есть фронтэнд и кэширование в браузере
а наступать себе на причинное место и осуществлять доп. работу - мягко говоря - овеинжениринг
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а наступать себе на причинное место и осуществлять доп. работу - мягко говоря - овеинжениринг
зато каков результат - сам потом сидишь и думаешь "ну как оно на таков го..не работать то может?" :D:D:D
 

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
вот о этот гугле я говорю -
подаёте ему любую свою страницу и выгребаете всё - они в этом плане молодцы, такой инструмент дали

Спасибо!

Может подскажете, как на сервере указать для лотусовых картинок/файлов

а ведь пишет используйте кэш, как это бы указать срок действия?

хост/files/q.png (не указан срок действия)
хост/files/style.css (не указан срок действия)

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

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
хост/files/q.png (не указан срок действия)
JavaScript:
function _doGenerateRandom(n) {return randomnumber=Math.floor(Math.random()*n)};
var rnd= _doGenerateRandom(1000000000);
хост/files/q.png?open&r=rnd
И при чем здесь Lotus Domino, казалось бы...

Весь этот статический замес, наверное, хорош для сайтов с манускриптами из Библиотеки Имени Ленина. В реалии просто хочется сказать, а напуркуа? Хотя круто, да :))))
 
Последнее редактирование:

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Это не тот срок

важно чтобы передавался срок действия для кэширования! чтобы сервак не тянул неизмененные объекты

 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
464
а ведь пишет используйте кэш, как это бы указать срок действия?
вот для этого и ставят фронт - кот. сам рулит кэшем, по указанной конфигурации, а домина может делать динамику ;)
 

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Вобщем настроил домину, чтобы передавала expires. Теперь браузер кэшит картинки и css. Теперь осталось не забыть при изменении css менять имя файла :) Но меняется это все редко

Лотус сила!

Большое спасибо ТохаРэт, который направил мысли в нужную сторону :)

По новому сайту пока добился 91/97 баллов для мобильных/компа
По старым заметно поднял :)
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Вобщем настроил домину, чтобы передавала expires. Теперь браузер кэшит картинки и css. Теперь осталось не забыть при изменении css
Тоже сделал .
Domino-rules-for-Leverage-browse.gif

Для css можно отдельное правило сделать. Попробовал у себя на сервере сделать правило для *.jpg*, *=jpg*,*.gif*, *.png* и , но коллективное не взлетело. Разделил на отдельные /*.jpg* и картинки стали с expiries.
 
Последнее редактирование:
Мы в соцсетях:

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