Awesome Enterprise - a shortcode based low code platform for PHP and WordPress.

Overview

Awesome Enterprise Framework

Awesome Enterprise is a shortcode based low code platform for PHP and WordPress.

You can set it up using composer

composer create-project wpoets/awesome-enterprise

For using custom bootsrtap files, you will need to modify the your webserver conf file to do something like below

location /bs/ { try_files $uri $uri/ /index-bootstrap.php?$args; } Above example is for Nginx server.

Contribute

Reporting a bug

Checkout the existing issues for solutions or upcoming fixes.

If you don't find your issue already listed, do create an issue, please include as much detail as you can.

Changelog

3.2.3.1
  • Fixed: In certain situations, error logging was resulting in multiple DB connections sometimes resulting in error 504.
3.2.3
  • Improved: added support to use wordpress user login as virtual session using wp_vession. To use it, make sure you have added following line in your rights module in the app ` [arr.create set='app.rights'] [access mode='logged' title='Login To APP'/]

    [auth a1 method=wp_vsession all_roles='' /] [/arr.create] ` all_roles means, all the roles must be assigned to the user, it takes comma seprated list of roles and capabilites.

  • Fixed: rights module usage was broken.

3.2.2
  • Fixed: when using external connectors default apps settings were not being used
3.2.1
  • Fixed: aw2.module was missing the support for using external connectors.
  • Improved: Added m.number_to_word modifier to allows us to convert numeral to word representation.
3.2
  • Improved: Added support to include the services and apps from external db, folder or cdn using external connectors.
  • Improved: Added support to register external Apps by creating a module 'apps' in core and using following syntax [app.register error-log title="Error Log"] [collection] [config connection=external_code post_type=c-errlog-app /] [modules connection=external_code post_type=m-errlog-app /] [/collection] [/app.register]
  • Imporved: External service can be registerd by specifying the 'connection' attibute in the services tag [services.add form_control2 connection=external_code service_label='Form Control 2 Service' post_type='form_control2' desc='Form Control 2 Service' /]
  • Improved: Added ability to register collections and modules as services, using syntax shown below [collection.register partners_services.application service_label='Samples' post_type='m_samples' desc='Samples Service' /] and [module.register partners_services.application.l1 service_label='Samples' collection.post_type='m_samples' module='loops-sample' desc='Samples Service' /]
  • Improved: Added support to use '.' in service name while registering it, so now you can do something like [services.add partner_services.xyz service_label='Samples' post_type='m_samples' desc='Samples Service' /] and call this service using [partners_services.xyz.check-folder-service /]
3.1.1
  • Improved: Now Awesome Exception errors will get logged only when wp_debug is set to true in the wp-config.php file.
  • Fixed: Bunch of syntax errors
3.1.0
  • Improved: Added support for creating empty array using m.empty_array
  • Fixed: Access to undeclared static property: aw2_library::$cdn
  • Fixed: PHP Notice: Undefined index: posts
  • Fixed: esc_sql was using normal WordPress function, converted into a local function so that it can work in non-WP scenario
  • Fixed: For Vsession if user_id is not available then email is set as ID.
3.0.9.8
  • Fixed: "Login Required" setting was not having any impact
  • Fixed: "Trying to access array offset on value of type null" error in certain cases.
3.0.9.7
  • Improved: added suport for capturing the apps in use
  • Fixed: added support for returning default value when aw2.get value is null.
3.0.9.6
  • Improved: added suport for capturing the modules and post_type in use. To enable this you will need to set followin gin wp-config.php, and you will need the latest version for Debug Handler

    define( 'REDIS_DATABASE_DEBUG_CACHE', '12' ); define( 'SET_DEBUG_CACHE', true );

3.0.9.5
3.0.9.4
  • Fixed: .exists in some situation used to return blank string, instead of boolean false.
3.0.9.3
  • Fixed: removed the depracated money_format function and replaced it with NumberFormatter class, intl pecl libaray is now required.
