MOKA development environment for building shareable applications through definition of reusable objects

Giovanni Ciardi (Regione Emilia-Romagna), Roberta Maltoni (SEMENDA)

MOKA has been developed in response to the need of Regione Emilia-Romagna to build and share ArcView applications among a lot of poorly skilled end users.
MOKA is a tool composed of two environments:
- Mokakit: a Visual Basic interface connected to a Microsoft Access database, allowing an Arcview strongly skilled user to build applications configuring and embedding objects such as covers, shapes, themes, tables, layouts, scripts, but also executable programs, users, virtual directories, etc... Insulation of object layer from physical level makes objects reusable.
- Moka: an ArcView Extension able to read Mokakit Access database and then run the defined applications.


The Moka project

The Moka project stemmed in 1998 from the need of Emilia-Romagna Region to develop application programs in the ArcView environment to be handed out to various Region offices and to bodies that work in the territory, such as provincial administrations, municipalities, mountain communities, Regional Environment Prevention Agency, basin authorities, land-reclamation syndicates, park boards, etc.

This project brought to the implementation of Moka, a configurable extension that brings the personalizations created with MokaKit into ArcView. MokaKit is a real development environment for the characterization of an ArcView application. The project was developed in collaboration with Semenda, an Esri partner in Modena (info@semenda.it).

MokaKit - Personalizations
Personalization's documents

The first installation was realized in March 2000 and included the MokaPRG (Piani Regolatori Generali) personalization - an ArcView application developed in the Moka environment - for the statistics processing concerning the synthesis of general town-planning schemes in the nine Provincial Town Planning Offices.

MokaPRG
MokaPRG - Statistics process
MokaPRG - Statistics report

The Moka extension was developed for all ArcView users, even for people without data processing experience and for GIS beginners, since Moka brings into ArcView all the functions of a complex application, but with an easy-to-use interface.

On the contrary MokaKit is a tool developed in Visual Basic and external to ArcView. It was conceived for users with, at the same time, GIS, ArcView and ArcView environment application development skills. With MokaKit the "personalizer" creates a personalization specifying all its characteristics, that is to say defining ArcView "objects": views, themes, legends, tables, relations, programs (avenue scripts or applications realized in other languages). These "objects" definitions are stored in a Microsoft Access database, read by the Moka extension, whose task is to load personalizations in ArcView. All these "objects", created for general purpose or for a single personalization, can be used again with a simple mouse click in any new or already existing personalization.

Emilia-Romagna Region has until now developed five personalizations in the Moka environment, namely:

1. MokaPRG - statistics processing about the synthesis of the general town-planning schemes in the nine provinces that make up the regional territory
2. MokaAMB - management of park and mountain communities cartography
MokaAMB

3. MokaSIPS - statistics processing concerning social policies
MokaSIPS


4. MokaFitoGis - management of phytosanitary infected area
MokaFitoGis


5. MokaParchi - management of natural park (zoning, accessibility, tourist activities, animal protection, etc.)

Other personalizations are being developed: Moka Metadati (Moka Metadata), Moka Catasto Strade (Moka Road Register), Moka Foreste (Moka Forests), Moka Vino (Moka Wine), Moka Fogne (Moka Sewer), etc.

The Moka project is constantly in progress; we are developing more general-purpose functionality and adding more data access capability (like SDE layers).

Typically the personalizations realized in the Moka environment are handed out from Emilia-Romagna Region to regional local authorities and that's why Moka is becoming a real standard in the development of ArcView applications in the regional territory.

Moka vs. ArcView project

What are the advantages of developing ArcView applications in the Moka environment?

The main assets are:

1. cartographic and descriptive data standardization;
2. software reusability;
3. the chance to disengage applications from actual data location.

