Mailing List Archive

How does MediaWiki submit edits?
Does anyone know how MediaWiki submits its edits? I'm trying to
troubleshoot my URL forwarding problem, and I can't figure it out. It
seems to be dependent on the URL somehow, which is probably why there
is a problem? I tried looking through the raw code, but I couldn't
figure out where to even begin looking, if I knew which pages of the
script were causing problems I could try fiddling with them...

Thanks!

kerim
Re: How does MediaWiki submit edits? [ In reply to ]
P. Kerim friedman wrote:
> Does anyone know how MediaWiki submits its edits? I'm trying to
> troubleshoot my URL forwarding problem, and I can't figure it out. It
> seems to be dependent on the URL somehow, which is probably why there is
> a problem? I tried looking through the raw code, but I couldn't figure
> out where to even begin looking, if I knew which pages of the script
> were causing problems I could try fiddling with them...

The crappy forwarding scheme is your problem: a form posting won't be
transmitted from the parent frame.

You might be able to hack up the forms to use absolute URLs, but then
you'll be using the real target URLs, which you say you don't want. I
highly recommend you get rid of it and use an actual domain name;
contact your service provider about this.

-- brion vibber (brion @ pobox.com)
Re: How does MediaWiki submit edits? [ In reply to ]
On Aug 4, 2004, at 2:50 AM, Brion Vibber wrote:

> The crappy forwarding scheme is your problem

Every other software I've installed on my system:

Pagetool
TikiWiki
ActivePHPBookmarks
Nucleus
MovableType
WordPress

Have ALL been able to handle this "crappy forwarding scheme" just fine.
Media Wiki is the only one that hasn't. The forwarding system is
actually quite robust, it is simply a frame, nothing else. It can
handle metatags. The reason I use it is too complex to explain, but
many people use such systems, whether because they share hosting with
other people, use subdomains, wish to remain able to easily change
hosts, etc. That is why all the above software have provisions to allow
people to do just that.

But all I'm asking is for some help understanding WHY it isn't working.
You've been very helpful so far, but obviously you don't wish to help
any more. That's fine. But maybe someone else might know why the forms
aren't working. Absolute URLs, with the proper domain will all work as
if they were on the host domain. I like MediaWiki, and you have all
been very helpful up to now. But now I seem to be getting a Micro$oft
type of reply: if the software doesn't work the way you want, change
how you do things. That isn't why I use open source software!

I'm not much of a programmer, so if hacking the forms is truly too
complicated, I may just have to give up. But I'd like to give it a try.

Thanks again!

kerim
Re: How does MediaWiki submit edits? [ In reply to ]
P. Kerim friedman wrote:
> But now I seem to be getting a Micro$oft type of reply
> That isn't why I use open source software!

That is totally uncalled for. Open source software is not about getting
free support. Its about giving you the code so you can change it to your
hearts content. If you can't do that yourself, then either pay someone to do
it for you or buy commercial software instead.

The people who devote hours and years of their time to provide you with free
things work very hard for nothing, don't owe you anthing, and certainly
don't need your bitching.

By looking at the list below you certainly take advantage of free software,
I hope you give back.

Simon.




----- Original Message -----
From: "P. Kerim friedman" <kerim.mail@oxus.net>
To: "MediaWiki announcements and site admin list"
<mediawiki-l@Wikimedia.org>
Sent: Wednesday, August 04, 2004 10:36 PM
Subject: Re: [Mediawiki-l] How does MediaWiki submit edits?


