Would anyone be interested in a program that generates Skeletons for new extensions? I've noticed that when I make extensions I generally go through the exact same process (with minor variations) each time.
The idea in my head right now is for a program that does the following: * Asks for the Extension name and other Credit information * Asks whether or not the extension is going to need to change the database schema * Asks whether or not the extension is going to make use of ResourceLoader * Asks whether or not the extension is going to include a Special Page * Depending on the answers to the above it may do some of the remaining items on this list * Creates a folder hierarchy with the following folders: ExtensionName |- includes |- js |- images |- styles |- sql * Create skeleton files for ExtensionName.php, ExtensionName.i18n.php, ExtensionName.alias.php, and SpecialExtensionName.php * Create a skeleton file for sql\ExtensionName.sql * Creates table, adds ID column UNIQUE PRIMARY * Includes basic configuration for Schema Updates in ExtensionName.php * Includes basic configuration for Special Page in ExtensionName.php * Includes basic configuration for Resource Loader in ExtensionName.php
If anyone is interested in getting a copy when it is done, or can think of any other useful things it might be able to make use of, let me know. I feel like having something like this will help eliminate a lot of development time for simple extensions, especially those created by people new to extension development.
Thank you, Derric Atzrott Computer Specialist Alizee Pathology
+1 would be greatly useful when introducing extension development at workshops / hackathons :)
Would anyone be interested in a program that generates Skeletons for new extensions? I've noticed that when I make extensions I generally go through the exact same process (with minor variations) each time.
+1! It sounds like a very helpful tool for letting new developers hop in really quickly.
This also sounds a lot like what Mozilla has done: https://addons.mozilla.org/en-US/developers/tools/builder
Specifically, I think "jetpack" is the part that generates stub files, but it's been a while since I experimented. Anyway, thanks for the email!
On 6/25/2012 12:11 PM, Mark Holmquist wrote:
Specifically, I think "jetpack" is the part that generates stub files, but it's been a while since I experimented. Anyway, thanks for the email!
IIUC, Jetpack is the code name for the entire AddOn SDK. This includes the stub generator, but includes the stable API so AddOns can be automatically rebuilt whenever an new version of Firefox is released -- something that happens with fair regularity these days.
Mark.
This is a fantastic idea and I would be happy to help with the wiki-side documentation of this effort on MW.org
-greg
On 25 Jun, 2012, at 2:09 PM, "Mark A. Hershberger" mah@everybody.org wrote:
On 6/25/2012 12:11 PM, Mark Holmquist wrote:
Specifically, I think "jetpack" is the part that generates stub files, but it's been a while since I experimented. Anyway, thanks for the email!
IIUC, Jetpack is the code name for the entire AddOn SDK. This includes the stub generator, but includes the stable API so AddOns can be automatically rebuilt whenever an new version of Firefox is released -- something that happens with fair regularity these days.
Mark.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Would be absolutely fabulous! How about creating a README skeleton as well, that could also be cut and paste into the extensions page in the MediaWiki extension matrix?
As for web vs standalone, a web interface would suit me best, as I move a lot between computers, but both, but both would be great!
Leo Den 25 jun 2012 20.23 skrev "Gregory Varnum" gregory.varnum@gmail.com:
This is a fantastic idea and I would be happy to help with the wiki-side documentation of this effort on MW.org
-greg
On 25 Jun, 2012, at 2:09 PM, "Mark A. Hershberger" mah@everybody.org wrote:
On 6/25/2012 12:11 PM, Mark Holmquist wrote:
Specifically, I think "jetpack" is the part that generates stub files, but it's been a while since I experimented. Anyway, thanks for the
email!
IIUC, Jetpack is the code name for the entire AddOn SDK. This includes the stub generator, but includes the stable API so AddOns can be automatically rebuilt whenever an new version of Firefox is released -- something that happens with fair regularity these days.
Mark.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Would be absolutely fabulous! How about creating a README skeleton as
well, that could also be cut and paste into the extensions page in the MediaWiki extension matrix?
That's actually a really good idea. I'll definitely add that in.
I'll create both for now, but I wouldn't be terribly surprised if I drop one at some point.
My job affords me time to do some MediaWiki development (as I am currently working on a MediaWiki extension here), but this is outside of the scope of what I can make on company dime. With that in mind I'll begin working on it during my off-hours in the next few days.
I wouldn't expect something too spectacular at first. I'll be posting the sources on Github for others to improve upon though. Expect to see the web-based one completed before the standalone, since I'm in PHP mode these days.
Thank you, Derric Atzrott
On Mon, Jun 25, 2012 at 8:52 PM, Derric Atzrott datzrott@alizeepathology.com wrote:
Would be absolutely fabulous! How about creating a README skeleton as
well, that could also be cut and paste into the extensions page in the MediaWiki extension matrix?
That's actually a really good idea. I'll definitely add that in.
I'll create both for now, but I wouldn't be terribly surprised if I drop one at some point.
My job affords me time to do some MediaWiki development (as I am currently working on a MediaWiki extension here), but this is outside of the scope of what I can make on company dime. With that in mind I'll begin working on it during my off-hours in the next few days.
I wouldn't expect something too spectacular at first. I'll be posting the sources on Github for others to improve upon though. Expect to see the web-based one completed before the standalone, since I'm in PHP mode these days.
Thank you, Derric Atzrott
Hey, PHP can run scripts. Just saying.
Please do share the github once you have something up, even if its bare-bones.
Hey, PHP can run scripts. Just saying. Please do share the github once you have something up, even if its
bare-bones.
Good plan. I always completely forget about that. In that case, expect them at somewhat more similar times.
Although, using PHP CLI does preclude the creation of a GUI version of this, or at least complicates things a little bit, I'm sure I'll be able to figure something out.
Sure thing.
Thank you, Derric Atzrott Computer Specialist Alizee Pathology
On Mon, Jun 25, 2012 at 9:07 PM, Derric Atzrott datzrott@alizeepathology.com wrote:
Hey, PHP can run scripts. Just saying. Please do share the github once you have something up, even if its
bare-bones.
Good plan. I always completely forget about that. In that case, expect them at somewhat more similar times.
Although, using PHP CLI does preclude the creation of a GUI version of this, or at least complicates things a little bit, I'm sure I'll be able to figure something out.
Sure thing.
Thank you, Derric Atzrott Computer Specialist Alizee Pathology
nah, your vars will just be coming from the cli rather than the gui. Same difference. I'm really looking forward to this, thanks for getting this ball rolling.
I'd be willing to help out with this once you get something on github. I'd personally discourage a php-cli based standalone version because it would effectively require developing the UI twice. If you focus on the web version (or the standalone), I'll be willing to help port the changes to the other once you get the github set up.
-- Ryan Schmidt Sent from my iPhone
On Jun 25, 2012, at 2:07 PM, "Derric Atzrott" datzrott@alizeepathology.com wrote:
Hey, PHP can run scripts. Just saying. Please do share the github once you have something up, even if its
bare-bones.
Good plan. I always completely forget about that. In that case, expect them at somewhat more similar times.
Although, using PHP CLI does preclude the creation of a GUI version of this, or at least complicates things a little bit, I'm sure I'll be able to figure something out.
Sure thing.
Thank you, Derric Atzrott Computer Specialist Alizee Pathology
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
This also sounds a lot like what Mozilla has done: https://addons.mozilla.org/en-US/developers/tools/builder
Would it be preferable to have this as a web-based program where you enter your data into a form and download a zip? Or would this be preferred as a stand-alone program that generates the skeleton in a directory of your choosing? Or both? It might be a little bit of a pain to maintain both, but I can certainly go that route if need be. Either way fits my own needs.
Thank you, Derric Atzrott
If I were to use this, I would prefer a stand-alone thing, which would make it just a little easier, but I would love either
On Mon, Jun 25, 2012 at 8:13 PM, Derric Atzrott datzrott@alizeepathology.com wrote:
This also sounds a lot like what Mozilla has done: https://addons.mozilla.org/en-US/developers/tools/builder
Would it be preferable to have this as a web-based program where you enter your data into a form and download a zip? Or would this be preferred as a stand-alone program that generates the skeleton in a directory of your choosing? Or both? It might be a little bit of a pain to maintain both, but I can certainly go that route if need be. Either way fits my own needs.
Thank you, Derric Atzrott
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
+1 on standalone. Similar to how rails does it, for example.
On Mon, 25 Jun 2012 11:13:54 -0700, Derric Atzrott datzrott@alizeepathology.com wrote:
This also sounds a lot like what Mozilla has done: https://addons.mozilla.org/en-US/developers/tools/builder
Would it be preferable to have this as a web-based program where you enter your data into a form and download a zip? Or would this be preferred as a stand-alone program that generates the skeleton in a directory of your choosing? Or both? It might be a little bit of a pain to maintain both, but I can certainly go that route if need be. Either way fits my own needs.
Thank you, Derric Atzrott
Both. If you write it the correct way there should be nothing in the way of having both a web interface and a standalone cli interface.
The only difference between the two would be the UI that takes user input, and a slight backend difference in that one writes to a zip while the other writes to a directory.
That backend can be written abstractly. Such that the calls the backend uses can be applied to both the zip and directory writing.
25 Июнь 2012 г. 20:06:19 пользователь Derric Atzrott (datzrott@alizeepathology.com) написал:
Would anyone be interested in a program that generates Skeletons for new extensions? I've noticed that when I make extensions I generally go through the exact same process (with minor variations) each time.
The idea in my head right now is for a program that does the following: * Asks for the Extension name and other Credit information * Asks whether or not the extension is going to need to change the database schema * Asks whether or not the extension is going to make use of ResourceLoader * Asks whether or not the extension is going to include a Special Page * Depending on the answers to the above it may do some of the remaining items on this list * Creates a folder hierarchy with the following folders: ExtensionName |- includes |- js |- images |- styles |- sql * Create skeleton files for ExtensionName.php, ExtensionName.i18n.php, ExtensionName.alias.php, and SpecialExtensionName.php * Create a skeleton file for sql\ExtensionName.sql * Creates table, adds ID column UNIQUE PRIMARY * Includes basic configuration for Schema Updates in ExtensionName.php * Includes basic configuration for Special Page in ExtensionName.php * Includes basic configuration for Resource Loader in ExtensionName.php
MediaWiki extensions can be so different. Some, like many "media handlers", do not even require direct DB access. Some extensions might implement their own remote API's (so there might be api folder added). In 1.20 there can be new "actions", in the future maybe new "page handlers" for non-wikitext. There are almost unexplored extensions, like XML Importer / Exporter extensions, I think there is only one extension of such kind. Dmitriy
On Monday, June 25, 2012 at 9:06 AM, Derric Atzrott wrote:
Would anyone be interested in a program that generates Skeletons for new extensions? I've noticed that when I make extensions I generally go through the exact same process (with minor variations) each time.
[ snip ]
I've been working on something similar, so I decided to throw it up on GitHub, in case it's useful. It's a skeleton extension for JavaScript-centric MediaWiki extensions.
https://github.com/atdt/skeljs
Out of the box, you get:
* QUnit test scaffold * ResourceLoader integration * MediaWiki-compatible JSHint config * Command-line build tool (grunt) for linting and running Qunit tests using phantomjs
I've only recently started developing on MediaWiki so this definitely needs to be reviewed. (*cough* Krinkle / Roan / Trevor?)
Derric (& others): feel free to use this in any way you want. I'll migrate this to Gerrit when I get the chance.
Ooh, I like this.
On Thu, Jun 28, 2012 at 7:37 AM, Ori Livneh ori@wikimedia.org wrote:
On Monday, June 25, 2012 at 9:06 AM, Derric Atzrott wrote:
Would anyone be interested in a program that generates Skeletons for new extensions? I've noticed that when I make extensions I generally go
through
the exact same process (with minor variations) each time.
[ snip ]
I've been working on something similar, so I decided to throw it up on GitHub, in case it's useful. It's a skeleton extension for JavaScript-centric MediaWiki extensions.
https://github.com/atdt/skeljs
Out of the box, you get:
- QUnit test scaffold
- ResourceLoader integration
- MediaWiki-compatible JSHint config
- Command-line build tool (grunt) for linting and running Qunit tests
using phantomjs
I've only recently started developing on MediaWiki so this definitely needs to be reviewed. (*cough* Krinkle / Roan / Trevor?)
Derric (& others): feel free to use this in any way you want. I'll migrate this to Gerrit when I get the chance. _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Sounds nice, but on the long run, why not including a PHP class for extensions into core. This would already make quite some code you need for new extensions obsolete. I'd like to see a base class for all extensions which offer simple information such as the extensions name, version, file path, etc.
2012/7/2 Andrew Garrett agarrett@wikimedia.org:
Ooh, I like this.
On Thu, Jun 28, 2012 at 7:37 AM, Ori Livneh ori@wikimedia.org wrote:
On Monday, June 25, 2012 at 9:06 AM, Derric Atzrott wrote:
Would anyone be interested in a program that generates Skeletons for new extensions? I've noticed that when I make extensions I generally go
through
the exact same process (with minor variations) each time.
[ snip ]
I've been working on something similar, so I decided to throw it up on GitHub, in case it's useful. It's a skeleton extension for JavaScript-centric MediaWiki extensions.
https://github.com/atdt/skeljs
Out of the box, you get:
- QUnit test scaffold
- ResourceLoader integration
- MediaWiki-compatible JSHint config
- Command-line build tool (grunt) for linting and running Qunit tests
using phantomjs
I've only recently started developing on MediaWiki so this definitely needs to be reviewed. (*cough* Krinkle / Roan / Trevor?)
Derric (& others): feel free to use this in any way you want. I'll migrate this to Gerrit when I get the chance. _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
-- Andrew Garrett Wikimedia Foundation agarrett@wikimedia.org _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Have you looked at the example extensions?
https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/examples.git;a=...
-- Krinkle
wikitech-l@lists.wikimedia.org