ETP Applications


ETP Documentation:ETP Applications

What is an ETP Application?

After you've created a package instance of ETP, you've got a virtual directory on your website where you can create and edit pages, links, or subdirectories. The pages you create have a very plain appearance and behavior: the index page displays a list of the other pages, and the other pages simply display whatever content you enter for them. This behavior is governed by what's known as the "default application".

The default application is defined by the ETP package at server startup time as follows:

etp::define_application default {
    index_template               packages/editthispage/templates/article-index
    index_content_type           etp_page_revision
    index_object_name           "subtopic"
    index_title_attr_name       "Title"
    index_description_attr_name "Description"
    index_content_attr_name     "Content"

    content_template             packages/editthispage/templates/article-content
    content_content_type         etp_page_revision
    content_object_name         "page"
    content_title_attr_name       "Title"
    content_description_attr_name "Description"
    content_content_attr_name     "Content"

    allow_subtopics       t
    allow_extlinks        t
    allow_symlinks        t

    auto_page_name        ""
}
You may customize the default application, or create new applications based on it, thereby changing the appearance and content of your web pages.

Modifying the default application

It's a good bet that you'll want to alter the appearance of the pages generated by ETP. I highly recommend designing a master template for your site, and ensuring that all packages you've installed are using it. (If you don't know what a master template is, the ACS Templating Reference will tell you). First, make a copy of the templates you want from ETP:
cd /web/MYSERVER/www
mkdir templates
cp ../packages/editthispage/www/templates/* templates
Now you can change the tag at the top of article-index.adp and article-content.adp to refer to your master template. Next, create a file in the MYSERVER/tcl directory, and add the following code:
etp::modify_application default {
    index_template        www/templates/article-index
    content_template      www/templates/article-content
}    
After restarting your server, every instance of ETP that's using the "default" application will be rendered using your master template.

Creating new applications

When you edit a content section in ETP, you'll see a link that says "Choose ETP Application". At first this list contains just a few entries: default, faq, news, and whatever other example applications were included with the ETP package. You can add your own entries to the list by calling the etp_define_application procedure. The real power of defining new applications is that you can create templates that reference structured data that is stored for each page in the content repository, and ETP gives you the means to edit and organize the structured data. To learn about how that works, please go on to read about Content Types.
luke@museatech.net