The change is that I suspect “the latest version” was always sufficient before. Now there is more need for older versions to remain available. So you basically need something where you can look up an extension, and then also select what version you want to download.
A package manager metaphor would work for this. mvnrepository.com is one for java/maven projects. archiva, nexus, there’s probably some open source package that can be adapted to this.
One thing that may be a complication is that it is encouraged for authorship of an extension to change when minor updates are made.
I think it’s still valid for the Inform IDE to continue using its public library, representing a subset of extensions that they have vetted and that fit certain other restrictions (I think they require creative commons licenses for being in that public library). But then there needs to be that one other “in-the-wild” place that has multiple versions of multiple extensions. github isn’t really sufficient for that because the collection of extensions will only reflect the most recent version of each.
To be fair the user base for these programming systems is (I’m pretty sure) a thousand times larger than the I7 user base.
Well, the “desired interface” is kind of a moving target, isn’t it? Right now I’m reworking my Notepad extension. All I had to do to produce a successful compile was to get rid of the word “indexed” eight or ten times. But that turns out to be the tip of the iceberg. Now I’m attempting compatibility with adjustable story tense and story viewpoint. That’s a good deal more complicated – and this is a simple extension.
If you establish requirements for extensions, then somebody will have to be the gatekeeper and test them to make sure they meet the requirements. This is not currently the case, I believe.
Personally, I favor the “dumb as a post” solution. Figure out which extensions work and which don’t. Fix the ones that don’t if the fixes are easy and the extension seems useful. Then put everything in a zip file and upload it somewhere. Any attempt at a higher level of organization … well, I don’t know. Could be a good idea, but it could backfire.
That’s brilliant. My offer for help stands. I’m not sure how helpful I’d be with testing, but again, I daily check lots of sites for new IF games (and philome-la daily has at least three new twine games). It’s easy for me to do the same with extensions if I know where to look.
Dannii, please keep us posted for the changes. I’ve forayed into Inform 7, then 6, and now I’m willing to give I7 another go. However, I realize now that I am not the only one who thinks the whole thing is disorganized. Some of the extensions just plain don’t work and the documentation is huge and (to me at least) unbrowsable (seems that may be a new word).
It at least the extension case improves, I’ll be willing to give more confidence to I7. Otherwise, I’ll go back to editing I6 code in vim
As others mentioned it seems to be built into inform7 now. When I attempt to add the extension it claims that this particular extension is already loaded. I suspect the Bronze code just needs to be adjusted to not attempt to load the extension?
Having dug a little deeper, I’m a little more optimistic about the extensions scene. The trick is, you have to NOT have any extensions already installed. This may mean finding them (MacOS hides them from you) and dragging them off someplace different. Then install the new version of the IDE and use the Public Library to download the new extension set.
In theory, these should all be ready to go in 6L38. The reality is slightly less rosy than that. Having tested only a few, I’ve found that Aaron Reed’s Keyword Interface fails to compile to Glulx, because it was updated before Emily updated Glulx Text Effects, which it requires. So there’s still some uncertainty, even if you go strictly with the Public Library.
Where you really get into trouble is if you keep the old ones alongside the new ones, because they’ll all show up side by side in the IDE, and many won’t work.
On the other hand, some will work fine. Patrollers by Michael Callaghan, for instance, needed no changes for 6L38 compatibility. Secret Doors by Andrew Owen, which is a useful extension, required only the fixing of two long-standing typos and the replacement of two calls to L__M.
In sum, the extensions scene is not quite as chaotic as I first thought.
In my main Windows machine I had close to 200 extensions. The old ones were still there after I used the Public Library link, and as far as I can see there’s no indication in the IDE which are obsolete and which are viable. (Indeed, not all of the “new” extensions are viable.) By dragging the old ones off somewhere before using Public Library, you can get a relatively clean set.
BTW, does anyone have regular contact with Aaron Reed? I sent him an email yesterday about Keyword Interface, but haven’t received a reply. I’ve managed to get it to compile by editing a few things, but a couple of the features aren’t working.
Here 'tis. If you encounter any problems, please let us know. I don’t have the impression that Andrew Owen is active in IF-land these days, but this is a nice little extension, so I’m happy to maintain it. Secret Doors.i7x (2.91 KB)
Is it worth adding (or asking to add) Secret Doors to the extensions repository on GitHub (github.com/i7/extensions)? I had a quick look and it’s not listed under the original author’s name (Andrew Owen) and it seems like a useful plugin.