• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья Простой адаптивный лэндинг-пейдж на базе сервера Lotus Domino

Как-то получается, что ближе к зиме меня тянет на разработку и давно хотел сделать модный нынче лендинг-пейдж на Domino. Да и задачка подвернулась. И сделал...

Демо
Ссылка для скачивания шаблона без регистраций и SMS

Содержимое документа "О базе данных"
Возможности:
- База позволяет создать простой лэндинг-пейдж на основе адаптивного шаблона под устройство с любым разрешением.
- Автоматическое создание элементов лэндинга на основе документов базы Lotus Domino с подгрузкой сожержимого из RTF полей Notes.
- Форма обратной связи меню Contacts снабжена валидатором полей и простой числовой капчей с формулой в плейсхолдере.
- Можно подключать статические картинки из папаки на сервере h5-read-only\images или вложенные в документ Notes.
- Можно банить email на этапе проверки формы и отключать отправку почты настройкой документа Administration.
- В тестовом документе Elements указаны все примеры использования кода на странице.

Подключение:
- Убрать галочку Java Script в свойствах базы
- Скопировать папку h5-read-only со стилями и скриптами в \Lotus\Domino\Data\domino\html\h5-read-only
- Скопировать папку jquery в \Lotus\Domino\Data\domino\html\jquery
- Если база находится на сервере в подпапке Domino\Data\demo\readonly.nsf, то скипты и стили необходимо разместить в подпапку Domino\Data\domino\html\demo\h5-read-only и Domino\Data\domino\html\demo\jquery
- Дать себе доступ администратора в ACL и задать Default нет доступа. Anonymous должен иметь права доступа Автор для создания документов Feedback
- Цветовые стили лэндинга правятся в файле h5-read-only\assets\css\main.css
- Если не работает или появляются ошибки, то необходимо по HTML содержимому страницы проверить открытие всех .js скриптов и стилей в браузере на предмет указания правильных путей

Содержимое документа "Работа с базой данных"
Для пользователя Anonymous для WEB должен быть назначен доступ Автора.
Default нет доступа

Для удаления документов в базе необходимо иметь роль [Admin].
Управление этой опцией находится в 'Общей программе базы данных' Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)

1. Administration
- Можно выключить отправку почты из mail.box
- Задается адрес майлера для отправки почты и один или несколько email администратора для получения собщений с формы обратной связи
- Количество дней для агента удаления использованных капч

2. Homepage
- Настраивается меню и первый активный элемент страницы #about, котрый отображается всегда.
- Картинки можно загружать статикомиз папки h5-read-only\images или по ID документа базы.
- Содержимое RTF Body загружается на лэндинг.

3. Memo
- Можно добавлять и скрывать в черновик элементы меню, которые будут находиться между пунктами #about(About) и #feedback(Contacts).
- Порядок отображения пунктов элементов определяется полем Sort.
- Содержимое RTF Body автоматически загружается на лэндинг со всеми свойственными Lotus Domino преимуществами.
- На каждый элемент меню можно назначить баннер-картинку и ее ALT. Если поле с картинкой пустое, то баннер не загружается.
- Картинки также можно загружать статиком или по ID документа базы
- Можно скрыть DIV BOX блок аттачей картинок и документов от показа на веб в этом элементе
- Все добавленные в RTF поле Body картинки должны иметь в свойствах класс image.
- Для выравнивания картинки влево или вправо по тексту необходимы классы image left или image right.

5. Feedback
- Последний пункт элементов меню #feedback, который отображается всегда.
- Содержимое полей формы проверяется валидатором и отправляется на сервер. Неудачное прохождение капчи подсвечивается красным цветом.
- Сообщения, отправленные с формы Feedback, сохраняются в базе и отправляются на адрес администратора или копию на адрес email.
- В базе им можно назначить статус Close, Spam или Забанен. В статусах Забанен и Spam отправка сообщения с формы блокируется.
- При запрете отправки почты через mail.box в документе Administration будет соответствующее сообщение, что сообщение сохранено, но отправка почты запрещена.

Untitled5.png

Untitled2.png

Untitled1.png

Untitled3.png

Untitled4.png


Изменения основного шаблона html5up.net:
- В основной HTML код добавлен тег <base href= для облегчения адресации скриптов и стилей относительно сервера Lotus Domino
- Чтобы все имеджи и видео были резиновыми, в стили стили h5-read-only\assets\css\main.css напильником добавлены следующие инструкции:
Код:
/* Netwood set image max width to 100% */
img {
    max-width: 100%;
    height: auto;
    width: auto\9; /* ie8 */
}

/* Netwood embedded videos */
    .video embed,
    .video object,
    .video iframe {
        width: 100%;
        height: 400;
        min-height: 300px;
    }
- RTF содержимое доков базы подгружается нехитрой конструкцией из вьюхи (doMemoLoad)
Код:
<section id='menu30'>
<div class='image main' data-position='center'>
                                    <img src='0/F7B9FFDE972192B0432584D200337E8E/$file/black-hole-1920.jpg' alt='Black Hole' />
                                </div>
