Table of Contents

About the System

Bitrix24 Self-hosted is a software suite aimed to help create and manage the company's internal web resource that would embrace communicational, organizational and HR tasks of a company.

Minimum System Requirements

For successful installation and functioning, the server software must meet the following minimum system requirements.

  • An Apache web server. Install it if not installed yet and configure it to support PHP. The minimum requirements are Apache version 1.3 or higher and PHP version 5.3.0 or higher.
  • A database engine (MySQL version 5.0 or higher, Oracle 10g or higher or MSSQL 2000 or higher).
  • To install the Oracle version, ensure that the Oracle 9 client is installed; create a new user.
  • If you reinstall the system, delete tables from the database.
  • 500 GB available hard disk space (32-bit or 64-bit), or higher

Public Section

You can select any design for the intranet portal. By default, you can select one of the two templates at the installation time:

Click on image to enlarge

In future, you can change the design template by running the Configuration Wizard. See the installation guide for more information on these actions.

By default, the intranet portal has the following structure.

  • Main page – this is the first page of the intranet portal that introduces a company to a user. It displays the company essential information.
  • Employees – this area is used for communication; contains all the required information about the company staff. Here, you can search for an employee or obtain the detailed information (available personal or official) about them and their presence at the office.
  • Documents –provides teamwork features. The access to all the site documents follows the permissions of a group to which a user belong.
  • Workgroups –contains information on the company workgroups, which in their turn are grouped by topic, for example: Projects, Managers etc. The group topics are defined by the portal administration.
  • Communication – the section that offers many various features for the company members to communicate.
  • Services – offers special services and useful information to employees. Here, you can send a request, obtain technical support etc.
  • Company – this section contains various information about the company.

If you want to apply your own design template, you should first integrate it in Bitrix Intranet Portal.

Control Panel

The Control Panel interface manages all the system settings, individual modules and the portal content.

Click on image to enlarge

Control Panel allows to:

  • configure the system settings;
  • upload and install system updates;
  • configure the parameters of individual modules;
  • manage users and user groups;
  • create the portal sections and pages;
  • configure the access permissions to the portal pages and sections;
  • perform the portal management related actions.
Note! This course uses the words site and portal as synonyms.

Managing Users

The foundation of the portal management architecture is the access permission distribution.

This chapter describes the process of the user group creation and configuration; the user account creation and importing users from external sources.

User Groups

Attention! You should make a distinction between the concepts: user group and workgroup within the context of the social network. A workgroup is a group of employees gathered together to solve a task within this context. However, they can belong to different user groups.

The system comes with several preset user groups. The groups are managed on the User groups page: Settings -> Manage users -> User groups

Click on image to enlarge

Note! The two user groups always exist in the system: All users (which implies unauthorized users as well) and Administrators:
  • by default, all unregistered users who have only a permission to view the site public pages belong to All users (including unauthorized users);
  • the site administrators having full access permission (including changing access permission of other users) belong to Administrators.
You can edit the parameters of these user groups (name, description, access permissions), but the groups cannot be deleted.

Creating New Groups

You can create your own user groups if needed. For this, open Settings > Manage users > User groups.

Click Add group on the context toolbar. A new group creation form will open:

Click on image to enlarge

Fill in the form fields. The fields are described in detail in the software documentation (click Help on the Control Panel toolbar).

Save changes. The group will appear in the groups list.

Note! Groups can be created automatically when importing users from external sources.

Attention! Bear in mind that the Access tab is not the only control point to configure group access permissions. An individual access permission can be assigned to an information block. Moreover, you can specify access permissions for a page or a section other than specified in the Access tab.

For details on access permission configuration, see also the System administration course.

Users

The Kernel module is the control point for the portal user accounts and the user group settings. You can add new users can be added manually or automatically using the import procedure.

To view and manage the user accounts, open Settings > Manage users > User list:

Click on image to enlarge

To add a new user, click Add user on the context toolbar. A new user creation form will open:

Click on image to enlarge

On the User tab, fill in the following required fields: E-mail, Login, New password and Confirm new password; specify the user information. Switch to the Groups tab and select the groups to which a created user will belong by checking boxes in the corresponding fields:

Click on image to enlarge

Fill in the other form fields if needed. Save changes.

As a result, the created user will be added to the list.

Note! If the user self-registration feature is enabled (in the Kernel module settings), the user account will be created automatically upon registration.

Note! The administrator account is created at the installation time automatically. Later on, the administrator registration data can be modified, but the account cannot be deleted.

Importing Users

To add a series of users to the system, use the Import users form.

Note! When uploading users to the system, you can retain their previous user group binding, or specify a user group to which the users will be added. However, you cannot add an individual import user to a certain group.

Open Settings > Manage users > User import. The following form will show:

Select the required data source and click Next.

Further actions on importing users are described in this chapter according to the data source selected.

Importing from a CSV File

Important! If the system uses the UTF-8 encoding, a CSV file must be created in this encoding as well.

Preparing a CSV File

A valid CSV file must exist before you import users from it. The file must have the following format:

header
data
data
data

Each line in the file represents a table row. A header can include any records in a single line. The header describes the data that follows it. The values in each line (the header and the data) are separated by a delimiter.

Example of user data header

LAST_NAME;PERSONAL_PHOTO;NAME;SECOND_NAME;WORK_POSITION;EMAIL;PERSONAL_BIRTHDAY;PERSONAL_GENDER;WORK_PHONE;UF_1C_PHONE_INNER;PERSONAL_MOBILE;PERSONAL_ICQ;LOGIN;IBLOCK_SECTION_NAME_1;IBLOCK_SECTION_NAME_2;IBLOCK_SECTION_NAME_3;IBLOCK_SECTION_NAME_4

The data in fields must match the format prescribed by the header. The field must exist no matter whether it is empty or not; essentially it means that, if there is no data for a field, the separator must exist (e.g. “;;”).

For example: if the file header has the following format:

LAST_NAME;PERSONAL_PHOTO;NAME;SECOND_NAME;WORK_POSITION;

and there is no data for some fields, say 2, 4 and 5, the data row must still be like the following:

Brown;;Andrew;;

Consider the following aspects when formatting a CSV file:

  • Any delimiter character is allowed: comma (,), semicolon (;), space or tab. No spaces can exist between the values. If a delimiter is a space, make sure no double spaces have been added between the values.
  • If a comma is the part of a value (for example, if the object properties are comma-separated), enclose the value in quotes ("yellow,red,green").
  • If double quotes are the part of a value, enclose the value in double quotes. For example: "John" in a CSV file must look as ""John"".
  • Empty rows in a CSV file are not allowed.
  • The headers, string values, and logins are case insensitive.
  • Passwords are case sensitive.
  • Boolean values can be presented as: Y ­- true; N - false.
  • Any excessive data existing after the last identified field are ignored. For example, if a file header specifies 10 values while the row contains 12 values, the last two values will be ignored.
  • Empty data fields are processed as empty strings.
  • The time and date format must be set in the format of the site language. For example: MM/DD/YYYY HH:MI:SS for English.

Exporting Users from Bitrix24

To export users, do the following.

  • Open Settings > Manage users > User list.
  • Click Excel to download data.
  • After downloading, edit the file to conform the CSV format requirements:
    • delete the export summary information at the end of the file;
    • if required, change the field names in the file header with the correct ones (see the Data types table below);
    • check if the fields are filled correctly (see the Data types table below).

Data Types

The table contains all the data types that may encounter in a CSV file.

Value Type Required Comments
ACTIVE boolean No. Default is True. Active.
LOGIN string No. Auto generated by default. Specifies a user login, min. 3 characters.
PASSWORD string No. Auto generated by default. Specifies a user password, min. 6 characters.
NAMEstring Yes User’s first name.
LAST_NAME string Yes User’s last name.
SECOND_NAME string No User’s second name.
EMAIL string No. Default value is the administrator’s e-mail. The E-mail address.
DATE_REGISTER dateNo. Default is the current date. The date a user was registered.
LID string No The ID of a default site for notifications.
ADMIN_NOTES string No Administrator’s notes.
EXTERNAL_AUTH_IDstring No The external authorization source ID.
XML_ID string No The user ID for external connection (e.g. ID in an external database).
Personal data Type Required Comments
PERSONAL_GENDER string No Gender: M – male; F – female.
PERSONAL_BIRTHDAY date No Date of birth.
PERSONAL_CITY string NoAddress: city.
PERSONAL_STATE string NoAddress: region, state etc.
PERSONAL_ZIP string NoAddress: ZIP code.
PERSONAL_WWW string NoPersonal web site URL.
PERSONAL_PROFESSIONstring NoProfession.
PERSONAL_NOTES string NoArbitrary notes.
PERSONAL_ICQ string NoICQ account number.
PERSONAL_PHONE string NoHome phone.
PERSONAL_PHOTO string NoThe path to a photo relative to a folder specified in the import parameters.
PERSONAL_FAX string NoFax number.
PERSONAL_MOBILE string NoMobile phone number.
PERSONAL_PAGER string NoPager.
PERSONAL_STREET string NoAddress: street.
PERSONAL_MAILBOX string NoAddress: P/O box.
Work data Type Required Comments
WORK_COMPANY string NoCompany name.
WORK_DEPARTMENT string NoDepartment.
WORK_POSITION string NoPosition.
WORK_WWWstring NoCompany web site URL.
WORK_PHONEstring NoWork phone.
WORK_FAXstring NoWork fax number.
WORK_PAGERstring NoPager.
WORK_STREETstring NoCompany address: street.
WORK_MAILBOXstring NoCompany address: P/O box.
WORK_CITY string NoCompany address: city.
WORK_STATE string NoCompany address: region, state etc.
WORK_ZIP string NoCompany address: ZIP code.
WORK_PROFILE string NoCompany profile.
WORK_LOGO string NoThe path to a company logo image relative to a folder specified in the import parameters.
WORK_NOTESstring NoArbitrary notes.
UF_*string NoUser field.
IBLOCK_SECTION_NAME_* string NoInformation block binding.

Notes:

The UF_* values are user properties created by the administrator. The properties must be created before importing users.

The IBLOCK_SECTION_NAME_* values indicate the information block binding. 5 nesting levels are possible.

Important! The name (NAME) and the last name (LAST_NAME) are the only required fields to import users from a CSV file.

Example of a CSV file:

LAST_NAME,NAME,LOGIN,PASSWORD,EMAIL
Silver,John,jsilver,Password1,jsilver@company.com
Smith,Andrew,asmith,Password2,asmith@company.com
Siskin,Peter,psiskin,Password3,psiskin@company.com
Oldfield,Ben,boldfield,Password4,boldfield@company.com
Baddeley,Jane,jbaddeley,Password5,jbaddeley@company.com
Bloodsworth,Helen,hbloodsworth,81QE1RO98M,hbloodsworth@company.com
Coleman,Kate,kcoleman,D0O4IAYOX0,kcoleman@company.com
Gabbard,Michael,mgabbard,CDUEND3SMX,mgabbard@company.com
Laycock,Harry,hlaycock,GCH425XAM6,hlaycock@company.com
Stockdale,Hamilton,hstockdale,ZD3PZHP2E7,hstockdale@company.com

To make sure you will not encounter any errors during import, check that the file data meet the specification described at the beginning of this chapter. You can check this by opening a CSV file in MS Excel:

  • Check the headers.
  • Ensure the length of all passwords is at least 6 symbols.
  • Ensure the length of all logins is at least 3 symbols.
Note! The system will always successfully import CSV files created in MS Excel. If you created a CSV file in some other application, open and check it in MS Excel.

After you have verified the CSV file, you can import it.

The Import Procedure

In the Import users form, select CSV file as a data source and click Next.

Fill in the fields in the next tab (Import Settings):

Click on image to enlarge

  • Data File – specify the pathname of the CSV file.
  • Field Separator – specify the separator character used in the file.
  • Add Users to Groups – select the group (or groups using Ctrl key) to which to add the user profiles.
  • Path to Images Relative to Site Root – the path to an image file folder relative to which the values of PERSONAL_PHOTO and WORK_LOGO are expected in the file.
  • Bind Users to Information Block Sections – select an information block to which users having the IBLOCK_SECTION_NAME_* property will be added.

    Note: only one information block can be specified. If a user is to be added to many information blocks, you will have to do it manually after import.
  • Allow LDAP authorization – specify the LDAP authorization server name. You can create a server now by clicking Create if required.

Click Next. The next step imports users. Upon completion, a message indicating the number of imported users will be shown.

Viewing Imported Data

To view the imported data, open Settings > Manage users > User list showing all the users registered in the system.

If the import procedure failed for some reason, delete all the records that have succeeded to import, correct the CSV file and perform the above actions again.

Import from LDAP Directory

To import users from LDAP directory, perform the following actions.

  • In the Import Users form, select Active Directory / LDAP as the data source and click Next.
  • Select the import server in the drop-down list (Import Settings tab):

    Click on image to enlarge

    Note! If no server still exists, it must be created. This procedure is described below.
  • Having selected the server, you will see the import fields. You can uncheck unwanted fields that are not to be imported:

    Click on image to enlarge
  • Click Next. The wizard will open the third step. The system will import the records and notify when the process completes showing the number of records added.

Creating a Server

Click the Create link in the user import form (otherwise, click Add on the context toolbar in Settings > AD/LDAP) to open the server creation form.

Note! If you encounter difficulties filling in the form fields, consult the System Administration web course containing the detailed description for each field. Ask your system administrator for the correct values of these fields.

Fill in the Server tab fields:

Click on image to enlarge

Note! The Test connection button verifies the provided data and establishes a trial connection to the server. If the verification succeeds, the server will return the available tree roots. Otherwise, the error description in red will show at the top of the screen.

Open the Field Mapping tab. Map attributes to the user fields.

Click on image to enlarge

To perform automatic configuration, click AD or LDAP link depending on your server.

The group Map user fields to LDAP attributes contains only the required fields that are periodically synchronized with Active Directory. To map more fields, click the add... link. Each field you add will be verified at the synchronization time and reverted to an original value if it has changed. Essentially, it means that if a user has edited one of these fields at the Intranet Portal, the field will be set to a value stored at an AD server.

It is a good idea to add as many fields as possible when you perform an initial import and synchronization, and then remove the fields that need not be regularly updated.

Click the Groups tabs.

Click on image to enlarge

Map the remote server groups to the Intranet portal groups.

To add users of a remote user group to many local (Intranet Portal) user groups, select this remote group as many times as needed and map it to the required local groups.

To intersect two or more remote user groups, select them and map to the same local user group. The latter will contain only users that are in all the selected remote groups.

If you want to synchronize the remote and local databases on regular basis, open the Synchronization tab. Check the option Perform full synchronization. Specify the update period in hours, and enter the Active directory (LDAP) attribute to log changes.

Save changes.

Access permissions

Access Levels

The advanced access management approach implemented in Bitrix Site Manager enables users and system administrators to configure user access permissions to any level of sophistication. The system operates on the basis of the two entities: an access level and an operation. The access level being the property of a module or a user group includes one or more permitted operations (e.g. file creation permission, user management permission etc.).

Access level — is a set of operations that a user can perform. The access levels and the underlying operations are assigned by the system administrator. The access levels are inheritable, which means that if no explicit access permission exists for a section or page, the access parameters of a parent section take effect.

A good example of a user oriented operation is Make partial correction to files containing PHP code. An administrator can enable this operation for a certain user or a user group so they can edit the component parameters or edit files containing the inclusions of PHP code.

Currently, the access levels can be specified for the modules: Kernel, Commercial Catalog, Site Explorer, Proactive Protection and SEO. Other modules will be enhanced to support access levels in the nearest future.

To manage the access levels, browse to Settings > Users > Access Levels:

Click to Enlarge

This page shows the existing access levels. Note that there are special system access levels which cannot be modified or deleted. However, you can always create a copy of any system access level and edit the copy as required.

To create a new access level, click Add acess level on the context toolbar. Obviously, the access level property form will show up:

Once you have devised a proper name and description for the new access level, select the module in which the access level will be available. Then, choose the object whose access is to be controlled by this access level. If you select Module, the level will be applicable to the selected module. If you select File/Folder, the level will control access to the files and/or folders with respect to the selected module.

The options on the Operations tab depend on the selected module and the control object. For example, the following figure shows options available for the previously selected settings (on the image above):

Once the access level is saved, it will become visible in the module settings and in the user group’s Access tab:

Module access

Permissions to access functions of the system modules can be configured:

  • in the user group editing form, the Access tab:

    Here you can set access permissions of a given user group for all modules.

  • in a module settings form (Settings –> System settings –> Module settings):

    This form allows to assign the desired access level of all user groups to a given module.

Assigning permissions to access modules allows to define the scope of actions that a user is allowed to perform on the functions and content of a module.

Additional access permission configuration is done in the editing forms of modules that allow this (see Access to Content).

For example: the site administrator decides to entrust member of the Site editors group with editing pages of certain sections. To permit site editors create and edit sections and pages, assign the To accessible folders only permission to the Site editors group:

This will allow to define files and folders that the site editors can access. You will find an example of this configuration in the Controlling Access to Files and Folders lesson.

Besides that, the Advertising and banners and Helpdesk modules introduce roles to bring more flexibility. A role implies restricted predefined set of actions available to a user group.

For example, the Advertising and banners module users can have the following roles:

  • Advertiser can access the module control panel, view their own contracts and manage their banners;
  • Banner manager can manage banners of the certain contracts (contract parameters cannot be configured);
  • Advertising administrator - implies full access to the advertising, including contracts as well as access levels of other users.

You will find a detailed descriptions of roles in the help section, in chapters devoted to respective modules.

Access to content

Certain modules provide additional customization of access to their content.

The Information Blocks Module

Note! User groups' access levels to information blocks are configured for each information block individually.

Access levels are set in the information block editing form (the Access tab).

Click on image to enlarge

For example, assume we want to allow members of the Site editors group to create and edit new entries of the Company news information block. To do so, assign the Edit permission to the Site editors group in the information block settings form:

The Web Forms Module

In this module, you can control access to web form results at the result status level.

Note: statuses are available only in the extended editing mode:

For each status, you can define user groups allowed to handle web form results in this status:

Click on image to enlarge

Controlling access to files and folders

You can assign the file and folder access permissions in the Site Explorer:

Content ->Site Explorer.

You can view the access permission of a certain user group by selecting it in the drop-down menu Show access permissions for on the context toolbar:

Click on image to enlarge   Click on image to enlarge

Do the following to change permissions of a user group to access files and/or folders:

  • check the required elements in the checkbox column;
  • select the Access action in the action toolbar below the file manager table and click Apply.

    Click on image to enlarge

    In the access permission editing form, set the file and folder access permission for each user group:

    Click on image to enlarge

User groups can have the following access permissions:

  • Deny: members of a user group is not permitted and is not able to access a given file or folder;
  • Read: members of a user group view a given file or folder in the public section;
  • Write: users can edit files and save changes;
  • Full access: users can edit files and folders; they can control access permissions of other user groups to these elements;
  • Inherit: files and folders will be assigned the same permission as the parent folders.
Note: To set the access permission for a current directory (e.g. root folder), click the Folder properties button on the context toolbar.

Nested files and folders can inherit access permissions from the parent folder.

For example, let us give members of the Partners user group a permission to manage the Company section (/about/ folder). All other files and sections are to be made available only for reading. To do so:
  1. Assign the Read permission to the Partners user group for the root folder.

      Click on image to enlarge
  2. Assign the Inherit permission for all nested files and folders except the /about/ folder.

    Click on image to enlarge   Click on image to enlarge
  3. Assign the Write permission for the /about/ folder to the Partners user group.

    Click on image to enlarge   Click on image to enlarge


    Finally, set the permissions for all the child elements of the /about/ folder to Inherit.
As a result, members of the Site editors user group are permitted to view all files in the public section, and create and edit subfolders and files in the Company section (/about/ folder).

Using system tools

System check

Settings -> Tools -> System check

The System check form helps to thoroughly examine the parameters compliance of system on which Bitrix Framework runs.

Click on image to enlarge

The form displays information grouped in the following sections.

  • Required parameters - shows parameters that are critical for proper functioning of Bitrix Site Manager.
  • Access check - displays results of checking the file system objects for reading and writing.
  • Recommended settings - contains missing parameters which are not critical for the system operation, but you should set them to recommended values if possible.
  • Modules - lists installed modules, or modules that can be installed.
  • Technical support - you can use this mini-form to quickly send a request to the Bitrix helpdesk. Describe the problem in detail in the text input field, and type your e-mail address.

    Most problems can be solved faster if the message contains information about the system kernel and the PHP extensions, which can be obtained via calling phpinfo(). You are strongly recommended to leave the option Attach phpinfo() return to message enabled.

File check

Settings -> Tools -> File checker

The File check form helps administrators control changes in the system files. Here an administrator can enter a check word (in fact, the word is a password which is known to the administrator only) and calculate the checksum of all files of the site. The checksum depends on the password. The password is not stored anywhere.

The check result file contains information on each file checksum and status. Store the file on your local computer to prevent its loss. In future, you can always perform the check again using the same check word and compare results.

Click on image to enlarge

PHP Settings

Settings -> Tools -> PHP Settings

This form displays the current PHP settings obtained by calling phpinfo().

SQL Query

Settings -> Tools -> SQL Query

You can use the SQL Query form to execute an arbitrary SQL command.

IMPORTANT!
The system does not place any restrictions on your SQL queries. You must be extremely attentive when running statements like UPDATE, DELETE, DROP etc.

PHP Command Line

This form (Settings > Tools > PHP Command Line) can be used to run a PHP script on the server side.

Agents

Settings -> Tools -> Agents

The Agents technology allows running PHP functions (agents) at a specified time interval. When a page starts execution, the system automatically checks for pending agents and executes them if required.

Note
The agent run time precision depends on the site traffic density and uniformity. If you need to precisely run any PHP function at the time specified, you should use cron, which is permitted by most hosting providers.

The report displays agents that currently exist in the system:

Click on image to enlarge

To add a new agent, click Add on the toolbar.

Backup

Settings -> Tools -> Backup

To help developers move their sites between servers, the system offers a special facility allowing to create back-up copies of the site. It can:

  • create back-up copy of all files (tar.gz);
  • exclude kernel folders;
  • exclude files exceeding the specified limit;
  • export (dump) database tables (tar.gz);
  • exclude statistics and the search index from the dump.

Click on image to enlarge

All created files can be downloaded from the site and used on the other server.

To extract files from the archive, you will use the special script which is uploaded to the server with the archive.

Database check

If you encounter errors with MySQL /MyISAM tables, you can use the built-in database tool to check and repair tables.

Please note the following.
  1. The database check tool can be used with MySQL / MyISAM tables only.
  2. To run the database check tool, open Settings -> Tools -> Database check and click Check /repair tables:

    Click on image to enlarge

    Click on image to enlarge

    In case the statistics tables are damaged and you cannot access the Control Panel, you can disable statistics by supplying ?no_keep_statistic_LICENSE-KEY=Y in the page URL. Replace LICENSE-KEY with your valid license key, literally.

  3. As a last remedy, you can run the database check script (/bitrix/admin/repair_db.php) without having to access the Control Panel.

    To run the script, you will need to supply the database login and password in the URL. For example: http://www.mysite.ru/bitrix/admin/repair_db.php?login=DB_Login& password=DB_Password

    If these parameters are omitted, their default values will be taken from /bitrix/php_interface/dbconn.php.

    Situations may happen when a site denies to reply and returns an empty page to visitors. In this case, open bitrix/php_interface/dbconn.php (contains the database connection parameters), and set the following parameter: $DBDebug = true;

    This will cause the error message to be printed. The message usually contains names of damaged tables. If the database damage is the case, you are recommended to use the built-in database check and repair tool. This will allow you to restore the site functionality in the shortest possible time.

AD/LDAP

Integrating Bitrix products into the corporate information system usually requires distributing team members’ permissions to access the Bitrix Framework resources and management.

A common solution of this problem is creating user groups with different access permissions applied to them and further adding users to these groups. In this case, an administrator may face a need to transfer the existing corporate user groups to the Bitrix system to allow users to assess and manage the corporate site resources. This incurs doubling actions required to change access permissions or add a new user to both the corporate network and Bitrix: the administrator has to create or edit a user profile in the corporate system as well as in the Bitrix system.

The AD/LDAP module is developed especially for use with Bitrix products permits mapping corporate network user groups to those of the Bitrix system. This allows to manage user groups of the corporate information system in the centralized fashion.

Module functions

The AD/LDAP module has been developed with respect to LDAP (Lightweight Directory Access Protocol) and AD (Active Directory) standards.

The AD/LDAP module is built on the concept of storing data as records containing a set of attributes; these records are stored in a hierarchical database. The following figure illustrates how the user group information is stored on the LDAP/AD server:

Using this structure to store user data enables the AD/LDAP module to assign corporate user groups to the site user groups.

The assignment rules are specified in a special Assignment Table in the site administrative section. The assignment allows user groups of the site and the corporate network to have different names. For example, a corporate network user group Techsupport can be mapped to a site user group Techsupport stuff. Having this assignment made, the administrator enables the corporate network techsupport members to provide consultancy on the site.

The corporate user groups are given permissions to access the corporate network resources. The site user groups have permissions to access the site resources. For example, the Techsupport group users can access the corporate mail server; while the Techsupport stuff group users can access the Helpdesk module of the site.

According to this example, a Techsupport corporate user will be automatically added to the site Techsupport stuff user group upon successful authorization on the site. After that, the system automatically creates the user account stored on the corporate server.

A user can assigned to one or more user groups. The system may contain user groups not mapped to those of the corporate network. The administrator has to add users to such groups manually. All changes made to the user profile within the corporate server will be automatically transferred to the CMS user profile at the time of subsequent authorization. In this case, only the user groups mapped to those of the corporate network are updated.

The AD/LDAP module allows to:

  • integrate Bitrix Site Manager in the corporate network;
  • map the corporate network user groups to the site user groups;
  • automatically create a user profile as per the Assignment Table upon successful registration. (The system creates the profile using data requested from the corporate server database);
  • centrally manage user profiles via the corporate server.

The AD/LDAP module supports NTLM authentication. You will need an IIS web server, or Apache with mod_ntlm or mod_auth_sspi installed to use this option.

How the module functions

A common AD/LDAP module operation is as follows.

  1. A user opens the site and authorises. This implies typing the login and password used to authorise in the corporate network.
  2. The system connects to the server specified in the AD/LDAP module settings and verifies whether a user with the supplied credentials exist in the corporate server database:
    • if no user with the supplied credentials exists in the corporate network, the system searches for this user in the Bitrix Site Manager database. If the user still cannot be found, the system declines authorization;
    • if the user is found, the system determines the corporate network user group for this user. After that, the system searches for the site user group using the Assignment Table.
  3. The system verifies whether the user profile exists:
    • if the user profile is not found, the system attempts to obtain the user data from the corporate server and then creates a new profile;
    • if the user profile exists (which means a user had previously been authorised), the system checks whether any change has been made to the user profile on the corporate server. If so, the Bitrix user profile becomes updated to reflect changes.
  4. The user is granted permission to access the site resources and becomes authorised. The user permissions are defines as per his user group settings.
Note: a site user who is a member of any group registered in the Assignment Table may be deleted from the corporate network user list. In this case, if a user attempts to authorise on the site, the authorisation attempt will fail. At the same time, the user profile is still stored in the Bitrix database.

To allow a user authorise on the site via the common interface, enable the internal authorisation check. To do so, set the value of Authorisation type to "internal check" and then update the user credentials (login and password).

Note that if an AD tree has N domains (e.g. OD1, OD2… each for an individual department) and these domains have groups with duplicate names, the Assignment Table will display all of the groups effectively showing duplicate names N times. To avoid confusion, change the Group identifier attribute in the AD/LDAP server settings to something you can change without affecting the whole set-up, for example DistinguishedName (DN). As a result, the distinguished names will be shown instead of the group names.

Module configuration

To edit the parameters of the AD/LDAP module, open the settings form: Settings > System Settings > Module Settings > AD/LDAP AD/LDAP connector.

Module settings

  • Enter the e-mail address to be used for all users who did not provide one (Default user email address (if not specified)).
  • Check the Use NTLM authorization box if required.

    Note: to use NTLM authentication, you will have to configure your web server for use with NTLM authentication and specify the NTLM authentication domains in the AD server parameters.

  • If your configuration is set to use a non-standard variable to store the user login string, set the variable name in the PHP variable to contain NTLM user login (usually it is REMOTE_USER) parameter.

    However, you should keep in mind that the other system modules is using the default variable REMOTE_USER.

    Note: REMOTE_USER stores the value as login or domain\login. A user is authenticated on the web server directly without intermediate passwords or hash values.

  • If your local network has multiple LDAP servers, select the authenticating server in the Default domain server field.
  • The Create new users upon the first successful login option, when employed with the AD protocol, can be used to restrict website access to only the existing users. For example, you can create accounts for the required users and uncheck this option. As a result, only these users will be able to login. This option cannot be used with NTLM authentication.

Keep in mind that a computer running the Apache web server must be included in the Windows domain.

Note: Internet Explorer users may encounter irregular problems using the Control Panel toolbar buttons. To fix this issue, add the following line to the root .htaccess:

SSPIPerRequestAuth On

Adding users to departments on an AD server

When creating the company structure on an AD server, the following information has to be added: the department hierarchy; the heads of the departments; the users (employees) added to their respective departments. All this data is copied automatically when importing users to Bitrix Framework. As a quick and dirty way of creating data on the AD server, you can add all the AD users to a special shadow department.

The following two user properties are used to define the company structure:

  • department: a symbolic name of a department to which the user belongs;
  • manager: a DN (Distinguished Name) of the user’s supervisor.

The company hierarchy is created using the following rules.

  • If a supervisor (manager) belongs to some other department, this implicitly defines the department disposition: the manager's department is higher than the user’s department. The user is then considered as a supervisor of his or her department.
  • If the manager belongs to the same department, then the user is not the department’s supervisor. Notice that all the department’s subordinates should have the same manager.
  • If no department is specified, but the manager is not empty, the user is implicitly added to the same department as the manager. This rule applies to the manager and his or her managers recursively.
  • If the department is specified, but the manager is empty, then this department belongs to the root of the hierarchy, and the user is the department’s manager.
  • If both the department and the manager are empty, the user is added to the default department specified in the module settings.

Registering a server

You will create an AD/LDAP server record in the administrative area (Control Panel) by specifying the required server data and user group mapping.

Each record regulates access to a folder tree root. If the corporate network user groups are stored on several servers or in several databases on a single server, you should create a separate record for each storage point.

  1. Open Active Directory / LDAP server settings (Settings > AD/LDAP).
  2. Click Add to open the new record creation form.
  3. The Server tab is used to specify information about the corporate server as well as the database connection settings. You have to ask your system administrator for the server data.

    Click on image to enlarge

    • Active: if this box is checked, this record is included in the user profile lookup when a user attempts to authorise.
    • Name: the name of the record to be created as it will be shown in lists.
    • Description: type here the server description.
    • NTLM Authorization Domain: specifies the AD/LDAP server on which a user is authenticated. This field is also used for unattended NTLM authentication. The server is specified as domain\login.
    • Server:port: the IP address and the port of a corporate server hosting the user group database. The port 389 is the technology standard to access an LDAP server.
    • Administrative login: login for administrative access to the server.
    • Administrative password: password for administrative access to the server.
    • Test connection: click this button after you have specified all required information, to verify the connection.

      This will try to establish a trial connection to the server. If the check succeeds, the server should return a list of available tree roots. If the check fails, the page will display the error description in red.

    • Tree root (base DN): this field is used to select the catalogue tree root to be used for the user profile lookup when authorising.
  4. The Field Mapping group defines parameters of the user profiles stored on the server.

    The controls of this group are initialised with the standard values for LDAP or AD servers.

    LDAP server schema parameters

    LDAP server schema parameters
    • You can select the server type by clicking on the corresponding link in the section title.
    • If the corporate server overrides standard settings, the values in this group should be altered to reflect the server settings.

    To create more user field to attribute mapping entries, click the [add…] link. For an LDAP server, fill in at least the required fields (first and last names, e-mail address etc.) that will be continuously synchronized to AD. Other fields can be imported by employing the user import option on the Field Mapping tab.

    When synchronizing, each of the mapped fields will be checked for changes and changed on the website end (that is, in Bitrix Site Manager). In practice it means that if a user has changed one or more of the mapped fields, they will be restored to the original values.

    It is recommended that you create as many field mapping entries as possible when importing users for the first time, and delete redundant mappings once the import procedure is complete.

  5. Company Departments and Structure

    This group includes company structure import configuration options.

    • Check the Import Company Structure From AD box if the company structure needs to be updated from AD each time the website user data is synchronized to intranet network records.
    • Use the Import Structure From AD Server to This Portal Department option if your company includes multiple offices each running a private intranet network server. Create a department for each office and select it in the server settings.

      Otherwise, the company structure will be imported to the root of the department tree.

      If a department on an AD record already exists in the tree on the website end, the latter will be used instead of those on AD.

    • The Assign Users To Default Department If Undefined In Active Directory option, if checked, specifies to add orphan users to the website structure. Otherwise, such users are skipped.
    • Specify the Default Department to which the orphan users will be added. The default department name is only used if the previous option is enabled.
  6. The User Group Mapping section is used to load the corporate user groups and the site user groups in the Assignment Table and specify group mapping.

    Click Refresh Group List to add more user groups to the table. This will also verify parameters specifies in other sections.

    After the list is refreshed, this section will display the Assignment Table:

    Click on image to enlarge

    • Group on the remote server. In the Group on the remote server column, select a corporate network user group.
    • Local group. In the Local group, select a site user group that would match the selected corporate network user group. Thus, a single table row contains the corporate network user group and the matching site user group.
    • Delete. To delete a row from the table, check the Delete box and click Apply.
    • More. You can add more rows to the table by clicking More.
    • If you need to skip one or more user groups, specify their names in the Exclude the following groups from import field. These groups will not be imported even if they are selected in Group on the remote server column.

      To add users of a particular user group to multiple website user groups, select this group in Group on the remote server column as many times as required and map them to the destination local user groups.

      If the same local user group is selected for multiple different remote user groups, only the users existing in all remote groups will be added to the local user group.

  7. The Synchronization tab includes options allowing an administrator to schedule unattended user database update.

    • Check the Perform full synchronization box to enable the synchronization options.
    • Enter the required synchronization period.
    • If required, enter a custom LDAP attribute name. It will be used to log updates.
  8. Click Save to save changes and go back to the list of servers.
  9. Saving a record adds it to the list of servers on the page Active Directory/LDAP server settings.

    Click on image to enlarge

    To edit or delete a record, select the appropriate item in the action menu of a required record (button ).

NTLM Authorization

