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, using 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 the SIMPOL programming language, and how they can continue to move forward with their development plans, either from their existing pre-SIMPOL Superbase-based system or an existing SIMPOL-based one. Superbase NG is a new and exciting product line that will help you develop and enhance your solutions and future projects in a reasonably familiar yet more sophisticated and future-oriented way. This page is also intended to encourage a healthy discussion of features that the community would like to see in the new 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 current and is a fully realized and highly powerful language that has been in production use since 2002. The development platform is undergoing continual refinement and we make regular releases of the product to customers that own the existing product. We will be adding software updating – maintenance with access to modified or new system programs or libraries
For some time now some customers have been gradually converting their legacy Superbase systems to the new SIMPOL-language Superbase NG and in many cases contributing useful feedback to the development teams, proving that a phased migration for existing Superbase applications is a viable approach – A typical conversion starts by converting the databases to the new Superbase Micro Engine format and then sharing them using the SB-NG database server which acts as a private cloud service. Then the existing Superbase application is converted to use PPCS for database access. At that point, both the legacy Superbase systems and the newer Superbase NG can share the same databases. providing a hybrid version and controlled conversion of old modules and the creation of new modules this allows customers to take the necessary steps to rebuild their products while enjoying the benefits of the move to Superbase NG as they do so.
The current releases of SB-NG Professional and SB-NG Personal contain a number of important features, that are the basis for new database-oriented projects and Superbase conversions. SB-NG includes a number of tools, including: a tool to interactively create and modify database tables, a Form Designer for display and print forms as well as for the creation of labels, a Quick Report engine which supports a significant subset of the SQL92 query language for writing queries with a user-interface for the creation of simple reports that can be sent to a window, printer, clipboard, or a text or HTML file, and even output as a CSV file, plus a label layout tool for the creation and running of labels that supports a number of standard layout formats. Data-aware grids (read-only) are in the current revision of the data-aware form library, as are read-only detail blocks (including linked child detail blocks and both linked and unlinked detail blocks).
SB-NG as a development environment comes with an application framework that greatly simplifies the work of building a solid single- or multi-user program. There are a large number of libraries (many already built into the application framework) including features such as: ODBC access (on Windows), SMTP email, retrieval of HTTP-based resources, timers, quick report, graphical report, and labels engines, file system interaction, OLE2 (on Windows) and various dialogues for searching, selecting, receiving user input, etc. and much more.
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?
Logically many might assume that Superbase NG would have every capability that was found in Superbase Classic. which is not directly possible Superbase NG is a complete rewrite of the Superbase product with goals such as easy cross-platform (including handheld) development, whereas Superbase Classic was the culmination of over 20 years of development to meet the then-current needs of its customers and with always a strong requirement for backwards compatibility. As such, Superbase NG includes features that are needed for modern applications but does not have every feature that Superbase Classic had. 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 project to debug inside included 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
Things that May Be in Future Releases
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. Also, it is not usually a good idea to delay a product unnecessarily to add some feature that may only meet the needs of a small percentage of potential users. So some 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
- COM port support
- USB port support
- ActiveX hosting
- 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
- Wrapper for the Scintilla library to provide a cross-platform code editor
- 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 in order to produce your solution, then please let us know. Your needs can’t influence our planning if we are unaware of them. Also, if you have a specific need that we aren’t currently addressing, contact us and we may be able to accommodate it. Most importantly, if we are missing one or two features currently, but otherwise you could build your solution or port your product, let us know, so we can help you get started and plan that work on our side so that it is ready when you are. Don’t delay the whole project for one or two features! Most major projects and conversions take quite a while, so waiting is not a good choice.