ClaimsCasespace

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"