Talk:Developer Satisfaction Survey/2019

About this board

Bundling content with extensions

3
Adamw (talkcontribs)

Just a thought about a feature that I've wanted on several occasions. It would be neat if MediaWiki extensions could include wiki content, such as templates which are copied into the wiki and can be overridden there. A similar mechanism might be helpful for local development, where the extension provides some of the custom content that it's responsible for managing, for example E:CentralNotice might install a few fully functional, example campaigns and banners into the database. Thanks for doing this important work!

MModell (WMF) (talkcontribs)

This is a great idea. It might not be good to do it automatically, howecver, perhaps we could make a small tool which imports example content from the extension source directory in a standardized location and format.

Adamw (talkcontribs)

I see what you mean and agree that sample data shouldn't be automatically installed. A CLI tool makes sense for loading, and maybe we can also expose a checkbox for sample data when installing the extension from the MediaWiki installer.

There still might be a second type of content which would be more automatic-install-aligned such as default templates, but it's just something to keep in mind at this point.

Reply to "Bundling content with extensions"

Please make it easy to disable resource intensive services and extensions

2
KHarlan (WMF) (talkcontribs)

One of the nice ideas in mw-vagrant is the ability to disable roles which you don't need, so for example if I am working on something that doesn't require VisualEditor, I don't need to have RESTBase, Parsoid, or VE running. In practice, disabling/enabling takes far too long. But if we're using a Docker solution, it would be great if we had a straightforward, fast and reliable way to toggle the services and extensions we don't need enabled.

MModell (WMF) (talkcontribs)

I think this is one of the major benefits to docker as compared to vagrant. It would allow us to mix and match the requisite services, each running in a separate container (which has less overhead than running several virtual machines, at least in theory)

Reply to "Please make it easy to disable resource intensive services and extensions"

Dev environment configuration in extension repo?

3
KHarlan (WMF) (talkcontribs)

This has probably been debated in the past, but I'm curious what people think about containing the dev environment configuration for an extension within the extension repository. Currently, if I add new settings to an extension, I have to go to the vagrant repo and update one or more files to set the desired development settings. It's easy to forget to do this, and easy for settings to become out of date.

Perhaps in the 'config' key in extension.json, in addition, to 'value' there could also be 'development_default_value'? Some extensions have more complicated setup tasks, but even there IMO it would be better to have the ability to maintain any development configuration scripts in the extension rather than in an external location.

Adamw (talkcontribs)

+1 this sounds great. I can imagine that it would be challenging to provide development config that will be helpful outside of the vagrant context, for example when one extension requires specific ports or database config to interact with another extension. Maybe a variation on this proposal would be to move the mw:Extension:Foo configuration documentation into a "Foo.conf.sample" file, which is purely documentation but friendly to copy-pasting.

MModell (WMF) (talkcontribs)

This is a good idea and I think we should definitely do something to address this need.

Usually this is handled by an environment config file which overrides the defaults. Then you can have dev, test and prod versions of this file with appropriate settings for each environment.

Reply to "Dev environment configuration in extension repo?"
There are no older topics