Open a project from the server

I have a project on a network server where the photos are located. I just updated Tropy. Though I don’t know if that has anything to do with the fact that the project won’t open. Here’s 2 sets of error logs:

{“msg”:“photo.consolidate”,“stack”:“TypeError [ERR_INVALID_ARG_TYPE]: The “path” argument must be of type string. Received type undefined\n at validateString (internal/validators.js:107:11)\n at dirname (path.js:1121:5)\n at lookup (/Applications/Tropy.app/Contents/Resources/app.asar/lib/commands/photo.js:77:15)\n at runCallEffect (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:475:21)\n at runEffect (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1149:7)\n at digestEffect (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1216:5)\n at next (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1106:9)\n at proc (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1053:3)\n at runEffect (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1144:7)\n at digestEffect (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1216:5)\n at next (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1106:9)\n at currCb (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js:1196:7)”,“system”:“Darwin 17.7.0 (x64)”,“time”:1579119341149,“version”:“1.6.0”}


{“msg”:“unhandled error: Cannot read property ‘length’ of undefined”,“stack”:“TypeError: Cannot read property ‘length’ of undefined\n at PhotoList.getExpansionRows (/Applications/Tropy.app/Contents/Resources/app.asar/lib/components/photo/iterator.js:99:39)\n at PhotoList.getRows (/Applications/Tropy.app/Contents/Resources/app.asar/lib/components/photo/iterator.js:90:47)\n at PhotoList.getStateFromProps (/Applications/Tropy.app/Contents/Resources/app.asar/lib/components/iterator.js:96:23)\n at PhotoList.update (/Applications/Tropy.app/Contents/Resources/app.asar/lib/components/iterator.js:167:24)\n at PhotoList.UNSAFE_componentWillReceiveProps (/Applications/Tropy.app/Contents/Resources/app.asar/lib/components/photo/iterator.js:68:12)\n at Vg (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:136:172)\n at ui (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:178:193)\n at gk (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:261:396)\n at fk (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:230:22)\n at Zj (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:229:362)\n at Lj (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:223:216)\n at /Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:121:115\n at exports.unstable_runWithPriority (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/scheduler/cjs/scheduler.production.min.js:18:438)\n at fg (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:120:325)\n at ig (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:121:61)\n at jg (/Applications/Tropy.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:120:496)”,“system”:“Darwin 17.7.0 (x64)”,“time”:1579119446917,“version”:“1.6.0”}

Is it because it is looking for tropy node-modules on my local machine? Can i run a tropy project from a server?

Do I understand this correctly: you have a project file and photos on in a networked folder; you’ve been using this project with Tropy 1.5; you installed 1.6 and now you’re seeing this error when you try to open the project – is that right?

Tropy can open projects from a remote server: but it needs to be able to access the project file via the file system (it can load the photos via HTTP also, but the project file itself currently has to be accessible via the file system).

Yes, you understand. I am using SMB to get to the share, and I open via Tropy on my local machine. It’s not loading but throwing those errors

Were you able to open the project with previous versions on the Samba share? In other words, did the error start happening only after the update to 1.6 or did it also coincide with you moving the project to the shared drive?

Did Tropy update itself or did you update by installing the latest version yourself?

After the error happens, can you select Help -> Show log files from the menu and post the full tropy.log here? That might help us see what’s causing this.

In general, opening a project file from a Samba share should be fine. However, the read/write speed of the project file has big performance implications, so typically it’s better to keep the project file on a local drive; the location of the photos themselves has less of an impact.

Thanks for your reply. There’s nothing wrong with the program or the update. What I’m seeing in the log files is an error in the path to the images. I had an intern create this and my guess is that the images were added while the project was on the local machine then the project was moved to the share. The log from the older version and log from the newer (below) are almost the same. Can i update the file paths?
New reply will contain full log from new version.