>
> On Aug 4, 2004, at 2:50 AM, Brion Vibber wrote:
>
> > The crappy forwarding scheme is your problem
>
> Every other software I've installed on my system:
>
> Pagetool
> TikiWiki
> ActivePHPBookmarks
> Nucleus
> MovableType
> WordPress
>
> Have ALL been able to handle this "crappy forwarding scheme" just fine.
> Media Wiki is the only one that hasn't. The forwarding system is
> actually quite robust, it is simply a frame, nothing else. It can
> handle metatags. The reason I use it is too complex to explain, but
> many people use such systems, whether because they share hosting with
> other people, use subdomains, wish to remain able to easily change
> hosts, etc. That is why all the above software have provisions to allow
> people to do just that.
>
> But all I'm asking is for some help understanding WHY it isn't working.
> You've been very helpful so far, but obviously you don't wish to help
> any more. That's fine. But maybe someone else might know why the forms
> aren't working. Absolute URLs, with the proper domain will all work as
> if they were on the host domain. I like MediaWiki, and you have all
> been very helpful up to now. But now I seem to be getting a Micro$oft
> type of reply: if the software doesn't work the way you want, change
> how you do things. That isn't why I use open source software!
>
> I'm not much of a programmer, so if hacking the forms is truly too
> complicated, I may just have to give up. But I'd like to give it a try.
>
> Thanks again!
>
> kerim
>
> _______________________________________________
> MediaWiki-l mailing list
> MediaWiki-l@Wikimedia.org
> http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
>
Re: How does MediaWiki submit edits? [ In reply to ]
I'm not going to get into a tit for tat. If you've read this thread you
will see that I've both offered lots of help to newbies (other than
just telling them to read the wiki), and I've thanked people for the
help I received. I also solved some problems that other people offered
partial solutions to, and I explained why the full solution worked
better than the partial solution. I was just asking for someone to
point me the direction as to where to get started: i.e. where to look
in the code. Instead, I was told that I was in the wrong for asking
such a question. This is not the kind of attitude I came to this forum
with, and it is isn't the kind of attitude I expect from others.

Go ahead and defend your friends, but don't do so out of context.

kerim

On Aug 4, 2004, at 9:18 AM, Shimmie wrote:

> P. Kerim friedman wrote:
>> But now I seem to be getting a Micro$oft type of reply
>> That isn't why I use open source software!
>
> That is totally uncalled for. Open source software is not about
> getting
> free support. Its about giving you the code so you can change it to
> your
> hearts content. If you can't do that yourself, then either pay someone
> to do
> it for you or buy commercial software instead.
>
> The people who devote hours and years of their time to provide you
> with free
> things work very hard for nothing, don't owe you anthing, and certainly
> don't need your bitching.
>
> By looking at the list below you certainly take advantage of free
> software,
> I hope you give back.
>
> Simon.
>
>
>
>
> ----- Original Message -----
> From: "P. Kerim friedman" <kerim.mail@oxus.net>
> To: "MediaWiki announcements and site admin list"
> <mediawiki-l@Wikimedia.org>
> Sent: Wednesday, August 04, 2004 10:36 PM
> Subject: Re: [Mediawiki-l] How does MediaWiki submit edits?
>
>
>>
>> On Aug 4, 2004, at 2:50 AM, Brion Vibber wrote:
>>
>>> The crappy forwarding scheme is your problem
>>
>> Every other software I've installed on my system:
>>
>> Pagetool
>> TikiWiki
>> ActivePHPBookmarks
>> Nucleus
>> MovableType
>> WordPress
>>
>> Have ALL been able to handle this "crappy forwarding scheme" just
>> fine.
>> Media Wiki is the only one that hasn't. The forwarding system is
>> actually quite robust, it is simply a frame, nothing else. It can
>> handle metatags. The reason I use it is too complex to explain, but
>> many people use such systems, whether because they share hosting with
>> other people, use subdomains, wish to remain able to easily change
>> hosts, etc. That is why all the above software have provisions to
>> allow
>> people to do just that.
>>
>> But all I'm asking is for some help understanding WHY it isn't
>> working.
>> You've been very helpful so far, but obviously you don't wish to help
>> any more. That's fine. But maybe someone else might know why the forms
>> aren't working. Absolute URLs, with the proper domain will all work as
>> if they were on the host domain. I like MediaWiki, and you have all
>> been very helpful up to now. But now I seem to be getting a Micro$oft
>> type of reply: if the software doesn't work the way you want, change
>> how you do things. That isn't why I use open source software!
>>
>> I'm not much of a programmer, so if hacking the forms is truly too
>> complicated, I may just have to give up. But I'd like to give it a
>> try.
>>
>> Thanks again!
>>
>> kerim
>>
>> _______________________________________________
>> MediaWiki-l mailing list
>> MediaWiki-l@Wikimedia.org
>> http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
>>
>
> _______________________________________________
> MediaWiki-l mailing list
> MediaWiki-l@Wikimedia.org
> http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
>
Re: How does MediaWiki submit edits? [ In reply to ]
> By looking at the list below you certainly take advantage of free
> software,
> I hope you give back.
>
> Simon.

