{"id":35,"date":"2007-06-12T14:01:20","date_gmt":"2007-06-12T22:01:20","guid":{"rendered":"http:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/"},"modified":"2017-03-08T14:50:18","modified_gmt":"2017-03-08T22:50:18","slug":"kubla-is-dead-long-live-kubla","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/","title":{"rendered":"Kubla is dead!  Long live Kubla!"},"content":{"rendered":"<p>The last time Kubla <a href=\"http:\/\/blog.mozilla.org\/webdev\/2007\/02\/05\/is-that-a-kubla-on-your-shoulder\/\">came up<\/a> we were still <a href=\"http:\/\/wiki.mozilla.org\/Website_CMS:Requirements#Can_we_build_on_an_existing_CMS.3F\"> evaluating options<\/a> and the <a href=\"http:\/\/svn.mozilla.org\/projects\/kubla\/trunk\/\">code<\/a> was an old version of CakePHP all flushed out with scaffolding.  Most of the time between then and now has been spent on other projects (I&#8217;m looking at you <a href=\"https:\/\/addons.mozilla.org\/\">AMO<\/a>) but we&#8217;ve made enough progress to justify another update.<\/p>\n<p>Out of the <abbr title=\"Content Management System\">CMS<\/abbr>&#8216;s evaluated, we thought two showed great promise for our set of requirements.<\/p>\n<p>The first option that I got excited about was <a href=\"http:\/\/www.yulup.org\/\">Wyona&#8217;s Yulup<\/a>.  This is actually an add-on for Firefox that can talk directly to SVN (via WebDAV).  It is simple, supports <abbr title=\"What you see is what you get\">WYSIWYG<\/abbr> editing, has xhtml validation, supports WebDAV authentication, and much more, all out of the box.  I like that it leverages existing systems in an effective way, and is fairly unique (compared to traditional CMS&#8217;s).  It has a lot of promise for someone looking for a simple solution to editing static pages.<\/p>\n<p>That said, we would have to make significant changes to the add-on, or, more likely, write quite a bit of code separately to handle requirements like indicating a relationship between a page in English and other languages (to tell which English pages had been translated and which hadn&#8217;t).  <\/p>\n<p>The second option is the well known <a href=\"http:\/\/drupal.org\/\">Drupal<\/a>.  There are <a href=\"http:\/\/drupal.org\/features\">lists<\/a> expounding on Drupal&#8217;s good qualities already, so I&#8217;ll skip that, but suffice it to say, we&#8217;re most interested in the modularity that comes with Drupal.  We&#8217;re going to need to write some code to handle language detection and localization, and Drupal&#8217;s hooks should make this easier, not to mention the <a href=\"http:\/\/drupal.org\/project\/Modules\">pile of pre-built modules<\/a>.<\/p>\n<p>After collaborating on our options, we&#8217;ve decided to pursue the Drupal option.  I&#8217;ll be replacing the languishing <a href=\"http:\/\/svn.mozilla.org\/projects\/kubla\/trunk\/\">code in SVN<\/a> with a copy of Drupal shortly, and continuing development there.<\/p>\n<p>Thanks for everyone&#8217;s input.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The last time Kubla came up we were still evaluating options and the code was an old version of CakePHP all flushed out with scaffolding. Most of the time between then and now has been spent on other projects (I&#8217;m &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/\">Continue reading<\/a><\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[],"coauthors":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kubla is dead! Long live Kubla! - Mozilla Web Development<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wil Clouser\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/\",\"name\":\"Kubla is dead! Long live Kubla! - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"datePublished\":\"2007-06-12T22:01:20+00:00\",\"dateModified\":\"2017-03-08T22:50:18+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/ed34384989d96d205f4bac8a3de62631\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kubla is dead! Long live Kubla!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/\",\"name\":\"Mozilla Web Development\",\"description\":\"For make benefit of glorious tubes\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/ed34384989d96d205f4bac8a3de62631\",\"name\":\"Wil Clouser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/4a6868ba94204851aa79dddbabbee688\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/656fad0dd7cc21dfc11e9b9e953598fd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/656fad0dd7cc21dfc11e9b9e953598fd?s=96&d=mm&r=g\",\"caption\":\"Wil Clouser\"},\"description\":\"Wil solves problems on addons.mozilla.org. He's interested in security, scalability, and localization.\",\"sameAs\":[\"http:\/\/micropipes.com\/blog\/\"],\"url\":\"https:\/\/blog.mozilla.org\/webdev\/author\/wclousermozillacom\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kubla is dead! Long live Kubla! - Mozilla Web Development","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/","twitter_misc":{"Written by":"Wil Clouser","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/","url":"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/","name":"Kubla is dead! Long live Kubla! - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"datePublished":"2007-06-12T22:01:20+00:00","dateModified":"2017-03-08T22:50:18+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/ed34384989d96d205f4bac8a3de62631"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2007\/06\/12\/kubla-is-dead-long-live-kubla\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Kubla is dead! Long live Kubla!"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/webdev\/#website","url":"https:\/\/blog.mozilla.org\/webdev\/","name":"Mozilla Web Development","description":"For make benefit of glorious tubes","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/ed34384989d96d205f4bac8a3de62631","name":"Wil Clouser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/4a6868ba94204851aa79dddbabbee688","url":"https:\/\/secure.gravatar.com\/avatar\/656fad0dd7cc21dfc11e9b9e953598fd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/656fad0dd7cc21dfc11e9b9e953598fd?s=96&d=mm&r=g","caption":"Wil Clouser"},"description":"Wil solves problems on addons.mozilla.org. He's interested in security, scalability, and localization.","sameAs":["http:\/\/micropipes.com\/blog\/"],"url":"https:\/\/blog.mozilla.org\/webdev\/author\/wclousermozillacom\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/35"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/35\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=35"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}