{“level”:30,“time”:1579273970768,“type”:“browser”,“name”:“main”,“opts”:{"_":[],“environment”:“production”,“env”:“production”,“auto-updates”:true,“ignore-gpu-blacklist”:false,“debug”:false,“trace”:false,“port”:null,“p”:null,"$0":“Applications/Tropy.app/Contents/MacOS/Tropy”,“data”:"/Users/pam/Library/Application Support/Tropy",“cache”:"/Users/pam/Library/Caches/Tropy",“logs”:"/Users/pam/Library/Logs/Tropy"},“version”:“1.6.0”,“msg”:“main.init 1.6.0 Darwin 17.7.0 (x64)”,“v”:1}
{“level”:30,“time”:1579273971053,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 0”,“v”:1}
{“level”:30,“time”:1579273971055,“type”:“browser”,“name”:“main”,“msg”:“app state restored”,“v”:1}
{“level”:30,“time”:1579273971057,“type”:“browser”,“name”:“main”,“file”:"/Volumes/digitalscholarshipshare/amanat/Abbas Amanat.tpy",“msg”:“open new project window”,“v”:1}
{“level”:30,“time”:1579273971130,“type”:“browser”,“name”:“main”,“msg”:“ready after 377ms [req:75ms]”,“v”:1}
{“level”:30,“time”:1579273971189,“type”:“browser”,“name”:“main”,“msg”:“checking for updates…”,“v”:1}
{“level”:30,“time”:1579273971279,“type”:“browser”,“name”:“main”,“msg”:“no updates available”,“v”:1}
{“level”:30,“time”:1579273971390,“type”:“renderer”,“name”:“project”,“dpx”:2,“opts”:{“dark”:false,“environment”:“production”,“documents”:"/Users/pam/Documents",“maximizable”:true,“minimizable”:true,“pictures”:"/Users/pam/Pictures",“scrollbars”:true,“theme”:“dark”,“file”:"/Volumes/digitalscholarshipshare/amanat/Abbas Amanat.tpy",“recent”:["/Volumes/home/YUL_DS-CC0742-LIBDHD/digitalscholarshipshare/amanat/Abbas Amanat.tpy","/Users/pam/Desktop/Abbas Amanat.tpy","/Users/pam/Documents/Amanat/Amanat.tpy","/Users/pam/Documents/Leilan L06.tpy","/Users/pam/Documents/Testing.tpy","/Users/pam/Documents/Amanat.tpy","/Users/pam/Documents/Leilan Seals and Tablets.tpy","/Users/pam/Documents/Leilan Seals and Tablets.sqlite.tpy","/Users/pam/Documents/Leilan Seals and Tablets copy.tpy"],“data”:"/Users/pam/Library/Application Support/Tropy",“debug”:false,“dev”:false,“cache”:"/Users/pam/Library/Caches/Tropy",“plugins”:"/Users/pam/Library/Application Support/Tropy/plugins",“frameless”:true,“level”:“info”,“locale”:“en”,“log”:"/Users/pam/Library/Logs/Tropy/tropy.log",“uuid”:“99011480-57b6-11e9-9aab-f73b2cfcd13e”,“update”:{},“version”:“1.6.0”,“webgl”:true,“zoom”:1},“msg”:“project.init”,“v”:1}
{“level”:30,“time”:1579273971449,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 0”,“v”:1}
{“level”:30,“time”:1579273971449,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 0”,“v”:1}
{“level”:30,“time”:1579273972770,“type”:“renderer”,“name”:“project”,“msg”:“open db /Users/pam/Library/Application Support/Tropy/ontology.db”,“v”:1}
{“level”:30,“time”:1579273972773,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”,“v”:1}
{“level”:30,“time”:1579273972787,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”,“v”:1}
{“level”:30,“time”:1579273972787,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”,“v”:1}
{“level”:30,“time”:1579273972821,“type”:“renderer”,“name”:“project”,“msg”:“open db /Volumes/digitalscholarshipshare/amanat/Abbas Amanat.tpy”,“v”:1}
{“level”:30,“time”:1579273973667,“type”:“renderer”,“name”:“project”,“msg”:“esper using webgl renderer”,“v”:1}
{“level”:30,“time”:1579273973787,“type”:“renderer”,“name”:“project”,“msg”:“open db /Volumes/digitalscholarshipshare/amanat/Abbas Amanat.tpy”,“v”:1}
{“level”:30,“time”:1579273973792,“type”:“renderer”,“name”:“project”,“msg”:“db query took 52ms”,“query”:“PRAGMA user_version”,“ms”:52,“v”:1}
{“level”:30,“time”:1579273973793,“type”:“renderer”,“name”:“project”,“msg”:“project ready 2434ms [dom:76ms win:27ms req:1327ms]”,“v”:1}
{“level”:40,“time”:1579273974113,“type”:“renderer”,“name”:“project”,“query”:"\n INSERT INTO access (uuid, version, path) VALUES (?, ?, ?)",“ms”:214,“msg”:“SLOW: db query took 214ms”,“v”:1}
{“level”:40,“time”:1579273986956,“type”:“renderer”,“name”:“project”,“query”:“PRAGMA integrity_check(10)”,“ms”:12843,“msg”:“SLOW: db query took 12843ms”,“v”:1}
{“level”:40,“time”:1579273990473,“type”:“renderer”,“name”:“project”,“query”:“PRAGMA foreign_key_check”,“ms”:3515,“msg”:“SLOW: db query took 3515ms”,“v”:1}
{“level”:30,“time”:1579273990482,“type”:“renderer”,“name”:“project”,“msg”:“restoring nav@a7f43674-118f-4799-969c-a807f60c71f5”,“v”:1}
{“level”:30,“time”:1579273990482,“type”:“renderer”,“name”:“project”,“msg”:“restoring notepad@a7f43674-118f-4799-969c-a807f60c71f5”,“v”:1}
{“level”:30,“time”:1579273990482,“type”:“renderer”,“name”:“project”,“msg”:“restoring esper@a7f43674-118f-4799-969c-a807f60c71f5”,“v”:1}
{“level”:30,“time”:1579273990482,“type”:“renderer”,“name”:“project”,“msg”:“restoring imports@a7f43674-118f-4799-969c-a807f60c71f5”,“v”:1}
{“level”:30,“time”:1579273990482,“type”:“renderer”,“name”:“project”,“msg”:“restoring sidebar@a7f43674-118f-4799-969c-a807f60c71f5”,“v”:1}
{“level”:30,“time”:1579273990482,“type”:“renderer”,“name”:“project”,“msg”:“restoring panel@a7f43674-118f-4799-969c-a807f60c71f5”,“v”:1}
{“level”:30,“time”:1579273990514,“type”:“renderer”,“name”:“project”,“msg”:“open db /Volumes/digitalscholarshipshare/amanat/Abbas Amanat.tpy”,“v”:1}
{“level”:40,“time”:1579273992266,“type”:“renderer”,“name”:“project”,“query”:"\n SELECT id AS photo, item_id AS id\n FROM photos\n LEFT OUTER JOIN trash USING (id)\n WHERE \n deleted IS NULL\n ORDER BY item_id, position",“ms”:1575,“msg”:“SLOW: db query took 1575ms”,“v”:1}
{“level”:40,“time”:1579273992303,“type”:“renderer”,“name”:“project”,“query”:"\n SELECT\n id,\n item_id AS item,\n template,\n datetime(created, “localtime”) AS created,\n datetime(modified, “localtime”) AS modified,\n angle,\n color,\n density,\n mirror,\n negative,\n brightness,\n contrast,\n hue,\n saturation,\n sharpen,\n width,\n height,\n path,\n page,\n size,\n protocol,\n mimetype,\n checksum,\n orientation\n FROM subjects\n JOIN images USING (id)\n JOIN photos USING (id)",“ms”:1653,“msg”:“SLOW: db query took 1653ms”,“v”:1}
{“level”:40,“time”:1579273992322,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: photo.load”,“v”:1}
{“level”:40,“time”:1579273992360,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: selection.load”,“v”:1}
{“level”:40,“time”:1579273992413,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: note.load”,“v”:1}
{“level”:40,“time”:1579273992989,“type”:“renderer”,“name”:“project”,“query”:"\n SELECT\n id,\n template,\n datetime(created, “localtime”) AS created,\n datetime(modified, “localtime”) AS modified,\n deleted\n FROM subjects\n JOIN items USING (id)\n LEFT OUTER JOIN trash USING (id)",“ms”:2339,“msg”:“SLOW: db query took 2339ms”,“v”:1}
{“level”:40,“time”:1579273993106,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: item.load”,“v”:1}
{“level”:40,“time”:1579273993128,“type”:“renderer”,“name”:“project”,“query”:"\n SELECT id, tag_id AS tag\n FROM taggings",“ms”:2424,“msg”:“SLOW: db query took 2424ms”,“v”:1}
{“level”:40,“time”:1579273993390,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan07.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan07.jpg”,“v”:1}
{“level”:40,“time”:1579273995146,“type”:“renderer”,“name”:“project”,“ms”:4628,“list”:false,“query”:"",“tags”:true,“trash”:null,“msg”:“SLOW: *search query “” took 4628ms”,“v”:1}
{“level”:40,“time”:1579273995174,“type”:“renderer”,“name”:“project”,“query”:"\n \n WITH sort(id, text) AS (\n SELECT id, text\n FROM metadata JOIN metadata_values USING (value_id)\n WHERE property = $sort)\n SELECT DISTINCT id\n FROM items\n JOIN taggings USING (id)\n LEFT OUTER JOIN sort USING (id)\n LEFT OUTER JOIN trash USING (id)\n WHERE\n tag_id IN (3) AND\n \n deleted IS NULL\n GROUP BY id HAVING COUNT(tag_id) = $tags\n ORDER BY sort.text ASC, id ASC",“ms”:2726,“msg”:“SLOW: db query took 2726ms”,“v”:1}
{“level”:40,“time”:1579273995254,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: metadata.load”,“v”:1}
{“level”:40,“time”:1579273995266,“type”:“renderer”,“name”:“project”,“query”:"\n SELECT id, property, text, datatype AS type\n FROM subjects\n JOIN metadata USING (id)\n JOIN metadata_values USING (value_id) ORDER BY id, metadata.created ASC",“ms”:2942,“msg”:“SLOW: db query took 2942ms”,“v”:1}
{“level”:40,“time”:1579273996664,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan01.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan01.jpg”,“v”:1}
{“level”:40,“time”:1579273996676,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan02.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan02.jpg”,“v”:1}
{“level”:40,“time”:1579273996686,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan03.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan03.jpg”,“v”:1}
{“level”:40,“time”:1579273996694,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan04.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan04.jpg”,“v”:1}
{“level”:40,“time”:1579273996714,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan05.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan05.jpg”,“v”:1}
{“level”:40,“time”:1579273996732,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan06.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan06.jpg”,“v”:1}
{“level”:40,“time”:1579273996739,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan08.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan08.jpg”,“v”:1}
{“level”:40,“time”:1579273996748,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan09.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan09.jpg”,“v”:1}
{“level”:40,“time”:1579273996771,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan10.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan10.jpg”,“v”:1}
{“level”:40,“time”:1579273996787,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan11.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan11.jpg”,“v”:1}
{“level”:40,“time”:1579273996794,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan12.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan12.jpg”,“v”:1}
{“level”:40,“time”:1579273996809,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan13.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan13.jpg”,“v”:1}
{“level”:40,“time”:1579273996820,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan14.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan14.jpg”,“v”:1}
{“level”:40,“time”:1579273996827,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan15.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan15.jpg”,“v”:1}
{“level”:40,“time”:1579273996841,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan16.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan16.jpg”,“v”:1}
{“level”:40,“time”:1579273996848,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan17.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan17.jpg”,“v”:1}
{“level”:40,“time”:1579273996861,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan18.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan18.jpg”,“v”:1}
{“level”:40,“time”:1579273996873,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan19.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan19.jpg”,“v”:1}
{“level”:40,“time”:1579273996882,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan20.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan20.jpg”,“v”:1}
{“level”:40,“time”:1579273996897,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan21.jpg’”,“msg”:“failed to open photo /Volumes/amanat/01batch_01disk/Azabaijan/JPEG/Azarbaijan21.jpg”,“v”:1}
{“level”:40,“time”:1579273996912,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-001.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-001.jpg”,“v”:1}
{“level”:40,“time”:1579273996923,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-002.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-002.jpg”,“v”:1}
{“level”:40,“time”:1579273996930,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-003.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-003.jpg”,“v”:1}
{“level”:40,“time”:1579273996943,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-004.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-004.jpg”,“v”:1}
{“level”:40,“time”:1579273996954,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-005.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-005.jpg”,“v”:1}
{“level”:40,“time”:1579273996960,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-006.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-006.jpg”,“v”:1}
{“level”:40,“time”:1579273996974,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-007.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-007.jpg”,“v”:1}
{“level”:40,“time”:1579273996980,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-008.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-008.jpg”,“v”:1}
{“level”:40,“time”:1579273996994,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-009.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-009.jpg”,“v”:1}
{“level”:40,“time”:1579273997005,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-010.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-010.jpg”,“v”:1}
{“level”:40,“time”:1579273997012,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-011.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-011.jpg”,“v”:1}
{“level”:40,“time”:1579273997029,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-012.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-012.jpg”,“v”:1}
{“level”:40,“time”:1579273997040,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-013.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-013.jpg”,“v”:1}
{“level”:40,“time”:1579273997047,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-014.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-014.jpg”,“v”:1}
{“level”:40,“time”:1579273997070,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-015.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-015.jpg”,“v”:1}
{“level”:40,“time”:1579273997077,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-016.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-016.jpg”,“v”:1}
{“level”:40,“time”:1579273997093,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-017.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-017.jpg”,“v”:1}
{“level”:40,“time”:1579273997107,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-018.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-018.jpg”,“v”:1}
{“level”:40,“time”:1579273997114,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-019.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_41disk/Tray 19/JPEG/tray19-019.jpg”,“v”:1}
{“level”:40,“time”:1579274044954,“type”:“renderer”,“name”:“project”,“ms”:2142,“list”:false,“query”:"",“tags”:false,“trash”:null,“msg”:“SLOW: *search query “” took 2142ms”,“v”:1}
{“level”:40,“time”:1579274044971,“type”:“renderer”,“name”:“project”,“query”:"\n \n WITH sort(id, text) AS (\n SELECT id, text\n FROM metadata JOIN metadata_values USING (value_id)\n WHERE property = $sort)\n SELECT DISTINCT id\n FROM items\n \n LEFT OUTER JOIN sort USING (id)\n LEFT OUTER JOIN trash USING (id)\n WHERE\n \n \n deleted IS NULL\n \n ORDER BY sort.text ASC, id ASC",“ms”:2118,“msg”:“SLOW: db query took 2118ms”,“v”:1}

