Мое начальство поручило мне написать плагин для Outlook, суть которого в том, что нажимая на НАШУ кнопку на панеле человек назначает встречу или совещание, данные об этом событи необходимо передать на внешний сервер третьей стороны. В эти данные входят все кого пригласили ( скорее всего их мейлы ) и еще некоторые параметры которые каждый настраивает сам в своем Outlook, которые относятся к плагину а не данным Outlook. Конечно нужно отлеживать изменения, которые человек может вносить в параметры встречи, новых людей и т.д.
Обязательное условие работаспособность как на 32 битных системах, так и на 64 битных.
Втора сторона вопроса, желательно, что бы работало как с 2007 так и с 2010 офисом, и было более или менее легко адаптируемо к новым версиям офиса.
Вопросы:
1. Возможно ли использование одного плагина для 32 битных и 64 битных систем ? или будут проблемы как и с синхронизацией с WindowsMobile на 64 битных системах.
2. Насколько совметимы 2007 и 2010 офисы ? Можно ли написать единый плагин для обоих ?
З.Ы. Заранее благодарен.
З.Ы.Ы. Еще больше буду благодарен, если накидаете линков на примеры и документацию, именно по данной задаче, а если на великом и могучем буду просто счастлив.
Здравствуйте, GSL, Вы писали:
GSL>1. Возможно ли использование одного плагина для 32 битных и 64 битных систем ? или будут проблемы как и с синхронизацией с WindowsMobile на 64 битных системах.
Не очень в курсе, но поскольку сам MS предлагает ставить 32 битный вместо 64, т.к. не все плагины будут работать, то ...
А в чем проблема собрать две сборки?
GSL>2. Насколько совметимы 2007 и 2010 офисы ? Можно ли написать единый плагин для обоих ?
Что то да, что то нет. Написать возможно. Мы для работы с объектами использовали эту библиотеку http://www.dimastr.com/redemption/home.htm
для рисования кнопочек и т.д. http://www.add-in-express.com/
Здравствуйте, GSL, Вы писали:
GSL>Вопросы: GSL>1. Возможно ли использование одного плагина для 32 битных и 64 битных систем ? или будут проблемы как и с синхронизацией с WindowsMobile на 64 битных системах.
Зависит от инструмента. Писать адд-ины для самых последних офисов вполне можно даже на древнем VB6.
Если компилятор умеет 32/64, то легко.
Если умеет только 32, то можно смастерить адд-ин как exe-сервер или inproc в суррогатном процессе, задействовав DCOM, но возникнут проблемы с маршалингом всяких там ресурсов из адд-ина (в частности, пиктограмм кнопок и т.п.). Ну и обязательно намучаетесь с подсчетом ссылок и корректным завершением процесса сервера после закрытия аутлука.
GSL>2. Насколько совметимы 2007 и 2010 офисы ? Можно ли написать единый плагин для обоих ?
Можно. Только возьмите TLB/OLB от более старого и тренируйтесь на нём.
GSL>З.Ы. Заранее благодарен. GSL>З.Ы.Ы. Еще больше буду благодарен, если накидаете линков на примеры и документацию, именно по данной задаче, а если на великом и могучем буду просто счастлив.
Здравствуйте, Alex Dav, Вы писали:
AD>Здравствуйте, GSL, Вы писали:
GSL>>1. Возможно ли использование одного плагина для 32 битных и 64 битных систем ? или будут проблемы как и с синхронизацией с WindowsMobile на 64 битных системах. AD>Не очень в курсе, но поскольку сам MS предлагает ставить 32 битный вместо 64, т.к. не все плагины будут работать, то ... AD>А в чем проблема собрать две сборки?
Писать буду на С# а оно вроде как нормально себя чуствует в обоих измерениях.
GSL>>2. Насколько совметимы 2007 и 2010 офисы ? Можно ли написать единый плагин для обоих ? AD>Что то да, что то нет. Написать возможно. Мы для работы с объектами использовали эту библиотеку http://www.dimastr.com/redemption/home.htm AD>для рисования кнопочек и т.д. http://www.add-in-express.com/
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, GSL, Вы писали:
GSL>>Вопросы: GSL>>1. Возможно ли использование одного плагина для 32 битных и 64 битных систем ? или будут проблемы как и с синхронизацией с WindowsMobile на 64 битных системах.
B>Зависит от инструмента. Писать адд-ины для самых последних офисов вполне можно даже на древнем VB6. B>Если компилятор умеет 32/64, то легко. B>Если умеет только 32, то можно смастерить адд-ин как exe-сервер или inproc в суррогатном процессе, задействовав DCOM, но возникнут проблемы с маршалингом всяких там ресурсов из адд-ина (в частности, пиктограмм кнопок и т.п.). Ну и обязательно намучаетесь с подсчетом ссылок и корректным завершением процесса сервера после закрытия аутлука.
Если я правильно понимаю, то использования C# меня спасает ?
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, GSL, Вы писали:
GSL>>Если я правильно понимаю, то использования C# меня спасает ?
B>Спасает. Но декомпилируется ) B>Впрочем, если продукт — заказной/внутренний, то и шут с ним.
Продукт не секретный, нехай декомпилируют. Это просто избавит потребителей нашего продукта от двойной работы, назначать встречив в отулуке и потом выставлять параметры видеоконференции на сервере через ВЕБ.
З.Ы. До этого это как-то не особо напрягало, а тут вдруг решили, что пора таки делать удобный продукт
Здравствуйте, GSL, Вы писали:
GSL>Мое начальство поручило мне написать плагин для Outlook, суть которого в том, что нажимая на НАШУ кнопку на панеле человек назначает встречу или совещание, данные об этом событи необходимо передать на внешний сервер третьей стороны. В эти данные входят все кого пригласили ( скорее всего их мейлы ) и еще некоторые параметры которые каждый настраивает сам в своем Outlook, которые относятся к плагину а не данным Outlook. Конечно нужно отлеживать изменения, которые человек может вносить в параметры встречи, новых людей и т.д.
GSL>Обязательное условие работаспособность как на 32 битных системах, так и на 64 битных. GSL>Втора сторона вопроса, желательно, что бы работало как с 2007 так и с 2010 офисом, и было более или менее легко адаптируемо к новым версиям офиса.
GSL>Вопросы: GSL>1. Возможно ли использование одного плагина для 32 битных и 64 битных систем ? или будут проблемы как и с синхронизацией с WindowsMobile на 64 битных системах. GSL>2. Насколько совметимы 2007 и 2010 офисы ? Можно ли написать единый плагин для обоих ?
GSL>З.Ы. Заранее благодарен. GSL>З.Ы.Ы. Еще больше буду благодарен, если накидаете линков на примеры и документацию, именно по данной задаче, а если на великом и могучем буду просто счастлив.
Насчет (2): есть статьи на мсдне, описывающие все изменения. Первое что приходит в голову — в 2007 как и в старых офисах на окне эксплорера тулбары с кнопками, которые надо добавлять-удалять в коде (коллекции типа Explorer.CommandBars, CommandBar.Controls), а в 2010 там уже используется риббон (в 2007 риббон только для окон "инспекторов", т.е. редакторов различных итемов). В случае риббона контролы описываются в xml специального вида (тут, или тут, или тут), который нужно отдать Аутлуку, на вызове метода IRibbonExtensibility::GetCustomUI (этот интерфейс, естественно, нужно реализовать в адд-оне, например там же, где и IDTExtensibility2 для соединения с Аутлуком). Насчет интеграции с MAPI там вроде упростилась работа с PropertyAccessor, но если нужно и для 2007, то придется как там. В этом блоге еще есть много всякого по теме.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, GSL, Вы писали:
GSL>>Мое начальство поручило мне написать плагин для Outlook, суть которого в том, что нажимая на НАШУ кнопку на панеле человек назначает встречу или совещание, данные об этом событи необходимо передать на внешний сервер третьей стороны. В эти данные входят все кого пригласили ( скорее всего их мейлы ) и еще некоторые параметры которые каждый настраивает сам в своем Outlook, которые относятся к плагину а не данным Outlook. Конечно нужно отлеживать изменения, которые человек может вносить в параметры встречи, новых людей и т.д.
GSL>>Обязательное условие работаспособность как на 32 битных системах, так и на 64 битных. GSL>>Втора сторона вопроса, желательно, что бы работало как с 2007 так и с 2010 офисом, и было более или менее легко адаптируемо к новым версиям офиса.
GSL>>Вопросы: GSL>>1. Возможно ли использование одного плагина для 32 битных и 64 битных систем ? или будут проблемы как и с синхронизацией с WindowsMobile на 64 битных системах. GSL>>2. Насколько совметимы 2007 и 2010 офисы ? Можно ли написать единый плагин для обоих ?
GSL>>З.Ы. Заранее благодарен. GSL>>З.Ы.Ы. Еще больше буду благодарен, если накидаете линков на примеры и документацию, именно по данной задаче, а если на великом и могучем буду просто счастлив. А>Насчет (2): есть статьи на мсдне, описывающие все изменения. Первое что приходит в голову — в 2007 как и в старых офисах на окне эксплорера тулбары с кнопками, которые надо добавлять-удалять в коде (коллекции типа Explorer.CommandBars, CommandBar.Controls), а в 2010 там уже используется риббон (в 2007 риббон только для окон "инспекторов", т.е. редакторов различных итемов). В случае риббона контролы описываются в xml специального вида (тут, или тут, или тут), который нужно отдать Аутлуку, на вызове метода IRibbonExtensibility::GetCustomUI (этот интерфейс, естественно, нужно реализовать в адд-оне, например там же, где и IDTExtensibility2 для соединения с Аутлуком). Насчет интеграции с MAPI там вроде упростилась работа с PropertyAccessor, но если нужно и для 2007, то придется как там. В этом блоге еще есть много всякого по теме.
Здравствуйте, GSL, Вы писали:
GSL>Мое начальство поручило мне написать плагин для Outlook, суть которого в том, что нажимая на НАШУ кнопку на панеле человек назначает встречу или совещание, данные об этом событи необходимо передать на внешний сервер третьей стороны. В эти данные входят все кого пригласили ( скорее всего их мейлы ) и еще некоторые параметры которые каждый настраивает сам в своем Outlook, которые относятся к плагину а не данным Outlook. Конечно нужно отлеживать изменения, которые человек может вносить в параметры встречи, новых людей и т.д.
GSL>Обязательное условие работаспособность как на 32 битных системах, так и на 64 битных. GSL>Втора сторона вопроса, желательно, что бы работало как с 2007 так и с 2010 офисом, и было более или менее легко адаптируемо к новым версиям офиса.
Где хранятся данные Outlook? Если это Exchange то, стоит обратить внимание на Exchange SDK
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, GSL, Вы писали:
GSL>>Мое начальство поручило мне написать плагин для Outlook, суть которого в том, что нажимая на НАШУ кнопку на панеле человек назначает встречу или совещание, данные об этом событи необходимо передать на внешний сервер третьей стороны. В эти данные входят все кого пригласили ( скорее всего их мейлы ) и еще некоторые параметры которые каждый настраивает сам в своем Outlook, которые относятся к плагину а не данным Outlook. Конечно нужно отлеживать изменения, которые человек может вносить в параметры встречи, новых людей и т.д.
GSL>>Обязательное условие работаспособность как на 32 битных системах, так и на 64 битных. GSL>>Втора сторона вопроса, желательно, что бы работало как с 2007 так и с 2010 офисом, и было более или менее легко адаптируемо к новым версиям офиса.
TK>Где хранятся данные Outlook? Если это Exchange то, стоит обратить внимание на Exchange SDK
Все данные в копроративной Exchange. Спасибо, за наводку.