Quick Start

Last updated: 25/07/2020

Introduction

VisualFormMaker is web application based on laravel framework and jQuery.formbuilder that allowing you to build and manage simple html forms using simple drag-and-drop action.

This project inspired by my previous project SimplePhpFormBuilder and Laravel Form Builder Package.

Features

  • build simple form visually (drag and drop)
  • mange forms
  • mange submitted form data
  • mange users and profiles
  • mange groups
  • mange organization tree

Installation

Requirements

  • web server (iis , apache, ...)
  • php : ^7.2.5
  • database : sqlite, mysql, pgsql, sqlsrv (tested in MySQL version 8 and sqlite)

Installing

Two ways to install the app, using composer or by manually downloading from GITHUB.

option 1 - using composer:

  1. Make sure you have PHP to Your Windows Path Variable
  2. Make sure you have Composer installed on your machine.
  3. open command line program (cmd, powerhell, gitbash ...)
  4. navigate to your web-server root folder
  5. run:
    composer create-project meshesha/visual-form-maker visualformmaker --no-dev

option 2 - manually downloaded:

  1. download Source code ('zip' or 'tar.gz') from github last release.
  2. unzip the downloaded file.
  3. copy visualformmaker folder to the root of your web server.

Configuration

1. Web server:

1.a. IIS server:
  1. install iis and php.
  2. Create Website in IIS:
    1. Start IIS (by typing 'inetmgr' in run window)
    2. Add new Website:

      In the left side base expand the tree and select the Sites option. Then Right-click on Sites and select Add Website… option like the following image.

      This will open a popup to input new website details. Input the following details in pop-up box.

      • Site name: visualformmaker
      • Application pool: DefaultAppPool
      • Physical path: C:\inetpub\wwwroot\visualformmaker\public.

    3. Storage folder Permissions: In File Explorer, right click on the storage folder in C:\inetpub\wwwroot\visualformmaker and select Properties. Under the Security tab, grant full control of the storage folder to IUSR.
    4. Cache folder Permissions: In File Explorer, right click on the cache folder in C:\inetpub\wwwroot\visualformmaker\bootstrap and select Properties. Under the Security tab, grant full control of the storage folder to IUSR.
    5. URL Rewite : The rewrite rule definitions in the web.config require the URL Rewite extension.
    6. more details...
1.b. XAMPP/WAMP:

Setting up a Laravel project on Windows with XAMPP / WAMP.

1.c. Apache:

Steps for configuring Laravel on Apache HTTP Server

2. Database:

setup database server and create database called 'visualformmaker'.
note: this step is optional in MySQL and sqlite.

