2009-12-08 6 views
0

Я поддерживаю собственное веб-приложение ASP.NET, часть которого включает модуль управления отношениями с клиентами для нашей команды продаж. Одна из вещей, которые они хотят, - это возможность экспортировать все свои контакты из нашей базы данных в их самые разные почтовые клиенты (Outlook в Windows, allsorts на Mac) и телефоны (IPhones, Blackberries - возможно, Androids). vCard представляется стандартным способом передачи контактной информации, но ...Экспорт контактов из приложения

  1. Можно ли указать несколько контактов в одной визитной карточке, объединив блокировки BEGIN/END vCard?
  2. Является ли поддержка импорта vCard единообразной, или есть ли причуды между клиентами?
  3. Любые другие советы/хитрости/gotchas?

ответ

1

Я могу помочь вам с первым вопросом, поскольку этот внешний вид не любит мультиплексирование vCards в одном файле, вам нужно будет сделать один файл одним контактом.

Маркус

1
  1. Вы можете сцепить VCards, просто поставить пустую строку между каждой визитной карточкой (стандарт на самом деле требует пустой строки после окончания строки).
  2. Поддержка импорта является отрывочной. Outlook будет импортировать почти все, но часто теряет данные в процессе (по крайней мере, когда я пробовал это несколько лет назад). Thunderbird поддерживает vCards в электронных письмах, но не импортирует vCards из файла без плагина. У Gmail действительно есть лучшая поддержка vCard, которую я когда-либо видел, успешно импортировал много полей, в том числе даже изображения base64 JPEG. Многие люди, с которыми я общался, жалуются на мою прикрепленную визитную карточку, потому что их сайт client/webmail не знает, что с ней делать. Позор действительно; это единственная альтернатива, которую мы получили для легкого обмена контактными данными.
  3. Не ожидайте, что какой-либо инструмент будет генерировать действительную визитную карточку. Кроме того, большинство vCards вне этого не соответствуют стандарту (даже те, которые встроены в сам стандарт!). Из-за этого я разработал валидатор vCard (первый результат в Google), но он недействителен почти для каждой vCard, которую я нашел онлайн, сгенерировал или нет. Во время разработки стало ясно, что стандарт довольно пятнистый. В некоторых местах указано, что вещи нечувствительны к регистру, в некоторых местах кажется, что это должно быть, но это не упоминается, некоторые вещи очень сложно разобрать (например, даты ISO), есть нет поддержки пространства имен (можно использовать свойства X), рекомендуемая система разрыва строки - это боль и так далее.