Lotus Sandbox

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Поскольку нехорошие дяди на IBM песочницу закрыли, а хорошие выложили и link removed база была скачена и изучена.
Ахтунг 1.6Gb в архиве!

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

Начнем с установки. По умолчанию база открывается по 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
565
96
BIT
174
Далее. Стили этой базы грузятся напрямую с 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\" />"

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

Вложения

  • SandboxCSS.zip
    4,8 КБ · Просмотры: 360
H

hosm

офф(потом почищу): тему закрепить тут хоть дашь?))) а то вот я ща, например, не могу себе позволить на ноут скачать гиг базы и потом править - нет тут ни лотуса, ни лишнего места.

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

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
В общем отремонтировал что можно. Поиск работает во всех формах. Немного поправил нафигацию. Факультативно восстановил камменты к топикам и создание топиков.

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

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

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

Вложения

  • sandbox_ntf.zip
    442,9 КБ · Просмотры: 551

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
По состоянию на октябрь 2012 года мне известна одна ссылка на старый Сандбокс на банане.
Там по-прежнему не работает поиск :( по базе.

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

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Прибрался немного. Теперь песочница будет доступна по постоянному адресу

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

Xomyak

Member
10.06.2008
21
0
BIT
0
Прибрался немного. Теперь песочница будет доступна по постоянному адресу

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


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

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
По случаю юбилейного десятилетнего закрытия песочницы :), задумал я обновить его каким-нибудь вкусным шаблоном и, заодно, оживить здешнюю прикрепленную ветку. И получилось у меня 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!
 

Вложения

  • Untitled7.jpg
    Untitled7.jpg
    101,9 КБ · Просмотры: 735
  • Untitled8.jpg
    Untitled8.jpg
    85,3 КБ · Просмотры: 692
  • Untitled9.jpg
    Untitled9.jpg
    51,4 КБ · Просмотры: 349
  • Untitled11.png
    Untitled11.png
    41,5 КБ · Просмотры: 519
Последнее редактирование:

rinsk

Lotus Team
12.11.2009
1 156
126
BIT
45
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
565
96
BIT
174
при $('#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
1 156
126
BIT
45
Я просто выкусывал промеж <body></body> и вставлял в DOM. Было какая то проблема без этого с адресацией элементов там...
 
  • Нравится
Реакции: NetWood

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Я просто выкусывал промеж <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'
          }
    );
});
 
Последнее редактирование:

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Други!
Lotus Sandbox (1999-2007) - переехал на

Соответственно, демки:
 
Последнее редактирование:
  • Нравится
Реакции: lmike и rinsk
Мы в соцсетях:

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