all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* file metadata
@ 2024-10-11 22:22 Christopher Howard
  2024-10-12  7:16 ` Dan Hitt
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Christopher Howard @ 2024-10-11 22:22 UTC (permalink / raw)
  To: Help Gnu Emacs Mailing List

Hi, I have a bunch of files in various project that have non-descriptive names, but I don't want to change the file names, nor the file contents. It would be nice if there was some way I could display my own description of the file next to the the file listing, say in dired. Do we have any kind of extension, ideally with dired integration, that provides some of kind of file metadata system, or interacts with a third party metadata system?

-- 
📛 Christopher Howard
🚀 gemini://gem.librehacker.com
🌐 http://gem.librehacker.com

בראשית ברא אלהים את השמים ואת הארץ



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-11 22:22 Christopher Howard
@ 2024-10-12  7:16 ` Dan Hitt
  2024-10-14 14:47   ` Christopher Howard
  2024-10-13 22:54 ` Jean Louis
  2024-10-14 22:15 ` James Thomas
  2 siblings, 1 reply; 10+ messages in thread
From: Dan Hitt @ 2024-10-12  7:16 UTC (permalink / raw)
  To: Christopher Howard; +Cc: Help Gnu Emacs Mailing List

That's a really good question.

You didn't mention your underlying OS or filesystem, although i guess we'd
want emacs to work with whatever metadata system is present.

Do you already have some extra metadata assigned (say with an attribute
called 'description') through (e.g.) ext4?

dan

On Fri, Oct 11, 2024 at 3:23 PM Christopher Howard <
christopher@librehacker.com> wrote:

> Hi, I have a bunch of files in various project that have non-descriptive
> names, but I don't want to change the file names, nor the file contents. It
> would be nice if there was some way I could display my own description of
> the file next to the the file listing, say in dired. Do we have any kind of
> extension, ideally with dired integration, that provides some of kind of
> file metadata system, or interacts with a third party metadata system?
>
> --
> 📛 Christopher Howard
> 🚀 gemini://gem.librehacker.com
> 🌐 http://gem.librehacker.com
>
> בראשית ברא אלהים את השמים ואת הארץ
>
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-11 22:22 Christopher Howard
  2024-10-12  7:16 ` Dan Hitt
@ 2024-10-13 22:54 ` Jean Louis
  2024-10-14 22:15 ` James Thomas
  2 siblings, 0 replies; 10+ messages in thread
From: Jean Louis @ 2024-10-13 22:54 UTC (permalink / raw)
  To: Christopher Howard; +Cc: Help Gnu Emacs Mailing List

* Christopher Howard <christopher@librehacker.com> [2024-10-12 01:24]:
> Hi, I have a bunch of files in various project that have non-descriptive names, but I don't want to change the file names, nor the file contents. It would be nice if there was some way I could display my own description of the file next to the the file listing, say in dired. Do we have any kind of extension, ideally with dired integration, that provides some of kind of file metadata system, or interacts with a third party metadata system?

Oh yes, I do that all the time, that is my main thing. I have too many documents, too many legal entities, employees, reports, and it is not possible to work with the file system only.

System is fully functional, though it requires personal guidance and patience to be installed. Once installed, it works fine, it would fully satisfy your needs.


RCD Notes & Hyperscope for GNU Emacs, The Dynamic Knowledge Repository:
https://gnu.support/gnu-emacs/rcd-notes-for-gnu-emacs/index.html

RCD Notes for GNU Emacs is Dynamic Knowledge Repository designed as envisioned by Doug Engelbart. Backed up by PostgreSQL relational database, RCD Notes provides features such as people management also known as CRM or Customer Relationship Management, ERP or Enterprise Resource Planning, WRS or Website Revision System and Hyperscope Dynamic Knowledge Repository. It uses any kind of Emacs major modes and any kind of lightweight markup languages for editing and writing of any of elementary objects.

Here is small video demonstration:

https://gnu.support/images/2024/10/2024-10-14/2024-10-14-01:48:10.ogv

It has tags, tag types, each tag can have tags, different language,
related person, rank, system is actually extensible on the go, it has
85 different rather fixed properties for each elementary object, plus
unlimited properties, with unlimited property types, types, subtypes,
all extensible and customizable by user. It's fantastic, it is also
good money maker system for me.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

