Jump to content
  • 0

Lotus Domino для сайтов


gorinich
 Share

Question

18 answers to this question

Recommended Posts

  • 0
Всем привет.

Интересно, кто-нибудь здесь пишет сайты на IBM Lotus Domino?

Хочу услышать тех, кто пишет, вместо мнений, что это туфта или качественно невозможно.

Уверен, что никто из «местных» не пользуется. А вы пользуетесь?

Link to comment
Share on other sites

  • 0

да, вы правы, это groupware. а что, как не сайты, является групповым программным обеспечением? сайты для одного человека нам не интересны :)

я да, пользуюсь. все мои сайты являются базами данных Domino, даже самые простые. хотелось пообщаться об особенностях платформы.

Link to comment
Share on other sites

  • 0

соль это способ организации данных в домино: все, что необходимо для работы конкретной прикладухи, находится в едином файле. все формы, страницы, папки, таблицы, все графические элементы, скрипты, библиотеки. все данные, накапливаемые в процессе функционирования, находятся там же. то есть, взял файлик, скопировал на флешку, перенес домой, и все работает. для разработки сайтов удобным является поддержка таблиц стилей, ява и яваскрипт библиотек с некоторым редактором. также сильно упрощает жизнь использование подформ (шареный кусок формы; типа, сделали две html подформы (хидер и футер), рассовали по всем страницам, и меняем только в одном месте), шареные поля (в поля можем загонять пути к ресурсам, навигаторы, любые вычисляемые данные), шареные колонки таблиц, мультиязычные элементы (типа, создав две формы под одним именем, указав у одной русский язык, у другой албанский, сервер сам покажет ту форму, которая соответствует языковой настройке браузера посетителя). на таблицах очень легко и быстро можно организовать что-то вроде гостевой, блогораздела, комментирования страниц (всего, что требует постить инфу). авторизация и профилирование пользователей также делается элементарно. кроме прочего, у домино очень мощная почтовая часть, которая также является неотъемлемой частью сервера баз данных (каждый почтовый ящик пользователя это также база данных определенного формата). то есть, любой почтовый функционал, необходимый сайту (рассылки, уведомления, напоминания, вплоть до полноценных личных почтовых ящиков с веб интерфейсом для зарегистрированных пользователей) делается в два щелчка.

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

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

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

итого: домино - платформа многофункциональная. html это одна из множества его задач. основная задача домино - сервер не реляционных баз данных, на которой базируются все остальные задачи. насколько домино полнофункционален в качестве веб сервера не знаю, нет сравнительного опыта. здесь присутствуют айпишные листы, порты, восьмиуровневая система доступов с подключаемыми ролями, ssl3 (rc4, des), всевозможные переадресации, виртуальные домены и куча еще другого, мне хватает :). как почтовый сервер он полнофункционален точно. все это варится в одной кухне, использует одну структуру данных, объектов, единую среду разработки.

я совершенно не знаю, чем домино отличается от мускула, постгрейса, иис, вебсферы, аппач и всего остального. к моему искренне глубокому сожалению, я очень узкий специалист :(

Link to comment
Share on other sites

  • 0

Честно говоря, я всегда с подозрением отношусь к таким вот «универсалам». Да и что-то мне подсказывает, что если в большинстве случаев используют nginx (apache) + mysql (postgresql, oracle, mssql и прочие РСУБД) + postfix, то это чем-то обосновано. Если лотус своим выходом не «взорвал» аудиторию, то это значит, что ничего особеного он из себя не представляет. Да и, походу, платный. Я не утверждаю, что он плох, но почему-то все пользуются другим ПО — об этом следует задуматься.

Link to comment
Share on other sites

  • 0

вот мы и скатились к тому, чего я так хотел избежать (писал в первом посте). эта тема не о выборе платформы, и даже не о плюсах/минусах домино. я хотел найти разработчиков на этой системе для обмена опытом.

если вашу тему развить, то я согласен с предметной частью вашего поста, но не согласен с результативной. если домино так не популярен как веб платформа, на то действительно есть серьезные причины. однако, из этого не следует, что он ничего из себя не представляет. кстати, вы ошибаетесь, что он не взорвал аудиторию, в свое время взрыв был ошеломляющий. домино более двадцати лет, это единственная не реляционная база данных, дожившая до наших дней и успешно развивающаяся по сей день уже под флагом IBM (последний серьезный релиз был год назад). то, что из-за него фирма Лотус была куплена с потрохами АйБиеМом (замечу, не в состоянии банкротства), тоже что-то значит. я думаю, основное отсутствие популярности в вебе потому, что http для domino не основная задача. она была реализована в свое время как дань моде для расширения сферы влияния. поскольку даже сам производитель не заявляет о домино как о веб платформе, домино даже не рассматривается сообществом, как один из вариантов. к тому же, у IBM имеются продукты, более специализированные именно для веба, зачем ему внутрення конкуренция? думаю, здесь кроется корень не популярности. конечно, не стоит поднимать такую махину ради пары сайтов. для провайдеров это уже имело бы смысл, но не раскрученность платформы не даст достаточного количества клиентов (хотя у нас в киеве я знаю пару-тройку провайдеров с доминошной площадкой). идеальной платформой домино будет для каких-то масштабно-глобальных веб проектов. если проект базируется на множестве кластерных серверов, да еще если эти сервера находятся, скажем, в разных странах, если команда разработчиков сильно рассредоточена (всеядный механизм репликации/кластеризации домино является признанным лидером по этой части задач). тогда для реальных знатоков подобрать альтернативу будет уже не просто. по поводу прожорливости монстра, домино сервер у меня прекрасно живет на презентационном ноутбуке. согласен, для поддержки пары сотен тысяч зарегистрированных клиентов потребуется железяка помощнее :)

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

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