Application Installation Process

  1. open web browser and go to to application link (e.g.: http://localhost/visualformmaker).
  2. follow the instructions:
  3. first time login

    email: admin@localhost
    password: admin

Usage

Dashboard

Main Dashboard view:

User Profile

To show profile data goto user dropdown menu and click 'Profile':

Display User Profile

Show user profile data.

Edit user Profile

To edit profile data, click 'edit' tab:

Edit user Profile

Here you can to chenge your name, email and profile picture.

Change user password

To change your password, click 'Password' tab:

Forms

To go to forms management area, click 'Forms' link in main dashboard area or in sidebar menu click 'Forms' and then click 'All Forms'.

Create new form

To create new form, click 'Create new form' button:

Forms
  1. Enter form name.(*Required)
  2. Select form visibility.(*Required)
    • Public
      public visibility
      • All users can access to the form
    • Registered users
      registered users visibility
      • All registered users can access to the form. The user must be logged in to access the form.
    • Groups
      groups visibility
      • On the right, select the groups to which you want this form to be visible (multi-selections)
      • Accessible to users in selected groups.
    • Departments
      departments visibility
      • On the right, select the departments to which you want this form to be visible (multi-selections)
      • Accessible to users in selected departments.
  3. Drag a field/elements from the controls area to drop area.
    • On the right side of each field there are three buttons, which allow you to delete the field, edit the field or duplicate the field: Field actions
    • Each field has many different properties that can be edited: Edit Field
  4. When you have finished building the form, click the 'Save Form' button.
  5. The new form you have built will be added to the form list table: Forms list
    • As you can see in the Status column, this form has not yet been published, it means that a form is not yet accessible to the public. To publish the form and take further action, we will see in the next step.
Form details

(publish/unpublished form, edit form, form url, preview form, etc.)

Click the 'Details' button in the 'Actions' column:

Forms details
Buttons
name description
Preview Shows the form - In case you want to see a preview before publishing.
Edit form Edit the form - In case you want to fix, add fields, etc.
Submissions show all submitted data of this form in table.
Delete form Deleting the forms and all submitted data.
Other fields
name description
Form status publish or unpublished form by clicking the desire button.
note: if you publish the form,you cannot to edit the form.
Public URL The url of the form. You can copy the form by clicking the button next the url.
Form Managers List of users who can edit managing the form.
Allows Edit Can the user edit the form he filled out after submitting it. (Not relevant to public form)
Visibility To whom the form is accessible. Can only be changed by edit mode
Owner User who created the form
Current Submissions Total Submissions for this moment.
Last Updated On Date the form was recently edited
Created On Date the form was created
Submitted form data

There are two ways to show submitted data of a form:

  1. 'All forms' table and click the 'Data' button on 'Actions' column.
  2. In form details page click 'Submissions' button.
Submitted form data table:
Forms details
Submitted details data page:
Forms details
Buttons
name description
View Shows details
Edit Re-edit the submitted data.(if 'Allows Edit' => 'yes' )
Delete Delete the submitted data.
Details (in Submitted details data page) Goto form details page.

My Submissions

List of forms submitted by the user.

Click 'My Submissions' link in main dashboard area or in sidebar menu click 'Forms' and then click 'My Submissions'.

description
name description
'Form' column The form name.
'Updated On' column Date and time the form was updated and resubmitted, if not updated then it will be the same as the date and time the form was first submitted.
'Created On' column Date and time the form was first time submitted.
'View' button shows submitted details data page
'Edit' button Re-edit the submitted data.(if 'Allows Edit' is 'yes' )
'Delete' button Delete the submitted data.

Users

Click 'Users' link in main dashboard area or in sidebar menu .

description
name description
'Name' column The user name.
'email' column The user email.
'Department' column The user Department. can be only one Department.
'Roles/Groups' column The user Roles/Groups. user can have multiple roles/groups.
'Edit' button Edit and update user data.
'Delete' button Delete the user.
'New user' button Create new user

New user

create a new user.

New user

Fill in the fields and click the 'Save User' button:

New user

Edit user

Edit and update user data.

Edit user
Here you can also change and reset the user's password:

Click the 'Change Password' button:

Change user password

Groups/Roles

Click 'Groups' link in main dashboard area or 'Groups/Roles' link in sidebar menu .

description
name description
'Name' column The Group name.
'status' column If the group is active or disabled.
'create at' column The date the group was created
'Show' button display the group data and list of members.
'Edit' button Edit and update group data (status and name).
'Delete' button Delete the group.
'New group' button Create new group.

Organization

Departments - Table view

Click 'Departments' link in main dashboard area OR
'Organization tree' => 'Table view' link in sidebar menu OR
click 'Table view' button in 'Tree view' page .


description
name description
'Name' column The Department name.
'parent' column the name of the parent department.
'Edit' button Edit and update department data. You can change a name , change the parent department and add or remove users.
'Delete' button Delete the department.
'New department' button Create new department.
'Tree view' button Taking you to 'tree' view .

Departments - Tree view

This page shows the organization in tree view mode.

'Organization tree' => 'Table view' link in sidebar menu OR
click 'Tree view' button in 'Table view' page.

description
name description
'New department' button Create new department.
'Table view' button Taking you to 'table' view .
'profile' button (inside user node) Display user profile page.
User profile page

Settings

'Settings' link in sidebar menu.

General

'Settings' => 'General'.

General Tab - Application Settings
General Settings - general
Database Tab - Database Settings
General Settings - database
Mail Tab - Mail Settings
General Settings - mail

Dashboard

'Settings' => 'Dashboard'.

Dashboard Settings

Show or hide the link cards in the main dashboard window by selecting Yes or No in the option.

Forms

'Settings' => 'Forms'.

description
name description
Forms Settings:
'paginate' The number of rows to be displayed in the table per page ('Forms' table).
'Default allows edit' When creating a new form, whether the 'Allows Edit' option will be 'yes' or 'no' by default.
User Submissions Settings:
'paginate' The number of rows to be displayed in the table per page ('My Submissions' and 'Submitted data...' tables).
'Enable form details view' Enable or disable submission details view for Form 'Manager'/'Editor' users.
'Enable delete' Enable or disable delete submitted data for non 'Administrator' users.

Users

'Settings' => 'Users'.

description
name description
'paginate' The number of rows to be displayed in the table per page ('Users' table).
'Default groups' When creating a new user, to which groups to attach the user as default.(multi-selections)
'Default user status' Default user status when creating a new user.('active' or 'disabled')
'Allow registration' Allow registration from the login page by the 'Register' button:
users register
'Allow reset password on login page' Allow a password reset request from the login page:
users password reset request link
users password reset request
'Allow remember on login page' Allow and show 'remember me' on login page:
users login remember

Groups/Roles

'Settings' => 'Groups/Roles'.

description
name description
'paginate' The number of rows to be displayed in the table per page ('Groups/Roles' table).

Organization

'Settings' => 'Organization'.

description
name description
Table View Settings:
'paginate' The number of rows to be displayed in the table per page ('Departments' table view).
Tree View Setting:
'direction' The direction of the organization tree.
Options:
  • NORTH - Expands from top to bottom:
    direction north
  • SOUTH - Expands from bottom to top:
    direction south
  • EAST - Expands from right to left:
    direction east
  • WEST - Expands from left to right:
    direction west
'Show user profile link' Show or hide profile link button in user node.
user_profile_link_in_node
'Show user title' Show or hide user title in user node.
user_title_in_node
'Show user email' Show or hide user email in user node.
user_email_in_node
'Show user image' Show or hide user image in user node.
user_image_in_node
'Show user name' Show or hide user name in user node.
user_name_in_node