Reference Documents

Fonts

Fonts are set on styles like this:

{
“font-family-ios”: “Lato-Regular”,
“font-family-android”: “Lato-Regular”
}

Font names are never with spaces in them and they might not be identical for iOS and Android. Inclusion of any new fonts will require a new build for your client. In order to include a font for your client, please provide a licensed OTF version of the font to your account manager.

List of default Android fonts available:

Lato-Black
Lato-BlackItalic
Lato-Bold
Lato-BoldItalic
Lato-Hairline
Lato-HairlineItalic
Lato-Italic
Lato-Light
Lato-LightItalic
Lato-Regular

OpenSans-Bold
OpenSans-BoldItalic
OpenSans-ExtraBold
OpenSans-ExtraBoldItalic
OpenSans-Italic
OpenSans-Light
OpenSans-LightItalic
OpenSans-Regular
OpenSans-Semibold
OpenSans-SemiboldItalic

Didot
PoiretOne-Regular

SF-UI-Display-Black
SF-UI-Display-Bold
SF-UI-Display-Heavy
SF-UI-Display-Light
SF-UI-Display-Medium
SF-UI-Display-Regular
SF-UI-Display-Semibold
SF-UI-Display-Thin
SF-UI-Display-Ultralight
SF-UI-Text-Bold
SF-UI-Text-BoldItalic
SF-UI-Text-Heavy
SF-UI-Text-HeavyItalic
SF-UI-Text-Light
SF-UI-Text-LightItalic
SF-UI-Text-Medium
SF-UI-Text-MediumItalic
SF-UI-Text-Regular
SF-UI-Text-RegularItalic
SF-UI-Text-Semibold
SF-UI-Text-SemiboldItalic
SF-UI-Text-Ultrathin
SF-UI-Text-UltrathinItalic

List of default fonts for iOS:

