[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