Възможно ли е да се ограничи част от смарт формуляр на Ektron до конкретна потребителска група?

Възможно ли е да се ограничи част от смарт само до определена потребителска група и ако потребителят, който се опитва да редактира съдържанието на смарт формуляра, не е от тази група, тогава потребителят не може да промени тази част от съдържанието?

Пример:

Да приемем, че имам интелигентен формуляр за служител с полета за EmployeeBio, EmployeeHireDate и EmployeeDept. Би ли било възможно да се позволи на общата потребителска група автор да може да редактира полето EmployeeBio, но да се ограничат полетата EmployeeDept и EmployeeHireDate само до потребителска група HRAdmin?

Ако помага, използвам Ektron 9.00 SP3.


person techdave3349    schedule 14.05.2015    source източник


Отговори (1)


Доколкото знам, или можете да редактирате блок със съдържание, или не; няма начин за подразделяне на разрешенията на базата на поле за смартформа.

Това, което можете да направите, е да групирате ограничените полета в техен собствен интелигентен формуляр и след това да посочите това чрез поле за избор на ресурси за съдържание.

Така че вашият интелигентен формуляр за служител може да изглежда така:

/root/txtName  (not in your example, I know...)
/root/rtfBio
/root/cresHRID

Странична бележка: Използвам унгарски нотация за моите имена на полета тук. txt указва поле за обикновен текст, rtf указва поле с форматиран текст (html), а cres указва селектор на ресурси за съдържание.

Тогава бихте могли да имате втора интелигентна форма... нека я наречем EmployeeHR и тя ще има следната структура:

/root/hireDate
/root/txtDepartment

Това на теория би проработило. Въпреки това трябва да кажа, че наистина не обичам да разделям този конкретен тип данни по този начин. Първо, отделът смята, че би функционирал по-добре като таксономия, към която можете да добавите блока със съдържание. Второ, изглежда, че този тип данни биха били по-добре обслужвани, ако се съхраняват извън ektron и след това се използва DxH (Digital Experience Hub) конектор за пренасяне на данните в Ektron. По този начин външната система може да обработва разрешения на по-подробно ниво и вие все още ще имате достъп до данните в Ektron за използване другаде в сайта.

АКТУАЛИЗИРАНЕ

Докато размишлявам над този въпрос още малко, ми идва наум друга опция. Можете да напишете ASPX страница или UserControl, които проверяват дали сте влезли и сте член на определена група, преди да ви представи персонализиран екран за редактиране. Следният код ще провери дали текущият потребител е член на администраторската група; можете да замените различен идентификатор на група, за да отговаря на вашите нужди:

// Not sure off hand which of these using statements provides access to EkConstants...
using Ektron.Cms;
using Ektron.Cms.Common;
using Ektron.Cms.Content;

var userGroupApi = new Ektron.Cms.Framework.User.UserGroupManager();
var isInGroup = userGroupApi.IsUserInGroup(currentUserId, EkConstants.g_AdminGroup);

Това може да бъде внедрено като ASPX страница на вашия сайт или може да бъде внедрено като джаджа и поставено в раздела Smart Desktop на потребителя в работната област. Така или иначе, имате много възможности да получите това, което искате, просто нищо извън кутията.

person Brian Oliver    schedule 14.05.2015
comment
Смятах, че правенето на това в работната зона е невъзможно. Мислех, че ако клиентът наистина го иска, разделянето на интелигентната форма би било възможност, но не и такава, която бих искала. Въпреки че това, което предоставих, беше само пример, не съм разглеждал много DxH и трябва да го разгледам по-късно. И накрая, това е интересна идея за създаване на aspx страница или контрола за персонализирана редакция. Благодаря ви за отговора; Отбелязах го като отговор, тъй като предоставихте възможно решение на посочения проблем. - person techdave3349; 14.05.2015