A Web Specific Language for Content Management Systems - PowerPoint PPT Presentation

About This Presentation
Title:

A Web Specific Language for Content Management Systems

Description:

1. A Web Specific Language for Content Management Systems ... Hide programming complexity. Utilize Model-Driven Development technologies. openArchitectureWare ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 13
Provided by: viarsv
Learn more at: http://www.dsmforum.org
Category:

less

Transcript and Presenter's Notes

Title: A Web Specific Language for Content Management Systems


1
A Web Specific Language for Content Management
Systems
  • Viðar Svansson, Roberto E. Lopez-Herrejon
  • Computing Laboratory
  • University of Oxford

2
Motivation
  • Web application development is increasingly
    complex
  • Several ways to cope with this complexity
  • Web frameworks
  • Basic infrastructure for web development
  • Examples RubyOnRails, Zope
  • Problems hard to master, e.g. API and coding
    conventions, multiple implementation technologies
  • Content Management System (CMS)
  • Sophisticated systems for authoring and
    controlling web applications sometimes built on
    top of a web framework
  • General purpose but customizable for the
    organization profile
  • Problems many custom requirements, still hard to
    master

3
Big Picture
  • Our goal
  • Facilitate the building of custom CMS by
    non-experts
  • Our approach
  • Develop a Domain Specific Language (DSL)
  • Hide programming complexity
  • Utilize Model-Driven Development technologies
  • openArchitectureWare
  • Generate a software product line infrastructure
  • reuseable components and configuration profiles

4
Designing DSL Insights
  • Websites are hierarchical
  • Directories, index.html
  • Webpages are hierarchical
  • HTML, XML
  • Content workflow can be modeled with state charts
  • CMS systems can be built in terms of their
    required functionality

5
Web Specific Language (WSL) Fragment
  • Application 'application' nameID ''
  • (entitiesEntity)
  • ''
  • Abstract Entity Metadata Domain Feature
  • Domain 'domain' nameID '' (entitiesEntity)
    ''
  • Abstract Feature Content Workflow Permission
  • Abstract Metadata
  • Description Title Author
  • Version URL Email Licence
  • Abstract Content
  • Base Folder Document File
  • Event Image Link
  • Base 'content' nameID ''
  • (conceptsConcept)
  • ''
  • Abstract Stereotype Required Searchable
    Ordered
  • Abstract Containment Contains Container
  • Contains 'contains' (containmentID) ''
  • Container 'container' (containmentID) ''
  • Abstract Concept
  • Metadata Field Containment
  • Field
  • (stereotypesStereotype)
  • typeType nameID ''
  • (attributesFieldAttribute)
  • ''
  • Abstract FieldAttribute
  • Widget Title Description Default
    Stereotype

6
Akademia Case Study
  • application Akademia
  • domain Research
  • title "Research Content"
  • description "Concepts "
  • folder ResearchProject
  • title "Research Project"
  • contains Publication
  • reference groups
  • title "Associated Groups"
  • type ResearchGroup
  • reference projects
  • title "Related projects"
  • type ResearchProject, Link
  • required text aims
  • Simple academic web sites
  • An Akademia web site has
  • Research projects
  • Research groups
  • Publications
  • Other details

7
WSL Architecture
WSL
xText
WSLecore
WSLeditor
wsl2emf
Akademiawsl
Akademiaemf
emf2interfaces
emf2archetypes
emf2config
emf2profile
8
Product Line Infrastructure
  • Profiles finer degree or variability
  • System properties, i.e. string values in XML
    files
  • Examples content-types, comments, versioning
  • Tool GenericSetup to select and deploy components
  • Define permissions and workflows
  • CMS instance composed of multiple profiles

9
Output Examples
10
Lessons Learned
  • Web apps (CMSs) are complex beasts
  • Require detailed knowledge of the target to
    automate generation effectively
  • Limitations found
  • Missing association references in xText
    translation
  • Template support for whitespace handling,
    important when targeting Python code
  • Textual DSL was adequate
  • Easier to learn, traditional versioning and
    editing support

11
Related Work
  • Inspired by ArchGenXML (AGX)
  • Transforms UML diagrams annotated with
    stereotypes of a Plone UML profile
  • WebDSL Visser 07
  • Proposes DSL for web applications with concepts
    similar to those available in a CMS
  • Academic web site case study
  • Models presentation in DSL
  • Feature Oriented Model Driven Development (FOMDD)
    Trujillo et. al 07
  • Combines Feature Oriented Programming (FOP) and
    MDD
  • Algebraic representation of composition and
    synthesis

12
Future Work
  • Application to a larger case study
  • Assessment with actual web developers
  • Extend DSL to accommodate other CMS functionality
  • Portlets, composite content-types
  • Algebraic properties of fields for computed
    fields
  • Model algebraically as in FOMDD
  • How the model obtained compares with other case
    studies?
  • Integrate with a feature modeling tool
Write a Comment
User Comments (0)
About PowerShow.com