[TW5] BottomTabs plugin (v. 0.1)

1,505 views
Skip to first unread message

Alberto Molina

unread,
Dec 16, 2014, 6:21:20 AM12/16/14
to tiddl...@googlegroups.com
Hi all,

Taking advantage of the new features of 5.1.5, I have created a set of plugins called BottomTabs. The basic one is a multipurpose combination of tools. And it can be extended with extra plugins for doing specific things. One of them is for academic readings (TW for Scholars reloaded).

The basic tools and features are already there, but the rough edges must be polished and the documentation written.


Regards,
Alberto

Tobias Beer

unread,
Dec 16, 2014, 7:22:47 AM12/16/14
to tiddl...@googlegroups.com
Wow... http://wikiphilo.tiddlyspot.com

This is beautiful and a pleasure to browse, Alberto!

With a bit of searching I even found the bottom tabs. :)

I played a bit with the css that will hopefully stop the buttons from shuffling around.

Give it a try (amongst others, I gave the buttons a min-width of 45 which won't have them jump with up to 2-digit numbers)...

title: $:/plugins/amp/BT/css/BottomTabs/tabs

.bottom-tabs {
 margin
: 0px 0px -42px 0px;
}

.tc-tab-divider {
 display
: none;
}

.tc-tiddler-controls .close-tabs {
 position
: relative;
 bottom
: -3px;
}

.bottom-tabs div.tc-tab-buttons {
 text
-align: {{$:/config/BottomTabs/position/$:/plugins/amp/BT}};
 padding
: 0px 0px 14px 0px;
}

.bottom-tabs .tc-tab-buttons button{
 min
-width:45px;
 display
:inline-block;
 font
-size:12px;
 text
-align:center;
 border
-radius: 10px 10px 0px 0px;
 box
-shadow: 2px 2px 3px rgba(0, 0, 0, 0) inset;
}

.bottom-tabs .tc-tab-buttons button:not(.tc-tab-selected):hover {
 color
: <<color foreground>>;
 background
: transparent;
 font
-weight: bold;
 font
-size: 16px;
 margin
-top:-5px;
}


.bottom-tabs .tc-tab-buttons button.tc-tab-selected {
 color
: <<color foreground>>;
 background
-color: <<color background>>;
 font
-weight: bold;
 font
-size: 16px;
 padding
-bottom:6px;
 margin
-bottom: -4px;
 box
-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1) inset;
}

