**Note**: More to come...

The EMEN2 web interface can be extended fairly easily.

First, create a directory with the following structure:

<ext>/
     /__init__.py
     /views/
     /views/__init__.py
     /views/example.py
     /templates/
     /templates/example/
     /templates/example/example.mako

In example.py:

from emen2.web.view import View

@View.register
class ExampleView(View):
    @View.add_matcher(r'^/example/square/(?P<name>[^/]*)/$')
    def example_test(self, name):
        self.title = 'Example extension'
        self.template = '/example/example'
        name_square = int(name) ** 2
        self.ctxt['name'] = name
        self.ctxt['name_square'] = name_square

In example.mako:

<%inherit file="/page" />

<h1>Example</h1>

<p>This is an example of how to create a view and template.</p>

<p>The name argument was: ${name}</p>

<p>The name argument squared is ${name_square}, or ${int(name)**2}</p>

And finally, in <ext>/views/init.py:

import example