Lotus Sandbox

NetWood

Lotus team
17.04.2008
372
18
#1
Поскольку нехорошие дяди на IBM песочницу закрыли, а хорошие выложили для скачивания и дали ссылку база была скачена и изучена.
Ахтунг 1.6Gb в архиве!

В ней какие-то кривые руки испортили WEB поиск. Как настоящих джедаев нас такая ситуация не устраивает никак, особенно на таком объеме полезных данных. Починим.

Начнем с установки. По умолчанию база открывается по web линку как хост/ldd/sandbox.nsf Если вы записали ее в другую папку, то сделайте сопоставление Url to Url /ldd/ to /ваша папка/ . Это во вью сервера кнопочка есть. И протрите стекла te http restart. Теперь все "левые" урлы будут на правильном пути :) Кстати это способ позволяет скрыть .nsf базы в урле вообще, но надо делать дизайн сразу под это, иначе потом исправлять муторно.

Далее чиним поиск с заглавной страницы. По непонятной причине на форме Download Page отсутствует поле $$Return. Создаем его скрытым от WEB, также как SaveOptions=0
в $$Return пишем
Код:
REM {If nothing to search for return to search form!};
@If(@Trim(Query)=""&@Trim(SearchQuery)=""; @Return("[/"+@WebDbName + "/DownloadPage?OpenForm]");"");

SearchView:="Search";

CritBasic:=@If(Query=""; ""; @URLEncode("Platform";Query));
CritSubject:=@If(Subject="";""; "[Subject]co(\""+@URLEncode("Platform";Subject)+"\")");
CritPseudo:=@If(Pseudo="" | Pseudo="null";""; "[Pseudo]co(\""+Pseudo+"\")");

CritDateBegin:=@If(DateBegin="";""; "[Created]>="+DateBegin);
CritDateEnd:=@If(DateEnd="";""; "[Created]<="+DateEnd);

CritCat:=@If(Category="";""; "[Category]co(\""+@URLEncode("Platform";Category)+"\")");

Crit:=@Implode(@Trim(CritBasic:CritSubject:CritPseudo:CritDateBegin:CritDateEnd:CritCat); "+AND+");

"["+@WebDbName+"/"+SearchView+"?SearchView&Query="+Crit+"]"
Далее в табличке ищем кусок HTML с полем text и картинкой поиска. По сабмиту там стоит newchecksearch() которое нигде не находится. Можно это заремить или удалить вовсе. Джедайское поле для поиска должно иметь имя Query. Там вставляем кусок HTML
Код:
<script>document.write(text_searchmaincriteria)</SCRIPT>
<br>[поле Query] 
<script>document.write("<INPUT TYPE=SUBMIT VALUE=\"Search\" CLASS=\"inputbutton\" STYLE=\"width: 20%\"")</SCRIPT><BR>
Индексируем песочницу и наслаждаемся поиском с заглавной страницы.

to admin/ Я не поместил этот пост в раздел FAQ потому что считаю его бесполезным. Этих разделов и так развелось много. Все равно все ломятся сюда. Хорошо что "для избранных" удалили...
 

NetWood

Lotus team
17.04.2008
372
18
#2
Далее. Стили этой базы грузятся напрямую с IBM :)
<link rel="stylesheet" type="text/css" href="//www.ibm.com/common/v14/main.css" />
<link rel="stylesheet" type="text/css" media="all" href="//www.ibm.com/common/v14/screen.css" />

Велика вероятность, что их тоже грохнут. Поэтому вкладываем их страницами с теми же названиями в дизайн базы и правим ссодержимое заголовка HTML форм. Фалики приложены.
"<link rel=\"stylesheet\" type=\"text/css\" href=\"main.css\" />"+@NewLine+
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"screen.css\" />"

Кстати поверхностное изучение дизайна наводит на мысль по какой причине ее грохнули. Уж слишком там много надо править под новые маркетинговые концепции, слишком много написано "линейно", а время дороже. Проще грохнуть и всех в эклипс.
 

Вложения

hosm

* so what *
18.05.2009
2 442
6
#3
офф(потом почищу): тему закрепить тут хоть дашь?))) а то вот я ща, например, не могу себе позволить на ноут скачать гиг базы и потом править - нет тут ни лотуса, ни лишнего места.

Добавлено: просто я вот только что боялась, что тема вообще потеряется, даже скопипастила и продублировала себе...
 

NetWood

Lotus team
17.04.2008
372
18
#5
В общем отремонтировал что можно. Поиск работает во всех формах. Немного поправил нафигацию. Факультативно восстановил камменты к топикам и создание топиков.

