Difference between revisions of "CaseSPACe"

Line 1: Line 1:
<noinclude><big>[[DevelopmentPriorities]] < </noinclude>[[CaseSpace]] ('''2  severely underestimated''') ... ([[Stephen Judkins|Stephen]])<noinclude></big>
+
#REDIRECT ArticleCapitalizationPlan
 
 
== Synopsis ==
 
 
 
* Users have a way to specify correct capitalization
 
* No dups and a way to resolve existing conflicts
 
* No redlinks, search working in all cases
 
* (bonus) Make category lists sort according to the lowercase version of the title
 
 
 
See also [[The case for case]]
 
 
 
[[Image:CaseModel.jpg]]
 
 
 
== Code Location ==
 
 
 
All code is in the https://nimbus.aboutus.com/svn/aboutus/trunk repository
 
 
 
* changes to core files
 
** /extensions/MediaWikiChanges/includes/EditPage.php
 
** /extensions/MediaWikiChanges/includes/Parser.php
 
** /extensions/MediaWikiChanges/includes/SpecialContributions.php
 
** /extensions/MediaWikiChanges/includes/SpecialPage.php
 
** /extensions/MediaWikiChanges/includes/Title.php
 
** /extensions/MediaWikiChanges/includes/Article.php ....... were changes made but not reflected via the symlink structure???
 
** /extensions/MediaWikiChanges/LoadExtensions.php
 
* main development
 
** /extensions/PageLookup ....... TestFile, touch_page.php, modifications to rewrite.py?
 
** /extensions/WikiService ....... wiki_service.php WikiService.php providing a test http library to talk to mediawiki and ensure that after actions the raw source for pages is correct
 
 
 
== Current Strategy ==
 
 
 
Revise links that should work rather than handling them on the fly.  Revise the raw source to point to the canonical name.
 
 
 
== Database Population ==
 
 
 
* page_lookup pre-population takes 10 minutes on stratus
 
* pagelinks table population is 6x as many rows as page_lookup takes about 30x as long as the page_lookup population at least 5 hours on stratus, 10hrs later on stratus ... doesn't seem viable on live
 
 
 
== OnDemand Modifications ==
 
 
 
Scenario 1: View of invalidated page
 
* Hook is in the parser where it is parsing the links to regenerate the page
 
* Detects links, accumulates as it goes through in the PageLookup object ... at the end of parsing processes them all at once
 
* If no links need fixing, just displays the page
 
* else
 
** If we're viewing, creates the revision
 
** Does a 302 redirect and bales could enter an '''infinite loop''' if it can't repair one of the links (will be invalid and try to make a change)
 
Scenario 2: Editing, when someone submits
 
* Flags in the view routine in the PageLookup object ...
 
* Late in the editing process it needs to run the parser, right after it makes the revision, make an additional revision if it needs to ... just finished with the revision so carry on
 
 
 
== Redlinks to Blue ==
 
 
 
* When a page in the case space is created, all of the links in the case space should turn from red to blue ... we have code, but we don't have population yet (unweildy in the same way that the population of the pagelinks table is unweildy)
 
 
 
== Testing ==
 
 
 
* Because of redirect and exit it makes it difficult to test ... need selenium or in this case WikiService (to submit things to mediawiki) shells out to curl to make the requests (uses the action=raw type of request) doesn't test for a page looking weird in-between (these tests aren't all working yet)
 
* Make sure that rewriting with domains actually does the right thing
 
* Rewrite stuff
 
* Aboutus Search
 
 
 
 
 
 
 
 
 
</noinclude>
 

Revision as of 19:47, 25 May 2007

  1. REDIRECT ArticleCapitalizationPlan


Retrieved from "http://aboutus.com/index.php?title=CaseSPACe&oldid=6969321"