Difference between revisions of "ClaimsCasespace"

(done with this.)
 

(7 intermediate revisions by 2 users not shown)



Line 1: Line 1:
<noinclude><big>[[OurWork]] < [[DevelopmentTeam]] < [[DevelopmentTeamPriorities|Priorities]] < </noinclude>[[ClaimsCasespace]] {{JustTinyEditIcon|ClaimsCasespace}}<noinclude></big>
+
<noinclude><big>[[OurWork]] < [[DevelopmentTeam]] < [[DevelopmentTeamPriorities|Priorities]] < </noinclude><s>[[ClaimsCasespace]]</s> {{JustTinyEditIcon|ClaimsCasespace}}<noinclude></big>
 
__NOTOC__
 
__NOTOC__
 
== What (summary) ==
 
== What (summary) ==
Line 9: Line 9:
 
== [[DoneDone]] ==
 
== [[DoneDone]] ==
 
* <s>Page.find_by_casespace(casename) works efficiently in compost (this is an ActiveRecord model level function)</s>
 
* <s>Page.find_by_casespace(casename) works efficiently in compost (this is an ActiveRecord model level function)</s>
* claim.pages honors casespace
+
* <s>claim.pages honors casespace</s>
* parsing claims that contain pages that DON'T yet exist creates claims_pages for them anyway, so that
+
* <s>parsing claims that contain pages that DON'T yet exist creates claims_pages for them anyway, so that
** once a missing page is created (some casespace match), everything works without requiring a reparse
+
** once a missing page is created (some casespace match), everything works without requiring a reparse</s>
* All of this is well tested
+
* <s>All of this is well tested</s> it is.
  
 
== Steps to get to [[DoneDone]] ==
 
== Steps to get to [[DoneDone]] ==
 +
* <s>create page if it does not exist. This is because ClaimPages requires page id.</s>
 +
* <s>handle case when page does not exist.</s> creates a page record and an initial empty revision for previously non-existing pages. This has the side effect of our page creation bot not getting invoked for domain pages. However, this is the price for not overburdening our reparse routine.
 +
* <s>Make claims respect casespace.</s> Only two places where title was being used to fetch a page record. Used our casespace method instead of the existing find_from_prefixed method.
 
* <s>Handle casespace for namespace names.</s>
 
* <s>Handle casespace for namespace names.</s>
 
* <s>Write an efficient model method to cater for casespace and namespace issues.</s> Found another variant of this functionality but it used expensive join operation between page and au_page_lookup table. Came up with an ''efficient'' solution that does not require joins and uses sql with attributes in where clause that have index defined on them.  
 
* <s>Write an efficient model method to cater for casespace and namespace issues.</s> Found another variant of this functionality but it used expensive join operation between page and au_page_lookup table. Came up with an ''efficient'' solution that does not require joins and uses sql with attributes in where clause that have index defined on them.  
 
* <s>Bootstrapping.</s>
 
* <s>Bootstrapping.</s>
 +
</noinclude>
 +
[[Category:DevelopmentTeam]]
 
[[Category:OpenTask]]
 
[[Category:OpenTask]]
[[Category:DevelopmentTeam]]
 
</noinclude>
 

Latest revision as of 09:49, 13 February 2008

OurWork ClaimsCasespace

What (summary)

Make claims work with casespace

Why this is important

Claims is shaping up to be very important for us, and we need to get it working with our existing infrastructure

DoneDone

  • Page.find_by_casespace(casename) works efficiently in compost (this is an ActiveRecord model level function)
  • claim.pages honors casespace
  • parsing claims that contain pages that DON'T yet exist creates claims_pages for them anyway, so that
    • once a missing page is created (some casespace match), everything works without requiring a reparse
  • All of this is well tested it is.

Steps to get to DoneDone

  • create page if it does not exist. This is because ClaimPages requires page id.
  • handle case when page does not exist. creates a page record and an initial empty revision for previously non-existing pages. This has the side effect of our page creation bot not getting invoked for domain pages. However, this is the price for not overburdening our reparse routine.
  • Make claims respect casespace. Only two places where title was being used to fetch a page record. Used our casespace method instead of the existing find_from_prefixed method.
  • Handle casespace for namespace names.
  • Write an efficient model method to cater for casespace and namespace issues. Found another variant of this functionality but it used expensive join operation between page and au_page_lookup table. Came up with an efficient solution that does not require joins and uses sql with attributes in where clause that have index defined on them.
  • Bootstrapping.


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