Выложить все это возможности пока нет ибо провайдер меня по головке не погладит, а шаблон дам правленый как есть. То бишь надо будет скачать базу по ссылке, накатить на нее шаблон и пользоваться. Для начинающих на WEB пойдет в самый раз. Всякие новомодные Xpage там не используются и я сам не пользуюсь.

Приаттачил шаблон. Многое там на скорую руку. Для новых постов была форма /ldd/sandinbox.nsf/websub?openform&login, но она похерена вообще <_< - слепил из того что есть. Такое впечатление, что перед тем как базу "выпустить" на нее накатили какой-то старый шаблон. Урезанный.

Йо. Стили не поправил - забыл - так и грузятся с IBM, но зато почикал агрименты эти дурацкие. Теперь сразу кнопочка download активна.
 

Вложения

NetWood

Lotus team
17.04.2008
372
18
#6
По состоянию на октябрь 2012 года мне известна одна ссылка на старый Сандбокс на банане. http://www.bananahome.com/ldd/sandbox.nsf/...adPage?OpenForm
Там по-прежнему не работает поиск :( по базе.

Исправляем это недоразумение линком на Lotus Sandbox 1999-2007 с работающим поиском!
Бонусом открыт секретный линк IBM Only
 

NetWood

Lotus team
17.04.2008
372
18
#7
Прибрался немного. Теперь песочница будет доступна по постоянному адресу domquery.info

Кстати, там есть справа тизер Resources. Если у кого есть туда желание добавиться по теме или разместить полезный линк - велкам.
Абсолютно безвозмездно -_-
 
10.06.2008
21
0
#8
Прибрался немного. Теперь песочница будет доступна по постоянному адресу domquery.info

Кстати, там есть справа тизер Resources. Если у кого есть туда желание добавиться по теме или разместить полезный линк - велкам.
Абсолютно безвозмездно :)

Спасибо тебе огромное!
 

NetWood

Lotus team
17.04.2008
372
18
#9
По случаю юбилейного десятилетнего закрытия песочницы
Для просмотра контента необходимо: Войти или зарегистрироваться
:), задумал я обновить его каким-нибудь вкусным шаблоном и, заодно, оживить здешнюю прикрепленную ветку. И получилось у меня Demo сайта под Lotus Domino с адаптивным и мобильным дизайном с примером автоматической подгрузки ричтекстового содержания наподобие Твиттера и Вконтактика.

Untitled10.jpg .

Demо доступно по адресу
Для просмотра контента необходимо: Войти или зарегистрироваться

About this Demo
Для просмотра контента необходимо: Войти или зарегистрироваться

About this Demo Design
Для просмотра контента необходимо: Войти или зарегистрироваться

About this Lotus Domino Template
Для просмотра контента необходимо: Войти или зарегистрироваться

Скачать шаблон базы со всеми потрохами можно из вкладки Download меню
Для просмотра контента необходимо: Войти или зарегистрироваться
.

Подробнее об этой базе
Наткнулся я как-то на Хабре на
Для просмотра контента необходимо: Войти или зарегистрироваться
и решил его портировать на платформу Lotus Domino. Сама статья с адаптивным дизайном немного лохматого 2011 года, но актуальность имеет и по сей день. Заодно, захотелось повысить свои скилы и разобраться как это все работает, тем более что с шаблонами сайтов на Domino с современным дизайном в интернете ситуация обстоит чуть лучше чем никак. В процессе работы над шаблоном Остапа понесло и кроме web дизайна на базу Domino были натянуты примеры работы с любимым мной jQuery и еще много всякого вкусного. Xpage я не понимаю, также как не работаю в эклипс-монстрах Notes 8 и Notes 9. Считаю, что все это прекрасно можно заменить, например на jQuery, тем паче, что примеров по нему в интернетах более чем достаточно…

