DxO PhotoLab vs Lightroom Classic – using PhotoLab for cataloguing

Yes darling, I’m sure there’s a good reason not to update to Ventura, all I can say is my experience of crashes is the other way round although I cannot tell 400% more on Windows, but since two years I had a couple of freezes on Win 10. Or something like a new printer driver killing all 15 settings I had for various print jobs and of course: no possibility to export them (on Win), no possibility to backup them and also no possibility to step back - like I could do any time with TimeMachine.

I just don’t need to. The settings for a very different Epson scan-fax-copy-printer are also usable on a new Expression X-15 000 (no fax, no copy, no scan. That already saved ½ hour to get running and try old settings. How many system reboots of the Mac could I do in this time? Between 6 and 10,. if needed. And it’s not needed, so I win time on a daily basis :smiley:

Oh sorry, I wanted to return to the original question :blush: must be a side effect of my growing software and developer’s excused allergy. Need to get that under control.

Or people that make their living working in windows environments as a technician and don’t need that level of hassle when they’re at home and not being paid to handle it

1 Like

Summary of the above: Neither macOS nor Windows can make DPL compete with LrC for reliable cataloguing, database maintenance and consistency between what’s in the database and what’s on the drive.

2 Likes

Of course that assumes there is a high level of hassle when using it at home. Back in the day there was significantly more hassle using Windows, but these days with Windows 10 and Windows 11 that is not really an issue.

My wife and son are not particularly technical and they have been using their computers for years without hassles or problems and no intervention by me for a very long time. I am a retired IT person and haven’t had any issues at all on my Windows 10 machine for years.

Perhaps Macs are more idiot proof than Windows machines which I suppose is a good thing. However, most Windows users I know aren’t idiots. :face_with_hand_over_mouth:

Mark

All valid, though when I got my MacBook Air M1 my description of it to friends and colleagues if they asked was simply “it’s a really nice place to be”. I’ve always had windows devices up until now and been largely very happy with them, however (personally) I won’t buy another one.

Each to their own, nothing fundamentally wrong with either and you must use what works for you :smile:

3 Likes

@platypus Thank you for your response that was what I was looking for @JoJu not a lot of work but some insight into a product that I don’t use from those that do!

Arguably that is what DxPL does with the “missing” images in the display and the “!” and you are free to ‘Remove’ them at that point regardless of whether you located the problem browsing directories or browsing ‘Projects’.

But when does LR “discover” that this issue has occurred?

Then we fall into the major difference between LR and DxPL with respect to how images “wind up” in the database.

With LR, images are imported when the user selects an image or images to be imported but with DxPL browsing or indexing imports all the images in a directory (or directories in the case of indexing) to be imported. While it could treat a lost image in a similar manner to an image in a ‘Project’ i.e. as an independent entity, rather than an item in a “collection” (directory) that is not the “normal” way that DxPL works but I cannot see a reason why it couldn’t, i.e. It would not be difficult for DxPL to offer an option on the “!” to ‘Delete’ or ‘Locate’ etc.

However, reconnecting database entries with the new image location would be a nightmare after a wholesale re-organization of directories, i.e. save the current database, and start afresh and use DOPs etc. to reconstruct the database (at the price of losing any ‘Projects’).

This is the removal from the database without removing from disk and you know that I fully support the requests for that feature.

I cannot understand why DxO went down the path that they did, i.e. incorporating an actual “delete from disk” into the ‘Remove’ command, ‘Remove’ should have been from the database and there should also have been a ‘Delete’ which would have done both!?

The item I suspected existed but had no easy way of verifying and yes it should also exist in DxPL and arguably could simply be added as an additional element in the ‘index’ feature.

I have seen the post Photo Browser Not Displaying All Images - #26 by platypus but need to re-read the earlier posts.

I am not sure I understand the issues that are being raised, i.e. I have been deliberately creating situations of “lost” images (changing the name of images, moving them to different directories and renaming directories) and have not experienced anything that I did not expect (DxPL being unable to show the image because its “pointers” are no longer valid) with only the images I expected causing “errors” hence I have not joined that discussion.

Agreed, it is possible that what I saw with iMatch, which was triggered by my moving of all my test images from F:\ to H:\ as part of a recent re-organisation of my disks, might have been “sanctioned” by a ‘Preferences’ option setting, something I need to check.

Anything that DxO implement (if) should be manually started and it should be possible to manually terminate before it is completed, with a “restart point” being the icing on the cake, if that cake is ever made!

@Guenterm A lot of “hot air” over nothing, but I did seriously consider buying a MAC Mini rather than upgrading an existing case and power supply (!) with a new motherboard, processor, cooler, memory, Graphics card etc. but decided that the MAC would give me a “one trick pony” machine (actually two - DxPL and Affinity) rather than a new PC which could utilise all the software I had, albeit some with Licence issues!

@Stenis thank you for your encouragement both before and after the @Joanna and @JoJu posts complaining about my overly long and apparently “incomprehensible” posts, it is much appreciated.

Agreed but we should still continue to apply pressure to the “absent landlord” and DxPL is not completely useless for basic searching.

Truly hurtful, you are definitely off my Christmas card list, but I just checked and you weren’t on it anyway, so that’s O.K.

Then do as I did when I made the move - install Parallels and clone your existing Windows disk into a virtual machine. I did five years of Windows development using Visual Studio like that. One day, Visual Studio threw a wobbler and messed up the VM, so I just copied my backup of the VM and was back up and running in about half an hour. It was great to know that, should Windows do such things, I always had a perfectly working Mac to use to repair it.

I could even copy/paste and drag/drop between Mac and Windows apps and Windows apps come up in separate windows, just as if they were Mac apps, apart from the different “chrome” around the edges.

It also meant I no longer had to pay for MS products like Office where Apple gave me equivalents for free.

Not a lot of work to reply, but to read, decipher what you could have meant and extract a question who wasn’t honored with a question mark by it’s author.

Also, I never dived deep enough into the database of C1 to satisfy your curiosity with a well-formed two page answer, and I don’t like to spread anything leading to more popularity for a company who told me after 4 months waiting for an answer why the main window is jumping 4-8 cm sideways as soon as a dialogue box popped up:

"I understand that what you are experiencing is not ideal for your workflow, however as my colleague has mentioned, the issue occurs as Capture One is not designed to be used split between two screens.
We can label it a bug, however it will not be prioritized to be “fixed”. " Ain’t that great? Coming form the head of support and reacting after I named C1’s programmers something in the way of “incapable ignorants”, not before, of course not. You see, DxO devs are not the only ones with a work result not estimated by all their customers.

A friend of mine also using C1 came up with the idea to ask C1 where on their website this information is to be found…

Hello my sunshine :sun_with_face:, we need to work on your communication strategy :rofl: :joy:

2 Likes

With pleasure, but first C1 needs to work on their display capabilities. It’s the only app jumping in my two screen setting, no other app does so - and then this lame excuse? I’ll stay with my judgement. Especially since there were one or two versions of C1 not showing this fat bug.

That might have been a good idea for me and I ought to investigate VM for my current systems anyway but I have now “blown” my budget on an RTX 3060 and the bits to go into the case and connect to the power supply, which came to about £700 or a little above.

Sorry to hear about your C1 “woes” but I didn’t need a two page epic or anything like it but rather what @platypus provided but for C1 would do, i.e. when/how does the product “detect” or “stumble across” a database to disk mismatch, what does it offer to the user to help resolve the situation and can it “patrol” the database and disk “looking for trouble” etc. etc…

My biggest concern is that DxO don’t consult with their users many of whom are full of ideas and even “fuller” of their own opinions, but rather too much feedback than too little! Plus some of their design decisions miss the mark but such a narrow margin that they could be rectified easily and possibly avoided altogether if that had only consulted the users!?

However, I really must abandon paying as much attention to the forum and testing DxPL(Win), particularly when my words fall on deaf ears!

“Banging one’s head against a brick wall” eventually looses its appeal.

PS:- Good to see that subtlety is just not in your vocabulary

@BHAYT and @platypus

CONCERNING THE DATABASE AND DATAINTEGRITY

I have looked in a little into the database and it´s pretty simple.

It consists of 13 tables, 42 indexes
Surprisingly no views.
The DB Browser for SQL Lite is a lot more than just a browser by the way.
You can even use it to create and maintain all the objects in the database.
It´s pretty archaic compared to for example MS SQL Server

This database exists clearly mainly to make it possible to search metadata, with one exception the Projects and the External Selections.

Despite the database is very simple it uses referential integrity in a few cases and that is for IPTC and Keywords. They even use cascading deletes to ensure that presumptive orphanes gets deleted when parent records get deleted higher up in the hierarchy.

BUT, this mechanism is not there for Projects or External Selections. This might explain why about 25 of my External Searches got orphaned. Still I think it was strange that all these searches got inactive at the same time. Because these searches with the Edit with-function in PM Plus was initiated on images from a lot of different folders.

Those of you that are not familiar with SQL-databases you can read about referential data integrity here:

Referential integrity in SQL - BeginnersBug

BRYAN has already explained how these tables are related and it should not be difficult to understand. I have made a few tests following all the relations just to verify and BRYANS description is nothing for me to complain about.

I have a wish though and it is that DXO gives us better tools to maintain both the Projects and not the least the External Selections since that could be an even more powerful workflow tool than it already is. We need to be able to mass delete External Selections (because they get many over time and even promote them to Projects to in a simpler way and that might include both to preserve a Selection and create a Project of it or part of it at the same time as the original External Search mig be left as it is. It would also be good to be able the give descriptive names even to External Searches.

@Joanna
I think it sounds strange that you are so anti-databases as a seasoned MS Visual Studio-developer so you are prepared to cover your ears when BRYAN has tried to explain a few things for us. Databases is there to give your code something to do aren´t they? So, I wonder what kind of world your applications have lived in? You delete the ImageLibrary DB despite it´s just another representation of the Image-metadata. I find that a little odd really. Well, I have since long stopped reading about the hierarchical keywords you have seemed to get completely stuck on.

Sorry to say but no matter how good your application will be for you it will not be able to contribute at all to get even structured keywords work as you want them in Photolab. This job has to be solved within the frames of Photolab and nowhere else. Then comes on top of that the question of which vocabularies should be used and that is a far more complicated thing to sort than the technicalities of the keyword structures - I have seen people in the museums world get lost in that maze for many years in my country. Because the fields you are using are originally thought to be used with standardized vocabularies and not thought to be littered with all sorts of users building their own reality. Some of those fields/elements are part of Dublin Core which are the very backbone of the library and museums worlds.

Concerning the never ending of complaints over long posts on the Internet: I as an old teacher just feel a little bit sad for the younger generations now, that seems to have got their ability to read and understand more complex and longer text than Twitter-sized hypertext messages or longer sentences like this one, totally ruined.

I think we all have to face one thing we might not like that already is a fact: It is and will be the people who can read and understand complicated texts that will rule our world for us if we don´t sharpen up. They will be the expertise that will take the decisions for the others or build the AI-systems that will do. So, we will have to put in some efforts ourselves and try to understand what is going on despite we rather would like to spend that time on the sofa. There was only one thing really that originally got me to leave the school that I loved and start an alternative career in the IT-industry. I felt I just had to understand what consequences this development would have on society. That was in the eighties.

Already then we feared the development of the control society. In my country we have had a personal ID that is in every official databased registry. Back then it was forbidden för authorities to crosslink searches over several systems - 40 years later it´s done everywhere. So, closing one’s ears when databases are discussed has never been a really good idea whether it´s a Photolab database or something else. Basic database knowledge should really be something every modern human should have today.

I know but my clumsy attempts in the past just caused DxPL to crash - oops!

While I would guess that is one of its purposes I also think that it offers a repository for edits which are held in the ‘Settings’ field, i.e. it offers the main underpinnings of the way that DxPL works, with the DOP offering an “audit” trail, but “only” the last state of the editing (and there are differences between DxPL(Mac) and DxPL(Win) with respect to the preservation of the ‘Advanced History’ with nothing being preserved with DxPL(Win)).

Arguably a ‘Project’ contains items that have been selected and grouped by the user. Even if the activities of the user have “blown” a hole in that data it is still potentially relevant to the user to know what was “once” there rather than have the system automatically “clean-up” that particular “detritus”.

However, without any tools to re-establish the relationship with images that have been moved, knowing what was once in a ‘Project’ is of little comfort to the user!?

I am concerned about some of the issues being reported given that things have been exactly as I expected when I start moving images around, i.e. the image is marked as missing but that is what I expected. So I am not sure how to create a test that (consistently) repeats the apparently “random” behaviour that some users are experiencing.

Thank you for your endorsement, I am not an SQL expert, the database I started work on back in 1974 was Burroughs DMSII and it was a Network based data management system and pre-dates SQL by some years.

The enquiry package, Inquirer ultimately adopted SQL constructs and the (so called) 4GL development language LINC, which generated COBOL code and the associated database and “only” used Index Sequential indexes, was essentially a relational database based product but built using elements from an earlier generation of database management system.

However, the database is simple and I have learned my way around it by experimentation and inspection, but it is good to have an endorsement from someone who worked with SQL extensively in their career.

Agreed.

@Stenis the complaints from @Joanna and others are about the size of my posts and some scare me.

If written directly into the forum post mechanism images can be uploaded and stored in context as the tests and results unfold, which is useful.

The whole post can then be copied and worked on in another product and that presents an opportunity to re-organize and to add summaries at the beginning and elevate questions from deep in the text to the top of the post @platypus.

I use the cut and re-paste when I am working on a long test and want to make shorter responses in the meantime but sometimes it is just easier to leave the post intact and it can get longer and perhaps less well structured and not necessarily in the native language of the reader.

But the easiest way to fix that is simply to do less testing, then no aggro from other users, less for DxO to ignore and more time for other activities!

Regards

Bryan

1 Like

@Joanna
On January 29, 2007, Adobe announced that Lightroom would ship on February 19, 2007 (WIKI)
This is 16 years ago.

DXO started in reality the ImageLibrary just a couple of years ago and Photolab 6 from 2022 was the first version with a stable sync, a reasonable set of supported IPTC-elements. That was 1.0. So personally, I think they have done a fairly good job so far with the implementation of the ImageLibrary. The main problem though, is that this focus seem to have exhausted developing resources needed to develop other parts of the application. Don´t you remember what kind of crap Lightroom 1.0 was Joanna? In reality Lightroom wasn´t ready for a wider audience before version 3.X.

I have to go back to the days pre-Lightroom around 2005-2006 when I was running the Danish RAW-converter Pixmantec RAWShooter to find a software still depending om home brew sidecar-files like Photolabs´s.DOP-files. It´s a legacy I wonder how long they will continue to support it because it´s an anomaly. Photolab is a mess in that respect due to structural growth. That doesn´t need to be a problem though and DXO has taken measures now with the metadata because it´s the XMP-metadata in the files or in sidecar-files for RAW that is the master metadata and not the .DOP.

The mess makes things more complicated and more expensive to maintain but doesn´t need to be a problem it they manage to preserve data integrity. But listening to you is to get it 180 degrees the other way. You seem to still have got stuck arguing för the .DOP to be the master for both the XMP- and the editing metadata. I think that is pretty odd when you see what Capture One has done with C1 and how Lightroom is built. Sidecar XMP for RAW is also pretty legacy. It´s really far from ideal because it is an unsafe way of doing it. It´s no coincidence that XMP-metadata is written into the XMP-compatible formats like TIFF, JPEG, DNG and some versions of PDF. It is these file formats that are widely used on the net and they are safe and self-contained. RAW + XMP is not a good idea out on the Internet and it is vulnerable in all contexts really.

Sorry if you felt the response aggressive, but I’m not the only one with troubles to read such massive collections of test results, side remarks and hidden questions. I know you made a lot of work for testing and writing afterwards, just consider some few things:

If you want answers, use question marks for your questions. It’s not so hard to do, isn’t it?
The longer a post becomes, the more information is in it and maybe the more conclusions are in it to agree on or to disagree, maybe sometimes only because the reader might not always understand what you meant. I don’t want to speak for others but I had a couple of (hard) times to get your point.

That involved using a translator app (DeepL), translating into German, and occasionally I found “but I’ve seen native speakers using different phrases” so I reverse-translated the German translation into English which was in some cases rather different to your post. Kudos to DeepL as it could understand it, but the research “what could be meant” is time-consuming and the longer the post, the more time.

Here’s the German translation of the last paragraph:
Dazu musste ich eine Übersetzungs-App (DeepL) verwenden, ins Deutsche übersetzen und gelegentlich feststellen, dass Muttersprachler andere Ausdrücke verwenden, also habe ich die deutsche Übersetzung ins Englische rückübersetzt, was sich in einigen Fällen ziemlich von Ihrem Beitrag unterschied. Hut ab vor DeepL, denn es konnte es verstehen, aber die Recherche “was könnte gemeint sein” ist zeitaufwändig und je länger der Beitrag, desto mehr Zeit.

And here’s the reverse-translation from DeepL:
To do this I had to use a translation app (DeepL), translate into German and occasionally find that native speakers use different expressions, so I back-translated the German translation into English, which in some cases was quite different from your post. Kudos to DeepL for being able to understand, but researching “what could be meant” is time consuming and the longer the post, the more time.

You see how different the re-translation is? Now, native speakers should judge how close I was (I don’t find it very close), but the whole language interpretation process gets more complicated (and offers more possible failures), the longer a text is. Plus, lots of images in your post act as blocking elements for the reader. Especially because some of your pictures are made to show something, but again, you’re not pointing out details in your picture with graphic elements (balloons, frames, numbers) so the reader has to examine them.

I just tell you, if I would write manuals the way you do your posts, our customers would also complain in maybe less polite ways. They are reading them if they need help. Quickly. Clearly comprehensive. As doubtless as possible. I have to be short. If I try to occupy their time more than necessary, they get very impatient (me too, the other way round). The images need to show “what’s going on” and “what am I expected to do” from the perspective of the user. It’s your decision to turn your back to ungrateful readers, but it’s a two way situation.

Edit: two typos corrected

1 Like

The problem of long text is not the length itself, but the structure and the flow.

  • If the flow is interrupted by e.g. screenshots, I’ll probably quit reading at the second screenshot.
  • If I don’t get a structure, I’ll quit reading after a while

The following might help with longer posts:

  • one topic per paragraph
  • first sentence of a paragraph is for the statement, the question or the properties of the topic. Next sentences help to explain how you come to the statement, question etc.
  • only add a screenshot if it helps. Comment the shot, pointing at the items that should be observed, specially if full screen shots are used.

Lead the readers!

4 Likes

I am not anti databases - they are the fundamental building blocks of any high volume, searchable data storage mechanism. What I am “anti” is badly designed and used databases.

When I started using RDBMSs over thirty years ago, I learnt (and used) the principles of SPOD and the use of referential integrity to minimise possible duplication or spelling errors.

At present, I am able to delete the database whenever I want and PL will rebuild it as needed. Why? because DxO don’t have a SPOD design - they duplicate data in DOP files, mainly using the database as an indexing mechanism for speed of searching. That is, until you want to search a folder that hasn’t yet been indexed - a procedure that can take some considerable time.

Indeed but DxO have decided to conflate image editing data with metadata in the same database.

Now, we have image editing data in two places - DOP and DB; and metadata in, at least, three possible places - DOP, DB, XMP and image files. This violates the SPOD rule in all sorts of ways and, as @platypus has pointed out on many occasions, there is no way of managing errors that can occur when image files are moved outside of PL.

I notice that there is a reconciliation icon for when metadata conflicts occur but there is no indication as to what the conflict is before having to choose between updating the database from an image or the image from the database. Conflict resolution is much more complex than that and needs a small dialog to show what the problem is, in case automatic resolution leads to inadvertant data loss.

I do not delete the database for metadata purposes because all my metadata is stored in the original image file and the macOS Spotlight metadata database/index. I could care less about the DxO database for that purpose.

What I do delete the database for is to resolve differences and conflicts that occur when moving already edited images from one location to another on disk(s), which PL tries to make sense of but, frequently, makes a total mess of (see my support of @platypus request for database management)

As is your prerogative. Some folks use them, some don’t.

And I am sorry but you have never used my app and, therefore, haven’t realised it is 100% compatible with industry standards. Until recently, there were problems with PL not being 100% compatible with those standards, just as some other apps are also non-compliant. But, all credit to DxO, they have now added a preference option to cope with such compatibility (or not). My app manages keywords, their hierarchies and dictionaries - the latter being something that DxO has yet to tackle.

I could ramble on more but, suffice to reiterate, I am not anti database - heck I even designed a complete ORM (object relational model) to provide translation between object classes and SQL tables, complete with the ability to auto-update the database structure where the object model changed, allow users to change what data they wanted to store by using a UI, with no knowledge of how RDBMSs work.

You do realise that most people reading these forums are not DBAs or systems analysts? They are photographers who just want to manage their photos. How that gets done should be a black box, not something they have to deep dive into the internals of when something goes awry.

To the best of my knowledge, DxO will more than likely be using Apple’s Core Data ORM with SQLite as a backend. Fiddling with the raw database is highly likely to upset the various automatic relationship management routines that form part of the ORM - something you do at your own risk but certainly not for the faint-hearted photographer who has difficulty reading voluminous, unstructured, posts.

Nope, because I have never used Lightroom.

Well, I’m sorry but you have that totally wrong. I certainly believe that the DOP files should be the master for image editing data, because they can travel with the image files in the same way that XMP sidecars can travel for metadata purposes. That is, unless DxO can better manage the database for moving edited files which have DOPs.

The problem is that DxO have decided to triplicate metadata in XMP and DOP sidecars and the database when it is only truly necessary to hold the editing in DOP files only and the metadata in XMP files only.

As I have explained before, my app uses the macOS-provided Spotlight database, which is far more efficient at indexing and maintaining metadata than any third-party database because it is integrated in the OS and every time you touch a file, it is automatically updated. Add to that the fact that I embed metadata directly in RAW files and I really have no need for a management app, apart from actually getting the metadata not the RAW files - macOS looks after everything else.

1 Like

Proposition: The single point of definition (SPOD) is in the user rather than a technical entity or design.

  1. Whatever the user does is added to the database, which, imo, is DPL’s key management entity for image customization and metadata. DPL runs nicely without any sidecar files until the SPOD/user starts misbehaving, e.g. moving or renaming files, adding metadata etc. outside of a switched off DPL.

  2. If we accept that the user does misbehave occasionally or repeatedly, any software should be expected to provide the means to fix the things that have been broken by misbehavior.

  3. Suffice to say that DPL has yet to evolve into something that can a) handle misbehavior and b) do it gracefully.

