- Dit onderwerp bevat 5 reacties, 3 deelnemers, en is laatst geüpdatet op 3 jaren, 6 maanden geleden door Arno van Os.
-
AuteurBerichten
-
-
7 januari 2021 om 15:24 #7512Nienke JellesDeelnemer
Hoi allemaal,
Ik wil een paar honderd foto’s in Adlib inlezen, verdeeld over tientallen objectrecords. Alle foto’s hebben als bestandsnaam het objectnummer, gevolgd door een letter en eventueel een cijfer, waarmee aangegeven wordt vanuit welke hoek de foto genomen is. bijv. “G2242-07r1.tif”.
Nu heb ik begrepen dat het mogelijk is om in Adlib Designer een importjob aan te maken om alle foto’s in een Windows Verkenner map in één keer te importeren in Adlib, waarbij voor elke foto een individueel record in het multimedia dataset aangemaakt wordt.
Ik heb Designer geopend, de locatie “Model application 4.5.2\data” aangewezen als “folder where files are located”, de import jobs manager geopend, een nieuwe import job gecreëerd, en de tabblad ‘general’ van de import job editor als volgt ingevuld:
jobname: objectfoto’s
description: [toelichting]
Input file tipe: image directory
source data file: F:\Collectie\Porselein2021\
Folder (destination): G:\adlib\Model application 4.5.2\data
Database: media
Dataset: mediaOp het moment dat ik de job ‘run’, krijg ik echter de foutmelding “import error ‘0’, info: ‘Error opening of source file: 311 (DLL error): one or more DLL functions not found in adlibimg.dll. Windows error: 127.’”
Nu lukte het inderdaad niet om via de drie puntjes achter het veld bij “source data file” in de editor te navigeren naar de map op onze interne server waar ik de foto’s hand neergezet. Ik heb het pad uiteindelijk gekopiëerd en direct in dit veld geplakt. Had voor de zekerheid geprobeerd om de afbeeldingen op verschillende plekken te zetten (mijn werkmap, gedeelde afdelingsmap, ‘image’ map in applicatiemappen van Adlib en de map op onze interne server waar we alle afbeeldingen bewaren die aan Adlib gekoppeld zijn (i.v.m. opslagruimte is de zaak ooit zo ingesteld dat dat niet binnen de applicatiemap zelf gebeurt)).
Geen idee of het iets uitmaakt, maar het viel me op dat je volgens de documentatie van Axiell (
http://documentation.axiell.com/alm/en/index.html?ds_eiefimagedirectory.html > kopje necessary files) twee bestanden in de applicatiemap moet hebben zitten (gdiplus.dll en adlibimg.dll). Die eerste kan ik onze applicatiemap niet vinden, al las ik in de Axiell ReleaseNotes 6.5.2 SP3_NL dat dit bestand mogelijk een beveiligingsrisico had, en daardoor soms verwijderd is?Heeft iemand misschien een idee wat ik verkeerd doe bij de selectie van de ‘source data file’ en het instellen van de import job?
En/of heeft iemand misschien een handige manier om foto’s in bulk in Adlib in te lezen (elk met een eigen mediarecord) en aan een aantal verschillende objectrecords te koppelen? Ik was van plan om als het gelukt was de afbeeldingen in het media-dataset te krijgen, ze daar in pointerfieles te groeperen op objectnummer, en dan in de dataset COLLECT deze sets afbeeldingen op te roepen via het lint > zoekformulier > gereedschap > pointerfiles. Dat laatste werkte namelijk goed bij eerdere tests.
Alvast heel erg bedankt voor alle hulp!
Nienke
-
8 januari 2021 om 23:00 #7517RolfSleutelbeheerder
Hoi Nienke,
Gdiplus.dll heb ik ook niet in mijn executables mappen – dat zal het probleem niet zijn.
Als je Source data file selecteert via de...
wil-ie een file zien. Een map snapt-ie niet. Je hebt de documentatie al gevonden, daar zie je ook workarounds:F:\Collectie\Porselein2021\*.tif
ofF:\Collectie\Porselein2021\*.*
gewoon erin copy-pasten.Je aanpak kan wel, maar kost nog veel handwerk omdat je inderdaad objectrecords handmatig moet koppelen.
Als je honderden foto’s moet koppelen, dan is het de moeite waard om een een adapl te maken die het objectnummer uit de foto-filenaam haalt. Daarvoor moet je exact weten welke vormen die bestandsnamen allemaal kunnen hebben. Wat je beschrijft:
[objectnummer][precies 1 letter][optioneel precies 1 cijfer][punt][extensie]
Klopt dit, altijd, overal?
En wat is het tag van je media-veld (meestal FN)?Als ik dat weet kan ik wel een stukje code maken. Dat moet je wel zelf compileren, hoe dat moet vind je in de Designer docu.
Die adapl koppel je aan je import job als Before storage adapl, en je vinkt Process Links aan.Pro tip: probeer het eerst uit in een testrecord met 1 foto, dan met 2. Doe dat over & over totdat het goed is.
Pas op: als objectnummer niet klopt, krijg je een leeg objectrecord met het foute objectnummer.
OK? -
25 februari 2021 om 14:02 #7612Nienke JellesDeelnemer
Hoi Rolf,
Ik ben er inmiddels achter waar het mis ging! Ik had verkeerd begrepen hoe het aanmaken van een import job in Designer werkte. In mijn .csv had ik het path naar de bestandslocatie op de server opgenomen i.p.v. de bestandsnamen, en de foto’s die ik wilde importeren stonden niet in de Adlib images map, maar in mijn werkmap elders op de server. Tja, dan werkt het natuurlijk niet!
Met dank aan een handleiding van Shannon, flink wat ge-Google en tig-keer testen in onze testomgeving heb ik het uiteindelijk zo opgelost (mocht iemand in de toekomst tegen hetzelfde aanlopen):
– In Excel een overzicht gemaakt met de kolommen 01 bestandsnaam 02 referentie_nummer [etc], opgeslagen als .csv
– .csv document in de map Data van de applicatie gezet.
– De afbeeldingen die ik wilde importeren in de Adlib images map gezet.
– In designer
— m’n CSV geselecteerd als source data file, dataset media als destination.
— bij mapping de verschillende kolommen uit de .csv opgegeven als ‘destination field, met 01, 02, 03, etc. als source field. Deze op update option ‘append’ gezet.
— Twee regels toegevoegd met source field ; destination field <FS> en source field 0xDA en destination field <RS> [Ik weet niet precies wat dit doet, dat had ik uit de handleiding van Shannon overgenomen.]
— Run import job.
– In Adlib
— In het dataset Collect objectrecord oproepen, ‘wijzigen’
— naar tabblad reproducties navigeren
— een nieuwe occurence toevoegen (want anders overschrijft ‘ie wat er in de eerste (geselecteerde) occurence staat)
— in het lint bij gereedschappen ‘lijst’ kiezen.
— Objectnummer zoeken met een *, enter, alle relevante media-records selecteren in het venster dat zich achter je zoekveld opent, enter, opslaan. [Hier moet je alleen opletten dat er maar een beperkt aantal resultaten getoond worden, dus het kan zijn dat je dit een aantal keer moet doen, en steeds in het “toon data voor het veld ‘referentie'” scherm op de pijltjes aan de linkerkant naar een volgend set media-records moet gaan.]Groetjes,
Nienkep.s. Had ook reactie van Axiell gekregen, de documentatie die ik gevonden had was ongeveer 10 jaar oud, en dus niet meer relevant (maar ik kon geen nieuwere versie vinden?)
-
26 februari 2021 om 09:22 #7615RolfSleutelbeheerder
Hoi Nienke, mooi dat het gelukt is, gefeliciteerd!
Twee dingen:
1.
source field ; destination field
en source field 0xDA en destination field [Ik weet niet precies wat dit doet, dat had ik uit de handleiding van Shannon overgenomen.] <FS>
staat voor Field Separator dus veldscheidingsteken, hieraan ziet de import waar, op elke regel, het ene veld eindigt en het andere begint.<RS>
is Record Separator, is hier een harde return (Carriage Return + Line Feed, denk aan een ouderwetse typmachine, wagen terug + nieuwe regel), hieraan ziet de import waar het einde van het record is en (eventueel) een nieuw record begint.2. Als je dit vaker moet doen, is het nog wel te stroomlijnen. Een workshop, zou dat wat wezen?
Groetjes
Rolf -
26 februari 2021 om 10:37 #7616Nienke JellesDeelnemer
Hoi Rolf,
Dank je wel! En ja, een workshop zou natuurlijk geweldig zijn 🙂
Groetjes,
Nienke -
11 maart 2021 om 17:50 #7653Arno van OsDeelnemer
Beste Rolf en Nienke,
Ik lees een vrij bewerkelijke wijze om afbeeldingen te importeren. Ik gebruik hier al jaren de manier waarbij de bestandsnamen van de afbeeldingen zelf worden gebruikt om de import te regelen, zonder .csv-bestand. Er worden hier verschillende importjobs gebruikt voor verschillende soorten afbeeldingen. Deze manier kent maar een paar stappen:
– Zorg ervoor dat de afbeeldingen de juiste (unieke) namen hebben, die zijn afgeleid van de betreffende objectnummers.
– Zet deze afbeeldingen in een aparte import-map
– Open Designer en run de gewenste import-job
– Bij fouten (verkeerde of niet unieke bestandsnamen) maakt Designer een foutrapport
– Verplaats de correct geïmporteerde bestanden naar de ‘normale’ imagesmap
– Hernoem eventueel de foute bestanden en draai de import nogmaals, waarna ook deze bestanden kunnen worden verplaatst
– Voor alle afbeeldingen zijn nu records aangemaakt, die zijn gekoppeld aan de betreffende objectenIn de betreffende import-adapls kunnen naar believen velden met inhoud worden toegevoegd.
Op deze manier kun je elke keer als je meer foto’s tegelijk wilt koppelen dit heel eenvoudig doen. Ik denk dat Rolf ook deze manier van koppelen mbv importadapls bedoelt en het lijkt me een aanrader om deze manier te (laten) installeren.
Groetjes,
Arno van Os
-
-
AuteurBerichten
- Je moet ingelogd zijn om een antwoord op dit onderwerp te kunnen geven.