2010-11-02 3 views
1

Я новичок в приложениях для iPhone и API GData. Я хочу использовать Документы Google как хранилище данных для моего приложения многопользовательского, существует необходимость для управления правами доступа к данным:Как увидеть в приложении iPhone, что Google Документ изменился?

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

Помогите мне найти способ решить эту проблему.

Моя идея такова: мне нужно иметь два файла, файл «ApplicationData», где будут храниться мои данные, и файл «DataInfo», где имена пользователей, которые работают с данными, будут сохранены в правильной последовательности. Когда первый пользователь завершает работу, он удаляет первую строку со своим именем в «DataInfo». И все остальные пользователи, у которых есть доступ только для чтения, должны загружать «DataInfo» каждую минуту (например) и проверять, изменилась ли ситуация. Но я очень сомневаюсь, что это хороший способ решить мою проблему. Я не думаю, что это хорошо для того, чтобы количество пользователей загружало один и тот же файл так часто.

Любые идеи?

ответ

0

Блокировка других пользователей, вероятно, не будет работать надежно, так как приложение почти наверняка пренебрегает «разблокировкой» документа, когда он неожиданно завершает работу.

До тех пор, пока загруженные обновления в Документы Google имеют надлежащий атрибут ETag (gd: etag) в записи документа, тогда клиентское приложение, пытающееся обновить документ, получит сообщение об ошибке, указывающее, что документ на сервере изменился. Затем клиентское приложение должно загрузить версию с сервера и согласовать различия, если таковые имеются.

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

Хотя Google Docs предназначен для одновременного взаимодействия в режиме реального времени между несколькими пользователями, API-интерфейс Docs не является. В случаях, когда несколько пользователей активно пытаются работать с одним и тем же документом, вам, вероятно, потребуется создать собственный сервер, чтобы иметь надежное решение.

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

  • Нет связанных вопросов^_^