Download presentation
Presentation is loading. Please wait.
Published byLee Cameron Modified over 9 years ago
1
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford
2
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
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
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
5 Web Specific Language (WSL) – Fragment Application: 'application' name=ID '{' (entities+=Entity)* '}' ; Abstract Entity: Metadata | Domain | Feature ; Domain: 'domain' name=ID '{' (entities+=Entity)* '}' ; 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' name=ID '{' (concepts+=Concept)* '}' ; Abstract Stereotype: Required | Searchable | Ordered ; Abstract Containment: Contains | Container ; Contains: 'contains' (containment=ID)* ';' ; Container: 'container' (containment=ID)* ';' ; Abstract Concept: Metadata | Field | Containment ; Field: (stereotypes+=Stereotype)* type=Type name=ID '{' (attributes+=FieldAttribute)* '}' ; Abstract FieldAttribute: Widget | Title | Description | Default | Stereotype ;
6
6 Akademia Case Study Simple academic web sites An Akademia web site has Research projects Research groups Publications Other details … 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 { title "Project Aims"; description "A summary…"; } } … } }
7
7 WSL Architecture wsl2emf WSL xText WSL editor WSL ecore Akademia wsl Akademia emf emf2interfacesemf2archetypesemf2configemf2profile
8
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
9 Output Examples
10
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.