Edited by gorinich
Link to comment
Share on other sites

  • 0

я имею в виду, дожившая после битвы с реляционными. где-то в начале-середине девяностых реляционные монстры вытеснили все не реляционные. а их было не мало. удержался только лотус ноутс (так тогда назывался домино; позже название ноутс зафиксировалось за клиентом, который наделили автономностью, а сервер обозвали домином). сейчас уже свежая волна, и это здОрово. свято место пусто не бывает :)

Edited by gorinich
Link to comment
Share on other sites

  • 0

Здравствуйте, форумчане!

Есть БД на Lotus Notes. Подключаюсь к ней в PHP-скрипте через ODBC. В БД хранятся файлы *.doc и описания к ним. Необходимо вывести содержимое описаний и ссылки для скачивания файлов док.

Я организовал полный вывод содержимого БД:

$id_db = odbc_connect("test_db2", "user", "12345") or die( "Could not connect to ODBC database");
...
echo "<b>Все содержимое таблицы $table:</b><br>";
$query = "SELECT * FROM $table";
$result = odbc_exec($id_db, $query) or die("Couldn't execute query!");
odbc_result_all($result, "border='1'");

Проблема в том, что поле, где должен быть файл док, имеет при выводе значение NULL...

Прошу помощи! :)

Link to comment
Share on other sites

  • 0

вложения в базах домино возможны только в ричтекстовых полях. ричтекстовые поля не могут высвечивать свое содержимое в таблицах (вьюшках). также, если вы собираетесь получать доступ к вложенным файлам через веб, для вас файлы вообще не будут находиться в полях (точнее, все вложения из всех полей будут в едином системном поле '$File'). итого, чтобы решить вашу задачу, вам нужно в колонке таблицы, где вы выводили файлы вложений, прописать конструкцию ссылки на вложения. путь к вложениям выглядит следующим образом: "/"+@WebDbName+"/0/"+@Text(@DocumentUniqueId)+"/$file/"+@AttachmentNames

Edited by gorinich
Link to comment
Share on other sites

  • 0

Здравствуйте!

Уважаемый gorinich, спасибо Вам за столь быстрый и четкий ответ!

Если Вас не затруднит, не могли бы Вы подробнее описать конструкцию ссылки для вложения... Я новичок в работе с Lotus, для меня немного непонятно:

"/"+@WebDbName+"/0/"+@Text(@DocumentUniqueId)+"/$file/"+@AttachmentNames

-- @WebDbName -- это имя базы данных или id соединения к базе?

-- что означает "/0/"?

-- @Text(@DocumentUniqueId) -- это, как я понял, какой-то уникальный id документа-вложения... а как его получить?

-- что означает "/$file/"?

-- что означает @AttachmentNames?

Прошу прощение за непонимание :) . Заранее спасибо!

Link to comment
Share on other sites

  • 0

по порядку:

: "/" - отсекаем все текущие вложенные пути до доменного имени.

: @WebDbName - это полный путь к текущей базе данных при доступе через веб (безусловно, на домино сервере должна работать настроенная задача http. иначе, в наших манипуляциях вообще нет никакого смысла). пример: база данных расположена по пути 'C:\Program Files\Lotus\Data\Sites\files.nsf'. В этом случае функция @WebDbName вернет стринг 'Sites/files.nsf', что и будет веб адресом для открытия этой базы данных.

: "/0/" - это универсальное имя вьюшки (таблицы). веб путь к данным домино формируются следующим образом: [доменное имя]/[путь к базе данных внутри директории данных сервера]/[имя файла базы данных]/[вид или таблица, содержащая необходимый нам документ с данными]/[уникальный идентификатор документа или ключ из первой сортированной колонки]/[имя поля в документе]/[данные]. '0' - это системная таблица, содержащая все документы базы. она неявно присутствует во всех базах данных. из нее доступ к документу можно получить только по униду. ее можно перебить, явно создав вид с именем '0'.

: @Text(@DocumentUniqueId) - это уникальный идентификатор документа, представленный в виде текста (по умолчанию, идентификатор возвращается в виде объекта). как получить? вот так и получить :) функция его вам вернет. вообще-то, я написал готовую формулу. просто копи/пасте сделайте в колонку, и все.

