Introduction

DVelum: PHP / ExtJS4 based Web-development Platform

Let me introduce a project, which will enable you to have a fresh look at the process of web interfaces development. This is not another cms or framework, but a professional web development platform and a data management system for creating high performance applications.
We have tried to take a new, creative approach - nothing extraordinary, just the very simple features the popular cms and frameworks so desperately lack.



DVelum basic concepts have been developed since 2008 to become parts of various projects and get eventually integrated in 2011 to form DVelum.


The project creation was predetermined by accumulating a number of solutions, which we failed to find within other frameworks. These tried-and true solutions have considerably facilitated the whole process of project development and proved to be worth sharing to the world.

Distributed under the GNU General Public Licence (GNU GPL v3).


Who might be interested in the platform?

Anyone involved in PHP web development, including the programmers working on various systems with web interfaces, like regular web-sites or CRM and ERP.
This is a platform for those who are on friendly terms with OOP, programming patterns, MVC, ORM and ExtJs4, as well as for technical leaders and senior developers.
Using DVelum will not only help to possibly avoid junior developers’ mistakes, but will also make the process of code review less troublesome, especially when it comes to reviewing ExtJs source.
It also helps to automate routine development tasks. You might want to involve less experienced or less qualified developers into a complex project development and let them deal with the components of the graphical interface.

The tasks the platform performs:

  • accelerating project development;
  • visualizing management and development tools in a close connection with the project structure;
  • facilitating the routine development tasks;
  • automating interfaces development;
  • publishing project updates, building update packages;
  • automated report builder;
  • data version control;
  • monitoring the source code of the production-system to keep it from third-party intrusions;
  • increasing performance of the platforms being developed.

For more details on the system description and its technical functionalities, please review the Documentation section of the official website or submit your question in the comments below.

Main Features

IDE

An integrated mini IDE makes the backbone of the system and allows to build application interfaces in a graphical mode. The deep integration into the system is what makes it really beneficial, as it enables you to quickly and easily operate the system components, deal with ORM and the source code, or extend the functionality set with your own components.



ORM

The platform is using its own lightweight ORM, besides there is a visual interface for managing data structures, which considerably facilitates the development process. The ORM can compare and synchronize database structure, simplifying database deployment. We also have multilanguage support for objects and an interactive diagram of object relations.

You’d probably ask why we have not used a ready-to-go ORM, like Doctrine. The thing is that we care  a lot about the simplicity and compatibility. We needed certain features to fully integrate the ORM with the in-built IDE. To boost the frontend performance, we have referred data queries to models, thus, saving data through ORM.





Version Control

Document version control (in our case, documents are ORM objects) allows to deploy various projects, like a publisher’s website, a news feed or electronic document management system. Its main advantage is easy implementation and integration (it is enabled by just ticking a checkbox and supports preview mode).

Media library



The Media Library allows to manage media content, search for files, upload, edit or cut them, as well as to create preview images.

Scaffolding

The system can create a CRUD interface for ORM objects as well as for objects under version control upon your request.  The peculiar thing about it is that besides controllers, it creates an IDE project (for the visual interface), which can be easily improved according to your preferences.
The code generation is invoked through the graphical interface.

Deployment

The system has an integrated visual interface building update packages for production servers. The local machine requests the server via API to get the file system map and compares it with the map of its own file system, which is considered as standard. After that it offers a list of files for update or removal. The developer chooses which files to update and clicks the button to create a zip-archive, which may be unpacked on the production server.

Besides building update packages, the Deploy module may be used for monitoring malicious code intrusions. If executable javascript code or hidden iframes appear in the project’s source, the system will immediately define and list the modified files.

Reports

The graphical report interface allows to perform analysis on the collected data going over related objects if necessary. The module is still in development, however, it appears to be very promising.



Pages

Site structure management module for CMS lovers: those who prefer working with frameworks may make use of standard controller routing.



Performance

The platform offers an optimized environment for your projects’ development. We have been trying to achieve its ultimate performance already at the planning stage, this is why we managed to drastically outrun the majority of other systems, without any harm to the system’s operability and convenience.


We are not trying to catch up with the cutting-edge technologies. Our goal is plain and simple: to create a fast and convenient toolkit for developers. If needed, you are welcome to integrate any top-of-the-line functionalities or your favourite libraries from the frameworks you are keen on. For instance, Zend Framework 1.x libraries can be easily integrated into the system.

We hope that the project will be helpful, evoke a warm response from its audience and find its niche. We are planning to release the first stable version in November taking into consideration your comments and offers.