Copperplate
Copperplate-Light
Copperplate
Copperplate-Bold
Heiti SC
SF UI Text
SFUIText-Medium
SFUIText-Light
SFUIText-Regular
SFUIText-SemiboldItalic
SFUIText-Heavy
SFUIText-UltrathinItalic
SFUIText-Bold
SFUIText-MediumItalic
SFUIText-Italic
SFUIText-BoldItalic
SFUIText-Semibold
SFUIText-LightItalic
SFUIText-HeavyItalic
SFUIText-Ultrathin
Thonburi
Thonburi
Thonburi-Light
Thonburi-Bold
Apple SD Gothic Neo
AppleSDGothicNeo-Thin
AppleSDGothicNeo-Light
AppleSDGothicNeo-Regular
AppleSDGothicNeo-Bold
AppleSDGothicNeo-SemiBold
AppleSDGothicNeo-UltraLight
AppleSDGothicNeo-Medium
Marker Felt
MarkerFelt-Thin
MarkerFelt-Wide
Gill Sans
GillSans-Italic
GillSans-SemiBold
GillSans-UltraBold
GillSans-Light
GillSans-Bold
GillSans
GillSans-SemiBoldItalic
GillSans-BoldItalic
GillSans-LightItalic
Open Sans
OpenSansLight-Italic
OpenSans-Bold
OpenSans-SemiboldItalic
OpenSans-ExtraboldItalic
OpenSans-BoldItalic
OpenSans-Light
OpenSans-Semibold
OpenSans
OpenSans-Italic
OpenSans-Extrabold
Courier New
CourierNewPS-ItalicMT
CourierNewPSMT
CourierNewPS-BoldItalicMT
CourierNewPS-BoldMT
Kohinoor Telugu
KohinoorTelugu-Regular
KohinoorTelugu-Medium
KohinoorTelugu-Light
Heiti TC
Avenir Next Condensed
AvenirNextCondensed-Heavy
AvenirNextCondensed-MediumItalic
AvenirNextCondensed-Regular
AvenirNextCondensed-UltraLightItalic
AvenirNextCondensed-Medium
AvenirNextCondensed-HeavyItalic
AvenirNextCondensed-DemiBoldItalic
AvenirNextCondensed-Bold
AvenirNextCondensed-DemiBold
AvenirNextCondensed-BoldItalic
AvenirNextCondensed-Italic
AvenirNextCondensed-UltraLight
Tamil Sangam MN
TamilSangamMN
TamilSangamMN-Bold
Helvetica Neue
HelveticaNeue-UltraLightItalic
HelveticaNeue-Medium
HelveticaNeue-MediumItalic
HelveticaNeue-UltraLight
HelveticaNeue-Italic
HelveticaNeue-Light
HelveticaNeue-ThinItalic
HelveticaNeue-LightItalic
HelveticaNeue-Bold
HelveticaNeue-Thin
HelveticaNeue-CondensedBlack
HelveticaNeue
HelveticaNeue-CondensedBold
HelveticaNeue-BoldItalic
Gurmukhi MN
GurmukhiMN-Bold
GurmukhiMN
PT Sans
PTSans-Bold
PTSans-Regular
PTSans-BoldItalic
PTSans-Italic
Georgia
Georgia-BoldItalic
Georgia-Italic
Georgia-Bold
Times New Roman
TimesNewRomanPS-ItalicMT
TimesNewRomanPS-BoldItalicMT
TimesNewRomanPS-BoldMT
TimesNewRomanPSMT
Sinhala Sangam MN
SinhalaSangamMN-Bold
SinhalaSangamMN
Arial Rounded MT Bold
ArialRoundedMTBold
Kailasa
Kailasa-Bold
Kailasa
Kohinoor Devanagari
KohinoorDevanagari-Regular
KohinoorDevanagari-Light
KohinoorDevanagari-Semibold
Kohinoor Bangla
KohinoorBangla-Regular
KohinoorBangla-Semibold
KohinoorBangla-Light
Chalkboard SE
ChalkboardSE-Bold
ChalkboardSE-Light
ChalkboardSE-Regular
Apple Color Emoji
AppleColorEmoji
PingFang TC
PingFangTC-Regular
PingFangTC-Thin
PingFangTC-Medium
PingFangTC-Semibold
PingFangTC-Light
PingFangTC-Ultralight
Gujarati Sangam MN
GujaratiSangamMN
GujaratiSangamMN-Bold
Geeza Pro
GeezaPro-Bold
GeezaPro
Damascus
DamascusBold
DamascusLight
DamascusMedium
DamascusSemiBold
Noteworthy
Noteworthy-Bold
Noteworthy-Light
Avenir
Avenir-Oblique
Avenir-HeavyOblique
Avenir-Heavy
Avenir-BlackOblique
Avenir-BookOblique
Avenir-Roman
Avenir-Medium
Avenir-Black
Avenir-Light
Avenir-MediumOblique
Avenir-Book
Avenir-LightOblique
Mishafi
DiwanMishafi
Kannada Sangam MN
KannadaSangamMN-Bold
KannadaSangamMN
Futura
Futura-CondensedExtraBold
Futura-Medium
Futura-Bold
Futura-CondensedMedium
Futura-MediumItalic
Party LET
PartyLetPlain
Academy Engraved LET
AcademyEngravedLetPlain
Arial Hebrew
ArialHebrew-Bold
ArialHebrew-Light
ArialHebrew
Farah
Farah
Arial
Arial-BoldMT
Arial-BoldItalicMT
Arial-ItalicMT
ArialMT
Chalkduster
Chalkduster
Hoefler Text
HoeflerText-Italic
HoeflerText-Black
HoeflerText-Regular
HoeflerText-BlackItalic
Optima
Optima-ExtraBlack
Optima-BoldItalic
Optima-Italic
Optima-Regular
Optima-Bold
Poiret One
PoiretOne-Regular
Palatino
Palatino-Italic
Palatino-Roman
Palatino-BoldItalic
Palatino-Bold
Malayalam Sangam MN
MalayalamSangamMN-Bold
MalayalamSangamMN
Al Nile
AlNile
AlNile-Bold
Lao Sangam MN
LaoSangamMN
Bradley Hand
BradleyHandITCTT-Bold
Hiragino Mincho ProN
HiraMinProN-W3
HiraMinProN-W6
PingFang HK
PingFangHK-Medium
PingFangHK-Thin
PingFangHK-Regular
PingFangHK-Ultralight
PingFangHK-Semibold
PingFangHK-Light
Helvetica
Helvetica-Oblique
Helvetica-BoldOblique
Helvetica
Helvetica-Light
Helvetica-Bold
Helvetica-LightOblique
Courier
Courier-BoldOblique
Courier-Oblique
Courier
Courier-Bold
Cochin
Cochin-Italic
Cochin-Bold
Cochin
Cochin-BoldItalic
Trebuchet MS
TrebuchetMS-Bold
TrebuchetMS-Italic
Trebuchet-BoldItalic
TrebuchetMS
Devanagari Sangam MN
DevanagariSangamMN
DevanagariSangamMN-Bold
Oriya Sangam MN
OriyaSangamMN
OriyaSangamMN-Bold
Snell Roundhand
SnellRoundhand
SnellRoundhand-Bold
SnellRoundhand-Black
Zapf Dingbats
ZapfDingbatsITC
Bodoni 72
BodoniSvtyTwoITCTT-Bold
BodoniSvtyTwoITCTT-BookIta
BodoniSvtyTwoITCTT-Book
Verdana
Verdana-Italic
Verdana
Verdana-Bold
Verdana-BoldItalic
American Typewriter
AmericanTypewriter-CondensedBold
AmericanTypewriter-Condensed
AmericanTypewriter-CondensedLight
AmericanTypewriter
AmericanTypewriter-Bold
AmericanTypewriter-Semibold
AmericanTypewriter-Light
Avenir Next
AvenirNext-Medium
AvenirNext-DemiBoldItalic
AvenirNext-DemiBold
AvenirNext-HeavyItalic
AvenirNext-Regular
AvenirNext-Italic
AvenirNext-MediumItalic
AvenirNext-UltraLightItalic
AvenirNext-BoldItalic
AvenirNext-Heavy
AvenirNext-Bold
AvenirNext-UltraLight
Baskerville
Baskerville-SemiBoldItalic
Baskerville-SemiBold
Baskerville-BoldItalic
Baskerville
Baskerville-Bold
Baskerville-Italic
Khmer Sangam MN
KhmerSangamMN
Didot
Didot-Bold
Didot
Didot-Italic
Lato
Lato-Regular
Lato-Hairline
Lato-HairlineItalic
Lato-LightItalic
Lato-Italic
Lato-Bold
Lato-BoldItalic
Lato-Black
Lato-Light
Lato-BlackItalic
Savoye LET
SavoyeLetPlain
Bodoni Ornaments
BodoniOrnamentsITCTT
Symbol
Symbol
Helvetica Neue LT Std
HelveticaNeueLTStd-LtCn
HelveticaNeueLTStd-Cn
HelveticaNeueLTStd-BdCn
HelveticaNeueLTStd-MdCn
Menlo
Menlo-BoldItalic
Menlo-Bold
Menlo-Italic
Menlo-Regular
SF UI Display
SFUIDisplay-Regular
SFUIDisplay-Bold
SFUIDisplay-Thin
SFUIDisplay-Medium
SFUIDisplay-Heavy
SFUIDisplay-Ultralight
SFUIDisplay-Semibold
SFUIDisplay-Light
SFUIDisplay-Black
Bodoni 72 Smallcaps
BodoniSvtyTwoSCITCTT-Book
Papyrus
Papyrus-Condensed
Papyrus
Hiragino Sans
HiraginoSans-W3
HiraginoSans-W6
PingFang SC
PingFangSC-Medium
PingFangSC-Semibold
PingFangSC-Light
PingFangSC-Ultralight
PingFangSC-Regular
PingFangSC-Thin
Myanmar Sangam MN
MyanmarSangamMN
MyanmarSangamMN-Bold
Zapfino
Zapfino
Telugu Sangam MN
Bodoni 72 Oldstyle
BodoniSvtyTwoOSITCTT-BookIt
BodoniSvtyTwoOSITCTT-Book
BodoniSvtyTwoOSITCTT-Bold
Euphemia UCAS
EuphemiaUCAS
EuphemiaUCAS-Italic
EuphemiaUCAS-Bold
Roboto
Roboto-Regular
Roboto-Black
Roboto-CondensedItalic
Roboto-Light
Roboto-BoldCondensedItalic
Roboto-BoldItalic
Roboto-LightItalic
Roboto-Thin
Roboto-MediumItalic
Roboto-Medium
Roboto-Condensed
Roboto-Bold
Roboto-BlackItalic
Roboto-Italic
Roboto-ThinItalic
Roboto-BoldCondensed