1. Cartographic and descriptive data standardization. When the personalizer prepares a personalization, he describes in Moka the cartographic and descriptive data that are going to be used: these "objects" are then ready to be used also by other personalizations. Therefore an information framework is set up, shared by all the departments of the body that uses Moka. For example, we can load in Moka data of raster topographic cartography, to a scale of 1:5,000 and 1:25,000, of orthophotos and of the regional vector technical map: this cartography will generally be used by all personalizations, but will be described and organized only once in Moka.

Cartography
Themes

2. Software reusability. Often the same procedures have to be used in different personalizations (for ex. generalized functions for data base query, editing or cartographic analysis through identification of one interesting area of territory, etc.). In the development of software in the Moka environment we can distinguish procedures of general use, which can therefore be shared by several applications, and procedures specific to a single application. All procedures of general use are stored in a common directory (Moka_Common), which is a repository of documented software, developed with appropriate conventions in order to be used again by different personalizations. Furthermore, standards were fixed for the coding of variable names, scripts, dialogs, and anything that can be used in a personalization, so that personalizations developed by different bodies or companies can share the same procedures, thus giving the aforesaid opportunity to use again "objects" like buttons, tools, menus, executables as well as views, layouts, etc.

Button
Menu
View

3. The chance to disengage applications from actual data location. One of ArcView's limitations has always been the storing of the actual data path within the "apr" project. We tried to overcome this limitation in Moka, as it hindered the exchange of applications among different bodies or different offices of the same body. So the concepts of logical and physical directory for a personalization were introduced. Each datum that can be stored on disk, for ex. cartography, tables, scripts, legends, dialogs, etc., refers to a logical directory; for instance the road cartography of the Regional Technical Map refers to the logical directory StradeCTR (RoadsRTM). The MokaPRG personalization, which uses roads, can then be installed in two different provinces storing data in different locations, for instance Y:\usr1\cartografia\CTR\strade (prov. of Bologna) e D:\gis\CTR\strade (prov. of Forlė). In this case the personalizer will define two different installations in MokaKit: PC1BO and PC1FO, where the logical directory StradeCTR will be mapped in these two different physical directories: Y:\usr1\cartografia\CTR\strade and D:\gis\CTR\strade. During the loading, the Moka extension will read the name of the installation that is relative to the final user's PC from an initialization file (for ex. PC1FO). In this way the personalizations, which refer to logical directories for their "objects", will find correctly mapped data in the physical directories of that PC (for ex. D:\gis\CTR\strade).

Logical directory
Physical directory

Conclusion

It's easy to understand that the development of applications in the Moka environment is more onerous, compared to the realization of simple applications stored in an ArcView project, because the work for the project and its implementation requires that the application is adapted to the aforesaid standards. But even if a longer time is needed, it is then widely regained, due to the following reasons:

Finally we would like to underline that for the development of applications in the Moka environment only a couple of days of training are needed, in order to learn thoroughly Moka and MokaKit working methods and the standards for procedures development. Therefore any user already skilled in the use of ArcView can quickly become operational in the Moka environment too.

Acknowledgements

For all Moka & MokaKit environment features and interface definition:
Gian Paolo Artioli e Gian Paolo Schianchi (Regione Emilia-Romagna)

For software development:
Roberta Maltoni e Cristina Bizzarri (Semenda)

For personalizzations:
Fausto Ambrosini, Giovanni Benedettini, Sergio Frabetti, Maria Luisa Garberi, Marisa Lama, Monica Maini, Maurizio Masetti, Carla Tomassetti

For HTML support:
Andrea Gavagni

References

Moka: il modulo di Consultazione ed Analisi delle banche dati geografiche della regione Emilia-Romagna - Terza Conferenza nazionale dell'ASITA - Informazioni territoriali e Rischi ambientali - 1999
Mokakit - il tool per creare personalizzazioni in MoKa - Seconda conferenza italiana utenti Esri - 1999


Giovanni Ciardi
G.I.S. Manager
Regione Emilia-Romagna Servizio Sistemi informativi geografici
Viale Silvani 4/3 - 40122 Bologna - Italy
Tel. +39051284868
Fax. +39051284208
e-mail cartgis@regione.emilia-romagna.it