Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

The purpose of the project is to add a mobile theme capability to Roller and at least one mobile theme. The project design was started on the Roller wiki. Here is the proposal:

https://cwiki.apache.org/confluence/display/ROLLER/Proposal+HTML5+Mobile+Template+for+Apache+RollerImage Removed

The design's evolution is documented on the Roller mailing list and via a series of blog entries. Below is a list, with links, of each of the blog entries so far and my summary of the changes discussed.

Blog: Mobile Theme setting up and its Use Cases

http://rollermobile.blogspot.com/2011/05/mobile-theme-setting-up-and-its-use.htmlImage Removed

Changes discussed:

...

Blog: Adding Meta-data in theme.xml

http://rollermobile.blogspot.com/2011/06/adding-meta-data-in-themexml-to.htmlImage Removed

Changes discussed:

...

Blog: Tag to define template type in theme.xml

http://rollermobile.blogspot.com/2011/06/tag-to-define-template-type-in-themexml.htmlImage Removed

Changes discussed:

...

Blog: Creating custom template

http://rollermobile.blogspot.com/2011/06/creating-custom-template.htmlImage Removed

Changes discussed:

  • Change to template management
    • Each template has a standard and a mobile parts

Blog: Editing templates

http://rollermobile.blogspot.com/2011/06/editing-templates.htmlImage Removed

Changes discussed:

...

Blog: Changing Mobile Theme template

http://rollermobile.blogspot.com/2011/07/changing-mobile-theme-template.htmlImage Removed

Changes discussed:

...

Implementation has gone well so far, with lots of good progress, but there are two course corrections that I would like to seeshould be made. First, I don't mind having some mobile specific code in the web UI, but I would like to avoid that in the object model and database schema. Second, as we discussed on the mailing list, we should avoid hard-coding mobile-specific fields into the database. Second, the design for storage of different type of templates seems too complex and introduces too many changes to Roller code. There are some recommended new designs below to adjust these problems.

Recommended design changes

These are recommended changes to the Roller Mobile design. First, a fix for the mobile-specific field in the Weblog object and corresponding website table. Introduce a new WebpageTemplate class and corresponding table We want to allow each weblog to have a set of themes, each with a name so we introduce a WeblogThemeAssoc class and a corresponding rol_weblogtheme table like this:

Code Block
create table rol_weblogtheme (
    id              varchar(48)  not null primary key,
    weblogid varchar(48) not null,    
    name            varchar(255)  not null,
    custom          $db.BOOLEAN_SQL_TYPE_FALSE not null,
    #columnNotNullWithDefault('type' 'varchar(16)' 'standard')
);

Second, a new design for weblog templates. Instead of creating a WeblogTemplate for each type of template (e.g. standard, mobile, etc.), we allow each WeblogTemplate to have multiple "template code" objects. In effect, each WeblogTemplate object will have two WeblogTemplateCode objects, one for type standard and one for type mobile. With this approach, we shouldn't have to make as many changes to Roller code, especially in the Struts UI actions.

...