I'd like to kindly ask for a review of the MediaWiki Filter sandbox project.

The MediaWiki Filter module for D6 provides an input format, compatible with MediaWiki markup. Opposed to older approaches, it does not emulate the MediaWiki parser, but wraps the original MediaWiki's library for parsing and rendering MediaWiki syntax. The module is intended - once it has gained full project status - to become the successor of the de-facto abandoned PEAR Wiki Filter, and it can be used as a plug-in-replacement for the MediaWiki component of the legacy PEAR Wiki Filter; however it does not aim to replace other syntax types provided by the PEAR package (like TikiWiki, DokuWiki, Creole. or BBCode).

MediaWiki markup is the most widely known type of Wiki-style markup as it is used on all Wikimedia projects (like Wikipedia, Wikinews, Wikimedia Commons, etc.), and in every installation of the MediaWiki software. Support for this widely accepted markup is crucial for many sites targeting users with experience in writing Wikipedia articles, e.g. from the academic community, or from the usage of MediaWiki in corporate intranets. PEAR Wiki Filter is not a viable option for those projects as it has lots of unresolved major issues (last release: 6.x-1.0-beta1 from December 2007). So it seems to make much sense to provide an official release for the inofficial successor - which is mediawiki_filter.

This module is not a creation of myself; it was originally developed for Origo, a project which has been featured as a Drupal showcase in August 2009 on drupal.org, as a replacement for PEAR Wiki Filter, but it was never released as a project on d.o. The primary developers, rötzi and bherlig have been contacted, and both agreed to elevate their module to an official d.o project. The packaged MediaWiki components are licensed under the GNU General Public License (discussion of license compatibility).

The module is production ready as is; I'm using it on a dozen sites on a daily basis for about two years. However, there are some known issues; at least one of them, an incompatibility with Wikitools, can not be addressed until the module has gained official project status on d.o.

Current co-maintainers of the project are bherlig, one of the original authors, and kenorb, a developer with experience from a large number of other Drupal modules.

Link to the git repository:

git clone --branch master http://git.drupal.org/sandbox/asb/1199160.git mediawiki_filter

Thank you!

Comments

klausi’s picture

Status: Needs review » Needs work

* you have accidentally committed your .svn folder to the git repository. please remove it.
* "$Id" are old CVS place holders that are not used by drupal.org anymore. Please remove them from your files.
* Are you sure you want to implement hook_init()? It is called on literally every page load, regardless if your module is used there or not.
* The tests for your module should be done with Simpletest http://drupal.org/project/simpletest
* you should not include external libraries with your module but provide instructions where users can get them. In most cases they are placed in sites/all/libraries

asb’s picture

@klausi: Thanks for your comments; I don't think that the MediaWiki parser is comparable with a library, especially as there is no "library" to download anywhere. Users would have to download the complete MediaWiki software package in a certain version, extract dozends of files from the archive in a certain structure, and to throw away the rest (including a competing index.php file). Considering the problems most users have with simple library packages like jQuery UI, Colorbox, Flowplayer, Video.js and the like, I don't think that such an approach would work for normal users.

@kenorb: Could you please look into the hook_init() and coding style issues? Thanks!

misc’s picture

The applicant has been contacted to ask if the application is abandoned.

After ten weeks with a status of needs work: the applicant may be contacted by a reviewer to determine whether the application was indeed abandoned. The action taken by the reviewer should be documented in the project application issue.

http://drupal.org/node/894256

asb’s picture

The applicant has replied to the e-mail.

misc’s picture

I think it is better that you raise the questions you have here, instead of a email to me, so we could get some lights on the questions you have.

asb’s picture

Thanks, but I believe this already is in #2 from last October. Anyone care to reply to the "external libraries" issue?

misc’s picture

As I see it, it says that you should avoid, not must.

See also: http://drupal.org/node/1187664

If you are including 3rd party libraries or images in your project, provide details within your application directing reviewers on where they can independently verify the library's GPL license.

ansilva’s picture

Hi,

Here's a suggestion... after checking out your code, I don't see any mention of what 'version' your code is at. As a Fedora packager, which requires an version, I am finding myself unable to properly package your code into an RPM... I am going with a 0.1 version for now.

misc’s picture

@ansilva, what have this to do with the issue?

patrickd’s picture

Status: Active » Needs review
patrickd’s picture

Status: Needs review » Needs work

An automated review of your project has found some issues with your code; As coding standards make sure projects are coded in a consistent style we please you to have a look at the report and try to fix them. Anyway, note that issues found are possibly false positives and fixing all issues is not a requirement for getting through the application process.

You can find the results of the automated report at http://ventral.org/pareview/httpgitdrupalorgsandboxasb1199160git

