FMdev Insights

English spoken
Macintosh User
PlugIns
External Data
Relationship Graph
HTOG
Development Guidelines
Client Communication
Individual
Rapid Development
Knowledge
References
Hourly Rate
Team
Never change a running system
Product Lifecycles
Ressources
Security

English spoken
I am developing with an english Version of FileMaker Pro. The reasons are:
most FileMaker-related websites, script and formula repositories, development conventions are in english;
no additional translation layer means no additional source of errors (from Claris‘ Help on the Evaluate-Function: „If a server-side script contains the Evaluate function, use English function names in Evaluate’s calculation. Evaluate does not recognize localized function names when it is evaluated in a server-side script.“).
(Don’t worry, FileMaker on your machine will use your local language settings.)

Macintosh User
I am developing on a Macintosh computer. A Mac feels much more like a tool for humans than any other computer. Even apps for the Macintosh platform seem to be programmed with human usability in mind.
As an experienced user since the early 1980s (Mac, Win, Mac/Linux) the only computer I am proud of is my Macintosh.
(FileMaker databases can be used without restrictions on Windows systems.)
(Professionally maintaining a Windows Server is beyond my scope.)

PlugIns
I use FM PlugIns as sparse as possible. The only standard ones are BE and MBS. Even those are often for reference only, not for production systems. Using on-board resources is one of my higher goals when developing FileMaker databases.

External Data
Connecting to the rest of the world is often necessary. Such connections can fail in many ways. Making them as stable as possible has very high priority. One trustful player are ODBC connections to other databases. ODBC connections outperform web hooks, an intelligent programming with replicated/synchronized data gives even more independence from external systems and external connections.

Relationship Graph
Maintaining a relationship diagram in an external document is absolutely essential. Only a specialized app is able to show all relationships and their details used in a complex database structure. Process flow diagrams visualize and document workflows.

HTOG
Hierarchical Table Occurrence Grouping, also known as anchor/buoy, is my one and only method of organizing the relationship graph in FileMaker. After years of trying to manage customers grown amorphous relationship graphs and investing hours after hours for finding errors, I decided to always make a HTOG graph first when working with a new clients database.

Development Guidelines
Strict use of Development Guidelines makes communicating databases between developers much easier. Such guidelines include naming conventions, terminology, rules for inline commenting and some more. They enable a team of developers working together, and maintaining projects in the long run. Inline documentation gives every developer looking at code, data and structure immediate understanding of what is going on.

Client Communication
Communication with client and users is essential. The best solution is worth nothing, if it does not match the users expectations. Analysing expectations and showing multiple ways for data structures and workflows is a core task when developing databases for clients.

I believe that all database development has to be individual. Individual for a client, for the clients business, for the clients way of working. It is best if developer and client have matching business beliefs.

Rapid Development. A term often used by companies that can not deliver it. With FileMaker one can develop directly in the running production system. Changes take effect immediately. More rapid would be wizardry.

Knowledge is the light in the lowlands of ignorance and obscurity. There are no tricks and mysterious magic, only understanding.

References. Would you like your business know-how exposed to your competitors? My clients deserve a maximum of discretion for the algorithms and workflows driving their businesses.
That’s the reason why I never ask a client to act as a reference. And that’s the reason why I do not work for my clients direct competitors.

Hourly Rate
For development topics that I know off pat an hourly rate is charged. There is no charge for „technical evaluation“. It’s not about the money, it’s about the very best result.

Team
Often a term for spreading responsibility, not getting results. I believe that a team needs a strong leader and crystal clear goals. The lifespan of teams must not be expanded. It is better to form a new team for every major task.
The only exception: simultaneous development with multiple developers in a running system. Their successful team coordinator is a constant.

Never change a running system
Updates are referred to as maintenance releases. They should mostly be installed on time, so that critical states can be taken care of.
Upgrades are new versions with distinct changes in functionality. Upgrades must be approved by the manufacturers of all interoperating software. They need an additional evaluation period, in which the new versions are tested in a production simulating environment. Only after successful testing and extensive monitoring other developers issues, a new version will get a go for productive use.
Some system level drivers and also most web applications are out of reach for our internal update policies. They may change at any time and in an unpredictable way. It is best to not rely on such technologies. More robust technologies will work better in the long run, need less maintenance and make less emergencies, if any.

Product Lifecycles
As with the preceding paragraph a thorough planning of hardware lifecycles, synchronized with upgrades to new versions is crucial.

Ressources
We maintain the following ressources as essential for serious FileMaker development:
Development Mac with conservative actual OS;
Development FileMaker Server in VM for our internal development databases and some test databases;
Development macOS and Windows Workstations in VM for database evaluation and testing;
Backups hourly and daily to different drives and NAS;
Secure storage of customer passwords and serial numbers;
Analyzing tool for software quality assurance for our databases.

Security
Handling client passwords for VPNs, Router, Server and other critical infrastructure requires secure trusted storage. For all passwords and license keys we use trusted encryption software. Older files are packed in encrypted archives. Actual development files reside on intranet workstations behind a firewall. All machines are scanned for malware at least daily.
Another level of security are integrity issues in a database. We utilize a DB Analyzer for FileMaker Databases to find all and any issue. Thinking security influences the structure of tables and relationships and has impact on the workflow. Legal restraints must be followed.

work in progress

20230511 TG

Schreibe einen Kommentar