Итак, что же получилось:
1. Пример работы сайта под Lotus Domino с адаптивным и вполне современным кругленьким дизайном на экранах с разным разрешением.
Для просмотра контента необходимо: Войти или зарегистрироваться
. Некоторые элементы дизайна были допилены по ходу дела.
2. Пример
Для просмотра контента необходимо: Войти или зарегистрироваться
по сайту. Для работы поиска базу надо проиндексировать в Notes. Количество найденных страниц склоняется на русском языке, например: 1 страница, 5 страниц, 22 страницы.
3. Известно, что Lotus не умеет выводить содержимое RichText полей во View, поэтому сделан пример конвертации RT поля в HTML и показа оного в представлении -
Для просмотра контента необходимо: Войти или зарегистрироваться
.
4. Подключен jQuery и в представлении View by Doc RT to HTML сделана динамическая подгрузка страниц через AJAX.
5. Решение по п.4 позволило пойти дальше и в представлении
Для просмотра контента необходимо: Войти или зарегистрироваться
сделана уже динамическая подгрузка в представление содержимого RichText поля наподобие Вконтактика или Твиттера. Все, что есть в RT поле – картинки, текст, таблицы,
Для просмотра контента необходимо: Войти или зарегистрироваться
— выводится совершенно без проблем. При прокрутке скролла мыши вы получаете бесконечную страницу, пока документы не закончатся. Пожалуй, это самый вкусный пример в этом шаблоне. Подробнее о нем вот
Для просмотра контента необходимо: Войти или зарегистрироваться
.
6. По ходу дела добавлен плагин FansyBox для показа раскрывающихся картинок в большем разрешении на
Для просмотра контента необходимо: Войти или зарегистрироваться
.
7. На стартовую страницу добавлен
Для просмотра контента необходимо: Войти или зарегистрироваться
, динамически подгружающий три разные картинки из документов со ссылками на эти страницы.
8. Небольшие удобства внутри базы для SEO контента вывода meta descriptions, keywords и проверки имени страницы базы на уникальность. База имеет сложное вычисляемое поле $$HTMLHead в общей подформе CommonFields для веб форм и загрузку Download последней доступной версии через скрипт с редиректом на форме. Линк берется из последнего документа Revision.
9. Формулы
Для просмотра контента необходимо: Войти или зарегистрироваться
с необходимым расширением и показом их количества или вывод как картинок, например, ембеднутые объекты в RT полях содержатся как аттачи и их надо отсекать.
10. Общий подход для разработки сайтов под Lotus Domino на примере разных форм и представлений для клиента Notes и WEB, который будет полезен для новичков и для опытных программистов как
Для просмотра контента необходимо: Войти или зарегистрироваться
.

В целом, получилась неплохая рыба Lorem ipsum dolor в виде базы webdesign.nsf для построения простых документальных сайтов под Lotus Domino с вполне современным адаптивным дизайном и удобными функционалом. Хочу обратить внимание, что я не профессиональный программист и все делалось из академического интереса. Как это будет работать на вашем мобильнике можете проверить
Для просмотра контента необходимо: Войти или зарегистрироваться
. Лицензия базы —
Для просмотра контента необходимо: Войти или зарегистрироваться
. Если кто захочет сказать спасибо, то это можно сделать при помощи волшебной кнопочки Donate в сайдбаре меню About :).

Enjoy!
 

Вложения

Последнее редактирование:

rinsk

Lotus team
12.11.2009
900
44
#11
5. Решение по п.4 позволило пойти дальше и в представлении
Для просмотра контента необходимо: Войти или зарегистрироваться
сделана уже динамическая подгрузка в представление содержимого RichText поля наподобие Вконтактика или Твиттера.
Круто - мне понравилось!)
Есть только заковыка в том, что при $.get("doMemoLoad?OpenView&start="+$('#loaded_max').val()+"&count=1", //Load RT Memo from
при $('#content').append(loaded)
в DOM документа пихается все с <html> по </html> вместе с <body> и т.п..
что некоторые браузеры могут не переваривать имхо.
 

NetWood

Lotus team
17.04.2008
372
18
#12
при $('#content').append(loaded)
в DOM документа пихается все с <html> по </html> вместе с <body> и т.п..
что некоторые браузеры могут не переваривать имхо.
Наверное это IE :). Испытывал на Фоксе, Опере, Хроме, Ондроеде и Ойфоне - все работает. Картинки большие, да. Могут не грузиться на плохой связи.
По IE пока не понимаю как прикрутить в html на форме загружаемый именно для него костыль типа
Код:
<!-- html5.js for IE less than 9 -->
<!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- css3-mediaqueries.js for IE less than 9 -->
<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->
Он из этого примера выпилен.
 

rinsk

Lotus team
12.11.2009
900
44
#13
Я просто выкусывал промеж <body></body> и вставлял в DOM. Было какая то проблема без этого с адресацией элементов там...
 
Симпатии: Понравилось NetWood

NetWood

Lotus team
17.04.2008
372
18
#14
Я просто выкусывал промеж <body></body> и вставлял в DOM
Спасибо за подсказку. Да, с выгрызанием боди будет правильнее. Переписал вот так и load и get. И подгружаться стало субъективно быстрее.
Код:
//Get only data body content in <body ...><form action="">content</form></body>
function getbodycontent(data,start,stop) {
    //alert(data);
    return data.substring(data.indexOf(start)+start.length,data.indexOf(stop));
};
$.get("doMemoLoad?OpenView&start=1&count=2",     //Load RT Memo from Lotus Domino View preloaded as function doAjax(id,url) in Form $$ViewTemplate for doMemoLoad
        function(data){      
        var $body = getbodycontent(data, '<form action="">','</form>');
            $('#content_load').append($body).fadeIn();    //Load content to id='content'
          }
    );
});
 
Последнее редактирование: