4 Customize and Test Searchable Lists

One of the most important features of Fabrik is the ability to create searchable lists based on data members enter into our custom Registration and Provider forms. The Fabrik Search tool allows your members to interact with each other and build their own personal relationships with others in the community that share common interests. To explain how the Fabrik Search process works, this chapter is divided into the following four sections.

4.1 Add Member Menus

4.2 Test our Registration System

4.3 Searchable List Settings

4.4 Add a Search Engine and Validation


4.1 Add Member Menus to Test our new Network

In the last article, we finished creating the Member and Info forms we need to run our new network. Each of these forms creates a matching List where we can add new data just by clicking on the Add button. In this article, we will first look at the Service Provider Info Form and List in the back end and then create menu items to look at the same form and list in the front end. Then in the next article, we will use our Member Registration Form to add our Demo Members and have our Demo Service Providers fill out the Service Provider Info form to test how well our new network works.

View our Service Provider Info Form and List in the Back End
Go to Fabrik Forms, Service Provider Info and click View Data.


We have set these form elements so the only elements shown on the List are Service Provider City, Service Provider Name, Service Provider Category and Provider Photo. Note that we have reordering the elements to put the Service Provider City first. We could add new service providers here in the backend if we wanted just by clicking on Add. But because we only want folks with Linux computers accessing the back end, we will instead create a system where folks can sign up on the front end and thus be able to use any computer without compromising the security of the back end of our website. Click the back arrow to exit this screen. We will next create several new menus and several new menu items to add our Demo Members in the front end.

Add Two New Menu Items to our existing Main Menu
First, we need a Member Signup Menu Item. Then we need Member Log In. These two menu items will both be available for the Public to see on our Main Menu.

Create a Member Signup Menu Item
Go to Menus, Main Menu and click New. Then for Menu Item Type, click SELECT. Then click Fabrik.


Click Form. Then for Fabrik Form, select the Registration Form. For Menu Title, type Member Signup. Then in the lower right corner, change the Access from Public to Guest. This will hide the Signup menu item from Members who are already logged in.

4.2 Test our Registration System

Now that we have set up our Member Forms and Menu structure, we are now ready to test our new Network. To test the front end member access system, we need to add our remaining Demo Members using our Member Registration form on the front end of our website. But first we need to set up a Member Coordinator system.

Front End versus Back End Access
Determining which members get access to which part of your website is crucial to managing our community network. The network website is divided into two ends – a front end and a back end. Here is what Our Community Network looks like on the Front End:


Here is what our Community Network looks like on the backend (which is also called the Joomla Control Panel):


Protecting our Network from Hackers
We have spent a huge amount of time to set up a secure website on a secure server. But all this time will have been wasted if hackers can gain access to the back end of our website.

The easiest way for hackers to gain access to the back end is if a member of our Network logs into the back end on a hacked Windows computer. Because Windows computers can be easily hacked, it is essential to limit access to the backend of the website to only those who have a Linux computer. How we limit access to the backend of the website (also called the Joomla Control Panel) is by carefully defining our Joomla User groups. This means only allowing our Members, Service Providers, Job Providers and Member Coordinators – folks who may not have a Linux computer – to only access forms on the front end of our website.

Joomla Front End versus Back End Groups
Joomla has 4 groups that can access only the front end of the website – and 3 groups that can access both the front and back end of the website. Here are the 4 front end only groups:

4.3 Fabrik Searchable List Settings

In the previous chapter, we reviewed how to create a custom Registration form. We then created custom groups – each with their own Intros and Outros. We then added a series of elements to our custom Registration form – being careful to assign each element to one of our custom groups. Finally, we created 24 Demo Members which we added to create a series of records. These records can now be displayed in a searchable table that Fabrik calls a list. In this chapter, we will review how to customize our Fabrik List and Search functions.

Fiive Key Fabrik Functions
Fabrik has several different parts which all work together to help us build a custom community network. These include:

Forms - which contain groups of elements and are used to collect records from our members.

Groups - which are sections of our form used to help divide and organize our form into collections of elements.

Elements - which are the individual fields present on a form and the column names in your database table with each column holding the records entered using each element.

Lists - which take records collected from your form elements and display them in a searchable table.

Visualisations - which take records from your database and visualize this through charts, maps, calendars and more.

Fabrik Settings, Parameters and Permissions
Each form, group, element and list have their own settings and parameters and viewing, editing and deleting rights. Menu items that link to these lists and forms also have their own settings. Finally, if linking to a form in a module, the module also has its own settings and permissions. Quite often, most of these settings and permissions can be left at their default values. Our goal is to cover just a few of these settings. Because this is a project based course, we cover these Fabrik settings and parameters in the order that they are needed to create our custom Registration form and Searchable List.

View the Fabrik Service Provider Info List
After setting up and entering data in our Service Provider Signup form, Fabrik will create a matching Service Provider List to display the data entered into the Service Provider Signup form. Let’s begin by look at our Service Provider List in the front end of our website. To view this list, we need to create a Fabrik List menu item in our Members menu and set it for Registered Member access. We did this in an earlier article. Then go to the front end of our website and log in as a Registered Member. Then click on the Provider List Menu Item. Alternately, in the back end, we can click on Fabrik Lists and then click on View Data for the Provider Info List. Here is what our List of 9 Service Providers currently looks like:

4.4 Add a Search Engine and Validation Rules

If you only have 9 Service Providers, you do not really need a custom search engine. But if you will eventually have more than one thousand Service Providers grouped into 9 cities – each with more than 20 categories – then a search engine becomes essential. For example, imagine there are more than 200 Service Providers in Bellingham. If your Member can search for a particular category, this would narrow their list down to only 10 or 20 service providers. The member can then View the Details for these providers and choose 2 or 3 as final candidates to contact directly for more information.

Add a Fabrik Search Engine to your Service Provider List
To add a Fabrik Search Engine to the top of your list, go to the Service Provider Info List Details Screen and click on the Filters Tab:


Filters are fields that are used by the search engine to help your members find what they are looking for by filtering the list's data based on the data values. The filter trigger determines when the filter is applied. Leave it set for on change. Leave the location at Above.

Benefits of the Fabrik Advanced Search Option
Fabrik offers at least four kinds of search engines. The two shown on the List Details Filters Tab are called Advanced Search and Search All. The Search All engine works well in the Joomla administrator Control Panel View Data screen. But Search All does not work on our front end List page. This is likely because Search All has a conflict with some setting on our Helix template.

Thankfully, the Fabrik Advanced Search option displays well and works well on the front end of our website. Advanced Search also has a setting in each element in the List View Settings screen Filters tab to precisely define what elements appear in the Advanced Search options. So we will use the Advanced Search option on the front of our website and Search All on the back end of our website.