The system supports NTLM authorization by default by including the mod_auth_sspi module in the Apache web server installation. If you do not use Bitrix Environment, or NTLM authorization does not function correctly or at all, do the following.

  1. Ensure that mod_auth_sspi is installed.

    a. If you’re using Bitrix Environment, this module is installed by default. Make sure the following lines exist in .htaccess:

    AuthName "My Intranet"
    AuthType SSPI
    SSPIAuth On
    SSPIPackage NTLM
    SSPIDomain MYDOMAIN
    SSPIPerRequestAuth On 
    SSPIAuthoritative On
    SSPIOfferBasic On
    Require valid-user
    

    If they are commented out, uncomment them. If you cannot find these directives at all, add them to .htaccess.

    b. If you are not using Bitrix Environment, download the mod_auth_sspi module here and put it to the /apache/modules/ directory.

    Add the following line to the httpd.conf file:

    LoadModule sspi_auth_module modules/mod_auth_sspi.so
    

    Add these lines to .htaccess:

    AuthName "My Intranet"
    AuthType SSPI
    SSPIAuth On
    SSPIPackage NTLM
    SSPIDomain MYDOMAIN
    SSPIPerRequestAuth On 
    SSPIAuthoritative On
    SSPIOfferBasic On
    Require valid-user
    
  2. Use phpinfo to find the value of the $_SERVER['REMOTE_USER'] variable. Set the “NTLM Authorization Domain” parameter to this value in the AD/LDAP server settings.

    Another way to get the REMOTE_USER value is to create a page containing a single line:

    <? echo $_SERVER['REMOTE_USER']; ?>
    
    and open it in a web browser.
  3. Check the AD/LDAP module settings: NTLM authorization should be enabled (the "Use NTLM authorization" parameter).
    Finally, open Control Panel > Settings > AD/LDAP and make sure the AD/LDAP server parameters are correct.

Accessing Extranet without NTLM

To enable access to the /extranet/ folder without NTLM authorization:

  1. Add the following lines to .htaccess:
    AuthName "My Intranet"
    AuthType SSPI
    SSPIAuth On
    SSPIPackage NTLM
    SSPIDomain MYDOMAIN
    SSPIPerRequestAuth On
    SSPIAuthoritative On
    SSPIOfferBasic On
    Require valid-user
    
  2. Add the line to /extranet/.htaccess and /bitrix/.htaccess:
    Satisfy any
    
  3. Add the line to /bitrix/admin/.htaccess:
    Satisfy all
    

These directives will set all the public section folders and Control Panel pages to require authorization via NTLM, except for the /extranet/ folder.

Importing Users from LDAP Diectory

For massive user creation, use the Import Users form (Settings > Users > Import Users).

A detailed description of creating users from LDAP can be found in the Import from LDAP Directory lesson of this course.

Blogs

A blog is an Internet diary that enables users to publish short comments structured in (reverse) chronological order. Authors can express their ideas instantly for other people to read; tell on the current events etc.

Note: the fundamental principle of the blogging system is that a single user (i.e. a visitor that have a unique valid combination of a login and a password) can have only one blog.

Managing Blog Groups

A blog group define the subject to which the blog refers (e.g. "tourism", "software", "art"). Each blog in the system should belong to a certain group. You can create and edit groups on the Blog groups page (Services -> Blogs -> Blog groups):

To add a new group, click New group on the context toolbar. In the blog group editor form, specify the Group name, and select the Group site. Save changes.

The new group will be listed on the Blog Groups page:

Click on image to enlarge

Creating Employee and Workgroup Blogs

Social Network Module Configuration

Activation or deactivation of the blogging functions is the privilege of the Social Network module.

For configuration, open the page Settings > System Settings > Module Settings > Social Network and check or uncheck the appropriate fields:

Click on image to enlarge

Note: you can manage the social network settings for all sites by changing the All Sites options, or only for certain sites.

Creating the User and Group Blogs

When you add the social network components to a page, select the blog group to which a user (or group) blog will be bound:

The real creation of the blog database records occurs when a first blog post is created.

The Public Interface of Blogs

The Blogs module has a very convenient composite component allowing to show recent updates (posts and comments) in the user and group blogs. Just create a page and add the Blogs (bitrix:blog) component to it.

Click on image to enlarge

In the component parameters, select general_page (Built-in template) as the Component template. Configure other settings as required.

These simple actions result in a fully functional blogging interface:

Click on image to enlarge

The page shows links only to messages of users and groups that a currently logged in user can access. A user (or a group moderator) can configure the blog access permission for other users on the personal settings page:

Click on image to enlarge

Note: you will find the details on using the Blogs module in the System Administration course (Blogs chapter).

Business Processes

A business process is the flow of information (or documents) by a previously defined route or scheme. A business process scheme can specify one input and one or more output points.

For a business process, it is common to run on a certain object and alter the execution flow depending on the object state. An underlying object is called a document which can be a file (saved in Document Library), an information block element, or a CRM item.

The following system objects are supported as documents:

  • information block elements (in Control Panel);
  • Common List items;
  • Document Library files;
  • CRM items;
  • virtual documents – for organizational business processes created using the Business Process composite component.

The Business Processes module provides the back- and front-end to managing the business processes occurring in the company and formalized for use with the intranet portal. The module is included in all the Bitrix24 self-hosted editions.

At present, the Business Processes module renders full integration with the Document Library and Information Blocks modules. The module includes templates for the most typical business processes which allows users to approve and publish the documents and automate the company’s business processes.

Note! The Business Processes module requires PHP 5.0 or higher.

To create and edit the business process templates, you will need the Business Process Designer module. This module is included in Bitrix24 BizPace and Bitrix24 BizPace Enterprise.

Types of Business Processes

The two generic types of business processes exist in Bitrix24:

  • a sequential business process to perform a series of consecutive actions on a document, from a predefined start point to a predefined end point;
  • a state-driven business process not having start and end points; instead, the workflow changes the process status. Such business processes can finish at any stage.

A Sequential Business Process

The sequential modus is generally used for processes having a predefined limited lifecycle. The typical example is creation and approval of a text document. Any sequential process usually includes several actions between the start and end points.

A Status Driven Business Process

Status driven approach is used when a process does not have a definite time frame and can recur or can cycle on the same status due to nature of production or office style. A typical scheme for such processes consists of several statuses which in their turn include actions and status change conditions.

Each action in a status is usually a finite sequential process whose design is defined by the nature of actions performed on information in a given status. Hence, a status driven business process consolidates multiple sequential processes the activity between which is relayed depending on their result.

Selecting a Correct Business Process Type

In practice, any management task can be modeled using a sequential as well as a status driven business process. However, an improperly chosen business process type may make the resulting model and business process template substantially and unreasonably more complicated.

Use a sequential business process to model a simple sequence of actions.

Choose a status driven business process if the model shows that a business process may occur in different statuses along the way, and it may migrate from one status to another according to the rules the model specifies. This kind of business process enables full control over the document access permissions in different statuses. Additionally, you can specify events that will trigger the execution of child processes.

Typical Business Processes

Typical Business Processes are examples of the management tasks most commonly used in organizations. They are included standard with the Business Processes module. These business process templates can be used as they are, modified, or copied to create similar business process templates quickly.