✡️🛡️ Proudly standing with Israel, a nation rooted in history and culture. Let's condemn hatred and promote understanding.

In support of Richard M. Stallman
https://stallmansupport.org/



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-12  7:16 ` Dan Hitt
@ 2024-10-14 14:47   ` Christopher Howard
  0 siblings, 0 replies; 10+ messages in thread
From: Christopher Howard @ 2024-10-14 14:47 UTC (permalink / raw)
  To: Dan Hitt; +Cc: Help Gnu Emacs Mailing List

Dan Hitt <dan.hitt@gmail.com> writes:

> You didn't mention your underlying OS or filesystem, although i guess we'd
> want emacs to work with whatever metadata system is present.
>

I am using ext4, and Emacs 30.0.91 (build 12, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-10-09. I am running Guix System x86_64.

> Do you already have some extra metadata assigned (say with an attribute
> called 'description') through (e.g.) ext4?
>

I do not, but I am opened minded regarding this.

-- 
Christopher Howard



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-11 22:22 Christopher Howard
  2024-10-12  7:16 ` Dan Hitt
  2024-10-13 22:54 ` Jean Louis
@ 2024-10-14 22:15 ` James Thomas
  2024-10-15 22:48   ` James Thomas
  2 siblings, 1 reply; 10+ messages in thread
From: James Thomas @ 2024-10-14 22:15 UTC (permalink / raw)
  To: Christopher Howard; +Cc: Help Gnu Emacs Mailing List

Christopher Howard wrote:

> Hi, I have a bunch of files in various project that have
> non-descriptive names, but I don't want to change the file names, nor
> the file contents. It would be nice if there was some way I could
> display my own description of the file next to the the file listing,
> say in dired. Do we have any kind of extension, ideally with dired
> integration, that provides some of kind of file metadata system, or
> interacts with a third party metadata system?

I had a system where I used:

(let ((backup-directory-alist '(("." . "~/denote"))))
  (make-backup-file-name-1 (expand-file-name
  (file-name-with-extension filename "org"))))

...to automatically check for a corresponding denote file with metadata.

Regards,
James



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
       [not found] <mailman.80.1728955562.19238.help-gnu-emacs@gnu.org>
@ 2024-10-15 11:16 ` gfp
  2024-10-15 20:20   ` Jean Louis
  0 siblings, 1 reply; 10+ messages in thread
From: gfp @ 2024-10-15 11:16 UTC (permalink / raw)
  To: help-gnu-emacs


[-- Attachment #1.1.1: Type: text/plain, Size: 2963 bytes --]

Hi Jean,

thanks for sharing.

> System is fully functional, though it requires personal guidance and patience to be installed. Once installed, it works fine, it would fully satisfy your needs.

How can I install RCD Notes & Hyperscope?

Gottfried


Message: 5
Date: Mon, 14 Oct 2024 01:54:39 +0300
From: Jean Louis <bugs@gnu.support>
To: Christopher Howard <christopher@librehacker.com>
Cc: Help Gnu Emacs Mailing List <help-gnu-emacs@gnu.org>
Subject: Re: file metadata
Message-ID: <ZwxPrwPMkpdFqGsk@lco2>
Content-Type: text/plain; charset=utf-8

* Christopher Howard <christopher@librehacker.com> [2024-10-12 01:24]:
 > Hi, I have a bunch of files in various project that have 
non-descriptive names, but I don't want to change the file names, nor 
the file contents. It would be nice if there was some way I could 
display my own description of the file next to the the file listing, say 
in dired. Do we have any kind of extension, ideally with dired 
integration, that provides some of kind of file metadata system, or 
interacts with a third party metadata system?

Oh yes, I do that all the time, that is my main thing. I have too many 
documents, too many legal entities, employees, reports, and it is not 
possible to work with the file system only.

System is fully functional, though it requires personal guidance and 
patience to be installed. Once installed, it works fine, it would fully 
satisfy your needs.


RCD Notes & Hyperscope for GNU Emacs, The Dynamic Knowledge Repository:
https://gnu.support/gnu-emacs/rcd-notes-for-gnu-emacs/index.html

RCD Notes for GNU Emacs is Dynamic Knowledge Repository designed as 
envisioned by Doug Engelbart. Backed up by PostgreSQL relational 
database, RCD Notes provides features such as people management also 
known as CRM or Customer Relationship Management, ERP or Enterprise 
Resource Planning, WRS or Website Revision System and Hyperscope Dynamic 
Knowledge Repository. It uses any kind of Emacs major modes and any kind 
of lightweight markup languages for editing and writing of any of 
elementary objects.

Here is small video demonstration:

https://gnu.support/images/2024/10/2024-10-14/2024-10-14-01:48:10.ogv

It has tags, tag types, each tag can have tags, different language,
related person, rank, system is actually extensible on the go, it has
85 different rather fixed properties for each elementary object, plus
unlimited properties, with unlimited property types, types, subtypes,
all extensible and customizable by user. It's fantastic, it is also
good money maker system for me.
-- 
Mit freundlichen Grüßen

G. Preihs

()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments

Why is HTML email a security nightmare? See https://useplaintext.email/

Please avoid sending me MS-Office attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2451 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 665 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-15 11:16 ` file metadata gfp
@ 2024-10-15 20:20   ` Jean Louis
  0 siblings, 0 replies; 10+ messages in thread
From: Jean Louis @ 2024-10-15 20:20 UTC (permalink / raw)
  To: gfp; +Cc: help-gnu-emacs

With my persönliches Guidance.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

✡️🛡️ Proudly standing with Israel, a nation rooted in history and culture. Let's condemn hatred and promote understanding.

In support of Richard M. Stallman
https://stallmansupport.org/



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-14 22:15 ` James Thomas
@ 2024-10-15 22:48   ` James Thomas
  2024-10-15 23:32     ` James Thomas
  0 siblings, 1 reply; 10+ messages in thread
From: James Thomas @ 2024-10-15 22:48 UTC (permalink / raw)
  To: Christopher Howard; +Cc: Help Gnu Emacs Mailing List

James Thomas wrote:

> Christopher Howard wrote:
>
>> Hi, I have a bunch of files in various project that have
>> non-descriptive names, but I don't want to change the file names, nor
>> the file contents. It would be nice if there was some way I could
>> display my own description of the file next to the the file listing,
>> say in dired. Do we have any kind of extension, ideally with dired
>> integration, that provides some of kind of file metadata system, or
>> interacts with a third party metadata system?
>
> I had a system where I used:
>
> (let ((backup-directory-alist '(("." . "~/denote"))))
>   (make-backup-file-name-1 (expand-file-name
>   (file-name-with-extension filename "org"))))
>
> ...to automatically check for a corresponding denote file with metadata.

Wth, I decided to write it again. Sharing if useful for Denote users:

--8<---------------cut here---------------start------------->8---
;; Metadata for files

(defun denote-metadata (file)
  (interactive
   (list (read-file-name "Metadata for file: ")))
  (find-file
   (let* ((backup-directory-alist `(("." . ,(denote-directory))))
	  (name (make-backup-file-name-1
		 (expand-file-name file))))
     (expand-file-name
      (concat
       (denote-get-identifier) "--"
       (file-name-nondirectory name) ".org")
      (file-name-directory name))))))

