Through my experience on facing requirements while building data centric applications for clients, i found out that there are common used constructs and need for utilities. So started gathering the tools and libraries i had built around, created new modules, classes and components and modified them so they could work together. Finally something came out of this; a development framework that could support almost all the base functionality i needed and the consistency i wanted my products to have.
My framework is a software development framework, fully object oriented and data centric, for the Delphi development environment that targets the Win32/64 platform and SQL RDBMS. It is designed for rapid application development and focuses on efficiency, usability and consistent functionality of the final product.
User experience, with intensive all day work on data entry and query forms, is among the targets of this development framework, which provides a well balanced UI that helps user productivity. The framework provides forms and data modules with common functionality for almost every kind of data, utility dialogs for every day user work and common behavior of UI and controls.
Combines together many tools, functions, components and user enhancements in an environment that most of its functionality is almost out-of-the-box, helping the developer to rapidly create the base of consistent data centric applications and then focus to the specific requirements of the user i.e. business rules and further UI enhancements.
The main technical features consist of an MDI project template, base form/report classes and data module classes, all with integrated functionality that can be customized via inheritance, component events, virtual methods and class functions. It also contains application and user configuration modules and a lot of tools, dialogs & components that act at runtime in conjunction with all main classes of the framework.
I spent many hours (days, months…) working on this in parallel with other projects and I still make enhancement and adding new features, but finally seems like it worth the investment!
So stay tuned and have very good year 2012 full of happiness and joy.
Following is a small non-exhaustive descriptive list of the framework’s main features:
User Authentication
User authentication can be set by groups of users and authorities can be granted or denied for form or application defined procedure level.Data features
SupportsApplication Desktop - MDI Environment
The application desktop is an MDI controller form class with user customizable main menu and sidebar.Each user form works inside and controlled by the main application form. User can activate, deactivate, hide, minimize, arrange and switch between client forms inside the application desktop.
Common User Access
The framework adopts thisLookup & Select
Wherever a reference to a field is required user can activate a helper window that let him search and select a value for this field, i.e. when a customer must be selected for a purchase order the user is presented with a list of available customers in a fully customized data grid. Features of filtering grid data and quick locate column value are available also here as almost in all other data grids.Data Grids
Data grids are extensively used in many places of the application framework. Data entry forms, query results, lookup&select are some of them. Data grids can be customized in many ways such as visibility of columns, column grouping and summaries. They support common actions like filtering, locate column value, print as is and can be exported to html, csv, xml or text.Data Filtering
Filtering is a must have for every serious data centric application. When dealing with large amounts data filtering is an essential way to isolate and easily locate those of interest. The framework has extensive support for filtering with multiple different filters per dataset which can be application and/or user defined.Dynamic data panels
Dynamic data panels can present data from a dataset record via dynamically created and/or runtime designed controls. Design specifications of the data panels can be saved for runtime reusability. As long as data logic is separated from the data presentation, a single form class which features dynamic control creation is enough and gives consistent UI experience.Context Sensitive Popup Menu
Popup menu is a feature widely used in Windows and the framework utilizes this feature with context sensitive popup menu on its forms and user dialogs. It helps user to select from available actions on a form by just right clicking on it.Form Menu
Each form has its own menu with all the available functions that are defined by the application. The menu supports floating and dockable bars and is fully customizable.Edit record template
Base form class that supports editing of a single database record in a data panel which can be dynamic. Can also be used as generic record editing form.Browse/Edit file template
Browse base form class that supports browsing database tables, queries and dataset results in a data grid. Features filtering and all data grid functionality except editing. Can also be used as generic dataset browsing form.Edit base form class much like Browse file template that supports editing multiple database records in a data grid. Features data filtering, and all data grid standard functionality. Can also be used as generic dataset editing form.
No comments:
Post a Comment