[om-list] One Modell note taking

Jean Louis bugs at gnu.support
Sat May 1 12:34:09 EDT 2021


----- Forwarded message from Jean Louis <bugs at gnu.support> -----

Date: Wed, 28 Apr 2021 15:27:24 +0300

Dear Luke,

Great, I can see you have enjoyed creating your own note taking
application. Me I have been working on similar thing and I based my
work on Engelbart's principles. In general I have created system that
can help me semantically find references and create new documents,
complex packages. It is backed up by database.

And I also hae "circle" kind of nodes, for example node 3 can be in
the tree of parent 1, but node 4 could be reference to node 3 and
placed in parent 2. Then any change to node 3 would reflect in all
other nodes which are references to 3.

Some nodes may be published, they are on https://hyperscope.link but
in general, nodes can be published on any website. Publishing is not
so important.

Document to be published or sent by email, or packaged, put on disk,
such document on my side may consist of many various references. Out
of my system I can generate Org file or other types of files.

For now I use it very much as PDF and video dynamic knowledge
repository.

Database tables are still in development, I am showing you how it
looks like on my side.

This below designates my main node "People" which is like top of the
tree, but there can be other tops. Comments below.


                   ID   29
         Date created   "2019-08-25 12:28:43.080827+02"
        Date modified   "2021-04-28 11:59:12.469164+02"
         User created   "maddox"
        User modified   "maddox"
               Status   1
                 Date   nil
           Expiration   nil
              Curator   nil
                 Type   5
            Mime Type   nil
                 Name   "People"
            Hyperlink   ""
            Arguments   nil
          Description   "All about people "
                 Text   ""
                 Tags   "people"
            Parent ID   nil
               Author   nil
           Permission   1
             Revision   nil
      Number of pages   nil
             Language   nil
            File size   nil
          Time length   nil
                Width   nil
               Height   nil
                 Hash   nil
        GPG Signature   nil
                Pages   nil
              Account   nil
              Contact   nil
             Business   nil
          Opportunity   nil
             Priority   76
          Author Name   "Jean Louis"
 Hyperscope Link Properties   "{{CUSTOM_ID,1,Onemore,Two},{More,two,three,four}}"
 Hyperscop Emacs Lisp Hash   "#s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data (\"\" \"\"))"
 HypersScope Links Publisher   nil
                Group   nil
    Assigned to group   nil
  Assigned to contact   nil
                 Rank   294
               Active   t
        Action status   1
      Global priority   100000
         Related file   nil
             Template   nil
                 Area   nil
      Publishing type   nil
                 Slug   nil
              License   nil
            File type   1
               Report   nil
               Tokens   "'follow':2 'follow-up':1 'jean':9 'loui':10 'peopl':4,7,8"


Here comments:

                   ID   29
         Date created   "2019-08-25 12:28:43.080827+02"
        Date modified   "2021-04-28 11:59:12.469164+02"

Date modified is necessary, however, any modification is also recorded
in the vc version control table, so more information about
modifications can be obtained from there.
     
         User created   "maddox"
        User modified   "maddox"

Above should be clear. As system is based on PostgreSQL it allows
collaborators from all over the world. Is your system based on the
multi user database?

               Status   1

Even myself I would not know what this means. I could assign various
statuses here, for now is just default.

                 Date   nil

This date has priority over date created for publishing purposes.

           Expiration   nil

Things can expiry, then they should be deleted or not used any more.

              Curator   nil

Curator is self descriptive.

                 Type   5

Type of node could be just anything: note, task, Org mode in the
database, Org file on the file system, video, image, any file,
Markdown, Asciidoctor, Restructured Text, any kind of markup, HTML, it
can be Emacs Lisp or any other kind of program that can be executed
straight from database, etc.

            Mime Type   nil

Mime type is important when node is a file, this is rather priority
before automatic detection

                 Name   "People"
            Hyperlink   ""

Each node has name and hyperlink. Hyperlink is not necessary URL, it
can be Emacs Lisp, snippet, it could be URI, or file path or
similar. Hyperlink allows the node to move somewhere. But this node is
a "Set" or parent of other nodes, when invoked it just opens list of
other nodes, that is why hyperlink is empty here. The type is "Set".

            Arguments   nil

