def structure(id):
    """Get a list with all the templates in this collection.

        id - the collection id
        
        All recognized template extensions are reported; unrecognized
        extensions are ignored. Subdirectories are also reported.
    
        Returned is a list of all entries.
    
        List entries for templates look like this:
        
        { 'template': 'template1.st',
        'name': 'template1',
        'extension': '.st'
        'path': 'template1.st',
        }

        template: the name of the template as it is in its immediate
                  directory.
        name: the name of the template without extension
        extension: the template extension
        path: the relative path to the extension from the collection_path
    
        List entries for sub directories look like this:
    
        { 'directory': 'subdirname',
        'entries': [ ... ],
        'path': 'subdirname',
        }

        directory: the name of the directory
        entries: the entries of the subdirectory, in a list
        path: the relative path to this directory from the collection_path
        """