(defun my/dired-mark-files-with-metadata nil
  (interactive)
  (save-excursion
    (let* ((backup-directory-alist '(("." . "/")))
	   (d (file-relative-name
	       (make-backup-file-name-1
		(expand-file-name default-directory))
	       "/"))
	   temp
	   (hits 0))
      (mapcar
       (lambda (f)
	 (goto-char (point-min))
	 (when
	     (search-forward-regexp
	      (format
	       "\\s %s[*@]?$"
	       (file-name-sans-extension
		(string-remove-prefix
		 d
		 (string-trim-left
		  f (concat denote-id-regexp "--")))))
	      nil t)
	   (setq hits (1+ hits))
	   (dired-mark 1)))
       (directory-files
	(denote-directory) nil
	(concat "\\`" denote-id-regexp "--" d)))
      (message "%d files with metadata marked" hits))))
--8<---------------cut here---------------end--------------->8---

--



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-15 22:48   ` James Thomas
@ 2024-10-15 23:32     ` James Thomas
  2024-10-15 23:36       ` James Thomas
  0 siblings, 1 reply; 10+ messages in thread
From: James Thomas @ 2024-10-15 23:32 UTC (permalink / raw)
  To: Christopher Howard; +Cc: Help Gnu Emacs Mailing List

James Thomas wrote:

> James Thomas wrote:
>
>> Christopher Howard wrote:
>>
>>> Hi, I have a bunch of files in various project that have
>>> non-descriptive names, but I don't want to change the file names, nor
>>> the file contents. It would be nice if there was some way I could
>>> display my own description of the file next to the the file listing,
>>> say in dired. Do we have any kind of extension, ideally with dired
>>> integration, that provides some of kind of file metadata system, or
>>> interacts with a third party metadata system?
>>
>> I had a system where I used:
>>
>> (let ((backup-directory-alist '(("." . "~/denote"))))
>>   (make-backup-file-name-1 (expand-file-name
>>   (file-name-with-extension filename "org"))))
>>
>> ...to automatically check for a corresponding denote file with metadata.
>
> Wth, I decided to write it again. Sharing if useful for Denote users:

Updated version that accounts for 'keywords' (_after_ the original file
extension):

--8<---------------cut here---------------start------------->8---
;; Metadata for files

(defun denote-metadata (file)
  (interactive
   (list (read-file-name "Metadata for file: ")))
  (find-file
   (let* ((backup-directory-alist `(("." . ,(denote-directory))))
	  (name (make-backup-file-name-1
		 (expand-file-name file))))
     (expand-file-name
      (concat
       (denote-get-identifier) "--"
       (file-name-nondirectory name) ".org")
      (file-name-directory name))))))

