This page lays out the high-level development roadmap for the Superbase Next Generation (NG) product line, which includes: Superbase NG, Superbase NG Personal, Superbase NG Server as well as the SIMPOL programming language. The objective in publishing this roadmap is to help clarify to existing and prospective Superbase users, what is planned for future releases of Superbase and where we plan to take the SIMPOL programming language. This page is also intended as a starting point for a discussion about the features that our community would like to see in subsequent updates to the Superbase NG product line, as well as to discuss in which order these features should be added.
Where Do We Stand Today?
Superbase NG 2.10 is our most up to date release and is a fully realized product based on our powerful SIMPOL language, both of which have been in production since 2002. Our development platform is undergoing continual refinement and we aim to release regular updates to customers that own the existing product by providing updated libraries available here.
For some time now customers have been converting their legacy Superbase systems to new SIMPOL-language Superbase NG and contributing useful feedback to the development teams, proving that a phased migration for existing Superbase applications is a viable approach. For a more in-depth look at conversion’s please check out our Conversion Guide here
The current releases of Superbase NG and Superbase NG Personal contain a number of important features, that act as the basis for both new database-oriented projects, as well as Superbase Classic conversions. This includes, but is not limited to, an interactive database designer, a GUI Form designer for both display and print forms, a Quick Report Engine supporting the SQL92 query language whose output can be sent to a window, printer, clipboard, as well as a number of different file types.
The Superbase NG development environment also comes with an application framework that greatly simplifies the work of building single- or multi-user applications. This framework is based on the large number of libraries that come bundled with Superbase NG allowing the user to increase the function set of their application on the go by adding ODBC access (on Windows), SMTP email, file system interaction, retrieval of HTTP-based web resources, and OLE2.0 Automation for Excel, and other Microsoft Products (on Windows)
Currently, we are making changes to the system so that we can target any Linux platform, including using other processors such as the ARM 11, used in many smartphones and by-products such as the Raspberry Pi.
What is in the Current Release?
The current release of Superbase NG (2.10) is a complete rewrite of Superbase Classic, prioritising easy cross-platform development and on providing the tools needed to design and create modern applications, whilst trying to provide as many features of Classic as possible. This does not mean Superbase NG has every capability found in Superbase Classic as Classic was developed over the span of over 20 years. The following is a list of some of the highlights of the current Superbase NG release
Development Environment
- Modern, powerful, integrated development environment
- Intellisense-like integrated popup help for built-in and user-defined functions and types
- Powerful, state-of-the-art debugging facilities, including:
- Breakpoints, breakpoint manager, conditional breakpoints, thread-specific breakpoints
- Variable and object inspection and modification
- Step, step in, step over, step out
- Ability to import projects to enable debugging inside libraries
- Source-level debugging of web application programs using a local webserver.
- Color-coding editor, including template expansion and completion
- Numerous project utilities, including a directory-level dependency evaluation and build tool, project documentation, output of source as colour-coded HTML, and much more.
- A modern tabbed interface in the editor with project management, cross-file find, stack trace, watch window and type view window.
- The editor supports colour coding and editing of SIMPOL source files, SBL source files (*.sbp) both text and tokenized, XML, XSL, HTML, C, C++, IDL, C#, JavaScript, VB, and VB Script. It also supports reading and editing of binary files.
- The editor allows itself to be run in full-screen mode to maximize the space available when editing.
- Documents can be edited using various end-of-line characters (and normally preserves them, though they can be modified to any of the supported ones), including CR + LF (DOS/Windows), LF (Linux, Unix, Mac OS-X), and CR (Mac OS-9 and earlier).
- If running on Windows XP or later, the editor also supports ANSI, Unicode, and UTF-8 encoding for documents.
- The built-in code profiler can help identify where the code is spending most of its time with a complete breakdown by function.
- The project settings area allows the definition of include directories and included external libraries, the definition of additional build targets so that each time a project builds it can automatically build a copy into a test directory (handy for web server applications or for adding libraries into a common library directory).
Design Tools
- Database Table Creation and Modification Tool
- Form Designer with modes for display, print, and label forms
- Label Designer with support for many standard layouts
- Quick Report Designer with support for varying output formats (Print Preview, printer, and text file, …)
- Record View
- Table View
- Import/Export functionality
Components
These items are currently included in the components shipped with Superbase NG Professional.
- Windows, dialogues and forms
- Form controls: textbox, label, pushbutton, checkbox, optionbutton, listbox, combobox, grid, datagrid, bitmap, bitmap button, scrollbar, line, rectangle, triangle, arc, ellipse, detail block
- Menus, popup menus, toolbars
- SBME single-user database engine
- PPSR SBME multi-user PPCS server engine
- TCP/IP socket client and server
- Data-aware display and print forms
- XML-based file format for display and print forms, label definitions, quick reports and graphical reports
- CGI, ISAPI, and FastCGI loader programs for web server applications
- DLL/shared library calls
- Call external programs
- Volatile database tables
- Low-level report engine and query optimizer
- Most recently used (MRU) functionality and configuration for SB-NG Personal (uses the mrulib library)
- OLE2 Automation
- Quick Report, Graphical Report, and Labels engines, with saving and loading (front end for Graphical Reports is coming in v2)
- Record and Table view libraries with field list (view) functionality, which can also be used in packages based on the application framework
Future Releases
The passing of our lead developer, Neil Robinson, was devastating, we not only lost a great friend, but also with the subsequent hacking of our web servers shortly after his burial we lost a lot of information, it has thus taken us a lot longer than desired to get back on our feet and ready to put out new products, but we must always look to the future and our plans have only grown more expansive over the last few years. This will translate into our release of Superbase NG 3.0, we have a lot to do but here are some of key features we wish to implement:
- Plugin support for Visual Studio Code and Eclipse to allow SIMPOL development in external IDE’s (this will mean that we will phase out our IDE, and focus on full support in these development environments instead)
- PPCS Version 2.0 will update our existing infrastructure to allow for faster databases
- Updating our wxWidgets based GUI Library to the most recent 3.1.x version
- Updating our OLE2 library to the most recent version to allow for automation with the newest version of Microsoft Office Products
- Updating our quick report library to use SQL2016
- Full 64-bit OS support
- Support for ARM processors
It is an unfortunate reality that it is sometimes simply not possible to build everything into a product that you think you might need, even though it is possible to see the need well in advance. So the following things are also currently on the future planning lists. Some of the items in the list below are certainly going to go into the product, others may not. Much depends on the needs of the customers, and whether adding any given feature will enhance our appeal to more users.
These are in a rough order, with items towards the top more likely to be seen sooner.
- Graphical Report Designer
- Docking window and toolbar library using wxAUI
- DDE client/server support
- SSL support for TCP/IP sockets
- UDP/IP client and server
- Tab panel, tree control
- Java Native Interface access to Java classes
- SOAP component for interaction with web services and .NET
- Toolset for creating cross-platform HTML Help
- Tab panel, Rich text control, tree control, tree-list control, checklist control, spin button, gauge, slider, OpenGL canvas, bitmap canvas, HTML Help window, and other wxWidgets-based controls
- Business graphics module, possibly using OpenGL canvas
- SIMPOL-based cross-platform installation system
Customer Feedback and Participation
If you have a specific missing feature that you need to produce your solution, a feature we aren’t currently addressing, or general wishes for new features contact us, and we can try and accommodate these