Funny enough one of the purposes of my wiki is to serve as a bridge
between techie-forums like this and tech-phobic social science
academics who don't understand these things, encouraging more people to
use open source software, as well as providing some basic How-Tos that
are easier to understand than the official documentation. You may not
consider that "giving back" since I'm not writing actual code. But that
is my idea of giving back. I'm currently writing an article for
Anthropology News which encourages people to use MediaWiki. I've
negotiated with the publishers to allow me to publish a version of the
article as a wiki on my own site (although they won't let me use the
Creative Commons license on my site). Now, the domain I use is shared
with other people, and we use different servers for e-mail and hosting.
That means I have another domain for hosting, and I use EasyDNS to
forward my domain to my host. I'd prefer to keep all the links within
my homepage, blog, and wiki under the same domain name if possible, and
the ability to specify the root URL in MediaWiki forms would allow me
to do so. If nobody knows how to do that, that's fine, I'll have to
settle for the second-best solution. But please don't tell me I
shouldn't try to do this. Other OS software projects I've used have
been very encouraging of getting everyone to learn and understand the
code and how it works, in the view that while this might seem like
"giving away support for free" in the short-run, in the long run it
will create a stronger community and stronger code.

kerim
Re: How does MediaWiki submit edits? [ In reply to ]
P. Kerim friedman wrote:
> Have ALL been able to handle this "crappy forwarding scheme" just fine.
> Media Wiki is the only one that hasn't. The forwarding system is
> actually quite robust, it is simply a frame, nothing else.

Right, that's what I'm trying to explain.

Data that's submitted as a POST form can't make it through from the
parent frame to the child frame, as HTML doesn't allow anything like that.

This means that the <form> needs to have an action URL which specifies
the *real* page, not the forwarded (false) page. Since you're insisting
on using the forwarded (false) URLs everywhere, that means you have to
hack all the forms that do POSTs to be an explicit exception.

It would be a lot easier for you if you didn't need to pull this frame
trick (which will be very inconvenient for visitors using text-based
browsers, screen readers, and others in which it introduces an extra
navigational barrier on every single page). If you contact your hosting
provider, I'm sure they will be happy to set up the alternate domain as
an alias if it's necessary (ie, if they're using name-based virtual
servers).

-- brion vibber (brion @ pobox.com)
Re: How does MediaWiki submit edits? [ In reply to ]
Brion,

Thanks. This is a start.

Unfortunately, as my domain is managed by a different company than my
host (which is the cause of these problems) I can't implement your
easier alternative solution.

However, I now have some more specific questions based on your last
post:

On Aug 4, 2004, at 2:29 PM, Brion Vibber wrote:
> Data that's submitted as a POST form can't make it through from the
> parent frame to the child frame, as HTML doesn't allow anything like
> that.

But don't these other programs use POST to send data? For instance, in
pagetool I found this command:

echo "<form action=\"" . $admp .
"&amp;pt_action=update&amp;pt_section=www&amp;id=" . $row["www_id"] .
"\" enctype=\"multipart/form-data\" method=\"post\">\n";

