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