def add_MetaPublisher2(self, id, title='', presets=[], REQUEST=None):
    """!TXT! MetaPublisher2 Constructor"""

    id = str(id)
    title = str(title)

    instance = MetaPublisher2(id)
    instance.title = title
    id = self._setObject(id, instance)
    metapublisher2 = self._getOb(id)

    add_MetaPublisher2Designs(metapublisher2, 'designs')
    add_MetaPublisher2Frontends(metapublisher2, 'frontends')
    add_MetaPublisher2Languages(metapublisher2, 'languages')
    add_MetaPublisher2Tools(metapublisher2, 'tools')
    add_MetaPublisher2Widgets(metapublisher2, 'widgets')

    if presets:
        raise NotImplemented("!TXT! Preset initialization not yet implemented!")

    if REQUEST is not None:
        try:
            url = self.DestinationURL()
        except:
            url = REQUEST['URL1']
        url = '%s/manage_main?update_menu=1&manage_tabs_message=%s' % (
            url,
            quote_plus('!TXT! New MetaPublisher2 "%s" created.' % id)
        )
        REQUEST.RESPONSE.redirect(url)
def add_MetaPublisher2Widgets(self, id, title='Widgets Folder', REQUEST=None):
    """!TXT! ZMI constructor for MetaPublisher2Widgets"""

    if not container_filter(self.this()):
        raise TypeError("!TXT! Can't add a MetaPublisher2Widgets Folder outside of a MetaPublisher2")

    id = str(id)
    title = str(title)

    instance = MetaPublisher2Widgets(id)
    instance.id = id
    instance.title = title
    id = self._setObject(id, instance)

    if REQUEST:
        try:
            url = self.DestinationURL()
        except:
            url = REQUEST['URL1']
        url = '%s/manage_main?update_menu=1&manage_tabs_message=%s' % (
            url,
            quote_plus('!TXT! New MetaPublisher2Widgets "%s" created.' % id)
        )
        REQUEST.RESPONSE.redirect(url)