Difference between revisions of "CompostUs"

(deploy is working, signup is working but ugly, many other things need to happen)
Line 14: Line 14:
  
 
=== Deploy ===
 
=== Deploy ===
* DNS for compostus.aboutus.org
+
* <s>DNS for compostus.aboutus.org</s>
* apache configuration for compostus.aboutus.org
+
* <s>apache configuration for compostus.aboutus.org</s>
** compostus.aboutus.org/front.php* passes through to apache serving from /www/aboutus/compostus/mediawiki/wiki
+
* <s>cap compostus:deploy from the compostus branch prompts for TAGNAME updates /www/aboutus/compostus on squal1, squal2, squal3, squal-bot1</s>
** compostus.aboutus.org/compost_api.php* also passes through
+
* Adjust apache configuration to serve static content directly
** compostus.aboutus.org/* gets proxied through to localhost:3333
+
 
* cap deploy TAGNAME from the compostus branch updates /www/aboutus/compostus on squal1, squal2, squal3, squal-bot1
+
=== Functionality ===
 +
* <s>signup</s>
 +
* redirects
 +
* search should short circuit to existing pages
  
 
=== Skin ===
 
=== Skin ===
 +
* styling for signup views
 
* Navigation and edit tools all work
 
* Navigation and edit tools all work
 
** Missing methods
 
** Missing methods
Line 36: Line 40:
  
 
===Bugs/Errors as you find 'em===
 
===Bugs/Errors as you find 'em===
 +
* links to special pages shouldn't percent encode the : (%3A)
 
* no method error in authenticate when @page.is_special? - vinh
 
* no method error in authenticate when @page.is_special? - vinh
 
* when navigating to a User: page - vinh
 
* when navigating to a User: page - vinh

Revision as of 16:24, 22 February 2008

OurWork Edit-chalk-10bo12.png


CompostUsPath.png CompostUsRequestPath.png

What (summary)

Have our rails framework, Compost, handle basic page views and proxy all complex wiki requests back to Mediawiki.

Why this is important

We are sick and tired of being hobbled by our primary PHP environment. If we have every request handled primarily by Rails will give us a great deal of flexibility in writing new extensions, while still maintaining Mediawiki for a continuously shrinking subset of requests will make migration to our new platform feasible.

Punchlist

Deploy

  • DNS for compostus.aboutus.org
  • apache configuration for compostus.aboutus.org
  • cap compostus:deploy from the compostus branch prompts for TAGNAME updates /www/aboutus/compostus on squal1, squal2, squal3, squal-bot1
  • Adjust apache configuration to serve static content directly

Functionality

  • signup
  • redirects
  • search should short circuit to existing pages

Skin

  • styling for signup views
  • Navigation and edit tools all work
    • Missing methods
  • Finish the skin
  • Section editing doesn't work
  • Need to finish up the authentication screens
    • will probably need assistance (vinh!)

Claims

  • Create a claim retrieval function in compost

Mediawiki API

  • Pass in text, get back parsed html (for claims etc)

Bugs/Errors as you find 'em

  • links to special pages shouldn't percent encode the : (%3A)
  • no method error in authenticate when @page.is_special? - vinh
  • when navigating to a User: page - vinh
NoMethodError in MediawikiController#view
app/models/page.rb:35:in `find_by_prefixed_casespace'
app/controllers/mediawiki_controller.rb:64:in `get_page'
app/controllers/mediawiki_controller.rb:8:in `view'
  • MW system msgs aren't available for "ad sidebar", ...

DoneDone

Steps to get to DoneDone

  • CompostUs/Skin ... Port AboutUs skin to rails. (Vinh, Stephen)
  • Build shell Mediawiki skin that serializes relevant output and relays it back to Rails. (Stephen)
  • Build well-tested Rails controller that proxies back all GET and POST requests to Mediawiki.
  • CompostUs/Auth Build authentication framework that uses Mediawiki's user DB but relies on Rails sessions.
    • Integrate Ruby OpenID extensions with existing Mediawiki OpenID DB schema.
    • Disable Mediawiki log in pages.
  • Build parser for Mediawiki titles (IE "Template:Bob" gets translated to {:title => "Bob", :namespace => 10})
    • This is already done. In claims branch, look at Page.extract_namespace_and_title(title) in page.rb script.
  • Build casespace resolver for page titles
    • This is also done. In claims branch, see Page.find_by_casespace(title) in page.rb script.
  • CompostUs/Caching Build database parser cache to persistently keep Mediawiki parser output to minimize usage of PHP
    • Mediawiki is invoked only if there exists no output in the parser cache.


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