This issue is regarding the Atlas frontpage proposal:
http://rollerweblogger.org/wiki/Wiki.jsp?page=Proposal_Atlas

Currently, within weblog templates, you can access the page model, an object of
type org.apache.roller.velocity.PageModel, via the Velocity expression
$pageModel. But with the new Atlas frontpage, we're introducing a couple of
new page models which will be made available to some but not all weblogs.
There's the new SitePageModel, which provides access to site-wide data, and
there's the new PlanetPageModel, which represents data from the planet
aggregator.

The question is: how do we configure which models are available to which blogs.
Here are the options I've come up with so far:

Option #1: allow all blogs to access the page models via the names
$sitePageModel and $planetPageModel. Why not allow all blogs to display
site-wide and planet data?

Option #2: only make SitePageModel and PlanetPageModel available to the one
blog that is designated to be the front page blog via the names $sitePageModel
and $planetPageModel.

Option #3: Add a new field to the website table called page_models, which is
editable only by Global Admins. The new field will list the additional page
models to be available to a blog in a simple format. For each model, we list
the name to be used in Velocity and the classname to be instantiated
for the model.

  <model 1 name>, <model 1 class>
  <model 2 name>, <model 2 class>
  <model 3 name>, <model 3 class>

So, for example a front page blog would have this value:

  sitePageModel,org.apache.roller.velocity.SitePageModel
  planetPageModel,org.apache.roller.velocity.PlanetPageModel

Option #4: Introduce a roller_pagemodel table and a one-to-many association from
website to roller_pagemodel that allows us to associate an abtritrary number of
page models with a website. Also introduce a UI for allowing a global admin to
associate page models with websites.

  Table: roller_pagemodel
   id
   website_id
   modelname
   classname

I'm leaning towards option #3. Any comments or suggestions or other options?

- Dave

Reply via email to