.bottom-tabs .tc-tab-buttons.blue button.tc-tab-selected {
 background
-color: {{$:/config/BottomTabs/colors/$:/plugins/amp/BT##blue}};
}

.bottom-tabs .tc-tab-buttons.red button.tc-tab-selected {
 background
-color: {{$:/config/BottomTabs/colors/$:/plugins/amp/BT##red}};
}

.bottom-tabs .tc-tab-buttons.yellow button.tc-tab-selected {
 background
-color: {{$:/config/BottomTabs/colors/$:/plugins/amp/BT##yellow}};
}

.bottom-tabs .tc-tab-buttons button:not(.tc-tab-selected) {
 background
-color: <<color background>>;
 color
:  #c0c0c0;
 border
-left: <<color background>>;
 border
-right: <<color background>>;
 border
-top: <<color background>>;
}

.bottom-tabs .tc-tab-content {
 margin
: -14px -42px 0px -42px;
 padding
: 14px 42px 14px 42px;
}

.bottom-tabs .tc-tab-content.blue {
 background
-color: {{$:/config/BottomTabs/colors/$:/plugins/amp/BT##blue}};
 border
-top: 1px solid <<colour tiddler-info-border>>;
 border
-bottom: 1px solid <<colour tiddler-info-border>>;
 box
-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1) inset;
}

.bottom-tabs .tc-tab-content.red {
 background
-color: {{$:/config/BottomTabs/colors/$:/plugins/amp/BT##red}};
 border
-top: 1px solid <<colour tiddler-info-border>>;
 border
-bottom: 1px solid <<colour tiddler-info-border>>;
 box
-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1) inset;
}

.bottom-tabs .tc-tab-content.yellow {
 background
-color: {{$:/config/BottomTabs/colors/$:/plugins/amp/BT##yellow}};
 border
-top: 1px solid <<colour tiddler-info-border>>;
 border
-bottom: 1px solid <<colour tiddler-info-border>>;
 box
-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1) inset;
}

Best wishes, Tobias.

Alberto Molina

unread,
Dec 16, 2014, 8:51:12 AM12/16/14
to tiddl...@googlegroups.com
Hi Tomas,

Wow... http://wikiphilo.tiddlyspot.com
This is beautiful and a pleasure to browse, Alberto!

Thanks!

I played a bit with the css that will hopefully stop the buttons from shuffling around.

Shuffling around? Do you mean they move in some way?  I didn't see that, maybe a browser problem (I' m under Ubuntu + Firefox, Chrome, TiddlyDesktop).

Give it a try (amongst others, I gave the buttons a min-width of 45 which won't have them jump with up to 2-digit numbers)...

Thanks a lot! It gave it a try and the min width is a good idea, but 45 looks like excessive to me (see picture), so I changed it to 25. Is it okay seen from your browser?

Alberto


Capture du 2014-12-16 14:43:09.png

Alberto Molina

unread,
Dec 16, 2014, 9:13:45 AM12/16/14
to tiddl...@googlegroups.com

Oops: Tobias (not Thomas) sorry!

I played a bit with the css that will hopefully stop the buttons from shuffling around.

Shuffling around? Do you mean they move in some way?  I didn't see that, maybe a browser problem (I' m under Ubuntu + Firefox, Chrome, TiddlyDesktop).

Give it a try (amongst others, I gave the buttons a min-width of 45 which won't have them jump with up to 2-digit numbers)...

Thanks a lot! It gave it a try and the min width is a good idea, but 45 looks like excessive to me (see picture), so I changed it to 25. Is it okay seen from your browser?

Second thought: it could be related to the screen resolution. Do you have a hi-res screen? (Mine is 1300x800)

Alberto 

Danielo Rodríguez

unread,
Dec 16, 2014, 9:25:00 AM12/16/14
to tiddl...@googlegroups.com
Hello Alberto,

Glad to see you finally decided to move your customizations into plugins. They really turn TW into a valuable tool for those scenarios your plugins are aimed for. I would love to see different editions or a more general one. I'm horrible giving hierarchy to things and organizing topics, so I'm afraid I can not adapt your plugins to fit my own scenarios (mostly technical knowledge). I really envy your ability to built this.

A small suggestion, in order to avoid this
Type the text for the tiddler '$:/temp/title'

You can define a default value for that field on the edit-text widget. So if you write it like this
<$edit-text tag="input" default="" placeholder="title"/>
It will be prettier.

Regards.

Alberto Molina

unread,
Dec 17, 2014, 6:33:21 AM12/17/14
to tiddl...@googlegroups.com
Hi Danielo,

Glad to see you finally decided to move your customizations into plugins. They really turn TW into a valuable tool for those scenarios your plugins are aimed for. I would love to see different editions or a more general one.

Yes, the idea is to have different editions for different use cases, packed as extra plugins to the basic one.
 
I'm horrible giving hierarchy to things and organizing topics, so I'm afraid I can not adapt your plugins to fit my own scenarios (mostly technical knowledge). I really envy your ability to built this.

The basic usecase is the ability to add comments to your tiddlers, and to see other related tiddlers throught the fields "about", "parent" and "source" which could be used for instance for documentation of your technical knowledge tw.
 
A small suggestion, in order to avoid this
Type the text for the tiddler '$:/temp/title'

You can define a default value for that field on the edit-text widget. So if you write it like this
<$edit-text tag="input" default="" placeholder="title"/>
It will be prettier.

Thanks! I didn't know how to avoid this behaviour.

Regards,

Alberto 

Alberto Molina

unread,
Dec 17, 2014, 6:35:29 AM12/17/14
to tiddl...@googlegroups.com
@Tobias

I've seen your other changes to the stylesheet. I'm not sure to understand everything (for I'm not fluent in css) but it looks good. Thanks a lot!

Alberto

Tobias Beer

unread,
Dec 18, 2014, 12:32:14 PM12/18/14
to tiddl...@googlegroups.com
hi Alberto,
 
I've seen your other changes to the stylesheet. I'm not sure to understand everything (for I'm not fluent in css) but it looks good. Thanks a lot!

Not sure how it works for you and if it's related to my zoomed view.
By the way, why is it that I cannot change the zoomlevel when viewing your site? It seems stuck at my default 150%.

To me your bottom bar is rendered such that when I hover an icon, at least those to the left of it also move around, shifting left.
This made the experience a "jumpy one" for me, hence my suggested css.

Also, I need to learn more how you've implemented those contextually changing bottom bars.
(Haven't yet looked at the code).

Best wishes, Tobias.

Tobias Beer

unread,
Dec 18, 2014, 12:33:51 PM12/18/14
to tiddl...@googlegroups.com
To me your bottom bar is rendered such that when I hover an icon, at least those to the left of it also move around, shifting left.
This made the experience a "jumpy one" for me, hence my suggested css.

You can, perhaps, see what I mean by hovering left <> right over the bar... and see the other icons jump, rather than just the currently hovered one being magnyfied.

Best wishes, Tobias.

Emilio Rincón-Gallardo

unread,
Dec 20, 2014, 6:22:59 AM12/20/14
to tiddl...@googlegroups.com
Hi Alberto:


I downloaded wikiphilo to tray your plugins. Create a new author but I could not add a publication, the same for an existing author.
What Iḿ doing wrong?

Best wishes, Emilio

Alberto Molina

unread,
Dec 22, 2014, 6:25:32 AM12/22/14
to tiddl...@googlegroups.com
Hi Emilio,

I downloaded wikiphilo to tray your plugins. Create a new author but I could not add a publication, the same for an existing author.
What Iḿ doing wrong?

  1. After creating the author, open its tiddler. You should see the tabs bar at the bottom right of the tiddler. One of them is the publications tab.
  2. Inside the publications tab, there's a plus (+) button on the right . Click the button. You should see a form to fill with authors, title, date, etc.
  3. Choose between book and article by clicking on it.
  4. When you start writing the title, the "add" button for creating the book/article should appear at the bottom of the form.
  5. Fill all the fields you want and click the "add" button.
It works for me. Tell me of its OK for you.

Another thing. If you want an empty tiddlywiki with my plugins, install them from bottomtabs.tiddlyspot.com.

Saludos,

Alberto 

Emilio Rincón-Gallardo

unread,
Dec 22, 2014, 7:15:01 PM12/22/14
to tiddl...@googlegroups.com
Hi Alberto:

I followed each step from 1 to 5, after making click on add button, the tiddler -publication-, opens in draft mode, I click on the tick to close it. The publication tiddler is there,  but 'nada' no title, or increment on publications on author tiddler.???.

Thanks y saludos.

Emilio

Emilio Rincón-Gallardo

unread,
Dec 22, 2014, 7:23:40 PM12/22/14
to tiddl...@googlegroups.com
Hi Alberto:

I followed each step from 1 to 5, after making click on add button, the tiddler -publication-, opens in draft mode, I click on the tick to close it. The publication tiddler is there,  but 'nada' no title, or increment on publications on author tiddler.???.

Thanks y saludos.

Emilio

Alberto Molina

unread,
Dec 23, 2014, 9:58:48 AM12/23/14
to tiddl...@googlegroups.com
Hi Emilio,

You're right, it's a bug. Thanks for reporting!

I'm going to look what happened and upload the correction.

Regards,

Alberto

Alberto Molina

unread,
Dec 24, 2014, 5:56:46 AM12/24/14
to tiddl...@googlegroups.com
Hi Emilio and all,
 
You're right, it's a bug. Thanks for reporting!
I'm going to look what happened and upload the correction.

The big ugly big has been killed :)

Actually, there was several problems, one affecting the "new publication button" which didn't create the authors field, and another affecting the "publications tab" which was not properly rewritten.

Thanks for reporting the bug, and keep reporting if you find others.

Alberto

Alberto Molina

unread,
Dec 31, 2014, 7:30:25 AM12/31/14
to tiddl...@googlegroups.com
Hi all,

The buttons for creating new publications and new quotes were not working well. The problems identified are now fixed. (But other problems might remain.)

Regards,

Alberto

Emilio Rincón-Gallardo

unread,
Dec 31, 2014, 4:29:28 PM12/31/14
to tiddl...@googlegroups.com
Hi Alberto:

There is no add button in the chapter form....

Saludos

Alberto Molina

unread,
Jan 1, 2015, 6:53:43 AM1/1/15
to tiddl...@googlegroups.com
Hi Emilio,

Yes, the button hasn't been created yet. Thanks for reporting.

Saludos,

Alberto

Danielo Rodríguez

unread,
Jan 9, 2015, 3:35:41 AM1/9/15
to tiddl...@googlegroups.com
Hello Alberto,

I'm using your plugin to create the material for a course I will teach. I want to know how can I add custom ways of link things. For example, what is considered Children of a tiddler? How can I configure the fields at the forms? Is there any way to add tiddlers under a topic?

Thank you for your help and thank you for this plugin.

Regards.

Alberto Molina

unread,
Jan 9, 2015, 1:46:29 PM1/9/15
to tiddl...@googlegroups.com
Hi Danielo,

I am currently working on a new version of the plugin, with less bugs, better features, and much easier to customize. Its not yet finished but usable enough. I just uploaded it so you can take advantage of the customization enhancements: magictabs.tiddlyspot.com

I'm using your plugin to create the material for a course I will teach. 

 

I'm glad you find it useful. Unfortunately, the plugin for teachers is in a very early phase of development, so there's not much features. 
 
I want to know how can I add custom ways of link things. For example, what is considered Children of a tiddler?

The field "parent" is just a way to categorize your contents, you can use it as you wish. There's no restriction.
For example, if you teach spanish, then "Grammar" is a parent of "Verbs", and "Verbs" a parent of "Imperative".
And if you teach informatics, "Javascript" is a child of "programming language", or a child of "prototype-based scripting language".



 
How can I configure the fields at the forms?

In order to better explain myself (and not spending hours figuring out how to write it in english) I'm going to continue in spanish. But I promise to write the documentation in english later on.

En español. Imagino que lo que quieres hacer es adaptar las tablas para lo que tú necesites. Yo traté de dividir las tablas en sus elementos constitutivos, de modo que cada campo (título, etiquetas, texto, acerca de, etc.) está en un tiddler diferente. De ese modo puedo reutilizarlos independientemente uno de otro para hacer tablas diferentes. Por ejemplo el campo "about" está en el tiddler $:/plugins/amp/MagicTabs/forms/input/about

Además, están como macros globales, de modo que si escribes <<inputAbout>> en cualquier tiddler, te aparece el trozo de tabla correspondiente. En la mayoría de los campos hay tres variables que puedes configurar: el "label", el tiddler temporal que usas para almacenar los datos, y el campo que editas. Las variables "label" y "field" se pueden meter directamente en la macro:
<<inputAbout label:"Acerca de" field:"about">>

En cambio, el tiddler temporal se define desde fuera (porque dentro aparece como $(tempTiddler)$:
<$set name="tempTiddler" value="$:/temp/foo">

<
<inputAbout label:"Acerca de" field:"about">>

</$set>

En algunos sólo se puede cambiar el tempTiddler (tendré que hacerlo para todos cuando tenga tiempo):
<$set name="tempTiddler" value="$:/temp/foo">

<
<inputDescription>>

</$set>


En algunos también se pueden definir "placeholder" y otras cosas, pero es mejor verlo directamente en el tiddler correspondiente. Todos empiezan por $:/plugins/amp/MagicTabs/forms/



 
Is there any way to add tiddlers under a topic?

No entiendo muy bien lo que quieres decir. A cualquier tiddler se le pueden añadir comentarios, notas, etc., y todos los tiddlers que estén relacionados con éste aparecerán abajo en las pestañas correspondientes. Por ejemplo, si tengo un tiddler "Catedral de Salamanca", puedo añadirle comentarios, notas y más cosas que sólo aparecerán ahí porque tienen los campos "about: [[Catedral de Salamanca]]" o "source: Catedral de Salamanca" o "parent: [[Catedral de Salamanca]]".

Si además a tu tiddler le asignas un tipo, con la etiqueta "$:/type/arquitectura", entonces puedes añadirle pestañas específicas a ese tipo. Por ejemplo, debajo de cada tiddler con la etiqueta "$:/type/arquitectura" puedo tener las pestañas "Fotos", "Elementos destacados", "Técnicas constructivas".

Ahora es más fácil crear nuevas pestañas. Basta con clonar el patrón ($:/plugins/amp/MagicTabs/templates/tab) y rellenar los campos que quieras, especialmente:
  • contents.tag: ahí indicas la etiqueta de los tiddlers que quieres que aparezcan en la pestaña. Por ejemplo: "$:/type/comments", "$:/type/journal", "tasks", etc.
  • list.filter
    • el filtro por defecto está definido en $:/plugins/amp/MagicTabs/macros/tabFilter como:
      • [all[current]listed[source]] [all[current]listed[parent]] [all[current]listed[about]] +[tag[$type$]]
        • donde $type$ hace referencia al contenido de contents.tag
    • Si rellenas el campo, se usará el filtro que tú definas. 
  • list.heading
    • El nombre que aparece como título de la lista de tiddlers
  • list.template
    • El título del tiddler donde se encuentra el modelo para mostrar los resultados de la lista. Si no indicas ninguno, aparecerán como simple lista.
  • add.content
    • El título del tiddler donde se encuentra el modelo de tiddler que quieres crear, o bien la tabla+botón para añadir nuevos tiddlers.
<<tabCaption>> permite poner automaticamente el "caption" con el icono y el contador de resultados.
<<tabContents>> permite mostrar automáticamente la(s) lista(s) de resultados definidos en los campos list.filter, list.heading, etc.
<<inputSlider>> permite mostrar el botón "+" para añadir nuevos tiddlers. El contenido de esta macro es el definido en add.content


Bueno, espero que sea suficiente para que te hagas una idea. Pero no dudes en preguntarme si tienes más dudas.

Saludos,

Alberto


Alberto Molina

unread,
Jan 9, 2015, 2:03:46 PM1/9/15
to tiddl...@googlegroups.com
By the way, three little things:
  1. the new "MagicTabs" plugins adds a button in the sidebar to open a very useful "dashboard" tiddler.
  2. it is possible to tweak the plugin appearance under "Control panel" > "Appearance" > "MagicTabs tweaks"
  3. if you want to see the latest updates, check https://www.dropbox.com/s/j2rx1twq6aotnsr/AMP%20-%20dev.html?dl=0
I hope to publish soon (next week?) the version 0.0.2 after I add features like the chapters button, and after I fix remaining bugs.

Regards,
alberto


Tobias Beer

unread,
Jan 9, 2015, 2:23:49 PM1/9/15
to tiddl...@googlegroups.com
While all this is really great stuff, I'm also a bit confused, Alberto.

If I look at...

$:/plugins/amp/MagicTabs/tabs/info

...I see that it asks for a tagging list at the bottom

However, if I look at William Shapespeare,
there appears to be also that image tagging to it.
What is going on there?

I notice that there is...

$:/plugins/amp/MagicTabs/ViewTemplate/tags

tagged $:/tags/ViewTemplate so that will add those "pseudo-tags"

But then...

$:/core/ui/ViewTemplate/tags

...looks like an untagged shadow (fat link),
yet it doesn't have any $:/tags/ViewTemplate tag anymore?

Anyhow, I like how you've added more tiddlers to the taglist than actual tags,
although that is indeed a bit confusing.

Best wishes, Tobias.

Alberto Molina

unread,
Jan 9, 2015, 6:27:13 PM1/9/15
to tiddl...@googlegroups.com
Hi Tobias,

Le vendredi 9 janvier 2015 20:23:49 UTC+1, Tobias Beer a écrit :
While all this is really great stuff, I'm also a bit confused, Alberto.

If I look at...

$:/plugins/amp/MagicTabs/tabs/info

...I see that it asks for a tagging list at the bottom

However, if I look at William Shapespeare,
there appears to be also that image tagging to it.
What is going on there?

I don't really understand your confusion. So ask me again if my answer is miscarried. 
The tab info shows three kinds of related tiddlers:
  • "Children": those with fields parent or source pointing to the current tiddler.
  • "About": those with a field about pointing to the current tiddler.
  • "Tagging": those tagging the current tiddler.
And the tiddler Image: William Shakespeare is in the second category (about: William Shakespeare), not the third. And the tag you see on the image tiddler is a pseudo-tag showing the content of the field about.


 
I notice that there is...

$:/plugins/amp/MagicTabs/ViewTemplate/tags

tagged $:/tags/ViewTemplate so that will add those "pseudo-tags"

But then...

$:/core/ui/ViewTemplate/tags

...looks like an untagged shadow (fat link),
yet it doesn't have any $:/tags/ViewTemplate tag anymore?

What I want to achieve is the following: when you install the plugin, the shadow tiddler $:/core/ui/ViewTemplate/tags is disabled (i.e its $:/tags/ViewTemplate tag removed) and $:/plugins/amp/MagicTabs/ViewTemplate/tags takes its place adding the pseudo-tags.

The only way I found to do that was to include $:/core/ui/ViewTemplate/tags with the tag removed as a shadow tiddler of my plugin. If there's a better way to remove a tag when installing a plugin, please let me know.


Anyhow, I like how you've added more tiddlers to the taglist than actual tags,

I like how tags are displayed like colored pills, and I wanted to get the same for the contents of more meaningful fields like parent, source, and about.

 
although that is indeed a bit confusing.

I'm not sure myself of what I'm doing.



Thanks for your remarks,

Alberto
Capture du 2015-01-09 23:50:00.png
Message has been deleted

Alberto Molina

unread,
Jan 9, 2015, 6:44:31 PM1/9/15
to tiddl...@googlegroups.com
Danielo,

Thanks to Tobias last message, I understand that I misunderstood your first question:


what is considered Children of a tiddler? 

You are talking about the tiddlers that appear under "Children of this tiddler" in the info tab, aren't you?

Well, they are all the tiddlers with a field parent or source whose content points to the current tiddler. It is the case of all the tiddlers you can create through the other tabs, like comments, notes, ideas, quotes, journals, etc. When you add a comment to the tiddler William Shakespeare using the form in its "comments tab", the field+value "source: [[William Shakespeare]]" is automatically added to the new comment tiddler. For instance, the tiddler Doubts about authorship have the field+value: "about: authorship" and "source: [[William Shakespeare]]".

Hope this answer is more helpful than my previous one.

Alberto

Tobias Beer

unread,
Jan 9, 2015, 10:28:37 PM1/9/15
to tiddl...@googlegroups.com
Hi Alberto,

Yes, thanks for clearing that up!
 
Well, they are all the tiddlers with a field parent or source whose content points to the current tiddler. It is the case of all the tiddlers you can create through the other tabs, like comments, notes, ideas, quotes, journals, etc. When you add a comment to the tiddler William Shakespeare using the form in its "comments tab", the field+value "source: [[William Shakespeare]]" is automatically added to the new comment tiddler. For instance, the tiddler Doubts about authorship have the field+value: "about: authorship" and "source: [[William Shakespeare]]".

This very much goes into the direction of this issue...


So, you're making a good case for it, now that I understand what is happening.
Perhaps consider that popup discussed at that issue.

Best wishes, Tobias.
Message has been deleted

Alberto Molina

unread,
Jan 10, 2015, 10:47:28 AM1/10/15
to tiddl...@googlegroups.com
Hi Tobias,
I didn't know about that discussion. Thanks!

Obviously, the kind of popup solution you propose would be great, even if I don't understand all the details of your proposition. I tried some time ago to adapt the tags selector in edit mode to work with other fields, but I failed since my knowledge of the internals isn't good enough.

For people like me, with structured tw, tags are easy to use and good to see in view mode, but meaningless. They just mean : there is some kind of relation between this and that, but I don't know what kind of relation it is.

What I try to do with the MagicTabs plugin (former BottomTabs, former Scholars, former... ) is to create meaningful (but generic) relationships between tiddlers with fields like: authors, about, source, parent. Then, I want to show these relationships : first by displaying the values of these fields as tags, but before the regular tabs (i.e. pseudo-tags on the left, real tags on the right); and second by displaying the contents of these related tiddlers using bottom tabs. That way, all the relevant information concerning, for instance, William Shakespeare, can be seen and accessed and incremented without leaving William Shakespeare's tiddler.

Thus, any kind of mechanism to create meaningful but tags-like fields is more than welcome.

Best wishes,

Alberto

Tobias Beer

unread,
Jan 10, 2015, 12:55:04 PM1/10/15
to tiddl...@googlegroups.com
Hi Alberto,
 
For people like me, with structured tw, tags are easy to use and good to see in view mode, but meaningless. They just mean : there is some kind of relation between this and that, but I don't know what kind of relation it is. 
 
Obviously, the kind of popup solution you propose would be great, even if I don't understand all the details of your proposition.

When I have made a demo, I'll ping back here.
 
What I try to do with the MagicTabs plugin...

I think it's all coming together nicely and, perhaps after taking the time and giving the above issue another read, you will find that what you're doing is precisely that! Now, imagine TiddlyMap being able to simply hook into your MagicTabs relatiohships and display them in a Graph. That's only possible thanks to the kind of semantic relationship pattern I was discussing in that issue and you're already implementing, even configurably so.

Thus, any kind of mechanism to create meaningful but tags-like fields is more than welcome.

Have a look at...


Especially...


A few days ago I realized that what I want to get to is pretty much the same pattern you use, only just not as bottom tabs but as semantic lists in a kind of note-list to the left hand side of each note ...with buttons defined via relationship patterns defined by the user that allow to create related tiddlers to a note, e.g. an idea, a question, a reference, a comment, a what-not.

Best wishes, Tobias.

cmari

unread,
Jan 10, 2015, 1:21:31 PM1/10/15
to tiddl...@googlegroups.com
Hi Alberto,
I already liked tw-scholars, so I'm trying hard to keep up with all of your improvements!  One thing I noticed is that the author list (in "$:/plugins/.../lists/publications") doesn't seem to be sorting properly.  I tried creating new authors and publications in your dropbox version to test things in case there was some problem with my fields.  Sorting by title and date works fine, but sorting by author is not alphabetical.  Also, clicking the reverse checkbox didn't change anything at all.  I wish I could provide actual help rather than just a report, but I'm very confused about where "authors" are defined.
Thanks so much for what you've created - I use it daily.
cmari

Alberto Molina

unread,
Jan 10, 2015, 3:43:27 PM1/10/15
to tiddl...@googlegroups.com
Hi Tobias,

Obviously, the kind of popup solution you propose would be great, even if I don't understand all the details of your proposition.

When I have made a demo, I'll ping back here.

I look forward to seeing it.
  
I think it's all coming together nicely and, perhaps after taking the time and giving the above issue another read, you will find that what you're doing is precisely that! Now, imagine TiddlyMap being able to simply hook into your MagicTabs relatiohships and display them in a Graph. That's only possible thanks to the kind of semantic relationship pattern I was discussing in that issue and you're already implementing, even configurably so.

TiddlyMap being able to simply hook into the MagicTabs relationships and display them in a Graph would led TW to a new dimension!
 

Especially...


A few days ago I realized that what I want to get to is pretty much the same pattern you use, only just not as bottom tabs but as semantic lists in a kind of note-list to the left hand side of each note ...with buttons defined via relationship patterns defined by the user that allow to create related tiddlers to a note, e.g. an idea, a question, a reference, a comment, a what-not.

I like it very much! How to add a new note?

And yes, we are both going in the same direction. I'm very interested in how you are doing it.

Regards,

Alberto

Tobias Beer

unread,
Jan 10, 2015, 4:26:22 PM1/10/15
to tiddl...@googlegroups.com
 
I like it very much! How to add a new note?

What you see there is just an hours work of prototyping... nothing that works yet.

The wiki so far only holds something of a (now updated) spec for how that could work...
and eventually will also hold the implementation, I think.

Adding a new note will work by clicking on one of those bars so as to insert it at that spot. RelatedNotes will be added via typed buttons in the left column which is listing them.

Best wishes, Tobias.

Alberto Molina

unread,
Jan 10, 2015, 4:58:28 PM1/10/15
to tiddl...@googlegroups.com
Hi Cmari,

Thanks for your kind words and for the report. Lately, I've been doing more coding than testing or even using the plugin, thus I'm not aware of all the bugs. 


Sorting by title and date works fine, but sorting by author is not alphabetical.  Also, clicking the reverse checkbox didn't change anything at all.

I'll check that.

Regards,

Alberto 

Tobias Beer

unread,
Jan 11, 2015, 8:19:05 AM1/11/15
to tiddl...@googlegroups.com
Hi Alberto,

What would be desireable is for magictabs and cornell to build on
similar — if not the same — patterns and paradigms in terms of how...
  • tiddlers are semantically related via fields ...and also basic tagging
  • sets of semantic relations defined via filters conditionally render...
    • magic tabs: bottom tabs
    • cornell: left-column contents, e.g. the types of related-notes and the buttons to create them
  • customization works, so as to be able to...
    • magic tabs: define new (conditional) tabs, relations, contents, icons ...tiddler types, really
    • cornell: define new (conditional) related notes and buttons to create, and edit them
To me it feels like I want to dive into your code a little more before setting out to implement that "cornell stuff".

Best wishes, Tobias. 

Alberto Molina

unread,
Jan 11, 2015, 4:26:02 PM1/11/15
to tiddl...@googlegroups.com
Hi Tobias,

I agree that magictabs and cornell could and should share patterns and paradigms. The difference could be more a question of themes and usecase than a question of code.

After spending a lot of time trying different solutions for my own usecase, my essential conclusions so far are the following:
  1. Types: The relations are not only between tiddlers but also and first about types of tiddlers: for instance, publications are related to authors. Thus, we need a way to define types (since we can't use the field type). And a same tiddler can belong to different types (an author is also a person, a note can also be a comment). 
    • My solution in MagicTabs is to use system tags with the prefix $:/type/ like $:/type/author, $:/type/book, $:/type/note, etc.
      • That way, it is easier to differentiate them from regular tags.
      • I can hide them from view mode (with a custom ViewTemplate/tags)
      • I can apply a different ViewTemplate for each tiddler type.
  2. Fields: The semantic relations must be meaningful but general enough to be applied to different types of tiddlers.
    • So far, in MagicTabs, I use the following generic relations:
      • authors: this is a list field since a book or a paper, a song or a recipe, a plugin or a monument, can have several authors. 
      • about: a note, a comment, a quote, a book, etc., is about something, it talks about something which can be (or not) another tiddler. This is also a list field since a note can talk about different things.
      • source: the source of a quote is a publication, the source of an image can be a webpage, the source of a character can be a novel, etc.
      • parent: this field is to create a generic hierarchy or categorization different from authors and source. This is a list field.
    • But specific relations can be necessary:
      • ingredients: for cooking recipes
      • courses: for students and teachers, resources, lessons.
  3. Lists: Besides types and fields, we need to show the related tiddlers through lists. And we need a mechanism to relate lists to types
    • This is where I use the bottom tabs, which is a solution among others. And the mechanism used by MagicTabs is similar to the $:/tags/foo used by the core:
      • Any tiddler tiddler tagged $:/tabs/foo will be displayed as a bottom tab in all tiddlers tagged $:/type/foo
      • For instance, if we have tiddlers tagged $:/type/ingredient, we can create a tab showing a list of recipes using those ingredients with a tiddler tagged $:/tabs/ingredient and the corresponding list filter.
  4. Customization: We have to separate contents (like filters in tabs) and the way they are displayed. If this is done properly, then the same semantic relations can be shown as bottom tabs, left-column contents (Cornell), or any other way, applying a theme or another.

To me it feels like I want to dive into your code a little more before setting out to implement that "cornell stuff".

Tobias Beer

unread,
Jan 11, 2015, 5:07:05 PM1/11/15
to tiddl...@googlegroups.com
Hi Alberto, 
  • Types: The relations are not only between tiddlers but also and first about types of tiddlers: for instance, publications are related to authors. Thus, we need a way to define types (since we can't use the field type). And a same tiddler can belong to different types (an author is also a person, a note can also be a comment). 
Yes, I was thinking the same about "related notes"... they're not only tiddlers, but they're really notes themselves in the sense that other notes can relate to them in the same context as semantic "children", i.e. pointing to them. In my case that means that they can not only show up in the left column but very much so, also in the right in case they are directly listed as notes to the context rather than just as related notes to a context-note, if that was understandably put.
  • My solution in MagicTabs is to use system tags with the prefix $:/type/ like $:/type/author, $:/type/book, $:/type/note, etc.
    • That way, it is easier to differentiate them from regular tags.
    • I can hide them from view mode (with a custom ViewTemplate/tags)
    • I can apply a different ViewTemplate for each tiddler type.
That is a bery useful pattern, I might just use the same for what now is called YoutubeSomething and will soon be MediaPlugin...


...so as to not only be able to declare and relate annotations (and who knows what) to (embedded) media references, but also to provide hooks for extensions that provide an adaptor to yet another media type, e.g. vimeo, mp3, ogg, site foo... think of it as a special "plugin-extension" called ...i don't know... emoji's for your bottom tabs... which would show some ridiculous image... anyhow, the point being, the extension encapsulates and formalizes its own content, but hooks into your magic-tabs or "my" cornellish notes architecture to show up like any other of your "tabs" or of my "related contents".
  • Fields: The semantic relations must be meaningful but general enough to be applied to different types of tiddlers.
    • So far, in MagicTabs, I use the following generic relations:
      • authors: this is a list field since a book or a paper, a song or a recipe, a plugin or a monument, can have several authors. 
      • about: a note, a comment, a quote, a book, etc., is about something, it talks about something which can be (or not) another tiddler. This is also a list field since a note can talk about different things.
      • source: the source of a quote is a publication, the source of an image can be a webpage, the source of a character can be a novel, etc.
      • parent: this field is to create a generic hierarchy or categorization different from authors and source. This is a list field.
Thanks you so much for the details, I was hoping that one day I'd understand the distinctions. ^^
  • But specific relations can be necessary:
    • ingredients: for cooking recipes
    • courses: for students and teachers, resources, lessons.
Indeed... thinking of this cornell thing... ingredients could be listed alongside a step in the preparation process as links to further information ...about "artichokes"... also makes me think that for a related not I might want to see more than a title, e.g. a related quantity... when it comes to "ingredients".

As for the note for step X, one thing would be to establish the semantic relationship: "ingedient=artichoke" and the other would be... "quantity:3"... for this step in the process.

One might also wish to see a list of all "ingredients" to a "recipe"... the recipe being the note-context... so not just to the preparation step. Or, well, all open questions, notes, comments, references, foo bar baz... to a context... being a tiddler.
  • Lists: Besides types and fields, we need to show the related tiddlers through lists. And we need a mechanism to relate lists to types
    • This is where I use the bottom tabs, which is a solution among others. And the mechanism used by MagicTabs is similar to the $:/tags/foo used by the core:
      • Any tiddler tiddler tagged $:/tabs/foo will be displayed as a bottom tab in all tiddlers tagged $:/type/foo
      • For instance, if we have tiddlers tagged $:/type/ingredient, we can create a tab showing a list of recipes using those ingredients with a tiddler tagged $:/tabs/ingredient and the corresponding list filter.
Yes, I was thinking you'd do that and it makes total sense. In my case, it would be a template that defines a line-item rather than a full-blown tab.
  • Customization: We have to separate contents (like filters in tabs) and the way they are displayed. If this is done properly, then the same semantic relations can be shown as bottom tabs, left-column contents (Cornell), or any other way, applying a theme or another.
Precisely the point I was trying to bring to your attention.
 
To me it feels like I want to dive into your code a little more before setting out to implement that "cornell stuff".

The core of MagicTabs, if you want to understand how it works, is:
I will indeed take a very close look. Thanks for all the detailed feedback. You have provided some very inspirational and solid foundation in your implementation... a fool not to establish a symbiotic relationship with such fruitful knowledge-management-capacity.

Best wishes, Tobias.

Alberto Molina

unread,
Jan 12, 2015, 8:24:53 AM1/12/15
to tiddl...@googlegroups.com
Hi,
Fixed and improved!

Regards,

Alberto 

Danielo Rodríguez

unread,
Jan 12, 2015, 2:30:47 PM1/12/15
to tiddl...@googlegroups.com


El viernes, 9 de enero de 2015, 19:46:29 (UTC+1), Alberto Molina escribió:
Hi Danielo,

I am currently working on a new version of the plugin, with less bugs, better features, and much easier to customize. Its not yet finished but usable enough. I just uploaded it so you can take advantage of the customization enhancements: magictabs.tiddlyspot.com

But this is not compatible with the previous version right?
 
 

I'm glad you find it useful. Unfortunately, the plugin for teachers is in a very early phase of development, so there's not much features. 
Well, I don't want to use it as a teacher, but to give the students a good material where they can take notes and ideas.
 
 

The field "parent" is just a way to categorize your contents, you can use it as you wish. There's no restriction.
But I did not find any button or field to "automatically" create a new tiddler as a child.
 
 
In order to better explain myself (and not spending hours figuring out how to write it in english) I'm going to continue in spanish. But I promise to write the documentation in english later on.

En español. Imagino que lo que quieres hacer es adaptar las tablas para lo que tú necesites. Yo traté de dividir las tablas en sus elementos constitutivos, de modo que cada campo (título, etiquetas, texto, acerca de, etc.) está en un tiddler diferente. De ese modo puedo reutilizarlos independientemente uno de otro para hacer tablas diferentes. Por ejemplo el campo "about" está en el tiddler $:/plugins/amp/MagicTabs/forms/input/about

Nice to hear that. I miss the forms at the sidebar to add new tiddlers of each type. Are they still there?
 

Además, están como macros globales, de modo que si escribes <<inputAbout>> en cualquier tiddler, te aparece el trozo de tabla correspondiente. En la mayoría de los campos hay tres variables que puedes configurar: el "label", el tiddler temporal que usas para almacenar los datos, y el campo que editas. Las variables "label" y "field" se pueden meter directamente en la macro:
<<inputAbout label:"Acerca de" field:"about">>

En cambio, el tiddler temporal se define desde fuera (porque dentro aparece como $(tempTiddler)$:
<$set name="tempTiddler" value="$:/temp/foo">

<
<inputAbout label:"Acerca de" field:"about">>

</$set>

En algunos sólo se puede cambiar el tempTiddler (tendré que hacerlo para todos cuando tenga tiempo):
<$set name="tempTiddler" value="$:/temp/foo">

<
<inputDescription>>

</$set>


En algunos también se pueden definir "placeholder" y otras cosas, pero es mejor verlo directamente en el tiddler correspondiente. Todos empiezan por $:/plugins/amp/MagicTabs/forms/

This is very powerful. Maybe you can use this small explanation to add it to the documentation.

 
 
 
Is there any way to add tiddlers under a topic?

No entiendo muy bien lo que quieres decir. A cualquier tiddler se le pueden añadir comentarios, notas, etc., y todos los tiddlers que estén relacionados con éste aparecerán abajo en las pestañas correspondientes. Por ejemplo, si tengo un tiddler "Catedral de Salamanca", puedo añadirle comentarios, notas y más cosas que sólo aparecerán ahí porque tienen los campos "about: [[Catedral de Salamanca]]" o "source: Catedral de Salamanca" o "parent: [[Catedral de Salamanca]]".

Esto lo has entendido más en otro post.

 
Si además a tu tiddler le asignas un tipo, con la etiqueta "$:/type/arquitectura", entonces puedes añadirle pestañas específicas a ese tipo. Por ejemplo, debajo de cada tiddler con la etiqueta "$:/type/arquitectura" puedo tener las pestañas "Fotos", "Elementos destacados", "Técnicas constructivas".

No termino de ver claro cómo añadir nuevas pestañas. Ok, creo un tiddler y le pongo una tag que empieze con $:/type/algo, pero luego dónde defino las tabs? Dónde aparecerán esas tabs? En todos los tiddlers?
 

Ahora es más fácil crear nuevas pestañas. Basta con clonar el patrón ($:/plugins/amp/MagicTabs/templates/tab) y rellenar los campos que quieras, especialmente:

Con ahora te refieres a la última versión que estás desarollando o también incluye la anterior?
 
  • contents.tag: ahí indicas la etiqueta de los tiddlers que quieres que aparezcan en la pestaña. Por ejemplo: "$:/type/comments", "$:/type/journal", "tasks", etc.

Ok, creo que esto está relacionado con la pregunta anterior en la que te preguntaba cómo definir tabs, pero creo que se me escapa algo.  
 
Bueno, espero que sea suficiente para que te hagas una idea. Pero no dudes en preguntarme si tienes más dudas.



Muchas gracias! 

Alberto Molina

unread,
Jan 12, 2015, 9:24:22 PM1/12/15
to tiddl...@googlegroups.com
Hi Danielo,
 
I am currently working on a new version of the plugin, with less bugs, better features, and much easier to customize. Its not yet finished but usable enough. I just uploaded it so you can take advantage of the customization enhancements: magictabs.tiddlyspot.com

But this is not compatible with the previous version right?

No. There a two incompatibilities:
  1. Tiddler names: all the tiddler names containing $:/…/amp/BT/… have changes to $:/…/amp/MagicTabs/… I did the change using the search/replace of a text editor.
  2. Tabs fields: fields like filter and template have changed to list.filter and list.template, and other fields have been added.
    • That affects also the macros <<tabContents>>, <<tabCaption>> and <<inputSlider>>.
    • But if you didn't create your own custom tabs, I think it should not affect you.
Another problem is that the refactoring is not finished and I have not tested enough, so MagicTabs could be atm even more buggy than BottomTabs.


 
I'm glad you find it useful. Unfortunately, the plugin for teachers is in a very early phase of development, so there's not much features. 
Well, I don't want to use it as a teacher, but to give the students a good material where they can take notes and ideas.

Then the basic plugin could be enough since I added as default tabs: comments, notes, ideas…



 
 The field "parent" is just a way to categorize your contents, you can use it as you wish. There's no restriction.
But I did not find any button or field to "automatically" create a new tiddler as a child.

For the "parent" field, there's no button atm. But if you use the form+button in the tabs to add a comment, a note, an idea, etc., it will automatically be added as a child (through the fields "about" or "source") in the info tab.
 

Nice to hear that. I miss the forms at the sidebar to add new tiddlers of each type. Are they still there?

No, there's only a button for adding people. Use instead the form+button inside the tabs, or, if you want independent notes and ideas, use the MagicTabs tiddler to add them. The other buttons have not been created so far.

 
This is very powerful. Maybe you can use this small explanation to add it to the documentation.

After I finish v.0.2 of the plugin, I will dedicate v.0.3 to documentation. New features moratorium :p



 
 No termino de ver claro cómo añadir nuevas pestañas. Ok, creo un tiddler y le pongo una tag que empieze con $:/type/algo, pero luego dónde defino las tabs? Dónde aparecerán esas tabs? En todos los tiddlers?

Its very easy: if you create a tiddler tagged $:/tabs/foo, it will appear as a bottom tab in every tiddler tagged $:/type/foo and only there (unless you choose to have it as a default tab, and you can do that with the tag $:/action/is/default, or go to the control panel, under appearance and magic tabs tweaks). 

I explain how to create custom new types and tabs in 5 easy tabs here: http://youtabs.tiddlyspot.com/

 

Ahora es más fácil crear nuevas pestañas. Basta con clonar el patrón ($:/plugins/amp/MagicTabs/templates/tab) y rellenar los campos que quieras, especialmente:

Con ahora te refieres a la última versión que estás desarollando o también incluye la anterior?

Yes, with the MagicTabs revision, it is much easier to create new tabs (and it will be even easier when I finish) because the macros <<tabContents>> and <<tabCaption>> use default parameters. It is enough to fill the field contents.tag with a tag to get a working tab with a list of results that you can customize filling other fields. It is detailed in http://youtabs.tiddlyspot.com/

  • contents.tag: ahí indicas la etiqueta de los tiddlers que quieres que aparezcan en la pestaña. Por ejemplo: "$:/type/comments", "$:/type/journal", "tasks", etc.
Ok, creo que esto está relacionado con la pregunta anterior en la que te preguntaba cómo definir tabs, pero creo que se me escapa algo.  

If you want a tab showing a list of journal tiddlers, add the field+content: "contents.tag: $:/type/journal" to that tab tiddler.
 

Saludos,

Alberto

Danielo Rodríguez

unread,
Jan 13, 2015, 4:01:32 AM1/13/15
to tiddl...@googlegroups.com
Hello Alberto,

I'm trying magic Tabs... One fast question. How can I remove the config button from each tab?

Thanks in advance.

Tobias Beer

unread,
Jan 13, 2015, 4:25:19 AM1/13/15
to tiddl...@googlegroups.com
Hi Alberto, 
  1. Tabs fields: fields like filter and template have changed to list.filter and list.template, and other fields have been added.
Perhaps use a more specific mt prefix, e.g. mt.filter?

Its very easy: if you create a tiddler tagged $:/tabs/foo, it will appear as a bottom tab in every tiddler tagged $:/type/foo and only there (unless you choose to have it as a default tab, and you can do that with the tag $:/action/is/default, or go to the control panel, under appearance and magic tabs tweaks). 
 
I explain how to create custom new types and tabs in 5 easy tabs here: http://youtabs.tiddlyspot.com/

Not sure what to make of this strategy in terms of...

Type video: Add the tag $:/type/video to the video tiddlers. In this case: Introduction To TiddlyWiki
Type annotation: Add the tag $:/type/annotation to the annotation tiddlers.

Why would I need an additional type tag? Isn't there a filter expression that corresponds to what makes a tiddler of type $:/type/video or $:/type/annotation or any other type?

How about something more implicit, like...

$:/type/field/yt-id

...without a need to declare some otherwise unneeded extra tags for magic-tabs?

And then have ...

contents.by.field: $:/type/field/yt-video

...perhaps. The thing is, do I need / also want those $:/type/video and $:/type/annotation tags now and does that mean that I also need to overwrite the tags template?

I was surely considering of abandoning the yt-video field as it seems much more natural to have the annotation simply tag to the video, but then I have the problem that a simple tagging relationship isn't a qualified one.

Also, if I kept something like yt-video as a qualified field then there is that problem with generally distinguishing yt-video vs. yt-videos... because, the latter would require a bracketed list like the tags field and all the handling that  goes with dissecting those bracketed list-items whereas the yt-video field as a reference to a single parent does not have any double square brackets and would probably fail if I wrapped those tiddler titles in them.

So, how do you harmonize these relations ships such that 1:1 is working exactly like a 1:many in terms of how the data is being kept, i.e. by entering that related tiddler via a "browse for some tiddler" popup just like we have for tags?

Mhhh, loads of further exploring and architectural design is needed, it appears.

I mean, hw would you handle the case where a tiddler would have two parents, sources, etc...?

Best wishes, Tobias.

Danielo Rodríguez

unread,
Jan 13, 2015, 4:26:20 AM1/13/15
to tiddl...@googlegroups.com
Hello alberto

Its very easy: if you create a tiddler tagged $:/tabs/foo, it will appear as a bottom tab in every tiddler tagged $:/type/foo and only there (unless you choose to have it as a default tab, and you can do that with the tag $:/action/is/default, or go to the control panel, under appearance and magic tabs tweaks). 

If I want to just add a new default tab.. Should I use the  $:/type nomenclature? What is the structure of a tab? I clonned the tiddler $:/plugins/amp/MagicTabs/templates/tab and I changed the caption, icon and color fields, but the tab does not appear as part of the bottom tabs. Also it have the comment header inside the text. 
I have another tab with the tag $:/type/tab and it appears, but without icon.

I'm a bit confused. Thank you for your time.

Danielo Rodríguez

unread,
Jan 13, 2015, 4:39:00 AM1/13/15
to tiddl...@googlegroups.com
Ok, I have my doubts tab created. But, this is what I thing is needed and I did not get this from the documentation
You need at two things:
  • A $:/type tiddler, which will be used as tag. This tiddler defines the caption and the icon.
  • A tab tiddler, called whatever you want. For me to work I had to include the tags $:/action/is/default and the $:/type/tab. My magic control pannel does not display anything under the configuration of tab manager.
  • The macro <<tabContents>> uses the tag caption and icon to create the heading of the tab, so it's imperative to fill the contents.tag with the type tiddler you created.
Now, I have to define an add.content tiddler to be able to create new tiddlers with the required tag. I will continue investigating.

Alberto Molina

unread,
Jan 13, 2015, 4:51:09 AM1/13/15
to tiddl...@googlegroups.com
Hi Danielo,


I'm trying magic Tabs... One fast question. How can I remove the config button from each tab?

The button is created by the <<tabContents>> macro in $:/plugins/amp/MagicTabs/macros/tabContents

 

If I want to just add a new default tab.. Should I use the  $:/type nomenclature? What is the structure of a tab? I clonned the tiddler $:/plugins/amp/MagicTabs/templates/tab and I changed the caption, icon and color fields, but the tab does not appear as part of the bottom tabs. Also it have the comment header inside the text. 
I have another tab with the tag $:/type/tab and it appears, but without icon.
I'm a bit confused. Thank you for your time.

The macros use the <$set> widget and that creates a problem: the tiddler needs to be refreshed for the changes are shown. Maybe this is your problem because I find myself sometimes asking where is my tab, or why the changes are not reflected? Sorry for that. It is why the plugin still needs a lot of work.

Alberto


Alberto Molina

unread,
Jan 13, 2015, 4:59:57 AM1/13/15
to tiddl...@googlegroups.com
Danielo,


 
Ok, I have my doubts tab created. But, this is what I thing is needed and I did not get this from the documentation
You need at two things:
  • A $:/type tiddler, which will be used as tag. This tiddler defines the caption and the icon.
The macro <<tabCaption>> works like that (if I'm not wrong): it looks first for the fields inside the tab tiddler, if it doesn't find anything, it looks at the $/type/foo tiddler, and if nothing it uses a default icon.

  • A tab tiddler, called whatever you want. For me to work I had to include the tags $:/action/is/default and the $:/type/tab. My magic control pannel does not display anything under the configuration of tab manager.
When I created the video annotations tab, I didn't need to tag it with $:/type/tag, but it is needed I don't remember why and for what, maybe for the $:/action/is/default to work. I have to check that.

There's no tab manager atm. The plan is to have a list of all the tabs used, with configuration options and a form+button for easy creating new tabs. Idem for the type manager.
 
  • The macro <<tabContents>> uses the tag caption and icon to create the heading of the tab, so it's imperative to fill the contents.tag with the type tiddler you created.
Now, I have to define an add.content tiddler to be able to create new tiddlers with the required tag. I will continue investigating.


Alberto 

Danielo Rodríguez

unread,
Jan 13, 2015, 5:05:54 AM1/13/15
to tiddl...@googlegroups.com

The macros use the <$set> widget and that creates a problem: the tiddler needs to be refreshed for the changes are shown. Maybe this is your problem because I find myself sometimes asking where is my tab, or why the changes are not reflected? Sorry for that. It is why the plugin still needs a lot of work.

Alberto


Yes, I noticed that :P but I did not know why. Now I'm trying to create a form to add a new doubt, but It is not related with its parent. I'm using  <<newNote "doubt">> I noticed that the parameter of the newNote macro is the second part of the type tag, so it will be tagged as $:/type/doubt. I got some problems because I though it was just a caption, and I was using <<newNote "Doubt">> so the doubts were not related. 

Things are starting to work!! Is there any other macro with less fields?

Alberto Molina

unread,
Jan 13, 2015, 5:39:20 AM1/13/15
to tiddl...@googlegroups.com
Hi Tobias,


  1. Tabs fields: fields like filter and template have changed to list.filter and list.template, and other fields have been added.
Perhaps use a more specific mt prefix, e.g. mt.filter?

Yes, you're right. Maybe mt.list.filter, mt.list.filter.heading, mt.list.filter.template, mt.tab.template, etc.


 
Its very easy: if you create a tiddler tagged $:/tabs/foo, it will appear as a bottom tab in every tiddler tagged $:/type/foo and only there (unless you choose to have it as a default tab, and you can do that with the tag $:/action/is/default, or go to the control panel, under appearance and magic tabs tweaks). 
 
I explain how to create custom new types and tabs in 5 easy tabs here: http://youtabs.tiddlyspot.com/

Not sure what to make of this strategy in terms of...

Type video: Add the tag $:/type/video to the video tiddlers. In this case: Introduction To TiddlyWiki
Type annotation: Add the tag $:/type/annotation to the annotation tiddlers.

Why would I need an additional type tag? Isn't there a filter expression that corresponds to what makes a tiddler of type $:/type/video or $:/type/annotation or any other type?

Why an additional type tag ($:/type/annotation) ? It is not mandatory, but:
  1. that way it is easier to look for video annotations and create list filters. You do the same using fields.
  2. if you fill the field contents.tag with that tag, the macro <<tabContents>> will automatically display a list with a default filter using that tab. But you can use your own list filter, either using the field list.filter, or not using the <<tabContents>>.
  3. if you create the tiddler $:/type/annotation with a caption, an icon, a template, they are automatically used by the macros <<tabCaption>> and <<inputSlider>>.
  4. last but not least: that way, annotation tiddlers can be first class citizens, having their own dedicated tabs, view templates, etc. For instance, you may want a tab specific to video annotations showing related with the same topic, or documentation tiddlers talking about the same topic as the video annotation. 


How about something more implicit, like...

$:/type/field/yt-id

...without a need to declare some otherwise unneeded extra tags for magic-tabs? 

And then have ...

contents.by.field: $:/type/field/yt-video

...perhaps. The thing is, do I need / also want those $:/type/video and $:/type/annotation tags now and does that mean that I also need to overwrite the tags template?

Sorry, I don't understand your point.


 
I was surely considering of abandoning the yt-video field as it seems much more natural to have the annotation simply tag to the video, but then I have the problem that a simple tagging relationship isn't a qualified one.

You need a qualified relationship between the video and its annotations, and the yt-video field works. You could use in the same way I use the source field. But if you use yt-video instead of source, you need to create specific list filters while source is used by default in MagicTabs.
 

Also, if I kept something like yt-video as a qualified field then there is that problem with generally distinguishing yt-video vs. yt-videos... because, the latter would require a bracketed list like the tags field and all the handling that  goes with dissecting those bracketed list-items whereas the yt-video field as a reference to a single parent does not have any double square brackets and would probably fail if I wrapped those tiddler titles in them.

Custom list fields are a pain in the neck. But I managed to have them working with fields like authors, aboutparent, and I don't remember if source.
 
So, how do you harmonize these relations ships such that 1:1 is working exactly like a 1:many in terms of how the data is being kept, i.e. by entering that related tiddler via a "browse for some tiddler" popup just like we have for tags?

Mhhh, loads of further exploring and architectural design is needed, it appears.

I mean, hw would you handle the case where a tiddler would have two parents, sources, etc...?

Its complicated but it works. When I have more than one author for the same book, they are all specified in the authors field and are treated as if they were tags. Idem for the about and parent field. Can't explain here. 

 Best wishes,

Alberto

Tobias Beer

unread,
Jan 13, 2015, 7:04:13 AM1/13/15
to tiddl...@googlegroups.com
Hi Alberto, Danielo,
 
A $:/type tiddler, which will be used as tag. This tiddler defines the caption and the icon.

I find it rather confusing that this would be a tag.
Is that just a design choice or would it be a necessity?
All in all, there would only ever be one mt.type to a single tiddler, or not?

Or is it a tag to simplyify assigning it, to assure the user selects a valid value ...if he ever does so, manually.

The macro <<tabContents>> uses the tag caption and icon to create the heading of the tab, so it's imperative to fill the contents.tag with the type tiddler you created.

I think it would be helpful if all these components would come prefixed, e.g.

<<mt-tab-contents>>

Best wishes, Tobias.

Tobias Beer

unread,
Jan 13, 2015, 7:32:21 AM1/13/15
to tiddl...@googlegroups.com
Hi Alberto,

that way, annotation tiddlers can be first class citizens, having their own dedicated tabs, view templates, etc. For instance, you may want a tab specific to video annotations showing related with the same topic, or documentation tiddlers talking about the same topic as the video annotation. 

Being tiddlers, annotations already are "first class citizens"... in TiddlyWiki.
So, what we magically desire are dedicated tabs that only show for certain citizens.
The question perhaps remains: What produces triggers a tab showing?
What identifier is used to trigger showing a tab?
To me, that is always some filter expression ...which we could associated with a tiddler tagged something like $:/tags/MagicTab.
A filter that is perhaps not even stored at that tab-tiddler directly, so as to decouple switching it on and off from the actual template.
 
if you create the tiddler $:/type/annotation with a caption, an icon, a template, they are automatically used by the macros <<tabCaption>> and <<inputSlider>>.

The core would probably do this via individual tiddlers, like...
  • $:/mt/types/<type-name>/tab
    • the tab template
  • $:/mt/types/<type-name>/icon
    • the icon for the thing
  • $:/mt/types/<type-name>/field
    • a (list) field that triggers showing the tab
  • $:/mt/types/<type-name>/tag
    • a tag that triggers showing the tab, in the form of $:/type/<tag>
  • $:/mt/types/<type-name>/filter
    • an entirely custom filter that triggers showing the tab
  • $:/mt/types/<type-name>/lingo/en-GB/caption
    • a caption for a given language, fallback being en-GB
...this ensures that core components only get partially overwritten but not completely, which would prevent getting template updates later on. So, for each tab, there would be a set of the above, perhaps all of which are optional, thus showing the tab for all tiddlers.

How about something more implicit, like...

$:/type/field/yt-id

Sorry, I don't understand your point.

The point was to trigger showing a tab not based on the presence of a certain tag,
but rather based on the presence of a certain field that would be used anyway... for a "typed citizen".
The filter to show/hide tabs would possibly be able to handle both cases in one, e.g.

show either when...
  • tagged $:/type/<type-name>
  • field mt-type <type-name>
You need a qualified relationship between the video and its annotations, and the yt-video field works. You could use in the same way I use the source field. But if you use yt-video instead of source, you need to create specific list filters while source is used by default in MagicTabs.

Yes, so I'm thinking it does have to be a field, after all, rather than a tag.

Custom list fields are a pain in the neck. But I managed to have them working with fields like authors, aboutparent, and I don't remember if source.

They may be a pain in the neck, but I think for harmony's sake, all those relatiohship fields should be handled using list-fields and the kind of nomenclature that is required for them to work properly, be it a 1:many relationship or a mere 1:1... and one day, hopefully, the same ui as is given to the tags field... plus the ordering.

Best wishes, Tobias.

Danielo Rodríguez

unread,
Jan 13, 2015, 3:31:19 PM1/13/15
to tiddl...@googlegroups.com
Hello Alberto,

Please consider making the tiddler $:/plugins/amp/MagicTabs/lists/notes/filter tags based. I had to edit it manually to ad my own type, and this is not good. As important as having the ability to add new tabs is to sumarize its tiddlers. Regards.

Danielo Rodríguez

unread,
Jan 18, 2015, 12:39:12 PM1/18/15
to tiddl...@googlegroups.com
Hello Alberto,

I just want to thank you for your plugin. It is making the process of creating documentation much easier and intuitive. I'm making some customizations to make it fit my needs. I hope you are doing well and we can see soon new features of your plugin. I'm particularly interested in a tab that shows the reference (for me tipically one or more urls) where you took the information from.

Alberto Molina

unread,
Jan 18, 2015, 1:18:47 PM1/18/15
to tiddl...@googlegroups.com
Hi Danielo,

Thanks for your kind words.

I didn't have time enough to work on the plugin this week, neither to answer the last messages here.

Since the plugin is still a work in progress, I'm much interested in your customisations and your use case to adapt the plugin, make it easier to customise, and add new tabs that could be useful for users like you. Would you let me see your customizations when you are finished?

Regards,

philippe mekal

unread,
Jan 20, 2015, 10:58:04 AM1/20/15
to tiddl...@googlegroups.com

Hi Alberto,

I must say your work is awsome.
These plugins contain what I need, and in speaking of customisations, i can say I am trying hard to adapt your plugin to my needs.
And I also can say I can't finalize it...

I am trying to do this, for an help to a writer : character tiddlers, with three bottom tags filled with fields (describing the character), and forms to fill these fields.
I hope I can do it one day.

thank you anyway for your plugin.

Bien cordialement
Philippe

Danielo Rodríguez

unread,
Jan 20, 2015, 1:06:21 PM1/20/15
to tiddl...@googlegroups.com
Hello Alberto.


El domingo, 18 de enero de 2015, 19:18:47 (UTC+1), Alberto Molina escribió:
Hi Danielo,

Thanks for your kind words.

Thank you for your work and support.
 

 


Since the plugin is still a work in progress, I'm much interested in your customisations and your use case to adapt the plugin, make it easier to customise, and add new tabs that could be useful for users like you. Would you let me see your customizations when you are finished?


Of course I can share with you my customizations. But currently they are very basic: I just created a new type, a new tab and I added it to the control panel. I have plans to put a link to the "parent tiddler" of each annotation (not just notes) in the control panel. I think is important to know where do you have those notes when you want to review, for example, your doubts or what is the note about.

Regards.
 
Regards,

Alberto Molina

unread,
Jan 21, 2015, 7:58:02 AM1/21/15
to tiddl...@googlegroups.com
Hi Philippe,

I must say your work is awsome.

Thanks, I'm glad you like it.
 
These plugins contain what I need, and in speaking of customisations, i can say I am trying hard to adapt your plugin to my needs.
And I also can say I can't finalize it...

I am trying to do this, for an help to a writer : character tiddlers, with three bottom tags filled with fields (describing the character), and forms to fill these fields.
I hope I can do it one day.

I'm currently trying to make things much easier for customization. But there's still work to do. And I'm sorry there's no documentation at the moment.

Please explain better what you want to achieve and I'll try to help you:
  • Which tiddler types do you need? One is characters ($:/type/character). What about the others? 
  • Which fields do you want for each tiddler type?
  • Which bottom tabs do you need?
Bien cordialement,

Alberto

Alberto Molina

unread,
Jan 21, 2015, 8:07:49 AM1/21/15
to tiddl...@googlegroups.com
Hi Danielo,

Of course I can share with you my customizations. But currently they are very basic: I just created a new type, a new tab and I added it to the control panel. I have plans to put a link to the "parent tiddler" of each annotation (not just notes) in the control panel. I think is important to know where do you have those notes when you want to review, for example, your doubts or what is the note about.

If its something that can be useful to others, I can add your customizations to the core plugins. 

Please consider making the tiddler $:/plugins/amp/MagicTabs/lists/notes/filter tags based. I had to edit it manually to ad my own type, and this is not good. As important as having the ability to add new tabs is to sumarize its tiddlers. Regards.

You are right. I'm currently working on this and other improvements.

Saludos,

Alberto

Alberto Molina

unread,
Jan 21, 2015, 8:25:53 AM1/21/15
to tiddl...@googlegroups.com
Hi Tobias,


A $:/type tiddler, which will be used as tag. This tiddler defines the caption and the icon.

I find it rather confusing that this would be a tag.
Is that just a design choice or would it be a necessity?
All in all, there would only ever be one mt.type to a single tiddler, or not?

Or is it a tag to simplyify assigning it, to assure the user selects a valid value ...if he ever does so, manually.

Its a design choice. And I have several reasons for that. Previously, in http://tesis.tiddlyspot.com/, I used the field catégorie for the same purpose, but it was a pain in the neck. Tags are much easier to use, for instance in list filters; they are easier to assign, as you point out, and other reasons… We could do the same with field instead of tags, or have both, but do not consider going that way until the plugin is stable enough.


The macro <<tabContents>> uses the tag caption and icon to create the heading of the tab, so it's imperative to fill the contents.tag with the type tiddler you created.

I think it would be helpful if all these components would come prefixed, e.g.

<<mt-tab-contents>>

  1. Tabs fields: fields like filter and template have changed to list.filter and list.template, and other fields have been added.
Perhaps use a more specific mt prefix, e.g. mt.filter?

Yes, it might be a good thing to avoid interferences with other macros.

Regards,

Alberto

philippe mekal

unread,
Jan 21, 2015, 9:08:35 AM1/21/15
to tiddl...@googlegroups.com
Hi Alberto,

I wouldn't let you do all the work !
What i am trying to do is "an help to manage characters" for a book to write.

To my idea, what is needed for a basic set is :

A way to create one tiddler for each character. (you button 'person' on 'scholars' is nice)

This tiddler would have few fields, like name, surname, and sex, for a basic set. (the idea is,
 that anyone who want to custumize, can add whatever fields he wants, and can report the filling
of these fields in the creation act)

Once this character tiddler is created, it would automaticaly have 5 other bottom tab :
idea(s) and note(s) (what you already have created, in the same way, saying with the + button to add as many ideas or notes as wanted) and three other
that would contain many other fields to be filled (basicaly for a writing book : one tab for physical description, one for mental and one for life description)

These three bottom tab don't need the + button, only a "modify" button
In a basic set, i would see bottomtab1, bottomtab2, bottomtab3 and each of them with 3 fields : btf11,btf12 and btf13 for the first bottom tab,
btf21,btf22 and btf23 for the second bottom tab, and so on.
These name (bottomtab1, btf11,...) could be easily renamed to fit every need.
And of course, many other fields could be added on each of these bottomtab123.

This basic set could be re-used for any purpose.
I also believe that the macro part is not that easy to adapt (that is also why i am stucked...)

I don't know if i am clear... i could explain again in french if needed.

I also would be pleased to help if you want to add a french documentation (but I believe you speak french too).

Thanks a lot if you have some time to spend on these ideas.

One again, great job you've done.

Bien cordialement

Philippe 

Danielo Rodríguez

unread,
Jan 21, 2015, 4:23:28 PM1/21/15
to tiddl...@googlegroups.com
Hello Alberto,

How is the creation of new tiddlers via form managed? Is there any chance to not opening the resulting tiddler for editing?

Alberto Molina

unread,
Jan 21, 2015, 5:40:14 PM1/21/15
to tiddl...@googlegroups.com
Hi Philippe,

OK. I think I understand. I'm going to try as a way of testing the changes I've done to the plugins. But before I need to fix other things.
When finished, it could be the start of a new extra plugin for writers.

I also would be pleased to help if you want to add a french documentation (but I believe you speak french too).

Yes, I speak french much better than english. I would like to create documentation in english, spanish and french. But until now there's no documentation at all. First, the plugin must be stable enough. I also would like to have the plugin translatable in different languages, like the core of tw, but later.

If you could contribute to the french translation of the documentation of tw.com, it would be much more useful.
 
Regards,

Alberto

Alberto Molina

unread,
Jan 21, 2015, 5:47:32 PM1/21/15
to tiddl...@googlegroups.com
Hi Danielo,

 
How is the creation of new tiddlers via form managed?

 Is there any chance to not opening the resulting tiddler for editing?

I would like to have the option of opening or not, for editing or for viewing. That was possible with the maketid plugin from matabele, but I don't think it's possible atm with the core. I hope I'm wrong.

Regards,

Alberto

Alberto Molina

unread,
Feb 4, 2015, 7:47:31 AM2/4/15
to tiddl...@googlegroups.com
Hi everyone,

I worked VERY HARD on the MagicTabs plugin over the last two weeks: fixing bugs, cleaning code and improving the code, with special attention to customization.

Until now, customizing the plugin (creating new types and tabs) was a pain in the neck. Now I think (I hope) it is MUCH easier and intuitive. You are guided step by step to create new types+templates and new tabs, and many processes are automated. 

Other features include:
* Silent tiddlers creation.
* No more need to create ad-hoc forms and buttons for custom types and tabs.
* No more need to create ad-hoc lists in the dashboard.
* Too many things to remember.

Now, it is very important to associate a template with each type for automated creation of new tiddlers with that type.

The downside of improvements is incompatibilities. Macros and fields have changed their names (most with prefixes like "mt-"). If you didn't create custom types and tabs, then it shouldn't affect you. If you did, then I think the best way to best way to go is to create new types and tabs using the dashboard managers and copy/pasting your stuff in the relevant new fields. But remember that this is beta software and that future versions might be incompatible with this one. Use it for testing purposes only. 

For those interested in testing it, I would like to know your opinion about the customization process: it is easier now, is it intuitive, is there any point where you get stuck, any bug?

The reading extra (successor of TW for Scholars) is not available now with this new version of MagicTabs because it uses very different and complex mechanisms to create custom publications' titles, quotes' titles, etc. It could be adapted without too much modifications, but I prefer to rewrite it entirely for good, and it might take some time. 

Best wishes,

Alberto







 

Alberto Molina

unread,
Feb 4, 2015, 7:48:58 AM2/4/15
to tiddl...@googlegroups.com
Le mercredi 4 février 2015 13:47:31 UTC+1, Alberto Molina a écrit :
Hi everyone,

I worked VERY HARD on the MagicTabs plugin over the last two weeks: fixing bugs, cleaning code and improving the code, with special attention to customization.


Alberto Molina

unread,
Feb 4, 2015, 8:01:13 AM2/4/15
to tiddl...@googlegroups.com
Hi Philippe,

Sorry for the late answer. Before trying to create your types and tabs, I thought is was better to make the customization process much easier for you and other users, so you can do it yourself. And it took me a lot of intensive work to achieve something good enough to publish here.

Then, testing my own plugin customization features, I made a little extra plugin to create new characters with editable "physical description" and "mental description" as bottom tabs. I hope it is useful for you. And try to do your own types and tabs to see if you get stucked again.


Bien cordialement,

Alberto

PMario

unread,
Feb 4, 2015, 8:42:07 AM2/4/15
to
Hi Alberto,
Great stuff!

IMO since you renamed the project from bottom tabs to MagicTabs, you should create a new "[TW5] INTRO: MagicTabs plugin - some more text" thread for it.

The INTRO prefix may make it easier to find it :)

I think it deserves it!

have fun!
mario

Alberto Molina

unread,
Feb 4, 2015, 9:15:16 AM2/4/15
to tiddl...@googlegroups.com
Hi PMario,
 
Great stuff!

Thanks!
 
IMO since you renamed the project from bottom tabs to MagicTabs, you should create a new "[TW5] INTRO: MagicTabs plugin - some more text" thread for it.
The INTRO prefix may make it easier to find it :) 

Yes, but I want to do some more testing and debuging before announcing it, as version 0.2, in its own thread.
 
Regards,

Alberto

philippe mekal

unread,
Apr 16, 2015, 8:00:34 AM4/16/15
to tiddl...@googlegroups.com
Hi Alberto,

I know... I took my time... in fact... I had difficulties to find time...

Great job you did.
I tried few things, and before I go further, I would like to have your opinion.
Please find attached what I did.

Question :

I made a new tab (capacites), but when I try to call it, the pattern doesn't come. I know I miss something, but cannot find what.
I chose to add fields, to be filled (don't know if it is the best way). The button to edit would be a good one if it could edit the fields (see 'physical' for 'Saroldi').
Can you explain (may be again  ;-(  ) what does the second line (tagging) under 'physical description' bottom tab means ? How can we use it ?
When creating the bottom-tab (ie physical description), is it possible to directly name the new tiddler by, for example, name + physical, or whatever else that prevents mismatching if these tiddler are modified separately from the 'character' main tab ?
I found this kind of iconography on the google group<<fa beer 2>> from font awsome. Isn't it easier than the way you use icons ? Am I missing (again) something ?

Thanks again for the time you spend on this project. I would help you if I could, but definitively, it is far beyond my knowledge.

bien à toi

Philippe
nouveau test alberto 02.html

Danielo Rodríguez

unread,
May 5, 2015, 9:53:32 AM5/5/15
to tiddl...@googlegroups.com
Hello Alberto,

I'm using your Plugin for meetings notes. I like the ability of create new notes, and sections. It's very useful because it's not comfortable to create several tiddlers and relate them with plain TW. What I would love is to be able to edit several notes at the same time. I mean, having the tiddler opened and editing one note, then switching to another one and edit them, everything within the same tiddler.

Other cool thing would be to have a view where all the sections of a tiddler are "joined" together as a single tiddler. That is what I though the section part was for.

I found a small bug/problem: If you switch the tab while editing a section without saving it you will lose it.

Other thing I don't understand is why Notes are listed under parts tab.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages