I guess it would make sense to explain how this hack works... so for every request from Parsoid to MW API there is an extra GET parameter added: syncval. MediaWiki API in its entry point is looking for that parameter and checks if its value matches correctly - if it does then read permission is granted for given request.
Inez On Tue, Jan 29, 2013 at 2:03 PM, Inez Korczyński <[email protected]> wrote: > > Hi, > > I have a dirty hack that should work for you (however I take no > responsibility for any damage :)). > > Changes to Parsoid: > > * apply following diff with patch tool: > http://pastebin.com/raw.php?i=rfaHyVRF (if it is not compatible with your > Parsoid version then you can apply changes from it by hand) > * in js/api/localsettings.js just below line 'env.setInterwiki...' add > another line: 'env.syncval = "<SECRETCODE>";' > > Changes to MW: > > * in api.php just above line '$processor = new ApiMain( $wgRequest, > $wgEnableWriteAPI );' add this code: > if ( isset($_GET['syncval']) && $_GET['syncval'] === "<SECRETCODE>" ) { > $wgGroupPermissions['*']['read'] = true; > } > > Make sure to replace <SECRETCODE> with some secure string/password - > https://www.random.org/passwords/?num=1&len=24&format=html&rnd=new > > Inez > > > On Tue, Jan 29, 2013 at 1:08 AM, - - <[email protected]> wrote: > > Hi Inez, hi Subbu > > > > That's it! > > I didn't know about prefix as I could not find anything about that variable > > at http://www.mediawiki.org/wiki/Parsoid. Maybe you should add that to the > > page. > > > > But that alone didn't help! The thing that made it work was > > "$wgGroupPermissions['*']['read'] = false;" I had it on FALSE and when I > > changed it to TRUE, everything worked! Splendid, thank you. > > > > Will it be possible to use Parsoid in the future with the variable being > > FALSE? > > > > Stadtpirat! > > > >> > >> Message: 2 > >> Date: Fri, 25 Jan 2013 11:39:49 -0800 > >> From: Subramanya Sastry <[email protected]> > >> To: [email protected] > >> Subject: Re: [Wikitext-l] No response to VisualEditor from Parsoid > >> Message-ID: <[email protected]> > >> Content-Type: text/plain; charset=ISO-8859-1; format=flowed > >> > >> In addition to what Inez suggested, another place to check based on > >> #mediawiki-parsoid discussion about this report. -Subbu. > >> > >> ... > >> <RoanKattouw> Does he have $wgGroupPermissions['*']['read'] === false > >> perhaps? > >> <marktraceur> Hm, that might be it > >> <RoanKattouw> Does he have a current version of MW? > >> <marktraceur> RoanKattouw: The permissions thing is exactly right > >> <marktraceur> RoanKattouw: I didn't ask about the version > >> <RoanKattouw> The perms thing will do it > >> ... > >> <RoanKattouw> The API refuses to do pretty much everything if you're > >> logged out and have denied anons read rights > >> <RoanKattouw> Actually, I'm pretty sure the only modules available in > >> that case are help and login :) > >> ... > >> > >>> Hi, > >>> > >>> In your localsettings.js (for Parsoid) you should have > >>> "parsoidConfig.setInterwiki( 'skwiki', 'http://skwiki'; );" instead of > >>> what you have now. > >>> > >>> Also try setting $wgVisualEditorParsoidURL = 'http://skwiki:8000'; and > >>> $wgVisualEditorParsoidPrefix = 'skwiki' (make sure that nothing is > >>> overwritten in extensions/VisualEditor/VisualEditor.php). > >>> > >>> Inez > >>> > >>> On Fri, Jan 25, 2013 at 3:25 AM, - - <[email protected]> wrote: > >>>> > >>>> Hi, > >>>> > >>>> I just asked this in IRC, but in case I need to go before I get a reply, > >>>> I will ask you here: > >>>> > >>>> This really starts to bug me! I have no idea why Parsoid (and the > >>>> VisualEditor) is not working! My wiki is working and the address is > >>>> http://skwiki/w/Hauptseite ("Main_Page" is "Hauptseite" in German). I > >>>> see the api page when I go to http://skwiki/api.php and I see the > >>>> Parsoid page when I go to http://skwiki:8000. But I get errors when I > >>>> click the VisualEditor link on http://skwiki/w/VisualEditor:Sandbox (no > >>>> response). > >>>> > >>>> - The wiki is located at /usr/local/var/www/mediawiki/. > >>>> - The webserver is configured to have the docroot for http://skwiki at > >>>> /usr/local/var/www/mediawiki/ > >>>> - It also internally rewrites "/w/(.+)" to "index.php?title=$1" > >>>> - > >>>> /usr/local/var/www/mediawiki/extensions/Parsoid/js/api/localsettings.php > >>>> is http://pastebin.com/BhB07BKY > >>>> - /usr/local/var/www/mediawiki/LocalSettings.php is > >>>> http://pastebin.com/Y1wLnwiL > >>>> > >>>> When I click the WYSIWYG-button at http://skwiki/w/VisualEditor:Sandbox, > >>>> I get the following response in the web browser > >>>> > >>>>> {"error":{"code":"parsoidserver","info":"Error contacting the Parsoid > >>>>> server"}} > >>>> and node js throws an error: > >>>> > >>>>> /usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.WikiConfig.js:25 > >>>>> var nkeys = Object.keys( names ); > >>>>> ^ > >>>>> TypeError: Object.keys called on non-object > >>>>> at Function.keys (native) > >>>>> at Object.WikiConfig > >>>>> (/usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.WikiConfig.js:25:21) > >>>>> at MWParserEnvironment.switchToConfig > >>>>> (/usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.parser.environment.js:215:21) > >>>>> at ApiRequest.processListeners.processSome > >>>>> (/usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.ApiRequest.js:53:4) > >>>>> at process.startup.processNextTick.process._tickCallback > >>>>> (node.js:244:9) > >>>> I really would like to get this working! > >>>> > >>>> Thanks, > >>>> > >>>> Stadtpirat > >>>> > >>>> ---------- Forwarded message ---------- > >>>> From: - - <[email protected]> > >>>> To: "[email protected]" <[email protected]> > >>>> Cc: > >>>> Date: Fri, 25 Jan 2013 03:06:21 -0800 (PST) > >>>> Subject: WG: No response to VisualEditor from Parsoid > >>>> Hi, > >>>> > >>>> > >>>> I just asked this in IRC, but in case I need to go before I get a reply, > >>>> I will ask you here: > >>>> > >>>> This really starts to bug me! I have no idea why Parsoid (and the > >>>> VisualEditor) is not working! My wiki is working and the address is > >>>> http://skwiki/w/Hauptseite ("Main_Page" is "Hauptseite" in German). I > >>>> see the api page when I go to http://skwiki/api.php and I see the > >>>> Parsoid page when I go to http://skwiki:8000. But I get errors when I > >>>> click the VisualEditor link on http://skwiki/w/VisualEditor:Sandbox (no > >>>> response). > >>>> > >>>> - The wiki is located at /usr/local/var/www/mediawiki/. > >>>> - The webserver is configured to have the docroot for http://skwiki at > >>>> /usr/local/var/www/mediawiki/ > >>>> - It also internally rewrites "/w/(.+)" to "index.php?title=$1" > >>>> - > >>>> /usr/local/var/www/mediawiki/extensions/Parsoid/js/api/localsettings.php > >>>> is http://pastebin.com/BhB07BKY > >>>> - /usr/local/var/www/mediawiki/LocalSettings.php is > >>>> http://pastebin.com/Y1wLnwiL > >>>> > >>>> When I click the WYSIWYG-button at http://skwiki/w/VisualEditor:Sandbox, > >>>> I get the following response in the web browser > >>>> > >>>>> {"error":{"code":"parsoidserver","info":"Error contacting the Parsoid > >>>>> server"}} > >>>> and node js throws an error: > >>>> > >>>>> /usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.WikiConfig.js:25 > >>>>> var nkeys = Object.keys( names ); > >>>>> ^ > >>>>> TypeError: Object.keys called on non-object > >>>>> at Function.keys (native) > >>>>> at Object.WikiConfig > >>>>> (/usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.WikiConfig.js:25:21) > >>>>> at MWParserEnvironment.switchToConfig > >>>>> (/usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.parser.environment.js:215:21) > >>>>> at ApiRequest.processListeners.processSome > >>>>> (/usr/local/var/www/mediawiki/extensions/Parsoid/js/lib/mediawiki.ApiRequest.js:53:4) > >>>>> at process.startup.processNextTick.process._tickCallback > >>>>> (node.js:244:9) > >>>> I really would like to get this working! > >>>> > >>>> Thanks, > >>>> > >>>> > >>>> Stadtpirat > > > > _______________________________________________ > > Wikitext-l mailing list > > [email protected] > > https://lists.wikimedia.org/mailman/listinfo/wikitext-l _______________________________________________ Wikitext-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitext-l