Major issues you have to fix:

  • Remove LICENSE.txt, it will be added by drupal.org packaging automatically.
  • All functions should be prefixed with your module/theme name to avoid name clashes.

You don't have to add your .test's into your .info, anyway the path is wrong as the .test files is in the tests directory

All functions (whether they are hooks or not) must be documented correctly, please read about

There's no need to initialize your variables on hook_install() (also this is not the common practice)

asb’s picture

Status: Needs work » Needs review

@patrickd: An "automated review" of the project does not make much sense in this case. Please reade the project page, which states:

Note that due to the nature of this module (and its usage of a 3rd party library), some of the Drupal guidelines have to be broken. For instance, we have to use different variable names that integrate with Mediawiki (which are in CamelCase) that don't follow the Drupal conventions (which use underscores).

AmbikaFR’s picture

Hi asb,

I ve made a manual review of your module code :

- Some of your functions in mediawiki_filter.lib.inc and mediawkiki_filter.settings.inc are not documented.

- In mediawkiki_filter.settings.inc, you have several functions to define default value just one time in your variable_get. I suggest to define instead global variables with define, and use it when you call variable_get function as default values.

- In mediawiki_filter_filter_settings, you have several unused fielsets. For example, "extensions" fieldset or "compatibility" fieldset.

- Is the filter should be visible at admin/settings/filters URI? I can't find your filter at this URI on a fresh Drupal 6 installation.

asb’s picture

@AmbikaFR: Thanks for your manual review. The interesting question now would be, if - one year after the application for full project status - a developer is still following this issue ;-/ At least kenorb seems to have lost interest completely.

@Beat: Could you please comment on #14?

asb’s picture

Status: Needs review » Needs work
klausi’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

asb’s picture

