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:

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...

xTuple does NOT endorse, condone, or support running live production installations on custom binaries or modified core schemas.  Best practice is to create core modifications in a test enviroment and submit your proposed changes back to the PostBooks code base for the next core release.  If your goal is to simply make localized changes or to apply your changes to a production database until your core code changes make it into the next core production release, consider using xTuple extensions.  Learn more on the extensions overview page.

Learn More

Click on the following links to learn more about core development: