Import & export
Erin en eruit, als spreadsheet
Je hoeft nooit iets over te typen. Klanten, contactpersonen, projecten, taken, urenstaten, abonnementen, domeinen, websites en hosting reizen als bestand, met vaste kolomkoppen zodat een export ongewijzigd terug te importeren is. Elke import wordt eerst helemaal doorgerekend zonder dat er iets wordt opgeslagen, en gaat daarna in één keer door of helemaal niet.
Een bestand, of gewoon geplakt
Je kiest een bestand of je plakt de cellen die je in Excel of Google Spreadsheets al had geselecteerd; de eerste rij is dan de kop. Het soort bestand wordt uit de inhoud afgeleid en niet uit de extensie, net als de tekencodering, dus een export uit een Nederlandse Excel met accenten wordt gelezen in plaats van geweigerd. Er geldt een grens van 2.000 rijen en 200 kolommen per keer, en boven die grens volgt een foutmelding en nooit een afkapping: de eerste 2.000 rijen van een bestand met 2.500 stilletjes importeren is de slechtst denkbare uitkomst, want het ziet eruit alsof het gelukt is. Bevat een Excel-bestand formules waarvan geen berekende uitkomst is meegeschreven, dan meldt de wizard hoeveel cellen dat zijn voordat je verder gaat.
- CSV, met komma's of puntkomma's
- TSV en tab-gescheiden tekst
- Excel (.xlsx), met een werkbladkiezer
- Een geplakte tabel, rechtstreeks uit je spreadsheet
Zeggen wat elke kolom betekent
Zodra het bestand gelezen is, krijg je één regel per kolom uit jóuw bestand, met de eerste echte waarden eruit ernaast onder "Voorbeelden". Daarnaast kies je bij "Importeren als" wat die kolom in schakl. betekent: een gewoon veld, één van je eigen maatwerkvelden, of "Niet importeren". Die keuze wordt voorgesteld op basis van je eigen kopregel, ook een Nederlandse, en wat niet herkend wordt blijft leeg zodat je zelf kiest in plaats van iets verkeerds te erven. Niet-gekoppelde kolommen worden overgeslagen, dus een bestand met tien kolommen waarvan er drie toe doen hoeft niet eerst opgeruimd te worden. Bij "Bestaande records herkennen aan" staat Automatisch, en je kunt het overschrijven.
- De voorbeeldwaarden maken een verschoven kolom zichtbaar vóórdat er iets wordt opgeslagen
- Een koppeling is positioneel, dus het bestand krijgt een vingerafdruk bij het inlezen
- Wijzig je het bestand daarna nog, dan meldt de wizard dat en vraagt hij je de kolommen opnieuw na te lopen
Eerst controleren, dan in één keer
"Bestand controleren" draait de hele import zonder iets op te slaan: hoeveel records nieuw zijn, hoeveel er worden bijgewerkt, en welke rijen een fout bevatten, genummerd zoals jij de rijen in je spreadsheet telt. Pas na een schone controle wordt "Importeren" beschikbaar, en die import is alles of niets. Klopt er iets niet, dan wordt er niets opgeslagen, ook de goede rijen niet; je repareert het bestand en probeert het opnieuw in plaats van te ontdekken dat de helft al binnen is. Controles die een rij bij naam kunnen noemen horen in dat voorbeeld thuis: een telefoonnummer wordt omgezet naar internationale notatie in het land van die rij zelf, en een nummer dat een cijfer mist wordt teruggemeld bij die rij en die kolom, niet als één naamloze fout achteraf.
Een import is geen achterdeur
Een geïmporteerde rij loopt door precies dezelfde aanmaak- of bijwerkroute als het formulier: dezelfde validatie, dezelfde gebeurtenissen, dezelfde neveneffecten en dezelfde regel op het activiteitenspoor. Je eigen maatwerkvelden zijn daarbij gewone kolommen, en verplichte velden blijven verplicht. Waarop een rij wordt herkend verschilt per soort en staat in de wizard erbij; waar geen eerlijke sleutel bestaat maakt de import altijd nieuwe records aan, want taaktitels en urenregistraties herhalen zich terecht. Wat goedkeuring draagt reist bewust helemaal niet mee: verlof vraag je aan, dat schrijf je niet in bulk weg.
- Klanten: op klantnummer, anders op naam
- Contactpersonen: op e-mailadres
- Projecten, abonnementen en hosting: op naam
- Domeinen: op de domeinnaam, waarbij een geplakte URL eerst tot het kale hoofddomein wordt teruggebracht
- Websites: op het domein waar de site op staat
- Taken en urenstaten: altijd nieuw
Een export die weer terugkomt
Een export bevat de hele lijst zoals je hem gefilterd hebt, niet alleen de pagina die je ziet, inclusief je eigen maatwerkvelden. De kolomkoppen zijn vaste sleutels en geen labels, dus het bestand wordt ongewijzigd herkend als je het terugzet: exporteren, twee kolommen aanpassen en importeren is de eenvoudigste manier om vijftig records tegelijk te wijzigen. Modules dragen bovendien kolommen bij aan elkaars bestanden, dus een klantenexport neemt de contactpersoon mee (voornaam, achternaam, e-mail, telefoon, functie), die bij het importeren in dezelfde rij wordt aangemaakt en gekoppeld; de eerste wordt de primaire contactpersoon van die klant. Die kolommen verschijnen alleen voor wie contactpersonen mag schrijven, zodat je nooit halverwege een bestand op een weigering stuit. En exporteren blijft werken als een licentie verloopt: een module die alleen-lezen wordt, laat je je gegevens nog steeds meenemen.
Op elke lijst, en een recht apart
Exporteren en Importeren staan naast de kolomkiezer op elke lijst die per bestand kan reizen, met de filters van die lijst in de export; ze zijn dus niet weggestopt, want wie een spreadsheet met domeinen heeft hoeft niet te weten dat er ook een Instellingen-scherm bestaat. Instellingen → Import & export is het overzicht van wat er überhaupt kan reizen en exporteert de hele ongefilterde set. Bulk in- en uitvoeren is een eigen recht, bovenop het gewone lees- of schrijfrecht van het onderdeel zelf, en het staat standaard alleen voor beheerders aan: de klantenlijst of het domeinregister in één bestand het pand uit dragen is een andere handeling dan één record openen, en dat is een beslissing die een bureau per persoon neemt. Het is één recht voor alle onderdelen tegelijk, zodat die beslissing één keer valt in plaats van per scherm; een klant met een portaallogin kan er dus nooit een lijst mee ophalen. Beide poorten worden ook in de interface nagebootst, dus een knop die zou weigeren wordt niet getekend.
Meer weten?
De documentatie beschrijft elke module tot in de details, van installatie tot rechten.