tiled icon indicating copy to clipboard operation
tiled copied to clipboard

request:. extension repo

Open ghost opened this issue 2 years ago • 3 comments

Hi

I see some poeple made scripts. But there is no central place where all scripts are gathered. What if you could make a repo on the Tiled website that collects scripts poeple can send to you? If approved, it can be added and users can find them all there.

Then maybe in Tiled can be made an extensions window that reads the repo and allows you to install/uninstall the extensions from within Tiled (it just copies the script or removes it). Users can search the extensions and each extension should have a description what it's doing. This could maybe be stored in the script itself (as comment) or somewhere else on the repo, so Tiled can read it.

After some time the repo will become very powerfull since every action will be in there and people can contribute to existing scripts. The repo should be maintained by somebody who makes sure no harmfull scripts are uploaded, so it must be controlled by somebody.

ghost avatar Apr 11 '22 00:04 ghost

Such a repo already exists: https://github.com/mapeditor/tiled-extensions No one has stepped up to manage it beyond bjorn, and he already has the whole of Tiled to maintain, so I'm not optimistic about timely verification. It's not been a problem so far since very few people submit their scripts to the repo, though.

As evidenced by how many other repos are linked from that one's readme instead of those scripts being submitted to the repo, many script developers prefer maintaining their own repos instead of uploading to tiled-extensions. It's just much simpler for script developers to maintain their scripts when they're in their own repo, so they don't have to deal with hundreds of other scripts.

I think the current approach - a repo with some scripts and links to some other cool scripts - is probably the best compromise for maintainability and usability, and it avoids all the extra work of writing the script browser in Tiled. Maybe one day, as the number of scripts and repos gets large, tiled-extensions can get a wiki that categorizes the scripts, for easier browsing, though that will probably also be largely ignored by script developers.

All that said, some sort of script manager would probably be welcomed by users who don't like dealing with files and directories, whether it downloads the scripts for you or not. I'd love to be able to disable some scripts that are in my extensions directory, but which I don't currently need, or to be able to create a new script from within Tiled and then open the file for editing in my default text editor, or to be able to select an arbitrary downloaded script file and move it to an extensions directory. And if by some miracle the tiled-extensions repo gets to the point where it has a lot of useful scripts, perhaps it could eventually be integrated into it. I don't think that an online script browser should be considered until there's actually a repo truly worth browsing.

eishiya avatar Apr 11 '22 03:04 eishiya

I think it works the other way The repo now will never grow because:

  • it's unknown
  • it stays unknown

If Tiled has a browser for it, then it will get attention. The same thing happened with firefox when they added extension browser inside the program itself. It exploded. But of course Tiled has not this amount of users ... So it will mrobably doesn't matter much :D I think it will slowly grow. But the way it is now, it will never grow.

ghost avatar Apr 11 '22 03:04 ghost

You're right that the scriptability of Tiled needs more visibility. However, I am not sure that a script browser is the way to go about it, because unlike browser extensions, most people who write scripts do it for their own personal or their team's use, to accomplish highly specific tasks that only they need, in a way that they specifically prefer.

Scripts that are useful to many people are better off being written as Tiled features instead. Scripts that are general-purpose but still useful only to a small minority of users are the scripts that benefit most from a script browser, but they're also annoying to browse no matter what, because they're not going to be relevant to most people.

I think a script manager would help with the visibility of the scripting feature and with most of its inconveniences without all the downsides of a script browser.

Then again, I'm also someone that learns about Firefox extensions from hearing people talk about them online and following links, I never use the Firefox add-on browser xP

I forgot another disadvantage to a big centralised repo: Issue tracking. It's much easier to get and provide support when a repo contains at most a few scripts. Reporting issues in one script when a repo contains dozens or hundreds is quite annoying, especially if there are multiple scripts that do similar things or have similar names, but even if they're all completely distinct. Even worse is responding to these issues, because script maintainers will not have a quick way to see just those issues that pertain to their work.

Lastly, I also worry that script developers will be even less likely to submit to tiled-extensions if doing so means people will randomly find their scripts, because it puts more expectations of supporting those scripts (most people just want to write a script, maybe put it out there, and forget about it), and because the manager will make people less likely to actually look at the script, which means they'll miss potentially crucial information that would normally be in the script's readme in its repo, or at least in the comments in the script. This second problem could potentially be helped by showing the first comment in the script in the browser when you click to view a script's details, though.

I've written a bunch of Tiled scripts that I'm happy to see other people use, but I don't think I'd submit them to be available in this sort of repo and script browser, because it would just be too stressful for me.

Edit: A script manager could also have a link to the tiled-extensions repo (which in turn could continue to link other repos), too.

eishiya avatar Apr 11 '22 04:04 eishiya