Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford."— Presentation transcript:

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


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

Similar presentations


Ads by Google