Tasks on the site

Creating a category

The categories may be created either in the site root either in a parent category.

public void site_createTopic( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
        // 1st case: creation of a category in the site root
        ITopic topic = siteModule.createTopic( context, site, "test-topic", "test topic label" );

        // 2nd case: creation of a category in a parent category
        ITopic parentTopic = null;
        topic = siteModule.createTopic( context, parentTopic, "test-topic", "test topic label" );
}

Recovering a category

A root category or a sub-category is recovered using the category system name.

public void site_getTopic( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
        // recovering a category from a site
        ITopic topic = siteModule.getTopic( context, site, "test-topic" );

        // recovering a category from a parent category
        ITopic parentTopic = null;
        topic = siteModule.getTopic( context, parentTopic, "test-topic" );

        System.out.println( topic.getName() );
}

Recovering categories of a site or a topic

The site module planned to recover the root categories or the sub-categories of a specific topic.

public void site_getTopics( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
        // recovering root categories from a site
        Collection topics = siteModule.getTopics( context, site );
        for ( Iterator iterator = topics.iterator() ; iterator.hasNext() ; )
        {
                ITopic topic = (ITopic)iterator.next();
                System.out.println( topic.getName() );
        }

        // recovering root categories from a parent category
        ITopic parentTopic = null;
        topics = siteModule.getTopics( context, parentTopic );
        for ( Iterator iterator = topics.iterator() ; iterator.hasNext() ; )
        {
                ITopic topic = (ITopic)iterator.next();
                System.out.println( topic.getName() );
        }
}

Creating a page

The categories may be directly created in the site root or in a parent category.

public void site_createPage( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
        // 1st case: creation of a page on the site root
        IPageContainer sitePage = siteModule.createPageContainer( context, site, "site-page", "My page" );

        ITopic topic = null;
        // 2nd case: creation of a page under a category
        IPageContainer topicPage = siteModule.createPageContainer( context, topic, "topic-page", "page" );
}

Recovering a page

The site management module planned to recover a page from the website root as well as a category.

public void site_getPage( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
        // 1st case: recover a page from the site root
        IPageContainer pageContainer = siteModule.getPageContainer( context, site, "site-page" );

        ITopic topic = null;
        // 2nd case: recover a page from a category
        IPageContainer childPageContainer = siteModule.getPageContainer( context, topic, "topic-page" );
}

Recovering pages of a site or a topic

The site management module enables to recover every pages present at the site root as well as the one presents in a sub-category.

public void site_getPages( ISiteModule siteModule, IContext context, ISite site ) throws SiteModuleException
{
        // recovering the pages in the website root
        Collection pageContainers = siteModule.getPageContainers( context, site );
        for ( Iterator iterator = pageContainers.iterator() ; iterator.hasNext() ; )
        {
                IPageContainer pageContainer = (IPageContainer)iterator.next();
                System.out.println( pageContainer.getLabel() );
        }

        // recovering a category
        ITopic topic = siteModule.getTopic( context, site, "my-lovely-topic" );

        // recovering the pages in the website category
        pageContainers = siteModule.getPageContainers( context, topic );
        for ( Iterator iterator = pageContainers.iterator() ; iterator.hasNext() ; )
        {
                IPageContainer pageContainer = (IPageContainer)iterator.next();
                System.out.println( pageContainer.getLabel() );
        }
}