Replicate Or Copy Documents

Тема в разделе "Lotus - Программирование", создана пользователем alik86, 2 окт 2009.

  1. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Господа, у меня следующая ситуация:
    Имеется приложение, к которому имеют доступ все пользователи и в котором защита информации реализована на уровне документов (при помощи полей Readers).
    На уровне приложения необходимо запретить пользователю реплицицировать приложение себе на компьютер (соответственно использую галку Replicate or copy documents в ACL).
    Так вот теперь вопрос:
    Как запретить пользователям репликацию, но дать возможность копировать свои документы (в частности текст из полей документа).
    P.S. И вдогонку, какие дела творит поле $KeepPrivate и не в его ли сторону мне надо думать?
     
  2. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Если есть поле $KeepPrivate, то документ неполучится распечатать, как файл->печать) А copy documents - это, я так понимаю, пользователь не сможет скопировать именно документ.
     
  3. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    В том то и проблема, что он не может скопировать не только документ, но и текст из полей документа - а надо, что бы мог (в свойствах формы галка Disable printing/forwarding/copying to clipboard снята).
    P.S. $KeepPrivate, насколько я понял хелп, отвечает именно за replicate or copy...
     
  4. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    "Replicate or copy documents" в ACL реализовано криво. Если пользователь без этой галки отредактирует документ, то у документа пропишется поле $KeepPrivate, и всё. Как следствие, если пользователь имеющий такую галку в ACL попытается скопировать, распечатать или отреплицировать документ с уже установленным $KeepPrivate -- ему уже не позволят.

    Совсем запретить репликацию на локал можно разве что хуком.
    Любопытно, зачем это понадобилось?
     
  5. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Интересно, что в вашем понятии тогда документ?!

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

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Товарищ abbatik, в моем понимании документ, то же самое, что и в Вашем, и в понимании господ из IBM, тут вопрос не в терминологии… :rolleyes:
    Ну а если упрощенно, в данном случае документ – это как минимум набор полей (ну или как-то так)...
    1) Выбрал я в виде документ -> нажал Ctrl+C -> скопировал документ
    2) Открыл я документ -> выделил там некий текст -> нажал Ctrl+C -> скопировал текст из поля документа.
    Вот второй-то вариант меня и интересует…


    Нашел у наших заокеанских коллег следующее решение:
    However, on documents in a database where users have had the option of Replication or Copying documents unchecked, a $KeepPrivate field can be set to equal "0" on individual documents. Then users can print, or copy the document in the database, but still be prevented from replicating any document in the database.

    Сделал все как, они говорят:
    - снял Replicate or copy documents;
    - присвоил $KeepPrivate значение «0».
    Ну а Lotus всё равно гнет свою линию, и, при попытке скопировать текст из поля, говорит: «You are not authorized to replicate or copy data from this database».
    Это коллеги заморские приврали или я упустил какое-то подлое английское словечко и недопонял сути? Никто не сталкивался с таким решением?

    P.S. Кстати, интересная штучка вышла с нааоборотом: если для кого-то разрешено Replicate or copy documents, а $KeepPrivate для документа присвоить «1», то этот кто-то не сможет скопировать этот документ…
     
  7. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Собственно, об этом я и писал в предыдущем посте.
     
  8. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Версия ПО может играть роль (
     
  9. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Для TIA: Гы. Извини, не углядел. Но "наоборот" может пригодиться в будущем, а теперь мне надо именно разрешить копировать.
    P.S. А под хуком ты имел ввиду прием из бокса? :rolleyes:
    Для Akupaka: у меня 8 и решение это я нашел на IBM Lotus Notes/Domino 8.5 Forum...
     
  10. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Попробуй удалить поле $KeepPrivate в QueryOpen или CFD-полем.
    P.S. Никого я не имел, тем более на виду :rolleyes: . Серьёзно: я говорил о dll устанавливаемой на клиентском компе и перехватывающей сохранения документов.
     
  11. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Пробовал и CFD, и удалял, и "0" присваивал, один х... Lotus всего лишь меняет формулировку, но все равно предлагает мне проследовать куда подальше :D
    Если $KeepPrivate = "1" , то "You cannot or otherwise copy the contents of this document. This document is set to prohibit copying and duplicating",
    если $KeepPrivate = "0" или его нету, то "You are not authorized to replicate or copy data from this database".
     
Загрузка...

Поделиться этой страницей