2015-04-13 3 views
2

Наша домашняя CMS создает календарные каналы, которые содержат график молодежной спортивной команды на один сезон. Мы предоставляем URL-адрес для конечного пользователя, который потребляет фид на своем устройстве (или в своей программной программе), который каждый десяток тысяч человек делает каждый год.Есть ли способ аннулировать подписанный канал календаря на устройстве?

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

Для нас это создало ситуацию, когда более 90% запросов календаря на наши серверы поступали от команд, чьи расписания уже давно завершены.

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

Так что за последние пару лет мы вместо этого вернули одно событие, которое простирается от предыдущего месяца до следующего месяца, с заголовком «Пожалуйста, удалите этот отложенный фид» и даже предоставили некоторые инструкции для этого , Это помогло немного, но не достаточно.

В последнее время мы узнали, что можно подключить оповещение к календарному фиду, поэтому, чтобы попытаться спровоцировать пользователя на принятие мер, мы также решили приложить предупреждение к единственному «устаревшему» событию; предупреждение, которое повторяется дважды с 3-часовыми интервалами. Это было более эффективно, но для конечного пользователя это очень раздражало.

Итак, вот в чем вопрос. Есть ли что-нибудь, что мы можем сделать на сервере, когда устройство делает запрос, что ответ указывает устройству, что канал больше недоступен, и устройство должно STOP запрашивать его? Некоторые другие вещи, мы пытались включить:

  • Возвращение различных кодов HTTP статус (302, 301, 500 и т.д.)
  • Установка очень долго TTL на подающем

Ни один из что, похоже, имеет какой-то эффект. Кажется, должен быть способ вернуть пустой ответ с кодом статуса HTTP 410 «Gone», и устройство/программа должны знать, что делать. Любые/все предложения приветствуются!

ответ

0

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

+0

Спасибо за предложение. Я отправил Apple Feedback (ical), в Outlook [link] (http://answers.microsoft.com/en-us/office/forum/officeversion_other-outlook/enable-a-calendar-feed-publisher-to -return-an-http/f9d4d803-828f-470a-9edd-cedbbbc4e6a8? tm = 1429042708759) и Android [link] (https://code.google.com/p/android/issues/detail?id=165572) –

+0

Это действительно здорово! – Evert

Смежные вопросы