Setting up a new admin module

Note: The following tutorial requires some fairly good understanding over the Appzio’s infrastructure.

With the Appzio Platform you have the ability to create semi-automated, yet fully functional CRUD interface for your application. Please refer to the following test case in order to get a better understanding on how the system works.

The following example would demonstrate how to build a decent admin interface for a multipurpose Golf application. The current application is using several different tables:

  • golf hole ( ae_ext_golf_hole )
  • golf hole user ( ae_ext_golf_hole_user )
  • mobile events ( ae_ext_mobileevents )
  • mobile events participants ( ae_ext_mobileevents_participants )
  • mobile places ( ae_ext_mobileplaces )
  • location log ( ae_location_log )

Here is how this looks like in practice:

 

What’s needed in order achieve this functionality:

1. Create the CRUD generator model

  1. Navigate to the dbadmin/console/config directory found in your core project.
  2. Open the main.php file
  3. Insert your configuration requirements under the controllerMap array
  4. Example code for the Golf admin showed above
    'golf-batch' => [
          'class' => 'schmunk42\giiant\commands\BatchController',
          'interactive' => false,
          'overwrite' => true,
          'enableI18N' => true,
          'crudTidyOutput' => true,
          'crudAccessFilter' => false, // no login required for inner pages
          'tablePrefix' => '',
          'modelMessageCategory' => 'backend',
          'crudMessageCategory' => 'backend',
    
          // Do not edit
          'crudBaseControllerClass' => 'backend\\controllers\\CrudBaseController',
          'modelBaseClass' => 'backend\\models\\CrudBase',
          // Do not edit
    
          // Do configuration here
          'modelNamespace' => 'backend\\modules\\golf\\models',
          'modelQueryNamespace' => 'backend\\modules\\golf\\models\\query',
          'crudControllerNamespace' => 'backend\\modules\\golf\\controllers',
          'crudSearchModelNamespace' => 'backend\\modules\\golf\\search',
          'crudViewPath' => '@backend/modules/golf/views',
          'crudPathPrefix' => '/golf/',
    ]
    
  5.  For your project you would need to replace the strings, marked with {} . Please note that {your_application_name} should be lowercase, without spaces.
    '{your_batch_name}' => [
          'class' => 'schmunk42\giiant\commands\BatchController',
          'interactive' => false,
          'overwrite' => true,
          'enableI18N' => true,
          'crudTidyOutput' => true,
          'crudAccessFilter' => false, // no login required for inner pages
          'tablePrefix' => '',
          'modelMessageCategory' => 'backend',
          'crudMessageCategory' => 'backend',
    
          // Do not edit
          'crudBaseControllerClass' => 'backend\\controllers\\CrudBaseController',
          'modelBaseClass' => 'backend\\models\\CrudBase',
          // Do not edit
    
          // Do configuration here
          'modelNamespace' => 'backend\\modules\\{your_application_name}\\models',
          'modelQueryNamespace' => 'backend\\modules\\{your_application_name}\\models\\query',
          'crudControllerNamespace' => 'backend\\modules\\{your_application_name}\\controllers',
          'crudSearchModelNamespace' => 'backend\\modules\\{your_application_name}\\search',
          'crudViewPath' => '@backend/modules/{your_application_name}/views',
          'crudPathPrefix' => '/{your_application_name}/',
    ]
    

