TiddlyWiki / TiddlyWiki5

A self-contained JavaScript wiki for the browser, Node.js, AWS Lambda etc.
https://tiddlywiki.com/
Other
7.97k stars 1.18k forks source link

[IDEA] Re-design the import UI from scratch #5013

Open saqimtiaz opened 3 years ago

saqimtiaz commented 3 years ago

There have been various suggestions related to improving the import UI, including being able to choose the deserializer being used, select all/select none buttons, post-import actions, etc.

We should create a flowchart, and consider designing a new import UI from the ground up.

I will attempt to work on this post 5.1.23, as time allows. My primary focus will be UI, so for other changes related to the internals of the import process it may be necessary to create separate issues to discuss and reach consensus.

Please feel free to link here any previous issues related to the import process.

References:

kookma commented 3 years ago

Option to set certain tags on import is useful.

AnthonyMuscio commented 3 years ago

The pre-release allows rename during import however I would see a lot of value being able to add a prefix to all tiddlers.

This makes me wonder if a new import UI could provide methods to apply a filter both to selection within the import list including acting on each tiddler within as if it were a tiddler. For example we could apply a filter that would rename a fieldname within every tiddler.

To support this we could make it easy to add a set prefix then import the tiddlers directly into a json file/plugin eg $:/import/(n)/tiddlername(s), (this is only matter of renaming and setting a field or two) Further activity could then act on these shadowtiddlers and create real tiddlers, then subsequently optionally delete the json or plugin tiddler.

The point here is the import tools are also json tiddler tools, and moving between imports, plugins, json and tiddlers (Even zips) should have a set of tools available as these are tiddlywiki objects. Mohammads Trash plugin moves deleted tiddlers to a JSON, but users could be given the tools to move tiddlers or back them up in any JSON or plugin, and extract them. Now plugins without js tiddlers need not reload the wiki this is even easier.

Being able to have a data plugin containing the original tiddler data set allowing edit, made into tiddlers and either save back to or restore the data tiddler would be helpful to many different code patters or solutions.

Finally the ability to define tiddlers as containing a drop zone on which a preconfigured import will be used rather than the default would provide a method to create tiddlers with canonical, a username prefix, a date prefix etc... Another method I would like to see is a drop zone to drop the tiddlers, including the current wikis tiddlers on and subsequently pack them into a JSON/Plugin or zip.

Much of what I raise here can be done with specialist knowledge however I think JSON, PLugin, Drag and Drop, import and zip files should be first class citizens and have easy batch and interactive tools to manage them.

Tony

CodaCodr commented 3 years ago

Sorry @saqimtiaz , I didn't read the list you provided so not sure if this suggestion is in that list.

I'd like to see the Type fields for the to-be-imported tiddlers made available in the $:/Import tiddler UI. Right now, I have to edit the loaded $:/Import, find the Type refs and change them by hand.

Taking this one step further, if the table header could be used to change all imports to the same setting in one shot... fabulous.

twMat commented 3 years ago

5518 - Indicate overwrites that need attention from updates

pmario commented 3 years ago

From #1487

Selecting which tiddlers to accept

Importing a wiki.html or a whole bunch of tiddlers means to go through all the checkboxes and making decisions for every tiddler whether to keep it or not. Something like a filter would be helpful here. Or grouping incoming tiddlers separating system tiddlers and non-system tiddlers while adding a global toggle above each group saying "select all/none"

kookma commented 2 months ago

@saqimtiaz This is a really useful idea! Is there any chance to partially implement it? I post a workaround for select/unselect and unselect existing on Import!

https://talk.tiddlywiki.org/t/select-unselect-tiddlers-on-import/10174