Discussion:
[tw5] New filter operator: kindred: Filter tiddlers by tags (or any fields) recursively
(too old to reply)
bimlas
2018-10-26 12:59:07 UTC
Permalink
I just finished my filter operator plugin what I would like to be merged in
to the next release of TiddlyWiki. Before I opening a Pull Request for it,
I want to be sure that this is usefull enough and the behaviour is clean.
Please try out the attached demo and tell me your opinions!

Usage examples:

- Find tag intersections in any depth
- Check similiarity between Tiddlers by any field
- Generate Table of Contents dinamically (actually I don't know how to
do, but I'm sure that this is possible)
- Find orphaned tiddlers
- Search in family trees, bus schedules, etc. for common elements

Example: Check similarity between two tiddlers (find common "family
members")

[kindred[Variables]kindred[Filter Expression]]

- Hide
- Concepts
- Reference
- TableOfContents
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/513cf257-1377-4f6a-b41e-b4d5da30a2cc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-27 04:06:07 UTC
Permalink
Bimlas,

I was delayed in reviewing your demo, and the truth is despite our previous
conversations, I at first felt lost. I think we can add to you
documentation.

I think in part the reason I was lost was because it is so elegant and
powerful that in someways, it is hard to believe.

So let me voice its functionality and you can feel free to correct me.

Bimlas's Kindred operator allows you to filter based how tiddlers are
related, This relationship can be determined using the default tags field,
or any other field.

Lets consider the use of a table of contents macro. We choose a root
tiddler, and and the toc macro looks for each tiddler tagged with the root
tiddler, listing its child(ren), it then looks for all the tiddlers tagged
with each child and further down until it can no longer find any more tags
to follow. This produces a TOC for us. You could say that every tiddler in
a TOC is related or a Kindred of the root tiddler. Ie this is a unique set
of tiddlers defined by their membership of this Tree.

Using the filter "[kindred[TableOfContents]]" we will see every member of
this tree, and "[kindred[TableOfContents]count[]]" will tell you how many
items are in this set (tree).

If instead you target one of the children with the kindred operator you
will have its children and its ancestors returned (not the whole tree)

You can also use kindredup to get the ancestors and this includes with more
than one parent mentioned.
You can also use kindreddown to get the children and grand children etc..
without the parents.

In the case of tags it is possible to have multiple parents, but if you we
using Marios New Here with Parent Button you could use the parent field (as
yet untested by me) you could choose not to have multiple parents. Only
single parents - good for many standard hierarchies. In these circumstances
I believe you will be able to determine the "Path" to an individual tiddler
from the root down.

What is important to understand is you can now rapidly generate lists of
such related tiddlers and use them with additional filters for some very
sophisticated outcomes

For example you can find the siblings of Examples with the following filter;

[kindreddown[HelloThere]!kindreddown[Examples]]

In the above example "Examples" is a child of HelloThere.

I expect we can do some very sophisticated operations with Bimlas's very
helpful Filter Operator. I believe their remains a lot to be explored when
it is simple with filters to do various set manipulations like unions,
removal of one set of items from a larger set of items, not in set etc...

Very good work Bimlas.

Regards
Tony
Post by bimlas
I just finished my filter operator plugin what I would like to be merged
in to the next release of TiddlyWiki. Before I opening a Pull Request for
it, I want to be sure that this is usefull enough and the behaviour is
clean. Please try out the attached demo and tell me your opinions!
- Find tag intersections in any depth
- Check similiarity between Tiddlers by any field
- Generate Table of Contents dinamically (actually I don't know how to
do, but I'm sure that this is possible)
- Find orphaned tiddlers
- Search in family trees, bus schedules, etc. for common elements
Example: Check similarity between two tiddlers (find common "family
members")
[kindred[Variables]kindred[Filter Expression]]
- Concepts
- Reference
- TableOfContents
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/3db4f196-8dcc-42cb-ba46-01e645eea78c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-27 21:14:43 UTC
Permalink
I am grateful to you for being my "proper English voice". :) You clearly
see the benefits of the filter and your description is correct.

As I re-read the code and the "documentation", I realized that "kindred" is
a silly, unclear name for describing the purpose of the filter, thus I
renamed it:

*The new name of the filter is "connects" (instead of "kindred"): If you
didn't understand the behaviour earlier, then please try it again, I
rewrote the documentation and simplified the usage.*

The HTML file is attached, but the most recent demo can be found at
https://bimlas.gitlab.io/demo/tw5/connects-filter.html

I hope it's easier to understand and people will recognize the
possibilities.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/81cf66f0-cc0d-4e9e-9835-1972ff8f6eb0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-27 05:15:40 UTC
Permalink
Bimlas,

A Little update. I tested this with "Marios new here with parent", because
it assumes only one Parent, it will thus not delimit the tiddler name so
parent: "parent 1" will be interpreted by kindred as "parent" and "1".

Thus since kindred is designed to work with tags, we could say it assumes
other fields only contain tiddler titles appropriately delimited.

I think in this case you need to document this fact, but the solution is
possibly to improve Marios tool than to change yours, unless you have a way
to treat some fields as single title fields, and others as title lists.


Regards
Tony
Post by bimlas
I just finished my filter operator plugin what I would like to be merged
in to the next release of TiddlyWiki. Before I opening a Pull Request for
it, I want to be sure that this is usefull enough and the behaviour is
clean. Please try out the attached demo and tell me your opinions!
- Find tag intersections in any depth
- Check similiarity between Tiddlers by any field
- Generate Table of Contents dinamically (actually I don't know how to
do, but I'm sure that this is possible)
- Find orphaned tiddlers
- Search in family trees, bus schedules, etc. for common elements
Example: Check similarity between two tiddlers (find common "family
members")
[kindred[Variables]kindred[Filter Expression]]
- Concepts
- Reference
- TableOfContents
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/2596f15f-591f-4d4b-b5da-f9bb9d0a051f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-27 21:25:54 UTC
Permalink
Thanks for your investigation!

I think that it would be wrong to hardcode some predefined fields
("parents") to take as a single-title field... Maybe extend the suffix to
something like this?

[connects:parents:with:single[Some Tiddler]]

Here "single" signs that the field should be treated as a single title.

I don't like this idea, but it would be possible and easier than modifying
an already used solution (PMario's plugin): the tiddlers are already exists
and modifying the plugin will not update the tiddlers' field automatically
to the new syntax.

(note for myself: I have to learn English, because I cannot express my
thoughts as I want)
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/941c4935-ea27-4105-82bb-c244cbc213aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-28 04:51:43 UTC
Permalink
Bimlas,

Once I realised, I thought kindred was a great choice "connects" works as well, but it implies other connections as well.

I understand your suggestion, but it does not follow an established convention to my knowledge. Lets keep looking for a possibly better method. Is there a way to detect if a field other than tags is or is not handling multiple tiddlers? Could we set a value that told connects that the "parent" field is not a multi title field and treat it as one title?

Eg:
<$set name=connects-single-title-fields value="parent spouse">
<!-- tells connects filter to treat parent and spouse fields as containing a single title not a list, as in tag fields, this could be a global variable -->

<$list filter="[connects...

</$list>

</$set>

On learning english, dont be too hard on yourself, we can help each other, and what better way of learning with conversation?

Regards
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/386a96ea-d775-4c85-ba22-9e83c87d2fe9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-28 10:08:02 UTC
Permalink
I see that my solution is not an established convention, but using
"external" variables makes this option useless in Advanced Search, it would
be available only in tiddlers as in your example.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c019a04b-bab7-42c5-a059-439297c2ba9a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Lyn Headley
2018-10-27 23:16:22 UTC
Permalink
Hello,

would it be possible to use this plugin to create a filter which would
export all tiddlers tagged with a tag -- along with all of the tiddlers
they link to, and they tiddlers THEY link to, recursively...?

This would help me with a workflow I want to use: To publish a portion of
my private wiki by exporting it and importing it into a public one.

-Lyn
Post by bimlas
I just finished my filter operator plugin what I would like to be merged
in to the next release of TiddlyWiki. Before I opening a Pull Request for
it, I want to be sure that this is usefull enough and the behaviour is
clean. Please try out the attached demo and tell me your opinions!
- Find tag intersections in any depth
- Check similiarity between Tiddlers by any field
- Generate Table of Contents dinamically (actually I don't know how to
do, but I'm sure that this is possible)
- Find orphaned tiddlers
- Search in family trees, bus schedules, etc. for common elements
Example: Check similarity between two tiddlers (find common "family
members")
[kindred[Variables]kindred[Filter Expression]]
- Concepts
- Reference
- TableOfContents
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/63b06ddc-5b49-4827-8ca2-09c6f6255109%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-28 04:33:04 UTC
Permalink
Lyn,

Short answer is yes.kindred (now connect) is perfect for this, if by link you mean using the same conection method as the toc, ie children are tagged with their parent yes.

Because kindred/connect is a filter you can generate a list of everything in a toc heirachy, thus use this filter in advanced search and you can export the result from there. Even create a saved filter.

Regards
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/f26be31f-e9b9-4a49-856e-18d1608c5d82%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-28 10:32:51 UTC
Permalink
Thanks for your question, Lyn! It's a great example usage of this filter!

Try out yourself: for example you want to extract Filters from the ToC of
the demo (TableOfContents -> Reference -> Filters)

- Open the demo at https://bimlas.gitlab.io/demo/tw5/connects-filter.html
- Write "[connects:tags:to[Filters]] [[TableOfContents]]" into the
Advanced Search: it will list everything "under" Filters, plus the
TableOfContents tiddler (just to avoid the creating it manually in the new
wiki)
- Press the Export Tiddlers button in the Advanced Search and select
JSON File: it will export the matching tiddlers in to a JSON file
- Open an empty wiki at https://tiddlywiki.com/empty.html
- Drag and drop the JSON file to it and press Import
- Open the "Filters" tiddler and add the "TableOfContents" tag to it to
be visible in the ToC sidebar

Note that this works, but it's just exporting the tiddler which are
connected by tags - the links (and images, etc.) in the tiddler text will
be broken if it point so a non-imported tiddler. For example see Filters ->
Dominant Append: the link "Filters" in the text works, because that tiddler
is imported, while "sets of titles" is missing, because it's not connects
by tags to "Filters".

I attached the exported Filters tree.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/1cefb7da-833e-411a-9ed8-7ff6a446875d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-28 10:03:17 UTC
Permalink
*Because I'm not sure about the name and the deployment of the plugin,
please fill out the form at https://goo.gl/forms/bywjS7UiuaosfRlR2 to help
me in decisions!*
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/3b12526d-a260-4b28-a253-cb98e2237cc7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-28 12:17:16 UTC
Permalink
Bimlas,

I nominated kin perhaps even better than kindred due to its size. Kin is a short version which can be considered family in english, and I have heard people whos native tounge is not english use it, but I know the U.S. understand kin.

The value of your first choice is because kin includes both ansestors or anticedents and decendants (children grand children).

I look forward to others opinions of course, but of note to me is if anyone is using your filter operator then they need to already understand heirachical structures, and understand inheritance and other concepts.

I will be using this in things I hope others will use, even if they do not understand the role the filter plays in the result.

I would be happy to write supporting documentation and also hope to use it to also represent family trees that is with two parents such as mother and father. I expect this aspect to be very popular.

However, personally, I will use it most in constructing new and novel ways of organising information or knowledge, in hybrid network and heirachical database models. This is why if it does not have too much overhead I think it should be in the core, or at least in standard distributions

I have not yet worked out how far I can take this filter, combined with itself or other filters, but I expect it will go along way. Wow.

If I were currently earning more, I would make a donation to your effort, and when I do I will, just as I would to others.

If you dont get enough responces to your survey, let me know and I will help promote it.

I feel like we are collaborating on this, and thanks.

I hope this is not too hard to read :)

Regards
Tony

Thanks
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c07d96ac-da3c-4138-a0d8-744522ec8118%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-28 20:38:20 UTC
Permalink
Yeah, I feel the same. :D

I would be pleased if you could write the documentation - it seems that you
are the best for this work, because you understand the filter clearly and
speeking English well. :) But I don't know, where should the documentation
be available? As I see, the reference contains only minimal description
about the filters (https://tiddlywiki.com/static/Filter%2520Operators.html)
and there is no other place to explain the behaviour.

Do you know Git? Can we collaborate on GitHub/GitLab or should we stay here?
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/bbd66348-c834-40ae-8092-df1f11a50b2b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-29 00:39:55 UTC
Permalink
Bimlas,

I can use Git but only a newbie, Set it up and I will go there.

Regards
Tony
Post by bimlas
Yeah, I feel the same. :D
I would be pleased if you could write the documentation - it seems that
you are the best for this work, because you understand the filter clearly
and speeking English well. :) But I don't know, where should the
documentation be available? As I see, the reference contains only minimal
description about the filters (
https://tiddlywiki.com/static/Filter%2520Operators.html) and there is no
other place to explain the behaviour.
Do you know Git? Can we collaborate on GitHub/GitLab or should we stay here?
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c7d6a090-3288-4b1a-a141-d5f9c0cb56ce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-30 00:24:05 UTC
Permalink
Bimlas, (Just found this previously unsent post)

The Documentation macros make adding documentation to tiddlywiki.com quite
exhausting especially for the operators, and I am not sure there is support
for the two suffixes in the documentation.

It appears that use of a second suffix is not defined
in https://tiddlywiki.com/#Filter%20Step so additional changes will be
required. We need to seek support from the experienced developers on this.

This is however possible. I have attached an incomplete draft of such
documentation.

Regards
Tony
Post by bimlas
Yeah, I feel the same. :D
I would be pleased if you could write the documentation - it seems that
you are the best for this work, because you understand the filter clearly
and speeking English well. :) But I don't know, where should the
documentation be available? As I see, the reference contains only minimal
description about the filters (
https://tiddlywiki.com/static/Filter%2520Operators.html) and there is no
other place to explain the behaviour.
Do you know Git? Can we collaborate on GitHub/GitLab or should we stay here?
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c7c58fd9-55db-42f4-91bb-3383623153e8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-30 06:38:53 UTC
Permalink
Post by TonyM
The Documentation macros make adding documentation to tiddlywiki.com
quite exhausting especially for the operators, and I am not sure there is
support for the two suffixes in the documentation.
As I see you are modifying the very first version of the documentation,
please check https://bimlas.gitlab.io/demo/tw5/kin-filter.html for an
updated one - here I tried to document the format of the suffix.
Post by TonyM
It appears that use of a second suffix is not defined in
https://tiddlywiki.com/#Filter%20Step so additional changes will be
required. We need to seek support from the experienced developers on this.
For opening the Pull Request, I think that the reference page + examples
are enough. If Jeremy doesn't likes something, then we can change that,
thus I don't like to include too much documentation for first.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/6a6fcef0-5a00-4179-a277-906c2bb587d8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-30 06:47:11 UTC
Permalink
The notation that you use in the doc is just in plan, it's not exists yet
and I'm not sure that this syntax will be the final!
(kindredup::-1[target-tiddler]) Besides this, please use the current syntax
(so the example would be "kin::from:-1[target-tiddler]", but as I said, -1
is just in plan!).

The note part is basically the Examples, those should be documeted
separatelly (write them to "kin Operator Examples", which can be reached by
clicking on Examples on the bottom of the tiddler).

BTW a big thanks for writing the documentation.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/370649a3-7756-4ee1-b7e2-b7b505132a17%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-28 20:48:35 UTC
Permalink
About naming/promotion: "kin" is OK for me. I created the form to get some
response about the users, "is it good for them?", but the final answer will
come from Jeremy, thus I don't mind if there is not enough answers. It's
just a way for users to explain their opinions, not a requirement. But
thanks for contributing, if you would like, feel free to spread the world
about the filter. .)
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/3160d43f-f702-4971-a85a-83fcab021d19%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-28 21:27:04 UTC
Permalink
I just changed my mind and tweeted about the plugin: more users could give
more ideas and use cases, so promotion is OK, but please direct them to
here too.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/a22399cf-0167-43cc-a98e-c190f3e9203f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
@TiddlyTweeter
2018-10-29 08:42:22 UTC
Permalink
Ciao bimlas

Its of interest to me because it may provide a way to navigate "kin" in TW.
By which I mean "human kinship"--the kind of thing genealogists and
anthropologists are interested in.

FWIW, I tried in TW several times to produce "kinship trees"--and failed.
Others have too through diagramming, and that didn't work either. For
instance even TiddlyMap can't do it.

*The formal issue is that human kinship is a combination of "relationships"
of Equality and Hierarchy*.

For instance: "John Bolt" is a blood descendant (hierarchy) of "Father
Bolt" and "Mother Bolt (married name)" through their marriage (equality).
The issue is that the descent is from both parents *from their marriage,*
not from them individually.

In all the attempts I seen so far to tackle this problem in TW they end up
with the descendent only having ONE parent, not two :-).

I'm still playing with your tool so I'm still not clear if it can help me
with the issue of being able to navigate human "kinship trees". But I
thought the example might be of interest.

Best wishes
Josiah
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/107b4771-f988-462c-81a3-9304a1efac41%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-29 11:29:12 UTC
Permalink
Josiah,

I had not tried to build geneological trees yet to see the problem in tiddlywiki. I am confident I have a way and the kin opperator would help.

Basicaly you need a paternal and matralinial tree. However if you tag a child with a parent tiddler and that tiddler is female it is the childs mother. Step families etc can also make it more complex.

However the world can be more complex, especialy with modern reproductive technology.

Never the less if you have some pointers to how these are handled in geneology do share so we can find a way.

Regards
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/614abbf8-83ec-4d47-8bdf-0c4a7fa093cd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
@TiddlyTweeter
2018-10-29 11:55:47 UTC
Permalink
Thanks TonyM for bright thoughts ... but I think it would be a mistake to
get too far into in the variants of human kinship too early :-) to avoid
getting into knots. I was just interested if this can depict biological
relatedness first :-).

---

FWIW, for your interest, TonyM, in anthropology we actually use
"categorical kin terms" (i.e. usually the words people use daily to name
their relatives) .. so, for instance, in some cultures a (blood) son of a
father may have several people he equally calls "father" (usually the
biological father's brothers or sometimes the brothers of the mother,
depending on the culture). So you may have one biological genitor, but
multiple "fathers".

However, the pragmatic assumption of "father" & "mother" with biological
descendants remains a skeleton of kinship (thee HAS to be some biological
basis :-) even if, in reality, the same "chart" also can deal with
adoption, non-marriage partnerships, fictive kin, etc.

All that would be for later. Much later. :-)
Josiah

TonyM ...
Post by TonyM
I had not tried to build geneological trees yet to see the problem in
tiddlywiki. I am confident I have a way and the kin opperator would help.
Basicaly you need a paternal and matralinial tree. However if you tag a
child with a parent tiddler and that tiddler is female it is the childs
mother. Step families etc can also make it more complex.
However the world can be more complex, especialy with modern reproductive technology.
Never the less if you have some pointers to how these are handled in
geneology do share so we can find a way.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/652eb2c0-5ef8-4c6c-a734-03fba84e9756%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
@TiddlyTweeter
2018-10-29 12:41:59 UTC
Permalink
TonyM & bimlas

... if you have some pointers to how these are handled in geneology do
Post by TonyM
share so we can find a way.
One point where I see a possible overlap with bimlas' filter is that
usually (in anthropology) relationships are calculated *relative to Ego*.
That is somewhat similar to having a filter running *relative to a specific
starting tiddler. *Here is a simple kinship chart ... Notice that all the
terms are determined relative to "Ego". If you move "Ego" to a different
place in the chart the terms change.

Hope this is more helpful than confusing!
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/ac415052-34ba-485d-9b0d-9c8193978e36%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-29 12:59:21 UTC
Permalink
I can't really help, because it would be hard to explain my thoughts in
English, but basically I like to explain that this is why
`[kin::from/to[Member]` exists: for example if you want to know the
ancestors of Mo, then `[kin::from[Mo]]` will list (hopefully) GrFr and
GrMo, while `[kin::to[Mo]]` listing Ego and Z/Br. I see that these "things"
are relative, but you can use the filter "relaitively" to the "base
member". In the future I would like to add a "(max) depth"
parameter/suffix/whatever, so `[kin::from:1[Ego]]` (or something similar)
would list Fr and Mo (and Ego), because they are "above" Ego with 1 level
(Ego is added because the "base" tiddler is allways included in to the
results).
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/f805e660-f9be-429a-a6c1-9a035d352f61%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
@TiddlyTweeter
2018-10-29 14:23:48 UTC
Permalink
... this is why `[kin::from/to[Member]` exists: for example if you want to
know the ancestors of Mo, then `[kin::from[Mo]]` will list (hopefully) GrFr
and GrMo, while `[kin::to[Mo]]` listing Ego and Z/Br. I see that these
"things" are relative, but you can use the filter "relaitively" to the
"base member".
bimlas, thanks. That is helpful.

Best, Josiah
In the future I would like to add a "(max) depth"
parameter/suffix/whatever, so `[kin::from:1[Ego]]` (or something similar)
would list Fr and Mo (and Ego), because they are "above" Ego with 1 level
(Ego is added because the "base" tiddler is allways included in to the
results).
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/f552ce64-baea-4d71-aca1-812b1a80dbf1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Diego Mesa
2018-10-29 14:38:58 UTC
Permalink
Hey all,

I am very excited about this new filter operator, but admittedly having a
hard time understanding it. I think a great idea would be to take Josiah's
diagram (or a simpler one?) and to highlight the returned nodes for each
separate use of the filter. This could then be added to the documentation!

Best,
Diego
Post by @TiddlyTweeter
... this is why `[kin::from/to[Member]` exists: for example if you want
to know the ancestors of Mo, then `[kin::from[Mo]]` will list (hopefully)
GrFr and GrMo, while `[kin::to[Mo]]` listing Ego and Z/Br. I see that these
"things" are relative, but you can use the filter "relaitively" to the
"base member".
bimlas, thanks. That is helpful.
Best, Josiah
In the future I would like to add a "(max) depth"
parameter/suffix/whatever, so `[kin::from:1[Ego]]` (or something similar)
would list Fr and Mo (and Ego), because they are "above" Ego with 1 level
(Ego is added because the "base" tiddler is allways included in to the
results).
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b4165bd2-1fcc-4611-93d9-7ea5cbe05000%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-29 23:10:18 UTC
Permalink
Yeah, I agree with you: people could easily understand the behaviour and
the purpose of the plugin.

I'm not sure how should it be visualised: I don't like to use static
images, because if the examples are changing, the image should be updated
too. I tried to extract a portion of the ToC to visually indicate what's
happening, but I'm stuck at highlighting the items. I will work on it.

BTW I just found a new usage of the filter: *create a Table of Contents
about the family of a tiddler*. For example the output of

<div class="tc-table-of-contents">
<<toc "TableOfContents" "kin[Filter Syntax]">>
</div>

<Loading Image...>
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b1410622-9fda-4c13-ab5f-72701842ceb3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'LorenzGL' via TiddlyWiki
2018-10-31 23:07:41 UTC
Permalink
It would be great if kin could be used to create a generalization of the
toc function; i.e. allowing to create ordered/nested lists of toddler
relations defined by other fields than tags. Right now it is incredibly
powerful as a filter but is there a way to get a tree view of the results?
Post by bimlas
Yeah, I agree with you: people could easily understand the behaviour and
the purpose of the plugin.
I'm not sure how should it be visualised: I don't like to use static
images, because if the examples are changing, the image should be updated
too. I tried to extract a portion of the ToC to visually indicate what's
happening, but I'm stuck at highlighting the items. I will work on it.
BTW I just found a new usage of the filter: *create a Table of Contents
about the family of a tiddler*. For example the output of
<div class="tc-table-of-contents">
<<toc "TableOfContents" "kin[Filter Syntax]">>
</div>
<https://i.imgur.com/F0PXjC5.png>
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/2cb3a9e0-677f-411c-85e8-814df77a2763%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-31 23:19:02 UTC
Permalink
I'm not sure I understand what you're asking for. In the above example,
only the tiddlers of the TableOfContents family tree that are related to
the "Filter Syntax" are displayed.

Please specify the question so that I can reply.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/37f45847-368c-40c1-ad25-6f62b47e59e7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'LorenzGL' via TiddlyWiki
2018-11-02 05:09:25 UTC
Permalink
Sorry, shortly after writing this (and getting onto a plane) I realized
that I could simply modify the TOC macro to use other fields than "tag" to
create nested lists. I realize that generating formatted lists and getting
tiddler lists through filters are two distinctly different use-cases and
that they probably shouldn't be mixed. Hence, this isn't relevant to the
"kin" macro.

However, on a side note, I discovered a weird behavior when I changed the
"toc" macro to use a different field than tags: the macro doesn't work for
tiddler names containing spaces that are encapsulated in double brackets.
I'll see an incomplete lists missing the descendants of tiddlers that are
listed in "[[...]]". The macro will work fine with the same tiddlers in the
tags field but will not work when their names are used in a different
field. I was wondering whether anyone else has seen/can reproduce this
behavior.
Post by bimlas
I'm not sure I understand what you're asking for. In the above example,
only the tiddlers of the TableOfContents family tree that are related to
the "Filter Syntax" are displayed.
Please specify the question so that I can reply.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/d739dd1b-1ffa-457b-aff4-bfe392fb25b9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-28 21:51:25 UTC
Permalink
I thinking on adding another suffix for depth:

[connects:tags:to:2[Target]!tag[Target]]

It would list Target's grandchildren, but not the children.

I'm not sure that using suffix in this way is conventional, but it's as
flexible as parameters on command line (`ls --all`).
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/df401eea-cf78-4ed7-ba92-19b3558b6baf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-29 00:39:04 UTC
Permalink
Bimlas,

Targeting depth is great, however I feel there is value exploring the
currently available capabilities of "kin" before adding too much. For
example I can count the number of generations (if no tiddler has more than
one parent/tag), where using the new here with parent helps) with

[kindredup:parent[target-tiddler]count[]]


eg;

<$list filter="[kindredup[Obadiah TOC]count[]]"> </$list>

I would like to use this feature as a representation of the "branch" an
unbroken list of tiddlers from the root to the target-tiddler, however the
order is not correct.

[kindredup[target-tiddler] for example is a branch.


Is their anyway of ensuring its correctly ordered?

I have a feeling there is a more elegant way of adding the level
functionality but its not clear in my mind YET.

What if we could provide kindredup or down with "n" generations such that
it only lists that many generations
eg kindreddown:1[targent-tiddler] would only show target-tiddler's
children, kindreddown:2[targent-tiddler] target-tiddler's children and
grand children

then if you wanted only grand children you could use

"[kindreddown:tags:2[target-tiddler]!kindreddown:tags:1[target-tiddler]]"

Thus you are saying I want the the targets next 2 generations, and exclude
the first generation resulting only in grandchildren.

Kindred could allow + and - such that "Kindred:-1[target-tiddler]" will
list target-tiddler's parent(s) and all below (thus include siblings)

If you use the default of tags "kindreddown::2[target-tiddler] is two
generations down

If your used this simple number method there would be no need to add "to:n"
just "n"
[connects:tags:2[Target]!tag[Target]]

or
[connects::2[Target]!tag[Target]]

What do you think?

Regards
Tony
Post by bimlas
[connects:tags:to:2[Target]!tag[Target]]
It would list Target's grandchildren, but not the children. What do you
think?
I'm not sure that using suffix in this way is conventional, but it's as
flexible as parameters on command line (`ls --all`).
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/bd6329af-830a-49f0-a810-41628d5a23de%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-29 07:01:17 UTC
Permalink
You convinced me: I don't adding new functionalities, until we know what
this beast can do.

I'm thinking on opening the Pull Request, so Jeremy can react to the
features/documentation/naming. Can you please update the documentation to
be correct English? Just modify on the demo, then export the tiddler as
JSON and attach here (if you are new in Git, then I don't like to
contribute in it, because we could lost in technical details, so let's
share the files here).

*I renamed the filter to "kin" because it has the most votes at
https://goo.gl/forms/bywjS7UiuaosfRlR2 so the demo can be found at
https://bimlas.gitlab.io/demo/tw5/kin-filter.html*

About the voting:

Would you like to use this filter?

- Yes: 5

Do you think it should be part of TiddlyWiki itself?

- Yes: 5

Which name would be the best to describe the behaviour?

- kin: 3
- kindred: 1
- related: 1
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/079d00b6-884a-4e08-bf62-a089b8d84a50%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-29 07:16:12 UTC
Permalink
Please notice the users that the plugin works with 5.1.18 (prerelease)!

The descriptive documentation is not necessary for now, because I don't
know where it should be (maybe in ToC ->Learning?), but if you can find a
proper "place" for it, then it's OK to be in the Pull Request. As I see,
this kind of information should not be in documentation, plus I'm sure that
comments in the examples will be removed (becuse there is no comment in
other examples), but without those the behaviour is unclear in my opinion.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b387c9b1-a7e7-4440-85e4-c1eb724cc65a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-29 09:36:12 UTC
Permalink
Bimlas,

I will do as best as I can. I have some importiant things to do this week, but will continue a bit each day.

Regards
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/01f5bac3-6994-4d5d-8667-f4f4989e224a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
@TiddlyTweeter
2018-10-29 10:23:19 UTC
Permalink
Ciao Bimlas

I'm replying here on this as the google form lacks a way to answer in the
way I wanted :-)

Would you like to use this filter?
- It looks very interesting. But I don't fully understand it yet. I need
time to play with it.

Do you think it should be part of TiddlyWiki itself?
- I don't know. My initial reaction is 'probably not' because some of it
seems to be doing a lot more than other filters and I'm not clear how it
fits alongside them. But, TBH, I don't have the competence to make a
judgement.

Which name would be the best to describe the behaviour?
- "kin" looks good in the sense that its about "relationships". The word
"kin" in English can be used very widely. Its not just for (human) kinship;
its also for anything that shares some kind of relationship.

Best wishes & good luck!

Josiah
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b54c024b-b715-42e4-b416-5412a70557b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-29 11:34:56 UTC
Permalink
Josiah,

I beleave the kin operator fills the gaps in the toc macros, and expands set manipulation. It introduces new ways to take loosely coupled networks and heirachies to a new level, something that suits tiddlywikis non- linear nature.

It makes me wonder what other revolutionary constructs could be added.

Regards
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/3c07b138-4eae-4925-bc20-5ba3425edfb3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-29 11:44:29 UTC
Permalink
Well... i tried to do it. :D

*Filter by multiple tags*: Use the checkboxes to filter the list of tags;
clicking on the tag lists only those tiddlers that are assigned to each of
the selected tags. *The list can be filtered using the global search box.*
https://bimlas.gitlab.io/#Filter%20by%20multiple%20tags%20easily%3A%20FilteredTag%20example

It's not introducing new stuff, but makes using of tags easier, more
"dinamical". I'm feeling that Tags list in MoreSidebar is just a static
list of tags which is useless, thus I tried to make it better: you can
narrow the list of tags by search box plus combining tags to get the common
tiddlers.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/65a62ff7-c52a-4f0e-bb16-058427fdf22c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-29 11:53:29 UTC
Permalink
Bimlas,

I am not sure how this fits the current discussion, so need to work through it, can you explain a little more?

By the way I plan to test kin against marios alt tags which allows additional tag like fields.

Regards
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/2a25c798-3ef6-4231-8927-7607a6b31a5e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-29 12:21:48 UTC
Permalink
Sorry, misunderstood English:

"It makes me wonder what other revolutionary constructs could be added." -
I understood it as "It makes me wonder what other revolutionary
*plugins/filters/etc.* could be added. (to TiddlyWiki)"
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/9c1eaa7e-46e3-4da0-b074-16ce87df06ca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-10-30 01:57:34 UTC
Permalink
Ahh Got you.

We started to stray off topic because of the Question I asked. Yes looking
at *Filter by multiple tags* could be powerful, But personalty I do this
more inside list filters so I am yet to fully grasp "*Filter by multiple
tags"* full use.

Your kin filter operator is in my view very simple on the surface with
massive potential.

*Am I correct in thinking you have replaced kindredup and kindereddown with
:to and :from?*
I prefer up and down, would it be hard to make an alias for to = up and
From = down,* if I understand this correctly?*

On "It makes me wonder what other revolutionary *plugins/filters/etc.* could
be added. (to TiddlyWiki)" I am thinking along the line of other filters
which can provide quick access to a "set of tiddlers" themselves defined by
sophisticated relationships as kin does. Off the top of my head, perhaps a
"network" filter that generates a list of every tiddler "related" by one or
more relationships eg; tags, field existence, field values etc... which can
also extract a distance (steps) from the target tiddler, even build the
branch of relationships between two tiddlers. Eg TiddlerA in Same "network"
to tiddlerd"
tiddlera tagging by tiddlerb that has a reference field naming tiddlerc
which tags tiddlerd

The above is just dreaming to illustrate the point.

Regards
Tony
Post by bimlas
"It makes me wonder what other revolutionary constructs could be added." -
I understood it as "It makes me wonder what other revolutionary
*plugins/filters/etc.* could be added. (to TiddlyWiki)"
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/44c9c213-a985-4127-822c-392cc98005c8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-30 06:35:25 UTC
Permalink
Post by TonyM
*Am I correct in thinking you have replaced kindredup and kindereddown
with :to and :from?*
I prefer up and down, would it be hard to make an alias for to = up and
From = down,* if I understand this correctly?*
Yes, I modified it, because up/down is not clear: if "up" means the
ancestors, then in the case of "tags" this is where the tiddler points by
its tags, while in the case of "list" the parents are which pointing to the
children, so "up/down" is relative. I think "from/to" is more obvious.
Please check the updated documentation
at https://bimlas.gitlab.io/demo/tw5/kin-filter.html
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/028bbc7b-91cf-4b7a-841d-0cc9600d8880%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'LorenzGL' via TiddlyWiki
2018-10-29 05:15:05 UTC
Permalink
Hello bimlas,

Thanks for the filter. This looks awesome. I spent a lot of time solving this problem in a very pedestrian way... and I your filter will make my life much easier.

Thanks again,

Lorenz
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/ce21df2b-a6f5-4b18-af81-0ef415fcba0c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-10-31 23:23:21 UTC
Permalink
*I've extended the examples: the filter output is visualized by a custom
table of contents.*

*https://bimlas.gitlab.io/demo/tw5/kin-filter.html*
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/a8e058b1-190b-4e3c-bf1e-21256259ac00%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
David Gifford
2018-11-01 00:33:46 UTC
Permalink
I added this to the toolmap under two sections, Lists, and tables. Let moe
know if it belongs also in some other category there.
(https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM)
Post by bimlas
*I've extended the examples: the filter output is visualized by a custom
table of contents.*
*https://bimlas.gitlab.io/demo/tw5/kin-filter.html
<https://bimlas.gitlab.io/demo/tw5/kin-filter.html>*
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/65578a48-8b20-4414-83d3-9b878c5eabe4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-11-02 17:07:59 UTC
Permalink
*Pull request opened: https://github.com/Jermolene/TiddlyWiki5/pull/3511*

TonyM: We can add the longer, tutorial-like documentation later, but I must
first clarify the syntax with Jeremy.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/06058458-28e0-480a-8af6-0f35b48928fd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-11-03 04:23:28 UTC
Permalink
Fantasitc,

Good work

Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/ce142f50-f449-4ea2-8511-4544934ec97f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-12-08 22:42:06 UTC
Permalink
Bimlas,

As the Kin Operator appears not to be included in the core yet, can you
provide the location to find the latest plugin or bundle so I can install
it into my 5.1.18 Wikis?

Thanks in advance
Tony
Post by bimlas
*Pull request opened: https://github.com/Jermolene/TiddlyWiki5/pull/3511
<https://github.com/Jermolene/TiddlyWiki5/pull/3511>*
TonyM: We can add the longer, tutorial-like documentation later, but I
must first clarify the syntax with Jeremy.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/fbb65b00-2383-4bc7-a786-208cd6713089%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Jeremy Ruston
2018-12-10 09:26:24 UTC
Permalink
Hi Bimlas
You're absolutely right, I'm sorry, removed the attachment. If I should describe myself as a role-playing character, my alignment would be "chaotic good": often I would like to help, but I do not choose the right path for this. :)
No worries. Paradoxically, for developers hacking TW5's internals overwriting core files is a critical way of learning more about the system, and is to be encouraged!

The ideal flow is that a developer prototypes a feature as a plugin, then realises that the core needs changes to support their functionality. To avoid waiting for that to happen, the developer should go ahead and overwrite the core tiddlers in their own fork. That let's them get the plugin up and running, and start experimenting with it. If things go well, the developer ideally then lobbies for the smallest core change that will permit their feature to be implemented cleanly. In many cases, the core change required is uncontroversial and of general benefit. In the "worst" cases we just add a hook that enables plugins to dynamically alter the affected behaviour.

The above process happens continually with TW5. The process itself is slow and cautious to complete, but it enables plugin development to proceed without ever being blocked by the need to change the core.
To make this information not just in this thread, I did a PR that warns if the user is trying to import a core tiddler.
Excellent, thank you, I've separately commented there.

Best wishes

Jeremy
https://github.com/Jermolene/TiddlyWiki5/pull/3634
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/cb57a980-c5c8-4e79-8005-e3c0ec1574de%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/07DF8376-8D9F-4152-B2AF-CBFD4D7CBF9E%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
bimlas
2018-12-10 13:46:51 UTC
Permalink
If I understand that right, it's not bad to distribute modifications in the
core as a plugin, because by deleting the plugin, changes in the core will
also disappear? So passing kin as a plugin for TonyM is OK?
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/72315e59-cfcf-4900-9851-e528770a47b8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
TonyM
2018-12-10 01:14:22 UTC
Permalink
Jeremy,

Can you suggest a way for bimlas to implement this without a system tiddler overwrite if possible?

I am very keen to have this kin operator in most of my wikis and see it as a powerful extension especialy alond with else filter and subfilter.

Regards
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/1cc21d62-4b65-4343-9348-efdce1d7a74a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...