Typical Business Processes For Documents

  • Two-stage Approval (sequential business process)
    Click on image to enlarge
    Recommended when a document requires preliminary expert evaluation before being approved. During the first process stage, a document is attested by an expert. If an expert rejects the document, the latter is returned to an originator for revision. Otherwise, in case the document is approved, it is conveyed for the final vote to be passed by a selected group of employees on the simple majority basis. If the final vote fails, the document is returned for revision, and the approval procedure starts from the beginning.
    • Expert Opinion (sequential business process)
        Click on image to enlarge
        Recommended for situations when a person who is to approve or reject a document needs expert comments on it. This process creates a group of experts each of which expresses their opinion on the document. Then, the opinions are passed over to the person who makes the final decision..
        • Read Document (sequential business process)
            Click on image to enlarge
            Recommended when employees are to familiarize with a document. On input, the process takes a group of users who are to be notified. The recipients have an option to leave comments on the document.
            • Simple Approval / Vote (sequential business process)
                Click on image to enlarge
                Recommended when a decision is to be made by a simple majority of votes. You can assign the persons whose votes are to be obtained, and give them an option to comment their decision. When voting completes, the persons involved are informed of the result.
                • Approve Document With Statuses (state-driven business process)
                    Click on image to enlarge
                    This one is used when mutual agreement is required to approve a document.
                    • Publishing on controlled sites (available in BizPace and BizPace Enterprise editions)
                        Click on image to enlarge
                        Submits a selected information block element for approval and publishes it to one or more client sites. The preview version of the element is published at the controller site for review before it becomes published at a client site.
                        • First Approval (sequential business process)
                            Click on image to enlarge
                            Recommended when a single opinion is sufficient. When starting, the business process takes a list of persons who are allowed to make a decision. The process completes when a first vote occurs.

                            Make a Payment Against an Invoice

                            This business process runs in the context of an Invoicing common list (Services > Lists > Invoicing). The business process is integrated with tasks and access permission aware. It will pass an invoice through all the stages of approval, and if the invoice is finally a go, the BP will send it to the financial department for payment.

                            The invoice encounters the following activities along the business process flow.

                            • An author (a person initiating the payment) creates a new invoice in the Invoices list.
                            • Once the new invoice has been created, the head of department (or other person appointed as a supervisor) receives a notification via Instant Messenger or e-mail.
                            • After approval by the supervisor, the invoice is passed over to a "Marketing Director".
                            • Finally, the invoice needs to be approved by the CEO or other person with apt credentials.
                            • The invoice is now in "Payable" status.
                            • The financial department gets notified about the new invoice to be paid. Once payment has been completed, the person in charge changes the invoice status to "Paid".
                            • The author then receives a notification reading the invoice documentation is required.
                            • After the documentation has been delivered to the financial department, the author changes the status to "Documentation collected".
                            • If everything is correct, the financial department confirms the documentation.
                            • The business process completes.

                            Typical Organizational Business Processes

                            When in the public area, not only can a user run a business process for the system objects like documents, common list items, CRM items; almost anything, even a process, can be represented as a virtual document an act as an underlying entity, for example: applying for a business trip, submitting request for the annual leave, and the like.

                            The system comes geared with the two commonly used organizational business processes: Business Trip Application and Annual Leave Request.

                            • Business Trip Application (sequential business process)

                              The process starts by sending an application to a supervisor. If approved, the required financial and HR documentation is prepared. After the business trip is over, the applicant will have to finish the process by submitting a detailed report.

                            • Annual Leave Request (sequential business process)

                              This business process is used by an employee to submit a request for the annual leave. The process will complete successfully only if all the conditions in the process are true, which effectively means the leave is approved by all supervising persons and departments.

                            The templates for typical business processes are created automatically. If, however, the typical constructions have not been created, the business process templates page will show the notification message:

                            Click Create Standard Business Processes. The page will reload showing the created templates.

                            Configuring the Information Blocks to support Business Processes

                            An information block needs to be configured so that its documents and files could work in business process mode.

                            Adding Business Process Support To Document Library

                            The following two simple actions ought to be performed to enable the business process support for the Document Library information blocks (those of the Documents type).

                            • Make the Business Processes module aware of this information block:

                              Adding Business Process Support To Document Library
                            • Configure the user group access permission.

                              Important! A user group must have at least the Business Processes access level to allow the group members to be involved or manage the business process.

                              Configure the user group access permission

                            Other information blocks can be configured in the similar fashion.

                            Adding Business Process Support To Generic Information Blocks

                            As an example, configure the Company Life information block such that the news in this information block are published through a business process.

                            First, specify that this information block can be controlled by the Business Processes module:

                            Click Apply. Doing so, you tell the system to create the typical business processes for the information block.

                            Let us assume that we need to run each new piece of news through the Approve Document With Statuses business process before it becomes published. To do so, check the Create box in the Autorun column of this business process.

                            Now open the Access tab. Since the information block was created at the system installation time and the access permissions are already configured, the only user group whose permission will be altered in Employees. Assign the Business Process access level to it, and leave other groups as they are.

                            Save the changes made.

                            Now we have to add the business process features to the information block editor form. Open the Company Life information block elements page and open any element for editing. In the element editor form, click Settings on the context toolbar:

                            This will open the form configuration dialog:

                            Select Business Processes in the Available Tabs list and click the button to add this tab to the element editor:

                            Save the changes.

                            Now we have rendered the Company Life information block fully configured to support business processes. Any user who is about to publish the news has to provide the parameters for the business process to be started:

                            The news will be published only when and if the business process is completed, specifically when the news becomes approved by the responsible person:

                            Configuration for Organizational Business Processes

                            Bitrix24 is able to run business processes for any internal processes: approving and documenting of holidays and leaves; approving and certifying bills etc.

                            Note the following: you have to create a special information block type devoted to running the organizational business processes (for example, named Business Processes). The elements of this information block will be the organizational business processes:

                            Now, having the information block type created, create a new page and add the Business Process composite component to it (bitrix:bizproc.wizards). Select the information block type in the component parameters:

                            Click on image to enlarge

                            This component renders a fully functional user interface for using the company’s business processes.

                            Note: This component is also equipped with the business process construction and editing tools. However, note that you can create and edit the business processes only if you are using Bitrix24 BizPace or Bitrix24 BizPace Enterprise because this feature requires the Business Process Designer module.

                            Using Business Processes

                            A business process can be run manually or automatically depending on its parameters. A business process can be set to start automatically when an underlying entity (for example, a document) is created or modified.

                            An animated image in the top right corner of the screen will notify the person responsible for a given process about pending tasks. Furthermore, you can provide for more persuasive hints by editing the business process template: add e-mail notifications; social network messages; events or tasks.

                            Running The Business Processes On Documents

                            You can set any business process to run automatically on the Business Processes Templates form:

                            Click on image to enlarge

                            As you can see, in this case the Approve Document With Statuses business process will run automatically whenever an employee uploads a document:

                            Click on image to enlarge

                            A person uploading the documents has to specify all the parameters required to start the business process.

                            Any business process can be run manually:

                            • In the document’s action menu, open the New Business Process popup menu and select the required business process:

                            • Set the parameters and click Run:

                            The business process will start execution according to the template and the parameters provided.

                            An employee can watch their business processes in the documents page Business Processes column:

                            To start working on a task assigned by the business process, an employee will open the Business Processes tab of the personal page in which he or she will find the assigned tasks:

                            Click on image to enlarge

                            Using The Organizational Business Processes

                            An employee can start the organozational business process on their own. For example, an employee can click the Business Trip link:

                            Each business process shows a form to provide the startup parameters. For example, the business trip business process it can be like this:

                            Click on image to enlarge

                            The Create Business Trip button starts the business process.

                            To perform the assigned tasks on the organizational and documentary business process, an employee can open their personal page and click the Business Processes tab. To view the current status and the actual task, open the business process details page by clicking the business process title link:

                            Click on image to enlarge

                            To create a new organizational business process, click New Business Process:

                            Note, that this button is only available if an appropriate permission is specified in the Business Process (bitrix:bizproc.wizards) component parameters.

                            And this is the new business process creation form:

                            Click on image to enlarge

                            Note the 'Add Element' Title field. It contains the text that will be shown as the link to start an instance of this business process. And the last (but definitely not the least) option to mention is the Business Process Template: here you will select the business process template which will define the whole logic of the new business process.

                            Once you have provided all the parameters, click Next to configure the variables of the selected business process template:

                            Click on image to enlarge

                            Fill in the fields and click Create Business Process. The new business process, if it happens to create successfully, will be available on the business processes page:

                            Click on image to enlarge

                            Business Process Designer

                            Business Process Designer is a special tool enabling to create and edit the business process templates. This editor is so simple that even an ordinary employee, not a programmer, can use it. The main principle behind all the operations a user performs in the editor is a drag’n’drop technology widely used in modern applications. A business process template can be created in a special visual editor.

                            The created (or existing) business process template can be run manually or automatically depending on the parameters. A business process can have multiple instances, each running independently. The system performs automatic scheduling, saves and restores the state of each instance; keeps the execution log for each business process instance for further analysis.

                            Visual Modeler

                            The Visual Modeler is a tool that is included in the Business Process Designer. It allows you to create and edit templates for business processes.

                            Starting Visual Modeler

                            To start Visual Modeler, use a button or a link titled Business processes in the context of a document for which you want to use a business process.

                            For example, use the following button with Common Lists:

                            The Visual Modeler Layout

                            The visual modeler has the following functional areas:

                            The Context Toolbar

                            The toolbar contains the template control commands:

                            • Template Parameters: opens the business process settings form to set the business process properties and run parameters;
                            • Templates: opens a list of all available business process templates;
                            • Create Template: opens a popup menu in which you can select the type of a new business process:
                              • State-Driven Business Process: creates a continuous business process whose flow depends on the completion status of each child processes;
                              • Sequential Business Process: creates a simple business process to set a document on a processing route.
                            • Export: saves the current business process template to a .bpt file;
                            • Import: loads a business process template from a .bpt file. The imported template replaces the current one.

                            The Template Constructor Area

                            The template constructor area is different for sequential and status-driven business process templates.

                            • The following layout is used with status-driven templates:

                              Because a status-driven scheme is constituted by multiple sequential processes, an individual editor is used to modify each of the subprocesses of a status-driven template.

                            • For a sequential business process, the editor includes a selection of the business process activities:

                              To add a required activity to the business process, simply drag it from the list to where you want to insert the new item:

                              Alternatively, you can click the arrow to open a menu with the selection of activities. Once you have selected an activity from the menu, it will be inserted where you clicked:

                              Click X to delete an activity. Click X to edit the activity parameters.

                              If your template uses a lot of activities, use the collapse button to save space:

                            The Action Bar

                            The visual modeler action bar contains shortcuts to business process elements. You can drag’n’drop them to your business process template.

                            Document Processing
                            Approve Document Submits the document, on which a given business process is running, for approval.
                            Create New Document Creates a new document or other element in the context of a given business process.
                            Delete Document Deletes a document on which a given business process is running.
                            Lock Document Makes the business process’s document inaccessible by other processes.

                            Note: the lock is for processes, not users. Any user with sufficient permission can edit the locked document (element).
                            Publish Document This action publishes the business process’s document so it becomes visible to the site users.
                            Additional information Shows a form allowing a user to provide information required by the business process.
                            Read the Document Issues a task to the users specified in the action properties to read the business process’s document. Tracks statistics on the share of those who actually read the document.
                            Save history Creates a copy of the business process’s document in the state the latter is at the time of action execution. The copy name can be assigned automatically using the specified naming settings.
                            Modify Document This action can be used to edit any parameter or contents of the document in unattended mode.
                            Unlock Document Removes the exclusive access mark from the document.
                            Revoke Document Removes the document from the site so it is no longer visible to the site users.
                            Create new contact Adds a new CRM contact.
                            Create new company Creates a new CRM company.
                            Create new lead Creates a new CRM lead.
                            Add CRM event Creates a new event in the CRM.
                            Create new deal Creates a new deal in the CRM.
                            Constractions
                            Set State This action allows the status of a Business Process to be changes. Note that this is a valid action ONLY in state-driven Business Processes.
                            Wait for event This action suspends the business process until an action occurs on the side of the selected user or system.
                            Condition Changes the direction of the business process flow depending on the specified condition.
                            Listening for parallel event Waits for one of the specified events to occur and then changes the direction of the business process flow depending on which event is fired.
                            Parallel Execution Runs multiple variants of the business process flow simultaneously.
                            While loop Makes the actions inside the loop to repeat until the loop condition changes.
                            Interactive settings
                            User notification Sends a notification to a user via the internal messenger. If the user is offline, the message will be sent by email.
                            E-mail Message Sends the event notification to the e-mail address specified in the action parameter.
                            Social Network Message Sends a notification to the specified social network user.
                            Task Creates a new task.
                            Calendar Places an event in a specified user’s personal calendar.
                            Set State name This action lets you change the status of a document. Document statuses are visible in the general document list (library), so this function allows a convenient view of the document’s progress while the Business Process is running.
                            Absence Chart Places an event in the Absence Chart.
                            Other
                            PHP Code Executes the specified PHP instructions.
                            Log entry This action adds an entry in the log of a given record.
                            The log record is convenient to use, for example, when trouble-shooting a business process, since you can save data at any given step.
                            Action block An action block is used to group actions into a single block, which can then be minimized visually to make the workspace more comfortable.
                            Pause execution Suspends the business process for the specified amount of time.
                            Set Permissions Assigns the access permissions to the document.
                            Set Variables Sets the values of the business process template variables.
                            Select Employee This process allows automated selection of an employee so that that employee can be inserted in further steps of the process.
                            Terminate business process This action ends the Business Process.

                            The Common Buttons

                            For a sequential business process, the meaning of the buttons is quite straightforward: you can Save the template going back to the templates list; Apply the changes made while staying in the visual modeler or Cancel the changes and revert to the templates list.

                            However, in case of a status driven business process, only the Back To States button is available which, when clicked, opens the template scheme where you can save your changes:

                            Business Process Templates

                            A business process template is in fact a scheme describing the flow of information, decisions and entities visually represented by the block diagram. When a business process is started, the creator passes the initial parameters to the business process if they are required.

                            Creating a business process template includes the two stages:

                            • defining the business process template parameters;
                            • designing a template diagram to outline the business process logic and execution flow.

                            Setting the Template Parameters

                            The business process template parameters form includes the following tabs: General, Parameters, Variables and Access.

                            General

                            The General tab, among the fields common for most of the objects (Name and Description) includes the options controlling the way the process is started.

                            A business process can be started when a document is created (When added is checked) and/or modified (When changed is checked). Note that the business process can be only started manually if you uncheck both options.

                            Parameters

                            Being a standalone service routine is rare for a business process. Usually, a business process requires start-up parameters like documents on which they will run. To make your business process aware of the input entities to operate upon, click the Parameters tab.

                            Click Add Parameter and fill in the fields:

                            • ID is the symbolic identifier to be associated with this parameter;
                            • type any meaningful Name and Description you find appropriate;
                            • select the data Type for the start-up parameter;
                            • specify whether the parameter is Required to be set when running the business process;
                            • Multiple: this option allows to give one parameter as many values as required;
                            • provide the default value that will be used if the parameter is missing.
                              Note: some data types allow to select the default value by clicking [...] button which opens the Insert Value form.

                            Having provided the parameter data, click OK to save and return to the parameters form:

                            Variables

                            The variables are temporary storage for data used by the business process. The variable values exist while the process is running. Once the process is completed, the variables are no longer available.

                            The Variables tab allows to add such "variables" to a business process:

                            Just like with the parameters, click Add Variable to create variables for your business process.

                            Access

                            To avoid mess and misuse, remember to give users the proper permission to access the business process. You can use the variables here:

                            Finally, click Save.

                            Creating a Sequential Business Process Template

                            For a sequential business process template, the visual modeler opens as soon as you have specified and saved the parameters:

                            To construct a template, just drag’n’drop the required actions to the design area and configure their parameters:

                            To configure the action parameters, click the button. Consider the following example of the E-mail Event action:

                            Fill in the required fields. Use the ellipsis buttons (...) to insert macros using the Insert Value form.

                            This dialog box can be used to insert values of the following groups (the groups depend on the field):

                            • Template Parameters - contains values of the parameters assigned to the business process template;
                            • Variables - contains values of the variables assigned to the business process template;
                            • Document Fields - inserts the value of a field of the document on which the business process is running. For example: Created on or Created by.
                            • Additional Results - shows return values of other actions in the business process template;
                            • Users - inserts the users (or user groups) privy to the business process.

                            To insert a value, click the group in which the required value is presumed to be, select the value and click Insert.

                            Once you are done constructing your business process template, save it. The template will show up in the templates summary form.

                            Creating a Status Driven Business Process Template

                            A status driven business process is a kind of extension, or meta-entity to sequential business processes meaning it contains multiple statuses each of which is an individual sequential business process. When a status driven BP is running, it flows from status to status according to the rules, the conditions defined by a designer and the result of execution of the underlying sequential business processes.

                            Once you have configured the business process template parameters, you can start building the business process. In general, it requires that you:

                            • create statuses;
                            • link the statuses according to logic;
                            • create a sequential business process inside each of the statuses;
                            • set access permissions.

                            Creating the Statuses

                            To create a new status, click Add State on the business process template design page:

                            Add State

                            Important! A business process always begins execution starting from the very first status you create. Please keep that in mind. You will not be able to change the initial status later.

                            Here you have to name the status and specify the access permission to assign to a document (an underlying object on which the business process operates) when it is in this status:

                            Note: for the organizational business processes, you can also assign the business process management permission.

                            Save the status. Create other statuses as required by the design of your business process. For example, your template might need the following typical statuses:

                            Adding Actions and Linking the Statuses

                            Once you have created the statuses, you have to create operations and actions to be performed when the process flow is in each of the statuses. Once you create an action, the status will become connected to another status automatically – depending on the result status specified in the action.

                            A status can have one or more actions, each executing consequently from top to bottom as seen in the status block, and each action can have different result status (see the example below). The following actions are possible.

                            • Command: this command adds a command (i.e. an individual business process) to be run when the process flow is in this status.
                            • Delay Execution: adds a "Execution Pause" handler to defer execution of the next action for the specified time.
                            • Status Entry Handlerthis command allows to set a business process that will be run just before the flow enters this state.
                            • Status Exit Handler: same as Status Entry Handler, but sets a business process that will be run just before the flow exits this state.

                            Consider adding the following command to the Draft status. Select the Command item in the status popup menu. This will open the command parameters dialog box:

                            Enter the command name and select the users whom you want to allow to execute this command. If a document is to change the status upon the command completion, select the required new status in the drop list. Note that this list contains the statuses that are already present in the business process template scheme.

                            Save the command. This will create the action and the connection between the statuses: this one and the one selected in the drop list:

                            Since a command is a business process, it needs to be created. Click the command name to open the visual modeler:

                            As you can see, the business process scheme already has the Set State action because the command produces status change. Now all you have to do is add more actions as required. The business process scheme construction has been discussed in Creating a Sequential Business Process Template.

                            Once you are done creating the subprocess, return to the main business process by clicking Back to States.

                            Repeat these steps to add actions to each of the business process statuses.

                            Using the Template Parameters

                            If a business process may send a message to an employee while running, it is a usability requirement that a user initiating the process have an opportunity to explicitly specify the recipient e-mail address. See how this functionality is implemented in the standard business process: Read Document.

                            • A special parameter was created using the Template Parameters dialog box, on the Parameters tab:

                            • The created custom parameter was specified in E-Mail Message action, in the Recipient field:


                            As a result, a user will be prompted to provide extra parameters each time it is started:

                            Export and Import

                            To migrate a business process template to another project, use the commands available on the Visual Modeler toolbar.

                            You'll need administrative permissions to export a business process template.

                            Notice that you'll have to create the same document types (information blocks, lists etc.) used by the business processes in the source project on the destination system.

                            Attention! Never attempt to migrate a business process template across different document types. For example, you cannot export a template from CRM for further use with lists.

                            Actions

                            A sequential business process is built based on a set of actions. Each action performs a certain function and has its own parameters.

                            Attention! A set of actions depends on the modules that are installed in the system.


                            Setting up Action Parameters

                            Action parameters are set up in the relevant form retrieved by double clicking the action heading or using the button X located on it.


                            General Indications for Most Actions

                            • The field Title permits setting up an action header to be displayed in the visual designer.

                              Note: Different headers should be set for the same actions. It will make further work with the process easier.
                              Example: Additional results in the form Insert value are grouped precisely by action headers.

                            • [Id] – a link permitting to view/change the unique ID of the action. For example, it can be used to view the history of the business process execution in the administrative part of the site.

                              The field admits only Latin letters, numbers, and the underscore character.
                            • User/group selection fields. The user can be indicated manually. Just type the user’s ID in the field in brackets, e.g. [1]. For a group of users, no brackets are needed.

                            • The fields Assignment description permit using the following bb-code tags: [img], [url], [b], [i], [s], [u].

                              The tag [url] can be also be used in notices, e.g. in the field Notification text of the action User notification.


                            Related info:

                            Document Processing

                            The group contains actions connected with document processing stages.

                            Approve Document

                            This action permits you to approve a document for which a business process was launched. Depending on the result (approved or not), two options for further actions are possible.

                            Note: The business process will be set to pending (suspended) until any user from those indicated performs the task (approves or rejects the request) or until the time limit expires (see the option Time limit).


                            Action Parameters

                            Approving voters – here, the approving users should be indicated.

                            Approval type – a principle to be used by the users indicated above shall be selected:
                            • All Persons – all users indicated above must approve the document;
                            • Any Person– any user from those indicated above must approve the document;
                            • Vote – approval is effected by the users indicated above via a voting procedure.

                              For the option Vote the fields Minimum percentage of participating users required for acceptance are available and Wait for responses from all participants.

                              The last field can be used for automation submitting the values Y or N to it. If the option yes is selected, the action will wait until all the employees indicated above vote. If the option no is selected, the action will wait until the indicated percentage of votes is achieved.

                            Assignment name – the name of the task related to the document approval is set for the users indicated. It will be displayed in the interface for the users.

                            Assignment description – a description or explanation to the task. The contents of this field will be displayed on the interface for the users. This field should contain complete information about the action to be performed by the user. It will help to avoid confusion in case of several similar actions.

                            Set Status Message – permits changing the text of the document status to an arbitrary text. It may, for example, permit you to monitor the progress of a business process.

                            Status Text– a status text is set up.
                            The following modifiers can be used in the status text: #PERCENT# - percent, #VOTED# - persons informed, #TOTAL# - total number of persons to be informed, #APPROVERS# - list of those who approved the document, #REJECTERS# - list of those who rejected the document.

                            Accept button text and Reject button text permits indicating own text for the relevant buttons.

                            Show comment input field – this option makes it possible to permit users leaving their own comments to the assigned task. For example, any comments regarding the document to be approved. The contents of the field can be obtained after executing the action using the relevant option in the form Insert value – Additional results (see below).

                            Comment input field label – a caption for the field with a comment.

                            Time limit – a time period can be set up so that if the document is not approved or rejected before the time period expires, the document will be automatically rejected. An empty value or 0 means the absence of such a time period.


                            Action Results

                            The results of this action can be obtained using the form Insert value – Additional results where they will be available immediately after adding the action to the template.

                            The following is available:

                            • Comment;
                            • How many persons have voted;
                            • How many persons are to vote;
                            • Percentage of those who voted;
                            • Percentage of those who approved the document;
                            • Percentage of those who rejected the document;
                            • The number of those who approved;
                            • The number of those who rejected;
                            • The last person who voted;
                            • The users who approved;
                            • The users who rejected;
                            • Automatic rejection – the field will contain 1 if the document was automatically rejected (see Time limit).

                            Publishing on controlled sites

                            This action permits you to publish the infoblock element in the sites connected.

                            Note: This action is related to the module Site Controller; see the article Site Controller to learn more about the module operation.


                            Action Parameters

                            Type of site selection – here, it can be indicated on which sites an infoblock element will be posted

                            • All sites;
                            • Sites from specified groups;
                            • Selected sites from one group.

                            Synchronize elements

                            • Immediately – the elements will be synchronized immediately;
                            • Using remote client tasks – synchronization will be performed using tasks.

                            Create new company

                            This action is similar to the actions in the public part of CRM when creating a new company.

                            Create new contact

                            This action is similar to the actions in the public part of CRM when creating a new contact.

                            Create new deal

                            This action is similar to the actions in the public part of CRM when creating a new transaction.

                            Create new lead

                            This action is similar to the actions in the public part of CRM when creating a new lead.

                            New Document

                            This action permits you to create a new document with preset parameters.


                            Action Parameters

                            The fields may vary depending on the document type.


                            E.g., a new infoblock element will be created as a document for a business process in infoblocks. Accordingly, fields in the action parameter set up form will be similar to the fields in the infoblock element creation form for a specific type of infoblock.

                            Add CRM event

                            This action permits you to create an event entry in CRM.

                            This action is executed only in the business processes working in CRM.

                            Delete Document

                            This action deletes the document for which the business process is launched.

                            Lock Document

                            This action permits you to lock a document against the actions of other business processes.

                            The document is locked for actions of other processes and not users. Another user, provided that they have the rights to edit, will be able to edit the document.

                            Note: Do not forget to unlock the document after completing all the necessary operations using the relevant action.

                            Note: A possibility of locking depends on the document type.

                            Publish Document

                            This action publishes the document and changes its status to published.

                            Note: The possibility of publishing depends on the document type.

                            Additional Information

                            This action creates an assignment during which the user will be requested to provide additional information necessary to perform a business process.

                            Action Parameters

                            Employees to provide additional information – one of the users indicated (the first person to proceed with performance) must provide additional information.

                            In other words, the task will be available to all users indicated until any of them starts performing it. After that it will be automatically canceled for all remaining employees.

                            Assignment name – the name of the task on filling in additional information which to be assigned to the indicated users. It will be displayed on the user interface.

                            Assignment description – a description or comments to the task are indicated. The contents of this field will be displayed on the user interface. It is recommended to indicate complete information in this field about the action to be performed by the user. It will help to avoid confusion in case of several similar actions.

                            Assignment button label – permits setting own text for the relevant button.

                            Show comment input field – this option makes it possible to permit users to leave their own comments to the assigned task. For example, any comments regarding the document to be approved. The contents of the field can be obtained after executing the action using the relevant option in the form Insert value – Additional results (see below).

                            Comment input field label – a caption for the field with a comment.

                            Set status message – permits changing document status text to an arbitrary. It may, for example, permit you to monitor the progress of a business process.

                            Status text – a status text is set up.


                            The section Fields permits adding own fields which the users will have to complete during task performance.

                            The contents of fields after the completion of the action can be obtained in the form Insert value - Variables.


                            Variables

                            The contents of additional fields created in the Field section can be obtained in the section.


                            Action Results

                            The results of this action can be obtained using the form Insert value - Variables where they will be available immediately after adding the action to the template.

                            The following is available:

                            • Comment.

                            Read document

                            This action permits you to create a task for selected users consisting in reading the document with an option to leave a comment to it. During task performance, the percentage of those who have read the document is calculated.


                            Action Parameters

                            Reviewers – the users who must read the document are indicated.

                            Assignment name – the name of the document reading task is set here. It will be displayed on the user interface.

                            Assignment description – a description or comments to the task are indicated. The contents of this field will be displayed on the user interface. It is recommended to indicate complete information in this field about the action to be performed by the user. It will help you to avoid confusion in case of several similar actions.

                            Require reading by

                            • All Employees – the task will not be completed until all the users indicated above have read the document;
                            • Any Employee – any user from those indicated above must read the document.

                            Set Status Text – permits changing the document status text to an arbitrary. It may, for example, permit you to monitor the progress of a business process.

                            Status Text – a status text is set up.
                            The following modifiers can be used in the status text: #PERCENT# - percent, #REVIEWED# - persons informed, #TOTAL# - total number of persons to be informed, #REVIEWERS# - who has read the document.

                            Assignment button label – permits setting own text for the relevant button.

                            Show comment input field – this option makes it possible to permit users leaving their own comments to the assigned task. For example, any comments regarding the task. The contents of the field can be obtained after executing the action using the relevant option in the form Insert value – Additional results (see below).

                            Comment input field label – a caption for the field with a comment.

                            Time limit – a time period can be set up so that if the users have not read the document before the time period expires, the reading task will be automatically completed. An empty value or 0 means the absence of such a time period.


                            Action Results

                            The results of this action can be obtained using the form Insert value – Additional results where they will be available immediately after adding the action to the template.

                            The following is available:

                            • Comment;
                            • Persons Read;
                            • Persons To Read;
                            • Auto Examination – the field will contain 1 if the reading task was completed automatically (see Time limit).

                            Save History

                            This action permits you to create a copy of the document with the changes made as of the time of launching the action. Automatic copy name with parameter settings is available.


                            Action Parameters

                            Name of Entry in History – indicates the name of the document version under which it will be saved in history. It will help to differentiate it from other versions.

                            Leave the field empty to obtain the name from the document.

                            Modify Document

                            This action permits you to change any parameter (field) of the document in automatic mode.


                            Action Parameters

                            The link Add Condition permits you to add to the form another document parameter that is to be changed by the action.

                            The link Add Field permits adding own new parameter directly to the document. These actions will lead to creating new properties of the document.

                            Unlock Document

                            This action will unlock the document for other business processes.

                            Note: If the document is not unlocked it will be unavailable for other actions of the business process.

                            Revoke Document

                            This action removes the document from publishing.

                            It is the opposite of the action Publish Document.

                            Constructions

                            The group contains managing structures.

                            Wait for Event

                            This action’s execution depends on the users. Specific control element will be created for them.

                            Note: The command interrupts a business process pending the user’s action.

                            The type and aspect of the control element depends on the document and place where the business process was launched. An additional option in the actions menu of the business process may be an example of such a control element.

                            An example of use of the action: change in the progress of a business process in the structure Listening for Parallel Event depending on the command chosen by the user.

                            The command may also be used separately, but in this case the user must be notified, for example through the User notification function wherein the user has to execute this command.


                            Action Parameters

                            The event can be sent by – permits limiting a circle of users for whom this command is available.


                            Action Results

                            The results of this action can be obtained using the form Insert value - Additional results where they will be available immediately after adding the action to the template.

                            The following is available:

                            • User who sent the command.

                            A Short Example of Using the Action

                            In this example, having performed the action block, the business process will stop and wait for the user to decide which branch the events will follow.

                            Condition

                            The structure permits you to direct a business process according to different scenarios depending on preset conditions.

                            The conditions are checked from left to right. If a condition is met, the actions located in the branch below will be executed. If a condition is not met, the condition located to the right will be checked, and so forth until one of the conditions is met.


                            Condition Type – PHP Code

                            The code is indicated as a condition.

                            If the indicated PHP code returns the value true, the branch of actions below such a condition will be executed; if false is returned, the next condition will be checked.

                            Note: Only a user with administrator’s rights can set a PHP code.

                            Attention! Only a PHP code can be used for this type of condition. The parameters of the type {=Variable:Variable2_printable} are not supported.

                            The code executed in the condition must also result in a logical expression (true or false).


                            Condition Type – Document Field

                            This action branch of the condition will be executed if the parameters related to the document fields coincide.


                            Condition Type – Variable Value

                            This action branch of the condition will be executed if the parameters related to business process variables coincide.

                            Note: The values of both variables and template parameters can be used in this type.


                            Condition Type – TRUE

                            This action branch will be executed immediately. This condition is always met.


                            Attention! If no condition is met, the business process will continue executing the actions located under the Condition structure. In other words, it will 'skip' the structure.

                            Listening for Parallel Event

                            This structure permits you to direct a business process according to different scenarios depending on which event occurs earlier.


                            In order to choose the action branch, this structure must use the actions Wait for Event or Pause Execution first.

                            In other words, the action that occurs earlier in any branch will result in the execution of the chain below such an action.


                            This action Pause Execution permits you to resume a business process in a certain time in case no command is executed. Otherwise, the business process will just stop and wait for execution of any command inside the structure.

                            Parallel Execution

                            This is the structure that permits executing the parallel scenarios of a business process.

                            If any branch inside the structure is not executed, the business process will stop and wait for its execution.


                            Example of application: parallel review of a document by different groups of users.

                            Status

                            This action permits you to change the status of a business process. This action is available solely for the business processes with statuses.

                            Note: Only statuses created beforehand are available in the action parameters.


                            Please see the chapter Creating a Status Driven Business Process Template for more details about the use of the action.

                            While Loop

                            The structure executes its subactions so far as a given condition is met.

                            In other words, the cycle works so far as the condition is valid (true), otherwise (false) the loop is terminated.


                            Condition Type – PHP Code

                            Code is indicated as a condition.

                            If the indicated PHP code returns the value true, the loop will continue operating; if false is returned, the loop will be terminated.

                            Note: Only a user with administrator’s rights can set the PHP code.


                            Condition Type – Document Field

                            The loop will continue operating so long as the parameters related to the document fields coincide.


                            Condition Type – Variable Value

                            The loop will continue operating so far as parameters related to variables of the business process coincide.

                            Note: The values of both variables and template parameters can be used in this type.


                            Condition Type – TRUE

                            Note! In this case, the loop will always be executed!


                            Interactive Settings

                            The group contains all the types of event notices.

                            Absence Chart

                            This action permits you to add an event to the absence chart.

                            Note: This action relates to Bitrix24 and operates only with this product.


                            Action Parameters

                            Since the meaning of most fields is clear from their names, their description is omitted.


                            User – specifies the user for whom an event will be entered into the absence chart.

                            Calendar

                            This action permits you to add an event to the calendar.

                            Note: This action is outdated and used only with an older version of calendars where the Event Calendar module is not used.

                            For the current version of the calendar, the Calendar Event action should be used.


                            Action Parameters

                            Since the meaning of most fields is clear from their names, their description is omitted.

                            User – specifies the user for whom an event will be entered into the calendar.

                            Calendar event

                            This action permits you to add an event to the calendar (used for the Event Calendar module).

                            Action Parameters

                            Since the meaning of most fields is clear from their names, their description is omitted.


                            Calendar type (optional) – sets the type of the calendar where the event will be created. Available types of calendars can be seen in module settings (Control Panel > Settings > System settings > Module settings > Event Calendar > Calendar Types).

                            Note: There is no need to specify the user type when creating an event in the user’s personal calendar since when the field is empty the event will be created exactly in this calendar by default.


                            Calendar owner ID (optional) – calendar owner’s ID is indicated.
                            If an event is created in the group’s calendar, the group’s identifier should be indicated (see the example below).

                            Note: This field makes sense only if the Calendar type is not equal to user.


                            User – specifies the user for whom an event will be entered into the calendar.



                            Example:

                            In order to create an event in the group (which, for example, has an address http://site_domen/workgroups/group/5/), the following fields must be completed in addition to the main fields:
                            • Calendar type (optional): group
                            • Calendar owner’s ID (optional): 5

                            User notification

                            This action permits you to send messages to the site/XMPP/e-mail.

                            If the user uses XMPP, the message will be received there. Otherwise, it will be sent to the site as a notification (provided that the user is authorized there). If the user is not authorized on the site, the message will be additionally sent by email.


                            Action Parameters

                            Notification text – sets the message text to be displayed as a notification on the site if the user does not use XMPP.
                            BBCode formatting ([img], [url], [b], [i], [s], [u], [url]) is available for the text.

                            Notification text for email/jabber – sets the message text for e-mail/XMPP to be sent if the user is not authorized on the site. The text of the message can be either different from the site notification text or the same in which case the field should be left blank.

                            Notification type – permits you to indicate from whom the message is received: from a specific person (Personalized notification) or from the system (System notification).

                            Email message

                            This action permits you to send an event notification to the e-mail indicated in the action settings.


                            Action Parameters

                            Since the meaning of most fields is clear from their names, their description is omitted.

                            Message Type – indicates how the message will be sent – as a text or using html.

                            Encoding – sets the encoding of the message to be sent.

                            Message send mode – sets the way of sending the message:

                            • Direct sending – the message will be sent immediately;
                            • Send using Mail Subsystem – the message will be sent using the embedded mail system. The sending can be postponed.

                            Message template website – indicates the message template site in order to send the message through the embedded mail system. Different sites can have different templates of mail messages.

                            Note: If the message is sent through the message system and does not go through, the selected message template should be checked first.

                            Set State Name

                            This action permits you to change the text of the document status. It makes it easier to monitor the document state in the general list of business processes during the execution of the business process.

                            In most cases, the status can also be viewed in the detailed view of the document for which a business process is launched.


                            Action Parameters

                            Since the meaning of most fields is clear from their names, their description is omitted.

                            Task

                            This action permits you to create a task.

                            Note: This action refers to the Tasks module.

                            Action Parameters

                            Setting the action parameters is similar to creating a new task in the public part of the site.

                            Pause process while task is running – if this option is marked, the business process will be suspended until the created task changes its status to Completed.


                            Action Results

                            The results of this action can be obtained using the form Insert value - Additional results where they will be available immediately after adding the action to the template.

                            The following is available:

                            • Task ID;
                            • Task completion date;
                            • The user who has closed the task.

                            Other

                            This group contains all the remaining commands.

                            PHP Code

                            This action permits you to execute an arbitrary PHP code.

                            Attention! 1. This action is only available in Bitrix24 Self-hosted version.
                            2. Only a user with administrator’s rights can set PHP code.

                            Note: The code must be indicated with no opening or closing tags (<?, ?>).


                            Action Parameters

                            Since the meaning of most fields is clear from their names, their description is omitted.


                            Examples of application


                            Setting a value for the variable

                            $this->SetVariable('Variable1', 12345);

                            where:

                            Variable1 – identifier of the variable to which a value will be assigned (12345 number).


                            Entering several users to the User type variable

                            $this->SetVariable("user", array("user_1", "user_2"));

                            where:

                            array("user_1", "user_2") – an array of users in the format user_[user_identifier_in_the_system].


                            The use of PHP code and values of fields/variables to obtain the name of the infoblock element

                            $arFilter = Array("IBLOCK_ID" => {=Variable:Variable1_printable}, "ID" => {=Document:PROPERTY_1}); 
                            $dc = CIBlockElement::GetList(array(), $arFilter, array("NAME"));
                            $br = $dc->Fetch();
                            $Pbrr = $br["NAME"];
                            $this -> SetVariable('Variable2', $Pbrr);
                            

                            where:

                            {=Variable:Variable1_printable} – value of the variable containing the infoblock identifier;
                            {=Document:PROPERTY_1} – field of the document containing the infoblock element identifier;
                            Variable2 – identifier of the variable which will be assigned the calculated name of the infoblock element.


                            Conversion of the document field format and its further use

                            Let us consider an example of conversion of the document field User to an understandable form in order to use it when sending a message:

                            1. A variable to store the converted value of the document field should be created in the business process template;
                            2. Let us indicate the following in the PHP code action:
                              $rsUser = CUser::GetByID({=Document:PROPERTY_USER});
                              $arUser = $rsUser->Fetch();
                              $this->SetVariable('#Variable_name#', $arUser[NAME].' '.$arUser[SECOND_NAME].' '.$arUser[LAST_NAME]);
                              
                            3. After that, we have to use the result of this variable instead of the document field in the block used for notification.

                            Pause Execution

                            This action permits you to postpone the execution of the next action for a specified time.


                            Action Parameters

                            Mode:

                            • Period – indicates the time period after which the business process will be resumed;
                            • Time – indicates the specific time for resuming the business process.


                            Note: If in the Time mode, at the time of the action execution the indicated date occurs in the past (for example, the previous year was indicated and the execution of the action has started in the current year), the process will automatically go to the action that follows the pause in execution. In other words, the process will skip the action.

                            Action block

                            Action block is intended to group a set of actions into one block that can be 'folded' to save space.

                            Pay attention to this action. It permits you to significantly save labor resources by using standard action blocks when creating a business process template. Once created and set up, the action block can be saved in the group My Actions and used repeatedly.

                            Select Employee

                            This action permits you to automatically select an employee for their further use in the process.

                            Note: This action determines the absence of an employee according to the entries displayed on the page Absence chart.

                            Action Parameters

                            Type:

                            • any – random selection of a regular employee;
                            • supervisor – selection of a supervisor for the indicated employee.

                            Note: The supervisor selection option is used only in the product Bitrix24 Self-hosted.

                            From users – indicates users or groups from which one employee will be selected.

                            For user – indicates the user for whom a supervisor will be selected.

                            Supervisor Level (the more the higher) – selects the level of a supervisor for the indicated user.

                            If no Supervisor is determined, send to – indicates the users who will be selected in case it is impossible to select from the main users indicated above. For example, if the group indicated in the field From users contains no employees, someone from among reserved users will be selected.

                            Escalate to higher level if absent – permits you to automatically omit absent employees, for example, if they are on vacation.


                            If it is impossible to select the main supervisor, for example, if they are on vacation, and the option Escalate to higher level if absent is equal to Yes, the action will automatically continue selecting a supervisor but of a higher level. If the top level supervisor is also unavailable, the selection will be effected from among the employees indicated in the field If no Supervisor is determined, send to.

                            If the option Escalate to higher level if absent is equal to No, the action will terminate and, notwithstanding the absence, a supervisor of the relevant level will be selected.

                            If all supervisors are unavailable or the employee has no supervisor, the action will return an empty value.


                            Action Results

                            The results of this action can be obtained using the form Insert value - Additional results where they will be available immediately after adding the action to the template.

                            The following is available:

                            • Selected Employee.

                            Log entry

                            This action permits you to add arbitrary entries to the report and log, accordingly.

                            Entries to the report can be conveniently used, for example, during business process debugging to save the data of a necessary stage to the report.


                            Action Parameters

                            Load log for use by business process – permits you to obtain the contents of the entire report as a part of a business process for further actions (e.g., sending by email) by using the form Insert value, the Additional results section. Otherwise, the report data will be impossible to obtain as a part of a business process and will be available only in the log.

                            The option Load log for use by business process can be useful at the stage of the completion of a business process in order to generate a final report without making excessive queries to the base.


                            Action Results

                            The results of this action can be obtained using the form Insert value - Additional results where they will be available immediately after adding the action to the template.

                            The following is available:

                            • Log;

                            A specific variable will be created for each entry to the log in the section Additional results. If the option Load log for use by business process was marked for the action, it will help you to obtain the log which was already generated at the stage of this action. The log of each subsequent action will include the log of the previous actions. If the option was not marked, the variable will be empty.

                            Set Permission

                            This action permits establishing the rights of access to the document.


                            Action Parameters

                            "..." permission is granted to – setup of rights of the document for the indicated users/user groups.

                            Note: Different types of rights exist for different types of documents.

                            Overwrite existing permissions – permits you to not add rights but replace them. In this case, we work only with the rights that are set inside the business process.



                            If the document uses simplified (old) version of rights, they are set strictly from the outside (access settings to infoblocks/lists/etc.). The only option that permits establishing rights directly from the business process consists in establishing business processes rights for the document from the outside. In this case, it is possible to change rights during the execution of the process using the tab Access or the action Set Permission.

                            If extended rights of access are used, only new rights to the document can be added from the business process; the document will keep these rights even after the process is completed. The rights established from the outside cannot be redefined inside a business process.

                            Set Variables

                            This action permits changing the values of the variables set in template settings.


                            Action Parameters

                            Drop-down lists are used to select variables and set the necessary values for them.

                            Terminate business process

                            This action permits you to terminate the execution of a business process.

                            My Actions

                            My Actions permit you to save the set actions/structures and use it again.

                            This block also comes handy for copying actions inside the business process template. Just drag and drop the necessary actions to it, and after that they can be used over and over again by dragging back to the working area of the business process designer.

                            The actions added to this block are saved together with the template and can be used again for subsequent editing.


                            Insert Value Form

                            In addition to static text, the activity, template and status parameters can use special macros to specify auto-generated values like document fields, system variables, date and time etc.

                            To add a macro, click the ellipsis button (...) beside the target field. This will open the Insert Value form:

                            This form shows all the available macros grouped by use. The following groups are currently present.

                            • Template Parameters: contains the template parameters you can define by clicking Template Parameters button in Visual Modeler. Notice that a value may be defined by user at run time, when starting the business process.
                            • Variables: inserts user defined variables that may change during the execution of the business process. For example, this may be an auxiliary number field that a user will be prompted to enter.
                            • Document Fields: inserts the value of a field of the document on which the business process is running. For example: Created on or Created by.
                            • Additional Results: inserts the activity processing result if it exists. The list includes only the activities of the current business process template that return one or more values.
                            • Users: inserts the users (or user groups) privy to the business process. You can select one or more users separating multiple items with semicolon.

                            The following macros are not listed in the Insert Value form, however they can be used when creating business process templates.

                            • {=Workflow:ID} - inserts the current business process ID;
                            • {=User:ID} - inserts the ID of a current user in format user_[system_user_ID];
                            • {=System:Now} - inserts the current date and time;
                            • {=System:Date} - inserts the current date;
                            • {=Document:DETAIL_PAGE_URL} - inserts the document view page link. The link will be valid only if the information block parameters specify a correct details page URL.

                            The "_printable" Modifier

                            There is a special suffix you can add to the template variables and parameters: _printable. If present, it will format the macro output in human readable form if supported by a modified macro. If the macro does not support "printable" output, it will return the same value as without the modifier.

                            Consider the following examples in which the printable suffix is used on the user variable.

                            Current user as defined by the variable Macro and output
                            {=Variable:user} {=Variable:user_printable}
                            author author Created by
                            [1] user_1 John Doe [1]

                            The macros with this modifier are also available through the Insert Value form.

                            Possible Issues and Solutions

                            If you have created a custom document field (information block property) and cannot find it in the Insert Value form, make sure this field is visible in the system filters and lists.

                            • open the information block in Control Panel (Content > Information blocks > Information block types > [required_iblock]);
                            • click Properties tab;
                            • make sure the option Include property in filter on element list page is checked.

                            If the checkbox is not marked, the property will be unavailable in business processes.

                            Using expressions in activity parameters

                            To deliver maximum flexibility, the activity parameters allow the use of special expressions whose values are calculated at run time. To specify that a parameter value is an expression, use the Excel-like notation – that is, start the value with an "equals" sign: =. In other words: an expression is anything that is prepended with an equals sign.

                            Examples:

                            =6^2 + {=Document:PROPERTY_NUM}/2

                            =if({Document:ID}=5, "text1", "text2")

                            A parameter can use only one expression. To use multiple expressions in a parameter, use the concatenation operator (&), and enclose text in the expressions in double quotes (") as needed.

                            Examples:

                            ="Reply:" & (1+3)

                            ="Author: " & {=Document:CREATED_BY} & ", " & "Deadline: " & Dateadd({=Document:DATE_CREATE}, "1d")

                            As you will see below, the syntax of operators and functions in expressions is largely based on the syntax of those in PHP.

                            The following operators and functions are possible.

                            • + - adds two values;
                            • - - subtracts the second value from the first one;
                            • * - multiplies two values;
                            • / - divides the first value by the second one;
                            • = - assigns (i.e. returns) the expression result;
                            • <> - not equal;
                            • < - less than;
                            • > - more than;
                            • <= - less than or equal;
                            • >= - more than or equal;
                            • () - round brackets;
                            • & - concatenation operator. Return a new string which is the left string plus the right string;
                            • ^ - power;
                            • % - percent;
                            • true - Boolean true;
                            • false - Boolean false;
                            • and - Boolean AND;
                            • or - Boolean OR;
                            • not - Boolean NOT;
                            • min - returns the minimum of the two values;
                            • abs - returns the absolute value of an argument;
                            • dateadd - adds the time span passed as the second argument to the date specified as the first argument.

                              Syntax:

                              =dateadd([initial date], [time span])

                              The following units are possible in the time span: y, year, years, m, month, months, d, day, days, h, hour, hours, i, min, minute, minutes, s, second, seconds. The units are case insensitive.

                              Examples:

                              =Dateadd({=Document:DATE_CREATE}, "-2d")

                              =Dateadd({=Document:DATE_CREATE}, "2 days 3 minutes")

                            • datediff - Returns the difference between two dates.

                              Syntax:

                              =datediff([date1], [date2], [difference_display_format]);

                              The difference can be displayed in various units.

                              Example: =datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')

                            • if - specifies a condition;

                              Syntax:

                              =if([condition], [expression if true], [expression if false])

                              Example:

                              =if ({=Variable:Variable1_printable}>0, "yes", "no")

                            • intval - returns the integer of the value passed as the parameter;

                              Example:

                              =intval("234j4hv5jhv43v53jk4vt5hj4") returns 234 because the value starts with this number, and the character immediately following the "4" is not a number.

                            • substr - returns the portion of a string as specified by the last two parameters. See http://www.php.net/manual/en/function.substr.php for details.

                            Attention! If an expression has an error, it will not be evaluated and will be displayed as text.

                            Using Macros in Expressions

                            Using Variables in URL

                            If an action supports the [url] tag, you can use the variables in URL's:

                            [url]http://{=Variable:Domain}/{=Variable:Path}[/url] 

                            Here:

                            {=Variable:Domain} and {=Variable:Path} are the macros that resolve to the website domain and the path. For the =Variable: macros, the variable names are defined on the Template Parameters form.

                            Creating a Direct Link to a Task Page

                            Use this link when creating a message that will prompt a user to perform a task within the context of a current business process.

                            [url]http://intranet_domain/company/personal/bizproc/{=Workflow:ID}/[/url] 

                            Creating a Document View Link

                            This link will open a document for viewing. Use it in an e-mail message when you want to give a user a direct link to a document.

                            [url]{=Document:DETAIL_PAGE_URL}[/url] 

                            Note: The macro {=Document:DETAIL_PAGE_URL} will work only if the Details Page URL parameter in the information block settings form contains a path to valid page.

                            Common Lists

                            The Common Lists module is used to streamline the management of the public section information like dictionaries, structured storages, partner lists etc.

                            This module is functionally based on the Information Blocks module, while the user interface of the lists is handled by the visual components (Content > Common Lists):

                            The components are designed to operate in the public section: you will not need Control Panel to create the information blocks, sections, elements and properties.

                            Creating the User Interface

                            The Common Lists user interface is created automatically during the system installation (for version 9.0 and higher). If you are updating any previous version of your system to 9.0, you will have to create the user interface manually.

                            • Create the information block type (e.g. named Lists) to store the Common Lists. A single universal list is an individual information block:

                              Click to Enlarge
                            • In the Common Lists module settings form, select the user groups allowed to manage the lists:

                              Click to Enlarge
                            • Create a new page and add the Common Lists (bitrix:lists) component to it:

                              Click to Enlarge

                              In the component parameters, select the information block type you have created for the list management, and set the paths to the component user interface pages (if you are not using the default addresses).

                            Eventually, this effort will create a fully functional Common Lists interface. As previously mentioned, this user interface is designed to operate in the public section, and you can edit your result immediately:

                            Click to Enlarge

                            Using the Lists

                            The main page of the universal lists has plain and easy to understand user interface:

                            Creating the List and the List Fields

                            As you may well guess, the Add button on the context toolbar creates a new list. Click it to open the list properties form consisting of the three tabs. The first tab shows the general parameters for the new (or existing) list:

                            The Titles tab is useful when you need to have the names of the information block objects more meaningful with respect to the information block contents. Consider the following example:

                            Obviously, these are only the most general parameters. To access the list detailed settings, click Apply and then, use the List Fields button on the context toolbar:

                            Otherwise, if you are saving your list using the Save button, you can open the list contents page by clicking the list title link in the lists summary table and then click List Settings on the context toolbar.

                            Important! To avoid errors, you must add all the proposed fields to the list before adding elements to it.

                            By default, a new list has only the Name field:

                            To insert a new field in the list, click Add Field. To edit the existing field properties, select Edit in the action menu:

                            And this will open the field properties form:

                            There you will find the following fields, in brief:

                            • Sort: the less is the value, the higher the field is positioned in the list item properties form;
                            • Required: specifies that this field must exist when adding a list item;
                            • Multiple: if this option is checked, you can assign more than one field value when adding or editing a list item;
                            • Type: specifies the filed value type;
                            • Default Value is used when creating a new list item; set it to the most frequently used value so users don’t have to kill their time providing it again and again.

                            Consider an example of the Clients list setup:

                            Currencies

                            The Currency module manages all currencies that  your system use (or can use). The module functions are the following:

                            • currency management;
                            • maintaining price display formats for each currency;
                            • currency rate storage (including downloading rates from the Internet).
                            Important! The Currency module is required by the Commercial Catalog and e-Store modules.

                            The on-line store on your site may happen to sell foreign goods. As a rule, the price for such items is calculated using the purchasing price. The latter is usually set in a foreign currency. However, the legislation requires that calculations of all trading operations be accomplished in the home state currency. The Currency module is used to simplify operations with such items and their prices.

                            Prices can be specified and displayed in any of currencies available in the system. However, payment documents (receipts etc.) will have all values specified in the base system currency at the current rate.

                            Currencies

                            The Currency module is designed to manage currencies and their exchange rates. This module is required for proper functioning of the Commercial catalog and e-Store modules. You can manage currencies in the Currency form:

                            Settings -> Currency -> Currencies

                            Note: there is always a base currency which is one of the existing currencies. Rates of other currencies are calculated relative to the base currency.

                            Each currency has the following parameters:

                            Click on image to enlarge

                            • symbol identifier (e.g. USD, EUR);
                            • face value (here: the value of a currency unit);
                            • default rate (used for conversion unless newer rates exist in the Currency rates form);
                            • currency name and format for each language in the system.

                            Currency exchange rates

                            The Currency Rates (Settings -> Currency -> Currency rates) form is used for what it speaks: it manages the currency exchange rates. This form helps you easily maintain list of exchange rates for all required dates; that is, you can keep a log of the currency exchange rates. This information can help you later, for example, when reviewing orders for a specific period.

                            When converting currencies for a current date, the system takes the newest exchange rate. If the rate is not found, the default rate will be used (from the Currency form).

                            In the currency rate details form, you can obtain the exchange rate for the specified date (from the Central Bank of the Russian Federation) by clicking Query:

                            Examples of using currencies

                            Assume that you run a web shop and want to display prices in USD and euro.

                            First, create the required currencies (choose USD as a base currency):

                            • EUR
                             Click on image to enlarge
                            • USD (base currency)
                             Click on image to enlarge

                            After you have finished creating currencies, you can view them in the Currencies report:

                            Click on image to enlarge

                            Next, set rates of the currencies for the current day (relative to the base currency):

                            Now, prices in your shop can be displayed in any of the created currencies:

                            Note: the system provides a very useful visual component that you can add to your pages to display a table of currency rates:
                            Click on image to enlarge 

                            Document Library

                            The Document Library module is outdated, it is recommended to use the Drive module instead.

                            With the means provided by Bitrix24, you can create a special site section to store and share documents. This root, or master section can contain several subsections (libraries), each of which can define individual access permission for different user groups and workgroups.

                            General Overview

                            The Document Library and the Information Blocks modules are required to implement the document library.

                            The implementation demands that you create an individual information block type (e.g. Documents). Also, an individual information block must be created for each library.

                            Click on image to enlarge

                            Examples:

                            • the Common documents information block to store the shared workgroup library;
                            • User Library – to maintain personal file storages (this is the very feature offered by the Files tab of the user profile);
                            • Group Library – for the workgroup files (the Files tab on a workgroup page);
                            • Top Management's documents– for files that only the managers can access;
                            • Sales and Marketing – for documents used in the marketing department.
                            Note: when creating the information block, pay special attention to assigning permissions to user groups:

                            Click on image to enlarge

                            For example, you can grant the edit access permission only to members of the Management Board and Sales and Marketing user groups, while administrators will have full access; and deny access for all other users.

                            In the public section, the private libraries to which a user does not have access permission are marked with a special icon:

                            Showing Libraries in the Public Section

                            The Library (bitrix:webdav) composite component implements all functions required to display and manage the document library in the public section. Just add the component to a page, specify the information block type and the information block in which the files will be stored (e.g. Documents and Common Documents, respectively), and you’re done:

                            Click on image to enlarge

                            In the public section, the library page will appear as shown on the figure below:

                            Click on image to enlarge

                            Document Library Creation Wizard

                            To simplify the creation of a document library section, you can use the Document Library Wizard under the Create Section button in the Amber Ergonomics panel.

                            The wizard creates a section with a ready-made index page; a menu item linked to the section; a dedicated information block; and adds the Library component to the index page with the appropriate component parameters. You have the option to set the access permissions for the section and the information block.

                            Follow the steps below to create a section.

                            Step 1: Setting the Section Parameters

                            If you tick the option Open the Index Page in Editor, the wizard will open the new page with the Library (bitrix:webdav) component for your convenience in the visual editor after the wizard is completed.

                            The option Add Menu Item, when checked, specifies that you will have to provide the parameters of the document library menu item on the next step.

                            Use the option Restrict Section Access to give access to the section to specific user groups only.

                            The user groups listed in this listbox can be specified on the Site Explorer module settings page (use the link Configure Default Site Editors for fast access to the settings page).

                            Step 2: Customizing the Menu Item

                            Set the menu item title; specify the menu type and the menu item position as it is to appear in the menu.

                            Step 3: Configuring the Document Library

                            Depending on the data source you have selected, this form may look differently.

                            3.1. When the Data Source is an Information Block

                            Click on image to enlarge

                            Enter the name for the new document library. If the option Create a new information block is checked, the same string will be used as the information block name.

                            Specify the type of the information block to use for storing the document library items.

                            Under the group Information Block Access Permissions, assign the required access levels to the user groups.

                            3.2. When the Data Source is a Physical Disk Folder

                            Enter the name for the new document library.

                            In the Folder Path field, specify the path to a folder containing the files that will be shown in the document library.

                            Note: if you want to attach an existing network drive and have it be visible inside the portal, that's a different process: you should create a symbolic link to a folder in the drive (this link will appear in the file structure of the intranet) and, in the wizard, select "physical disk folder" and put the path to the linked folder in the folder path field.

                            Under the group Folder Permissions, assign the required access levels to the user groups.

                            Step 4: Setting the Section Parameters

                            Type the section description and the search keywords here.

                            Document Operations in a Web Browser

                            Creating a Folder

                            In order to create a folder, open the Documents page (Documents > Common Documents). Click Create Folder on the context toolbar:

                            This will open a folder creation form:

                            Type the desired folder name and click Save. After the page reloads, the new folder will show in the file list:

                            Click on image to enlarge

                            Deleting a Folder

                            You can delete an unneeded folder by clicking on the actions button in the row containing the folder to be deleted, and selecting Delete in the menu:

                            The system will ask that you confirm the deletion, and delete the folder upon positive answer.

                            Uploading Documents

                            Before you upload the documents, open the destination folder, and click Upload on the context toolbar:

                            An upload form will open. Here, you can choose one of the three view modes:

                            • Standard – uploads individual files from different folders (by clicking Add Files) or all files from a selected folder (by clicking Add Folder);
                            • Classic – uploads files from a selected folder;
                            • Simple - uploads individual files.

                            Choose the mode that fits you best and add the files to be uploaded.

                            Click on image to enlarge

                            If you want to unconditionally update existing files, check the box Overwrite existing files. Otherwise, the system will notify you that a file (or files) already exists in the destination folder.

                            Select the status for new files and click Upload. The upload window will appear showing the upload progress:

                            Click on image to enlarge

                            After the files has been uploaded, the updated files page will show:

                            Click on image to enlarge

                            Viewing Documents

                            To view a document, click the action button of a required file and select View in the menu:

                            The file properties page will open:

                            Íàæìèòå íà ðèñóíîê, ÷òîáû óâåëè÷èòü

                            Alternatively, you can use the eye icon shortcut:

                            Editing Documents

                            In order to edit a document or modify its properties, click the actions button in a row showing the document and select Edit:

                            A new form will open in which you can alter the document properties:

                            Click on image to enlarge

                            You can edit the file properties here. The following operations are available:

                            • the General Parameters group:
                              • change the file Name;
                              • specify the file Tags that will be used for search;
                              • you can Replace File by selecting a new one;
                              • activate or deactivate the file;
                              • provide the Description.
                            • the Workflow Parameters group:
                              • change the file Status;
                              • add a file Comment.

                            Click Save.

                            File History (Change Log)

                            To view the document change log, click the actions button in a row showing the document and select History:

                            A file change log form will open:

                            Íàæìèòå íà ðèñóíîê, ÷òîáû óâåëè÷èòü

                            You can receive all new comments on the library documents. Just click Subscribe on the context toolbar:

                            To cancel your subscription, click Unsubscribe:

                            Deleting Documents

                            Click Actions in a row showing the document to be deleted. Select Delete in the action menu:

                            The system will ask that you confirm the deletion and only then delete the document.

                            Editing Documents Using Microsoft Office

                            If you want to edit documents in Microsoft Office, you should have it installed on your machine. The documents can only be edited from within Internet Explorer. This feature requires Microsoft Office 2003 or better.

                            Note! Your changes made to the Microsoft Office documents will be lost if you open them for editing using any other browser than Internet Explorer!

                            With Microsoft Word, Microsoft Excel, Microsoft PowerPoint documents, just click the document name. Click OK in the warning window:

                            Click on image to enlarge

                            This will run a Microsoft Office application matching the document type. Now edit the document as required. Save it and close the application. Modifications will be saved to the server Library.

                            Warning: the document remains locked for other users while you are editing it.

                            Be sure to unlock the file after you have finished with it. Click the actions button and select Unlock from the menu:



                            The state icon beside the document label shows the current state in which a document is. A yellow icon means that you have locked the document. The red icon indicates the document has been locked by someone else.

                            Using the Document Library in Windows

                            Any folder in the document library that can be accessed according to the user permissions, can be mapped to a network drive or folder at any Intranet portal computer. Being mapped, a folder can be browsed using Windows Explorer. This feature is available in the Windows operating systems, XP and newer with Internet Explorer.

                            Browsing a Web Folder in Internet Explorer

                            Open the required document library folder in your browser. Click Network Drive on the context toolbar:

                            When asked, enter your User name and Password:

                            Click on image to enlarge

                            Windows Explorer will open a window showing the contents of the specified folder:

                            Click on image to enlarge

                            Note! This method of connection may possibly fail due to improper parameters in the Windows registry. If so, please contact your portal administrator.

                            Adding a Web Folder to Network Places

                            Run Windows Explorer. Select Service -> Map Network Drive. Click the link Sign-up for online storage or connect to a network server to run Add Network Place Wizard:

                            Click on image to enlarge

                            The wizard window will appear:

                            Click on image to enlarge

                            Click Next here.

                            Click on image to enlarge

                            In this window, click Choose another network location and then click Next. The next Wizard step will open:

                            Click on image to enlarge

                            Type the URL of the mapping folder in the Internet or network address field: http://<your_server>/docs/shared/. Click Next.

                            If prompted for a User name and Password, enter your login and password, and then click OK. The system will authorize you and open the next Wizard step:

                            Click on image to enlarge

                            In this step, you can specify an arbitrary title for the mapped folder. By default, the title is the folder name. Click Next. The last step will open, in which the Wizard notifies that the folder has been successfully mapped and offers an option to open the folder when you finish the Wizard.

                            Click on image to enlarge

                            Click Finish here.

                            The system will map the folder and, if you have chosen to open the folder, open the Windows Explorer window showing with the folder mapped:

                            Click on image to enlarge

                            The folder is now always available in Windows Explorer. To open it, select Start > My Network Places > folder name.

                            Mapping the Library as a Network Drive


                            Note! This method of connection has known limitations in Windows XP. If you have any problems, please contact your portal administrator.

                            Run Windows Explorer. Select Tools > Map Network Drive. The network disc wizard will open. In the Drive field, specify a letter to map the folder to. In the Folder field, enter the path to the library: http://<your_server>/docs/shared/. If you want this folder to be available when the system starts, check the Reconnect at logon option. Click Ready.

                            The authorization dialog will open. Enter your login and password. Click OK. The system will authorize you and open the mapped folder in a Windows Explorer window.

                            Later, you can open the folder in Windows Explorer in which the folder is shown as a drive under My Computer, or in any file manager.

                            Folder Mapping Issues in Windows

                            When mapping the document library folders, you may encounter errors caused by the Windows configuration. In Windows, the Web Client service has a special system parameter that controls secure or insecure connectivity. By default, Windows XP connections are insecure, but Windows Vista is configured to use a secure HTTPS protocol. Sometimes, this parameter can be set to a secure state in Windows XP.

                            With secure connections, the network folder controls, network drives and access using Microsoft Office are unavailable. The following steps will help you resolve this issue.

                            Running the Web Client Service

                            Click Start > Control Panel > Administrative Tools > Services to open the Services window:

                            Click on image to enlarge

                            Find the WebClient service in the list. The Status column should indicate the Started service status.

                            If the service is not running, right-click on the service row to open the context menu. In this menu, select the Start command.

                            If you want this service to run at the system start-up, open the context menu and select Properties. This will bring up the WebClient service properties dialog:

                            Click on image to enlarge

                            In the Startup type drop-down list, select Automatic. Click OK.

                            Now, the service will run automatically when Windows starts. You can now map the folder.

                            Allowing Insecure Authentication (without HTTPS)

                            This operation requires making changes to the system registry. You can do it by using the Registry Editor, or by running a special script supplied with the Intranet Portal distribution package.

                            Using .reg Files to Edit the Registry

                            This way is more suitable for common users.

                            Open Internet Explorer and type in the browser address bar:

                            • for Windows XP: http://your_portal/bitrix/webdav/xp.reg
                            • for WindowsVista: http://your_portal/bitrix/webdav/vista.reg

                            This will open the file download window. Click Run. The file download will start. After the download is complete, the Registry Editor warning dialog will bring up.

                            Note. If you use browsers other than Internet Explorer, the file will be downloaded, but the Registry Editor will not start automatically. You will have to run the downloaded file manually.

                            Click Yes. Changes will be enrolled in the registry. Reboot the machine.

                            Using Registry Editor to Edit the Parameter

                            This method is recommended for system administrators and advanced users.

                            Click Start > Run:

                            Click on image to enlarge

                            In the Open field, type regedit and click OK. The Registry Editor will open:

                            Click on image to enlarge

                            For Windows XP, find the parameter:

                            [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters] "UseBasicAuth"=dword:00000001

                            If the parameter value is other than 1, set it to 1.

                            For Windows Vista, find the parameter:

                            [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
                            "BasicAuthLevel"=dword:00000002

                            If the parameter value is other than 2, set it to 2.

                            Restart the Webclient service.

                            e-Learning

                            The e-Learning module can be used to create training courses that visitors can take on-line.

                            Basic notions

                            A course is the well-organized and logically complete set of web pages giving information on a definite subject. A common practice is to conduct an examination at the end of the course in order to test students’ knowledge.

                            Click on image to enlarge

                            A common course includes:

                            • Chapters – logically complete parts of a course. Each chapter can include nested chapters or sections;
                            • Lessons – form the course content. Lessons can belong to chapters or a course (i.e. without binding to a particular chapter). Each lesson is represented by a single web page.
                            • Lessons can end up in a series of questions. Some of these questions can be used in self-check tests. Users can hold self-check tests to verify their knowledge.
                            • In the end of a course, separate questions can be joined up in a final test, where questions of self-check tests can be discarded.

                              The Attempts journal stores information about all tests hold by users. The journal records show test scores, success and failure ratio etc.

                              The test results are stored in the Gradebook. A result is a record holding testing score for a user. The result reflects the most successful test attempt.

                              Tests can be automated using simple administrator-defined criteria. Automatic tests instantly show the results upon holding the exam.

                            Web courses created using the e-Learning module can be exported to an external file for uploading to other sites/intranets powered by Bitrix products. The module offers special tools to import and export courses.

                            Creating lessons and tests

                            Creating a training course

                            You can create and manage a training course in the Courses form (Services -> e-Learning -> Courses):

                            Click on image to enlarge

                            To create a new course, click the Add course button on the context toolbar. This will open the training course editing form:

                            Click on image to enlarge

                            The following parameters can be specified:

                            • announcement description (displayed in the list of training courses in the public section);
                            • full description (displayed on the main page of the course);
                            • period during which the training course is active;
                            • access permissions for different user groups.

                            After the course is created, it is added to the list of courses in the Courses form:

                            Using chapters

                            A training course divided in chapters is definitely more convenient to handle by on-line users since it allows to avoid loading all the lessons at once.

                            You can create a chapter in the following ways:

                            • by clicking the plus sign (+) in the Chapters column:
                            Click on image to enlarge
                            • by clicking the New chapter button on the context bar of a chapter report form
                              (Services -> e-Learning -> Courses -> <your course> -> Chapters):
                            Click on image to enlarge

                            Main parameters of a chapter are:

                            • parent level of a chapter. If a new chapter is the descendant of another one, select it in the Parent chapter list;
                            • the name (will be displayed in the tree menu in both the Control Panel and the public section);
                            • short and full descriptions.

                            After the chapter is created, it is added to the list of chapters:

                            Creating lessons

                            You can survey all lessons of the course in the Lessons form (Services -> e-Learning -> Courses -> <your course> -> Lessons):

                            Click on image to enlarge

                            The New lesson button opens a form in which you can specify parameters of a new lesson:

                            • If a new lesson is to be added to the top level of the course, without binding it to a chapter, choose Top level in the Parent chapter list. Otherwise, select the required chapter there.
                            • You can type a short description of the lesson on the Description tab.
                            • Click the Text tab and enter the full text of the lesson.

                            After the lesson is created, it is added to the list of lessons:

                            You can view all lessons of a particular chapter by clicking the Lessons item in the required chapter:

                            Note: to view lessons that are not bound to any chapter, click the Lessons item in the root chapter:

                            Creating and configuring tests

                            Each lesson in a training course can have a set of questions covering subjects explained in a lesson. There are two types of questions: common questions and self-check questions. You can choose the question type in the question settings. Examination tests are based on questions that you create for lessons.

                            Self-check tests are created automatically and include questions whose option Self check is active.

                             Click on image to enlarge

                            However, the final examination test requires that you instruct the system how to pick out questions for inclusion in the test. You can do that in the test creation form.

                            Click on image to enlarge Click on image to enlarge

                            Questions

                            You can create a question by doing one of the following:

                            • by clicking + in the Questions column of an appropriate lesson;
                            • by clicking the New question button on the context bar of a form with lesson questions;
                            • by clicking the New question button on the form with a list of all questions (Services -> e-Learning -> Courses -> <course> -> Questions).

                            When creating a question, you have to choose the type:

                            Click on image to enlarge

                            • single choice: a question implies that only one answer is correct;
                             Click on image to enlarge
                            • multiple choice: a question implies that a user can select one or more answers.
                             Click on image to enlarge

                            Creating a question

                            You can enter the question text on the Question tab:

                            If you want to include the question in the self check test that will be suggested to students after studying the lesson, enable the option Self check.

                            Now click the Answers tab and specify possible answers to the question.

                            Important! Remember to mark the correct answer (or answers - for multiple choice questions).

                            You can open the Description tab to enter the question details and upload an image that will be displayed in the question area. After you click Save, the question will be added to the question lists of both the lesson and the course.

                            Using tests

                            You can create and manage tests in the Tests form (Services -> e-Learning -> Courses -> <course> -> Tests):

                            Click on image to enlarge

                            To create a new test, click Add test.

                            Click on image to enlarge

                            • Questions are added to the test depending on the options specified in the Include in test field (1*).
                            • By default, self-check questions are not added to the test. To include them, mark the corresponding option (3*).
                            • You can limit the time given a student to pass the test, and the number of attempts (4*).
                            • You can set the test to calculate results automatically. This means that the system will display the test result and add a record to the log (the gradebook). To enable automatic test control, enable the corresponding option and specify the percentage of questions required to pass the test (5*).

                            All the examination attempts are recorded in the Attempts form (Services -> e-Learning -> Attempts):

                            Click on image to enlarge

                            Examination results are displayed in the Grade book form (Services -> e-Learning-> Grade book):

                            Click on image to enlarge

                            If a test is not automatic, the grade book will display only the scores.

                            Publishing a training course

                            Publishing a training course

                            Components of the e-Learning module are used to create and publish web courses.

                            Note: The demo version has some examples of web courses created with these components. The sample pages include:
                            • a list of web courses;
                            • a course view page.
                            These pages are located in /communication/learning/ and /communication/learning/course/.

                            To view how these pages run, type in your browser: http://<demo_site_address>/communication /learning/. This will open a page showing all the currently existing courses.

                            Publishing a list of courses

                            The Course list visual component does all the job required to show the list of existing training courses:

                            Click on image to enlarge Click on image to enlarge

                            Important! You have to specify the course view page in the component properties. If no such page exists, you should create it.

                            Publishing the course

                            The demo version implements the course view section using the Learning course composite component, not using the search engine friendly mode.

                            Note: you have to place this component on a page no other than the one previously specified in the Course list component properties.

                            Click on image to enlarge Click on image to enlarge

                            Important! The system renders the course description, sections, lessons and tests using an independent design template. The course design template application conditions can be specified just in the same manner as for any other templates. Specifically, set the path to the web course section as the condition, in the site settings.

                            Click on image to enlarge

                            The demo version displays web courses based on the «E-learning template». This template is set to be applied to pages that reside in /communication/learning/course/.

                            When configuring the composite component parameters, you should remember to specify variables that will contain page identifiers:

                            The settings shown above use CHAPTER_ID to view chapter details, LESSON_ID - lesson details etc.

                            Tests

                            Following lessons and chapters of a course, the system displays tests for that course. The list of tests is published using the TEST_LIST identifier.

                            Click on image to enlarge

                            A page that displays an individual test is invoked using the TEST_ID identifier.

                            Click on image to enlarge

                            Upon having taken the test, a user will see the corresponding message. To view the test results, they can click the View test results link:

                            A page that shows the test results is invoked using the GRADEBOOK identifier.

                            Click on image to enlarge

                            Note: this page displays information about all tests that a user has taken.

                            Extranet

                            Bitrix24 implements special interface providing for confidential communication with the third parties (partners, clients, contractors etc.) by accessing the portal via the Internet.

                            This mechanism is based upon the Extranet module. There is no restriction on the number of external users, irrespective of the number of licenses purchased.

                            Introduction

                            Extranet is a dedicated web zone created for the company employees for more productive collaboration with authorized representatives of other businesses or third parties.

                            The Extranet module is the extension of the Intranet Portal allowing the company to establish confidential communication with suppliers, distributors and other external users without granting them an access to the internal information.

                            Technically, the module is implemented as an individual website on Bitrix24 with restricted access. Functionally, the Extranet module is an add-on that is layered upon the Social Network and the Intranet modules enriching the system with special permissions for content and functions of the Intranet portal.

                            Access restrictions apply to the company staff (i.e. the users registered as members of the company structural departments) as well as the external users.

                            If a user is not a company employee (not bound to any department), the system redirects them to the extranet site. If a visitor is not even an external user, the system prevents them from viewing the extranet site.

                            The extranet web site is somewhat functionally different when compared to the Intranet portal. The extranet workplace is concentrated in a workgroup.

                            Intranet user vs Extranet user

                            The Extranet in Bitrix24 lets outside users, like contractors, clients or business partners have limited access to you intranet for the purpose of mutual collaboration, discussions and content sharing inside the limited boundaries of extranet workgroups.

                            When you create extranet groups and invite external users, your employees and extranet users are able to participate in discussions, share files, create tasks, post messages and perform other collaborative activities inside that extranet group. Even though tools available to external users are very similar to the ones that intranet users work with, there are several important distinctions and limitations:

                            Tool IntranetExtranet Notes
                            General
                            Viewing user profiles + + Extranet users see profile information, drive, tasks and conversations only.
                            Activity stream + + Extranet users have access to all activity stream features except badges and calendar events.
                            Tasks + + Extranet users can create tasks for those who are in his or her Employee/Contact list. Inside extranet workgroups, tasks created can involve only members of those groups.
                            Calendar +
                            My Drive + + Extranet users can set access rights for their files and folders but they can not make their folders ‘shared’.
                            Company Drive +
                            Mail +
                            Conversations + + Extranet users can address posts and messages to those who are in their Employee/Contact list or to the entire extranet workgroup only.
                            Business processes +
                            Photo + Extranet users can access photos inside their workgroups only.
                            CRM +
                            Workgroups/Projects
                            Workgroups +
                            Extranet workgroups + + Extranet users have full access to the contents of the extranet workgroups they are members of without any restrictions, unless access rights within the particular workgroup have been set otherwise.

                            Tools available inside extranet workgroups include Drive, Tasks, Photo, Calendar, Conversations, Lists, and Wiki.
                            Company
                            Employees + + Extranet users see only employees who are part of the same extranet workgroups as they are.
                            Contacts + Extranet users see only external users who are part of the same extranet workgroups as they are.
                            Company structure +
                            Worktime +
                            Lists + Extranet users are able access Lists inside their extranet workgroups only.
                            Meetings and briefings +
                            Absence chart +
                            Communication
                            Notification settings + +
                            IM/Chat/Audio&Video calls + + Extranet users can contact those who are in their Employee/Contact list. Audio&video call availability depends on browser used and browser and web camera settings enabled/disabled.
                            Telephony +
                            Bitrix24.Network + +
                            Mobile apps + +
                            Desktop app + +

                            In the onsite version of Bitrix24, it is possible to set up 'content' pages in the extranet (especially using the classic interface) which are accessible to all extranet users of all groups. Such pages could include things like a document library for downloads, web forms, or other static or dynamic information.



                            Installing And Configuring The Module And The Extranet Website

                            The Extranet module does not install automatically when you install Bitrix Intranet Portal. Upon installation, Extranet Site Wizard is available in the Wizards list (Settings > System Settings > Wizards):

                            Wizard list

                            If the module was not installed for some reason, you can install it manually. Open the Modules form (Settings > System Settings > Modules).

                            Click to Enlarge

                            Find the Extranet module in the list and click Install. After the module has been installed, you have to configure it by running the extranet site wizard. Click Run Extranet Site Setup Wizard link:

                            The Extranet Site Wizard

                            Run the wizard and configure your extranet site.

                            Click to Enlarge

                            • Company Name: specify here the name of your company or any other text to be shown as the site main title;
                            • Extranet Site ID: type here an arbitrary two-character code. A digit is also possible, but the first character must be a Latin letter. You should change the default ID if only it conflicts with the ID of the intranet portal;
                            • Extranet Site Folder: provide the name of the folder in which the site will reside. It is not recommended to change the default folder name.

                            Click Install. Your extranet site is now being installed.

                            Click to Enlarge

                            The system will automatically advance to the next step after the installation is complete.

                            Click to Enlarge

                            Click Open Portal to close the wizard and open the extranet site.

                            Click to Enlarge

                            Now, if you open Control Panel, you will see the extranet website added to the system:

                            Site structure List of sites

                            The wizard creates all the necessary objects for your extranet website: information blocks, forums and blog groups.

                            Module Configuration

                            The extranet site wizard tunes the module parameters automatically. You are not recommended to amend the suggested settings unless you clearly understand their meaning.

                            However, if the extranet site was created without the wizard, the administrator will have to configure it manually. To change the module parameters, go to Settings > System Settings > Module Settings > Extranet to open the module settings form:

                            Module settings

                            • Extranet Site ID: select the site that the system will use as an extranet site;
                            • Field ID for User Property Defining Employee Public Availability: type the name of a user property to indicate a public employee. The code must be previously created in Settings > System Settings > User Fields.
                            • Extranet User Group: any user group can be selected for use with the extranet site; however, it is strongly recommended to use a special group.

                            Important! The employee public property and the user group must be created prior to selecting them in the module settings form.

                            Access Permissions For Extranet Users

                            Accessing the intranet portal from the Internet is usually prohibited for security reasons. The system administrators (or other persons responsible for maintenance of the web infrastructure) close such access when installing the intranet portal by unchecking the Allow Unauthorized Visitors option (step 4 of the Bitrix24 Wizard).

                            Click to Enlarge

                            Warning! If the option in question is checked, any external visitor can access the extranet website, but what is of much more great concern – the intranet portal as well, despite the extranet website not showing any intranet portal links.

                            Since the company employees, like the guest third party users, have limited access to the extranet website, the system must have appropriate user groups for proper access permission management.

                            Both the external users and company employees are the members of the Extranet Users group created by the extranet site wizard. This membership gives users the most limited access to the extranet site:

                            Click to Enlarge

                            However, note that the external and internal users must be added to this group at least to view the extranet website.

                            Public Employees

                            An extranet site introduces a notion of a public employee which is not used in the Intranet portal. This feature is necessitated by the involvement of external users in the extranet infrastructure.

                            A public employee is always available for communication and inclusion in any workgroup. In essence, such person is an extranet assistant. A public employee must always be a person of the company to which the extranet site belongs.

                            If the extranet website was set up using the extranet wizard, the UF_PUBLIC property is already in your system. Otherwise, open the Custom Fields form (Settings > System Settings > Custom Fields) and create this property:

                            Click to Enlarge

                            The following actions are required to activate the “public employee” property of a certain person:

                            • Go to Settings > Users > Users and open a required user for editing;
                            • Switch to the Custom Fields tab;
                            • Check the Visible to all in Extranet box. The user property code for this property is UF_PUBLIC:

                              Click to Enlarge
                            • Save changes.

                            From this moment on, all the extranet users always can communicate with the public employee:

                            List of public contacts

                            The Extranet Module Gadgets

                            Like with the intranet portal, the extranet website desktop is comprised of gadgets. However, the administrator can control the gadgets that the users are allowed to insert in the desktop. To specify the possible gadgets, use the Desktop component parameters:

                            The Extranet module includes a special gadget (Contacts) to show two different contact lists:

                            Contact lists
                            • the user workgroup contacts;
                            • the public employees.

                            You will find the detailed instructions of how to add and manage the gadgets in the Personal Dashboard and Gadgets tutorial.

                            Forum

                            A forum bears an essential social function: people participating in a forum can create threads around discussion topics or subjects. The employees can call for help to resolve their problems; read existing topics etc.

                            This chapter gives an example of using the module features to create a Bitrix24 forum.

                            Managing the Forums

                            Forum Groups

                            The forums groups can be used, for example, to consolidate forum threads by any trait: News Comments, Photos Comments etc. A forum can be bound to one of the existing forum groups, or it can be loose.

                            You can create a new forum group by opening the Control Panel page: Services > Forums > Groups. Click New forum group on the context toolbar to bring up the forum group creation form:

                            Click on image to enlarge

                            Here, fill in the Description and Name fields for all languages that are installed in your portal. Save changes.

                            Create the two forum groups: Forum to comments and Hidden forums. The forum groups page will show them as illustrated below:

                            Click on image to enlarge

                            Forums

                            In order to create a new forum, navigate to Services > Forums > List of forums. Click New forum on the context toolbar. The forum creation form will bring up:

                            Click on image to enlarge

                            Select here the Forum group to which the new forum will be bound. Sorting and Forum name are the required fields, so be sure to specify the forum position in the forums list and give your forum a name. Click the Access tab:

                            Click on image to enlarge

                            Assign the required access level to the user groups you want to be able to access the forum. Save changes.

                            Create the comments forums (e.g. News discussion and Photo gallery discussions) in the similar way, and a forum for the users (e.g. Users and groups). In the end, the forums list will show your new forums:

                            Click on image to enlarge

                            Showing Forums in the Public Section

                            The following discussion explains the detains of creating the public user interface for the forums.

                            Creating Forums in the Social Network

                            The Social Network module settings page has a toggle to activate or deactivate the forum feature entirely. Open Settings > System Settings > Module Settings > Social Network and check or uncheck the appropriate boxes:

                            Click on image to enlarge

                            Note: you can manage the social network settings for all sites by changing the All Sites options, or only for certain sites.

                            When creating the social network public interface, you must select the forum group to which the user forums will be bound, in every component you add (the same applies to the workgroups):

                            Click on image to enlarge

                            The access to private topics and posts can be configured in the user (or workgroup) personal preferences:

                            Click on image to enlarge

                            Adding Forums to the Public Section

                            The Forum (bitrix:forum) composite component created the entire user interface realm, including all the required pages and features. Just create a new page and add the component to it:

                            Click on image to enlarge

                            Having added the component, select the forums you want to be visible. For example: General forum and News discussion. With these trivial actions performed, the forums page will look as shown below:

                            Click on image to enlarge

                            Note: you will find additional information on using forums in the help section.

                            Using Forums in the Public Section

                            Creating a Topic

                            To create a new topic, click the button. When clicked, it will open the new topic creation form:

                            Click on image to enlarge

                            Type in the topic title, description and enter the text of the first post in the new topic. If required, add some tags that would describe your topic, for easier user navigation.

                            If required, you can have notifications about new posts in this topic send to your e-mail. If so, check the Subscribe to New Posts in This Topic box.

                            Click Create. Your new topic would look like this:

                            Click on image to enlarge

                            Creating Posts

                            This is trivial: to add a new post, type the text in the reply form and click Reply:

                            Click on image to enlarge

                            Your post will appear at the bottom of the thread:

                            Click on image to enlarge

                            Subscription for New Posts and Topics

                            Whenever you want to subscribe for new posts or topics, click . In the drop-down list, select New posts or New topics.

                            If you want to manage your subscription, click on the context toolbar. In the subscriptions form, click the Delete link of a subscription you want to deactivate:

                            Click on image to enlarge

                            Helpdesk

                            A comprehensive web-portal, no matter whether it's an information site or an online-store, is so stuffed with various features that users may find it hard to navigate it. In addition, many companies would like to quickly respond to clients' questions thus maintaining the company reputation. It's especially important for web-portals tailored at providing to clients online consultations related to software and hardware performance, etc. A properly structured and organized site should be able to promptly react to clients' requests and address them to technical support engineers according to topics.

                            The Helpdesk module was designed to:

                            • implement the ticket submission system enabling visitors to contact the technical support specialists;
                            • manage service level agreement preferences (SLA);
                            • register ticket response time and efficiency;
                            • analyse user replies.

                            Setting up your helpedesk service

                            The procedure of creating and handling a ticket received by the technical support service is controlled by the service level agreement (SLA).

                            SLA is a formal agreement between a company and users to provide a certain level of service (in our case, technical support).

                            • Each user group entitled to create a ticket is assigned a certain SLA which defines the ticket response time and some parameters.
                            • Users can use the following three methods to create tickets:
                              • via standard forms on the site;
                              • via the e-mail;
                              • via phone call.

                              Also, certain forum messages (e.g. concerning purely technical problems or that are beyond the forum subject) can be moved to the technical support service. A message can be moved by the site or forum administrator.

                              Each message is assigned a unique ID which simplifies registering and handling new tickets.

                            • A technical support ticket is handled according to the SLA preferences. Reply is published on the site and is sent to a user via the e-mail. Only the user who has created the ticket and technical support specialists can view the discussion.

                            The technical support interface consists of two parts:

                            • administration which can be accessed via the Control Panel 
                             Click on image to enlarge
                            • public
                             Click on image to enlarge

                            A common practice for techsupport clients is to access the public interface, while the specialists handle requests in the administration interface. Administration and public  interfaces are different in design and functions.

                            Note!
                            The following roles are used to manage the Helpdesk module user access permission levels.
                            • Technical support clients are entitled to access the ticket administration menu; they are allowed to create and edit their own tickets in administration and public files.

                              A technical support client is notified about all events occurring to their ticket via the e-mail (e.g. about ticket status changes, responsible person assignment; ticket reply etc.). Also, when creating a ticket, a user receives notification containing the original ticket information (the ticket number, name of the default responsible person etc.).

                            • Technical support specialists can access all menu items and Helpdesk pages. They handle tickets for which they are responsible.

                              A technical support specialist is notified via the e-mail about all events occurring to their tickets. A new responsible person receives the notification containing the ticket information.

                            • Technical support administrator can edit the technical support dictionary and any ticket as well as assign responsible persons. The administrator receives e-mail messages about all tickets addressed to the technical support service.

                            Dictionaries

                            Reference book contain information related to client requests to the helpdesk. This information is for reference only and does not affect ticket processing.

                            Before starting to use the Helpdesk module, it is a good idea to configure the required dictionaries. This allows to:

                            • automatically assign responsible persons to tickets depending on the ticket parameters and content;
                            • group incoming tickets;
                            • track problem complexity and solution efficiency.

                            Categories

                            Ticket category is an area to which a ticket refers (for example: Bugs, Order payment). Categories are configured here: Services -> Helpdesk -> Reference book -> Categories.

                            Click on image to enlarge

                            When creating a ticket, a user can select an appropriate category (from the list) to which the described problem refers:

                            Click on image to enlarge

                            The list of categories that are available to a user is defined by SLA.

                            Criticality

                            Ticket criticality determines the ticket significance (i.e. how urgent is the problem described by the user). For example: Low, Middle, High.

                            Reference book preferences are configured here: Services -> Helpdesk -> Reference book -> Criticality.

                            Click on image to enlarge

                            The criticality level is assigned by a user when creating a ticket. This information is for reference only.

                            Click on image to enlarge

                            The list of criticality levels that are available to users is defined by SLA. Having elaborated on a problem, a support specialist can change the ticket criticality level.

                            Statuses

                            Statuses show the stage of ticket processing, for example: Request accepted, Problem solving in progress, Successfully solved etc.

                            The list of statuses is created at Services -> Helpdesk -> Reference book -> Statuses.

                            Click on image to enlarge

                            The ticket status can be assigned to it by the support specialist.

                            Click on image to enlarge

                            Answer rates

                            The Answer rates dictionary contains marks that a techsupport client can assign for a given response.

                            Click on image to enlarge

                            The list of available marks to users is defined by SLA.

                            You can configure marks at Services -> Helpdesk -> Reference book -> Answer rates.

                            Marks are used to control the quality of technical support.

                            Difficulty

                            The Difficulty dictionary contains description of ticket difficulty levels that can be used, for example, to control the response time.

                            The dictionary is configured here: Services -> Helpdesk -> Reference book -> Difficulty.

                            Click on image to enlarge

                            The ticket difficulty is estimated by the support specialist:

                            Frequently used answers

                            Replies that are used more frequently can be saved in the Frequently used answers dictionary: Services -> Helpdesk -> Reference book -> Frequently used answers.

                            Click on image to enlarge

                            Later, typical answers can be used when replying:

                            This allows to reduce the time spent to process frequent questions.

                            SLA

                            Service levels can be configured on the Support levels (SLA) page (Services -> Helpdesk -> Support levels).

                            Click on image to enlarge

                            SLA defines:

                            • ticket response time (i.e. time within which a ticket is to be replied);
                             Click on image to enlarge
                            • user groups that can expect this quality of support;
                             Click on image to enlarge
                            • accessible categories and ticket emergency levels as well as ticket response ranks.

                              For example, users with a common SLA can create tickets with low emergency level, while the Partners SLA clients can create tickets with low, middle and high emergency levels.

                             Click on image to enlarge
                            • some other parameters.
                             

                            How to assign the ticket duty

                            Responsible person is a techsupport staff member liable to resolve tickets and problems.

                            Responsibilities can be distributed:

                            • automatically (according to the pre-set parameters);
                            • manually by a technical support administrator.

                            The following parameters are considered when a responsible person is assigned automatically:

                            • specialist responsible for the ticket of a certain SLA.

                              According to user rights each ticket is assigned a definite SLA. In the SLA settings, a support specialist can be specified who is to solve problems of a specified support level.

                             Click on image to enlarge
                            • if a responsible person is not specified for the SLA, then they are assigned according to the category settings to which the ticket has been related.
                             Click on image to enlarge
                            • if a responsible person is not specified for the category, then they are assigned according to the Helpdesk module settings.
                             Click on image to enlarge

                            The technical support administrator can assign or change the responsible person when viewing the ticket:

                            Click on image to enlarge

                            Functions available in the public section

                            Using public interface

                            Working in the public interface

                            In the public section, a user is entitled to view their tickets and responses only.

                            Note!
                            A technical support specialist communicate with a client in the private form. That is, other site visitors are not allowed to view tickets created by the client.

                            Click on image to enlarge

                            Note!
                            Technical support administrators can view all messages, while specialists can view only messages for which they are responsible.

                            The following information is displayed for each ticket:

                            • a unique ticket ID;
                            • the date when the ticket was last modified, and the name of a user who modified the ticket;
                            • ticket category (if specified);
                            • specialist responsible for the ticket (depends on the category and the SLA);
                            • the level of urgency;
                            • current status of the ticket.

                            To create a ticket, click Create new ticket.

                            Click on image to enlarge

                            The ticket creation form allows a user to:

                            • attach files containing additional required information (for example: screenshot illustrating an error);
                            • set the ticket emergency level;
                            • select the ticket category.
                            Note!

                            If needed, a ticket can be modified after it has been created:

                             Click on image to enlarge

                            How to send a message via the e-mail

                            Messages sent via the e-mail are handled using the Mail module rule.

                            • The Mail module can have an account to which tickets will be forwarded to reach the technical support service. For example, Support:

                              Click on image to enlarge

                            • Rules can be configured for the created account to stipulate that the forwarded messages will be put into the list of Helpdesk tickets:

                              Click on image to enlarge

                              Rules are created using the Helpdesk e-mail template.

                              Note!
                              • The demo version includes examples of rules to add tickets to the techsupport service.
                              • Rules that are used to add tickets can be applied for any existing account.

                              The Conditions tab sets prerequisites that define how messages (tickets) will be added to the techsupport service.

                               Click on image to enlarge

                              For example, the conditions on the above figure:

                              • each time a new message is received, the system will attempt to find the message sender e-mail address in the list of registered users (1*).

                                After the author is identified, a corresponding SLA is assigned to the message;

                              • besides, the system will check whether pending messages created by a user with the same e-mail are available (2*).
                              • Templates allow to identify whether a received message is a response to the one sent by a technical support specialist (3*).
                                • If yes, the message text will be appended to a respective ticket.
                                • If no, a new ticket will be created.

                            How to add message from the forum

                            If required, administrator can moved a message from the forum to the Helpdesk module using the Add to Techsupport button:

                            Click on image to enlarge

                            This may be necessary if a message touches complicated technical questions that are beyond the forum subject.

                            Creating public interface

                            You can easily create a technical support section for your site using the composite component Helpdesk.

                            Click on image to enlarge Click on image to enlarge

                            This component creates a fully functional technical support system that features viewing ticket lists, adding new tickets and messages.

                            Note: When setting the component properties, remember to specify the ticket address. If the Enable SEF support option is unchecked, specify the name of a variable that will pass the ticket identifier:

                            But, if the option is enabled, specify the SEF folder, the path to the ticket list page, and the path to the ticket editing page:

                            Administration interface

                            Functions of the Helpdesk control panel allow to implement the following operations:

                            • configure ticket parameters (emergency level. ticket statuses, reply score etc.);
                            • view and reply to the user techsupport tickets.

                            Administration interface includes:

                            • desktop;
                            • list of tickets;
                            • graphs;
                            • dictionary tools and SLA (see earlier).

                            Techsupport Desktop

                            The summary on incoming tickets and reports about helpdesk service perfromance are available on the Desktop page (Services -> Helpdesk -> Desktop).

                            Click on image to enlarge

                            Summary reports are the review tables showing the number of assigned, closed and open tickets:

                            • by responsible specialists;
                            • by emergency level;
                            • by the current status
                            • by category;
                            • by ticket source;
                            • by ticket reply score.

                            Tickets

                            The Ticket page displays tickets received by the technical support service. Special indicators help determine the present state of tickets:

                            Click on image to enlarge

                             - your party replied to the ticket last time (you are responsible);
                             - your party replied to the ticket last time (you are not responsible);
                             - the last reply is yours;
                             - helpdesk staff member updated the ticket last time;
                             - ticket is closed.

                            Moreover, a notice can be displayed beside the indicator:

                            • Reply here! Means the reply period stipulated by SLA is about to expire;
                            • Expired! Means the reply period is expired.

                            The page filter parameters stipulate that tickets are displayed to a helpdesk specialist who is responsible for them:

                            • Expired messages are displayed on top of the list (Expired!);
                            • Then, messages whose reply period is about to expire (Reply here!);
                            • Other messages are displayed on a first-served basis, according to the reply date (stipulated by SLA).

                            If a helpdesk staff member has replied to a ticket, the ticket is marked green and moved to the end.

                            Note! The ticket position will not change if:
                            • the author has modified or updated the ticket with additional information;
                            • a helpdesk specialist has added a comment or a hidden message to the ticket.

                            All tickets that are to be replied shortly (yellow or red indicator) are displayed to the helpdesk administrator by default.

                            Handling tickets

                            To reply to a ticket, double click it in the list or click the respective context menu item to open the ticket editing page:

                            The ticket view form consists of three parts:

                            • Information;
                            • Discussion;
                            • Answer.

                            Information part

                            This part holds the following data:

                            • site where the ticket was created;
                            • ticket source (e-mail, phone number, web form, forum) and the author;
                              Note!
                              A user ticket (for example, via the phone call) can be registered by the administrator or by a helpdesk staff member. The ticket is bound to a certain user in the system using the Author field. Thus, further discussion will be in the context of the ticket.
                            • the date when the ticket was created and modified;
                            • the time and date of the last efficacious reply (i.e. the reply that changed the indicator colour to green).

                            Discussion

                            This part contains:

                            Click on image to enlarge

                            • the list of all the ticket messages;
                            • records (logs) about actions of both helpdesk specialists and ticket author (yellow indicator). For example: about a reply to a ticket, ticket update, assigning the responsible etc.;
                            • records about system actions (pink indicator). For example: about indicator change, ticket expiry, ticket autoclose etc.

                            Answer

                            This section is used to create the ticket reply. The following modes can be used:

                            • View;
                            • Reply

                            The default message mode is selected in the Helpdesk module settings (Settings -> System settings -> Module settings -> Helpdesk).

                            Click on image to enlarge

                            If a message is opened in the View mode, switch to the Reply mode to reply to the ticket:

                            Note! The current mode button is inactive and is highlighted with yellow.

                            List of users who opened the message is displayed in a special area located on the left.

                            For each user, a mode icon is displayed:

                             - view mode:
                             - reply mode.

                            This allows to set up teamwork with tickets and prevent ticket update collisions that may occur if more than one user try to reply to a ticket.

                            Note!
                            Users viewing the message are updated automatically according to the Helpdesk module settings:

                            Click on image to enlarge

                            The link updates the list if users currently viewing the message.

                            Switching to the Reply mode starts reply timing.

                            Thus, if a message is opened in the Reply mode by default, timing starts immediately.

                            While handling a message, a helpdesk specialist can:

                            • Reply to a ticket.

                              Note! If a created reply is just a remark (e.g. about current helpdesk actions) and is not a final decision, you might want to preserve the current ticket status. To do so, check the Do not change ticket status box.
                             Click on image to enlarge
                            • Create a hidden message which will be available to the helpdesk staff members only;
                             Click on image to enlarge
                            • Set status, emergency level, difficulty, category, SLA and assign a specialist responsible for the ticket.

                              Note!  
                              If the SLA or category is changed, the default specialist specified in the SLA or category parameters can be assigned as responsible for this ticket. For that, the icon is used, which is located beside the corresponding field.
                             Click on image to enlarge
                            • If a ticket cannot be replied within the short time or it has to remain actual, the ticket can be saved as deferred. The current status (ticket indicator) will not change.
                             Click on image to enlarge
                            • Check the Close ticket box to close the message.
                             Click on image to enlarge
                            • The option Close after no responses more than defines the expiring time after which the ticket will be automatically closed.

                              A ticket can be closed automatically if the author has not added more messages to the ticket after the helpdesk specialist reply.

                              The default value of this field is specified in the Helpdesk module settings.

                             

                            Click on image to enlarge

                            Click on image to enlarge

                            According to the mail template settings, messages about ticket changes (for example: about a reply, status change etc.) are forwarded to the e-mail addresses of the ticket author, responsible specialist and helpdesk administrator.

                            Graphs

                            A report can be created in the form of a graph or a diagram by the following indexes on the Graphs page:

                            • techsupport load:

                            • resolution duration:

                            • number of messages required to solve the task:

                            Information Blocks

                            The Information Blocks module is designed to manage pieces of information of a homogeneous formation. You can implement product catalogs, news sections, dictionaries etc. using information blocks.

                            This chapter contains detailed description of the module entities as well as examples of creation and configuration of information blocks.

                            Basic notions

                            The Information blocks is the module aimed to manage and catalogue different types (blocks) of homogeneous information. Some examples of information blocks are:

                            • news;
                            • product catalog;
                            • photo galleries;
                            • job lists and other information.

                            Information blocks offer a convenient way to store the frequently updated information. This method of publishing the information saves time and efforts. You can easily add new information to the site, and also export and import information.

                            The concept of information blocks is built upon the following objects which can be regarded as the information repository tiers:

                            • types of information blocks (define the structure of information blocks);
                            • information block (contains information in its sections and elements);
                            • information block sections (can be thought of as file system folders);
                            • information block elements (contain information).

                            The Information blocks module implements the following hierarchical model of information repository.

                            Types of information blocks

                            The types of information blocks (e.g. Catalog, Dictionary, Vacancies, News etc.) are used for grouping the information blocks. Information blocks of the same type usually have similar subject and the identical structure.

                            For example, the information blocks Company News, New Products and Partner News can be derived from a single type - News (see figure above).

                            The following parameters are defined at the level of information block type:

                            • layout of the information block structure: defines whether information blocks of this type can contain sections and subsections;
                            • names of sections and subsections of information blocks;
                            • option of exporting the information block contents to RSS;
                            • optional custom element editing form.

                            The types of information blocks can be created and edited on the Information block types form.

                            Content -> Information blocks -> Information block types.

                            Click on image to enlarge

                            The names of information block types currently existing in the system are added to the Control Panel menu:

                            Information blocks

                            Information blocks contain pieces of uniform information. For example, a catalog Phones can contain descriptions of mobile phones, whereas a Photo Gallery information block can contain images. Depending on the information block type set-up, information blocks can have sections and subsections (i.e. tree structure).

                            The information block parameters allow to:

                            • assign user access permissions for an information block;
                            • select site(s) where the information block contents can be displayed;
                            • define the addresses of a public pages that are used to display elements and/or sections of the information block;
                            • create custom properties for describing the information block elements. For example, elements of the Phones information block can the following properties : Year, Stand-by Time, Weight, Standard etc. Users will have to provide values of the custom properties when creating elements of this information block by filling in the appropriate fields;
                            • configure RSS export parameters (if the RSS export was enable in the information block type settings).

                            You can view the list of information blocks by clicking the name of the information block type in the Control Panel menu:

                            You can manage information block of the selected type on the Information blocks form:

                            Click on image to enlarge

                            Information block sections

                            Sections are containers used to group elements within an information block. Using sections allows to build the hierarchical structure of information repository. Names of information block sections (e.g. Group, Section, View etc.) can be defined in the settings of a corresponding information block.

                            Each information block has its own set of sections and subsections. You can view the list of information block sections:

                            • by clicking the name of an information block in the menu;

                            • by clicking the name of an information block in the list;

                            • by opening the information block context menu.

                              To browse subsections of a certain section, you can:

                              • click the section name in the menu;
                              • click the link in the list;
                              • use the section context menu.

                            Information block elements

                            Elements of information blocks are the containers for the user supplied information stored in information blocks (news, products, dictionary entries etc.).

                            You can view the list of elements of an information block:

                            • by opening the element context menu (figure on the left), or by clicking the number of information block elements (see figure on the right);
                              Click on image to enlarge   Click on image to enlarge
                            • by opening the section context menu (figure on the left), or by clicking the number of elements in a section (see figure on the right);
                              Click on image to enlarge   Click on image to enlarge
                            • from the Control Panel menu.

                            Typical Operations

                            Creating an Information Block Type

                            The information block types are the way to group information blocks. The information blocks of a certain type usually contain similar pieces of information common in structure.

                            To create and manage information blocks, open Content > Information blocks > Information blocks types:

                            Click on image to enlarge

                            To create a new information block type, click Add new type on the context toolbar. The new information block type creation form will open:

                            Click on image to enlarge

                            Fill in the form fields and save changes. The new type will be added to the list of information block types.

                            The titles of all information block types show in the Control Panel menu (the Content section):

                            Creating an Information Block

                            Depending on the information block type parameters, an information block may include sections and sub-sections (i.e. it may have a tree view structure).

                            To open the information blocks list, click the required information block type in the Control Panel menu:

                            Upon click on an information block type, the Information Blocks page (Content > Information blocks > Information block types > [type]) will open:

                            Click on image to enlarge

                            To create a new information block, click Add information block on the context toolbar:

                            Click on image to enlarge

                            Fill in the form fields and save changes. The created information block will be added to a list of information blocks of the current type.

                            Note: the information block creation procedure is described in detail in the help section (click Help on the Control Panel toolbar).

                            Creating Information Block Sections

                            The information block sections exist to structure the information contained in the information blocks. Sections are logical units that group elements in the information block and allow to create the hierarchical information storage structure. The information block section titles (for example: Group, Section, Category etc.) are defined in the information block editor, on the Titles tab.

                            The sections and the sub-sections are configured for each information block individually.

                            Click on image to enlarge

                            To create a section or sub-section, click Add section on the context toolbar. A section creation form will open:

                            Click on image to enlarge

                            Fill in the form fields and save changes. The section created will be added to the list of information block sections.

                            Note: the information block section creation procedure is described in detail in the help section (click Help on the Control Panel toolbar).

                            Adding the Information Block Elements

                            The information block elements are the information stored in the information blocks. For example: news, photos, guide elements etc.

                            Click on image to enlarge

                            To add new elements, click the Add element button on the context toolbar. Note that the button title can vary depending on the information block titles preferences, for example: Add video, Add photo etc.

                            The element editor form depends on the information block settings. It can look like the following picture:

                            Click on image to enlarge

                            Fill in the form fields and save changes. The element created will be added to the list of information block elements.

                            Note: the information block element creation is described in detail in the help section (click Help on the Control Panel toolbar).

                            Configuring the Information Block Access Permissions

                            Note! The access to an information block is defined at the group level rather at the user level.

                            Generally, you will specify the information block access permissions at the creation time.

                            To modify the access permissions of an existing information block, open the Control Panel page Content > Information blocks > Information block types > [required_type].

                            In the actions column, click the action icon of a required information block and select Modify in the popup menu:

                            The information block properties form will open. Click the Access tab:

                            Click on image to enlarge

                            Specify new access permissions for user groups whose access levels you want to modify. Save changes.

                            Creating Custom Fields

                            Sometimes, the information you intend to store in information blocks can have special traits that cannot be represented with standard fields. In this case, custom fields can help.

                            To create a custom field, open the Control Panel page: Settings > System settings > Custom fields. The list of existing custom fields will open:

                            Click on image to enlarge

                            Click Add on the context toolbar to open the new field creation form:

                            Click on image to enlarge

                            Fill in the form fields and save changes.

                            You will find the detailed information on creating custom fields in the help section (click Help on the Control Panel bar).

                            Extra features

                            To simplify data export and import and exchange of information between different systems, information blocks include tools for data export and import in RSS and CSV formats.

                            Export to RSS

                            By using RSS export, administrators can exchange data (e.g. news, catalogs etc.) with other systems. RSS export is only available for information blocks whose type has the option Export to RSS enabled.

                            Content -> Information blocks -> Information block types -> <select your information block type>:

                            You can specify the path to a folder where the system will store the exported files, in the settings of the Information blocks module.

                            Settings -> System settings -> Module settings -> Information blocks.

                            Note: the RSS export path is always relative to the site root!

                            For example, you can export data in the RSS format from any information block using the settings of the composite visual component.

                            Do the following to enable the RSS data export:
                            • create the page (for example, /content/news/index.php ) using the visual HTML editor. Add the News composite component to the page and configure the component by specifying the required information block, RSS settings and other parameters:

                              Click on image to enlarge

                              Note: you must ensure that the selected information block is enabled to export data to RSS (the option Export to RSS should be enabled).

                            • The created page looks like here:

                              Click on image to enlarge

                            • Now, if all the preparations are correct, opening the rss page will emit the list of elements in the RSS format.

                              Click on image to enlarge

                            You can find an example of such page in the demo site of the trial version (/content/news/index.php)

                            RSS import

                            The system provides a simple visual component RSS news (import) to publish information obtained via the RSS channel.

                            Click on image to enlarge

                            To receive news, configure the component properly by specifying the source site address; path to an RSS file; query string (supplied by the administrator of the news source site); other parameters are optional. Save the page.

                            Export to CSV

                            You can easily export data from an information block to a CSV file in the Catalog export form:

                            Content -> Information blocks -> Export

                            The process of exporting data requires undertaking the following steps.

                            Step 1. Selecting an information block

                            Here you have to select an information block whose contents is to be exported:

                            Step 2. Setting export parameters

                            At this step, the following export parameters are to be defined:

                            • format of the output file;
                            • fields that are to be present in the file;
                            • path and name of the file.

                            After you have finished configuring the export settings, click Start to actually export the data.

                            Step 3. Result

                            After the export is completed, the system displays results of the export operation.

                            You can download the file containing the exported data by clicking the corresponding link.

                            Import from CSV

                            Bitrix Site Manager allows you to easily import data from any CSV file to a certain information block of your choice. The whole operation is performed in the Catalog import form:

                            Content -> Information blocks -> Import).

                            Step 1. Selecting a data file

                            Choose a file (it can reside on a server or a local computer) whose data will be loaded in a specified information block.

                            Step 2. Choose data format

                            Now, specify the format in which data is stored in the specified file.

                            Step 3. Assigning fields

                            A CSV file from which information is added to an information block contain data in fields (named or nameless). When importing the data, the system places values from the CSV file fields to the fields of the selected information block. Hence, you have to instruct the system about the correspondence between the CSV file fields and the information block fields. You can do this at this step.

                            After you have finished configuring the import settings, click Load data to start importing.

                            Step 4. Result

                            After the import is completed, the system displays results of the import operation.

                            Exporting Data to XML

                            The advanced XML export techniques implemented in Bitrix Site Manager allows to transfer information block properties and images in addition to simple text information. This feature is available in all the editions.

                            To export data of any information block to XML format, open the Export to XML form (Content > Information Blocks > Export > XML).

                            Click to Enlarge

                            Here, select the data to be exported, and set the export parameters.

                            • Destination File: specifies the file to which the XML data will be written. Click the Open button to bring up the file dialog to select the destination file in the site structure;
                            • Information Block: select the information block whose contents is to be exported;
                            • Step Duration: export might take a long time if the selected information block holds huge amount of data. In such case, export may fail if your server imposes restriction on the script execution time. Setting the step duration to a value other than zero instructs the export engine to run in small steps. The default value of 30 seconds usually works best. If you set the step time to zero, all the information will be exported at one step.

                            Click Export. The export procedure will start showing the operation progress. Once the operation is completed, the system will inform you of the status:

                            Importing Data from XML

                            In this lesson we are going to discuss the procedure of importing external data to the information block structure. Open the XML Import page (Content > Information Blocks > Import > XML).

                            Click to Enlarge

                            Click the Open button and select an XML file in the server file structure, or upload a file from your computer. Then, select the type of a new information block which will be created during the import procedure. Make sure you have selected at least one of your sites: the new information block will be bound to such sites.

                            Note: Generally, when you import data, the system creates a new information block of the selected type. However, if such information block already exists, the XML import engine acts differently. It will update the existing elements using the XML data and create new elements if they are missing in the existing information block. For those elements that exist in the information block but are missing from an XML file, the system will act according to your choice:
                            • perform no operation at all;
                            • deactivate such elements;
                            • delete such elements.

                            As with exporting large information blocks, the process might take long if a selected XML file is huge. In such case, import may fail if your server imposes restriction on the script execution time. Setting the step duration to a value other than zero instructs the import engine to run in small steps. The default value of 30 seconds usually works best. If you set the step time to zero, all the information will be imported at one step.

                            If the information block element has an image in the description field, and the Auto-create preview image from detail image option is checked, the system will create a thumbnail image using the specified maximum dimensions.

                            Having specified all the parameters, click Import. The import procedure will start showing the operation progress. Once the operation is completed, the system will inform you of the status:

                            Intranet

                            The Intranet module is built upon the Information blocks module. The module can be used to:

                            • search for employees;
                            • display staff changes;
                            • build the absence graph;
                            • show the Podium (best employees);
                            • show nearest birthdays.

                            Company Structure

                            Note: if you have chosen to install the demo company structure, the Departments information block will exist and contain sections, subsections and elements: sample departments and employees which you ca view at the Company Structure page. Otherwise, this page is empty.

                            To make the company structure, you should create an information block type, for example, Company structure, and an information block Departments that will contain the company structure.

                            The company structure can be build in either of the following ways:

                            • when importing users (specify the information block type and the information block to which the company structure will be propagated, in the Intranet module settings):

                              Click on image to enlarge
                            • manually, by adding sections and sub-sections to an information block created.

                            To add branches, subdivisions, departments: open Content > Company structure > Departments. Click Add Category on the context toolbar. The new department creation form will open:

                            Click on image to enlarge

                            The Name field is required.

                            Note: if you create a company branch record, select Upper level in the Parent level field; for subdivisions and departments, select a branch they belong to.

                            Save changes. Here is the example of the structure:

                            To add an employee to the created subdivision/department, open Settings > Manage users > User list. Create a user, or find one in the list. Open the user properties form and switch to the Custom Fields tab. In the Departments field, specify a subdivision (a branch, a department) a user belongs to by selecting an appropriate choice in the field:

                            Click on image to enlarge

                            Publishing the Structure

                            To display the company structure in the public section, use the Company Structure component (bitrix:intranet.structure). Place the component onto a new page:

                            Click on image to enlarge

                            As a result, the page will show as follows, in the public section:

                            Click on image to enlarge

                            Click a subdivision link to view all its departments; click a department link to show its employees:

                            Click on image to enlarge   Click on image to enlarge

                            Finding Users

                            The Employee Search component (bitrix:intranet.search) shows the user lookup user interface. Create a page and add the component to it:

                            Click on image to enlarge

                            This will display a search form and a list of employees in the public section. A user profile contains brief information about a user:

                            Click on image to enlarge

                            Note: you will find the description of the search and result view modes in the Intranet Portal Course For Beginners.

                            The Staff Changes

                            Tracking information about changes in the career of employees requires an individual type of information block (for example, Company structure), and an information block of this type (e.g. Staff Changes) that will contain records about the staff changes.

                            The portal user groups that can create or edit the data records are defined in the information block access settings:

                            Click on image to enlarge

                            In the illustration above, only the portal administrators can manage the staff change records.

                            Creating a Record

                            To add a staff change record, open Content > Company structure > Staff Changes. Click Add record on the context toolbar to open a record settings form:

                            Click on image to enlarge

                            Check the Published box to make the employee status change to show at the portal. The optional fields Start date and End date indicate the period during which an employee is in the specified status. Remember to fill in the Action description field. For example, type Transferred here if a person has been appointed to another department.

                            In the User field, select an employee to whom the record applies.

                            Switch to the Preview text tab. Enter brief information about the record. The text will be shown as the title of the employee profile on the staff changes page:

                            Click on image to enlarge

                            Save changes by clicking Save.

                            Publishing Staff Changes

                            The Staff Changes component (bitrix:intranet.structure.events) displays the company staff changes in the public section. Add the component to a page and configure the parameters:

                            Click on image to enlarge

                            The component can show the staff changes in the whole company or only in a certain department:

                            Click on image to enlarge

                            Absence Chart

                            Showing information about absent employees requires an individual type of information block (for example, Company structure), and an information block of this type (e.g. Absence chart) that will contain records about the absence status of employees.

                            The portal user groups that can create/edit the records are defined in the information block access settings:

                            Click on image to enlarge

                            In the illustration above, the HR department group users can create or edit absence records, while Administrators and Portal administrators have full access.

                            Creating a Record

                            To add a record about the employee’s absence, open Content > Company structure > Absence Chart and click Add Item on the context toolbar:

                            Click on image to enlarge

                            • Check the Published box to make the absence record to show on the chart.
                            • Specify Start date and End date of the employee's absence.
                            • Specify the Reason for absence. This text will be printed on the chart.
                            • Select a person in the Employee field.
                            • Select the Leave type. The chart shows different leave types in different colors.

                            Save changes by clicking Save.

                            Viewing the Absence Chart in the Public Section

                            The Absence calendar component (bitrix:intranet.absence.calendar) displays the employees' absence in the public section:

                            Click on image to enlarge

                            This component can display the employee absence chart as a calendar:

                            Click on image to enlarge

                            Moreover, the absence chart can be created for a certain department; the list can be set to show all employees, not only the absent ones. To view the chart for different periods, use the navigation buttons. An employee name link switches to their personal page.

                            Honored Employees

                            As in the previous examples, we shall need an individual type of information block (for example, Company structure), and an information block of this type (e.g. Honored Employees) that will contain records about the employees’ achievements and success.

                            The portal user groups that can edit the podium records are defined in the information block access settings:

                            Click on image to enlarge

                            In this case, the users of the HR Department, Administrators and Portal administrators groups have full access to the information block.

                            Adding a Record about the Honored Employee

                            To add a record about the honored employee, open the Control Panel page: Content > Company structure > Honored Employees and click Add Record on the context toolbar. A record creation form will appear (the form in the public section is similar):

                            Click on image to enlarge

                            Check the Published box to make the honored employee information to show at the portal. The optional fields Start date and End date indicate the period during which an employee is honored. In the Title of merit field, specify the merit of the employee. In the User field, select an employee to whom the record applies.

                            Open the Title of merit tab:

                            Click on image to enlarge

                            Specify a brief description of the merit. The text entered will be shown as the title of the employee profile at the honored employees page. Save changes.

                            Showing the Honored Employees in the Public Section

                            To show the best employees in your company, use the Honored Employees component (bitrix:intranet.structure.honour). Create a new page, add the component to it and configure the parameters:

                            Click on image to enlarge

                            The public section will display the honored employees according to the component settings:

                            Click on image to enlarge

                            Birthdays

                            The Birthdays component (bitrix:intranet.structure.birthday.nearest) shows the nearest birthdays of registered users. The component takes the information about the employee's birthdays from their profile.

                            To publish the list of nearest birthdays, place the Birthdays component on a page and configure the component parameters:

                            Click on image to enlarge

                            The following picture illustrates the birthdays page in the public section:

                            Click on image to enlarge

                            The page lists the profiles of employees whose birthday is coming soon allowing to send an employee a message or open their personal page. When viewing the birthdays page, you can select a department to view information about earliest birthdays in it.

                            Mail

                            The process of site management envisions communication via the e-mail with people who are can concern operation of your web site. For example:

                            • visitors, customers;
                            • contractors, suppliers;
                            • employees responsible for the site contents;
                            • other groups.

                            The Mail module is used to receive and process e-mail messages. It empowers you with the following e-mail management functions:

                            • centralized storage of e-mail messages;
                            • unlimited number of mail boxes;
                            • creating and applying rules to incoming messages, automatically or manually;
                            • intelligent heuristic spam filtering system;
                            • delivering e-mail messages without deleting them from mail server, and many other features.

                            E-mail accounts

                            You can manage e-mail accounts in the Mailboxes form (Services -> Mail -> Mailboxes):

                            Click to enlarge

                            Note: Bitrix Framework supports an unlimited number of mailboxes.

                            A mailbox (mail account) is a record with the following fields:

                            Click to enlarge

                            You can specify the following information in the mail account editing form:

                            • the system name of an e-mail account;
                            • the server where a mailbox is hosted;
                            • mailbox access information (name and password);
                            • message delivery options.
                            Note: you can deliver e-mail messages either manually or automatically.

                            To check for new e-mail messages automatically, specify the interval (in minutes), in the Check interval field, after which the system will check for new messages on the specified server.

                            If you want to check for new messages manually, set the value of this field to 0.

                            When setting up a new e-mail account, you can create rules that will be used with this mailbox.

                            These rules will be applied to messages received from this mailbox. For example, the rules can be spam filters etc.

                            Messages

                            The Messages form (Services -> Mail -> Messages) displays a table containing information about all the received e-mail messages:

                            Click on image to enlarge

                            You can have only the required messages displayed in the table by using the filter:

                            To deliver messages manually, select the required mailbox and click OK on the context toolbar:

                            1. 
                            2. 

                            After you have delivered messages, you can view them.

                            The message view form offers the following functions.

                            Click on image to enlarge

                            • If the message is an unsolicited mailing, you can tag it as spam thus training the built-in antispam filter.
                            • If required, you can apply any of the previously created mail rules.
                            • Finally, you can delete the message.
                            Note: these actions are also available via the action menu of the Messages report:

                            Click on image to enlarge

                            Rules

                            You can create and manage e-mail message processing rules in the Mail rules form (Services -> Mail -> Rules):

                            Click on image to enlarge

                            To create a new rule, click New rule on the context toolbar and choose the required type template:

                            • manual settings - you will have to configure all parameters of a new rule as required;
                            • adding message to techsupport - a new rule is created using the special built-in helper template to simplify creating rules to filter out techsupport messages.

                            A typical e-mail rule has the following parameters :

                            Click on image to enlarge

                            • the mailbox to whose messages the new rule will be applied;
                            • one or more conditions;
                            • actions to be performed if the conditions are met.
                            Note: you have to choose the type of event that will cause the rule to be applied:
                            • When receiving mail - the rule will be applied whenever a new message satisfying the rule criteria is received;
                            • When applying the rule manually - the rule can be applied if called intentionally (e.g. when viewing a message).

                              Click on image to enlarge

                            Mail log

                            The Mail processing log displays all events related to the Mail module operation:

                            • sending requests to mail servers;
                            • responses from mail servers;
                            • use of rules and actions.

                            You can view the log in the Mail processing log form (Services -> Mail -> Mail log):

                            Click to enlarge

                            The log records are highlighted with different colours to emphasize their nature:

                            • green - request to servers;
                            • blue - responses from servers;
                            • red - errors.

                            Example of creating a mailbox

                            Let us create and set up a new mailbox record.

                            • Create a new mail account and give it a name: Sales Department. Assume that all orders and sales support messages will be delivered to this mailbox.

                              Click on image to enlarge

                              Let us set the mailbox to be checked for new messages automatically once per 30 minutes.

                            • Now create a special rule that will be applied to all incoming messages. It will sort out messages addressed to the sales department (i.e. to addresses containing sales@my_comp); all messages whose To field does not contain sales@my_comp will be simply deleted:
                              Click on image to enlarge Click on image to enlarge Click on image to enlarge

                              This rule will be applied to all messages that are in the Sales Department mailbox when they are received.

                            • Now you can view messages delivered from our mailbox in the Messages form (Services -> Mail -> Messages):

                              Click on image to enlarge

                            Performance Monitor

                            For best performance, the server software must be properly configured. To unveil weak points in the server software configuration, Bitrix Site Manager offers a range of system tools which will be of much help for a system administrator. So one of these tools, a Performance Monitor, is the subject of this chapter.

                            Module Settings

                            To access Performance Monitor global settings, browse to Settings > System Settings > Module Settings > Performance Monitor.

                            Module Settings

                            This form has the following options.

                            • Maximum URL display length: specifies the maximum displayable length of URL strings when showing URL’s on the module pages.
                            • Log queries: if checked, all the SQL queries will be logged. To view the SQL log, open Settings > Performance > SQL Queries.
                            • Log PHP warnings: enables PHP error and warning logging. To view the error log, open Settings > Performance > PHP Errors.
                            • Enable monitor: if any option other than no is selected, runs the performance monitor for the specified period of time. This is functionally analogous to the Test Performance button on the Performance Panel page.

                              If the monitor is enabled, the Monitor activity field will be showing “running”, and the time left.
                            • Clear existing stats: specifies to delete all the collected data by clicking Save or Apply.

                            You can configure access to this module for different user groups in the same way as you would do for any other Bitrix Framework module.

                            Public Interface

                            To test performance from within the public section, click the button Performance . This will show the monitor statistics right on the public webpage, which comes in handy when debugging individual pages:

                            When debugging from Control Panel, you will also see the SQL query statistics, page execution time and compression information. You may choose which information to display by clicking the drop-down arrow of the Performance button.

                            • SQL query statistics: specifies to show SQL query performance information;
                            • Include area statistics: specifies to show statistics of include areas (execution time, queries);
                            • Page execution time: shows the entire page execution time;
                            • Compression statistics: shows some useful compression information;
                            • Statistics summary: a shortcut to select all of the options except compression statistics.

                            The page generation time, SQL statistics and compression information are displayed at the page bottom:


                            The Total SQL Queries link opens a detailed report of all the database requests performed while building a page.

                            If the options Page execution time and SQL query statistics are both selected, the Page generation time field is a link:

                            which shows the page statistics in a special form:

                            However, if the Statistics summary option is selected, the Page generation time link shows a much more detailed report:

                            Click the links in the top portion of this form to show the respective information. Use the links in the bottom section to view the request information.



                            The Request Information

                            To view information about requests performed by a component, select the Include area statistics menu item and then click a link showing Queries: X, in the statistics area beside the component:

                            This will open a form showing the request statistics details:

                            The bottom area of the form displays the request details. Use the links in the upper area to view the details of a required request.

                            The Module’s Control Panel Forms

                            The following pages comprise the user interface of the Performance Monitor module in Control Panel:

                            You will find below the Performance folder (select Settings > Performance).


                            Pages

                            To view the page traffic data, use the “Performance monitor: Pages” form (Settings > Performance > Pages):

                            Performance monitor: pages

                            You can view all the hits done to a page by clicking the page name link. Effectively, this opens the hits statistics form.


                            Hits

                            The “Performance monitor: Hits” form (Settings > Performance > Hits) shows the hits report:

                            Performance monitor: hits

                            Beside each page, you will find a link shown as two angle brackets (>>). Use it to open a corresponding page in the public section and view the page statistics:

                            A more detailed report is also available. Click Performance on the public section toolbar (or select Statistics summary in the button drop-down menu):

                            Wait until the hits summary is loaded, then find a required page and click a link (>>) to view the detailed statistics information:

                            To view all the SQL queries performed by a hit page, click the page name link or a respective number in the Queries column.

                            To view the components used by a hit page, click a number in the Components column.


                            Components

                            The “Performance monitor: Components” form (Settings > Performance > Components) shows information about components and include areas used by the website pages:

                            Performance monitor: Components

                            To view all the SQL queries made by a component, click a number in the Queries column.


                            SQL Queries

                            The “Performance monitor: Queries” form (<Settings > Performance > SQL Queries) shows summary of all performed SQL queries:

                            Performance monitor: Queries

                            Note that this report is available only if the Log queries option is enabled in the Performance Monitor module settings.

                            To view the query runtime details, double-click the row showing a required query. This will open the query information in a new window:

                            Query execution plan


                            Tables

                            When debugging a dynamic website, one of the most essential information a web developer needs is the database structure and the database table dynamics. To view the database tables summary, open Settings > Performance > Tables:

                            Tables

                            You can view the contents of a database table, click the table name link.

                            The system keeps track of the most recently viewed tables and makes them available for faster access in the context toolbar. To view one of the recently accessed table, select it in the Recently browsed tables.

                            The following group actions can be applied to the selected tables:

                            Group actions


                            Since version 11, it is possible to select rows from bound tables by filter. This feature is now supported for the Search module, those displaying contents of information blocks, and tables with ratings.

                            Consider the following example. Assume you have picked all the records with ID of 871 (in fact, the only records because the ID’s are unique).

                            Navigation;

                            Now, if you select a table in the action menu, say b_search_content_stem, the system will select rows in b_search_content_stem whose SEARCH_CONTENT_ID is 871:

                            Navigation

                            You can hover the mouse pointer over the field values to view information stored in a table:


                            PHP Settings

                            The “Performance monitor: PHP Settings” form (Settings > Performance > PHP) shows the summary of the operating environment.

                            Performance monitor: PHP Settings

                            Click the PHP Settings link to view the standard (phpinfo) page.


                            Database server

                            The “Performance Monitor: DB Server” form (Settings > Performance > DB Server) shows the database server performance statistics, comments and/or recommendations:

                            Performance Monitor: DB Server


                            PHP Errors

                            The “Performance Monitor: PHP Errors” form (Settings > Performance > PHP Errors (N)) registers and shows all the PHP errors a system encountered while running the website.

                            Note that this report is available only if the Log PHP warnings option is enabled in the Performance Monitor module settings.

                            Identifying Weak Points In Your Website

                            First of all, you have to get an estimation of your website’s performance. Open Performance Panel (Settings > Performance > Performance Panel).

                            Click Test Performance to identify improper web server settings. It is important to bear in mind that the values in the Configuration row may vary significantly depending on the server load: the server will show the highest performance scores in the absence of load, while it may degrade severely at the peak load time.

                            The module would be of not much help if it showed only the web server performance scores. In fact, the main purpose of it is to find the bottlenecks preventing the website from normal operation. To do so, you have to keep the test running for a certain amount of time: a low traffic web project may require a hour or more, while a highly popular website needs less time. The system will register hits and gather statistics: page execution time, SQL queries and other parameters.

                            If your website is still yet to be launched, you may have to open pages manually or use some special testing software.

                            The performance score is the value inversely proportional to an average of ten execution times of the system kernel.

                            Reading the value on the screenshot shown above (performance = 16.23), one may deduce that the average generation time of a public webpage with an empty template and an empty work area is 1/16.23, or 0.0616 sec. In terms of speed, a web server is capable of creating 16 empty pages per second.

                            The performance score is in no way based on the performance of the file system, database, sessions or mail subsystem. The purpose of these and all other parameters are to help web developers and system administrators find weak points in the website.

                            The Configuration Tab

                            This tab shows the current performance values of the web server subsystems. The reference values are also provided.

                            If any subsystem is out of the optimum range, the report shows a link opening essential recommendations.

                            The Most Common Configurations Issues

                            • No PHP accelerator installed.
                              A PHP accelerator is a vital part of any up-to-date web server. Even if you leave all settings by default, your web pages will be generated three times faster, and the processor load will decrease threefold as well. Zend Server CE is objectively twice as faster than any other accelerator at the moment. However, it may become unstable on certain machines. If that’s the case, use APC, EAccelerator, XCache.
                            • An open_basedir restriction is in effect.
                              The most common issue of all shared hostings is the use of open_basedir to separate clients. This, in turn, brings about excessive CPU load because of additional pathname checks. The solutions is to use a private Apache instance. Remember that you have absolutely no need to install open_basedir on a dedicated server or VPS!
                            • nginx is not installed or not configured.
                              Not essential as it is, this may become a problem for an extremely high traffic website. All the static content (images, CSS files, scripts) must be relayed by nginx. Apache does not even have to know about static files. Check the Apache access logs: it must not show any access to static content whatsoever.
                            • Database is not configured.
                              Use InnoDB whenever possible; you will find the recommended settings on the DB Server performance monitor form. Another useful tool is a mysqltuner.pl script: it’s simple to install and will help you much with MySQL.
                            • Third-party hardware drivers are in use.
                              This issue is common to RAID controllers: when installing it on Linux, the system usually offers open source drivers which may not be optimized to a particular controller model. Always install the latest drivers downloaded from the manufacturer’s website.
                            • PHP as CGI.
                              Using PHP as CGI (not FastCGI) is a faulty practice because every time there is a request to a PHP script, the server is forced to run a new instance of PHP. Obviously, the performance is extremely poor.

                            Reading the subsystem scores

                            Performance Monitor has no direct access to system resources, therefore the scores obtained by running PHP scripts are a bit more about the PHP interpreter than the server itself.

                            • Configuration is the performance score itself.
                            • Average response time is a reciprocal of the performance score.
                            • CPU. This test performs a large number of simple mathematical calculations. The task is not paralleled; the value is the performance score of a single CPU core. If a website is running on VPS, the CPU value clearly reflects this fact.
                            • File system. This test creates, runs and deletes a large number of small files; it is more about how PHP handles files rather than the disk system. However, this value is highly dependent on the file system performance and the PHP accelerator. In general, this test is a good estimation of how well PHP is configured (without regard to database access).
                            • E-mail system. Sends a test message to hosting_test@bitrix.ru reading "This is test message. Delete it." This test never sends any other information! If you are using cron to send e-mail messages, you can ignore this value.
                            • Session start time. A session is started whenever a hit occurs, therefore this value adds to the page generation time. The most common issue with sessions is bad PHP session configuration causing hundreds of thousands session files to be amassed.
                            • Database (read/write/change). Sends a large number of simple database queries. This test is a bit exaggerated: it does not show how the database will handle complex queries with large portions of data. It is obvious that a local computer will show better results than a remote web server; it is normal.

                            The Bitrix Tab

                            This tab shows the current system settings that have an immediate effect on the system performance, and the recommendations.



                            The Development Tab

                            This tab shows average times for the web pages accessed while testing, and potential development errors.

                            To view the error description, use the links in the Development errors column. On the screenshot above, the system suggests that a developer fix an uncached include ares.

                            To see the faulty page, click the page link in the first column.


                            The following figure shows hits and statistics for /catalog/furniture/index.php:

                            The /catalog/furniture/index.php page uses the Catalog composite component that uses SEF URL translation, that’s why the real URL’s are different. The table is sorted by ascending page execution time: notice that the /catalog/furniture/illuminating page was first generated in 0.8 sec., while the subsequent requests took 0.7 sec each. The most efficient optimization was the component caching, which in turn decreased SQL queries.

                            Now let’s see what components this page is using. Click the number in the Components column of a required page. The following screenshot shows the components for the hit #4 at /catalog/furniture/illuminating.

                            Here we can see the components the page was using, the number of SQL queries and the caching type. #4 is just the uncached editable area gracefully reported by Performance Monitor.

                            Now we can check the SQL queries for this page (for #4). But how do we know which area (there are four of them) goes uncached?

                            Get back to Performance monitor: Hits and click an arrowed link (>>) preceding the page URL. The page summary statistics window will open. Now we can see the longest page generation stage:

                            Close this window and click Performance (Performance> Statistics summary) on the toolbar.

                            If interested, you’ll find more details on using Performance Monitor in the public section in Public Interface lesson.


                            The Scalability Tab

                            Since version 10.0 a built-in feature exist to test multithreaded and clustered systems.


                            Important Hints

                            • The score is edition-dependent.
                              Since the test measures kernel time, the score is obviously conditioned by the kernel size. The major Ultimate edition with all the modules installed and enabled will always show worse results than a simple Start edition on the same hardware. The reference score values was obtained from the Ultimate edition.
                            • The score depends on the custom calls in /bitrix/php_interface/init.php.
                              This file is included whenever a hit occurs, even when showing Control Panel pages. This file must not perform database queries, or any other resource consuming operations.
                            • The score depends on the server load.
                              Higher server load will produce lower score – that’s a rule. However, it should not fall below an empirically acceptable value (for example: not lower than 10 poins meaning 0.1 sec. per page).
                            • The score does not display a system’s potential for scalability or lack thereof.
                              A web server process is single-cored meaning it uses only one CPU core. Measuring the performance without a real-world load does not affect the score. Similarly, a multicore web server can withstand heavy loads without significant performance degradation.
                            • A remote cluster database will decrease the score.
                              A cluster is a scalable system: it is supposed to retain good performance at an increasing load. However, measuring the page acquisition time will show an unnoticeable, slight deceleration due to inter-server communications.

                            Troubleshooting Minor Performance Issues

                            Troubleshooting Minor Performance Issues

                            There is an easy and straightforward method to verify the integrity of your website, find caching issues and other problems before release: just download the whole website to your local hard drive two or three times at a row. To do so, use the freeware wget tool for Linux/Unix. This tool is preinstalled in the VMBitrix virtual machine.

                            If you are performing the test on the development VM, you will, in fact, get the full-scale pre-release test at the minimum possible network delay. Running the test more than once is essential because the first run creates a cache, and the subsequent tests will be getting pages from it.

                            Before performing the test, start the performance testing in Settings > Performance > Performance Panel. Switch to the virtual machine and run the commands:

                            cd /tmp
                            mkdir test1
                            cd test1
                            rm -rf localhost
                            wget -m http://localhost
                            rm -rf localhost
                            wget -m http://localhost
                            rm -rf localhost
                            wget -m http://localhost

                            To repeat the test, run the last two commands again. If the testing freezes, you can abort it by pressing CTRL+C.

                            Attention! Proactive Protection will not let you do the test because of the excessive requests from a single IP address. Disable it in Settings > Proactive Protection > Activity Control.

                            Low performance score; the website is pretty slow

                            First of all, check if a PHP accelerator is installed. This software precompiles PHP scripts which increases speed considerably.

                            Verify that the open_basedir extension is disabled.

                            Web pages are very slow to load

                            This is a fairly broad problem which can be concisely expressed by the two scenarios:

                            • all or the majority of the website pages are slow;
                            • only some sections and web pages are slow or don’t load at all.

                            Of course there is a lot of reasons for these issues, but the prevalent causes are the following.

                            Problem 1. The faulty pages contain broken links which are redirected to an index or 404 page. These broken links can easily be located by running a half an hour performance test.

                            Problem 2. There was a server malfunction and some of the database tables became corrupted. Corrupted tables usually increase database load some hundredfold. Run a test: start with 5 minutes; increase the duration if the test produces no results. Eventually, you will find the damaged database tables.

                            Photo Gallery

                            The Photogallery 2.0 module provides many features to make handling photos easier: arrange photos in albums (nested albums are supported); upload photos to albums. The portal users can leave comments and vote for images they like.

                            This chapter describes basic techniques that you can adopt to work with the photo gallery.

                            Main Principles

                            The Photo Gallery module is built upon the Information Blocks module. The albums and images are stored in the form of information block sections and elements. Effectively, this means that you will first have to create an information block type (e.g. PhotoGallery), and the information blocks for all the portal photo galleries:

                            • User Photo Gallery – for the employees’ albums and photos. The first level sections are the user galleries, the subsections are the user albums, and the information block elements represent the photos.
                            • Group Photo Gallery – for the workgroup albums and photos. The structure is similar to that of the user galleries.
                            • Photo Gallery – for the corporate albums and photos. The information block sections are the albums, and the elements are the photos.

                            The following picture illustrates the gallery structure:

                            Click on image to enlarge

                            The photo gallery access permissions are specified in the information block access settings:

                            Click on image to enlarge

                            Sample Applications

                            Social Network Photo Galleries

                            Social Network Settings

                            In order to activate or deactivate the photo gallery feature, open Settings > System Settings > Module Settings > Social Network and check or uncheck the appropriate fields:

                            Click on image to enlarge

                            Photo Gallery Public Interface

                            You do not need to create the employee or workgroup photo galleries explicitly. Instead, you will have to configure the component parameters when creating a user page or a workgroup page.

                            Click on image to enlarge   Click on image to enlarge

                            The only thing to mind is to specify the correct information block type and the information block for the Social Network User and Social Network Groups components:

                            • for user galleries: Photo Gallery and Users Photo Gallery, respectively;
                            • for workgroup galleries: Photo Gallery and Group Photo Gallery, respectively.

                            Having done the configuration, we obtain the following results:

                            • the Photo tab on the user page in which a user can store personal albums and photos:

                              Click on image to enlarge
                            • the Photo tab on the workgroup page showing the workgroup albums and photos:

                              Click on image to enlarge

                            The access to photo galleries can be configured in the user or workgroup settings.

                            Note: you will find more details on using photo galleries in the Intranet Portal Course For Beginners.

                            Multiple User Photo Gallery

                            The Photogallery 2.0 module allows you to show all photos and albums of the social network users and workgroups on a single page.

                            This can be achieved by creating a new page and adding the component Photogallery 2.0 (multiuser) (bitrix:photogallery_user) to it:

                            Click on image to enlarge

                            The only mandatory component parameters are the Type of information block and the Information block. For example, select the Users Photo Gallery information block to show the employees' galleries.

                            Following the configuration performed, all the personal photo galleries will show as the links titled by the names of the employees. The page shows the published photos approved by the portal administrator:

                            Click on image to enlarge

                            If a permission to view the user's photos has been assigned in the user profile, a click on a photo or a user name opens the user personal page where other employees can view, vote and discuss the photos.

                            The workgroup photo gallery can be configured in the similar manner.

                            Company Photo Gallery

                            The company photo gallery is a single user application. Only the user groups specified on the access permission property page (the Photo Gallery information block) can manage the company photo gallery albums and photos:

                            Click on image to enlarge

                            This gallery can be created by adding the component Photogallery 2.0 (bitrix:photogallery) to a page:

                            Click on image to enlarge

                            The only mandatory component parameters are the Type of information block and the Information block fields.

                            The following picture shows the company photo gallery look and design:

                            Click on image to enlarge

                            Polls and surveys

                            The Polls and Surveys module is used to set up and conduct various polls and surveys. The module allows you to create poll groups, restrict user access to voting functions (e.g. you can prevent a user to vote twice in a single survey), manage the poll result display etc.

                            Polls and surveys

                            The Polls and Surveys module can be used to set up and conduct various polls and surveys and display their results.

                            Access permissions allow to control users' access to polls and information about the voting dynamics and results.

                            To control and manage your polls and their parameters you can:

                            • restrict the polling period;
                            • display a choice of answers to a question;
                            • allow visitors to type their own answers to questions;
                            • configuring the type of result graphs and diagrams;
                            • etc.

                            The following notions are used with polls and surveys.

                            Poll group: each poll or survey always belongs to a group. Only one poll of a poll group can be active at a time (i.e. active periods of polls of a certain group cannot intersect). You can manage poll groups here: Services -> Polls and Surveys -> Poll channels.  Click on image to enlarge
                               
                            Polls: polls or surveys placed on the site. Each poll can contain one or more questions. Poll functions can be configured here: Services -> Polls and Surveys -> Poll list.  Click on image to enlarge
                               

                            Questions: questions displayed in a poll web form. Each question can offer a text input field in which a visitor can type the answer, or variants of answers. Each poll (survey) has its own set of questions that can be configured on the List of Questions page.

                            You can open the List of Questions

                            • by clicking on the number of questions in the Questions field in the list of polls;
                            • or by clicking Questions on the context toolbar in the poll editing form.
                             Click on image to enlarge
                               
                            Visitors: poll respondents. The information about these visitors can be viewed here: Services -> Polls and Surveys -> Visitors.  Click on image to enlarge
                               
                            Votings: displays information about the site visitors' votes: Services -> Polls and Surveys -> Visitor votings.

                            On this page, you can view results of each voting and mark each vote as valid or invalid. Invalid votes are ignored when building the poll result diagram.

                             Click on image to enlarge

                            Sample uses

                            Creating a poll

                            Let us create a "What kind of books do you prefer?" poll. We'll make it a member of the Poll in Bookstore poll channel.

                            1. First, create the Poll in Bookstore poll channel with the BOOKS_VOTE symbolic identifier (Services -> Polls and Surveys -> Poll channels, click Create).

                              Click on image to enlarge

                              Configure user access permissions to polls of this group (the Access tab).

                              Click on image to enlarge

                            2. Now, create the Poll in Bookstore poll.

                              Click on image to enlarge

                            3. The next step is to create a list of questions to this poll.

                              The Poll in Bookstore poll will contain only one question with a choice of answers.

                              Click on image to enlarge

                              Create possible variants of answers:

                              Click on image to enlarge

                              Note!
                              The Radio field type allows to select only a single choice from the list.

                            Publishing the poll

                            The Polls and Surveys module visual components are used to publish a poll. Add the created poll to the include area of site page using the Current poll composite component. Do the following.

                            1. Open the page in the HTML visual editor.
                            2. Place the visual component Current poll.

                              This component is used to display form or results for current poll.

                              Click on image to enlarge

                              In the component settings, specify the group whose poll will be displayed on the page. In our case, it is the Poll in Bookstore poll group.

                            3. After the page is saved, the poll will be displayed in the public section.

                               
                              Click on image to enlarge Click on image to enlarge

                              Information about poll respondents will be available in the Control Panel (Services -> Polls and Surveys -> Visitors).

                              Information about voting results is available on the Visitor votings page (Services -> Polls and Surveys -> Visitor votings).

                            Proactive Protection

                            The level of security provided by the standard distribution package is sufficiently high. However, the implementation of a web project usually requires component customization and developing custom tools whose security is not always tested and thus cannot be trusted. The Proactive protection module is an important part of the security subsystem and significantly strengthens web project security.

                            The chapter describes general operations required on an administrator’s side to configure the Proactive protection module.

                            A Proactive Protection is a complex of hardware and software solutions and organizational measures within the concept of security aimed to broaden the idea of web application threat immunity and possible reaction to threats.

                            The module offers the following protection features:

                            • one time password technology;
                            • session protection technology;
                            • proactive filter;
                            • system integrity control;
                            • phishing protection;
                            • web antivirus;
                            • data encryption.

                            Basic notions

                            Any Bitrix Framework based web site is always preconfigured for the use of the basic protection level. However, you can improve the site security significantly by selecting one of the Proactive Protection module presets:

                            • standard;
                            • high;
                            • highest.

                            Remember that all the security levels are inclusive, which effectively means that you have to set the parameters of the standard level prior to configuring the higher protection levels.

                            The Security Control Panel page (Settings > Proactive Protection > Security Panel) shows information on a current security level. For each level, there is a table of parameters and values. Security Control Panel shows recommendations on changing parameters to the recommended values, if necessary.

                            Click on image to enlarge

                            If an incorrect value has been specified for a parameter, the Recommendation field will show a useful hint about it.

                            Standard security level

                            Entirely all parameters of the standard security level should be configured properly so that a web site runs well protected.

                            Click on image to enlarge

                            Note: if you fail to configure the standard level properly, the basic protection level takes effect with respect to parameters of other protection levels.

                            Proactive Filter and Exceptions

                            The proactive filter (Web Application Firewall) protects the system from most known web attacks. The filter recognizes dangerous treats in the incoming requests and blocks intrusions. Proactive Filter is the most effective way to guard against possible security defects in the web project implementation. The filter analyzes entirely all data received from visitors in variables and cookies.

                            You can enable or disable the Proactive filter at Settings > Proactive Protection > Proactive Filter using the Enable Proactive Protection button (or Disable Proactive Protection).

                            Click on image to enlarge

                            If required, you can set the proactive filter exceptions; this will cause the proactive filter to not be applied to pages matching the wildcards on the Exceptions tab.

                            Note: the standard protection level implies that the proactive filter is enabled and no filter exception is defined.

                            The actions the system undertakes in response to the intrusion attempts are configured on the Active Reaction tab.

                            Click on image to enlarge

                            Select the required action to respond to attacks:

                            • Make Data Safe – dangerous data will be modified; for example: sel ect will replace select.
                            • Delete Dangerous Bits – dangerous data will be removed.
                            • Skip dangerous data – no action will be performed.

                            Add Attacker’s IP Address to Stop List – dangerous data will be altered and a visitor will be blocked for the period specified (Add to stop list for (min.) parameter).

                            To log the intrusion attempt events, enable the corresponding option.

                            Note that some harmless actions a visitor may perform can be suspicious and cause the filter to react.

                            Note. The proactive filter will not be applied to user groups whose operation set (in fact, permissions) includes the Bypass Proactive Filter option (see the description of access permission levels).

                            Click on image to enlarge

                            Intrusion Log

                            An Intrusion Log (Settings > Proactive Protection > Intrusion Log) registers any events relating to potential security threats. The log lifetime can be defined in the kernel module settings. The log includes the following information on an event:

                            Click on image to enlarge

                            • the event date and time;
                            • the event name;
                            • severity (SECURITY or WARNING);
                            • an event source;
                            • an event object;
                            • the source IP. The “stop list” adds the URL to the Web Analytics module stop list.
                            • the client User Agent;
                            • the URL of an offended page;
                            • an offended site;
                            • the user name (if an event originates from a registered user), or a visitor ID. This field exists if the Web Analytics module is installed;
                            • the event description.

                            The log registers the following events.

                            • The Web Analytics module: exceeding the activity limit.
                            • The Proactive protection module: SQL and PHP injection attempts, XSS attacks and phishing attempts with redirecting.
                            • The Kernel module: successful log in and log out; password change request; stored authorization errors; new user registration; user registration and deletion errors.

                            Activity Control

                            User activity control is build around the Web Analytics module mechanisms and requires this module to be installed. Activity Control allows to protect the system from profusely active visitors, obtrusive bots, some DDoS attacks, and to prevent password brute force attempts.

                            You can enable or disable the activity control here: Settings > Proactive Protection > Activity Control using the Enable Activity Control (or Disable Activity Control) option.

                            Click on image to enlarge

                            The visitor maximum activity is regulated by the Parameters tab settings.

                            Click on image to enlarge

                            If a user makes more requests than allowed within the time specified, they are automatically blocked for the specified period showing a special page to them. The edit template link allows to edit the template of the error page. Check the Add entry to event log option to register the limit exceeding in the intrusion log (Settings > Proactive Protection > Intrusion Log).

                            Note: the standard protection level implies that the activity control is enabled.

                            Special Security Settings for Administrators

                            The standard protection level implies that the Administrators user group has the highest security level, which is the default setting. If this security level is different from the highest for some reason, do the following.

                            Click Set to High on the Security panel. The Security tab of the group properties form will open.

                            Click on image to enlarge

                            Specify High level in the Predefined security settings field and save changes.

                            The CAPTCHA-Aware Registration Procedure

                            A requisite condition for the standard protection level is the use of CAPTCHA for user registration. This option can be enabled in the Main module settings on the Authorization tab:

                            Click on image to enlarge

                            You can alter the CAPTCHA look and feel is configured at Settings > System settings > CAPTCHA.

                            Error Report Mode

                            In order to protect the site at the standard protection level, there is another Kernel module parameter that is to be configured - Error report mode.

                            Open the Kernel module settings (Settings > System settings > Module settings > Main module).

                            Select either Errors only or None in the Error report mode field.

                            Click on image to enlarge

                            Note: selecting the Errors and warnings mode automatically switches the security level to basic.

                            Save changes.

                            Showing Database Request Errors

                            The standard protection level does not require showing database error messages to common users which means the $DBDebug variable is to be set to false. Here, when a database error occurs, only the administrator will see the full error description. However, setting this variable to true causes the error messages to be shown to all the site visitors.

                            You can change the $DBDebug variable value by editing the /bitrix/php_interface/dbconn.php file.

                            High security level

                            Remember that you have to set the parameters of the standard level prior to configuring the higher protection levels.

                            Click on image to enlarge

                            Note: if some of the high protection level parameters are incorrect, the standard protection level takes effect with respect to parameters of other protection levels, or basic if the standard level have been configured incorrectly.

                            Logging the Kernel Events

                            The Log Kernel Module Events parameter embraces a number of the kernel module options:

                            Click on image to enlarge

                            Enable all the events on this sheet for the site to be protected at the high security level. Even if one of the options is not checked, the Log Kernel Module Events parameter is considered to be taking a mismatching value which causes the site to be protected at the standard (or basic) security level.

                            Protection for the Site Control Panel

                            The site control panel is protected by denying access from all IP addresses except for those specified in the settings. You can enable or disable the protection at Settings > Proactive Protection > Control Panel Protection using Enable Protection (or Disable Protection).

                            Click on image to enlarge

                            Note. Before enabling the Control Panel protection, specify here the IP addresses or address range of clients allowed to access Control Panel.

                            Secure web projects must have the Control panel protection enabled.

                            Note. To remove the IP address restrictions, create a special flag file and specify the file pathname in the Proactive Protection module settings. The default name format is ipcheck_disable_cef<32_random_characters>.

                            Click on image to enlarge

                            The Session Storage and Session ID Change

                            Most web attacks are purposed to steal the session data of an authorized user or, what is more valuable for attackers, of an administrator. The standard Bitrix Site Manager package controls the following session protection parameters, for each user group individually:

                            • Session lifetime (min.);
                            • Session Network Mask.

                            However, it is often impossible to restrict access because users may use dynamic IP addresses. The following two protection techniques of the Proactive protection module significantly add to the standard protection mechanisms:

                            • storing sessions in the Security module database;
                            • changing session ID’s after specified intervals.

                            In order to enable or disable storing the user session in the database, click the big button, the only control on the Settings > Proactive Protection > Session Protection page.

                            Click on image to enlarge

                            Storing session data in the module database prevents data from being stolen by running scripts on other virtual servers which eliminates virtual hosting configuration errors, bad temporary folder permission settings and other operating system related problems. It also reduces file system stress by offloading operations to the database server.

                            Note. Switching the session store mode causes all the logged-in users to lose authorization because this erases the user session data.

                            You can configure the session ID change mechanism on the Change ID's tab of the session protection settings form.

                            Click on image to enlarge

                            Do the following to activate the ID change:

                            • specify the Session ID Lifetime (in seconds), which is the interval between two consecutive session ID changes;
                            • click Enable ID Change.

                            Changing the identifier increases the server load but makes the authorized session hijacking ineffective.

                            Note. The high protection level requires that you enable both of these protection mechanisms.

                            Redirect Phishing Protection

                            You can enable or disable the phishing protection at Settings > Proactive Protection > Redirect protection by clicking the button Enable redirect protection against phishing attacks (or Disable redirect protection against phishing attacks).

                            Click on image to enlarge

                            The following picture illustrates the phishing protection parameters:

                            Click on image to enlarge

                            You can protect your redirects by:

                            • checking a page for the presence of the HTTP header;
                            • signing the site links with a digital signature. This option specifies to add a special parameter which uniquely identifies the site and the transition to the system links. However, administrators can add their own links they want to protect.

                            The redirect protection can react in either of the following ways:

                            • redirect to a link URL showing a warning message and making a seconds delay. The message text and the delay duration are entered in the fields below;
                            • redirect to a fully, admittedly safe address. This can be the index page, for example.

                            Note: the standard protection level requires active phishing protection.

                            Highest security level

                            Remember that you first have to configure the parameters of the standard and high levels prior to configuring the highest protection:

                            Click on image to enlarge

                            Note: if at least one parameter of the highest protection level takes an invalid value, the protection level whose parameters are completely configured takes effect with respect to parameters of other protection levels.

                            One-Time Passwords

                            The concept of one-time passwords empowers the standard authorization scheme and significantly reinforces the web project security. The one-time password system requires a physical hardware token (device) (e.g., Aladdin eToken PASS) or special OTP software. These passwords are especially recommended for use by the site administrators since they significantly improve security of the “Administrators” user group.

                            Note. You have to enable the one-time password system for the site to be protected at the highest protection level.

                            You can enable (or disable) one-time passwords on the Settings > Proactive Protection > Two-step authentication form by clicking Enable one-time passwords (or Disable one-time passwords).

                            Click on image to enlarge

                            For the one-time password scheme, a corresponding tab is shown in the user profile form. The one-time password mechanism is configured for each user individually.

                            Click on image to enlarge

                            To enable users to authenticate using one-time passwords:

                            • Check Enable Compound Passwords.
                            • Enter the Secret key supplied with your OTP software.
                            • Initialize the device by entering two one-time passwords generated by the device consequently (for example: 111111 and 222222).
                            • Save changes.

                            Now a user can authorize using their login and a compound password - a combination of the standard password and a one-time device password (6 digits). The one-time password (see item 2 on figure) must be entered in the Password field after the standard password (item 1 on figure) without space.

                            The OTP authorization system was developed by the Initiative for Open Authentication OATH. The implementation is based on the HMAC algorithm and the SHA-1 hash function. To calculate the OTP value, the system takes the two parameters on input: the secret key (initial value for the generator) and the counter current value (the required cycles of generation). Upon initialization of the device, the initial value is stored in the device as well as on the site. The device counter increments each time a new OTP is generated, the server counter - upon each successful OTP authentication.

                            Hence, if a device button was pushed more than once (f.e. accidentally) but no successful OTP authentication took place, and the push count exceeds the Password Check Window Size value, the generator counter will become desynchronized making a user unable to authorize.

                            Click on image to enlarge

                            In this case, a device and a user must be resynchronized by resetting the server value to that stored in a device. This procedure requires that a system administrator (or a user owning sufficient permission) generates two consequent OTP values and enters them in the user parameters form.

                            To avoid desynchronization, you can increase the Password Check Window Size value to, say, 100 or 1000.

                            Integrity Control

                            The File integrity control form (Settings > Proactive Protection > Integrity Control) serves to check the integrity of the system kernel, system area and public files.

                            Check the system integrity on a regular basis (at least weekly) for the site to be protected at the highest level. Perform the integrity control check before updating the system and collect the new file data afterwards.

                            Note. Some module updates may require the control script to be signed anew.

                            Running the Integrity Check

                            • Enter and remember your password. A strong password should have at least 10 characters containing letters and digits.
                            • Confirm the password in the corresponding field.
                            • Specify and remember a keyword. It must differ from the password.

                              Click on image to enlarge
                            • Click Next.

                            If you made no mistake with the password confirmation, the following message will appear:

                            Now you can collect the file information in order to check the system integrity.

                            Gathering the File Information

                            • Click the Actions tab and check the Collect File Information option:

                              Click on image to enlarge
                            • Click Next. The following form will open:

                              Click on image to enlarge
                            • Set the data collection parameters:
                              • Data Collection Area – select the system folders you want to process.
                              • File Extensions – specify extensions of files whose information is to be collected. Separate multiple extensions with comma, without space.
                              • Encryption Password – type here and remember the password which will be used to encrypt and decrypt the verification file.
                              • Step Duration – specify the duration of a single data collection step, in seconds.
                            • Click Next to start data collection. Upon completion, download the data file to your local computer for better security.

                              Click on image to enlarge

                            The verification data file is now ready, you can check the system integrity.

                            Checking the System Integrity

                            Every (except the first) time you start the system integrity check, the verification script is checked for unintentional or malicious changes.

                            • Enter the password that you have used to sign the verification script and click Next.

                              Click on image to enlarge

                            Ensure the verification script prints the keyword you have specified for signing.

                            Note: if the keyword differs from the one you have previously entered, the integrity control script is compromised which means it has been modified and cannot be trusted. In this case, you have to supersede the control script (for example, rollback to version 8.0.0).

                            • Click the Actions tab and activate the Check Files option.

                              Click on image to enlarge
                            • Click Next to open the verification data file selection form:

                              Click on image to enlarge
                            • Select one of the existing log files or upload the log file from your machine using Browse. The following form will open.

                              Click on image to enlarge
                            • In the appropriate filed, type in the decryption password you specified when creating the verification data file.
                            • Specify the duration of a single check step (less times give more server stress).
                            • Click Next to start checking the system integrity. On completion, the following report will be displayed:

                              Click on image to enlarge

                            Web Antivirus

                            Web antivirus is a special software to help prevent malicious actions that may be performed on a website. Such software detects known or potentially dangerous portions of HTML code and cuts these codes away thus blocking viruses.

                            Note: web antivirus should not be regarded as a replacement for the conventional antivirus software.

                            To enable or disable the web antivirus function, just click the button on the Web Antivirus form (Settings > Proactive Protection > Web Antivirus).

                            Click to Enlarge

                            Note: to detect viruses potentially injected before until the buffering occurs, add either of the following code:
                            • to php.ini:
                            • auto_prepend_file = /www/bitrix/modules/security/tools/start.php
                            • or to .htaccess:
                            • php_value auto_prepend_file "/www/bitrix/modules/security/tools/start.php"

                            To select an action the system will undertake when a virus activity is detected, click the Parameters tab:

                            Click to Enlarge

                            • Cut object from site code - deletes dangerous code;
                            • Record in log and notify administrator - this option specifies to only log the virus activity; no dangerous code will be removed. The website administrator will be notified of the virus event via the e-mail once in the time interval denoted in the Notification Interval field.

                            If, for some reason, you do not web antivirus to be applied to specific portions of the web page HTML code, specify such code on the Exceptions tab.

                            Click to Enlarge

                            Stop list

                            The Proactive Protection module has a private stop list (Settings > Proactive protection > Stop List). This feature is different from the Web analytics module stop list.

                            Click on image to enlarge

                            The Stop List page shows existing rules aimed to restrict access to your site (as a whole or individual areas) from IP addresses listed in the rules. If Active is green, the rule is valid; if red – the rule is expired.

                            The access restriction records can be created manually or automatically. The rule will be created automatically if:

                            • the Control Panel protection mechanism is enabled;
                            • the proactive filter responds to an intrusion attempt (if the Add Attacker’s IP Address to Stop List option is selected as the attack response action).

                            You may want to add restriction rule manually, for example, when analyzing the intrusion logs. To do so:

                            • Click Add on the context toolbar in the stop list page. The rule editor form will open.

                              Click on image to enlarge
                            • Fill in the form fields as required.

                              You can restrict access to the Control Panel or public pages for certain IP addresses or address ranges. Any rule can have one or more exceptions which can be set by IP or paths wildcards.

                              Note. Each IP address or path wildcard is typed in a separate field. Click Add to reveal more fields. Specify IP ranges using dashes, for example: 192.168.0.1-192.168.0.100.
                            • Save changes.

                            Now, if a user whose IP address matches the rule attempts to access your site, they will see a HTTP 403 error message, which effectively means that access is denied.

                            Push and Pull

                            The Push and Pull module is used to broadcast messages and notifications to website clients. Because this feature is implemented as a stand-alone module, any other module, standard or custom, can send messages to clients using the module API calls.

                            This module is imperative for fully functional operation of the modules Mobile Application, Blogs and Web Messenger.

                            The module is built around the following technologies.

                            Pull (or client pull) is a style of network communication where the initial request for data originates from the client, and then is responded to by the server.

                            Pull technology is an efficient and low cost method of having a message broadcasted to multiple unknown recipients. It is mostly beneficial to clients looking up for a specific item of data. At present, pull requests form the foundation of network computing where multitudes of clients request data from central servers. An example of application of this kind of network communication is HTTP requests responded to by the websites.

                            Push is in some sense contrast to pull technology.

                            Push (or server push) is a style of Internet-based communication where the request for a transaction is initiated by the publishing server according to the client parameters.

                            A user may subscribe to receive information from a content provider and then have information "pushed" to their computer or mobile device every time such information is available at the server.

                            How Push and Pull Work?

                            At the server side, broadcasting instant messages is backed up by the nginx module: nginx-push-stream-module. This module supports long-polling client connections and ensures message delivery.

                            Note: Bitrix Framework is capable of providing considerably high messaging rate without nginx-push-stream-module: max. interval of 60 seconds, which reduces to 10 seconds if there are pending messages.

                            When a client opens a page, the former sends an AJAX request to connect to a listening channel on one of the nginx ports: 8893 (http) or 8894 (https). Then, nginx redirects the client to an internal queue server (available only at 127.0.0.1:8895). The server checks the channel for new messages and, if there are none, holds the connection for 40 seconds but does not respond.

                            If a new message becomes available in the client listening channel within 40 seconds, the server sends it to the client and closes the connection. Otherwise, the server just sends the "304 Not Modified" response to the client and closes the connection.

                            Once the client has received the server response and the connection is closed, the client can connect again sending the last-modified date and time.

                            User applications can send messages to the client listening channel by using the Push and Pull module API calls. It is generally recommended to use HTTPS for push and pull communication.

                            Note: The time at the server must be consistent. Perform time synchronization regularly to ensure correct channel status.

                            Configuring the Module

                            If you use Bitrix Framework distributions with BitrixVM or BitrixEnvironment (for Linux) version 5.0 or better, you won't have to configure anything. If you employ some kind of custom installation, the module configuration will require the following steps.

                            Note: The example provided below is given only as a sample. The configuration of a web project not based on either the BitrixVM or BitrixEnvironment is the sole responsibility of the project’s administrator.

                            • Compile nginx enabling nginx-push-stream-module;

                              As an example, a file from our virtual machine can be used:

                              • /etc/nginx/bx/site_enabled/push.conf – the push and pull settings are for publishing messages as well as for operations with the mobile apps;
                              • /etc/nginx/bx/conf/im_subscrider.conf – settings for receiving messages;
                              • /etc/nginx/bx/conf/im_settings.conf – number of channels, memory size, etc.

                              Parameters for nginx-push-stream-module version 0.4.0 (recommended)

                              Parameters for nginx-push-stream-module version 0.3.4

                            • Open Settings > System Settings > Module Settings > Push and Pull and enable the option "nginx-push-stream-module is installed on server":

                              Select the virtual machine version you are using. The recommended version is 4.4 or higher because it includes a newer version of nginx-push-stream-module (0.4.0) which enables web sockets and command sending.

                            • When setting the value of Maximum number of commands to send while connected to server, remember that it depends on nginx's large_client_header_buffers parameter. When the latter is set to 8 KB, the maximum number of commands is 100. These two values are directly proportional; if your requirement is to send 200 commands while connected, set large_client_header_buffers to 16 KB. In general, the more the average number of possible message recipients, the more the value of Maximum number of commands to send… field should be. While this parameter is directly related to the total intranet users, you will have to find the value that suits your conditions best experimentally. If you have powerful hardware, you could just allow an ample load margin and be on the safe side: use 100 command for 150 users, 200 commands for 300 users and so on.
                            • Override the URL templates if so required. For multiple domain configurations, use #DOMAIN# macro as the domain name in the message view URL: it will be replaced with an appropriate domain name automatically. Example: http://#DOMAIN#:8893/bitrix/sub/

                              Note: If your configuration of nginx-push-stream-module is similar to that of BitrixEnvironment, you won't have to edit these URL's.

                            • If you intend to communicate with mobile devices, check the option Send PUSH notifications to mobile devices.
                            • If the system manages multiple active sites, you can enable or disable the module for each site individually.
                            Note: the module supports web sockets since version 14.1.2. This option is only available if a corresponding parameter is enabled in nginx-push-stream-module.

                            Attention! If you get an error like
                            XMLHttpRequest cannot load http://example.com:8893/bitrix/sub/?CHANNEL_ID=123a27000bed7ee1ffd6935e063df0cf/c15e31dfc968de41b032474d8d651b77&tag=1&rnd=1380619831146. Origin http://example.com is not allowed by Access-Control-Allow-Origin.
                            your push-stream-module version is below 0.3.4.

                            To eliminate the error, please update the module or comment out the following lines:

                            add_header "Access-Control-Allow-Origin" "*";
                            add_header "Access-Control-Allow-Headers" "if-modified-since, origin, if-none-match";

                            Scalability

                            This chapter deals with server scale tools to achieve fault-tolerant cluster system in an increased load environment and balancing of load, traffic, and data among several servers operating on Bitrix Virtual Appliance v5.x.

                            Attention! the Scalability module to operate properly the product Bitrix Site Manager or Bitrix24 version 14.5 or higher must be installed on one of the following specialized Bitrix solutions:
                            1. Bitrix Virtual Appliance 5.x
                            2. Bitrix Environment for Linux 5.x.
                            3. Virtuozzo Application Template for the startup of optimized VPS Bitrix
                            4. Amazon Elastic Compute Cloud (Amazon EC2)



                            Scalability Panel

                            All system scalability tools can be managed directly through the Control Panel tab (Settings > Scalability > Control Panel).

                            The server must be added to start working with the scalability system:

                            Now the system is ready for work:



                            Add new server

                            In order to add new servers into the pool, click New Server, indicate the network address, root user password, and host name of the added server.

                            Attention! If the root default password was not changed on the added server which operates on one of the specialized Bitrix VA, the system will prompt you to do so:

                            After that, the server data will have to be introduced again in order to include the server into the pool.



                            If Bitrix virtual machine or environment are already set up and located on the provider’s site, the option to select a server from among those offered by the host will appear in the server add-on menu:

                            After that, the server’s order status can be monitored at the provider’s on the page VPS Orders (Settings > Scalability > Orders).

                            Global Actions

                            The menu Global Actions applies to all servers which form a part of the pool:


                          • Enable monitoring
                          • Add site
                          • Delete site
                          • Configure e-mail
                          • Desengage cron
                          • Disable HTTP
                          • Update Bitrix Environment
                          • Attention! The execution of the commands may take a rather long time (from one minute to 2-3 hours and more) depending on the complexity of the task, volume of data used in these tasks, and server capacity and workload. During the execution of the command other functionality will be unavailable, and a warning about it will be displayed.


                            Enable monitoring

                            The menu item Enable monitoring permits activating visual monitoring tools for each server in the pool:

                            Note: Detailed workload diagram for each server in the pool can be seen in the tab Load chart.


                            Add site

                            This menu item permits creating an additional website on the server. To do so, just type the Site name and Site path:

                            Once the command is executed, the directory /home/bitrix/ext_www/{path to site} will be created on the server. It will contain symbolic links to the current site kernel and a common database with the main site (similarly to installation with the link key from the menu Bitrix VA v5.x).

                            Note: The fields Site name and Site path must be filled in with Latin letters and numbers.


                            Delete site

                            Select a site from the pool list for deletion:

                            The website will be deleted from the system following execution of the command.

                            Attention! The additional site deletion wizard deletes the folder /home/bitrix/ext_www/{path to site} and the database of the additional site that is why important data shall be backed up in advance..


                            Configure e-mail

                            Select a website from the pool list in order to set up an e-mail:

                            and type the data necessary for the SMTP server:

                            • Server SMTP
                            • Port SMTP
                            • SMTP user’s login
                            • User’s password
                            • User’s password (verification)
                            • Email address
                            • Use TLS

                            Desengage cron

                            In order to deactivate cron, the website shall also be selected from the pool list:

                            Now all events on this website will be performed on the agents.

                            Cron can be activated for this site by selecting the menu item Engage cron that becomes available now:


                            Disable HTTP

                            By default, the website can be accessed via both protocols http and https.

                            In order to disable the http protocol, select a site from the pool list:

                            Now all the data on the website will be transmitted using the secure protocol https.

                            Http can be activated again for this site by selecting the menu item Enable HTTP which becomes available now:


                            Update Bitrix Environment

                            This menu item makes it possible to update server software of Bitrix Virtual Appliance simultaneously on all servers which form part of the pool:

                            Following the execution of the update wizard all the servers which form part of the pool will have the same software versions of the Bitrix Virtual Appliance:

                            Attention! Updating Bitrix VA is a complex operation during which the system files of the operating system of the server are updated. Full back-up is recommended before starting the update.



                            Actions on the server

                            The menu Actions of the server applies only to the current server which forms part of the pool:


                            • Remove server from pool – permits removing this server from the pool.

                              Note: menu item is available only for additional servers included in the pool.

                            • Restart – permits restarting this server.
                            • Update Bitrix Environment – starts the update of the server’s software.

                              Attention! Updating Bitrix VA is a complex operation during which system files of the operating system of the server are updated. Full back-up is recommended before starting the update.

                            • Change root user password – permits changing password for the root user. To do so, type the current and new passwords:

                              Attention! The password for the root superuser shall be changed with extreme care!

                            • Change bitrix user password – permits changing the password of a bitrix user. The procedure is the same as for root, just type the current and new passwords.

                            Roles

                            Server services are the roles in the Scalability module:

                            • Apcahe – web server;
                            • Memcached – data caching;
                            • MySQL - database;
                            • Sphinx – full text search.

                            Note: One more role is available on the main server of the pool, the Balancer, which is a system role managing all the servers and services of the pool.


                            When hovering over a role, the menu with the option Add a role appears:

                            Following the execution of the role adding wizard (it may take a long time), the page will be loaded and a role selected on this server will be displayed.

                            The procedure to Delete role is similar:



                            MySQL

                            When creating a role MySQL slave the system will prompt you to create a back-up copy of the database:

                            If you select OK at this stage, the page of Back-up copy will open; if you choose Cancel, the creation of the role MySQL slave will be continued.

                            Once the MySQL role is added, this base will play the role of a slave base, i.e. data will be written to the master base and read from the slave base, thus the workload between these databases will be split.

                            In order to change the role MySQL slave to MySQL master, select Make master in the action menu of the role MySQL slave:



                            Thus, the new simple tool Scalability permits creating a server pool with the necessary roles, monitoring, and workload distribution using the steps described above.

                            Attention! The execution of the commands may take a rather long time (from one minute to 2-3 hours and more) depending on the complexity of the task, volume of data used in these tasks, and server capacity and workload. During the execution of the command, other functionality will be unavailable, and a warning about it will be displayed.



                            Load chart

                            To see detailed workload diagrams of various services on each server, go to the tab Load chart (Settings > Scalability > Load chart) and use the filter to select necessary server, category, and a time period you wish to see the diagrams for.

                            The monitoring system permits displaying a service diagram per day, week, month, and year for each server of the pool using the filter panel:

                            • Apache:
                              • CPU usage by httpd
                              • Apache accesses
                              • Apache processes
                              • Apache volume
                            • MySQL:
                              • CPU usage by mysqld
                              • MySQL queries
                              • MySQL slow queries
                              • MySQL threads
                              • MySQL throughtput
                            • Nginx:
                              • CPU usage by nginx
                              • Nginx status
                              • Nginx requests
                            • Disks:
                              • Disk IOs per device
                              • Disk latency per device
                              • Disk usage per persent
                              • IOstat
                              • Inode usage per persent
                              • Throughtput per device
                            • Network:
                              • Connections through firewall
                              • Firewall Throughtput
                              • Netstat
                              • ipconntrack
                            • Processes:
                              • Forkrate
                              • Number of threads
                              • Processes
                              • VMstat
                            • System:
                              • CPU usage
                              • File table usage
                              • Inode table usage
                              • Load average
                              • Memory usage
                              • Swap in/out
                              • Uptime

                            Attention: In order to display workloads in this section, first Enable monitoring in the menu Global Actions of the pool.



                            VPS Orders

                            Attention: The option to select server from provider will become available if the host offers a set up virtual machine or environment Bitrix at its own site.

                            The section VPS Order List permits viewing server orders from Bitrix partners connected to the pool.

                            To order a server from the provider, select the necessary provider from the list when adding a new server to the pool.

                            After that, select the server with the configuration you need from the list of servers offered by the provider.

                            Following the execution of the command, the server will appear in the list of servers with the status Server granted:

                            In order to add a server to the pool, select the relevant item in the action menu:

                            After a while, the server will be added to the pool:

                            Attention! The execution of the commands may take a rather long time (from one minute to 2-3 hours and more) depending on the complexity of the task, volume of data used in these tasks, and server capacity and workload.

                            Search

                            The Search module indexes your site and provides the information search functions. The module can search both static and dynamic pages, which enables portal users to find required information in the product catalogs, news, forum posts or any static section.

                            Important! When processing the search request, the system regards permissions of a user who created the request. It means that the system will search information and display results only from sections and pages that a user has permissions to access.

                            The search function allows to restrict the search scope by only the required sections, file formats or type of information. Also, for better search results, you can choose information that is to be included in the search index.

                            Note: for in-depth information about using the Search module see the System Administration course.

                            Main Concepts

                            Bitrix Intranet Portal allows to search any storage for required information: static pages; MS Office documents; user profiles; information block contents; forums; blogs etc.

                            The following two search modes are possible:

                            The portal search page consists of only one component: Common search page (bitrix:search.page):

                            Click on image to enlarge

                            The component parameters define the search page look and the search scope.

                            Note: by default, Bitrix Intranet Portal supports the inclusion of MS Office 2007 documents in the search index. For documents of earlier versions of MS Office, follow the instructions in the Search of MS Office documents of earlier versions chapter.

                            Site indexing

                            The system uses the search index (in the form of index tables) to search information. The following entities can be added to the index:

                            • static files;
                            • forum posts;
                            • blogs;
                            • information blocks;
                            • training courses;
                            • social network.

                            All text information added to the site in the form of static HTML pages or via the system interface (e.g. information blocks, forum etc.) is indexed automatically.

                            Important! Only static pages that have the TITLE tag can be indexed and, consequently, searched for.

                            In some cases (e.g. after importing products or uploading files via FTP) you will have to recreate the index manually; otherwise, new pages and/or information will not be available through the search form.

                            You can refresh the index tables in the Site reindexing form (Settings -> Search -> Reindexing):

                            • If your site contains a huge amount of information, reindexing may take a plenty of time. To make reindexing complete in less time, you can choose a certain site and/or module whose information is to be reindexed (4*), or reindex only modified files (1*).
                            • If your server experiences considerable load, or if the server software imposes limitation on the script execution time, you can re-index step by step (3*). In this case, you can set the amount of time to elapse between indexing steps.
                            • Again, if your server has not enough processing power and you have large files, you can limit size of files that are allowed to be re-indexed (2*).
                            Note: additionally, you can specify types of files to be included in the index, in the module settings (Settings -> System settings -> Module settings, choose Search in the drop-down list):

                            • Include files: this field define files that can be be indexed;
                            • Exclude files: files with pathnames that match at least one of these wildcards will not be indexed.

                            Morphological search

                            The Search module supports morphological search. It means that the search algorithm considers all grammar forms of words when creating the search index and searching for the requested phrases.

                            For example, when indexing the word child, the system adds both child and children to the index. Similar rule applies to verbs: for bring, the system adds bringing, brought etc. Consequently, if a visitor searches for a phrase "children bring", the system will display all results containing child, children, bring, bringing, brought etc.

                            To enable morphological search, mark the corresponding option in the Search module settings. Then, re-index the site entirely:

                            Note: The morphological search algorithm splits sentences into words using the common delimiters (space, full stop, comma etc.) At the same time, there are symbols which are not letters but may be parts of words: for example, dash (-). To prevent the morphology algorithm from unwanted splitting, specify symbols that the analyser must treat as constituents of words (in the Symbols that are not used as word delimiters field).

                            Ranking Rules

                            After a user enters the search query and clicks Search, the system searches the index and selects pages matching the query. Before results are displayed to a user, they are sorted:

                            • by relevance (which is usually defined by density of keywords on a given page);
                            • or by the page timestamp.

                            Users can choose the sorting mode on the search result page by clicking on one of the links: Sort by relevance or Sort by date.

                            Click on image to enlarge Click on image to enlarge

                            Sometimes you may need give preference to certain documents when displaying the search results. For example, you may want to put goods that are to be sold out as soon as possible, higher in the search results. To achieve this, a special facility has been developed allowing to assign a required weight (page rank) to required pages. Pages matching the specified ranking criteria will be put at the top of the search result list, according to page ranks indicated in the ranking rules.

                            A fixed rank can be assigned to:

                            • static files (requires full path to be supplied);
                            • information blocks (you can specify an information block type, an information block and an element which should have the specified priority);
                            • forums (the required forum, a forum thread and a message can be specified).

                            You can create and manage ranking rules in the Search result sorting rules form (Settings -> Search -> Search result sorting rules):

                            Click on image to enlarge

                            Adding or modifying a rule involves two steps:

                            • ranking rules management: creating, modifying or deleting ranking rules;
                            • search index update.

                            To create a new rule, click Add on the context toolbar. This will open the rule editing form:

                            In the form, you have to select the site and the module to which the rule will be applied. Meaning of the other fields depends on the selected module:

                            • static files: you can specify the priority of a required file;
                            • information blocks: you can specify the priority of a chosen information block type; information block; information block section and element;
                            • forums: you can create ranking rules for the selected forum, forum thread or a forum message.

                            After save, the rule is added to the list:

                            After you have created a new rule or modified an existing one, you have to refresh the search index by clicking Update:

                            After the update process completes, results are displayed:

                            Note: For any changes in rules (modification or deletion ) to take effect, you also have to update the index.

                            Logical operators

                            A common search query is one or more words, for example:

                            contact information
                            This query will find pages containing both query words.

                            Logical operators allow building more complex queries, for example:

                            contact information or phone
                            This query will find pages containing either words "contact" and "information" or "phone".

                            contact information not phone
                            This query will find pages containing words "contact" and "information" but not "phone".

                            You can use brackets to build more complex queries.

                            Operator Synonym Description
                            and And, &, + Logical operator and is implied and can be omitted. A query fresh & fish is equivalent to fresh fish
                            or Or, > Logical operator or allow searching for records containing at least one of operands.
                            not Not, ~ Logical operator not searches for records not containing an operand stated after the operator.
                            ( ) Round brackets define the logical operators precedence. Please make sure that all brackets are paired.
                            "" Searches for exact phrase.

                            Document Search Setup

                            By default, the product supports MS Office 2007 document search. In order to search all the documents, a number of settings described in this chapter must be made.

                            Adding new formats

                            By default, Bitrix24 uses the search feature in standard MS Office documents. If it is required to organize a search in documents of other formats, the format list shall be extended and necessary file processing programs shall be connected.

                            • Download the necessary programs for converting text information contained in these documents to the plain text mode.
                            • Having installed this program on the computer with Bitrix24, open the Intranet module setting page in the administrative section (Settings > System settings > Module settings > Intranet). Go to the Search tab..

                            • Enter the required format, e.g., odt in the empty line in the Extension column.
                            • In the External command column, enter the command in the format: . The program itself must be able to display data in UTF-8.

                              E.g., the external command for the Otf2txt program for the conversion of a document made in the .ODT (OpenOffice) format to the .TXT format is as follows: odt2txt --encoding=UTF-8 #FILE_NAME#:

                            • In the column Converter Directory please indicate the path to the catalog with the installed program and save the changes made.
                            • In order to enable search in the new format, *.odt must be added in the Include file types box on the Search module setting page (Settings > System settings > Module settings > Search):

                            Note: when working with PDF files, some Russian language files may be indexed improperly. In this case, replace the package XPDF by The Poppler Developers (included in the installation package) to the package Poppler-Utils by the Glyph and Cog.

                            Setting Up Web Environment with PHP Version below 5.2.6

                            If you installed Bitrix24 on Bitrix Web Environment 1.х with a version of PHP earlier than 5.2.6, an error might occur due to the absence of the library php_zip.dll in these installation packages. In this case, the following message appears:

                            Attention: The zip_open function is not found. It is possible that the zip extension has not been loaded.

                            This error indicates that the system will not index files of MS Office 2007 or OpenOffice.

                            Note: In Bitrix Web Environment version 2.0 the library php_zip.dll is already enabled.

                            In order to eliminate the error, please proceed as follows:

                            • Download the library php_zip.dll from the Internet.
                            • Place it into the folder X:\<path_to_folder>\Bitrix Environment\apache\extensions, where X:\<path_to_folder> - is a path to the folder where Bitrix Web Environment is installed.
                            • Open the file X:\<path_to_folder>\Bitrix Environment\apache\php.ini.nooci for editing.

                              In the section Dynamic Extensions of this file, add the line extension=php_zip.dll in the general list of all extensions. Save the changes made.
                            • Restart Bitrix Web Environment. The error will be eliminated.

                            Search of MS Office documents of earlier versions

                            Search of the documents created in earlier versions of MS Office (before MS Office 2007) (doc, xls, and ppt formats) is possible using Catdoc – a special program package for the conversion of documents into plain text format.

                            If Bitrix24 is installed in the Bitrix Web Environment, starting from version 1.1, you already have the Catdoc package installed and enabled.

                            Checking for Catdoc Installation

                            You may check the availability of the Catdoc package as follows:

                            Go to Start > Run. In a opened window, type cmd. Click ОK. Command prompt window opens.

                            • If you check the availability of the packet in Bitrix: Web Environment 1.1, type the command CD <full_path_to_environment_folder>\catdoc and press enter. Next, type env.exe HOME=. catdoc.exe -v.

                              Note: In Bitrix. Web Environment 2.0 the Catdoc package is already installed in the folder <full_path_to_environment_folder >\catdoc\.

                            • If you check the availability of the Catdoc package on the computer, enter the assumed <full_path_to_package_folder>\catdoc.exe -v.

                            Press enter. The system must display a message similar to this:

                            Usage:

                            catdoc [-vu8btawxlV] [-m number] [-s charset] [-d charset] [ -f format] files

                            If the message is as follows:

                            "C:\..." is not an internal or external command run by a program or a package file.

                            then either the specified path is incorrect or Catdoc is not installed.

                            Note: the path to the package must be specified in the settings of the Intranet module in the Search tab (Settings > System settings > Module settings > Intranet).

                            Installation of the Catdoc Package

                            If the Catdoc program package is not installed due to any reasons, please follow the following steps:

                            • Open the site http://www.cygwin.com/ in browser and download the file setup.exe of the Cygwin.
                            • Start up the program installation and follow the instructions of the Installation Wizard..
                            • At the step of selecting packages for installation, open the Text package group and mark the package Catdoc for installation:

                            • Complete the installation according to the instructions of the Installation Wizard.
                            • In the administrative section of the product, please open the settings page of the Intranet module (Settings > System settings > Module settings > Intranet) and go to the Search tab. Change paths to *.exe files according to their location chosen during the installation of Cygwin:

                            Sphinx search set up

                            External full text search Sphinx is available in Bitrix products v. 14.0.0. It ensures fast and efficient search on site, reduces the server load, and is fully integrated in Search module components.

                            If for any reason the reference environment Bitrix Virtual Appliance v. 4.3 and higher containing Sphinx is not applied, you can set it up by yourself according to the following recommendation.


                            1. First of all, you need to install the Sphinx package in your environment. See documentation the section Installation on the official website for the procedure description.

                              For example, suppose the default Sphinx settings file directory is /etc/sphinxsearch/.

                            2. You have to set up Sphinx using the configuration file /etc/sphinxsearch/sphinx.conf.

                              Minimal configuration code
                            3. The basic directives that can be changed depending on the server settings and that must be considered are:

                              Section searchd:
                              • listen – indicate IP, port, Unix-domain socket path or protocol listened by search daemon (in this case, these are ports 9312 and 9306 with MySQL protocol);
                              • log – name of log-file governing Sphinx operation and its location;
                              • query_log – name of log-file governing Sphinx search requests and its location;
                              • binlog_path – path to binary logs location (this parameter is important since if you indicate the directory without permission to its log the search daemon is not started);
                              • binlog_max_log_size – maximum size of binary log file after which new file is created.

                              Section indexer:
                              • lemmatizer_cache – maximum the size of morphological search vocabulary cache;
                              • lemmatizer_base – directory to store language vocabularies (ru.pak, en.pak, de.pak) for morphological search that you must preliminarily download and put into the present directory.

                              Section index bitrix:
                              • path – index files path and names;
                              • charset_type – site code:
                                • for UTF – utf-8;
                                • for others – sbcs.
                            4. Restart Sphinx.
                            5. Go to Bitrix product page Search module settings (Control Panel > Settings > System settings > Module settings > Search) ) and set up the Sphinx connection as a search engine:

                              • Use full text search engine – select Sphinx;
                              • Connection string for index control (MySql protocol) – indicate IP and connection port for indexing using MySql protocol;
                              • Index ID – indicate index name (e.g. bitrix);
                              • This page also contains a sample of the configuration file for the Sphinx index in Bitrix products (only for reference).
                            6. After the settings are applied in the Search module, click the button Re-index website now in the Administration section to reindex the site:

                              Note. If Bitrix products have the Social Network module installed, indexing using the search module must be followed by the reindexing of the social network in the public section. To do this, go to any section of the social network in development mode (where socialnetwork, socialnetwork_group, socialnetwork_user components are installed) and click Reindex in Tools:

                            Now, the minimal set up of Sphinx as the Bitrix products search engine is finished.

                            Note. For more information on the Sphinx search engine tuning, see the official documentation on this product.

                            Social Network

                            The Social Network module is devoted to providing teamwork functions: creating communities at the intranet portal; user messaging within the portal boundaries etc.

                            Module Settings

                            You will manage the module settings at the page Settings > System Settings > Module Settings > Social Network:

                            Click on image to enlarge

                            The Social Network Settings tab shows the global parameters:

                            • The Friends function is disabled by default. You can activate it by checking the Enable Friends box.
                            • Provide the path templates of pages that will show the group topics and the groups in the fields Group Topic Path Template and Group Path Template, respectively.
                            • In the User Settings group, you can disable or enable any available social network function. Essentially it means that a user will or will not see the respective tab at their profile page (Forum, Blogs, Photo Gallery, Files, Calendar).
                            • The same applies to the Group Settings section.
                            Note: you can manage the social network settings for all sites by changing the All Sites options, or only for certain sites.

                            The Access tab configures the permissions of different user groups to access the module:

                            Click on image to enlarge

                            The following permissions are available.

                            • Can view public section, cannot create groups – users can view the social network pages and edit their own profile.
                            • Can view public section, can create groups – users can view the social network pages; edit their own profile; create workgroups.
                            • Read access to Control Panel – users can fully manage the social network elements in the public section and view but not edit the Control Panel settings.
                            • Full access – full access to the module functions.

                            Managing Group Topics

                            The Social Network module introduces the notion of group topics. A group topic is a set of workgroups sharing something in common. Thus, creating a group requires that at least one group topic exists. Only users with full access permission can manage topics.

                            In order to create a new topic, open the page Services > Social Network > Topics. Click New Topic on the context toolbar. The topic creation form will open:

                            Click on image to enlarge

                            Type the topic title and select the site at which the groups under this topic will be available. Save the form.

                            The new topic will be added to the group topics list:

                            Click on image to enlarge

                            Eventually, the new topic will appear in the public section menu:

                            Click on image to enlarge

                            Note: the Workgroups menu is dynamic; its items are defined in the script .left.menu_ext.php. The code must properly resolve the group topic path and the group path:
                            $strGroupSubjectLinkTemplate = COption::GetOptionString("socialnetwork", "subject_path_template", "/workgroups/group/search/#subject_id#/");
                            
                            $strGroupLinkTemplate = COption::GetOptionString("socialnetwork", "group_path_template", "/workgroups/group/#group_id#/");

                            The User Profile Page

                            A user (employee) profile page can be created using the composite component Social Network: User (bitrix:socialnetwork_user). The component’s greatest advantage is that it can build a fully functional employee social network by creating only one page.

                            The extensive set of properties gives you many configuration options:

                            • manage user information visible on the screen;
                            • configure SEF and AJAX;
                            • manage the personal photo gallery, calendar and file features.

                            Create a new page and add this component to it:

                            Click on image to enlarge

                            Configure the component parameters.

                            • In the URL Templates – fields, specify the template on which the group page paths will be created. This page must exist and be created using the bitrix:socialnetwork_groups component.

                              Click on image to enlarge
                            • In the Additional Settings fields, select the user properties you want to show on the user profile page.

                              Then, select the blog group to which the users’ blogs will be bound, and the forum in which the employees’ topics will be created:

                              Click on image to enlarge
                            • Now configure the social network functions: blogs, files etc.

                              For each function, specify the required information block type, and an information block in which the function-related content will be stored: photos, event calendars, files etc.

                              The following figure shows an example of the Photo Settings property group:

                              Click on image to enlarge
                            • Configure other functions and parameters as required.

                            If you now save the page and open it in your web browser, you would see the result similar to the illustration below:

                            Click on image to enlarge

                            The personal employee page presents the official, contact and personal information provided by the HR department and the employee themselves.

                            An employee can manage their profile information and control access to their personal page functions by clicking the links Edit Profile and Edit Settings, respectively. The Edit Privacy Settings link allows to restrict the access to your private area features to only the desired scope of users.

                            The My Subscription link manages notifications you have ordered to receive upon changes or new posts of the groups or other users. Alternatively, you can click Updates to view the most recent posts and changes.

                            If a user is a member of a user group with the Can view public section, can create groups permission, they can create workgroups and invite other users to the group.

                            Depending on the portal functions enabled by the administrator, a user can publish photos; create forum topics and blog posts; manage personal calendar and files.

                            Creating a Workgroup

                            You can create a workgroup page by using only one composite component Social Network: Groups (bitrix:socialnetwork_group). The component can build a fully functional network of workgroup by creating only one page.

                            Create a new page and add this component to it:

                            Click on image to enlarge

                            The parameters of this component are similar to those described in the lesson The User Profile Page.

                            If you now open the page with this component in your web browser, you would see the following result:

                            Click on image to enlarge

                            The group moderator and the portal administrator are given full permission to manage the group using links shown below the group logo image.

                            • The link Edit Group opens the group parameters configuration page.
                            • In order to manage the available group functions, use the Edit Settings link.
                            • Click Edit Members to add or delete the group members.
                            • If any group member violates the rules, you can ban them by clicking the Ban List link.

                            Technical Support

                            A comprehensive intranet portal is so stuffed with various features that users may find it hard to navigate it. In addition, many companies would like to quickly respond to employees’ questions. It's especially important for intranet portals tailored at providing the employees with online consultations related to software and hardware functioning etc.

                            The Helpdesk module was designed to:

                            • implement the ticket submission system enabling employees to contact the technical support specialists;
                            • manage service level agreement preferences (SLA);
                            • register ticket response time and efficiency;
                            • analyze replies from employees.
                            Note: you will find the detailed information on using the Helpdesk module in the System Administration training course.

                            Creating a Helpdesk Wizard

                            The helpdesk wizard is implemented on the basis of the Information Blocks module. You need to create an individual information block type (e.g. Services), and an individual information block (e.g. Wizard) in which the wizard questions will be stored.

                            Important! The following discussion uses the "Question" term as an information block element name. When creating the Services information block type, open the Titles tab and change the title of information block elements to "Question".

                            Creating the Wizard Questions

                            First, create a problem type wizard step. Click Add Category on the context toolbar. Type a possible reason in the Name field:

                            Click on image to enlarge

                            Note: the count of sections and subsections depends on the question. Effectively it means that the count of wizard steps depends on the section nesting depth.

                            Open the created section. Click Add Question on the context toolbar. Type the question and select the question type (e.g. Text Field):

                            Click on image to enlarge

                            Now, if you open the page Content > Services > Wizard, you will see the steps you have just created:

                            Click on image to enlarge

                            Click any link to show the questions that a user will answer to describe their problem:

                            Click on image to enlarge

                            The Wizard Public Interface

                            The user interface for a technical support wizard is simple to create. Just add the Helpdesk (with wizard) (bitrix:support.wizard) component to a page:

                            Click on image to enlarge

                            Specify the information block type and the information block containing the wizard questions (in this case, Services and Wizard, respectively). Save the page.

                            Now the wizard page would look like this:

                            Click on image to enlarge

                            Note: you will find the discussion of managing the techsupport tickets in the Intranet Portal Course For Beginners.

                            Telephony

                            Watch video

                            The Bitrix24 box version provides for the possibility to use telephony for business purposes. Telephony in the Bitrix24 service uses the WebRTC technology that permits making and answering calls directly from a browser that supports this technology. This technology is supported by browsers not lower than Google Chrome v29 and Mozilla Firefox v27, it is also limited supported by Opera and Yandex.Browser. Unfortunately, Internet Explorer does not support WebRTC.

                            Calls from Bitrix24 can be made in a variety of ways:

                          • Voice and video calls from Instant Messenger or a desktop application within the company
                          • IP telephony to landline and mobile telephones
                          • IP telephony using office ATS
                          • Technical Requirements

                            The use of telephony requires correct settings of the local network from which the calls are made. There are specific requirements as to the settings for each type of call. These requirements are set forth on the pages with a description of each specific way. However, there are also general rules. To ensure correct operation, the following must be open in your network:

                            • ports: 443 TCP, 1935 TCP, 1935 UDP, 19350-19360 UDP, 8000-48000 UDP.
                            • addresses:

                              38.122.236.126149.11.34.2762.152.58.9946.137.125.24095.163.65.4107.6.115.186
                              38.88.16.65149.11.44.9162.152.58.10046.137.97.17595.163.65.5107.6.115.190
                              38.88.16.69149.11.44.9362.152.58.1546.137.123.236
                              38.88.16.7362.152.58.97

                            • ports 3478, 30000-40000 UDP must be open for the address: turn.calls.bitrix24.com

                            All outgoing calls must be dialed using the international (country) codes, even if it would otherwise be a local call. So the number in user profiles and in CRM objects must be shown in full, with country code.

                            • 00 < country code> < area code or city code > < phone number >
                            • + < country code> < area code or city code > < phone number >

                            Voice and video calls from Instant Messenger or Desktop application within the company

                            It is the most simple and accessible way of communication. No settings are required from the user or portal administrator. Everything works out of the box and for free. A microphone and a video camera are required to make voice and video calls. Group video calls are possible (for up to 4 participants).

                            The disadvantages of this means include a limitation of the possible callers – only users of your portal (including Extranet users) and contacts from Bitrix24.Network can take part in the calls. In addition, these calls cannot be recorded by using the standard methods of Bitrix24.


                            IP Telephony

                            IP telephony is a further development of the voice and video calls technology. It has more possibilities compared with voice and video calls and is implemented from Business chat or Desktop application. This method permits you to call any landline and mobile telephones. Unlike voice calls, IP telephony is a paid service implemented using the service provider Voximplant.

                            Only outbound calls can be made without leasing a separate telephone number. If inbound calls are needed, you have to lease a telephone number. There is an option to hide the leased number and replace it for your client to any existing office number.

                            Using this telephony you have an opportunity to create convenient rules for call processing: routing and saving conversation records. Routing permits:

                            • Forward an incoming call to a specific employee;
                            • Forward a call to a manager assigned to this number;
                            • Set up a queue of employee and a number of tones before forwarding to an employee next in the queue;
                            • Indicate to the service what to do if no employee from the queue responds the incoming call.

                            The rates are set separately for Russia, the CIS, Europe, and the US. Payment for traffic is made to the VoxImplant service provider through Bitrix24.

                            Bitrix24 makes it possible for you to keep an itemization of calls with a possibility to view the date, time, and cost of the call and have a record file. The call record is managed by the portal administrator. A large archive of records may significantly reduce the free space on the disk.

                            Extranet users cannot make calls using your portal.


                            IP Telephony Using SIP PBX

                            There is a possibility to connect office or cloud ATS to your portal. In this case, your existing office numbers are used and displayed for your clients as before. Once this integration is completed, users of the portal start using microphones on their computers instead of IP telephones.

                            This type of telephony also permits making free incoming calls. A paid monthly license is required only for outbound calls; payment for traffic is made according to the rates of your service providers through the payment systems of the communication service providers.

                            Telephony using SIP PBX permits:

                            • Forward all incoming calls to the portal of Bitrix24. Calls are identified, processed according to your rules, entered in CRM, and recorded. They can be consulted when necessary.
                            • Making outgoing calls from Bitrix24 using the channels connected to your SIP PBX with entering in CRM and processing in the same way as with the incoming calls.

                            Disadvantages of such integration:

                            • Internal part of the existing SIP PBX is completely removed from operation. (It is considered only from the point of view of a unit responsible for external lines)
                            • Additional charges apply.

                            Balance and Statistics

                            The account status can be monitored, and costs can be controlled on the page Telephony > Balance and Statistics.

                            Balance

                            You can access the form to add funds to the account by using the button Add credit.

                            If due to any reasons the number lease has not been paid when due, the number will be blocked, but it is still reserved for the lessee for one month. This means that if you make a payment during this month, you will be able to connect the old number to your Bitrix24. In this case, the lease period of the number will be calculated starting from the date of the actual payment.

                            Payment for services works based on the automatic extension principle. I.e. if the lease of a user’s number is expired, the newly added money will cover its extension first, and after that will be used to pay traffic.

                            The widget Recurring payments shows the information about the expiry time according to the payment for leased numbers.

                            The SIP Connector widget informs about the number of free minutes available and also about the lease expiry term after payment.

                            Statistics

                            The page also contains a general (by months) and a detailed (for each call) itemization of calls (statistics).

                            When viewing detailed statistics, if the administrator permitted call recording, the file containing conversation recording can be listened to (the Record column).

                            By clicking an employee’s last name, a filter is activated and only that employee’s calls will be displayed. Likewise, filtering can be made by call statuses or by both parameters together.

                            When viewing detailed statistics, the log of each specific call may be looked up (the Log column). This option is very useful for administrators when they set up ATS for working through Bitrix24 service.

                            Note: if a call had been dropped before the system could identify the employee which is responsible for the current call, the Employee column will contain a dash.

                            Phone Numbers

                            The portal must be set up for the use of telephone on the page Telephony > Phone Numbers.

                            Click to Enlarge

                            Connect to your number

                            Connect your number for outgoing calls so that contacts you call will see your correct number and be able to call you back.

                            In addition to the number indication, you can give permission to record calls from this number and check the number of an outbound call using the number base available in CRM.

                            Rent a number

                            The company may lease a number from our operator and bind it to its portal. To do so, just select the country, region, and one of the numbers offered. The list of available countries and regions is constantly expanding.

                            Having selected and connected a number, set up the routing and processing of inbound calls.

                            If a number is no longer needed, it can be eliminated. The number elimination is deferred; it will be disconnected in 24 hours. This is done to protect company owners from rash decisions or occasional errors. The number elimination is confirmed by a message sent to the contact email of the portal.

                            Text of the message confirming that the number is disconnected

                            Until a number is disconnected from the interface, it is still active and can be used to place and accept calls and pay for them.

                            Connect SIP PBX

                            Functionality of the connection of an office or cloud PBX.

                            Call routing

                            After a number is leased or a SIP PBX is connected, these numbers can be set up in order to work with Bitrix24 Telephony > Phone Numbers > Rent a number > Configure number. This includes call routing and ringtones.

                            Call routing makes it possible to build a queue of employees among which inbound calls will be distributed. Ringtones can be assigned for each type of call operations.

                            Values of checkboxes for routing:

                            • Extension number processing - checking this box will give an instruction to the Bitrix24 service to forward an inbound call to a specific employee as if the number of such an employee had been dialed and also inform it about the actions in case the employee does not pick up the call.
                            • Check for the number in all the CRM records – checking this box will turn on the checking of inbound calls in the CRM base and forward the call to the manager assigned to this number. In addition, actions can be set up if the employee does not pick up the call.
                            • Queue – here, the queue of employees is indicated along with a number of dial tones after which the call is redirected to the employee who is the next in the queue. The queue is loaded uniformly: if the previous call was sent to employee A, the next will be sent to employee B, etc.

                              Note: The option Do not transfer calls to users who have not started their workday or are on break permits forwarding calls only to the employees who are actually working at the moment. The option is available only for the rates that take into account office hours.

                              Specifics of queue operation
                            • Missed Calls – an indication of what to do in case no employee from those indicated in the queue answered the inbound call. The value Enqueue of this field cycles the inbound call until an employee answers it.
                            • Save recordings of all calls if this box is checked, all of the conversations will be available in the statistics of the calls and saved to Company Drive in the folder Telephony: call recordings. The volume of this folder is taken into account as part of the total space available on a portal, i.e. storage is free as long as free space is available.

                              File name is generated according to the template: date_time_number. For example: 2014-06-10_01-55-19__7************.flv.

                              Note: access to this folder is restricted to portal administrators, but folder settings permit you to grant access to other employees as necessary.

                            Time settings

                            Outside of office hours, clients will receive a voice message set the section Time settings. This signal will be activated according to the settings indicated in the same section.

                            Setting fields are user-friendly; only the field Off hours call processing may require additional comments. The following options are available:

                            • Use voice mail by default, a pre-set melody is activated.
                            • Transfer call to a different number – a special field will appear in order to introduce the number.
                            • End call – this call is not chargeable, it is important for 8-800 numbers that pay for inbound calls. Selecting this value permits to protect the owner of a federal number against fraud.

                            Voice message accompanying ring tone is automatically set in the language of a portal. It can be changed as necessary.



                            Telephony Users

                            Note: The page is available only to the administrators.

                            The page Telephony > Telephony Users is used to set up internal numbers allowing you to forward calls made to the company in general to specific employees.

                            To do so, just use the link Edit in the line of a specific employee. The setting form opens where a specific number for forwarding must be indicated:

                            Note: If the same number is linked for calls both through Bitrix24 and own SIP PBX, calling using own PBX will not be possible. All calls will be made through Bitrix24.


                            The client can call their manager directly using an internal number. The following steps shall be followed to make it possible:

                            • Assign an internal number to the employee;
                            • Enable the option Extension number processing in Call routing settings.

                            If the employee will make calls using an SIP phone instead of computer, the option Connect SIP phone shall be set to On, and the data displayed shall be used for setting up the SIP phone. The Password value can be changed.

                            If the employee leaves the company, the link of their account with the SIP phone will be deactivated. The extension number will become inactive and available for assignment to another employee. A call to such number will be directed neither according to the CRM rules nor according to the call routing rules. Nevertheless, the administrator will have to change the responsible person in CRM and remove the person who has left the company from the queue.


                            SIP Phones

                            When placing calls using Bitrix24, company employees can use customary SIP phones. The use of such phones speeds up the work of telephony in this service. It is necessary to set up these devices for work with Bitrix24 in order to take advantage of the service.

                            In the user’s settings after enabling the SIP phone option you will see the server address, login, and password. These data must be indicated in the phone. After that, the phone is registered with telephony servers and becomes ready for work.

                            Any SIP phone can work in Bitrix24. There are lots of models of such phones, and it is extremely difficult to test all of them with Bitrix24. The list of tested phones is provided on the right part of the table.

                            DECT telephones can be connected via SIP gateway (VoIP SIP adapters). The work with Linksys PAP2T successfully passed the test.

                            There is no need for an employee to be online on the portal, but in this case call card will not be available to them.

                            Also, it is possible to use the telephony with softphones with Windows, iOS, Android: Media-5, Zoiper, CSipSimple, and other OS.

                            Attention! Support of softphones is in beta mode, steady operation is guaranteed only with SIP phones.

                            List of verified SIP phones
                            Manufacturer Model
                            Linksys SPA3102
                            PAP2T
                            SPA921
                            GrandstreamGXP-2140
                            DP715
                            GXP1405
                            GXP1400
                            GXV3175
                            D-Link DHP-150S
                            Cisco SPA 303
                            Siemens Gigaset al110
                            Panasonic KX_TGP-500
                            KX-UT113RU
                            SkypеMate USB-W1DL
                            Escene ES290
                            Jabra PRO™ 930
                            Gigaset C610A

                            Examples of telephone settings

                            Below are examples for specific SIP phones. Settings of other telephones can be established similarly to these examples.

                            Сisco SPA303

                            Settings are made in the administrator mode.

                            Mandatory fields:

                            1. SIP PORT – standard 5060.
                            2. Proxy – is a Server field value in the user’s card.
                            3. USER ID, AUTH ID – is a Login field value in the user’s card.
                            4. Password – is a Password field value in the user’s card.
                            5. USE AUTH ID – in the On position.


                            Example of softphone set up

                            Attention! Support of softphones is in beta mode, steady operation is guaranteed only with SIP phones.

                            Let us consider an example of softphone set up. Install and run the Join software on an iPhone. In settings, open the Accounts menu.

                            Add a new account and indicate the connection data from the user’s card on Bitrix24 in the settings of such account:

                            1. User’s name and Auth. Username is a Login field value;
                            2. Password is a Password field value in the user’s card;
                            3. Domain is a Server field value.

                            Having saved the setting, you will see your account in the list as a registered default account.

                            Ask your colleague to make a call to your incoming corporate number integrated with your portal on Bitrix24. The call will be successfully forwarded to our freshly set up softphone.

                            At the same time, the processing of the inbound call will start on your computer: a client’s card will open enabling you to add a deal, edit a client’s data, make entries to the negotiation’s history, etc.


                            Other Settings

                            The page for setting up telephony parameters.

                            Configure default numbers

                            When setting up users, the field Number for outgoing calls is obligatory. This is the number the client will see as outgoing. For the sake of simplicity, Default number can be used for users’ settings. This number is displayed for all users. If necessary, it can be changed to another number in the settings of a specific employee.

                            Configure call interface

                            Telephone calls can be set up as a chat depending on the work environment and users’ habits. The chat will look as follows for the setting Create separate chat for each call (all information for one number is in one window):

                            Manage Black List

                            Bitrix24 permits you to block unwanted calls. For this, the option Auto block phone numbers outside office hours on the page Telephony > Other settings shall be activated, and appropriate parameters for this option shall be set.

                            Number blocking is permanent and cannot be removed. That is why it is very important to give the right message on the answering machine for during hours outside of office hours to avoid erroneous blocking of clients’ numbers. The administrator will be notified about blocking a number.

                            If specific telephone numbers of unwanted callers are known, they can be added to the Black list.


                            VoxImplant Integration

                            The module VoxImplant Integration (voximplant) permits making incoming and outgoing calls on your Bitrix24.

                            The module VoxImplant Integration is used as a base for all types of telephony. It is necessary both when using VoxImplant telephony and when using PBX because it converts the telephone signal into a WebRTC format that is understandable to browsers. Zingaya services are used in the module’s operation.

                            The module is installed similarly to other installations that come with the Bitrix24 box version on the page Control Panel > Settings > System settings > Modules. Module versions of Kernel (main), Intranet (intranet), Push & Pull (pull) modules with active queue server, and Instant Messenger (im) are verified during installation.

                            Note. The module operation is subject to an active license for the Bitrix24 box version. When contacting the technical support of Bitrix24 regarding problems with telephony, please provide the account name.

                            The portal address must be entered during the installation:

                            Note: Event handlers must be launched through cron to ensure correct module operation.

                            Local Network Setup

                            To ensure the correct operation of the module, a local network firewall must be set up.

                            Access from the Network to the portal page http://your_domain/services/telephony/info_receiver.php must be given without fail. Since the IP addresses of the telephony provider may change, no restrictions must be placed on access to this page. However, if restrictions are needed pursuant to security policy, a minimum access to this page must be permitted from the following IPs:

                            38.122.236.126149.11.34.2769.167.178.662.152.58.9946.137.125.24095.163.65.4107.6.115.186
                            38.88.16.65149.11.44.9162.152.58.10046.137.97.17595.163.65.5107.6.115.190
                            38.88.16.69149.11.44.9362.152.58.1546.137.123.236
                            38.88.16.7362.152.58.97

                            In this case, if the service provider changes the IP address you may experience problems with telephony operation.

                            Module Set Up

                            Debugging mode can be turned on in the setting form of the module in the Administrative part:

                            Once this mode is turned on, the file /modules/voximplant.log will record all of the events associated with module operation into a log. The following error is critical for the settings:

                            2014.09.14 10:31:48
                            PORTAL GET INCOMING CONFIG
                            Array
                            (
                            [ERROR] => Config is`t found for number: 9003
                            )

                            This error occurs due to the inconsistency of the number to which a portal query is made and the number to which the SIP connector module responds. In the aforementioned example, this number is 9003. In this case, it is recommended that the number shown in this error be entered in the field Phone number in the Outgoing calls block of the SIP PBX settings.


                            Office PBX Set Up

                            The SIP Connector module will permit connecting an office PBX to Bitrix24. You have free minutes available for testing the functionality. If you plan to use your PBX for outbound calls, you have to pay for the license by clicking the button Pay for outbound call module connection. The amount of free minutes and the active license term are displayed on the page Balance and Statistics in the Telephony section.

                            The behavior of SIP Connector is as follows:

                            • When making an outbound call from the portal, Bitrix24 will try to connect to the server you specified in the section Outbound calls of the Settings form and, after authorization with the login/password, make the call.
                            • In order to receive an inbound call at the portal, a trunk must be created at own SIP PBX with the parameters provided to you in the section Inbound calls of the Settings form; all calls coming to PBX must be sent to this trunk.

                            In order to make sure the calls are processed properly, in addition to the Bitrix24 settings, setting up the office PBX and firewall of your local network will be necessary.

                          • Office PBX settings
                          • Local network’s firewall settings
                          • The setup procedure for cloud and office PBX is different. A specific button is used to set each one:

                            Settings in Bitrix24

                            Click the button Connect office PBX and fill in the form fields for connection:

                            where:

                            • Connection name – is a number that you use for calls from your PBX.
                            • Server Address – is the IP address of your PBX.
                            • Login and Password – PBX access data.

                            Click Connect. The data will be saved, and the system will go to the routing settings.

                            Setting Up an Office PBX

                            Let us consider setting up an office PBX using Asterisk as an example. For PBX setting the data from the block Incoming calls:

                            • Creating trunk. The following entry must be made in the file sip.conf:

                              [voximplant]
                              dtmfmode=rfc2833
                              ;; then instead of youraccount, type the name of your account in the Server field (see the figure above).
                              fromdomain= youraccount
                              type=friend
                              host= youraccount
                              ; the value of the Login
                              fromuser=asterisk
                              username=asterisk
                              ; as a password value the value from the field Password is used
                              secret=mypass
                              insecure=port,invite
                              conext=contex-internal
                              disallow=all
                              nat=yes
                              allow=ulaw&alaw
                              

                              In this entry, the values must be changed only for domain, password, and the nat parameter, which must be set to yes/no, depending on whether you have an NAT network or not.

                              As an example, below is a sample setting where the data from the figure above are used:

                              [voximplant]
                              
                              dtmfmode=rfc2833
                              fromdomain=ip.b24-2729-1386056980.voximplant.com
                              type=friend
                              host=ip.b24-2729-1386056980.voximplant.com
                              fromuser=sip1
                              username=sip1
                              secret=e349429f63f7e4d7025fcd32d477ea05
                              insecure=port,invite
                              conext=contex-internal
                              disallow=all
                              nat=yes
                              allow=ulaw&alaw
                              Attention! Prior to module version 15.1.3 the settings of your Office PBX used incoming instead of ip value in the Server field (e.g.: incoming.b24-6864-1386141129.bitrixphone.com). You can continue using this value, but the module will work much slower.

                              The settings are applied using the command in the Asterisk console:

                              sip reload
                            • Setting up calls from Asterisk to VoxImplant. Calls are placed using the following command, which must be included in the file extensions.conf:

                              Dial(SIP/voximplant/${EXTEN})

                              In this case, it will be sent to Bitrix24 as a call to the number to which it has been originally placed in Asterisk.

                              The settings are applied using the command in the Asterisk console:

                              dialplan reload

                            Firewall Settings

                            By default, port 5060 is used for SIP, and ports 10000-20000 are used for media (RTP). However, there is no general recommendation for this, because port 5060 can be both TCP and UDP. It depends on the current settings of the local network.

                            Normally, SIP requires that the outbound traffic be permitted (from PBX, for example), and inbound connections will work automatically. RTP is usually used as UDP (so data can still be transmitted although packets are lost).

                            The ports themselves can be set up in the PBX properties: the port that is indicated in the properties must also be opened in Firewall.


                            Setting up FreePBX

                            The following is an example for configuring a FreePBX for use of telephony with Bitrix24.

                            To work with FreePBX, all you have to create in the settings is:

                            1. A trunk with the configuration from Bitrix24;
                            2. An incoming route that transfers calls to the given trunk.

                            Creating a trunk

                            Click to Enlarge

                            When creating a trunk, the fields Trunk Name and Outbound CallerID are required. The name of the trunk must be: voximplant. The number connected to the intranet must be in 11-digit format.

                            The code of the trunk itself (PEER Details field) is analogous to the code used in the settings of the SIP configuration:

                            disallow=all
                            allow=ulaw&alaw
                            dtmfmode=rfc2833
                            fromdomain=incoming.*.voximplant.com
                            type=friend
                            host=incoming.*.voximplant.com
                            fromuser=sip*
                            username=sip*
                            secret=*
                            insecute=port,invite
                            conext=contex-internal
                            nat=yes
                            qualify=yes

                            Creating a route

                            Click to Enlarge

                            When creating a route, you need to enter the telephone number connected to the intranet (the DID Number field) and choose the previously created trunk voximplant (the Set Destination field).


                            Setting Up a Cloud hosted PBX

                            The SIP Connector module will permit connecting a cloud PBX to Bitrix24. You have free minutes available for make outbound calls in order to test the functionality. If you plan to use your PBX for outbound calls, you have to pay for the license by clicking the button Buy the module to make outgoing calls. The amount of free minutes and the active license term are displayed on the page Balance and Statistics in the Telephony section.

                            In order to make sure the calls are processed properly, in addition to the Bitrix24 settings, setting up the firewall of your local network will be necessary.

                          • Settings in Bitrix24
                          • Local network’s firewall settings
                          • If you plan to use PBX to make outbound calls you have to pay for the license by clicking the button Buy the module to make outgoing calls before setting up your PBX.

                            The setup procedure for cloud and office PBX are different. A specific button is used to set up each one:

                            Settings in Bitrix24

                            Click the button Connect cloud hosted PBX and fill in the form fields to connect:

                            where:

                            • Connection name - An arbitrary name of the connection. This field is optional.

                            • Server Address – is the IP address of your PBX.
                            • Login and Password – PBX access data.

                            Click Connect. The data will be saved, and the system will go to the router settings.

                            PBX connection is not completed in an instant but rather undergoes several steps:

                            • In process: Connection is processing. You will be able to accept inbound calls in several minutes.
                            • Receiving data: Data about the current status are being received. Please wait.
                            • Error: An error has occurred during the connection. Please make sure that the connection parameters you indicated are correct.

                            Firewall Settings in the Local Network

                            By default, port 5060 is used for SIP and ports 10,000-20,000 are used for media (RTP). However, there is no universal recommendation, because port 5060 can be both TCP and UDP. It depends on the current settings of the local network.

                            Normally it is important for SIP to have outbound traffic permitted (e.g., from PBX) and inbound connections will work automatically. RTP is normally used as UDP (so that packets can be lost without impeding data transmission).

                            The ports themselves can be set up in the PBX properties: the ports that are indicated there must also be open in Firewall.


                            Web forms

                            The Web Forms module can be used for:

                            • storing comments or queries of site visitors;
                            • storing and searching site visitors' callback forms;
                            • processing of information in forms.

                            This chapter discloses the principles on which the module is built, and gives examples explaining how to create and publish a web form.

                            Main features and functions

                            With the Web Forms module, you can create an unlimited number of web forms, manage and publish them.

                            The main purpose of web forms is to provide site visitor feedback. For example, you can use web forms to:

                            • create feedback forms;
                            Click on image to enlarge
                            • fill and store surveys and questionaires;
                            Click on image to enlarge
                            • receive queries from site visitors (e.g. requests for products, applications for meetings etc) and process any other data that requires using forms to input information.

                            The system stores information, obtained from visitors via web forms, in the database. You can specify an e-mail address to which a notification will be sent each time a web form is posted.

                            Assume that you have placed a job application form on your site:

                            Click on image to enlarge

                            Every time the form is completed, a new application is registered in the system:

                            Click on image to enlarge

                            and a notification is sent to à responsible person (e.g. personnel department manager) via the e-mail.

                            Note: e-mail dispatch parameters are configured in e-mail templates, which is only available in the advanced editing mode.

                            Click on image to enlarge

                            Click on image to enlarge

                            Administrator can configure a web form and its results in such a way that they will be accessible only by members of a certain user group. For example, site visitors can be permitted to modify their CV's.

                            Note: statuses are only available in the advanced editing mode.

                            The Web Forms module tightly integrates with the Web Analytics module which allows to analyse web form completion dynamics and obtain information on visitors who posted forms (each web form can have its own event types).

                            Managing web forms

                            The concept of web form management involves handling the following entities:

                            • Web forms: forms published on site pages;
                            • Question: an aggregate of the question text and fields intended to receive user input;
                            • Result: answers to web form questions;
                            • Fields: store information (processed on unprocessed) obtained from a web form (upon form completion);
                            • Statuses: Each form result can be assigned a definite status, for example: accepted, published, rejected etc. For each status, you can assign different access rights for user groups and for the result creator, individually.

                            The design of a web form editing page depends on the chosen editing mode. The system offers the following editing modes: simple and extended

                            You can choose the web form creation and editing mode on the module settings page (Settings -> System settings -> Module settings -> Web forms).

                            Simple mode

                            The simple mode is for common tasks such as creating a feedback form. This mode does not imply using fields and statuses.

                            Note: in the simple mode, status is assigned to web form results automatically and cannot be viewed by users. Status assignment is only required to allow switching between editing modes.

                            Extended mode

                            The extended mode, in addition to features of the simple mode, allows to configure statuses of results and create computed fields.

                            • Generally, statuses denote different stages of web form result processing (e.g. accepted, published, rejected).

                              Using statuses allows to assign user permissions for web form results in a more flexible way.

                              Important! The extended mode requires that at least one status is created and properly configured.
                            • Web form fields are used to display intermediate or final output obtained from data entered by visitors in the web form answer fields. Values of web form fields are calculated by a special script provided in a visual component.

                            Creating and editing web forms

                            You can manage web forms in the Forms page (Services -> Web Forms -> Manage Forms):

                            Click on image to enlarge

                            To create a new form, click the Create button on the context toolbar. You can edit a web form by selecting Modify in the action menu or by double-clicking the appropriate table row.

                            Each web form is added to the Control Panel menu which allows to manage a required form and view its results:

                            Other entities (questions, statuses etc.) can be managed in the web form settings.

                            Sample operations

                            Creating web forms. The simple mode

                            In this lesson we shall create a Job Application web form in the simple mode.

                            1. To begin with, switch to the simple editing mode. For that, enable the option Use simple editing mode in the module settings:

                            2. Then, open the web form management page (Services -> Web Forms -> Manage Forms). Create a new web form by clicking Create on the context toolbar. This will open a web form editing page:

                              Click on image to enlarge

                              Here you can:

                              • enter the web form title;
                              • set titles of menu items as they will appear in the Control Panel menu, for each language in the system. By clicking these menu items, you can open the web form result page;
                              • choose sites on which the web form will be available;
                              • create form template using the visual editor;
                              • provide event identifiers for use by the Web Analytics module;
                              • assign access permissions for the web form and results.

                              Web form completion results can be sent via the e-mail. In the simple mode, you can generate a template which will be used to create and send reports. To do so, check the Send form results by e-mail box.

                              Click on image to enlarge

                              The template will be generated right after the web form is saved. By clicking the templates link, you can view the list of templates and edit them if required.

                            3. Save the form. Now it is displayed in the Forms report table.
                            4. The next step is to create questions for our web form. You can start creating questions by clicking the plus sign (+) in the Questions column.

                              For example, you might consider adding the following question to the Translator web form:

                            Creating web forms. The extended mode

                            Creating a web form in the extended editing mode requires the following actions to be performed:

                            1. creating a web form;
                            2. creating questions for the web form;
                            3. creating and configuring web form result statuses;
                            4. (optional) creating computed fields.

                            Creating and editing a web form

                            In addition to options that are provided in the web form editing page in the simple mode, the extended mode offers the following fields.

                            • Symbolic identifier of a web form:

                              Click on image to enlarge

                              Symbolic identifiers are used by developers to identify a web form in the program code of visual components that display web forms in the public section.

                            • The e-mail templates are created in the Advanced tab by clicking the create link:

                              Click on image to enlarge

                              Note: The create link is displayed only when editing an existing web form. Therefore, you have to save the web form by clicking Apply before generating a e-mail template.

                              Click on image to enlarge

                              By clicking View template you can view and edit the generated template in a new browser window.

                              Note: Each web form can have as many e-mail templates as required.

                              However, to enable sending reports using the created template, we have to bind it to the web form:

                              • save changes by clicking Apply. The created template will be indicated beside the E-mail templates field;

                                Click on image to enlarge

                              • select the required template(s) by checking the appropriate boxes. Click Apply (or Save) to save changes.

                                Click on image to enlarge

                            • Additional access permissions levels for the web form and results:

                              Click on image to enlarge

                              • edit own result according to its status;
                              • edit all results according to their statuses.

                            Questions

                            You can create questions in the same way as in the simple editing mode.

                            Managing statuses

                            To create web form statuses, click the plus sign in the Statuses column in the web form report table:

                            Click on image to enlarge

                            Among other parameters of a status, you can:

                            • define that the status is to be set for all new results by default;
                            • assign user group access permissions to results in a certain status.
                            For example, create two statuses for results of the Translator form.
                            1. Enqueued, which means that a job application form is received by the personnel department; this status is assigned to all results by default. While a web form is in this status, applicant can edit their CV.
                              Click on image to enlarge Click on image to enlarge
                            2. Accepted. Indicates that the CV was examined and enrolled to the personnel department database. After the form obtains this status, it cannot be edited by an applicant.
                              Click on image to enlarge Click on image to enlarge
                              Members of the Personnel Department user group is granted a permission to move forms to the Accepted status.

                            Creating a web form template

                            You can create templates for your web forms for future usage. To facilitate creating templates, you can click the Form template tab where you can develop your own template or use the default one.

                            If you use the default template, your web form would display as usually:

                            Click on image to enlarge

                            Custom web form templates are created using the visual editor:

                            Click on image to enlarge

                            In this case, a web form based on the custom template would look as follows:

                            Click on image to enlarge

                            There are two methods to create templates.

                            • Create a form and questions as described in the previous lessons. Then, open the form template for editing. In this mode, the Form elements panel has the following items:

                              The Existing form fields contains fields that are already properly configured and ready to use. You will find instructions on how to create your own fields and questions below.

                            • The template and the web form can be created concurrently. In this mode, the drop-down sections New form fields and Additional elements are available:

                            Let us create a template and questions for a web form. We shall use the components from the Form elements panel.

                            The Additional elements menu contains fully-functional controls that you can use in your forms:

                            The component Form title displays a web form title specified in the component settings. The component Form description can be added to print the description for a web form. In order to notify a user about errors they can make while filling in the form, you can add the validator component Form errors that displays errors, if any. If you need to display some message to a user upon form completion, add the component Form response message. It will display the specified text to a user after clicking Submit (or similar button), e.g. "Your request has been sent".

                            The New form fields menu contains the following components.

                            All these components can be easily configured. Consider an example of web form field creation. Choose a field (component) that matches the nature of the intended question best, and add it to the page being edited. For example, use the Date component where you would expect a user to enter the date. Configure the component in the property inspector:

                            Click on image to enlarge

                            String identifier is generated automatically; it uniquely defines the form field. The identifier name is new_field_randomnumber. You can type any other name here, but you must ensure that it is unique.

                            Redefine the new field name to birthdate.

                            Title (question text) specifies the text displayed beside the field:

                            1. for Input field caption ;
                            2. in the web form result table and filter;
                            3. when displaying web form results or errors.

                            In our example, type Date of birth here.

                            Uses HTML – defines whether HTML are used in the title.

                            Required – if checked, a user must provide an answer (or any other required value) in this field. Enable this option for the Date of birth field.

                            Show in HTML result table – specifies that an HTML table of the web form results includes a column containing values of this field (in the public section).

                            Show in Excel result table – the same as with Show in HTML result table, but for Excel tables.

                            Field type – indicates the type name of a given field; read-only.

                            Answers – field values. The intention varies depending on the field type:

                            • default value and value length: for text, date, email, url, password, image, file;
                            • number of columns and rows: for textarea;
                            • options, the order and the default selection flag: for radio, checkbox, dropdown, multiselect.

                            Now, add the Input field caption component and set its properties (the identifier and style).

                            Click on image to enlarge

                            Identifier: here you have to select the identifier of the field for which the text label will be displayed. In our example – birthdate.

                            To define the label appearance, you can choose the required CSS style in the Style list.

                            Since we use the component (Field title) to render the text label, the common visual cue for mandatory fields (asterisk, *) will be added automatically without having to use the component "Required" sign .

                            Alternatively, you can enter the field title directly in the editor. For example, add the Date field and set its properties as follows:

                            Click on image to enlarge

                            The text Date of birth will be displayed in the public section, but the question “When were you born?” – in the question list:

                            Click on image to enlarge

                            As we want to make this field mandatory, add the component "Required" sign so that the asterisk will be rendered:

                            Click on image to enlarge

                            To enable users post or cancel the form, add the following buttons: Send , Apply , Cancel .

                            Note: if you have enabled the option Use CAPTCHA when creating the form, remember to add at least one CAPTCHA component to the form. Otherwise, this option will be reset when saving the form:

                            Click on image to enlarge

                            You can find the detailed information on using and configuring the components in the documentation.

                            Publishing a web form

                            You can publish web forms (that is, display them in the public section) by using visual components version 1.0 and components version 2.0.

                            For managing, components version 2.0 are more convenient. You will find these components in the Services group in the Components 2.0 sidebar of the visual editor:

                            ComponentsFunction
                            Web Form (bitrix:form) Composite component. Using this component, you can physically create only one page and in public section it will give you a page for web form completion, a page with a list of results, a page for results editing etc.    
                            Web Form Completion (bitrix:form.result.new)Simple component. Helps to create a page for web form completion
                            List of results (bitrix:form.result.list)Simple component. Creates a page with a list of results.
                            Result editing (bitrix:form.result.edit)Simple component. Creates a page for result editing
                            View result (bitrix:form.result.view)Simple component. Creates a page with web form results.

                            As an example, let us publish the Translator web form in the About section (folder /about/) of the company site. We shall give visitors a chance to edit their results. Also we shall create a page with a list of web form results.

                            For convenience, we shall save all pages related to the web form in the folder /about/job/translator/ (you have to create it beforehand).

                            1. Create a new page in /about/job/translator/ in the visual editor.
                              • Set the page title to Translator;
                              • Add the component Web Form Completion to the page;

                                Click on image to enlarge

                              • In the component settings, choose a required web form, and specify paths to pages where the web form results can be viewed and modified.

                                For example, you can create a result_list.php page in the current folder (/about/job/translator/) for viewing the completed web forms. Type result_list.php in the Result list page field. To edit a job application, we shall use the page result_edit.php from the same folder.

                                Note: you will have to create these pages later.
                              • Save the page and give it a name of index.php.
                            2. Create a page to display the web form results. After a visitor have finished completing the form, they will be transferred to this page.
                              • Create a new page in /about/job/translator/.
                              • Set the page title: Your CV.
                              • Add the List of results component to the page.

                                Click on image to enlarge

                              • Configure the component by specifying the new result page (index.php), the result view page (result_view.php) and the result editing page (result_edit.php).
                              • Save the page.
                            3. Next, create a page where the result details will be displayed (/about/job/translator/result_view.php) and place the component View result in it.

                              Click on image to enlarge

                              Set the page title to CV Details.

                            4. Finally, create a page /about/job/translator/result_edit.php where a selected result can be edited. Add the component Result editing to the page.

                              Click on image to enlarge

                              Set the page title to Edit CV.

                            Here's what you get in the end.

                            • Web form completion (in other words, new result creation) page:
                             Click on image to enlarge
                            • Page with a list of web form completion results
                              • If you have created the web form in the simple mode, applicants can access their own CV's
                             Click on image to enlarge
                              • For the extended mode, applicants can access their own CV's in the Enqueued status
                             Click on image to enlarge
                            Report pages
                            • Web form result view page
                             Click on image to enlarge
                            • Web form result editing page
                             Click on image to enlarge
                            Another way to get the same number of pages in public section is to use a composite component - Web Form.

                            Click on image to enlarge
                            It is a good idea to add links to the web form completion and result view pages to the pubic section menu so that visitors can post and edit their CV's .

                            Publishing a web form - view movie (Flash)

                            XMPP Server

                            The XMPP Server module is intended to set up communication between the employees and track their presence using the Jabber client software. This feature can only be used on a dedicated or VPS server.

                            XMPP (eXtensible Messaging and Presence Protocol, more widely known as Jabber) is an open and free XML based instant messaging protocol capable of tracking the user presence in near real time. The protocol also supports file transfer and voice communication.

                            XMPP Server Setup

                            To configure the server, open the XMPP Server module settings page(Settings > System Settings > Module Settings > XMPP Server).

                            Module settings

                            This form requires the following parameters.

                            • Domain: specifies the domain name of your intranet portal;
                            • Listen: specifies the TCP/IP port on which the XMPP server will listen;
                            • Language: specifies the abbreviation of the language for XMPP communication. At present, this field must contain en.
                            • Path to PHP Interpreter: provide the path to PHP interpreter executable. For example, for a local installation this field may contain C:\php\php.exe.
                            • The file path can be set in either of the following ways:

                              • the full path; the path must be quoted if it contains spaces;
                              • the relative path: ../apache/php.exe -c ../apache/php.ini if Bitrix Intranet Portal is installed on Bitrix Environment.

                              Note: XMPP Server requires PHP version 5.0 or better.

                            • Path to XMPP Server: by default, this field contains ./bitrix/modules/xmpp/xmppd.php. You can specify other location if the server files was moved or reinstalled somewhere else.
                            • Logging Level: specifies the verbosity of the server logs:
                              • 0 - maximum details;
                              • 10 – minimum possible details.

                              Normal server operation usually requires level 5.

                            • Run SSL: specifies to start SSL when the XMPP server starts. If the server is unstable, disable SSL.

                            To change the default module access parameters, use the Access tab controls:

                            Module access permission

                            Once you are done setting the parameters, click Apply.

                            XMPP Server Management

                            The XMPP server management is rather straightforward. Open the XMPP Server page (Settings > XMPP > XMPP Server).

                            XMPP Server

                            Click Run Server. Once the server is started, the form will show how many users are currently on the portal (Users Online) and the XMPP connections:

                            XMPP Server

                            To update the figures, click Query Server.

                            XMPP Client Applications

                            The XMPP server provides support for most up-to-date instant messengers capable of XMPP based communication.

                            However, to provide maximum compatibility, you are recommended to download a special build of Miranda IM from the Bitrix website.

                            This build has been thoroughly tested for the current XMPP server implementations and supports Bitrix24 workgroups.

                            Multiple Divisions

                          • Description
                          • Tool Access And Availability
                          • Data Storage
                          • How to Enable Multiple Divisions Module
                          • Subdivision Portal Creation
                          • Subdivision Portal Employees

                          • Effective coordination is essential for many businesses with multiple departments and offices, located in different cities or countries. Complex corporate structures inevitably create problems of mismanaged joint operations which require solutions that increase level of cooperation and integration.

                            To remedy such issues, Multiple Divisions module is designed to launch separate portals for different company branches or departments.

                            Note: The number of division portals is unlimited.

                            This module allows for each branch, department or an office to have its own custom-designed portal to host information, specifically related to this subdivision. Additionally, the main data of each division portal (or just a site) will be shared with the main portal. Employees can visit and communicate with the main portal, their own subdivision portal, and if the access is granted to them – other subdivision portals. As a result, strong coordination is established between the main portal and subdivision portals.

                            Note: All division portals are hosted on the same server.

                            Multiple Divisions module can be accessed only in the Bitrix24 On-Premise Enterprise edition. If you have a lower edition of Bitrix24 On-Premise, you may use 30-day trial for Enterprise edition to test Multiple Divisions module. Multiple Divisions module can also be enabled after you have upgraded to Bitrix24 Enterprise from any other editions.


                            Tools Access and Availability

                            As noted, data and communication tools are shared between main and subdivision portals. These functions are divided into general and individual functions.

                            General functions:

                            • Personal calendar, Tasks, Files, Photographs and Internal messages ;
                            • All Employee sections in the main menu;
                            • CRM.

                            Individual functions:

                            • Blogs, Forums and the Activity Stream;
                            • All Company sections in the main menu;
                            • Documents;
                            • All services;
                            • All workgroups.
                            • All Communication sections: Shared photos, Forum, Blog, Classifieds.

                            General tools are accessible for everyone, but you can restrict the access to some of them.

                            Individual data and tools, however, are available only to the individual subdivision portals, and sometimes can be accessed only by the main portal administrators.

                            Administrators with access to the internal CMS tool can configure access permissions via Bitrix24 server settings or via tools inside Bitrix24 portal for each respective section. For example, to manage the access levels, portal administrator can go to Settings > Users > Access Levels.

                            Access Levels


                            Data Storage

                            As a rule, main data bulk as well as the data backup are stored in one location on the main server. There is no need to buy Bitrix24 Enterprise Edition for all subdivisions of your company. For example, if your offices are located in two different countries – Bitrix24 Multiple Divisions Edition has to be purchased and deployed on a server in one selected country, only for your head office that hosts the main portal.

                            When separate portal (site) is created for a company department, its files are located in site’s root folder or subfolders. Multiple Divisions feature is based on the principles of Multiple Site in One Domain. Specifically, separation of sites by sub-catalogues is used to avoid the overlap in file structure.


                            How to Enable Multiple Divisions Module

                            Multiple Division is enabled via portal’s Configuration Wizard that will ask you to go through several steps to complete the creation of a subdivision portal Start Configuration Wizard:

                            Configuration Wizard

                            Multiple Divisions option can be selected on the 8th step:

                            Multiple Division Wizard

                            After Configuration Wizard is successfully configured, new Add Division button will appear on the site’s panel. Now, you can add a new subdivision portal.


                            Subdivision Portal Creation

                            Add Division Button

                            To create company subdivision, use Add Division button.

                            Effectively, it launches the same Configuration Wizard, with the exception, that on the step No.9, it is necessary to indicate the department for which the portal is being created:

                            Department Wizard

                            After the Configuration Wizard is successfully configured, subdivision portal will open.

                            You can switch between portals via:

                            • Go to Division command and My Company button

                              Division Select Button

                            • or via menu:

                              Division Select Menu

                            Department demo data can also be deleted, by using Cleanup Wizard.


                            Subdivision Portal Employees

                            User Groups govern the employee membership at the subdivision portal. When the portal is created, separate user groups are created for it automatically.

                            When you select a department in Configuration Wizard, the employees of selected department will be automatically attributed to the corresponding user group.

                            Note: For an employee to have access to both the main portal and a subdivision portal, this user should be a member of both Employees groups.

                            If new users are added to the company subdivision portal after it was created, it is necessary to manually indicate the following for them:

                            • attribution to groups in the Groups tab at the user edit page

                              New User Group Access

                            • and to indicate the department in the User tab at the user edit page:

                              New User Department

                            Note: Please find more details on the user management in the User management section.

                            External data import to Activity Stream

                            The External data import (xdimport) module lets you inform users via the Activity Stream of information and events which take place outside of the intranet.

                            For example, you can feed information from an external source with any POST request, RSS feed, or using an XML file directly to the Activity Stream of the intranet itself, or to that of a workgroup or individual user.

                            Click to enlarge

                            Click to enlarge

                            Configuration

                            To set up a data feed, go to Control Panel -> Desktop -> Services -> External data sources -> Publishing to Activity Stream.

                            There are 3 way (protocols) for importing data:

                            • POST – accepts information via HTTP protocol in the form of a POST method query;
                            • RSS – import from an external RSS feed;
                            • Web-service (XML) – import using service oriented architecture (SOA) or web services.

                            To set up a connection, you need to fill out the connection parameters.

                            Click to enlarge

                            In the Name field, enter the external data source (its name will be displayed along with the date in the Activity Stream).

                            Enter to what Activity Stream (A/S) the import will be performed using the Add event parameter.

                            • workgroup – the A/S of a given group;
                            • user page – the A/S of a specified user;
                            • external data source – A/S with a choice of recipients.

                            From this point, each form type stated above has its own nuances. We’ll look at the each type’s further settings individually.

                            Settings for the POST regime

                            In the POST request connection parameters section there is an intranet webpage where the POST request parameters should be passed (the parameters are also displayed).

                            • hash – hash authorization so that the intranet allows import of data;
                            • title – heading of the event to be displayed in the A/S;
                            • message – text of the message for display in the A/S (can include HTML formatting);
                            • text-message – text of the event plain text (for notifications to subscribers by email and IM);
                            • url – the true path of the event for viewing details of this event outside the intranet.

                            Settings for RSS

                            In the URI field, enter the path of the source RSS feed.

                            In the Automated publication schedule section, the schedule for import of data from the given RSS is listed.

                            Settings for Web-services (XML)

                            Here you enter all the necessary parameters that are needed to connect with the web-service.

                            So there are two internal examples of data which can be shown in the Activity Stream – Website statistics and Orders statistics. For these, you only have to enter the server and login data.