Professional Documents
Culture Documents
Blue Flame Forms (Bfforms) For Joomla 1.5.X: Short Installation Tutorial
Blue Flame Forms (Bfforms) For Joomla 1.5.X: Short Installation Tutorial
Joomla 1.5.x
Short installation tutorial
This tutorial will show you how to initially install bfForms on your Joomla enabled web
site and how to create basic form. Later on, it will be explained how to use more
advanced features of Joomla Forms like importing HTML form from external
applications
Preface ....................................................................................................................................................................4
Introduction ............................................................................................................................................................4
Quick Overview of bfForms Features .....................................................................................................................5
Form Permissions ...............................................................................................................................................5
Force SSL Only Submissions................................................................................................................................5
Data Portability - Export Options........................................................................................................................5
Details on the built in bfForms spam controls .......................................................................................................6
Check IP Address Blacklist Databases .................................................................................................................6
Manual IP Banning ..............................................................................................................................................6
Word Blacklists ...................................................................................................................................................6
Akismet Integration ............................................................................................................................................6
Mollom Integration ............................................................................................................................................7
Our Own Transparent Spam Checks ...................................................................................................................7
Features of the form field elements .......................................................................................................................7
Real Simple Layout - Nothing to be scared of! ...................................................................................................7
Validation Rules ..................................................................................................................................................7
Input Filters.........................................................................................................................................................8
Per Field Access Controls ....................................................................................................................................8
Per Field Default Options....................................................................................................................................8
Form Submission Processing ..................................................................................................................................9
Send Unlimited Emails ........................................................................................................................................9
Save form submissions to a database ................................................................................................................9
Display any HTML (like thanks!) ...................................................................................................................... 10
Need Custom Integration? SugarCRM? Other DB? ......................................................................................... 10
btForms for Joomla 1.5.x installation .................................................................................................................. 11
Creating basic form.............................................................................................................................................. 15
Create new form .............................................................................................................................................. 15
Review and modify the form configuration ................................................................................................ 16
Add form fileds ............................................................................................................................................ 17
Final example form ...................................................................................................................................... 20
2
Form actions .................................................................................................................................................... 20
Save submission to database....................................................................................................................... 21
Thank you – a simple thank you text ........................................................................................................... 22
Send an email .............................................................................................................................................. 24
Email Header ........................................................................................................................................... 24
Addresing ................................................................................................................................................. 25
Email Content .......................................................................................................................................... 25
Attachments ............................................................................................................................................ 26
Permissions .............................................................................................................................................. 26
Mail server ............................................................................................................................................... 26
GPG Encryption........................................................................................................................................ 27
Joomla Global Configuration – Mail settings................................................................................................... 27
Final result ....................................................................................................................................................... 27
Creating a form by importing the HTML form from external application ........................................................... 29
Create new HTML form ................................................................................................................................... 30
Final notice about custom HTML forms. ......................................................................................................... 35
Conclusion ........................................................................................................................................................... 36
3
Preface
bfForms is a Form generator for Joomla! CMS and is available for Joomla 1.5.x only. It runs in native mode and
does not rely on the legacy plugin - It has been designed to meet all your form needs and provide a whole
load more than just forms! (Submissions Management, Uploaded File Manager, Export Options).
Introduction
Creating forms on websites is hard, real hard - so we have taken the burden for you and created a VERY EASY
TO USE form builder for Joomla 1.5 that anyone can use.
Build on 4 years of experience developing form creators (Phil-A-Form) for CMS's such as Mambo and Joomla -
bfForms has been written from scratch and provides many powerful integrated features such as Spam
Controls, Validation Rules, Filters, Custom elements, Export Options and much more.
The extension hosts a huge number of great features. Let us just highlight some of them:
• Specifically designed for Joomla 1.5.x
• Allows you to create unlimited forms, with unlimited fields and actions
• All forms are xHTML and CSS2 valid
• Joomla Forms is written by a very experienced Joomla/PHP Developer who has been awarded the
Zend PHP 5 Certified Engineer award!
• Once purchased, you get free upgrades for life - with a smooth upgrade path at all times.
• All forms can be enabled/disabled with a single click
• Speedy configuration of forms using a 100% xAJAX admin interface
• SECURE FORMS - you can force forms to only show on SSL Secure pages
• Quick Start Guide To Creating Great Forms included
• Complete Control Over Form Page Titles
• Set a maximum number of submissions allowed on a per form or per user basis
• Complete control over the text on the submit, preview, reset buttons
• Form Preview mode, before submitting the form!
• Complete form layout control using Smarty Templates and simple placeholders
• Built-in, Transparent, spam controls - NO CAPTCHA AT ALL !!! (We do not believe in CAPTCHA)
• 3rd party Spam Plugins (Akisment and Mollom)
• IP Banning
• Blacklist Word Banning
• Spam Idiot Checks!
• Feature to allow you to add custom JavaScript and Custom CSS to the page
• Over 30 different, standard and custom, field types to choose from
• Multiple form actions to apply to submitted data
• Form Fields are 100% CONFIGUABLE
• Over 24 different validation rules can be applied to each individual field
• Or create your own with Regex!
4
• 7 Different filters can be applied to change the submitted value
• You can specify a default value for each field - or allow it to be overridden by a string in the URL
• Fields can be set as disabled
• You have complete control over the class and style of each individual form element
• Each field has its own access level and can be enabled for only Public, Registered or special users
• On a per field basis you can restrict the allowing of the value to be sent by email or not.
• All submissions can be saved to a built in database - or not! depending on your wishes
• All submissions can be emailed to unlimited people - including the submitter
• You can configure unlimited types of emails, each having their own content
• You can set files that will always be attached to the emails sent (Like distributing terms.pdf)
• You can allow uploaded files to be attached to the emails
• You can encrypt any of these emails using GPG Encryption just by providing the public key
• You can use any submitted value in the subject or body of any email with the use of simple
placeholders
Form Permissions
Joomla Forms allows you fine control over the form, and the
permissions required to view and submit entries.
You can specify which Joomla Groups can view the form,
how many submissions each user can submit a single form,
and how many submissions a form will allow in total.
5
Details on the built in bfForms spam controls
Check IP Address Blacklist Databases
Joomla Forms has integrated real time black list database
checking of the submitters IP Address against the
"bl.spamcop.net", "list.dsbl.org", "sbl.spamhaus.org"
servers - this cuts out the majority of well known spammers
Manual IP Banning
In addition to the IP databases, you can also specify
manually IP Addresses to block. These users will not be able
to submit forms on your site through Joomla Forms
Word Blacklists
The ability to reject submissions that contain admin
configurable words is also a great feature. Add in as many
words as you like (drugs | sex | rock | roll) for example and
then all form submissions that contain those words will be
rejected
Akismet Integration
Akismet is a 3rd party service that provides spam checking of
form and comment posts. Akisment is probably the leader in
their field at the moment, and you will need a valid
wordpress key to use this service.
We have fully integrated the Akismet API and all you need to
do is provide Joomla Forms with your API Key
6
Mollom Integration
Just like Akismet, Mollom is a 3rd party service that
provides spam and quality checking of form and comment
posts. Mollom is in beta at the moment but we have
integrated part of their API and you can activate this 3rd
Party service easily within Joomla Forms, then Mollom will
check form submissions for spamminess and quality.
Validation Rules
Each form element has a huge number of options you can
toggle to apply validation rules to the submitted value.
• Required
7
• Joomla Specific Fields
• UK postcode, NI Number, VAT Number, Phone Number
• USA SSN, Zip Code
• Email Address, Web Address
• Valid Credit card number
• And Many Many more validation type, including regex, integer, inarray!!!
Input Filters
In order to ensure complete security, and to validate the
input provided in the form, Joomla Forms provides several
filters that can be applied to the submitted values. These
are configurable on each form field and include such
features as:
8
Form Submission Processing
bfForms has built in submission post processing, with simple actions such as emailing and saving to database
right through to advanced processing like adding to a ListMessenger mailing list, posting to another URL/API
or running custom PHP code!
But dont be afraid - all this can be done through the simple interface with no PHP Knowledge at all - ok, apart
from the Custom PHP Processor which needs PHP knowledgebase obviously - apart form that ALL the
processing plugins can be configured with no programming experience at all!
All these options can be set up really easy in the Email Action Screen
9
Display any HTML (like thanks!)
Once the form has been submitted, you might want to
give further instructions - or say a thank you - you can
do this with the HTML Action that allows you to specify
any HTML to display once the form has passed
validation and has been processed.
10
btForms for Joomla 1.5.x installation
Now that we said a few words about btForms it is a time to install this extension to your Joomla enabled web
site.
btForms has slightly different installation procedure than regular Joomla extension so basically this is why this
tutorial is actually needed.
Let’s begin!
Click “Extensions” -> “Install/Uninstall” from Joomla main menu in Joomla backend
Click the “Browse” button and choose the Joomla Forms For Joomla 1.5.x archive on disk to install.
Click on the “Upload File & Install” button to install Joomla Forms For Joomla 1.5.x.
After few moments (this depends on your network and internet speed) the screen with message that
installation was successful should appear.
11
Picture 3: Install Component Successful message
For any other regular Joomla extension this would conclude extension installation and you could start using it
immediately. The btForms extension requires few steps more to be done before you could use it.
Here are those steps described.
Click “Components” -> “.Install Joomla Forms” menu item. This will start procedure that will finish installation
of btForms extension.
New page will load with the message that there are some additional plugins that needs to be installed before
you can use Joomla Forms. The first required plugin is btFramework. Just continue installation by clicking on
“Install the btFramework” link
12
When the btFramework plugin is successfully installed you will receive the following message
Click on “Click here to continue” link. Joomla Forms installation procedure will continue and few moments
later new message will appear. This message will inform you that another plugin is required to be installed
before Joomla forms installation can be finished.
Just continue installation by clicking on “Install the xAjax Plugin (Required)” link
Click on “Click here to continue” link. Joomla Forms installation procedure will continue and again, few
moments later new page will appear with new message on the top. This message will inform you if you have
the latest version of btForms or not. You can dismiss this message by clicking on “Dismiss” button.
13
Now, for this tutorial there are just two things to do yet. The first one is to show how to return to normal
Joomla backend interface. You can do that by clicking on “Exit to Joomla” link which can be found in top left
side of the Joomla Forms page interface.
You can access again Joomla Forms interface by clicking on “Components” -> “Joomla Forms for Joomla
1.5.x” link
14
Creating basic form
Basic form that I will show you in this tutorial will consist of three simple text fields:
When the new screen shows up, click on “Create New Form” link on the left side menu:
15
Enter the name of this form filed “Form Title”, the name which will represent the best this form and its
content. After that, click on a button “CREATE NOW!” to create new form.
Now that the form is created, select it by clicking on a check box next to its name and click on Edit button or
just click on its name in form list.
New screen will load up with just two options. Friendly name is the name that will distinguish this particular
form from the rest of the forms you might have on your website. Second option is the place where you can
16
setup page title on frontend of your web site. This page title will be shown in browser when your visitors
choose to fill in this form fields.
When you are finished with setting up those basic options, press Save button in top right side of the page.
First you have to give some title for this field. This title will be presented to your visitors so choose the title
that will show your visitors what you expect from them to put in this field or how to react on the options that
this field might have. For our example form, we will ask our visitor to put full name in the first field of this
form so we will put the text “Your full name:” here
17
Picture 20: Name properly your form field
Next thing that we must do is to select what kind of form field this filed will be. For our example, we will
choose this field to be Textbox:
When you are finished with those two options, press “CREATE NOW!” button:
New page will show up with multiple tabs. Those tabs contain large amount of options, which we can use to
further customize our field. There are many options, validation rules, filters, permissions and style rules that
can be set and configured for every field in the form. For this basic example, we will just set up few options.
The rest of those options and rules will be explained in advanced tutorial.
18
First, we will set up friendly, internal field title. This title will help us to distinguish this form field in the list of
other form fields for particular form.
Public field title is title that will appear to your visitor. This is the place where you can adjust this field title
again, if you made some mistake during initial field creation.
Next thing that you should do is to setup this form field internal name. This name is used to create HTML
template for email confirmation, thank you email that can be sent after your visitors complete the form
submission etc.
This must be unique in this form; this means you cannot have two elements with the same system name!!!
You should also keep this quite short, for example: "lastname"
Finally, enter description of this particular form field. This description will be placed beneath form filed title
on your live form. That description is used to convey instructions to the visitor.
19
For this example, we will leave all other options on their default values. There is only one thing that is needed
to be done and that is to save this form field by pressing on Save button.
Form actions
Our form would be just nice add on to our site and nothing more if there wouldn’t be something else that
would actually bring life to this form. That something is called “Form actions”.
Form actions are a way to communicate with our visitors when they fill in our form. You can use form actions
to save submissions to database, say “Thank you” to your visitors, and send them an email confirmation that
their submission if saved and that it is being processed or just redirect them to some other web page after
submission.
Let’s add some form actions. We will start by clicking on “Submit Actions” link on left side menu.
20
Picture 30: Start defining form action
Set the type of this first form action to “Set submission to database”
Now, all we have to do is to click on “CREATE NOW!” button to confirm our selection.
21
This is very basic form action so we will leave the options on their default values by clicking on Save button.
Set the type of this first form action to “Thankyou – A simple thank you text”
22
Picture 37: Select proper form action type
We will see the following screen. On that screen, you can type short message and thank you text that you
would like to present to your form submitters.
When you are satisfied with the thank you text layout and message itself, click on Save button
23
Send an email
Finally, we will define yet another form action that will allow us to send submitted data to an email or group
of emails.
Since this form action is the most advanced one, we will have many options that we can set up for this action.
Those options are separated in tabs as you can see on the following picture:
I will list all the options for “Send an email” form action.
Email Header
This group of options consists of the following options:
24
Email From Email Address
This is your real email address and is used in forming the email's From: header
You can also enter the name of a form field where the submitter will put their email address. For example, if
your form element was called "myemail" then you should enter #MYEMAIL# and Joomla Forms will replace
this with the submitted value
Addresing
This group of options consists of the following options:
Email Content
The body of the emails will be parsed by the action to replace placeholders with the values the visitor has just
submitted.
These placeholders are the HTML Field Name (Name) of the element, in uppercase, surrounded by #'s
25
Example: Dear #NAME#, Thanks for sending me your address, you
entered #ADDRESS1#, #ADDRESS2#
Example:
Attachments
This group of options consists of the following options:
Send submitted files, which have been uploaded, as attachements to this email
This relies on the file upload field having the permission to "send by email" set to yes
Permissions
This group of options consists of the following options:
Mail server
If the configuration you have set in Joomla Global Configuration is not compatible with your server then we
will never be able to send form submissions, Please check with your web host for the correct settings
We highly recommend SMTP with Authentication, as the most reliable and secure email transport - ask your
web host if this is available to you...
26
GPG Encryption
GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by
RFC4880 . GnuPG allows to encrypt and sign your data and communication, features a versatile key
managment system with public key directories. GnuPG is also known as GPG. If you want your emails to be
encrypted - and very secure - then you might want to learn more about GPG
Final result
When everything is finished and your form tested here is how the result of form actions looks like (for our
example form):
27
If you click on Submissions link in left side menu, you will see all saved submissions that your visitors
submitted by filling out and submitting your form details:
28
Creating a form by importing the HTML form from external application
Now that I explained how to create basic form using Joomla Forms interface, it is a time to move on to
something more advanced. This feature will show you real strength of Joomla Forms.
I will create some HTML form in external application (Dreamweaver in my case) and after that I will use that
HTML source code to create form in Joomla Forms in a very easy and intuitive way.
Let’s start with creating HTML form in Dreamweaver. This form will be also basic form but it will show you
that you can actually create more advanced forms quickly and easily.
<body>
</body>
</html>
29
As you can see, I will use the raw HTML source code that external application produces without stripping
anything out of it. This source code will be given to Joomla Forms. Joomla Forms will process it and generate
correct template and everything else needed for this form to work properly. I will also show you how you can
use CSS styles together with your form so you will be able to customize it to the full.
When the new screen shows up, click on “Create New Form” link on the left side menu:
Enter the name of this form filed “Form Title”, the name which will represent the best this form and its
content. After that, click on a button “CREATE NOW!” to create new form.
30
Picture 50: Set form title and create the form
Now that the form is created, select it by clicking on a check box next to its name and click on Edit button or
just click on its name in form list.
When a new page loads click on “Form Layout” link to open Layout options for this particular form.
You will be presented with few tabbed panels through which you can change layout options.
31
To be able to use HTML source code from external application to build your custom form, you will have to
enable “Use Custom Form Layout” option on first tabbed panel (“Layout options”).
When you enable previous option, new panel will show up. This new panel is titled “Custom Smarty
Template”.
This new panel will allow you to paste your custom HTML source code from external application. Click on
“Custom Smarty Template” tab to open new panel and see new options.
You have to paste your custom HTML source code in a text area beloe “Parse Form” and “Create Basic Layout”
buttons.
32
When you press “Parse Form” button, Joomla Forms will parse your HTML source code and prepare it for later
usage. Every occurrence of HTML form elements will be replaced internal element name and in the same
time, Joomla Forms will create element fields that you will be able to edit later.
Big strength of Joomla Forms is also ability to use CSS styles in your custom form. That way, you can adjust
form to best fit your needs and likings. Click on “Custom CSS” tab to open “Custom CSS” panel.
You can use normal CSS style definitions here. Just paste your CSS file content here and your custom HTML
form will use defined styles.
33
We can save our new custom form by pressing “Save” button now.
We can now check how did Joomla Forms create our fields elements automatically when we pressed “Parse
Form” button before.
If you followed this tutorial step by step, you should get result similar to this one. You can see that every form
element was correctly parsed and saved in the list of form fields. You can also check every field’s property by
clicking on field’s name. Since this procedure was already explained before, I won’t show that here again.
By now, we have a fully working form that we created from a source code that we prepared in external
application. All we have to do now is to add some email actions as I explained in previous part of this tutorial.
34
Now, all that is left to do is to see how our form looks like in a real life. Press “Preview Form” on top of the
screen to load fully working form in a frontend template. You can check how this form looks a like and test
content submission.
You can see that our CSS styles are also loaded. We defined that our text fields will have yellow background
and you can see that CSS styling works as supposed.
Both of those processes were explained in previous chapters so I won’t explain them again here. It is
important to stress those possibilities because this shows real strength of Joomla Forms.
35
Conclusion
This concludes my tutorial about installation of Joomla Forms for Joomla 1.5.x extension. Later I explained
how to create basic form using Joomla Forms form editor. Finally I explained how to use Joomla Forms to
build advanced HTML form which was created with some external editor, like Dreamweaver.
I hope that this tutorial will be useful to some of you.
If you have any questions regarding this extension, please, check our FAQ section or contact us by using
Contact link on our web site.
Author is working for Blue Flame IT company as freelancer in charge of writing extension documentation. You
can reach him through contact form on his web site http://www.mihha-vision.com or by writing him to email
mihha@inet.hr.
36