3.0.9.2
  • Improved: added suport for fetching stream usage data from Redis using redis_db.stream_fetch_usage eg. [redis_db.stream_fetch_usage stream_id="c_apply_layout" o.set=template.stream_data /]
  • Fixed: rhs data type was wrongly calcuted while logging the data mismatch issue.
3.0.9
  • Fixed: The tracking of modules & apps being used is now kept in Redis streams, to ensure speed does not become an issue. It can be enabled by using defining REDIS_LOGGING_DB in wp-config.php file.
  • Fixed: Removed Service logging separator.
  • Fixed: Added support for WP Function esc_sql() in for non wp usage.
3.0.8
  • Improved: Moved the way less variables are registered to 'less-variables' module in the core.
  • Fixed: get_option function moved to aw2_library so that we can access options from WordPress when using non WordPress flow.
3.0.7
  • Improved: Added support for logging usage of all post types and modules. This feature is disabled by default and can be enabled by adding define("AWESOME_LOG_DEBUG", "yes") in the wp_config of the specific site
3.0.6
  • Fixed: quote_comma was fixed
  • Fixed: added a check so that if layout module does not exists it is handled by page.php
  • Fixed: Notice - Trying to access array offset of bool.
3.0.5
  • Fixed: multiple php notices & warnings
  • Fixed: in certain cases error login was creating it's own errors
  • Improved: added support to capture the position of shortcode while executing content type
  • Fixed: Notice - Trying to access array offset on the value of type bool
  • Fixed: Notice - Undefined index: REQUEST_METHOD
  • Fixed: Trying to get property 'request' of non-object
  • Fixed: If the object is passed for comparison, data type mismatch failed.
3.0.4
  • Improved: Added support to read Redis stream data.
  • Improved: Added support to trap all errors and exception in a separate database table.
  • Improved: File manipulation and added support to parse SQL error log.
  • Fixed: Issues with settings not loading properly
  • Fixed: m modifier was calling wrong the_content_filter
  • Fixed: Changed the table structure for storing the evaluated conditional values
  • Fixed: $slug was not defined in 404 function.
3.0.3
  • Fixed: aw2.get was giving wrong data when we called [aw2.get post.post_title] in single-content-layout
  • Improved: added support to log evaluated conditional values as well for php 7
  • Improved: Added depreciation notice for aw2.get shortcode which should now be using wp.get
  • Removed WP specific function to it's own utility class.
  • Fixed: quote comma modifier fixed for empty return
3.0.2
  • Added missing Mobile Detect Library
3.0.1
  • Added missing util.php
  • Added Simple-MySQLi Library
3.0.0
  • Initial release

We're Hiring!

Join us at WPoets, We specialize in designing, building and maintaining complex enterprise websites and portals in WordPress.

You might also like...
This is code to create a new user as admin use for Wordpress FrontEnd Developer to prevent any scaming from clients

theme-setup This is code to create a new user as admin use for Wordpress FrontEnd Developer to prevent any scaming from clients How to use Just copy c

A custom WordPress nav walker class to fully implement the Twitter Bootstrap 4.0+ navigation style (v3-branch available for Bootstrap 3) in a custom theme using the WordPress built in menu manager.

WP Bootstrap Navwalker This code in the main repo branch is undergoing a big shakeup to bring it in line with recent standards and to merge and test t

The Pronamic WordPress Basecone plugin allows you to connect your WordPress installation to Basecone.

Pronamic WordPress Basecone The Pronamic WordPress Basecone plugin allows you to connect your WordPress installation to Basecone. Table of contents Au

Twenty Twenty-Two, the default WordPress theme that will launch with WordPress 5.9.
Twenty Twenty-Two, the default WordPress theme that will launch with WordPress 5.9.

Twenty Twenty-Two Welcome to the development repository for the default theme that will launch with WordPress 5.9. About Twenty Twenty-Two is designed

WordPress plugin that lets you use Discourse as the community engine for a WordPress blog

WP Discourse Note: the wp-discourse plugin requires = PHP-5.4.0. The WP Discourse plugin acts as an interface between your WordPress site and your Di

WordPress & TypeScript. Simple starter template for WordPress projects

