Учебник по Showcase: Типы контекстов

Материал из Course Orchestra
Перейти к: навигация, поиск

Внимание! Изложенная здесь информация устарела! В качестве учебника следует использовать https://share.curs.ru/webhelp/ (work in progress).


Задание контекста

Мультиконтекст - это параметры с которыми запускаются хранимые процедуры для формирование XML файлов описывающих элементы информационной панели. Мультиконтекст включает в себя 3 основных параметра:

  • контекст сессии (session_context)
  • контекст панели (main_context)
  • контекст элемента (add_context)

Статически задать в описании действия можно только main_context и add_context, session_context формируется автоматически на сервере перед передачей запроса в БД.

main_context и add_context могут содержать любые данные в формате xml - в т.ч. тэги с указанием namespace

session_context

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

<sessioncontext>
    <username>имя пользователя</username>
    <sid>S-1-5-21-3280272421-4220533252-1382601228-1147</sid>
    <email>info@curs.ru<email/>
    <fullusername>полное имя пользователя</fullusername>
    <phone>9392612<phone/>
    <userdata>название userdata (из URL)</userdata>
    <urlparams>
        <urlparam name="paramName1" value="[val1,val2]"/>
        <urlparam name="paramName2" value="[val3,val4]"/>
    </urlparams>
</sessioncontext>

Если userdata в URL не задана - устанавливается значение default. Если параметры URL не заданы - тэг urlparams не добавляется.

sid, email и phone задается только для пользователей Аuthserver и ActiveDirectory, для внутренних пользователей Showcase тэг <sid> есть, но передается пустая строка.

Замечание: Не рекомендуется использовать русские символы в названиях userdata и других URL параметрах, т.к. могут наблюдаться проблемы у некоторых версий Firefox и IE.

main_context

В параметр main_context передается xml или строка, которая может быть использована во всех процедурах элементов панели. Чаще всего этот параметр задается в навигаторе и в дальнейшем для элементов панели остается неизменным. Например:

   <navigator width="220px">
      <group id="1" name="Учебный пример">
         <level1 id="11" name="Справочники">
            <level2 id="111" name="Орг.структура" selectOnLoad="true">
               <action>
                  <main_context>isValid</main_context>	
                  <datapanel type="orgStructure.xml"/>
               </action>
            </level2>
         </level1>
      </group>
   </navigator>

В данном примере все элементы панели orgStructure.xml в пункте "Орг.структура" получат контекст main_context равный isValid. Таким образом в процедуре каждого элемента панели параметр @main_context будет иметь значение isValid

add_context

В параметр add_context также передается xml или строка. У каждого элемента может быть свое значение данного контекста. Более подробно использование add_context мы рассмотрим позднее.