HCL® Connections (ранее IBM® Connections) — это социальное программное обеспечение для бизнеса. Это позволяет вам создать сеть коллег и экспертов в предметной области, а затем использовать эту сеть для достижения ваших бизнес-целей.
Вы можете обсуждать идеи, совместно работать над презентациями или предложениями, обмениваться фотографиями или файлами, планировать и отслеживать задачи проекта и многое другое. HCL Connections — это серверный продукт, развернутый во внутренней сети вашей компании или в IBM Cloud. Это мобильное приложение HCL Connections расширяет доступ к этому серверу для сотрудников, которые находятся в пути, прямо со своего устройства Android™. Администратор вашей компании также может безопасно управлять этим приложением с помощью политик на стороне сервера.
— Безопасно передавайте документы, презентации и фотографии своим коллегам с помощью файлов.
— Найдите экспертов в своей организации и создайте социальную сеть с профилями.
— Объединяйтесь с другими для достижения бизнес-целей через сообщества.
Зачем принимать бетаин-пепсин?
— Влияйте и делитесь своим опытом через блоги и вики.
— Получите все на одной странице с помощью закладок.
— Отслеживайте ход вашего проекта к успеху с помощью Activity.
— Делитесь новостями, ссылками и статусом в вашей сети в любое время.
Требуется Android 6.0 или более поздней версии.
Для доступа к серверу Connections вашей компании вам потребуется идентификатор пользователя и пароль, а также URL-адрес сервера. Приложение запросит у вас эту информацию.
Это приложение использует разрешение администратора устройства.
Источник: play.google.com
Использование HCL-конфигурации на примере создания задач в Jira. #2
Сразу оговорюсь, что основная цель статей — пополнить копилку знаний о том, как начать работать с описанием в формате HCL. Возможно это даст стимул для появления новых примеров работы со своим описанием в HCL.
Во-вторых, я не преследую цель показать как писать чистый код на Go.
И в третьих, дать какие-то глубокие объяснения и знания я то же не могу, так как до многих вещей дохожу методом проб и ошибок.
В первой части был показан упрощенный шаблон HCL. Начнем его усложнять и приближать к моим требованиям.
Для начала добавим новые поля, которые могут использоваться в моем случае при создании Issue
create «Task» < project = «AG» # required # required summary = «service_A // Обновить библиотеку Library_A до актуальной версии» # optional description = # и так еще штук 20, меняя service_A на названия других сервисов
Если немного доработать код из первой части, добавив новые поля в структуру и заполнение их в jira.Issue, то таким образом можно создавать по 20+ похожих задач. Но этот вариант имеет кучу неудобств. Поэтому будем улучшать.
Если сейчас запустить скрипт, то получим от парсера сообщения, что обнаружены новые поля:
HCL Software
Error: Unsupported argument on example.hcl line 10, in create «Task»: 10: app_layer = «Backend» # optional An argument named «app_layer» is not expected here. Error: Unsupported argument on example.hcl line 11, in create «Task»: 11: components = [«service_A»] # optional An argument named «components» is not expected here. Error: Unsupported argument on example.hcl line 20, in create «Task»: 20: team_lead = «user_B» # optional An argument named «team_lead» is not expected here. .
Поэтому доработаем структуру, добавив туда описание новых полей:
type config struct
Create: < < Type: «Task», Project: «AG», Summary: «service_A // Обновить библиотеку Library_A до актуальной версии», Description: «Нужно обновить библиотеку Library_A до актуальной версии.nПосле обновления проверить сервис на regressn», AppLayer: «Backend», Components: , SprintId: 100, Epic: «AG-6815», Labels: , StoryPoint: 2, QaStoryPoint: 1, Assignee: «user_A», Developer: «user_A», TeamLead: «user_B», TechLead: «user_B», ReleaseEngineer: «user_C», Tester: «user_D», Parent: «», >, >, >
Теперь перейдем к задачке с переменными. Чтобы каждый раз не вспоминать, как в Jira заведены сотрудники, и избежать опечаток, хочу сделать для них «алиасы», которые проще запомнить.
Способ 1
Самое первое, что приходит на ум, это захардкодить некоторые значения в коде.
Для объявления переменных в коде, в методе DecodeBody есть аргумент context, в котором можно объявить доступные для использования в шаблоне переменные и функции.
ctx := Variables: map[string]cty.Value< «name»: cty.StringVal(«Ermintrude»), «age»: cty.NumberIntVal(32), «path»: cty.ObjectVal(map[string]cty.Value< «root»: cty.StringVal(rootDir), «module»: cty.StringVal(moduleDir), «current»: cty.StringVal(currentDir), >), >, Functions: map[string]function.Function< «upper»: stdlib.UpperFunc, «lower»: stdlib.LowerFunc, «min»: stdlib.MinFunc, «max»: stdlib.MaxFunc, «strlen»: stdlib.StrlenFunc, «substr»: stdlib.SubstrFunc, >, >
message = «$ is $ $ old!» source_file = «$/foo.txt» message = «HELLO, $!»
Забегая вперед, скажу, что это нам пригодится. Поэтому придется познакомиться с библиотекой, которая занимается преобразованием типов zclconf/go-cty
Таким образом, можно попробовать захардкодить нужные нам переменные:
. ctx := Variables: map[string]cty.Value< «tester»: cty.StringVal(«jira_user_1»), «team_lead»: cty.StringVal(«jira_user_5»), «tech_lead»: cty.StringVal(«jira_user_5»), «release_engineer»: cty.StringVal(«jira_user_6»), «developers»: cty.ObjectVal(map[string]cty.Value< «Alex»: cty.StringVal(«jira_user_2»), «Igor»: cty.StringVal(«jira_user_3»), «Denis»: cty.StringVal(«jira_user_4»), >), «services»: cty.ObjectVal(map[string]cty.Value< «service_A»: cty.ObjectVal(map[string]cty.Value< «name»: cty.StringVal(«service_A»), >), «service_B»: cty.ObjectVal(map[string]cty.Value< «name»: cty.StringVal(«service_B»), >), «service_C»: cty.ObjectVal(map[string]cty.Value< «name»: cty.StringVal(«service_C»), >), >), >, > var root Root diags = gohcl.DecodeBody(f.Body, ctx, Task» < project = «AG» # required # required summary = «$// Обновить библиотеку Library_A до актуальной версии» # optional description = <
С полным описанием синтаксиса HCL можно ознакомиться здесь.
Create: < < Type: «Task», Project: «AG», Summary: «service_A // Обновить библиотеку Library_A до актуальной версии», Description: «Нужно обновить библиотеку Library_A до актуальной версии.nПосле обновления проверить сервис на regressn», AppLayer: «Backend», Components: , SprintId: 100, Epic: «AG-6815», Labels: , StoryPoint: 2, QaStoryPoint: 1, Assignee: «jira_user_2», Developer: «jira_user_2», TeamLead: «jira_user_5», TechLead: «jira_user_5», ReleaseEngineer: «jira_user_6», Tester: «jira_user_1», Parent: «», >, >, >
Работает, но не очень удобно.
Способ 2
Следующее, что мне пришло на ум в процессе написания программы, использовать переменные окружения. Добавить либо переменную env либо функцию env() в EvalContext.
Для простоты, пусть будет функция env. Смотрим, как реализованы функции в доке, например, upper, и делаем по аналогии.
var EnvFunc = function.New( Params: []function.Parameter< < Name: «env», Type: cty.String, AllowDynamicType: true, >, >, Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) < in := args[0].AsString() out := os.Getenv(in) return cty.StringVal(out), nil >, >) . ctx := Variables: map[string]cty.Value< «team_lead»: cty.StringVal(«jira_user_5»), «tech_lead»: cty.StringVal(«jira_user_5»), «release_engineer»: cty.StringVal(«jira_user_6»), «services»: cty.ObjectVal(map[string]cty.Value< «service_A»: cty.ObjectVal(map[string]cty.Value< «name»: cty.StringVal(«service_A»), >), «service_B»: cty.ObjectVal(map[string]cty.Value< «name»: cty.StringVal(«service_B»), >), «service_C»: cty.ObjectVal(map[string]cty.Value< «name»: cty.StringVal(«service_C»), >), >), >, Functions: map[string]function.Function< «env»: EnvFunc, >, >
Объявляем переменные в окружении:
export DEVELOPER_ALEX=»jira_user_2″ export DEVELOPER_IGOR=»jira_user_3″ export DEVELOPER_DENIS=»jira_user_4″ export JIRA_TESTER=»jira_user_1″
create «Task» < project = «AG» # required # required summary = «$// Обновить библиотеку Library_A до актуальной версии» # optional description = <
После обновления проверить сервис на regress DESC app_layer = «Backend» # optional components = [«$»] # optional sprint = 100 # optional epic = «AG-6815» # optional labels = [«need-regress»] # optional story_point = 2 # optional qa_story_point = 1 # optional assignee = env(«DEVELOPER_ALEX») # optional developer = env(«DEVELOPER_ALEX») # optional team_lead = team_lead # optional tech_lead = tech_lead # optional release_engineer = release_engineer # optional tester = env(«JIRA_TESTER») # optional >
Create: < < Type: «Task», Project: «AG», Summary: «service_A // Обновить библиотеку Library_A до актуальной версии», Description: «Нужно обновить библиотеку Library_A до актуальной версии.nПосле обновления проверить сервис на regressn», AppLayer: «Backend», Components: , SprintId: 100, Epic: «AG-6815», Labels: , StoryPoint: 2, QaStoryPoint: 1, Assignee: «jira_user_2», Developer: «jira_user_2», TeamLead: «jira_user_5», TechLead: «jira_user_5», ReleaseEngineer: «jira_user_6», Tester: «jira_user_1», Parent: «», >, >, >
С этим способом уже больше гибкости. Но, все равно не то, чего я ожидаю.
Способ 3
А что, если нам объявлять переменные в самом HCL, которые мы потом сможем использовать. Например, так:
variables < developers = [«jira_user_2», «jira_user_3», «jira_user_4»] tester = «jira_user_1» team_lead = «jira_user_5» tech_lead = «jira_user_5» release_engineer = «jira_user_6» services = [ < name = «service_A»>, < name = «service_B»>, < name = «service_C»>, ] > # и использовать их в шаблоне create «Task» < project = «AG» # required # required summary = «$// Обновить библиотеку Library_A до актуальной версии» # optional description = <
Error: Unsupported block type on example.hcl line 1, in variables: 1: variables < Blocks of type «variables» are not expected here. Error: Invalid index on example.hcl line 17, in create «Task»: 17: summary = «$// Обновить библиотеку Library_A до актуальной версии» The given key does not identify an element in this collection value. An object only supports looking up attributes by name, not by numeric index. .
Ок. Нам нужно объявить блок variables.
Дальше у нас снова развилка вариантов: описать доступные переменные либо сделать их динамическими. Выбираю второе.
Первая мысль, сделать так:
type Root struct
Но в этом случае мы обязаны всегда указывать блоки variables и create. Хочу по-другому, чтобы блок был необязательным, но пойдем по пути от простого к сложному.
Итак, добавляем описание структуры для variables:
type variables struct
Error: Invalid index on example.hcl line 17, in create «Task»: 17: summary = «$ // Обновить библиотеку Library_A до актуальной версии» The given key does not identify an element in this collection value. An object only supports looking up attributes by name, not by numeric index. Error: Unsuitable value type on example.hcl line 17, in create «Task»: 17: summary = «$ // Обновить библиотеку Library_A до актуальной версии» Unsuitable value: value must be known .
Ок, нужно как-то обработать блок variables, добавить из него переменные, после чего снова парсить, но уже блоки create.
Значит такая Root-структура нам не очень подходит. Попробуем другую (пришла в голову пока писал статью):
type VariablesBlock struct < Variables variables `hcl:»variables,block»` Remains hcl.Body `hcl:»,remain»` >type variables struct < Remains hcl.Body `hcl:»,remain»` >type CreateBlocks struct < Create []createConfig `hcl:»create,block»` >type createConfig struct
И попробуем реализовать идею: парсинг variables, наполнение контекста переменными, парсинг create.
parser := hclparse.NewParser() f, diags := parser.ParseHCLFile(filename) if diags.HasErrors() < renderDiags(diags, parser.Files()) return nil, diags >var variablesBlock VariablesBlock diags = gohcl.DecodeBody(f.Body, nil, renderDiags(diags, parser.Files()) return nil, diags >.
Смотрим в окне дебага, что получили:
Вроде то, что нужно. Пробуем дальше:
parser := hclparse.NewParser() . // объявляем контекст, чтобы были доступны env в блоке variables ctx := Variables: map[string]cty.Value<>, Functions: map[string]function.Function< «env»: EnvFunc, >, > // парсим блок variables var variablesBlock VariablesBlock diags = gohcl.DecodeBody(f.Body, ctx, renderDiags(diags, parser.Files()) return nil, diags >// так как variablesBlock.Variables.Remains имеет тип hcl.Body // и в блоке только атрибуты, чтобы их достать, используем метод hcl.Body.JustAttributes() variables, diags := variablesBlock.Variables.Remains.JustAttributes() if diags.HasErrors() < renderDiags(diags, parser.Files()) return nil, diags >// проходимся по переменным и добавляем их в контекст for _, variable := range variables < var value cty.Value // методом проб и ошибок, пришел к такому варианту получения значения с типом cty.Value diags := gohcl.DecodeExpression(variable.Expr, nil, return nil, diags >ctx.Variables[variable.Name] = value > var createBlock CreateBlocks diags = gohcl.DecodeBody(variablesBlock.Remains, ctx, main.CreateBlocks< Create: < < Type: «Task», Project: «AG», Summary: «service_A // Обновить библиотеку Library_A до актуальной версии», Description: «Нужно обновить библиотеку Library_A до актуальной версии.nПосле обновления проверить сервис на regressn», AppLayer: «Backend», Components: , SprintId: 100, Epic: «AG-6815», Labels: , StoryPoint: 2, QaStoryPoint: 1, Assignee: «jira_user_2», Developer: «jira_user_2», TeamLead: «jira_user_5», TechLead: «jira_user_5», ReleaseEngineer: «jira_user_6», Tester: «jira_user_1», Parent: «», >, >, >
Есть результат и вроде да же годный.
Сделаем блок variables необязательным, для этого просто игнорируем ошибку первичного парсинга и добавляем проверку на наличие variablesBlock.Variables.Remains
var variablesBlock VariablesBlock _ = gohcl.DecodeBody(f.Body, ctx, variables, diags := variablesBlock.Variables.Remains.JustAttributes() if diags.HasErrors() < renderDiags(diags, parser.Files()) return nil, diags >for key, variable := range variables < var value cty.Value diags := gohcl.DecodeExpression(variable.Expr, nil, return nil, diags >ctx.Variables[key] = value > >
Проверяем с удаленным блоком variables и без переменных
create «Task» < project = «AG» # required # required summary = «service_A // Обновить библиотеку Library_A до актуальной версии» # optional description =
Create: < < Type: «Task», Project: «AG», Summary: «service_A // Обновить библиотеку Library_A до актуальной версии», Description: «Нужно обновить библиотеку Library_A до актуальной версии.nПосле обновления проверить сервис на regressn», AppLayer: «Backend», Components: , SprintId: 100, Epic: «AG-6815», Labels: , StoryPoint: 2, QaStoryPoint: 1, Assignee: «user_A», Developer: «user_A», TeamLead: «user_B», TechLead: «user_B», ReleaseEngineer: «user_C», Tester: «user_D», Parent: «», >, >, >
Способ 4
К этому способу я пришел до написания статьи, после чего и появилось желание поделиться примерами работы с HCL, которые я пробую в процессе написания программы.
Идея такая же, как и в способе 3, с частичными парсингами, но с использованием метода hcl.Body.PartialContent.
Минус, PartialContent работает со своей структурой hcl.BodySchema, поэтому описанные для hcl-файла блоки и структуры использовать не выйдет, придется делать новое описание.
var variablesSchema = Blocks: []hcl.BlockHeaderSchema>, >
И сама обработка
blocks, body, diags := body.PartialContent(variablesSchema) if diags.HasErrors() < renderDiags(diags, parser.Files()) return nil, diags >for _, block := range blocks.Blocks < attrs, _ := block.Body.JustAttributes() for key, attr := range attrs < var value cty.Value diags := gohcl.DecodeExpression(attr.Expr, nil, renderDiags(diags, parser.Files()) return nil, diags >ctx.Variables[key] = value > >
Вообще работать с BodySchema мне не понравилось из-за «своей» структуры, где можно объявить только блоки и атрибуты. Причем внутри блока атрибуты объявить нельзя, что исключает использование нативной валидации.
package hcl // BlockHeaderSchema represents the shape of a block header, and is // used for matching blocks within bodies. type BlockHeaderSchema struct < Type string LabelNames []string >// AttributeSchema represents the requirements for an attribute, and is used // for matching attributes within bodies. type AttributeSchema struct < Name string Required bool >// BodySchema represents the desired shallow structure of a body. type BodySchema struct
Таким образом на текущий момент есть возможность описывать несколько задач, через блоки create и использовать переменные.
Следующим шагом в моих хотелках нужно придумать способ использовать итерации для блока create. Практическая задача такая: у меня есть массив из названий сервисов (либо описания в виде объектов), нужно по нему запустить цикл, и, используя один шаблон (блок create) создать N issue в Jira.
Псевдо-код выглядит примерно так:
create «Task» < . summary = «$// Обновить библиотеку Library_A до актуальной версии» components = [«$»] . >
в create добавить атрибут for_each, при анализе которого запускать цикл и как-то внутри цикла создавать переменную iter
create «Task» < . summary = «$// Обновить библиотеку Library_A до актуальной версии» . for_each = [for i, service in services: service if service.skip == false] >
либо поместить create внутрь нового блока, например, loop, и в атрибутах loop указывать настройки для цикла
loop < list = [for i, service in services: service if service.skip == false] create «Task» < . summary = «$// Обновить библиотеку Library_A до актуальной версии» . > >
Источник: habr.com
HCL Notes
Инсталлируемая система корпоративного класса для электронной почты, обмена сообщениями, совместной работы над задачами и управления временем. Есть вэб-, мобильный и десктоп клиенты (Lotus Notes)
Добавить отзыв
Альтернативы HCL Notes
Новости и обзоры HCL Notes
2018. IBM продала индусам легендарные Lotus Notes и Domino
IBM продала свою легендарную систему совместной работы Lotus Notes (и ее серверную часть Domino) индийской компании HCL за $1,8 млрд. Платформа Notes была создана компанией Lotus в 1989 г., а потом приобретена IBM в 1995 г. Многие годы она была топовым продуктом IBM, и до сих пор используется во многих компаниях (и в нашей стране) в качестве почтового сервера или системы документооборота.
Но теперь для IBM главные направления — это облачные технологи и искусственный интеллект, а устаревшее ПО ей только мешает. Да и деньги сейчас нужны, чтобы закрыть рекордную сделку по покупке Red Hat за $34 млрд. Что касается компании HCL и будущей судьбы Lotus, то фанаты могут быть спокойны. Эта компания уже несколько лет занималась разработкой Lotus Notes (а IBM — лишь продавала систему). И, похоже, индусы намного более заинтересованы в развитии Lotus Notes, чем была IBM.
2013. IBM хоронит Lotus. Microsoft хоронит SharePoint
Пожалуй, два самых знаменитых бренда за всю историю корпоративного ПО, Lotus и SharePoint, скоро прекратят свое существование. Речь именно о брендах, а не о конкретных продуктах. Просто за счет переименований вендоры пытаются стереть из памяти клиентов ассоциации с чем-то морально устаревшим. Ну да, например, Lotus появился еще в 80-х годах прошлого века.
В 1995 году IBM купила компанию Lotus Development и начала продавать и развивать ее продукты Lotus Notes/Domino. В следующие годы под зонтик Lotus перешли почти все системы для совместной работы IBM. Но в прошлом году произошла революция. Последний отпрыск семейства Lotus — SaaS офис LotusLive был переименован в SmartCloud for Social Business. А из других продуктов слово Lotus просто убрали. Последним гвоздем стало недавний релиз Notes/Domino 9.0 Social Edition (уже без Lotus). ***
2010. Lotus Notes доступен на Android
IBM выпустила мобильный клиент Lotus Notes Traveler для платформы Android. Приложение синхронизируется с сервером Lotus Domino и позволяет пользователю получить доступ к своему почтовому ящику, календарю и контактам. Но особенно Lotus Notes Traveler понравится ИТ-администраторам, т.к. он поддерживает различные политики корпоративной безопасности. Мобильное приложение поддерживает большое число девайсов версии Android 2.x (и смартфоны, и планшеты), включая Motorola Droid 2 и Droid X, HTC Droid, Incredible и Evo46, T-Mobile G2, Google Nexus One. Кроме Android, Lotus Notes Traveler работает на iPhone/iPad, Blackberry и Nokia Symbian S60.
2010. IBM выпустила SaaS версию Lotus Domino
Компании типа IBM и Microsoft любят запутывать пользователей своими многочисленными сервисами и названиями. Только недавно мы писали о том, что IBM запустила сервис LotusLive iNotes, который стоит 3$/мес за юзера и предоставляет корпоративную почту, контакты и календарь, как сегодя IBM представила еще один сервис под названием LotusLive Notes, который стоит 5$/мес и тоже содержит почту, контакты и календарь. На первый взгляд разница только в цене, но на самом деле сегодняшняя новинка представляет собой multitenant SaaS версию Lotus Domino (Domino — это название сервера в традиционной системе Lotus Notes). Чем она отличается от LotusLive iNotes? ***
2010. IBM объявила себя лидером рынка корпоративных порталов и социальных сетей
В Москве на форуме IBM Lotus 2010 Уффе Сорренсен, директор по технологиям IBM Lotus, представил некоторые статистические данные об успехах систем IBM для совместной работы и социального взаимодействия. В частности, г-н Соренсен отметил, что Lotus Connections — на сегодняшний день самый быстрорастущий продукт за всю историю бренда Lotus.
Компания IBM занимает первое место на мировом рынке платформ для социальных сетей, а WebSphere Portal занимает первое место на мировом рынке корпоративных порталов. Более половины компаний, входящих в состав Fortune Global 100 сегодня используют Lotus Notes Domino и десятки миллионов приложений Domino, работающих каждый день. Приложением LotusLive пользуются более 400 миллионов человек по всему миру.
2010. IBM представила Lotus Notes Traveler для iPad
IBM объявила о выпуске новой версии своего мобильног клиента Lotus Notes Traveler для планшета iPad. Через данное приложение пользователь может подключаться к своему корпоративному серверу Lotus Domino и работать со своей почтой, календарями, адресной книгой, расписаниями и т.д. Для защиты конфиденциальной информации передача данных между клиентом и сервером осуществляется в шифрованном виде; также обеспечивается полная синхронизация клиентам с корпоративными базами данных. Иными словами, в ваших руках действительно полный доступ к корпоративной сети со всеми ее документами.
2008. IBM Lotus Notes становится онлайн приложением
Вслед за Microsoft, которая решила предоставлять Exchange как услугу, ее конкурент, IBM сегодня объявил о выпуске SaaS версии популярной системы для корпоративной почты и совместной работы Lotus Notes Hosted Messaging. Хотя, более точным будет назвать эту новую версию S+S, т.к. для работы с ней в большинстве случаев будет использоваться стандартный (толстый) клиент Lotus Notes. Дополнительно пользователи смогут получить доступ к сервису через мобильный клиент Lotus Notes Traveler, либо через стандартный web-клиент Domino Web Access. Кроме того, сервис не является классическим SaaS решением, основанным на multitenant архитектуре. Для каждого клиента будет установлен отдельный Domino-сервер. ***
2008. Domino и Notes в стиле Web 2.0
Очередные версии Lotus Notes и Domino выйдут в феврале, и в них будет реализовано множество новых возможностей в стиле Web 2.0. Об этом компания IBM объявила 21 января на конференции выставке Lotusphere в США. В частности, в новой версии Lotus появится компонент в стиле Web 2.0 под названием My Widgets.
Это новая панель в интерфейсе, предназначенная для размещения различных мини-программ, или так называемых «виджетов». Возможности взаимодействия с виджетами будут расширены с помощью технологии Live Text. Она способна анализировать текст, выделять в нем фразы и шаблоны и связывать их с тем виджетом, который может оказаться полезным в данной ситуации.
Например, щелкнув по номеру авиарейса в полученном письме, пользователь сможет получить информацию об этом рейсе, как поясняют в IBM. В версию Lotus Notes и Domino 8.0.1 будет включена программа Lotus Notes Traveler. Она предназначена для передачи электронной почты (вместе со связанной с ней информацией, например, вложениями и календарями) на устройства на базе Windows Mobile.
2008. IBM выпустит Lotus Notes для iPhone
Компании IBM и Apple заключили соглашение, в рамках которого первая разработает программное обеспечение для iPhone и iPod. С его помощью можно будет получать и отправлять электронную почту, сообщает Associated Press. Официальный анонс Lotus Notes для этих устройств пройдет на конференции Lotusphere в Орландо на следующей неделе.
Как известно, Lotus Notes работает в связке с серверным программным обеспечением Domino. Для тех, кто уже имеет лицензию на использование Lotus через веб-интерфейс, приложение будет бесплатным. Стоимость лицензии Lotus Notes для iPhone/iPod составляет $39 на одного пользователя. Кроме того, IBM намерена выпустить Lotus Notes и полностью бесплатный пакет офисных программ Lotus Symphony для платформы Mac OS X.
2007. IBM представила Qiuckr и Lotus Notes/Domino 8 в России
На IBM Lotus Forum в Москве корпорация IBM представила новый программный продукт для организации групповой работы с документами Qiuckr и долгожданную новую версию системы коллективной работы Lotus Notes/Domino 8. Последнюю в IBM позиционируют именно так, подчеркивая, что традиционное решение Lotus вышло за рамки простой электронной почты, предоставляя интегрированную рабочую среду для обмена сообщениями, работы с документами, таблицами и презентациями, подключения бизнес-приложений, создания дискуссионных форумов и блогов и т. д. Помимо заметного расширения пользовательских функций отличительными особенностями восьмой версии Notes/Domino является предоставление открытой среды разработки для создания новых приложений, а также механизмы интеграции со всеми другими средствами организации совместной работы в семействе Lotus, включая Sametime, Quickr и первый программный продукт по созданию социальных сетей в корпоративной среде Connections.
2007. В Lotus Notes 8.0 появились редакторы офисных документов
Новая версия системы для совместной работы Lotus Notes 8.0 включает в себя бесплатный офисный пакет для работы с документами под названием Lotus Symphony. Он включает в себя текстовый процессор, электронные таблицы и редактор презентаций. Как и новая версия Lotus Notes, приложения Lotus Symphony построены на платформе Eclipse и работают с форматами ODF (Open Document Format for XML) — это открытый непроприетарный стандарт, который является альтернативой майкрософтовскому Open XML. Lotus Symphony будет конкурировать не только с MS Office, но и с онлайн редакторами Google Docs. Кроме офисного пакета, новая версия Lotus Notes отличается новым современным интерфейсом в стиле Web 2.0, многочисленными новыми функциями для управления почтой, календарями и контактами. ***
2005. Lotus Notes/Domino 7 содержит «виртуальный Outlook»
Вышла очередная версия решения для управления почтой и совместной работы Lotus Notes/Domino 7. Среди новых функций отметим более тесную интеграцию с Lotus Sametime и MS Office, поддержка RSS и протокола iCal для обмена календарями, улучшенные групповые операции с письмами, возможность просмотра почты в виде дискуссий, поддержка сертификатов S/MIME (все это работает как в Lotus Notes, так и в веб-клиенте Domino Web Access). Кроме того, сервер Domino теперь сможет работать с базами DB2. Но самое интересное — это Domino Access для Microsoft Outlook — это «виртуальный Outlook», который позволяет импортировать данные из MS Exchnage в Lotus Domino и работать с почтой и другими инструментами через веб-интерфейс или в Lotus Notes. Согласно последнему отчету IDC по рынку систем для совместной работы, IBM Notes/Domino и Microsoft Exchange/Office практически разделили пополам этот рынок, однако Microsoft имеет перевес — 51,2% против 40,1%.
2005. IBM перерабатывает Lotus Notes
Бета-тестирование версии клиента Lotus Notes под кодовым именем Hannover, которая выйдет после Notes 7.0, запланировано на начало будущего года. Ее главной особенностью является интеграция с IBM Workplace Technology (WCT) — основанной на Java платформой исполнения компонентных многофункциональных клиентских приложений, включающей в себя небольшую СУБД, среду периода исполнения и технологию синхронизации. В Hannover будут усовершенствованы традиционные функции обмена сообщениями (почта, календари и расписания), а кроме того, исполняясь поверх WCT, клиент сможет поддерживать доступ как к традиционным приложениям Notes, так и к составным сервис-ориентированным приложениям нового поколения. Hannover положит начало переходу на WCT в качестве слоя исполнения клиентских приложений для Domino или Workplace — основанной на J2EE компонентной платформы, интегрирующей многофункциональные клиенты, сервер приложений WebSphere, СУБД DB2 и модули типа Workplace Messaging. Возможно, не случайное совпадение, что выпуск Hannover запланирован на то же время, что появление ОС Windows Vista (Longhorn) и пакета Office 12, стержнем которых будут сервисы совместной работы реального времени, компонентизация приложений и поддержка контекстуальной коллективной работы.
2003. В Lotus Notes 6.5 появился встроенный мессенджер
В новую версию Lotus Notes 6.5 добавили интеграцию с корпоративным мессенджером IBM Lotus Sametime. Теперь пользователи клиента Lotus Notes смогут везде видеть текущий онлайн статус коллег, а также одним кликом инициировать чат с ними, находясь, например в адресной книге. Кроме того, с помощью дизайнера приложений Lotus Domino Designer 6.5 разработчики могут встраивать индикацию онлайн статуса и чат в любые приложения на платформе Lotus Domino.
2002. Lotus Notes/Domino 6.0 улучшает Web- и мобильный доступ
Сегодня IBM представила новую версию своей системы для совместной работы Lotus Notes/Domino 6.0. Одним из главных достижений новой версии стал улучшенный web- и мобильный доступ к системе. Обновленный web-клиент Domino Web Access (раньше он назывался iNotes Web Access) позволяет получить доступ к почте, календарю и контактам через браузер на компьютере, либо через мобильные устройства (PDA и смартфоны с поддержкой Web). Кроме того, новые приложения Lotus отличаются усиленными мерами безопасности, борьбы со спамом, улучшенным интерфейсом и новыми возможностями по интеграции с внешними источниками данных.
2002. Lotus Notes — что это такое?
В двух словах, Lotus Notes представляет собою комбинацию СУБД и почтовой системы, обладающий рядом интересных возможностей для организации структурированной коммуникации — email, форумы, календари и так далее. Главной особенностью лотусовской базы данных является ее ориентация на хранение больших плохо структурированных документов и коллективную работу с ними. Под коллективной работой подразумевается возможность нескольким человекам одновременно править одну и ту же запись (документ). Соответственно, поддерживается аппарат версий и возможности отслеживания изменений, сделанных отдельными пользователями. Кроме текстов, записи лотусовских баз данных могут содержать произвольное количество настраиваемых пользователями реквизитов разных типов, причем настройка состава реквизитов достаточно проста и посильна конечным пользователям. Документы в базе могут ссылаться друг на друга (что-то типа всем знакомых гипертекстовых ссылок), и, кликнув ссылку в тексте документа, можно открыть связанный с ним документ. ***
1999. Не шутка: Lotus Notes/Domino 5.0 официально доступны
Сегодня, 1 апреля, IBM наконец-то официально начала продажи новой версии своей системы для управления почтой и совместной работы Lotus Notes/Domino 5.0. Выход этой системы откладывался несколько раз и задержался больше чем на год, что может стоить IBM лидерства на рынке groupware.
Новая версия системы включает в себя почтовый клиент-сервер (с поддержкой протоколов S/MIME, POP3, SMTP и IMAP), календари, управление документами, email-группы, редактор HTML страниц, браузер, мессенджер (интегрированный мессенджер AOL). Lotus Notes 5.0 имеет обновленный пользовательский интерфейс и поддерживает протокол доступа к каталогам LDAP, Java-апплеты. Начиная с этой версии клиентская часть Lotus Notes состоит из трёх частей: Notes Client (рабочее место пользователя), Domino Designer (рабочее место разработчика приложений Lotus Notes) и Domino Administrator (рабочее место системного администратора Lotus Notes). Расширена поддержка языков программирования — к Java и C++ добавились Javascript, HTML4.0 и XML. IBM также опровергла слухи о том, что Lotus Domino и Notes будут продаваться как отдельные продукты.
1996. Lotus Domino добавляет Web-технологии в Lotus Notes
Не смотря на то, что Lotus Notes довольно уверенно чуствует себя на рынке систем для совместной работы, на горизонте появляется новая опасность — Web-решения, которые обходятся клиентам намного дешевле традиционных клиент-серверных систем. Чтобы не отставать от современных тенденций IBM представила сегодня обновленный сервер Lotus Notes под новым названием Domino. Domino содержит интегрированный веб-сервер и позволяет получить доступ к любой информации в базе Lotus через встроенный в клиент Lotus Notes HTML-браузер. Ранее IBM также выпустила модуль InterNotes Web Publisher который позволяет публиковать данные из Notes в интернете.
Источник: www.intranetno.ru