2. Generate your custom admin module

  1. Navigate to your dbadmin directory
  2. Open your console ( or git bash console )
  3. Run the following command
    ./yii {your_batch_name} --tables={table1},{table2},{table3}
  4. The above example was used for the Golf application admin:
    ./yii golf-batch --tables=ae_ext_golf_hole,ae_ext_golf_hole_user,ae_ext_mobileevents,ae_ext_mobileevents_participants,ae_ext_mobileplaces,ae_location_log
  5. Weight for the program to finish up the module creation.

3. Register your module

Once the system generates your new custom module, we need to register it with YII so it could become readable. In order to that:

  1. Navigate to the dbadmin/backend/config directory found in your core project.
  2. Open the main.php file
  3. Add your module as part of the modules array
  4. Example
    'users' => [
    	'class' => 'backend\modules\users\Users',
    ],
    
  5. Once you do this, you could simply access your controllers using the following URL structure: dbadmin/backend/web/{module_name}/

4. Configure your admin

The system allows you to control the Left navigation bar and the User’s filters of your admin using .json config files. The file itself should be named as your application’s Config identifier, available in the App Dashboard ( example: 273380e054fa80a2733cd9bbc6ec3c3e ). All files need to be placed in the following directory: dbadmin/backend/components/configs. If  a configuration file is not defined, the system would be using the default default-config.json configuration.

Below you could find a basic configuration file:

{
  "menus": {
    "usergroups-user": {
      "label": "Users",
      "icon": "user-o",
      "url": [
        "/users/usergroups-user"
      ]
    }
  },
  "filter_vars": {
    "name": {
      "label": "Name",
      "type": "input",
      "match": "loose_match",
      "location": "variables"
    },
    "email": {
      "label": "Email",
      "type": "input",
      "match": "loose_match",
      "location": "variables"
    },
    "gender": {
      "label": "Gender",
      "type": "select",
      "match": "exact_match",
      "values": [
        "",
        "man",
        "woman",
        "male",
        "female"
      ],
      "location": "variables"
    },
    "reg_phase": {
      "label": "Registration Status",
      "type": "select",
      "match": "reg_options",
      "values": [
        "",
        "complete",
        "not complete"
      ],
      "location": "variables"
    },
    "flag": {
      "label": "Reported",
      "type": "select",
      "match": "matching_options",
      "values": [
        "",
        "yes",
        "no"
      ],
      "location": "mobilematching"
    }
  }
}