@include('admin.config.manual.manualsidebar')

Modules Management

What's Module ? A module is a part of a app . A module contain one or several routines that we call CRUDSD ( Create Read Update Delete Search and Download ).

By default at the first time you create module , system will generate thoose routines . Except if your database table doesnt contain primary key , it only create routins View , Search and Download

the are 2 different module : CORE and Installed Module

Core Module

This is built in modules , come with default distribution . Please Do not updates thooss module , because thoose module already have customizion , but if you know how it's work , then it's up to you . with your own risk ;)

Custom ( Installed ) Module

This is your module list , every time you create module , it will shown up at installed tab . Let's create your first module

Step By step creating new module

Before you create module , you have to create table for module you will buid . this app doest have feature to create table database , so you need phpmyadmin or other mysql tools for creating table

Control Panel >> Code Builder >> Create

STEP 1
Parameter Description Example
Module Name / Title Used for module title Inventory , HRD System
Class Controller Used for module class controller
( must be unix , no withspace , lowercase )
customers , album , products
Table Master Database table master used for basic CRUD -- select from current database -
Module Note Short description module View all data
SQL statement Module SQL statment Auto , Manual

Example creating module

  • Module Name / Title : Customers
  • Class Controller : customers.
  • Table Master : customers.
  • Module Note : View All Customer Data
  • Select you SQL statement: Check Auto SQL
  • Click Button " Create Module "

If you not getting any error , its should be redirecting you to module manager page

STEP 2

From list installed module , click button gear dropdown and click view module . You should see you module grid with complete function !.
YOU'RE AWESOME ! creating module in one step less than a minutes

Edit Modules

Control Panel >> Code Builder

From list installed module , click button gear dropdown and click Edit module. Then you should able to see edit form and following tabs

INFO , SQL , TABLE , FORM , MASTER DETAIL ,PERMISSION , REBUILD

Module Info

This is information of your module , you only able to change module title and module note

Module SQL

At the first time you create module , system will create automatic single query table

Parameter Description Example
SQL SELECT & JOIN Begining with SELECT , SELECT customer.* FROM customer
SQL WHERE Begining with WHERE , WHERE customer.CustomerId IS NOT NULL
SQL GROUP Begining with GROUP BY,  

DO Not Put ORDER BY Inisid query editor , ORDER BY and LIMIT automaticaly insert by system

Why SXIMO BUILDER Creating automatic " WHERE employee.EmployeeId IS NOT NULL " ? this is for prevent error when users submit search form

Every fields included on query select , will be displaying at grid table including fields from join table . so make sure every field you want to show on table grid and view detail , must be on your query statement

Everytime you made changes from SQL Editor , you have to rebuild models files

Module Table

You can control Field to show ( table grid ) , view detail ( view detail page ) , sortable ( allow users to sort order by field ) , download ( include field to be downloadable )

Displaying row as image

system does not store images on database , but the images are stored as a file at some directory . So make sure you create directory at uploads/your_directory_name . from image columns checkbox, checked form and put directory path uploads/your_directory_name

Display As ( Aliasing )

If you're not familiar with mysql syntax or getting lazzy to write query , then this feature is your solution Example , you have field user_id on your table and you want to connect with tb_users and displaying username or firstname on your grid and view detail

Module Form

At this moment , system only able to work with , Hiddem Form , Text Form , Date Form , Date Time , Select , Checkbox , Radio

Input Type

Parameter Description Format
Input Text Used for collect short text String , number
Input Date Used for collecting date Y-m-d
Input Date Time Used for collecting date Y-m-d H:i:s
Textarea Type
Parameter Description Format Table
Textarea Used for collecting long text
native textarea form
mediumtext , text , longtext
Textarea Used for collecting long text
Interface , WysWyg Editor
mediumtext , text , longtext

Select

Use select type for collecting values from other table ( lookup table )

Parent Filter

This feature used for filtering select .
example , you have to field table countryid and stateid . Both fields are pulling data from table counties and state. The scenarion is when you select country , all value from states limited only for states belong to selected countryID.

What you need to do is check parent filter checkbox at states select form , and type countryID on lookup filter key

Radio button
Parameter Description Format Table
Radio Used for collection single value from option value
All values option are define by your self
Enum, string
Checkbox
Parameter Description Format Table
Checkbox Used for collection multiple value from option values
All values option are define by your self
Set, string
Upload
Parameter Description Format Table
Image Used for collection image string
File Used for collection file string

System does not store images/files on database , but the images are stored as a file at some directory . So make sure you create directory at uploads/your_directory_name

Module Permission

Every CRUD module will have a couples function such view grid , add , edit etc . you can control wich group are able to access thoose function

Limit users only view they own record

Please note , this feature required entry_by (int 6) field table , if you alredy having this field on your table , then just uncheck global column

Module Rebuild

By default at the first time you create module , system will generate files such controller , model , index, form and view . Ofcourse when application in development mode , there're possibility you made some changes from table , form grid etc. We try to cover this possibility by adding rebuild modules features

Database table syncronize

Next , when you have current module with table A then you alter table ,( insert or delete fields from current database ) , this will make module error

Go to module ( Code Builder ) edit module -> SQL

Re save your SQL query , system will collect new information schema from table

Rebuild , model , form and view

Rebuild Form

After you made changes for setting/design you have to rebuild form files

Rebuild View Detail

After you made changes at table settting for view detail you have to rebuild view files

Rebuild Grid Table and controller

Little posibility to rebuild controller and index table , since we design controller and index table works automatic reading realtime module configuration . so when you need to rebuild both controller and index table ? Usualy when you updrade version