WordPress & TypeScript. Simple starter template for WordPress projects that want to use TypeScript in combination with @wordpress/scripts

A WordPress package for updating custom plugins and themes based on an API response from a custom update server.

WordPress Update Handler A WordPress package for updating custom plugins and themes based on an JSON REST API response from a custom update server. Ch

WordPress Framework based on parent theme

Cherry Framework The most delicious WordPress framework Fully responsive design, easy install, steady updates, great number of shortcodes and widgets,

Classy is a framework for building WordPress themes, based on Blade template engine
Classy is a framework for building WordPress themes, based on Blade template engine

Classy is a framework for building WordPress themes, based on Blade template engine. It's fast with beautiful architecture that allows you to write le

Comments
  • Added support for usage logging

    Added support for usage logging

    Added support for logging usage of all post types and modules.

    This feature is disabled by default and can be enabled by adding AWESOME_LOG_DEBUG = yes in the wp_config of the specific site.

    opened by ayush20 1
  • util.constant support added

    util.constant support added

    Use: [templates.add main] [util.constant constant_key='DB_PASSWORD' o.set=template.constant_keys/] [util.constant constant_key='all' o.set=template.constants/] [template.dump/] [/templates.add]

    opened by gopi-8080 0
Releases(3.5)
  • 3.5(Dec 29, 2022)

    1. [Improved] arr.create now supports two new attributes path and raw_content making it even easier to create arrays
    2. [Improved] Introduced 2 new shortcodes to enable additional DB connections as needed by the system dbserver.connect & dbconn.register. Also, mysqli.* shortcode now uses this new connection and keeps the WORDPRESS default connection and kept in primary_db
    3. [Improved] Added support for o.arr_push to push a new item to an existing array, it uses array_push PHP function
    4. [Improved] Introduced the support for util.constant. It returns an associative array with the names of all the constants and their values [uil.constant constant_key='' /]
    5. [Improved] Added support for template types while adding new templates. Adding template_type='aw2_arr' will allow us to define templates that return arrays.
    6. [Improved] Added support for _atts_arr to service.run shortcode so that we can pass to services the attributes at a template level.
    7. [Fixed] Removed notices in case obj_id or obj_type is not defined.
    8. [Fixed] Issue with converting a post_type to service.
    9. [Fixed] Issue with .esc_sql - it was using WordPress function, converted it to an awesome function. 10.[Fixed] warning issue "failed to open stream" for external files.
    10. [Fixed] Issue while redirecting query strings was not respected.

    Example of how to use dbconn

    First, need to define the constants in wp-config.php file

    define('DB_CONNECTIONS',
    	array(
    		'primary_db'=>array(
    			'host'=>DB_HOST,
    			'user'=>DB_USER,
    			'password'=>DB_PASSWORD
    		),
    		'external_db'=>array(
    			'host'=>'localhost',
    			'user'=>'dcwo',
    			'password'=>'CB1ey'
    		)
    	))
    

    then in init module of awesome core you can register them using the following shortcodes

    [dbserver.connect db_connection='external_db' o.set=settings.connections.secondary_server /]
    [dbconn.register dcwp db_name=dc_wo conn_path=settings.connections.secondary_server /]
    

    Afterward, you will have access "dcwp" service similar to mysqli service to run queries directly to the database specified above.

    Using Template Type Here is a quick sample of using template_type

    [templates.add config template_type='aw2_arr']
      [steps]
    		[step new type=pre_event]
    			[service]analytics.pre_form_load[/service]
          [data]
            [event new category="flow" action="default_cmr::started" label="{@form_data.app_id}" /]
          [/data]
    		[/step]
     	
      [/steps]
      [submit_steps_service _value='lt.basic-details-flow2.post_submit' /]
      [response_steps_service _value='lt.basic-details-flow2.response_config' /]
    [/templates.add]
    

    When the above template is called, it will return the steps array.

    Example of new attributes of arr.create [arr.create path='@output.item.content' o.set='template.field_output' /]

    Source code(tar.gz)
    Source code(zip)
  • 3.4.4(Sep 7, 2022)

    1. [Improved] Added support for Redis hash keys in session cache using 'session_cache.del' and 'session_cache.hlen'
    2. [Improved] Added support for m.sort for sorting arrays, it supports 'asort','arsort','krsort','ksort','rsort','sort','array_multisort'.
    3. [Improved] Added support for template.anon.run so that we can have anonymous code behave like a template.
    4. [Fixed] Removed 404 header status in case the ticket is not found.
    Source code(tar.gz)
    Source code(zip)
  • 3.4.3(Sep 5, 2022)

    1. [Improved]: Added support for redis hash keys in session cache using 'session_cache.hset' and 'session_cache.hget'
    2. [Improved]: Added t2 controller that allows to run services and better handling of expired tickets.
    3. [Improved]: removed a few warnings from session_tickets of PHP 8.1.
    Source code(tar.gz)
    Source code(zip)
  • 3.4.2(Aug 27, 2022)

    1. [Improved] Errors can now be viewed directly after switching on debugging mode
    2. [Improved] SQL queries now carry more info for debugging when viewed in SQL process list
    3. [Improved] Removed commented code.
    Source code(tar.gz)
    Source code(zip)
  • 3.4.1(Aug 23, 2022)

  • 3.4(Aug 21, 2022)

    1. [Improved] Added support for live debugging using "debugger app" all major activities now support the debugging data.
    2. [Improved] Compatibility with PHP 7.4 and 8.1.
    3. [Improved] Added code.dump to allow the ability to output the code shortcodes when needed.
    4. [Improved] Added js.run_on_activity to wrap javascript code to execute on user interaction with the browser.
    5. [Improved] Changed the way we can enable/disable or delete the code cache.
    6. [Fixed] In the wp_conn the module name is converted to lowercase before finding it in the post table.
    7. [Fixed] Fixes in URL connector.
    Source code(tar.gz)
    Source code(zip)
  • 3.3(Jul 8, 2022)

    1. [Improved] Added support for checking for empty and Zero using not_blank and is_blank conditionals.
    2. [Fixed] Showing http 404 headers for missing ticket urls from earlier 200.
    3. [Improved] Added ability to check if a module exists within a collection using module_exists.
    4. [Fixed] Made changes to reduce the notices when using PHP 8.1.
    Source code(tar.gz)
    Source code(zip)
  • 3.2.3.2(Apr 14, 2022)

  • 3.2.3.1(Apr 6, 2022)

    1. [Improved]: Added support to use WordPress user login as virtual session using wp_vession. To use it, make sure you have added the following line in your rights module in the app ` [arr.create set='app.rights'] [access mode='logged' title='Login To APP'/]

    [auth a1 method=wp_vsession all_roles='' /] [/arr.create] ` all_roles means, all the roles must be assigned to the user, it takes comma seprated list of roles and capabilites.

    1. [Fixed]: rights module usage was broken.
    Source code(tar.gz)
    Source code(zip)
  • 3.2.2b(Feb 14, 2022)

  • 3.2.1.1(Jan 22, 2022)

    This is bug fix release

    1. [Improved] Added m.number_to_word modifier to allows us to convert numeral to word representation
    2. [Fix] aw2.module was missing the support for using external connectors
    Source code(tar.gz)
    Source code(zip)
  • 3.2.1(Dec 17, 2021)

    1. [Improved] Added support to include the services and apps from external DB, folder, or CDN using external connectors.
    2. [Improved] Added support to register external Apps by creating a module 'apps' in core and using following syntax [app.register error-log title="Error Log"] [collection] [config connection=external_code post_type=c-errlog-app /] [modules connection=external_code post_type=m-errlog-app /] [/collection] [/app.register]
    3. [Improved] External service can be registerd by specifying the 'connection' attibute in in the services tag [services.add form_control2 connection=external_code service_label='Form Control 2 Service' post_type='form_control2' desc='Form Control 2 Service' /]
    4. [Improved] Added ability to register collections and modules as services, using sytax shown below [collection.register partners_services.application service_label='Samples' post_type='m_samples' desc='Samples Service' /] and [module.register partners_services.application.l1 service_label='Samples' collection.post_type='m_samples' module='loops-sample' desc='Samples Service' /]
    5. [Improved] Added support to use '.' in service name while registering it, so now you can do something like [services.add partner_services.xyz service_label='Samples' post_type='m_samples' desc='Samples Service' /] and call this service using [partners_services.xyz.check-folder-service /]
    6. [Fixed] Bunch of undefined index: code, hash, title, and module were coming in case a module did not exist.
    Source code(tar.gz)
    Source code(zip)
  • 3.1.1.1(Nov 2, 2021)

    1. [Fixed] bunch of syntax errors
    2. [Improved] Now Awesome Exception errors will get logged only when wp_debug is set to true in the wp-config.php file.
    Source code(tar.gz)
    Source code(zip)
  • 3.1.0(Sep 22, 2021)

    1. [Imporved] Added support for creating empty array using m.empty_array
    2. [Fixed] Access to undeclared static property: aw2_library::$cdn
    3. [Fixed] PHP Notice: Undefined index: posts
    4. [Fixed] esc_sql was using normal WordPress function, converted into a local function so that it can work in non-WP scenario
    5. [Fixed] For Vsession if user_id is not available then email is set as ID.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.9.9(Mar 26, 2021)

    1. [Fixed] The tracking of modules & apps being used is now kept in Redis streams, to ensure speed does not become an issue. It can be enabled by using defining REDIS_LOGGING_DB in the wp-config.php file.
    2. [Fixed] Removed Service logging separator.
    3. [Fixed] Added support for WP Function esc_sql() in for non wp usage.
    4. [Imporved] Added suport for fetching stream usage data from Redis using redis_db.stream_fetch_usage eg. [redis_db.stream_fetch_usage stream_id="c_apply_layout" o.set=template.stream_data /]
    5. [Fixed] rhs data type was wrongly calculated while logging the data mismatch issue.
    6. [Fixed] Removed deprecated money_format function, now requires intl PECL lib
    7. [Fixed] .exists in some situations used to return a blank string, instead of boolean false.
    8. [Improved] Added support to capture the modules, post type and apps in use. You will need to define 'define( 'REDIS_DATABASE_DEBUG_CACHE', '12' ); define( 'SET_DEBUG_CACHE', true );' as well use the version 1.0.2+ of debug handler.
    9. [Fixed] Added support for returning default value when aw2.get value is null.
    10. [Fixed] "Login Required" setting was not having any impact
    11. [Fixed] "Trying to access array offset on value of type null" error in certain cases.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.8.1(Mar 23, 2021)

    1. [Improved] Moved the way less variables are registered to 'less-variables' module in the core.
    2. [Improved] The tracking of modules & apps being used is now kept in Redis streams, to ensure speed does not become an issue. It can be enabled by using defining REDIS_LOGGING_DB in wp-config.php file.
    3. [Fix] get_option function moved to aw2_library so that we can access options from WordPress when using non WordPress flow.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.7(Mar 4, 2021)

  • 3.0.6.3(Feb 16, 2021)

    1. [Fixed] quote_comma implementation was buggy
    2. [Fixed] disabled layout, use page.php for rendering.
    3. [Fixed] notice - Trying to access array offset of bool.
    4. [Imporved] closing DB connection explicitly, instead of waiting for PHP to close it.
    5. [Fixed] moved the debug info to mysqli controller from simple_mysqli class
    Source code(tar.gz)
    Source code(zip)
  • 3.0.5.3(Jan 22, 2021)

    1. [Fixed] PHP Notices and Warnings
    2. [Fixed] In certain cases error logging itself was creating errors :(
    3. [Imporved] Added support for capturing positions while executing content types.
    4. [Fixed] Notice - Trying to access array offset on the value of type bool
    5. [Fixed] Notice - Undefined index: REQUEST_METHOD
    6. [Fixed] Trying to get property 'request' of non-object
    7. [Fixed] If the object is passed for comparison, data type mismatch failed.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.4.3(Jan 18, 2021)

    1. [Improved] Added support to read Redis stream data.
    2. [Improved] Added support to trap all errors and exceptions in a separate database table.
    3. [Improved] File manipulation and added support to parse SQL error log.
    4. [Fixed] Issues with settings not loading properly
    5. [Fixed] m modifier was calling wrong the_content_filter
    6. [Fixed] Changed the table structure for storing the evaluated conditional values
    7. [Fixed] $slug was not defined in the 404 function.
    8. [Fixed] syntax error in file_manipulation
    Source code(tar.gz)
    Source code(zip)
  • 3.0.3(Dec 29, 2020)

    1. [Fixed] Quote comma was not working
    2. [new] Added ability to log the wrong usage of "If"
    3. [new] Started logging deprecated function calls
    4. [new] Introducing sc_exec global environment variable for better debugging. It gives the module, template, and character number of the shortcode while executing it.
    5. [Improved] Renamed library shortcode to package to better indicated the usage pattern of the external code.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.2(Nov 23, 2020)

  • 3.0.1.5(Nov 17, 2020)

  • 3.0.1(Nov 17, 2020)

    This is the first release of Awesome Enterprise that supports the ability to run the awesome code outside of WordPress using custom bootstrap files, giving you the ability to choose the environment.

    You will find the sample index_bootstrap.php file in sample-index folder.

    If you are using Nginx you will need to add the following in your conf file to allow the custom bootstrap file to work location /bs/ { try_files $uri $uri/ /index-bootstrap.php?$args; }

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Nov 13, 2020)

