NPJ next: Документация/AccountClassesИлиКлассыЖурналов ...

Главная | Каталог | Изменения | НовыеКомментарии | Пользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Account Classes или «классы журналов»

Оглавление документа

1. Что такое Account Classes


Account classes или «классы журналов» (иногда ещё транслитерируется как «классы аккаунтов») — это наборы настроек, применяемых при создании и дальнейшем обращении с журналами определённого рода.

Классы журналов позволяют разделить журналы на дополнительные к делению «пользователь-сообщество-РГ» группы («класс» выбирается при создании журнала) и в зависимости от класса управлять такими настройками как:


Кроме этого, с помощью классов журналов можно добиться «подчинения журналов», т.е. когда созданный журнал будет считать своим «наджурналом» какой-то другой. Но подробнее о том, что это даёт, надеюсь, в другой раз.
!!
NB: для написания имени класса журнала используйте только маленькие латинские буквы, минус и цифры!!

2. Применение Account Classes


Ниже кратко написано, что нужно делать в конкретных типичных случаях.
Полное описание формата находится в следующей главе.

2.1. Создание журнала нужного класса


Самое интересное.
Для того, чтобы попасть в форму регистрации нового журнала определённого класса, необходимо специальным образом сконструировать URL (или НПЖ-адрес на ссылке):


Первый из приведённых примеров переходит к форме регистрации «пользователя» класса maintainer, второй — «рабочей группы» класса software. Третий и четвёртый представляют собой примеры записи аналогичных ссылок в НПЖ-адресации.

Иными словами, адрес для формы регистрации состоит из трёх частей

  1. Адрес регистрации (http://your-node.ru/registration)
  2. Тип пользователя (user, community, workgroup)
  3. Класс журнала (например, maintainer)

2.2. Ограничение доступа к регистрации журналов определённого класса


Если вы хотите, чтобы журналы определённого класса можно было создать только как «рабочие группы», укажите 2 в опции type.

Для того, чтобы задать гибкие права на регистрацию журналов вашего класса class1 с помощью ACL, используйте настройку
<?
  $this
->account_classes_registration_mode = array( // overrides $this->registration_mode
     
"class1"   => array( "username username username@nodename !username" => ),
?>

Число 1 в этом примере управляет режимом премодерации:


Пар ACL-режим может быть сколько угодно для одного класса.

2.3. Генерация стартового содержимого журнала при регистрации


Этот процесс называется «популяция». При создании нового журнала происходит «популяция» в него кластера записей, соответствующего типу этого журнала (User, Community, Workgroup) из журнала node@.

Вы можете расширить и перекрыть «популируемый» набор документов, создав для своего класса class1 кластер документов по адресу: node@your-node-name:Accounts/Class1. Собственно документ с этим адресом перекроет корневой документ вновь созданного журнала, а все поддокументы этого кластера скопируются в документы вновь созданного журнала.

2.4. Выбор HTML-шаблона для вывода аккаунтов определённого класса


Пока нереализовано.

2.5. Реконфигурация модулей, используемых в данном журнале


Как гласит документация /Документация/Модули, каждый модуль имеет свой конфигурационный файл, где содержит свои общие для всего узла настройки. Эти настройки можно изменить с помощью опции-массива modules_override.

2.6. Подчинение журналов


Для подчинения журналов вам потребуется сконфигурировать два класса: «родитель» и «ребёнок».
После чего в «ребёнковском» классе указать на «родителя» опцией parent_class.
Если вы хотите автоматической сборки логинов аккаунтов класса «ребёнок» с использованием логина «родителя», включите опцию parent_login_concat.

2.7. Настройка глобальных групп доступа


См. также сами глобальные группы доступа.
Вкратце, для включения этой возможности, вам будет необходимо создать класс журнала, который определить как «класс глобальных групп доступа» с помощью строки в конфигурационном файле:
<?
$this
->global_accessgroup_class "accessgroup";
?>

Название класса здесь — accessgroup. Все вновь созданные журналы этого класса будут являться глобальными группами доступа.


3. Формат конфигураци классов журналов


Ниже перечислены и разобраны все доступные в настоящий момент опции и настройки конфигурации классов журналов.

3.1. Описания классов


Описания классов представлены в однотипном формате в настройке:
<?php
  $this
->account_classes = array(
     
"person"   => array( "name" => "Участник группы Pixel-Apes",
                          
"type" => 0,
                          
// ... другие параметры
                        
),
?>

Все параметры описания (опции) могут отсутствовать, кроме name.
Ниже приведено описание существующих опций:

3.2. Настройки регистрации


Вот эта настройка:
<?php
  $this
->account_classes_registration_mode = array( // overrides $this->registration_mode
     
"class-name"    => array( "mendokusee"     => 2,
                               
"admins"         => 1, ),
   );
?>


4. Типовая реорганизация конфигурационных файлов


Как правило, конфигурация классов журналов получается достаточно объёмной и заслуживает выноса в отдельный файл, где её проще будет искать и корректировать. Поэтому обычно файл config.php изменяется таким образом:
<?php
  
...
  include(
"config_tunes.php");
  include(
"config_account_classes.php"); // <- new line
  
include("config_db.php");
  ...
?>

Т.е. добавляется новая строка, подключающая файл config_account_classes.php. Ниже приведено несколько примеров содержимого таких файлов.

5. Примеры


Ниже приведены несколько примеров из реальной жизни. Каждый пример — это содержимое файла config_account_classes.php:


 
Один файл. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]
Поделиться ссылкой