: "/$file/" - имя поля, содержащее все вложения документа, это я писал в предыдущем посте.

: @AttachmentNames - эта функция вернет список имен всех вложений документа. поскольку этот список в нашем случае является одним из суммируемых текстовых значений формулы, на выходе мы получим список ссылок на все вложения одного документа (сложения списков в этом случае работают по такому примеру:

a + b;c + d;e;f = abd;ace;acf).

эту формулу следует разместить как значение колонки. тогда через ODBC вы достанете массив путей к соответствующим вложениям. можно в колонке сразу задать тег ссылки, чтоб потом меньше париться с обработкой полученных значений. например, так:

"<a href=\"/"+@WebDbName+"/0/"+@Text(@DocumentUniqueId)+"/$file/"+@AttachmentNames+"\">"+@AttachmentNames+" ("+@Text(@AttachmentLengths)+":)</a>".

тут появилась новая функция: @AttachmentLengths - числовой список размеров вложений документа в байтах. :angry:

Edited by gorinich
Link to comment
Share on other sites

  • 0

Здравствуйте!

ОГРОМНЕЙШЕЕ СПАСИБО за объяснение. Теперь хоть представление имею как оно там все хранится.

Но все еще есть вопросы...

"/"+@WebDbName+"/0/"+@Text(@DocumentUniqueId)+"/$file/"+@AttachmentNames -- эту формулу следует разместить как значение колонки. тогда через ODBC вы достанете массив путей к соответствующим вложениям

Эта формула должна возвратить мне массив, как я понял...

Я делаю следующее:

$collon = "file_att"; 
$MyStr = "/"+@WebDbName+"/0/"+@Text(@DocumentUniqueId)+"/$collon/"+@AttachmentNames;
echo "MyStr = ".gettype($MyStr); // это уже не срабатывает

Я пишу на PHP. Он вообще не реагирует на строку с формулой. И после этой строки скрипт уже не выполняется. Я так понимаю, что в РНР такие формулы не поддерживаются?..

Еще раз спасибо и прошу прощения за свое тотальное непонимание <_<

Link to comment
Share on other sites

  • 0

да, конечно. я ведь не о PHP говорил. я говорил о базе данных домино, эта формула для лотуса. в каждом сообщении я писал, что эту формулу нужно вставить в колонку таблицы вместо выводимых файлов. откройте вашу базу данных в лотус дизайнере, найдите там вашу вьюшку, в ней найдите колонку, где, как вы ожидали, будут выводиться файлы. и вместо того, что у нее там есть сейчас (я думаю, там указано поле, в которое вкладывались файлы), вставьте эту формулу. не забудьте изменить тип содержимого колонки с "поле" на "формула". код php вообще менять не нужно. у вас в лотусиной таблице проблема, а не в php. и менять в формуле ничего не нужно (типа, "/$collon/"). скопируйте и вставьте то, что я давал.

Link to comment
Share on other sites

  • 0

Я разработчик на IBM Lotus.. И WEB-интерфейс там делать достаточно легко и сайты и всякие порталы.

Но это выгодно, когда в компании есть внутренняя инфраструктура, завязанная именно на IBM Lotus и при этом нужно организовать "выход в свет".

Если вам нужно только для сайта - то ИМХО, лучше взять любой свободный движок на PHP. И хостинг найти проще, и сделать можно быстрее и даже лучше. Тот же Drupal в разы ускоряет разработку сайтов, иной раз превосходя самописы по удобству и качеству.

Edited by Softovick
Link to comment
Share on other sites

  • 0

Всем привет

я с лотусом вообще не работал

но у меня есть такая задача как сверстать рассылку писем на имейлы пользователей Лотуса домино 8.5.2

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

хотя бы письмо табличкой поддерживает? полные пути к картинкам ? и тд и тп

если не сложно ответьте плз

очень надо

Link to comment
Share on other sites

  • 0

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

хотя бы письмо табличкой поддерживает? полные пути к картинкам ? и тд и тп

Никаких сложностей. Если вы пишете на Lotus Script, то все, что поддерживает класс RichTextItem можно положить в тело письма.

Либо делайте письмо другими средствами и отправляйте через Lotus SMTP.

Если вам нужно только для сайта - то ИМХО, лучше взять любой свободный движок на PHP. И хостинг найти проще, и сделать можно быстрее и даже лучше. Тот же Drupal в разы ускоряет разработку сайтов, иной раз превосходя самописы по удобству и качеству.

Безопасность у лотус существенно выше. Да и CMS над лотусом есть, которые позволяют натянуть, и оперативно сменить любой дизайн.

Знаю несколько организаций, что перешли с Drupal на Lotus чтобы размещать контент самостоятельно.

В принципе, можно над ним любую апачевскую систему повесить и брать данные через AJAX.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy