File Meta

Plug-in and third party software discussion.
Post Reply
jimspoon
Posts: 161
Joined: Tue Apr 26, 2011 11:39 pm

File Meta

Post by jimspoon »

File Meta ( https://github.com/Dijji/FileMeta ) lets you add properties to files via the File Meta Property Handler. The properties are stored in an alternate file stream. It seems that the properties you can add are drawn from the properties registered in the Windows Property System. As such these properties are indexable and searchable through Windows Search. Added properties will appear in the Details tab of the Properties dialog, the Preview Pane, and the Info Tip. Some of the property values can be edited from the Details tab or the Preview Pane.

You can define a profile of properties to be applied to any given file extension. File Meta comes with two built-in profiles, One is the "OfficeDSOfile" profile, the other is the "Simple" profile.

If a Property Handler is already registered for a given extension, you may be able to add File Meta properties to the existing handler by "extending" the existing handler with the File Meta handler. But in some cases Windows 10 will not allow this, and in this case you will be limited to the properties provided by the existing handler, stored in the primary data stream, not an alternate stream. I don't have any information on which extensions are handled exclusively by the existing handler and can't have properties added by File Meta.

Here is the File Meta Association Manager. It is showing that for PDF files, the File Meta Property Handler is active. The active properties profile is the "Office DSOFile" profiile. On the right side of the screen you can see the properties being shown in the Preview Pane, the Info Tip, and the Details tab:

Image

This is the Custom Profile Definition window where you can define the properties for custom property profiles:

Image

As an experiment, I assigned the "File Meta Property Handler" using the "Simple" properties profile to TXT files, which ordinarily don't have any "Windows System Properties". Then I went to the Properties dialog for a .TXT File. I went to the Details tab and edited the Comment property value:

Image

I clicked OK to make sure the Comment was saved. Then I clicked the AlternateStreams tab from the AltStreamOverlay program and displayed the stream with my comment:

Image

I had to click the "Show as Hex" box to see my comment.

Note that the name of the stream added by File Meta is "{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}" - that stream name is explained here:
https://github.com/Dijji/FileMeta/issues/17

I was also happy to see that I was able to add this Comment property as column in Everything and see the comment I had entered:
Image

I guess Everything would also be able to index this property and its value. It makes sense, since File Meta works with properties already existing in the Windows Property System, but just puts them in alternate streams instead of the primary stream.

It's interesting that the Windows Property System can handle not only properties stored in the primary stream, but also those stored in alternate streams. I guess the capability to handle properties in alternate streams just needs to be programmed into the particular Property Handler.

I like that File Meta enables us to add indexable, searchable, and editable properties to files. But I want to find a way to create my own properties to add to files, i.e. they would not have to be already registered in the Windows Property System by some program. Maybe there is some program out there already that enables us to do that. It would also provide the Property Handler to handle the custom properties so created. This would open up so many possibilities for organizing files.

P.S. I just found an article covering the same ground and much more here (haven't read it yet): https://karl-voit.at/2019/11/26/Tagging ... indows-10/
NotNull
Posts: 5260
Joined: Wed May 24, 2017 9:22 pm

Re: File Meta

Post by NotNull »

Everything will support custom properties. The 'engine' is already part of Everything 1.5, but the UI is still in development.

To manually test: check these instructions


BTW: Thanks for File Meta! Looks very interesting. Will check it out.
jimspoon
Posts: 161
Joined: Tue Apr 26, 2011 11:39 pm

Re: File Meta

Post by jimspoon »

I am looking forward to see how the Everything custom properties develop. First void gave us the ability to substitute custom values for existing file property values via CSV files. The CSV files are named in the property_user_values setting in Everything.ini. (Note - this is not yet a custom property. The CSV file does not create a new property, but assigns a custom value to an existing property, whether an Everything property or a Windows property system property, overriding the value otherwise set.)

Next, void gave us the ability to map properties created by the Total Commander "ntfs_diz" plugin (stored in separate alternate data streams) to Everything custom properties (Custom Property 0 through Custom Property 9). This is done through the property_alternate_data_stream_ansi setting. It seems clear that this command can be used to map any named alternate data stream, not just those made by the Total Commander "ntfs_diz" plugin - because this setting uses the name of the alternate data stream to map to the Everything custom property.

Perhaps it wouldn't be a big stretch to implement a generalized mechanism for creating custom properties and assigning values to them. This could be done using the alternate data streams method described above, or it could be implemented using CSV files as described above. The alternate data streams method has the advantage that the streams follow the file when it is moved within NTFS file systems. I suppose that the biggest advantage of the CSV files method is that Everything knows exactly where to find the properties and values, because the user specifies the location of the CSV files in the property_user_values setting.

It's interesting that File Meta seems to be able to take all kinds of properties registered in the Windows Property System, and apply them to files of each file extension (file type), as alternate data streams of the files. (There seem to be some cases in which Windows 10 won't let you add properties to some files in this way, but leaving those aside for the moment.) But again the properties can't be freely created by the user - this must be done by developers. But maybe a "property definition" program can or has been developed, which users could use to define new properties. I am finding some interesting examples suggestive of this.
Post Reply