(defun my/dired-mark-files-with-metadata nil
  (interactive)
  (save-excursion
    (let* ((backup-directory-alist '(("." . "/")))
	   (d (file-relative-name
	       (make-backup-file-name-1
		(expand-file-name default-directory))
	       "/"))
	   temp
	   (hits 0))
      (mapcar
       (lambda (f)
	 (goto-char (point-min))
	 (when
	     (search-forward-regexp
	      (format
	       "\\s %s[*@]?$"
	       (string-remove-suffix
		(if (setq temp (denote-retrieve-filename-keywords f))
		  (concat "__" temp) "")
		(file-name-sans-extension
		 (string-remove-prefix
		  d
		  (string-trim-left
		   f (concat denote-id-regexp "--"))))))
	      nil t)
	   (setq hits (1+ hits))
	   (dired-mark 1)))
       (directory-files
	(denote-directory) nil
	(concat "\\`" denote-id-regexp "--" d)))
      (message "%d files with metadata marked" hits))))
--8<---------------cut here---------------end--------------->8---

--



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: file metadata
  2024-10-15 23:32     ` James Thomas
@ 2024-10-15 23:36       ` James Thomas
  0 siblings, 0 replies; 10+ messages in thread
From: James Thomas @ 2024-10-15 23:36 UTC (permalink / raw)
  To: Christopher Howard; +Cc: Help Gnu Emacs Mailing List

James Thomas wrote:

> James Thomas wrote:
>
>> James Thomas wrote:
>>
>>> Christopher Howard wrote:
>>>
>>>> Hi, I have a bunch of files in various project that have
>>>> non-descriptive names, but I don't want to change the file names, nor
>>>> the file contents. It would be nice if there was some way I could
>>>> display my own description of the file next to the the file listing,
>>>> say in dired. Do we have any kind of extension, ideally with dired
>>>> integration, that provides some of kind of file metadata system, or
>>>> interacts with a third party metadata system?
>>>
>>> I had a system where I used:
>>>
>>> (let ((backup-directory-alist '(("." . "~/denote"))))
>>>   (make-backup-file-name-1 (expand-file-name
>>>   (file-name-with-extension filename "org"))))
>>>
>>> ...to automatically check for a corresponding denote file with metadata.
>>
>> Wth, I decided to write it again. Sharing if useful for Denote users:
>
> Updated version that accounts for 'keywords' (_after_ the original file
> extension):

Never mind that: breaks the first function.

(I'll see myself out now)

--



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-10-15 23:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.80.1728955562.19238.help-gnu-emacs@gnu.org>
2024-10-15 11:16 ` file metadata gfp
2024-10-15 20:20   ` Jean Louis
2024-10-11 22:22 Christopher Howard
2024-10-12  7:16 ` Dan Hitt
2024-10-14 14:47   ` Christopher Howard
2024-10-13 22:54 ` Jean Louis
2024-10-14 22:15 ` James Thomas
2024-10-15 22:48   ` James Thomas
2024-10-15 23:32     ` James Thomas
2024-10-15 23:36       ` James Thomas

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.