Profile Fields Builder
Dragging Blocks
Profile Fields Builder allows creating, removing and managing the profile fields table .
Open the Fields Builder the following way: Admin Panel - Builders - Fields Builder.
As soon as the page is loaded you will see this window:
There are 4 tabs at the top of the main builder. These are 4 builders which allow you to manage the following Dolphin pages: Join, Profile Edit, Profile View and Search Profiles. You can determine a specific set of fields for each of these Dolphin pages.
Example: Let's consider the case when you're going to allow your member to change his NickName. You need to do the following: Click on the Edit Profile tab; you will see three radio buttons under this main tab: Owner, Admin and Moderator. These radio buttons will affect the set of editable fields for the above three categories.
Click the "Owner" radio button and you will see two blue blocks at the top and a few green ones below them in the Active Elements area.
These are the blocks which members are able to edit. If you drag and drop some blocks from this area into the Inactive Items area, it will automatically extend and provide a dotted space for the block which is dragged. This dotted space is called the Helper; it specifies the block's position in the Inactive Items area and as soon as you drop the block it will be placed there. That's it, we've moved the NickName field from the Profile Edit page.
But when you click on the Admin radio button you will see that the Nickname item is still in the Active Elements area. This means that you have independent control of the fields for the site member, administrator and moderator.
There is an additional Admin Controls block with two items - "Status" and "Featured" which allow you to change the profile status and mark it as "Featured" while editing it.
Note! As soon as you have made any changes, they are automatically saved in background and the results of your changes become visible immediately.
Block and Fields creation
1) Let's assume you want to create a new block and a new field in the profile fields table and let your members fill in this field when joining.
Click on the Join Form tab and find the New Block and New Item elements. These elements allow you to create new blocks and fields respectively.
Let's create a new block. Drag the New Block and drop it somewhere in the Active Elements area. The Helper will specify its place in the Active Elements area.
As soon as the New Block has been moved, another one will appear in the Inactive Items area. Thus, you can create as many new block as you like.
Now click on the "New Block" title. A popup window will appear which will allow you to edit the properties of this block:
Block's properties description:
Name. This is a system name of the block with which the block will be saved in the database, and it's displayed in the Builders only. You can name the blocks the way you wish (up to 255 characters), but this name should be unique. Each block or item should have its unique name.
Caption. This property specifies the block's title on the Join page. Please consider that the same block can have four different names on 4 different pages. For example, now we are on the Join page so we're editing the Caption of the block exactly on the Join page. The following language key will be created for this Caption:
_FieldCaption_NEW BLOCK_Join
where you have to replace NEW BLOCK with the Name of your block. The Caption of the block will be assigned to the value of this key.
You can use tips marked with the blue i (info) icon. These icons are used extensively throughout the Builders and in Dolphin forms.
When editing the block on the other pages, a different language key will be used (for example on the Profile Edit page the key will be named _FieldCaption_NEW BLOCK_Edit).
After changing a block's name, the language key used for this block's Caption will be changed too. For example, if you've named your new block on the Join page as Test, the language key will be named _FieldCaption_Test_Join.
If you've changed a block's Name, its Caption for the current page will not be lost. But a new key will be created which will correspond to the new Name.
Description. It isn't used at the moment but it's supposed to be used to describe the block's content.
Join Page. Allows to divide the Join form into several pages. It will be described below.
Now input a new Name and Caption for the New Block. The Caption field can't be empty. Let's name it as "Test". Click on Save. The Name of this block has been changed.
Note! Until you name a NEW BLOCK, you won't be able to create another one. And error will occur. If an error has occurred during NEW BLOCK creation, first of all make sure that there are no elements (blocks or items) with NEW BLOCK Name.
2) Now let's create a new field. Take the NEW ITEM element from the Inactive Items area and drag it to the Active Elements area, detain it over the Test block and move downwards as though you wish to input it into the Test block. This should result in the Helper appearance under the block. As soon as it happens, drop the NEW ITEM and it will become active.
Now click on the NEW ITEM title; a new pop-up window will appear where you'll need to describe the new item.
There are four tabs at the top of the window - General, Advanced, Messages, and Matching which allow to change the fields values. For the system fields these tabs are not available (see below)
Main fields values - General tab.
Name. This is a system field's name which is used to create columns in database table. Therefore it should start with the Latin letter, and includes only Latin letters, numbers or underscores. Also, it shouldn't be longer than 64 symbols (MySQL limit).
Caption. This is a displayed field's title in a current zone. It works the same way as block's title (see above).
Description. The field's description. It should contain the information which describes what should be typed in this field. The information icon "i" (info) will show this description on the Join (Registration) page.
Type. This defines what kind of information will be contained in this field. There are several field types:
- Text. Simple one-line text field which can contain no more than 255 symbols, for example, NickName.
- TextArea. A big multi-level text field which can contain more than 65535 symbols, for example, Description.
- Password. A simple one-line text field for setting up a password. It is restricted by 255 symbols. The additional field Confirm Password is created automatically. Thus, you don't need to specially create the Confirm Password field.
- Date. This field stores date. For example, Date of birth. When being displayed on a site's page, such fields have an integrated calendar which makes it easy to choose a date.
- Selector. This is a simple "select-one" selector. It can have two different types: Drop-down selector and Radio-buttons (see Advanced tab). It allows choosing only one from the available answers. It's used for such fields like Country or Sex.
- Multiple selector. This Selector allows user to choose a few from the available answers. It can have two types: Selector Box or a set of Checkboxes and is used for the Looking For field.
- Number. It's a simple text field which allows member to enter a number. For example, Number of children.
- Range. Values range. A field of this type consists of two text fields which allow specifying the lower and upper range limits. For example, this field can represent age from 18 to 25 years.
- Boolean (checkbox). A simple checkbox which allows choosing an alternative answer - Yes or No.
- System. This type can't be chosen for a field. It is set up by default and defines programmed system fields which have a very limited set of properties. These fields are Couple, Captcha, Status, and some others.
Additional field's properties (Advanced tab):
Control. Available only for the fields with Selector and Multiple-Selector types. Defines an HTML-element for displaying in forms.
Mandatory. Defines if the field is necessary on the page. For example, NickName is a required field.
Such fields are marked with red stars next to field's title and are checked if they contain any values.
Minimum value. It defines the minimum value of the field. For text fields and passwords it defines the minimum number of characters to input. For numbers it defines the minimum number. For the fields of Date type it defines minimum age.
In case this field isn't filled, there will be no limitations.
Maximum value. It defines the maximum value of the field. For text fields and passwords it defines the maximum number of characters to input. For numbers it defines the maximum number. For the fields of Date type it defines maximum age.
In case this field isn't filled, there will be no limitations.
Unique. It defines, whether the value of the field should be unique. For example, all users should have unique NickName and Email.
Check. It's a special additional check. It should be written in PHP and return true or false value depending on the entered parameter $arg0 (field value). It is used to check, for example, NickName. And since it only should contain Latin letters and numbers, this property contains a regular expressions.
Possible Values. It's available for the fields of a Selector and Multiple-selector types. It defines the list of available values. For example, Sex can have the following values only - Male and Female. Each value should be placed on a separate line. Each value is saved in the default language. Also, instead of the list of values it's possible to specify the link to one of the Predefined Lists. To do so, you need to specify the link prefix #! before the list name. For example, #!Country. In this case the list of the field's values will be chosen from the specified list. The list of Predefined Values is possible to be edited in Settings -> Predefined Values.
Default value. A default value which is set up automatically if user isn't allowed to edit this field.
Used lang. key. It's available only for the fields of Selector and Multiple-selector types. It defines the used language key for the predefined values of selectors. In some languages words can change their forms depending on their usage (this is called declension). For the Russian language the field LookingFor requires LKey2. If you do not understand what it's all about leave this property unchanged.
Messages tab.
In this tab you can edit different types of error messages (generated during input of user's data). All lines are automatically inserted into the language file with the corresponding keys.
Mandatory error message. It's displayed if the field is required to be filled, but the user has not filled it with values.
The key _FieldError_ItemName_Mandatory is used (replace ItemName with the name of the element).
Minimum exceed error message. It's displayed if a user has entered a value less than it is specified by the Minimum value property (see above).
The key _FieldError_ItemName_Min is used.
Maximum exceed error message. It's displayed if a user has entered a value greater than it's specified by the Maximum value property (see above).
The key _FieldError_ItemName_Max is used.
Non-unique error message. It's displayed if the field should be unique but the member filled it with a value which already exists in the database. The key _FieldError_ItemName_Unique is used.
Check error message. It's displayed in case the additional function (Check) has returned the false value.
Matches tab.
This tab defines the profiles matching settings for a specific field. You can set up which fields of other profiles will be compared with the current field and the maximum percentage of matching.
Example. The member " A" is viewing the member "B" profile. The field "LookingFor" of the user "A" will be compared with the field "Sex" of the "B" member. If member "A" has specified the sex of member "B" in the "LookingFor" field so the field's comparison will pass successfully and the percentage which has been determined for the "Looking For" field will be added to a match.
The comparison of all fields, except "Multiple-selector vs. Multiple-selector" comparison pass according to Yes - No principle, the comparison has passed or not. The type of comparison "Multiple-selector vs. Multiple-selector" (an example is Dolphin 5.6: Relationship) passes differently. The fractional part of coincidence is made. How much from how much has coincided. For example, from 3 chosen values of "A" member with the member "B" has coincided only 2 values. So, the fractional part is 2/3. This number is multiplied on a corresponding percent of this field and is added to the common match percentage.
System fields
As it was described above, system fields have not additional tabs in a properties window, however, some of them have special properties on the main tab. Let's consider fields itself and their properties:
Couple. This field defines the member's profile type - Single or Couple. The editing element of this field is on join page only since the member cannot change the type of his profile later As later the user cannot change type of the profile any more. If member chooses the type of his profile - "Couple" while filling in the join page so additional fields will be displayed which will correspond to the second person in this profile.
Probably you will want to create a new field which will be general for both persons in this profile, for example, the residing country. For this purpose the Couple field has a special property which is called Mutual couple fields. It allows to link certain fields of both persons to a one general field.
Keyword. Available in Search zone only. It allows to make a search by several text fields at the same time. But for all that it has Search in fields property which allows to choose, in which text fields search should be made.
Other system fields have not any special properties. You can find their descriptions in properties of these fields.
Split Join Form
You are able to split the Join form into the several pages, just "transfer" some blocks to the next pages: Click on Join block title in join area and in an opened window of its properties choose Join Page different from "0", and Save. That's all. The new Join page is created and your block is transferred to this page.