Grotere projecten opslaan als add-on

Verslag van het veld

Grotere projecten opslaan als add-on

Getest met FM Starter 2


28. May 2021In Add-ons, FM Starter, TipsBy Karsten Risseeuw8 Minutes

FileMaker add-ons worden vaak aangeprezen als kleine oplossingen. Maar wat als je grotere projecten met veel tabellen, scripts, lay-outs, enz. exporteert als een add-on? Is dat mogelijk?

De uitdaging

Alle add-ons voor FileMaker die ik ken, zijn “kleine” projecten. Het zijn functies, eenvoudige oplossingen met relatief weinig tabellen, lay-outs en scripts. Is het mogelijk om grotere add-ons te genereren en waarom zou je dat willen?

Ik heb getest of grotere add-ons kunnen worden gegenereerd. Hierover dadelijk meer. Maar waarom zou je dat willen? Is het niet genoeg om kleine, specifieke projecten te kunnen starten? Wel, add-ons zijn praktisch en sommige taken zijn wat complexer, dus die vereisen complexe of grotere add-ons.

Je kunt bijvoorbeeld een eenvoudig maar compleet adresbeheersysteem maken als add-on. Dit zou een basismodule kunnen zijn voor verdere ontwikkeling, met alle belangrijke tabellen al gekoppeld en enkele functies ingebouwd. Een factuurmodule zou ook als add-on kunnen worden ontwikkeld, met de basistabellen voor ontvangstbewijzen, factuuritems, afdruklay-outs, enz. De vraag is hoe groot of complex de modules kunnen zijn.

Als er grotere modules gemaakt kunnen worden, zullen andere projecten ook sneller klaar zijn.

FM Starter als add-on

FM Starter is het startbestand dat we als product verkopen. Hiermee kan elk nieuw FileMaker project bijzonder snel worden opgezet en zijn belangrijke functies al geïntegreerd. Het is een geweldige opstarthulp voor alle “nieuwe” projecten. Dat is ook hoe we het op de markt brengen.

Ik krijg echter regelmatig ontwikkelaars aan de telefoon die al een project hebben lopen en de functionaliteit van FM Starter willen integreren. “Kan FM Starter ook worden geïntegreerd in een bestaand project?” is een vraag die ik regelmatig hoor. Mijn antwoord hierop is altijd: Ja, dat kan, maar…

FM Starter is bijna volledig modulair. Hiermee kun je FM Starter module voor module overzetten naar een ander bestand. Het werkt, ook al is het tijdrovend. Er zijn geen relaties (behalve 1 relatie voor de ontwerppagina, waarmee portalen kunnen worden weergegeven). De omstandigheden zijn dus goed. Desondanks bevat het bestand behoorlijk veel tabellen, talloze scripts, instellingen en nog veel meer. Een complicerende factor is dat veel modules elkaar gebruiken. De module “Navigatie” gebruikt bijvoorbeeld de modules “Gebruikersbeheer” en “Meertaligheid”.

Als je het originele FM Starter-bestand wilt integreren in een ander project, is dit erg tijdrovend. Als je het hele startbestand als add-on kunt opslaan, maakt dit de weg vrij voor integratie in andere projecten. Het zou veel eenvoudiger zijn om het bestand uit te rusten met de FM Starter add-on.

Beperkingen voor add-ons

FileMaker add-ons nemen tabellen, lay-outs, objecten, scripts en aangepaste functies over. Beveiligingsinstellingen en accounts worden echter niet overgedragen. Deze twee dingen zijn echter een integraal onderdeel van FM Starter. Wat gebeurt er als je deze instellingen kwijtraakt?

De test

Voordat u een add-on kunt maken van een beveiligd bestand zoals FM Starter, moet u het bestand openen met volledige toegangsrechten. Vervolgens heb ik het bestand geselecteerd met Add-On Lab FREE en opgeslagen als add-onpakket. Wat is er gebeurd?

Verrassend genoeg werkte het. Maar het kost tijd. Bij het opslaan van het bestand als add-on bevroor FileMaker enkele minuten. Ik zag echter op de harde schijf dat er gegevens waren geschreven. Toen de add-on was opgeslagen, opende ik een nieuw, leeg bestand en laadde daar de add-on.

Het laden van de add-on kost ook tijd. FM Starter was toen echter beschikbaar in een nieuw bestand. Ik was verbaasd dat het bij de eerste poging werkte. Maar nu moest ik het resultaat testen.

Ik heb geen “drag-and-drop” bestanden gemaakt voor deze test. Ik kon dus niets opzij trekken. Dit maakt echter niet uit, omdat alle functionaliteit al is geïmporteerd wanneer de add-on wordt geïmporteerd. Dit is bijvoorbeeld te zien in de lijst met lay-outs.

Er zijn in totaal 25 tabellen met bijbehorende gegevensrecords gemaakt.

Zoals verwacht werden de accounts en beveiligingsinstellingen niet overgezet.

Met de scripts daarentegen is de hele lijst netjes overgezet.

Wat werkt er niet?

Een eerste vergelijking van het originele bestand met de add-on onthulde een paar dingen:

  • Bestandsinstellingen worden niet toegepast.
    • Het Startup-script ([OnFirstWindowOpen]) is niet toegewezen.
    • Het script CloseDown ([OnLastWindowClose]) is ook niet toegewezen.
    • Deze en andere instellingen kunnen snel worden aangepast als soortgelijke triggers nog niet zijn geconfigureerd in een bestaande oplossing. Anders moet je deze taak oplossen.
  • De navigatie werkte niet meteen
    • Dit heeft eerst te maken met het Startup-script, maar daarna ook met ontbrekende accounts die worden uitgevoerd bij het opstarten
    • Deze en andere instellingen kunnen echter eenvoudig worden aangepast.
  • Sommige lay-outs waren niet goed ingesteld. Er was een geval waarbij de knoppenbalk niet correct werd weergegeven. De stijl moest opnieuw worden toegewezen en het object moest correct worden geplaatst.
  • Tekstobjecten krijgen de tekstopmaakinstellingen van de eerste regel over het hele bord. Een gedifferentieerde markering “in” de tekst gaat verloren en moet opnieuw worden toegewezen.

Al met al werkte een verbazingwekkende hoeveelheid meteen. Sommige aanpassingen die gemaakt moesten worden, waren te verwachten.

Kunnen er complexere add-ons worden gemaakt?

Op dit moment kun je niet om experimenteren heen. Het bestand “FM Starter 2” is zonder aanpassingen geconverteerd naar een add-on. Het feit dat dit grotendeels gelukt is, beschouw ik als zeer positief. Als u echter een betrouwbare add-on wilt maken, zou het zinvol zijn om het originele bestand te optimaliseren voor deze toepassing. Het vereist ook documentatie over welke aanpassingen de ontwikkelaar nog moet maken. Deze aanpassingen zijn niet nodig als je het startbestand direct nodig hebt als startpositie. Als echter de FileMaker-accounts en toegangsautorisaties voor een add-on ontbreken, kan de add-on niet op dezelfde manier functioneren als in het oorspronkelijke bestand.

Daarom moet er speciale aandacht worden besteed:

  • Bestandsinstellingen
  • Accounts en toegangsrechten.

Dit korte veldverslag wil laten zien dat werken met add-ons geen raketwetenschap is. De goede toepassingen beginnen nu pas zichtbaar te worden en ik kijk uit naar verdere ontwikkelingen.

FM-starter 2