When video has specific time to be played that is where arguments are
handy. Maybe PDF has to be opened on the page 13, that is where
argument comes handy.

          Description   "All about people "

Description is shorter usually.

                 Text   ""

Text would be the main contents of the node.

                 Tags   "people"

Tags are for now free text with spaces, I am handling it nicely. I
consider maybe defining tags as separate table where there will be no
spelling mistakes.

            Parent ID   nil

Designates parent node.

               Author   nil

Authors are referenced by ID number to people in the database. But if
person is not in the database then Author Name below will be used.

           Permission   1

Permission is important.

             Revision   nil

Revision is sometimes important. It is little different from revision
table. This is more public designation of a revision.

      Number of pages   nil

Some documents like books have number of pages, for PDF files, EPUB or
DJVU, this can be automatically updated.

             Language   nil
            File size   nil
          Time length   nil

Some videos have time length. 

                Width   nil
               Height   nil
                 Hash   nil

This is meant to be hash checksum

        GPG Signature   nil

Some documents can be protected and verified to be from author by
using GPG signature.

                Pages   nil

Number of pages.

              Account   nil
              Contact   nil
             Business   nil
          Opportunity   nil

If document is related to some account, organization, company,
contact, business or some opportunity. I think the more relations is
there, the better we can describe document

             Priority   76
          Author Name   "Jean Louis"
 Hyperscope Link Properties   "{{CUSTOM_ID,1,Onemore,Two},{More,two,three,four}}"

These are link properties, each document is considered "link" and
properties could be anything, like in Org. But not date-like
properties, those I put in extra table.

 Hyperscop Emacs Lisp Hash   "#s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data (\"\" \"\"))"

Emacs Lisp hash is placed here, it could be anything again. Set of
variables that could be updated.

 HypersScope Links Publisher   nil

Publisher

                Group   nil

Groups could be groups of anything, normally people, like 2-3 people
who are not in one single "account". 

    Assigned to group   nil

This I consider important, as task, document, anything could be
assigned to group A. Not only to single person.

  Assigned to contact   nil

But we have it for single person

                 Rank   294

Rank is created based on number of accesses to document. Then it
becomes easy to find most accessed documents even if their names are
forgotten. 

               Active   t
        Action status   1

Action status could be empty, or COMPLETED or ACTION, similar to
TODO. 

      Global priority   100000
         Related file   nil

File or files could be related to the node. This is not same as file
type. As file type would have hyperlink URI to file, but Markdown or
simple text node could be related  to 2-3 other files.

There is special table to relate hyperdocuments such as these nodes
one to each other. 

             Template   nil

This could be any kind of template, like LaTeX or HTML template.

                 Area   nil

Area is WWW website, as my nodes can be published on multiple
websites, system knows how to publish it by rsync or scp, etc.

      Publishing type   nil

This is more related to public or private publishing or protected by
password for no.

                 Slug   nil
              License   nil
            File type   1
               Report   nil

Report is final text, something not necessarily for public. It is used
when task is finished. 

               Tokens   "'follow':2 'follow-up':1 'jean':9 'loui':10 'peopl':4,7,8"

Tokens are automatically generated by PostgreSQL as for full text
search, it helps finding documents quickly.

I use Emacs for management, but system could be used from WWW but is
not same then.

For your WWW template I suggest you make maybe more spaces between
itemized lines. It would help readability. Myself I have good
templates, but also did not yet implement it, it is trival.

I can have Asciidoctor type:
https://hyperscope.link/3/6/8/7/6/First-asciidoctor-hyperdocument-36876.html

or Markdown type created HTML:
https://hyperscope.link/3/6/8/7/5/Practical-example-of-using-Androzic-or-Trekarta-to-navigate-by-day-or-night-36875.html

but I could use any kind of template and documents could be published
on various websites.

It is similar to your system.

I am reading your website.


Jean

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

Sign an open letter in support of Richard M. Stallman
https://stallmansupport.org/
https://rms-support-letter.github.io/
----- End forwarded message -----


More information about the om-list mailing list