What are some considerations in building workgroup solutions using Xojo?
Xojo provides an excellent platform for building workgroup solutions for small-to-medium sized business. It is unlikely that your potential or present client is an expert in the different ways you can implement workgroup solutions and how one type of implementation comes with certain constraints and limitations than others. That is an added value of having an expert help advise them on implementations that will satisfy their needs for productivity particular to their business. Going into Tech Week 2025: Xojo + Workgroup, we will make a few assumptions.
- The system needs some form of user authentication
- The system needs some form of secure, centralized data store that can import, export and utilize the data for business purposes
- The system does not lock them in to an expensive, difficult to maintain solution
There are also other considerations, especially once you drill down into industry specific requirements. Let's look at considerations for building client-server workgroup solutions with Xojo.
Client Authentication
All businesses are likely to have employees that come and go and so require granular, secure access to the system. It should not be a hard sell to convince a client that two factor authentication is the way to go. Fortunately, GraffitiSuite Desktop provides a solution.
GraffitiSuite Desktop includes GraffitiTOTPField and the GraffitiTOTPProvider class for time-based one time password value display or entry, complete with auto-progression and display of validation status.
These classes together implement two factor authentication. The application uses TOTPProvider to generate a Time-based One Time Passcode (TOTP). The end user 2FA Authentication app does the same. TOTPField is an entry control for this six digit code, which is then compared to the one generated for validation. Your client application submits the value to a server for validation during the login process. A server isn’t required. It could be entirely implemented client-side, but client-server is the typical integration. You can implement some sort of authorized login state (this is typically no more than 30 days) wherein the user does not need to re-validate their login and TOTP.
Versions of both classes are available for Xojo Web as well (sold separately) if you later need to expand to support web client access.
Integration & Workgroup Sharing
No matter how vertical a market you serve, integration with system and common business tools remains important. For example, small to medium sized dental offices remain a popular vertical market with Filemaker solution developers, but Claris Corporation (a subsidary of Apple, Inc) supports integration with Microsoft Excel. A new platform that offers little or no integration with other common industry specific applications or operating system features has an almost insurmountable barrier to success.
Xojo supports integration with special operating system features right out of the box, but several Omegabundle for Xojo products expand the range of the types of sharing and integration.
Office Related Integration
- Einhugur Excel Plugins for Xojo. Including ExcelWriter plugin and Excel Reader plugins
- Einhugur Word Plugin for Xojo. Word plugin is a Xojo plugin that enables you to create, read, write and edit Word docx files from Xojo code
- Einhugur OpenDocument Plugin for Xojo. Create, read, write and edit OpenDocument Text files (.odt) from your Xojo code
PDF Related Integration
Xojo supports PDF generation right out of the box, but lacks a number of features that you don't want to learn as a surprise later. One example of this is font handling when dealing with international character sets.
- Einhugur PDF Plugin for Xojo. Xojo plugin to generate PDF documents
- MBS DynaPDF Starter Edition Plugin for Xojo. Feature rich Xojo plugin to generate PDF documents
- GraffitiHTMLtoPDF Plugin for Xojo. Takes your arbitrary HTML and output a rasterized PDF
- Valentina Reports ADK Export to PDF. Full reporting system can export Reports to PDF, both in the ADK and in Valentina Developer Network Server.
macOS Related Integration
If your client has a mixed or Apple only workplace (iOS devices, macOS computers, etc), chances are good they will want to leverage features that are a part of the operating system.
- Einhugur macOS Bridge Plugin for Xojo. Use some macOS Native objects and interface with them using Xojo objects, Einhugur Plugin objects such as RawBitmap, declares and 3rd party plugins
- Einhugur Vision Bridge Plugin for Xojo. Make use of Apple Vision framework in your Xojo applications
Linux Related Integration
- Einhugur Linux Bridge Plugin for Xojo. Use some Gtk Native objects and interface with them using Xojo objects, declares and 3rd party plugins
Windows Related Integration
- WinUI Bridge Plugin for Xojo. Access some functions that are only available in the new Windows modern API