Programming home
We're all in favor of lowering our workload, right? There are a lot of ways to leverage what's already built into Axisbase while also writing your own code. The supported language is c#.NET.
The basic ways to use and extend Axisbase are:
-
Include c# code or assemblies with your database, which are invoked inside the Axisbase client. Examples: custom forms, custom controls, custom data outsources, and custom bulk operation steps.
-
Write custom business logic. Example: Deny add/change/delete of a record based on the record contents.
- Use Axisbase databases or building blocks from your applications. Examples: Persist application data in an embedded database, embed an Axisbase report in your application.
Click the links above for details on each method.
Axisbase primitive types
The Axisbase types are defined in AxPrimitive and closely map to c# types. The Axisbase type AxPrimitive.INT32 maps to System.Int32 as expected and the other numeric types, DateTime, and bool also map as expected. In addition:
-
KEY maps to Int32
-
BLOB maps to byte[]
-
DATE maps to AxDate, a struct that stores year, month, and day only
Suggestions for programming
Setup tasks: Many applications have an administrative interface used by one or a few people, distinct from the public interface used by many people. Consider using the Axisbase client for all the setup tasks, such as entering in lookup lists. This costs you zero programming time. Then your public application can be scaled back to just the business-critical processes; it doesn't need to include the setup and administrative interfaces at all.
Grids: The Axisbase list viewer is intentionally scaled back for ease of use. It only offers basic sorting and filtering. But you can buy .NET grid controls for power users that offer complex grouping and filtering, re-ordering columns, and formatting features. You might consider writing custom forms that use a power-user grid, with Axisbase data. That form can be in your own standalone application, or as a form inside Axisbase.
Some recommended grid controls are:
-
Developer Express (devexpress.com) Includes source code, reporting tools, popup containers, vertical grid (Top recommendation.)
-
Janus (janusys.com) Includes heirarchical tables within tables
-
Xceed (xceed.com) Allows using any control in the grid
Security: When considering security in your application, it's best to put it as close to the data as possible, instead of in the user interfaces. Think of the data store as king, and the security rules and business logic code as the royal guards. No matter what client process is used to read and write data, it must get by the guards to reach the king. Therefore, you don't have to write security code in the client program at all (or it can exist in an advisory role). Each user's workstation can have the Axisbase client, and you could allow all users to connect directly to the database, as long as you ensure that their user names are associated with roles having the appropriate permissions.