<div class='container'>
<div id='contentNT00000A46'><script>doLoad('#contentNT00000A46','0/F7B9FFDE972192B0432584D200337E8E #content')</script></div>
</div>
</section>


Думаю, подойдет как новогодний подарок здешним обитателям. Сделано в седьмом дизайнере без использования xPages. Enjoy!
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
Неугомонный)
И упёртый)
Гуд!
Шустро работает...
Переделаю своим деткам, если ты не против)
и... куда тебя вписать и в каком виде?...
 
Последнее редактирование:

NetWood

Lotus Team
17.04.2008
545
93
BIT
10
Шустро работает...
Переделаю своим деткам, если ты не против)
и... куда тебя вписать и в каком виде?...
Да оно летат. И нутрянка HTML не в пример хэпагам - жуть.
Благодарствую! Пусть учатся. В общем-то я не прогер. Я просто против победы маркетинга над здравым смыслом :).
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 947
609
BIT
244
давно хотел сделать модный нынче лендинг-пейдж на Domino
а какие задачи это должно решать? Я просто не сталкивался наверное...
е в пример хэпагам - жуть.
это смотря для чего их использовать ;) там же бэк, а здесь фронт
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
а какие задачи это должно решать? Я просто не сталкивался наверное...
это смотря для чего их использовать ;) там же бэк, а здесь фронт
Лендинг) жЭ
Продаём и рекламируем
Фигню всякую))))
И, типа, журнал. Глянцевый)
 
  • Нравится
Реакции: NetWood

NetWood

Lotus Team
17.04.2008
545
93
BIT
10
Небольшая помарка. Перезаливать темплейт лениво. На странице css/dovalidateform.css в базе нужно поменять строчку
.einput.error:focus, input.error:focus, select.error:focus, textarea.error:focus { border-color: #003399; box-shadow: 0 0 1px 1px #003399 inset; } /*цвет окантовки фидбека СИНИЙ*/
на
.einput.error:focus, input.error:focus, select.error:focus, textarea.error:focus { border-color: #4acaa8; box-shadow: 0 0 1px 1px #4acaa8 inset; } /*цвет окантовки фидбека ЗЕЛЕНЕНЬКИЙ, такой как в меню*/
 
  • Нравится
Реакции: alexas1

ToxaRat

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

VladSh

начинающий
Lotus Team
11.12.2009
1 788
157
BIT
92
А что такое "лэндинг-пейдж"? Земляные страницы? Или заземлённые?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 947
609
BIT
244
все руками - это... "не наш метод", надо прикручивать типа ;)
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
10
все руками - это... "не наш метод", надо прикручивать типа ;)
Руками там Homepage. Остальное сделали в восьмидесятых годах и потом подогнали jQuery.
мне всегда казалось что лендинг это статичная страница, зачем её в базу пихать?
OMG, дружище! Вы же хороший специалист, которых мало, а вопросы задаете как в Курилке на Зеленом.
Например, на базе этого шаблона можно сделать годное современное одностраничное портфолио на профильном сервере, чтобы найти хорошую работу.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
мне всегда казалось что лендинг это статичная страница, зачем её в базу пихать?
с какой такой радости "статичная"???
это продажно-рекламная площадка,
меняется товар, меняется реклама, меняются аннотации, новости-картинки-видео для привлечения-развлечения
это - Тематический Журнал
и управлять этим надо оперативно, что бы знающий о ресурсе народ приходил за новостями ежедневно
и всё это - укладывается в Лэндинг (визуальный формат подачи информации, вертикальная лента)
 
  • Нравится
Реакции: NetWood

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
с какой такой радости "статичная"???
это продажно-рекламная площадка,
меняется товар, меняется реклама, меняются аннотации, новости-картинки-видео для привлечения-развлечения
это - Тематический Журнал
и управлять этим надо оперативно, что бы знающий о ресурсе народ приходил за новостями ежедневно
и всё это - укладывается в Лэндинг (визуальный формат подачи информации, вертикальная лента)
меняется же не ежесекунджно?
что мешает отрендерить это в статичные файлы агентом и периодически обновлять?
 
  • Нравится
Реакции: VladSh

NetWood

Lotus Team
17.04.2008
545
93
BIT
10
что мешает отрендерить это в статичные файлы агентом и периодически обновлять?
Как человеку, знакомому с архитектурой Lotus Domino, мне этот вопрос понятен. Делайте. Никто не мешает. Но причем здесь тогда Domino. Ручками в Notepad можно слепить. Про репликацию, форму обратной связи и mail забыть.

Как человеку, лет двадцать профессионально занятому в сфере торговли, мне этот вопрос не понятен. Это просто работает на Domino стандартными общеизвестными способами без дорогостоящего надувания щек.
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
10
Ошибка в агенте Delete Old Captcha.
Надо строку
Set dc = db.Search({(Form = "Captcha") & @Modified < @Adjust(@Today; 0; 0; } & deleteDays & {; 0; 0; 0)} , Nothing, 0)
заменить на
Set dc = db.Search({(Form = "Captcha") & @Modified < @Adjust(@Today; 0; 0; -} & deleteDays & {; 0; 0; 0)} , Nothing, 0)
 
  • Нравится
Реакции: alexas1
Мы в соцсетях:

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