I'm trying to understand why this works with the EasyDNS URL
forwarding, and POST in MediaWiki does not. Here is the relevant code
from Editpage.php in MediaWiki:

<form id=\"editform\" name=\"editform\" method=\"post\"
action=\"$action\" enctype=\"application/x-www-form-urlencoded\">


> This means that the <form> needs to have an action URL which specifies
> the *real* page, not the forwarded (false) page. Since you're
> insisting on using the forwarded (false) URLs everywhere, that means
> you have to hack all the forms that do POSTs to be an explicit
> exception.

I was looking at some of the POST tags in the code, and it seems that
many of them rely upon code in Title.php for their URLs. That file has
a bunch of functions, such as "getFullURL", "escapeLocalURL",
"getEditURL" etc. which seem to be called upon in some of the POST
commands. Might it not be possible to edit some of these functions?
They seem to call upon $wgserver, but setting that didn't have any
affect for me either way.

Cheers,

kkerim
Re: How does MediaWiki submit edits? [ In reply to ]
On Wed, 4 Aug 2004, P. Kerim friedman wrote:
> Unfortunately, as my domain is managed by a different company than my
> host (which is the cause of these problems) I can't implement your
> easier alternative solution.

They don't have to be the same, as they are separate services. DNS
controls the mapping of hostnames ('foobar.com') to IP addresses
('12.34.56.78').

Hosting puts an actual computer at the network IP address ('12.34.56.78')
which responds to external requests, such as HTTP requests for web pages.
If multiple sites are served from a single network address
('12.34.56.78'), it is necessary also for the host to be aware which
hostnames ('foobar.com', 'superfoo.net') are in use so requests are
directed to the right configuration.

It is not necessary for the host to control the mapping of hostnames
('foobar.com') to IP addresses ('12.34.56.78'), only to be aware of them,
and then only for that particular configuration case (name-based virtual
servers sharing an IP address).

I apologize if the above sounds patronizing or condescending; I'm really
just trying to make things clear.

> On Aug 4, 2004, at 2:29 PM, Brion Vibber wrote:
> > Data that's submitted as a POST form can't make it through from the
> > parent frame to the child frame, as HTML doesn't allow anything like
> > that.
>
> But don't these other programs use POST to send data? For instance, in
> pagetool I found this command:
>
> echo "<form action=\"" . $admp .
> "&amp;pt_action=update&amp;pt_section=www&amp;id=" . $row["www_id"] .
> "\" enctype=\"multipart/form-data\" method=\"post\">\n";

Could you take a look at the actual produced HTML to see what the listed
URL is? Is it a full URL including the real hostname, a full URL including
the false forwarded hostname or a relative URL?

If it's a relative URL and there is no <base href> or it's a full URL with
the real hostname, then it's expected that it will work -- it will go
directly to the real script without disturbing the frameset. If it's a
full URL with the false hostname or a relative url with a <base href> for
the false hostname then I would be surprised if it works.

> I'm trying to understand why this works with the EasyDNS URL
> forwarding, and POST in MediaWiki does not. Here is the relevant code
> from Editpage.php in MediaWiki:
>
> <form id=\"editform\" name=\"editform\" method=\"post\"
> action=\"$action\" enctype=\"application/x-www-form-urlencoded\">

The relative hostname is altered by the browser using the <base href> to
the false forwarded hostname, thus the post fails.

> I was looking at some of the POST tags in the code, and it seems that
> many of them rely upon code in Title.php for their URLs. That file has
> a bunch of functions, such as "getFullURL", "escapeLocalURL",
> "getEditURL" etc. which seem to be called upon in some of the POST
> commands. Might it not be possible to edit some of these functions?

Yes, as I mentioned earlier you can go through and change these functions
and it might work. However I expect you'll have a hard time getting the
consistent results you seem to want with a frame-forwarding system.

-- brion vibber (brion @ pobox.com)