MDT on Facebook MDT on Twitter

Working with Magik

Magik Development Perspective

Magik Development Perspective is a fundamental perspective provided by MDT® Professional Edition. This perspective groups all the functionalities designed for working with Magik projects. Within this perspective the following set of windows is available:

  • Product Explorer view - shows Magik projects which you are working on,
  • Magik editor - used for editing Magik files,
  • Problems view - gathers and shows problems detected in files and elements of Smallworld™ GIS platform, contained in Magik projects and in GIS session configuration, 
  • Outline view - a view connected with Magik editor which shows Magik code elements present in edited Magik file,
  • Sessions view - shows GIS sessions available in the environment,
  • Console view - GIS console which allows controlling the running GIS session,
  • Class Browser view - allows to search the Magik code available in GIS session.

Product Explorer

Product Explorer view, shown by default in the Magik Development perspective is the most important navigation view available in MDT® Professional Edition. In contrast to the other standard navigation views (Navigator and Project Explorer), this view provides a Magik specific view of the resources you are working on. The element hierarchy displayed in the view is taken from physical folders and files structure. It also contains additional information and settings for Magik project.

The view shows the Smallworld GIS platform element hierarchy of the Magik projects. For each project, its products, modules, source folders, Magik files, referenced products and other important resources are shown in the tree. You can easily browse the tree structure and edit specific files.

Each element presented in the hierarchy possesses its own set of specific commands. In this way you can easily: load a GIS module to the session, configure a load list or transmit a single method from Magik file to the session etc. These operations can be executed directly from the view without the need to open additional windows (e.g. Module Manager) or editors.

Transmitting code to any predefined session

MDT® now allows to transmit the code to sessions that are not assigned to current project. Source can be sent to one or multiple running sessions. Appropriate commands are accessible from the main menu, Product Explorer view, Magik editor and Outline view.

Magik Projects Builders

Magik project builders are used to detect problems in Magik project resources. There are two kinds of builds:

  • Incremental build - uses a “last build state,” maintained internally by the builder, to do an optimized build based on the changes in the project since the last build. That kind of a build is usually automatically triggered after making changes in the project resources (saving changed file, removing or adding resources). 
  • Full build - performs a build from scratch. It treats all resources in a project as if they have never been seen by the builder. It is usually triggered on user demand after invoking one of the build or clean commands. 

When resources are built, the progress indicator is shown which allows to observe the details of building process in the Progress view.

Builders can be, if necessary, freely switched on or off in selected Magik projects.

Magik Working Sets

Working sets group elements for display in views or for operations on a set of elements. The Product Explorer view uses working sets to restrict the set of Magik projects that are displayed. If a working set is selected in the view, only resources contained in the working set are shown (Magik projects and files and folders from those projects). The contents of many other available views in MDT can be filtered basing on a working set. When using the search facility, working sets can be used to restrict the set of elements that are searched. 

Import/Export of Resources

Import wizard is available in MDT environment and allows importing and working with existing resources: Magik projects, products, modules, Magik files etc. Wizard allows to import resources directly from files system and from Archive files.

Export wizard is available in MDT environment and allows to export Magik projects, products, modules, Magik files etc. from environment's resources that you are working on. Wizard allows exporting resources to files system or to Archive files.

Project Dependencies

GIS session image may contain Magik code that comes from different sources. That is why it is hard to collect all the sources that user can work with in the environment all at once.

MDT provides External File that helps you to get access to Magik files which are not present in your workspace but contain important code necessary for your work. When accessing external files with the wizard you can decide whether you want to simply open them or you want to open and associate them with a Magik project for further use. 

Local Edit History

A local edit history of a file is maintained when a file is created or modified. Each time a user edits and saves a file, a copy is also saved so that the user can replace the current file with a previous edit or even restore a deleted file. A user can also compare the contents of all the local edits. Each edit in the local history is uniquely represented by the date and time the file was saved.

Only files have local history; projects and folders do not.

Comparing Files

MDT allows easy and comfortable comparison of two files and two versions of the same file. File versions can be stored in the local edit history or in any VMS (Version Management System).

When a comparison is performed, compare editor appears in the editor area. The differences between files are highlighted allowing the user to browse and copy changes between the compared resources.


Wizards are used to guide you through a sequence of tasks. MDT provides a number of wizards for creating many of the most important elements of Smallworld™ GIS platform (products, modules, Magik files etc.), exporting and importing Magik project resources (file and folders), exporting and importing MDT configuration data (general preferences, GIS session configurations etc). Special set of wizards helps to work with the Magik code for example in defining new code element (exemplars, methods etc.), code refactoring and many others.

With MDT 3.0 new wizards have been added for easy and semiautomatic creation of Magik elements such as Mixins and Slotted Exemplars. With those new wizards you can now create entire blocks of code including automatic creation of method stubs, pragmas and comments.