Owner
WPoets - Your WordPress Experts
We are HELPING our customers DO MORE with their websites.
WPoets - Your WordPress Experts
A curated list of Awesome WordPress Theme, Plugins and Framework development Resources and WordPress Communities.

Awesome WordPress A curated list of Awesome WordPress Theme, Plugins and Framework development Resources and WordPress Communities. Inspired by bayand

Dropndot Limited 91 Dec 26, 2022
The PHP Shortcode Hunter, nested shortcodes and custom shortcodes

shortcode-hunter The Shortcode Hunter - PHP shortcode class, nested shortcodes and custom shortcodes Installation composer require enesakarsu/shortcod

Enes Akarsu 1 Nov 20, 2021
Automattic 10.7k Jan 2, 2023
A simple platform information plugin for WordPress. Shows you environment variables, PHP settings and more.

A simple platform information plugin for WordPress. Shows you environment variables, PHP settings and more.

New To Vaux 2 Sep 7, 2022
A WordPress eCommerce platform for developers

Hubaga A WordPress eCommerce plugin for developers. It is lightweight and simple to use. Looking for a premium for wordPress search plugin? Check out

null 23 Jul 24, 2021
Generates a list of WordPress actions and filters from code and outputs them as JSON

wp-hooks-generator Generates a JSON representation of the WordPress actions and filters in your code. Can be used with WordPress plugins, themes, and

John Blackbourn 62 Nov 18, 2022
A WordPress plugin to suspend WordPress sites automagically. Simple and lightweight, no annoying ads and fancy settings.

Suspend WP A WordPress plugin to suspend WordPress sites automagically. Simple and lightweight, no annoying ads and fancy settings. ?? Demo (coming so

Waren Gonzaga 3 Nov 15, 2021
Create WordPress themes with beautiful OOP code and the Twig Template Engine

By Jared Novack (@jarednova), Lukas Gächter (@lgaechter), Pascal Knecht (@pascalknecht), Maciej Palmowski (@palmiak_fp), Coby Tamayo (@cobytamayo), Up

Timber 5.2k Jan 5, 2023
Simple WordPress plugin to learn how to understand WordPress Crons and the Action Scheduler library.

Simple WordPress plugin to learn how to understand WordPress Crons and the Action Scheduler library. Import Jamendo playlists with tracks in WordPress posts.

Pierre Saikali 3 Dec 7, 2022
A PHP client for Wordpress websites that closely implement the XML-RPC WordPress API

Wordpress XML-RPC PHP Client A PHP client for Wordpress websites that closely implement the XML-RPC WordPress API Created by Hieu Le MIT licensed. Cur

Hieu Le 112 Nov 10, 2022