we address a fundamental issue that is currently
hindering its realization. This issue refers to the
failure of the existing Web modeling languages to
capture the development context of CMS platforms,
and thus, their inability to provide a modeling
framework to support the model-driven development
of CMS-based Web applications. This is mainly due
to the fact that these languages are generic (they have
been designed for the general case of Web
applications where development starts from scratch
and not based on a preconfigured software platform
such as CMSs), and thus, they provide generic and
abstract notation which is actually quite far from the
standard development context of CMS platforms.
This makes it hard for designers to determine how
CMS-based Web applications could be modeled
within the context of these languages, and
subsequently, how the design models could be
automatically turned into CMS source code
implementation, given that there is not any kind of
mapping between their modeling framework and the
actual development context of CMSs. To address this
problem, we introduce a new genre of modeling
languages, called CMS-oriented modeling languages,
which are specifically designed for the category of
CMS-based Web applications. More specifically,
they are designed in such a way so that their modeling
framework is in direct correspondence with the
particular development context of the target CMS.
This serves a twofold purpose. First, it allows for a
modeling environment in which designers can
produce the design model of CMS-based Web
applications in terms of modeling primitives that
correspond to the actual elements supported by the
target CMS with which they are already familiar with.
Second, it facilitates the development of tools to
perform the automated interpretation of design
models into running CMS-based Web applications,
since now there is a clear mapping between modeling
and implementation level, facilitating the transition
from modeling to source code level. Based on this, we
argue that the proposed genre of CMS-oriented
modeling languages is a significant first step towards
laying the foundations of model-driven development
in CMS domain in order to support the automated
generation of CMS-based Web applications.
To support the definition of CMS-oriented
modeling languages for the various CMS platforms
available today, we propose a general framework
comprising by three major stages: (i) the analysis of
the target CMS platform, (ii) the creation of its
domain model including all the key elements of its
development context that need to be captured by the
CMS-oriented modeling language, and (iii) the
formal definition of the CMS-oriented modeling
language, i.e., the formalization of its modeling
primitives. In this way, the proposed framework
supports the definition of modeling languages which
have the expressiveness to capture the development
context of CMSs, and thus, represent the CMS-based
Web applications as models consisting of modeling
primitives which are in direct correspondence with
the actual CMS-specific elements of the target CMS,
making the transition from modeling to source-code
level considerably easier and enabling the model-
driven development in CMS domain.
To support our case, we present a case study in
which we have applied the proposed framework on
the popular open-source Joomla! CMS platform,
resulting in the definition of a language for modeling
Joomla!-based Web applications. The remaining of
this paper is organized as follows: Section 2 provides
an overview of related work and discusses the
contribution of this work. Section 3 presents an
overview of the proposed framework, while Section
4 presents in detail the case study for the Joomla!
CMS. Finally, Section 5 discusses conclusions and
future work.
2 RELATED WORK
Despite the widespread use of CMSs and their
relevant acceptance in the global market, the vast
majority of Model-Driven Web Engineering
(MDWE) methodologies (Rossi et al., 2016) have so
far ignored the domain of CMSs and they have been
primarily designed to support the development of
traditional Web applications in which development
starts from scratch and not based on a preconfigured
software platform such as CMSs. This makes them
inappropriate for supporting model-driven
development of CMS-based Web applications. It is
only during the last decade that a limited number of
MDWE methodologies has emerged for addressing
model-driven development in CMS domain. Among
them, in (Trias, 2014), authors present a model-driven
approach for the automated migration of websites
built on the open-source CMS platforms of Drupal,
Joomla! and WordPress. In (Souer et al., 2009),
authors argue that customizing CMS-based Web
applications is a difficult task and that there is a gap
between the requirements analysis in this type of Web
applications and its implementation. Therefore, they
propose a model-driven method to configure
automatically a CMS-based Web application based
on requirements. In (Saraiva and Silva, 2009), authors
present a model-driven method for the development
CMS-oriented Modeling Languages: An Attempt to Assist Model-driven Development in CMS Domain
373