About Sidecars: Accepting that DPL’s database is the thing according to 1. above, .dop sidecars are just database backups and .xmp sidecars as means to exchange metadata.

Well @Joanna no sorrows here, have we??

I just made a test and I´m sorry to disappoint you but it seems that I have come a bit closer to an explanation to the original problem. Below you can see my Database-folder for my Photolab 6 installation.

My test method
I have renamed to original database to “Gammal databas” (or Old database in English"
It has the size of 211 232 kilobytes

Then I opened Photolab again and checked and there was a new totally empty database installed instead of the size of 1 459 kilobytes.

I then opened a few image folders via ImageLibrary and the metadata started to pour in from just these folders I opened them one by one and the database started to grow folder opened by folder opened. In the image below it has grown to 8 527 kilobytes step by step

Some reflections:

There is a couple of problems with this:
First: I think a more fault tolerant system would automatically warn me that the old database was gone/corrupt or abscent. DXO gives us nothing like that and that is totally unacceptable, I think.

Second: I think they should give the user an option to rebuild the database completely reading the .DOP-files or maybe reinstall an automatically made backup created at the last shut down. This could not be all that complicated because it´s all there already - BUT sorry to say, population the empty new database with your bellowed DOP-files will not fix all the problems the loss of the database will create for normal users.

Third: I now see a datasecurity problem with the Photolab Project-system and our Projects and External Selections - THEY ARE OF SOME REASONS NOT RECORDED IN THE DOP-FILES, so if something like this happens with the database those data will be gone for ever. So in order to get that right even the entries we do in the Project-systems needs to be secured in some way outside the database.

A quiet contemplation
Did you know this Joanna and are you still, in good faith relying on your DOP-files and trusting they will keep you safe?? Well I´m not and most users that use the database shouldn´t be. So, it looks like this is another problem with DXO: s structurally grown data mess that they have obvious problems to handle, control and keep in sync.

DXO should really pay some interest to these problems because they will not heal by themselves and the users deserves to have a more fault tolerant system than this.

Yes, some things aren’t recorded in .dop files. Those, who don’t use projects or “Advanced History” and search can trash the database without losing any valuable customizing and metadata. Caveat: other things might be lost and differences between Win and Mac versions exist!

I simply hope that DxO were a bit more open in describing what’s not in the .dop fies and will therefore be lost when the DB is removed. From an asset management point of view, the loss of efficient searching is as bad as it gets, because distributed .dop files can’t provide the same performance as a database search (unless spotlight, which is Mac-only, is used) :exploding_head:

1 Like