Figure 4.7: People page
automatically because there was a match between the lecturer or assistant field with the name of one group member. The same situation was happened during the input of the publication data, since publication authors are the group members as well. As soon as the relationship is constructed, the auto-complete feature is enabled for the input of lecturers, assistants and authors. Moreover, every group member’s page automatically displays all courses and all publications for that specific member (see Figure 4.8). Also, it is interesting to see the look- and-feel of the same web page when the WordPress theme is changed (see Figure 4.9). There is a clear distinction between the data content, which is the main focus of our approach, and the data presentation. Figure 4.10 illustrates the described design process.
4.2
Comparison of Approaches
In order to assess our approach and to point out important advantages and disadvantages of it, we are going to make a conceptual comparison with a model-driven approach.
Leone et al. [12] proposed an approach that allows users to, starting from the data model, create specific mechanisms for data management. In other words, the idea is to support the development of data-driven web sites based on the model-driven approach. They have chosen WordPress as a target platform and proposed a meta plugin - a plugin which generates new plugins. In order to demonstrate the idea, they extended the WordPress core model by adding support for the creation of ER models. The meta plugin creates new plugins based on the given ER model. Figure 4.11 (adapted from [12]) illustrates and compares our WordPress extension (right) and the extension proposed by Leone et al. [12] (left).
It is important to notice similarities between these two approaches. Conceptually, the goal of both approaches is the same - to provide mechanisms that enable data management. There- fore, both approaches are focusing on the data level. Moreover, in order to achieve the goal,
CHAPTER 4. EVALUATION 37
Figure 4.8: Group member page with back links
38 4.2. COMPARISON OF APPROACHES
Figure 4.10: Design process
CHAPTER 4. EVALUATION 39
Figure 4.12: Approaches
the data model is a key prerequisite. Although we propose the design-by-example method, we make use of it by exploiting the example data in order to form a data model that will be used for the construction of mechanisms that enable data management. On the other hand, the other approach starts by designing an ER model. Figure 4.12 illustrates and compares our approach (top) and the approach proposed by Leone et al. [12] (bottom).
The major difference between these two approaches is the data model building process. Gen- erally, model-driven approaches cater for the teams of people with different background. That limitation is overcome in this case by making use of WordPress, which can be successfully employed by individuals. However, users still have to create an ER model which implies that they have a notion of it and have to invest time in order to define a suitable model. On the other hand, in our approach, the user’s main concern is to choose the representative example data so that the system can automatically form a data model. Since users are looking at the existing data, they already have a notion of the general data structure. Moreover, we propose the mechanisms which automatically derive data models. Once they are optimized and reas- onable systematic, they can provide the higher efficiency, which implies the better results. One well known limitation of the established model-driven approaches is the evolution of the data-model. Usually, when the model requires a change, it is done firstly on the conceptual level and then the data structures are built again from the scratch. The same situation is with the proposed meta plugin. After the creation of the custom post type, its schema cannot be modified. The ER model has to be updated firstly in order to derive the custom post type again. In the contrary, our approach enables the evolution of the data model during and after the creation of custom post types. The more data is entered after creation of the custom post type, the model is more suitable. For example, relationships are created by example, using data from generated data structures. However, the big amount of example data does not always ensure better models. One important aspect to consider here is the complexity of the data model. Our approach is relatively new and further research is needed, especially in the domain of relationships that can be constructed by example. Currently, we explored m:n relationships between data structures. Yet, it is not enough in order to reach the complex- ity of the models designed by model-driven approaches. ER models are far more expressive than models formed by example. Furthermore, there is a difference in the level of abstraction.
40 4.2. COMPARISON OF APPROACHES
Design-by-example methods are tightly connected to data and it can bring specific limitations while model-driven approaches tend to be more independent.
5
Conclusion
In this chapter we provide a brief overview and a discussion of the proposed data-driven approach. Subsequently, we give possible directions for the future research.5.1
Discussion
Design-by-example is a relatively new interface-driven approach. It is promising because its key concepts match the needs of large number of people within the web engineering com- munity. Given that the data-intensive web sites managed by different CMS make a large part of the Web nowadays, the idea to extend this interface-driven approach to the data level seems very reasonable. Although our approach cannot compete with model-driven approaches when it comes to the development of very complicated models, our evaluation shows that it can sup- port the development of reasonably complex web sites.
In this thesis, we presented an approach which brings the design-by-example approach to the data level. The main goal is to make use of example data in order to support the design of data-driven web sites. Our approach is to develop a method which can extract the underlying schema from example data, taking into consideration not only the structure of the data, but also the data content. We use the extracted schema in order to derive a more general data model, which will present a basis for mechanisms that support data management, such as data insertion, data modification, and data presentation. Within our approach, we investigated relationships between data structures, which can be constructed by making use of the existing data from those structures.
Furthermore, we chose WordPress, one of the most popular CMS nowadays, as a target plat- form to implement our concepts. As a result, we presented Custom Post Type by Example - a WordPress plugin which illustrates our approach and serves as a proof of concept. Since