RM Updates

From AVObjects Knowledge Base
(Difference between revisions)
Jump to: navigation, search
(Доработки раздела "Products")
(RM Updates)
 
(41 intermediate revisions by one user not shown)
Line 1: Line 1:
==Срочное==
+
==RM Updates==
  
* Релизовать отсылку обновлений с ссылками на последнее издание продукта.
+
* [[RM Updates: RM API]]
 +
* [[RM Updates: Later]]
 +
* [[RM Updates: April 7, 2008]]
 +
* [[RM Updates: April 20, 2008]]
 +
 
 +
==Tasks Overview==
 +
 
 +
* Релизовать подписки.
  
 
==Bugs==
 
==Bugs==
Line 7: Line 14:
 
* Конвертацию /r/n (новая строка) в <br> (см. описания там всё в одну линии).
 
* Конвертацию /r/n (новая строка) в <br> (см. описания там всё в одну линии).
  
* поправить постоянную ссылку  на файл. можно ли сделать так чтобы оно редиректило на файл с именем версии (последней)?
+
==Доработки раздела "Products"==
  
==Доработко==
+
Ссылка: [http://rm.medialooks.com/product/edit/4 http://rm.medialooks.com/product/edit/4]
  
* запись данных в вику
+
Параметры:
  
* cделать что-бы можно было обновлять файл без изменения описания и версии.
+
* Добавить параметр '''Release Notes Link''' (это ссылка на вику, которую нужно будет вставлять в письма).
  
* сделать отправку нотификаций по почте администратору о новых закачках
+
* Добавить параметр '''License Update Link''' (это ссылка на платежную систему, которую нужно будет вставлять в письма).
 
+
* [в обдуме] придумать как сделать так чтобы можно было использовать RM для нотификаций о новых обновлениях тех клиентов, которые еще не купили продукт (а только выразили свой интерес) - это можно сделать заставляя себя выдавать этим клиентам лицензию на полную версию (это логично, т.к. они ждут по нашей вине)
+
 
+
* [в обдуме] закачивать через генератор лицензий и договор тоже. клиенту высылать ссылку на него с просьбой подписать
+
  
 
==Доработки раздела "Customers"==
 
==Доработки раздела "Customers"==
  
===В режиме отображения раздела "Customers"===
+
===Вьюха customer/index.rhtml===
  
 
Ссылка: [http://rm.medialooks.com/customer http://rm.medialooks.com/customer]
 
Ссылка: [http://rm.medialooks.com/customer http://rm.medialooks.com/customer]
  
Поля таблицы:
+
Параметры:
  
* Customer (это то что сейчас называется "Company Name")
+
* '''customer.email''' нужно либо проапгрейдить либо заменить на другой. Контактов на одного клиента может быть несколько (любое количество) - поэтому тут через список должны выводиться все контакты клиента, в виде '''Name <email@email.com>'''.
* Contacts (через перевод строки выводится список контактов данного клиента; каждый контакт выполнен в виде ссылки)
+
* Web-site (то же что и сейчас)
+
* Number of Licenses (количество лицензий данного клиента, учитываются все продукты)
+
  
Ссылки "Edit" и "Delete" переносятся в раздел "show".
+
===Вьюха customer/show.rhtml===
 
+
===В режиме отображения отдельного кастомера===
+
  
 
Ссылка: [http://rm.medialooks.com/customer/show/1 http://rm.medialooks.com/customer/show/1]
 
Ссылка: [http://rm.medialooks.com/customer/show/1 http://rm.medialooks.com/customer/show/1]
  
Поля блока "Customer":
+
Параметры:
 
+
* Company
+
* Сontact #1 (например "Joe Rabah <JRabah@symon.com>")
+
* Contact #2 (и т.д., в зависимости от количества контактов)
+
* Web site
+
 
+
Кнопочки "Edit" и "Delete".
+
 
+
Note: "Delete" должен происходить через диалог подтверждения.
+
 
+
(?) При появлении нового контакта в одном из лиц-файлов - что происходит?
+
 
+
Поля блока "Licenses":
+
  
* Product
+
* Добавить параметр "список контактов" (вместо '''customer.email'''). Рямдо с каждым контактом стоит checkbox - если checked, то данный контакт подписан на рассылку '''Updates''' по данному продукту. Если не checked, то не подписан. Эти чекбоксы используются для подписки/отписки котнтактов от рассылки '''Updates'''.
* Expiration Date
+
* Update Expiration Date
+
* Allowed Modules (редактировать нельзя - загружается только автоматически из mklic).
+
* Договор (либо подгружается, либо сопоставляется один из договоров из списка договоров данного клиента).
+
 
* Subscribers (список контактов, подписанных на обновления по данному продукту).
 
* Subscribers (список контактов, подписанных на обновления по данному продукту).
  
==Доработки раздела "Products"==
+
==Подписки==
 
+
* Из таблицы "Products" нужно убрать столбцы "Edit" и "Delete" - эти контролы перенести на уровень ниже. В саму таблицу добавить поля "Licenses" и "Subsriptions", в которых соответственно отображать количество лицензий и подписок по каждому из продуктов.
+
 
+
* Добавить для каждого продукта поле в котором хранится файл .MLG. В этом файле содержатся все необходимые данные для генерации лицензии для данного продукта через mklic.
+
 
+
* Добавить поле "Update Log" - сюда будет вбиваться ссылка на update log данного продукта в вике.
+
 
+
==Раздел "Subscriptions"==
+
  
 
Каждый контакт может быть подписан на любое количество имеющихся подписок.
 
Каждый контакт может быть подписан на любое количество имеющихся подписок.
Line 76: Line 49:
 
В первом приближении нужно две подписки:
 
В первом приближении нужно две подписки:
  
* Автоматические нотификации о новых версиях тех продуктов, которые лицензированы у данного контакта. Высылается каждый раз когда в RM появляется новый релиз продукта (впоследствии логика будет усложнена).
+
* '''Updates.''' Автоматические нотификации о новых версиях тех продуктов, которые лицензированы у данного контакта. Высылается каждый раз когда в RM появляется новый релиз продукта (впоследствии логика будет усложнена).
  
* Автоматические нотификации об истечении срока действия лицензии. Высылается за 7 дней до окончания срока действия лицензии. Высылается повторно в день окончания срока действия лицензии.
+
* '''LicenseExpired.''' Автоматические нотификации об истечении срока действия лицензии ('''license.expires.strftime'''). Высылается за 7 дней до окончания срока действия лицензии. Высылается повторно в день окончания срока действия лицензии.
  
Обе подписки выставляются контактам автоматически.
+
Обе подписки выставляются контактам автоматически. Т.е. все контакты клиента по-умолчанию подписаны на все подписки, связанные с лицензиями данного клиента.
  
В самом разделе нужно отображать список подписок и количество подписчиков и ссылку "Template", которая выводит форму для редактирования шаблона письма для данной подписки (plain text) и отдельно поля "Subject".
+
Необходимо учесть что на одного контакта может быть заведено любое количество лицензий одного и того же продукта. Отличаться они при этом будут по allowed_modules и по датам. Для рассылки '''Updates''' при возникновении обновлений должно отсылаться одно письмо. Если при этом у одной (или более) из лицензий уже истек '''license.expires.strftime''', то в письме должен сработать соотв. шаблон.
  
 
===Шаблоны писем===
 
===Шаблоны писем===
 +
 +
''Веб-интерфейс для редактирования шаблонов писем пока делать не нужно. Достаточно указать в каких файлах лежат шаблоны и в каких контролах я могу редактировать параметры "From" и "Reply-to".''
  
 
Директива IF/ELSE. Например, для случая если для данного продукта уже истекла лицензия - что-т вроде <IF license_expired> ... <ELSE> ... <END>.
 
Директива IF/ELSE. Например, для случая если для данного продукта уже истекла лицензия - что-т вроде <IF license_expired> ... <ELSE> ... <END>.
Line 93: Line 68:
 
* Release Notes (из текущего релиза).
 
* Release Notes (из текущего релиза).
 
* Ссылка на апдейт лог.
 
* Ссылка на апдейт лог.
* Содержание апдейт лога (последние N записей).
 
 
* Ссылка на оплату продления лицензии.
 
* Ссылка на оплату продления лицензии.
 
* Дата, когда заканчивается (или закончилась) лицензия на данный продукт.
 
* Дата, когда заканчивается (или закончилась) лицензия на данный продукт.
 +
* Ссылка на отписку от данной рассылки.
 +
 +
==Интеграция с формой feedback на сайте==
 +
 +
К [http://www.medialooks.com/products/directshow_filters/quicktime_filter.html форме контактов] на сайте необходимо добавить checkbox. Если при сабмите формы он прочекан, то в RM необходимо подписать данный email на подписку '''Updates'''. Как это лучше сделать - нужно подумать:
  
===Редактирование общих параметров подписок===
+
1) Через виртуальную (с пустыми датами) лицензию. Но тогда в списке Customers мы получим большое количество записей, которые кастомерами не являются.
  
* Поле "From"
+
2) Через отдельную сущность. Но в таком случае нужно будет уметь "срастить" данную подписку с лицензией в тот момент, когда таковая будет создана.
* Поле "Reply-to"
+
  
==Интеграция с mklic.exe (RM API)==
+
==Отписки==
  
Задачи:
+
В письмо должна вставляться ссылка на отписку от данной рассылки. Вид ссылки может быть очень простым и содержать email, id подписки, id продукта и какой-нибудь хэш (чтобы нельзя было подстановкой в УРЛ любой email отписать от любого продукта). Если на данный email заведено более одной лицензии на данный продукт, это не играет роли - отписывается email от продукта.
  
1) Закачка лицензионного файла, добавление/обновление данных о клиенте и лицензии, отправка .LIC-файла клиенту по почте, загрузка договоров.
+
'''Ограничение:''' Если данный email привязан к действительной лицензии (т.е. такой у которой еще не закончился  '''license.expires.strftime''') и является единственным, то его отписывать не надо, а нужно выдать сообщение '''Sorry, at least one email has to be subscribed if you have a valid license. Please contact MediaLooks if you want to be permanently removed.''' (Покажи плиз в какой вьюхе это можно будет редактировать.)
  
2) Поиск кокретного клиента/лицензии, скачивание данных в mklic.
+
==Мелкие доработки==
  
Замечания:
+
* Сделать что-бы можно было обновлять файл без изменения описания и версии.
  
* Имя продукта в RM не должно использоваться в качестве идентификатора продукта. Имя можно в любое время поменять.
+
* Сделать отправку нотификаций по почте администратору о новых закачках. В текст нотификации обязательно вставлять текущие Release Notes.
  
==Доработки главной страницы==
+
* Добавить диалог подтверждения ко всем операциям "Delete".
  
* Вместо списка продуктов необходимо отображать список клиентов/лицензий, которые не полностью заполнены (не подписан договор).
+
==See Also==
  
==Изменения процедуры добавления дистрибутива==
 
  
* О том что админ должен верифицировать апдейт и принять решение рассылать или не рассылать кастомерам подписку.
+
__NOTOC__

Latest revision as of 12:56, 20 April 2008

RM Updates

Tasks Overview

  • Релизовать подписки.

Bugs

  • Конвертацию /r/n (новая строка) в
    (см. описания там всё в одну линии).

Доработки раздела "Products"

Ссылка: http://rm.medialooks.com/product/edit/4

Параметры:

  • Добавить параметр Release Notes Link (это ссылка на вику, которую нужно будет вставлять в письма).
  • Добавить параметр License Update Link (это ссылка на платежную систему, которую нужно будет вставлять в письма).

Доработки раздела "Customers"

Вьюха customer/index.rhtml

Ссылка: http://rm.medialooks.com/customer

Параметры:

  • customer.email нужно либо проапгрейдить либо заменить на другой. Контактов на одного клиента может быть несколько (любое количество) - поэтому тут через список должны выводиться все контакты клиента, в виде Name <email@email.com>.

Вьюха customer/show.rhtml

Ссылка: http://rm.medialooks.com/customer/show/1

Параметры:

  • Добавить параметр "список контактов" (вместо customer.email). Рямдо с каждым контактом стоит checkbox - если checked, то данный контакт подписан на рассылку Updates по данному продукту. Если не checked, то не подписан. Эти чекбоксы используются для подписки/отписки котнтактов от рассылки Updates.
  • Subscribers (список контактов, подписанных на обновления по данному продукту).

Подписки

Каждый контакт может быть подписан на любое количество имеющихся подписок.

В первом приближении нужно две подписки:

  • Updates. Автоматические нотификации о новых версиях тех продуктов, которые лицензированы у данного контакта. Высылается каждый раз когда в RM появляется новый релиз продукта (впоследствии логика будет усложнена).
  • LicenseExpired. Автоматические нотификации об истечении срока действия лицензии (license.expires.strftime). Высылается за 7 дней до окончания срока действия лицензии. Высылается повторно в день окончания срока действия лицензии.

Обе подписки выставляются контактам автоматически. Т.е. все контакты клиента по-умолчанию подписаны на все подписки, связанные с лицензиями данного клиента.

Необходимо учесть что на одного контакта может быть заведено любое количество лицензий одного и того же продукта. Отличаться они при этом будут по allowed_modules и по датам. Для рассылки Updates при возникновении обновлений должно отсылаться одно письмо. Если при этом у одной (или более) из лицензий уже истек license.expires.strftime, то в письме должен сработать соотв. шаблон.

Шаблоны писем

Веб-интерфейс для редактирования шаблонов писем пока делать не нужно. Достаточно указать в каких файлах лежат шаблоны и в каких контролах я могу редактировать параметры "From" и "Reply-to".

Директива IF/ELSE. Например, для случая если для данного продукта уже истекла лицензия - что-т вроде <IF license_expired> ... <ELSE> ... <END>.

Переменные:

  • Cсылка последнюю версию продукта.
  • Release Notes (из текущего релиза).
  • Ссылка на апдейт лог.
  • Ссылка на оплату продления лицензии.
  • Дата, когда заканчивается (или закончилась) лицензия на данный продукт.
  • Ссылка на отписку от данной рассылки.

Интеграция с формой feedback на сайте

К форме контактов на сайте необходимо добавить checkbox. Если при сабмите формы он прочекан, то в RM необходимо подписать данный email на подписку Updates. Как это лучше сделать - нужно подумать:

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

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

Отписки

В письмо должна вставляться ссылка на отписку от данной рассылки. Вид ссылки может быть очень простым и содержать email, id подписки, id продукта и какой-нибудь хэш (чтобы нельзя было подстановкой в УРЛ любой email отписать от любого продукта). Если на данный email заведено более одной лицензии на данный продукт, это не играет роли - отписывается email от продукта.

Ограничение: Если данный email привязан к действительной лицензии (т.е. такой у которой еще не закончился license.expires.strftime) и является единственным, то его отписывать не надо, а нужно выдать сообщение Sorry, at least one email has to be subscribed if you have a valid license. Please contact MediaLooks if you want to be permanently removed. (Покажи плиз в какой вьюхе это можно будет редактировать.)

Мелкие доработки

  • Сделать что-бы можно было обновлять файл без изменения описания и версии.
  • Сделать отправку нотификаций по почте администратору о новых закачках. В текст нотификации обязательно вставлять текущие Release Notes.
  • Добавить диалог подтверждения ко всем операциям "Delete".

See Also

Personal tools