{“level”:40,“time”:1579274048882,“type”:“renderer”,“name”:“project”,“ms”:1845,“list”:false,“query”:"",“tags”:true,“trash”:null,“msg”:“SLOW: *search query “” took 1845ms”,“v”:1}
{“level”:30,“time”:1579274048884,“type”:“renderer”,“name”:“project”,“msg”:“db query took 119ms”,“query”:"\n \n WITH sort(id, text) AS (\n SELECT id, text\n FROM metadata JOIN metadata_values USING (value_id)\n WHERE property = $sort)\n SELECT DISTINCT id\n FROM items\n JOIN taggings USING (id)\n LEFT OUTER JOIN sort USING (id)\n LEFT OUTER JOIN trash USING (id)\n WHERE\n tag_id IN (74) AND\n \n deleted IS NULL\n GROUP BY id HAVING COUNT(tag_id) = $tags\n ORDER BY sort.text ASC, id ASC",“ms”:119,“v”:1}
{“level”:40,“time”:1579274048884,“type”:“renderer”,“name”:“project”,“query”:"\n \n WITH sort(id, text) AS (\n SELECT id, text\n FROM metadata JOIN metadata_values USING (value_id)\n WHERE property = $sort)\n SELECT DISTINCT id\n FROM items\n JOIN taggings USING (id)\n LEFT OUTER JOIN sort USING (id)\n LEFT OUTER JOIN trash USING (id)\n WHERE\n tag_id IN (74) AND\n \n deleted IS NULL\n GROUP BY id HAVING COUNT(tag_id) = $tags\n ORDER BY sort.text ASC, id ASC",“ms”:1829,“msg”:“SLOW: db query took 1829ms”,“v”:1}
‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-02.jpg’",“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-02.jpg”,“v”:1}
{“level”:40,“time”:1579274050194,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-03.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-03.jpg”,“v”:1}
{“level”:40,“time”:1579274050208,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-04.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-04.jpg”,“v”:1}
{“level”:40,“time”:1579274050215,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-05.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-05.jpg”,“v”:1}
{“level”:40,“time”:1579274050228,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-06.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-06.jpg”,“v”:1}
{“level”:40,“time”:1579274050240,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-07.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-07.jpg”,“v”:1}
{“level”:40,“time”:1579274050246,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-08.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-08.jpg”,“v”:1}
{“level”:40,“time”:1579274050259,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-09.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-09.jpg”,“v”:1}
{“level”:40,“time”:1579274050271,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-10.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-10.jpg”,“v”:1}
{“level”:40,“time”:1579274050278,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-11.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-11.jpg”,“v”:1}
{“level”:40,“time”:1579274050292,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-12.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-12.jpg”,“v”:1}
{“level”:40,“time”:1579274050303,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-13.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-13.jpg”,“v”:1}
{“level”:40,“time”:1579274050309,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-14.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-14.jpg”,“v”:1}
{“level”:40,“time”:1579274050322,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-15.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-15.jpg”,“v”:1}
{“level”:40,“time”:1579274050327,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-16.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-16.jpg”,“v”:1}
{“level”:40,“time”:1579274050340,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-17.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-17.jpg”,“v”:1}
{“level”:40,“time”:1579274050346,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-18.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-18.jpg”,“v”:1}
{“level”:40,“time”:1579274050359,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-19.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-19.jpg”,“v”:1}
{“level”:40,“time”:1579274050365,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-20.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-20.jpg”,“v”:1}
{“level”:40,“time”:1579274050378,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-21.jpg’”,“msg”:"failed to open photo –

{“level”:40,“time”:1579274050543,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-38.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-38.jpg”,“v”:1}
{“level”:40,“time”:1579274050555,“type”:“renderer”,“name”:“project”,“stack”:“Error: ENOENT: no such file or directory, stat ‘/Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-39.jpg’”,“msg”:“failed to open photo /Volumes/amanat/02batch_15disk/Morocco_Erfor_Atlas_Mountains_box16/JPEG/box16-39.jpg”,“v”:1}
{“level”:30,“time”:1579274261227,“type”:“renderer”,“name”:“project”,“msg”:“pruning cache a7f43674-118f-4799-969c-a807f60c71f5”,“v”:1}
{“level”:30,“time”:1579274261230,“type”:“renderer”,“name”:“project”,“msg”:“purging cache /Users/pam/Library/Caches/Tropy”,“v”:1}

Is your project using relative paths (i.e., has it been ‘re-based’ to be a portable project) or does it use absolute paths (the default)? When accessing the project in a shared drive from multiple devices, the absolute paths to the photos must be identical (or if the project and the photos are on the same drive you can use relative paths).

I’m assuming the project is using absolute paths and that your intern had the shared folder mounted at a different path than on your device (judging by the logs you’re opening the project from /Volumes/digitalscholarshipshare and the missing files are expected at /Volumes/amanat). If that’s the case and you just want to make sure the paths work for you, you can try to consolidate a single missing photo: ideally Tropy should be able to update all the others automatically after that.

Once all photos have been fixed, you could consider re-basing your project to use relative paths: that way you should be able to open the project from other devices where the share might be mounted differently.

Thanks for this, the only problem i’m having now is when i choose Consolidate photo nothing happens…the file names are the same.

actually if i double click on the photo then right click on the left under photo and choose consolidate i get a dialog box to locate the image. It’s just taking a long time for the server to load…

I rebooted my machine and now it seems to be working, still have to go to an individual photo but it is reconnecting.

After you consolidate an individual photo by picking out its location on your drive, does Tropy prompt you to consolidate other photos automatically? In most cases, if you confirm the prompt Tropy should be able to fix the remaining photos by itself.

It does and it got most of them, but something keeps interrupting the server connection and i have to do it again, then it catches many more then the same thing happens. Don’t know but it’s probably on this end and not the app

and you’re right, super slow to run the project from the server, once i fix the images and make it portable i might try a workflow where people download it to their machines.

So the consolidation worked except for 30 photos in one of the folders. I’ve tried several times. I think it’s probably easier if i re-add them to the project. It’s just curious since it found all the others, and others in that folder as well.

How does the consolidation fail for those 30 photos?

Basically, if you consolidate an individual photo and Tropy, does Tropy show the file dialog and fail to fix the photo after you select it on the drive? Or does it fail without showing the dialog? If the file is found but can’t be opened it could also be due to insufficient file permission and similar issues. In any case, after you try to consolidate one of the 30 the log file will probably contain cues as to what was going wrong.