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).
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.
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
3. MokaSIPS - statistics processing concerning social policies
4. MokaFitoGis - management of phytosanitary infected area
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.
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.
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.
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).
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:
- the sharing of applications among different bodies becomes very easy;
- the knowledge of the personalizations that have already been realized or that are being projected can be spread: Moka web site supplies information about all personalizations that already exist or that are being prepared and provides possible updating for the already distributed personalizations, so that any personalizer can start from an existing personalization to develop his/her own;
- new personalizations can be created merging existing ones;
- besides software sharing, it is also possible to share both cartographic and noncartographic data, being them identified and documented in Moka (an appropriate Moka personalization - MokaMetadati - extends data documentation in accordance with the European standard CEN/Tc 287 and, in the near future, with the international standard ISO);
- a centralized organization for technical support is ready to answer questions and solve problems concerning the Moka environment. There is a telephone and an e-mail for the support on Moka and its applications. For more info you can go to the Moka site http://www.regione.emilia-romagna.it/sigeografici/moka.htm (will become in some months http://moka.regione.emilia-romagna.it ), in Italian, or e-mail to moka.info@semenda.it .
- training is available for Moka and all its personalizations based on the same standards (lecture notes, exercise, teaching).
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.
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
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