As stated on the project page, the primary goal of this Drupal.org Project application is was to gain full project status. The full project status has been denied for over a year, with very bizarre reasoning (not allowed to package GPL'd code on d.o, different formatting of external code etc.). You might figure how this treatment demotivates any volunteer developer, especially considering that this module is fully operational.

Addtionally, refusing the full project status makes it impossible to build (sponsor, develop) a D7 port. That leaves the numerous sites that are using mediawiki_filter, and PEAR Wiki filter without an upgrade path, as both module's maintainers have left Drupal development (guess why!). And that makes it impossible for this module's users, including the refugees from Origo, to even consider migrating to D7 or beyond since there is no working alternative for using MediaWiki markup in Drupal.

That's very bad news!

klausi’s picture

Nobody is refusing your application here.

You need to set the status to "needs review" if you want to get a review. See http://drupal.org/node/532400

This sounds like a feature that should live in the existing pearwiki_filter project. Module duplication and fragmentation is a huge problem on drupal.org and we prefer collaboration over competition. Please open an issue in the pearwiki_filter issue queue to discuss what you need. You should also get in contact with the maintainer(s) to offer your help to move the project forward. If you cannot reach the maintainer(s) please follow the abandoned project process.

If that fails for whatever reason please get back to us and set this back to "needs review".

asb’s picture

As I mentioned multiple times, mediawiki_filter is the "official" successor for pearwiki_filter which has been abandoned de facto with the D5 version. Our project page states this as well. The same core developers started mediawiki_filter, but outside of d.o (guess why!). mediawiki_filter was one of the core modules for Origo. Origo has been featured years ago on the d.o start page (before the design relaunch, when community issues still mattered), and lots of frustrated users of pearwiki_filter fetched the more robust and better featured mediawiki_filter from Origo's SVN. The Origo people left drupal development last summer, and since then the module's user base hase neither a reposity to obtain the module, nor an issue queue. A couple of developers committed to the sandbox and tried to help co-maintaining this module, but left frustrated, as this project's application was blocked since September 2011.

And yes, I consider it "blocking" when you comment stuff like "you should not include external libraries with your module", or some guy runs some automated coding style tests against packaged external code. That's missing the whole point of the module, those issues have been targeted from the beginning in the module's documentation, and it's pretty ignorant in regard to the work we invested in the code and the documentation.

However, as #15 shows, all active developers have been scared away in the past year, so the userers are f****d as we have to consider #3 become true.

klausi’s picture

Ok, that sounds like a valid reason to continue this under the mediawiki_filter name, because there is already an existing user base that uses this module under this name. Please add that to the issue summary so that it is more clear and you do not get more requests to merge this into existing projects.

If a project application is in the "needs work" state it is considered blocked on your part. So the application was blocked by you from October 2011 to May 2012 (7 months), from June 2012 to August 2012 (almost 3 months) and then again from September 2012 to January 2012 (again 2 months). So make sure to understand the proper application workflow: http://drupal.org/node/532400

We are currently quite busy with all the project applications and I can only review projects with a review bonus. Please help me reviewing and I'll take a look at your project right away :-)

Really, just give me a hand and this will be a matter of days.

asb’s picture

Maybe my English conversation skills are really bad, or we are somehow talking past each other.

In #14, 'AmbikaFR' made a manual review (btw, thanks for this!). Since September 27, 2012, the last developer actively involved in this module (Beat, a guy from the original ETH Zürich/Origo team), did not respond to the issues raised by AmbikaFR anymore. Beats last bunch of commits were made in May 2012 (about half year before the review), so it's pretty fair to assume that there aro no developers reading this issue anymore.

Even if it's a punch the user's faces, this module has been abandoned by it's developers, like 'PEAR Wiki filter', or other essential D6 modules like 'Image' with it's 60k user base. This might have been a "matter of days" a year ago, when there still were active developers, but as of today, the train appears to have departed. Thusly, the status "won't fix" appears to be proper, and that keeps being very bad news for those relying on this module.

P.S.: Just ran into this comment by Eugen: http://drupal.org/node/649270/revisions/1961296/view (" guess, if the community decides to treat the authors of modules this way, basically the "we dont care about you, just give us your work, slave", i bet this will happen again and again.", )#29

samj’s picture

FWIW I would really like to see this module attain full project status and think it would be good for both Drupal and MediaWiki communities (Wikipedia etc.) — keep up the good work!

janis_lv’s picture

closed, wont fix? :(

asb’s picture

Yes, that's how it is: We had developers, and we had sponsoring, but we did never get full project status; the developers jumped off, and the sponsoring was revoked, so the Drupal.org Project application failed.

For D6, the module can be used 'as is', it's feature complete and works smoothly on (at least) dozends of sites - nobody can tell on how many, that was one of the reasons why we wanted full project status. For D7 migration attemts this is a showstopper, and for the sponsoring company it was a showstopper to use Drupal anymore.

asb’s picture

Issue summary: View changes

Fixed link

mrded’s picture

Status: Closed (won't fix) » Active

asb, if you are still interested, I can make a full project and set you as a maintainer of it.
Also I can help you with code standards and other things to make it friendly for community.

asb’s picture

@mrded: Thanks for offering help! Personally, I'm still interested as I'm using the D6 version on several sites, and the lack of a D7 port is a showstopper for all these projects.

However, all developers have left this project or even the Drupal community at all, and the company that offered funding of this project does not support Drupal anymore.

If the questions raised by the reviewer 'AmbikaFR' in #14 need to be taken care of, this project needs a developer. I can only help with documentation and respond to issues about the module's usage.

mrded’s picture

Take a look our D7 port of PEAR Wiki Filter: https://www.drupal.org/sandbox/mrded/2377533
Hopefully we will merge it with the main project.

asb’s picture

Very interesting!

You are prabably aware that the original developers of PEAR Wiki Filter (D5/D6) and mediawiki_filter (d6) are the same people? They considered PEAR Wiki Filter a dead end and created mediawiki_filter as a replacement and successor.

mrded’s picture

I guessed about it, however by legacy issues our project dependents on PEAR Wiki Filter and we had had to port it to D7.

joachim’s picture

asb’s picture

@joachim: Sadly, yes. 'mediawiki' is a D5 project, and 'mediawiki_api' does not even support wikilinks; even worse, it is incompatible with 'freelinking'.

joachim’s picture

Status: Active » Postponed

Have you read the guidelines on collaborating with other maintainers? https://www.drupal.org/node/23789

https://www.drupal.org/project/mediawiki_api appears to be looking for a co-maintainer, so perhaps you could help there and drag it kicking and screaming into freelinking (which I agree is a key part of using MediaWiki syntax!). I suggest you make contact with the maintainer.

asb’s picture

'mediawiki_api' needs a developer to get the module usable, not someone helping with documentation or in the issue queue. If mrded's project moves out of it's sandbox status, it will be the one and only way to work with MediaWiki/Wikitags in D7.

joachim’s picture

> 'mediawiki_api' needs a developer to get the module usable, not someone helping with documentation or in the issue queue

I'm suggesting that mrded join forces with the maintainer of mediawiki_api, so we have a single module rather than two.

mrded’s picture

7.x-1.x-dev version of PEAR Wiki Filter module finally has been released :)

Unfortunately, my company going to stick this version. Moving to mediawiki_api will be too much work for us.
However, I would love to merge it with mediawiki_api and make a single module rather than two, as you said.

PA robot’s picture

Status: Postponed » Closed (won't fix)

Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.