Core Overview
What is the xTuple core?
The xTuple core includes all the GUI client functionality and the baseline public and api database schemas installed by the PostBooks Edition of xTuple ERP. This application and all of the code that make it up are available for download at SourceForge.net.
In addtion the xTuple application suite also includes, and in some cases relies on, the following applications:
-
OpenRPT: a free, open source report writer that can be used on its own or embedded in other applications as it is in xTuple ERP. Learn more...
-
CSVimp: a free, open source tool for importing data into a database from comma-separated text files
-
Updater: a free, open source tool for upgrading databases and loading extension packages. Learn more...
This document outlines basic information you need to know to get started with xTuple application development. Details on setting up your development environment are described in xTuple's DevelopmentEnvSetup.
Development Tools
xTuple ERP is built on a classic client-server architecture designed for easy installation and maintenance for small to medium size organizations. With only a couple minor exceptions xTuple ERP is developed using three technologies:
- C++ using the Qt Framework for the client
- PostgreSQL for the database server
- OpenRPT report writer
Qt Framework
Qt is an open source application framework written in C++ and used to develop high performance multi-platform applications. By using an application framework, we are able to build applications without the need to worry about operating system specific coding or dependencies. In addition, Qt provides a number of pre-built tools and libraries that speed up application development. Some of the tools provided, like Qt Designer, allow the creation of GUI screens with a WYSIWYG tool, while others, like Qt's Linguist, allow you to create and support multilingual applications.
For example Qt's Designer application allows you to create the forms or GUI screens required for a WYSIWYG environment. Its drag-and-drop functionality makes it easy to create layouts without any coding required. Forms created using Designer are saved with a .ui extension. Compiler tools are then used to convert the .ui form into a C++ file. The generated C++ files can then be sub-classed to add the required business logic to make them functional. Learn more...
PostgreSQL
Often touted as "The world's most advanced open source database," PostgreSQL provides level of richness in functionality and robust architecture that truely is unrivaled by any open source database server. xTuple takes full advantage of PostgreSQL's capabilities by not only storing basic data structures there, but using it to store and process almost all complex business logic through the liberal use of stored procedures, triggers, constraints, views and object inheritance. Learn more...
OpenRPT
xTuple has built its own report writing and rendering utility, OpenRPT, that is managed as an independant open source project on Source Forge. OpenRPT is embedded into xTuple ERP so that all report design and execution may be performed directly from the application. Therefore xTuple ERP requires OpenRPT as a dependency for compiling the application. Learn more...
Learn More
Click on the following links to learn more about core development:
- Developer training classes
- How to get a change into the core
- Source code management
- Setting up the development environment
- Development processes
- Qt Linguist and translation
- xTuple ERP Programmer Reference
