protected function addTreeNodeTypes()
 {
     $this->output(t('Adding tree node types...'));
     $this->connection->Execute('update TreeNodeTypes set treeNodeTypeHandle = ? where treeNodeTypeHandle = ?', array('category', 'topic_category'));
     $this->connection->Execute('update PermissionKeys set pkHandle = ? where pkHandle = ?', array('view_category_tree_node', 'view_topic_category_tree_node'));
     $this->connection->Execute('update PermissionKeyCategories set pkCategoryHandle = ? where pkCategoryHandle = ?', array('category_tree_node', 'topic_category_tree_node'));
     $results = NodeType::getByHandle('express_entry_results');
     if (!is_object($results)) {
         NodeType::add('express_entry_results');
     }
     $category = NodeType::getByHandle('express_entry_category');
     if (!is_object($category)) {
         NodeType::add('express_entry_category');
     }
     $results = TreeType::getByHandle('express_entry_results');
     if (!is_object($results)) {
         TreeType::add('express_entry_results');
         $tree = ExpressEntryResults::add();
         $node = $tree->getRootTreeNodeObject();
         // Add forms node beneath it.
         \Concrete\Core\Tree\Node\Type\ExpressEntryCategory::add(ExpressFormBlockController::FORM_RESULTS_CATEGORY_NAME, $node);
     }
 }
 public function install_data_objects()
 {
     \Concrete\Core\Tree\Node\NodeType::add('category');
     \Concrete\Core\Tree\Node\NodeType::add('express_entry_category');
     \Concrete\Core\Tree\TreeType::add('express_entry_results');
     \Concrete\Core\Tree\Node\NodeType::add('express_entry_results');
     $tree = ExpressEntryResults::add();
     $node = $tree->getRootTreeNodeObject();
     // Add forms node beneath it.
     $forms = ExpressEntryCategory::add(ExpressFormBlockController::FORM_RESULTS_CATEGORY_NAME, $node);
     // Set the forms node to allow guests to post entries, since we're using it from the front-end.
     $forms->assignPermissions(Group::getByID(GUEST_GROUP_ID), ['add_express_entries']);
     // Set the root node to allow guests to view entries, so that blocks like express
     // entry list and express entry details work.
     $node->assignPermissions(Group::getByID(GUEST_GROUP_ID), ['view_express_entries']);
 }