© 2006-2024 Radicore Software Ltd
Latest news
RADICORE v2.30.0 released14 November 2024
RADICORE v2.29.0 released27 July 2024
RADICORE v2.28.1 patch released11 May 2024
Knowledge Base
Evolution of the RADICORE framework01 June 2022
How Radicore prevents SQL Injection attacks17 July 2021
How Radicore prevents CSRF attacks08 October 2017
Articles
Developer Awards 2024 - Best Open Source RAD toolkit11 November 2024
Global Awards Winner 2023/2428 July 2024
Support for PHP4 dropped, support for PHP7 started01 October 2016
Other Stuff
The true purpose of Dependency Injection28 November 2024
DTOs are Diabolical24 November 2024
RE: Back to Basics - Three or Four OOP Pillars?20 November 2024
Videos
Global Awards Winner 2023/2428 July 2024
What are Transaction Patterns and how are they used in the RADICORE framework?16 May 2024
An overview of the Role Based Access Control (RBAC) system within RADICORE07 December 2022
RADICORE - Rapid Application Development Toolkit
RADICORE is an open source Rapid Application Development Toolkit for building Administrative Web Applications, sometimes known as Enterprise Applications, which are platform independent, browser independent and database independent. It is not a general purpose framework for building any type of application, it is a single purpose framework for building a single type of application.
RADICORE is not a library which can be installed using Composer, it is a fully-fledged application which allows you to create and then run your application under its menu and security system. It is actually a semi-complete application where you can use the framework's subsystems to create and then run your own application subsystem as add-ons. You can add as few or as many subsystems as you see fit. Each subsystem has its own database, its own set of files, its own subdirectory in the file system to hold those files, and its own entries in the menu database.
It is based on a combination of the 3 Tier Architecture and MVC Design Pattern and comes with pre-built and reusable components in the data access and presentation layers. It also makes extensive use of the Template Method Pattern.
- The Data Access Object comes pre-built and will generate all SQL queries at runtime.
- The View component is managed by a pre-built collection of reusable XSL stylesheets which generate all HTML output.
- The Controller component is managed by a pre-built collection of reusable scripts which handle all communication with the user and any Model components.
- The Model component is initially created from the Data Dictionary, but then can be modified to include any business rules. Code inherited from a superclass handles all communication with the Data Access Object.
The reusable View and Controller components come in matched pairs in order to implement each of the Transaction Patterns. The RADICORE framework thus removes the need for developers to spend valuable time in writing repetitive SQL and HTML code, which means that they can devote 95% of their time on the most critical part of any system - the business rules.
The RADICORE framework also contains a collection of pre-built components which are runnable 'out of the box':
- A Data Dictionary into which you can import your database schema(s). This is used for the following:
- To generate the initial class file for each Model component.
- To generate the table structure file which is used for all primary data validation which is performed automatically by the framework.
- To generate transactions by pressing a button instead of writing any code.
- A Dynamic Menu system which takes the drudgery out of coding a hierarchy of menu screens. Menu screens are filtered at runtime to remove all tasks where the relevant permissions have not been granted.
- A Role Based Access Control system which allows access control lists to be defined and customised for any number of users and user groups.
- An Audit Logging system which will record all database changes in a central AUDIT database without the need for database triggers, and allows this data to be viewed with a standard set of online screens.
- An activity-based Workflow system which will allow the execution of any transaction to automatically set in motion a chain of other transactions.
- Internationalisation facilities which will allow screen labels and error messages to be supplied in different languages without having to modify any core code.
- An integrated HELP facility can provide help text on any topic in multiple languages.
- A set of prototype applications which provide working code samples which cover many situations.