Тема: Как добраться до рабочего стола пользователя?

Очень хочется добраться из скрипта до рабочего стола пользователей. GUI ведь это позволяет... Требуется для ответа на вопрос "а где кроме как ThisApplication.Root.Objects... есть ссылки на ThisObject?" Было бы неплохо, если бы у TDMSUser было свойство Desktop со всеми вытекающими.. Может, оно есть, просто опять недокументировано? smile Это я про TDMS2.0.

(изменено: Anatoly, 16 мая 2007г. 09:20:55)

Re: Как добраться до рабочего стола пользователя?

Может, оно есть, просто опять недокументировано? smile Это я про TDMS2.0.

Оно недокуменировано, т.к. этого св-ва просто нет  ;)

В ближайшее время в 3-шку должны добвить  ;)

По-поводу второй версии - не уверен  :(

Re: Как добраться до рабочего стола пользователя?

Anatoly пишет:

В ближайшее время в 3-шку должны добвить  ;)

Юзаю сборку 3.0.129
До сих пор такого свойства нет   :(

Re: Как добраться до рабочего стола пользователя?

SafiullinMF пишет:

Юзаю сборку 3.0.129
До сих пор такого свойства нет   :(

Вы должны понимать, что это свойство будет работать только под логином системного администратора. Также хотелось бы более подробно узнать суть операции, для которой вам требуются чужие рабочие столы.
Как правило на рабочих столах лежат только ссылки и их удаление даже не обрабатывается событиями TDMS. Поэтому прежде чем реализовывать новое свойство, хотелось бы понять на сколько оно действительно необходимо.

Re: Как добраться до рабочего стола пользователя?

McZag пишет:

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

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

Re: Как добраться до рабочего стола пользователя?

SafiullinMF пишет:

Выборки не используем, чтобы была возможность удалить с рабочего стола объекты, когда они станут неактуальны.

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

Re: Как добраться до рабочего стола пользователя?

Slava.Coder.Vrn пишет:

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

Конечно можно все это сделать. Я и не утверждаю что свойство рабочего стола жизненно необходимо. Тем не менее о нем было заявлено ранее, а мне надо было в первую очередь убедиться что его действительно нет.

Re: Как добраться до рабочего стола пользователя?

Как запретить системному администратору определенных объектов возможность создавать на рабочем столе все другие объекты?
Я так понимаю, что в данном случае запрет на создание данных объектов в узле "Объекты" не распространяется на Рабочий стол.

Re: Как добраться до рабочего стола пользователя?

распространяется.

Re: Как добраться до рабочего стола пользователя?

Anatoly пишет:

распространяется.

Скажем такая структура: есть Папки, в них Разделы, в них Документы.
Пользователь является системным администратором Разделов и Документов.
Объекты он создавать не может.
Но при этом на рабочем столе он может создавать и Объекты и разделы и Документы.
Это правильно?

Re: Как добраться до рабочего стола пользователя?

Если я не ошибаюсь, то у Вас не запрещено редактирование "состава" на системном объекте "Объекты". Если это запретить, то и на рабочем столе ничего создавать будет нельзя.
Создавать же объекты верхнего уровня я советую иммено по команде - так более правильно (хоть и не всегда удобно)

Re: Как добраться до рабочего стола пользователя?

Anatoly пишет:

Если я не ошибаюсь, то у Вас не запрещено редактирование "состава" на системном объекте "Объекты". Если это запретить, то и на рабочем столе ничего создавать будет нельзя.
Создавать же объекты верхнего уровня я советую иммено по команде - так более правильно (хоть и не всегда удобно)

Если я правильно поняла, то на системном объекте "Объекты" должна быть роль для всех пользователей, у которой запрещено редактирование "состава"?
Дело в том, что на системном объекте "Объекты" есть всего одна роль для одного пользователя - Sysadmin'a. И она разрешет редактирование "состава".
Если на объекте нет никакой роли, то это будет означать "разрешение" редактирования "состава"?

Re: Как добраться до рабочего стола пользователя?

ikkat пишет:

Скажем такая структура: есть Папки, в них Разделы, в них Документы.
Пользователь является системным администратором Разделов и Документов.

как это?  :blink:

Боюсь пока не разберемся в терминологии, друг друга не поймем. ))))
В TDMS есть только 1 системный администратор (SYSADMIN) имеющий абсолютные права к БД (может изменять системные элементы, видеть всю информацию).
Так же есть администраторы (владельцы) объектов, которые имеют права назначения прав на эти объекты. Причем администраторы ничем не отличаются от обычных пользователей, за исключением того что могут назначать права доступа на те объекты, на которые они назначены администраторами (владельцами). Причем администраторы назначаются на объект (вкладка системные на карточке объекта), а не на тип объекта...
разделения прав доступа по типам объектов в системе TDMS никогда небыло и сейчас тоже нет. )))

Итак. Создавать объекты в составе других объектов (включая системный корневой объект "Объекты") могут пользователи имеющие право редактирования состава этих объектов. Дать такое право могут администраторы (владельцы) этих "объектов-родителей".

Создавать объекты на своем рабочем столе может только системный администратор (SYSADMIN).
Другие пользователи, в том числе администраторы (владельцы), могут лишь размещать ссылки на уже созданные объекты.

Re: Как добраться до рабочего стола пользователя?

Mishaf пишет:

как это?  :blink:

Боюсь пока не разберемся в терминологии, друг друга не поймем. ))))
В TDMS есть только 1 системный администратор (SYSADMIN) имеющий абсолютные права к БД (может изменять системные элементы, видеть всю информацию).
Так же есть администраторы (владельцы) объектов, которые имеют права назначения прав на эти объекты. Причем администраторы ничем не отличаются от обычных пользователей, за исключением того что могут назначать права доступа на те объекты, на которые они назначены администраторами (владельцами). Причем администраторы назначаются на объект (вкладка системные на карточке объекта), а не на тип объекта...
разделения прав доступа по типам объектов в системе TDMS никогда небыло и сейчас тоже нет. )))

Итак. Создавать объекты в составе других объектов (включая системный корневой объект "Объекты") могут пользователи имеющие право редактирования состава этих объектов. Дать такое право могут администраторы (владельцы) этих "объектов-родителей".

Создавать объекты на своем рабочем столе может только системный администратор (SYSADMIN).
Другие пользователи, в том числе администраторы (владельцы), могут лишь размещать ссылки на уже созданные объекты.

У меня сделано так, что в корневом объекте "Объекты" нет объектов, которые можно создать или добавить (Объекты уже были один раз созданы системным администратором (SYSADMIN), назовем их Папки).
Но при этом у пользователей, которые могут быть администраторами (владельцами) объектов (назовем их Документы), которые входят в состав объектов - Папки, есть возможность создавать Папки на своем рабочем столе, через кнопку "Создать" в панели инструментов "Стандартная".
При этом есть Папки, на которые пользователи, которые могут быть администраторами (владельцами) объектов - Документов совсем не имеют прав доступа. Так как права на эти объекты - Папки еще не даны.

Re: Как добраться до рабочего стола пользователя?

Да действительно, администраторы системы могут создавать на рабочем столе ЛЮБЫЕ типы объектов. Если вы хотите этого избежать, то пользователя придётся убрать из иерархии администрирования. Если администраторы на конкретных экземлярах объектов всё таки нужны, то их можно назначить командой или по событию, даже если назначаемый пользователь не входит в группу администрирования.