Getting To Know Your Hub

Utilize

View tutorials and read about how to use the numerous features of a HUB. We show you how to add content, customize your dashboard, create groups, and more.

User documentation

Manage

Read the manual for managing the content and functionality of a HUB. It progresses step-by-step through various common tasks and familiarizes you with the administrative interface.

Manager documentation

Extend

Build your own extensions and discover how to extend or tailor the existing ones to your needs. We guide you through the creation steps and provide examples for download.

Developer documentation

Setting Up Your Hub

We've provided default content and menus for your hub, along with some commonly used extensions. However, the default content is pretty generic and you'll want to customize some of key pages to get the most out of your hub. We also have some recommendations on enabling some key features to help manage and protect your hub. 

Customize Your Hub's Content

  • 'About You' Page

    A page* for telling your story and letting your visitors know all about you. 

  • 'How to Contact' Page

    page* to provide detailed contact information for your organization.

  • 'Terms of Use' Page

    We put a generic Terms of Use* page in place, but you might want to customize it for your specific needs.


    * Once you are ready to change these pages, login to your site's administrator page and use the Article Manager (under the 'Content' menu). 

 

Enable Recommended Features

  • Facebook, Google, LinkedIn

    Hub come with the ability for users to authenticate with popular services like Facebook, Google, or LinkedIn. Turn one or all of these on with a click of a button!

  • Set up Analytics

    We highly recommend setting up Google Analytics on your hub. We provide a module to enable analytics use on your hub.

  • Use ReCAPTCHA

    We provide basic image and text CAPTCHAs to help guard against spam bots, but we recommend configuring ReCAPTCHA for even better protection.

  • Email

    Hubs send outgoing email directly by default. Depending the type of server your hub is running on or your specific configuration, you might find the email your hub sends out gets marked as SPAM. We can't always easily prevent this from happening, but if you find your hub's email in SPAM folders too often, we recommend configuring your hub's STMP server to use a third party mail forwarding system, such as Amazon SES or Mandril. 

Where to Find Help

We try to make using and configuring a hub a simple, smooth process. Sometimes, however, you may have questions or issues not easily answered by the available documentation. If you need help or support while developing your hub, feel free to contact us.

I have a question!

Have a question on how to do something? If the documentation doesn't seem to be of help, you can try asking the community.

I have an idea!

Think something can be done better or is missing? Post your ideas or feature requests. We'd love to hear from you.

I have an error!

We continually test and refine the code for an error-free experience but, sadly, we can make mistakes. If you found a bug, let us know.

Debug Console

Close15 MBRequestSessionTimelineDatabase35Events25
$_GET
Array( ) Array(

)
$_POST
Array( ) Array(

)
$_COOKIE
Array( ) Array(

)
$_SERVER
Array( USER => apache, HOME => /usr/share/httpd, FCGI_ROLE => RESPONDER, REDIRECT_HTTP_AU... Array(
USER => apache,
HOME => /usr/share/httpd,
FCGI_ROLE => RESPONDER,
REDIRECT_HTTP_AUTHORIZATION => ,
REDIRECT_UNIQUE_ID => ZjTBcc@K-qfHHKwxqkiaNQAAAAc,
REDIRECT_SCRIPT_URL => /congratulations,
REDIRECT_SCRIPT_URI => https://ielab.info/congratulations,
REDIRECT_HTTPS => on,
REDIRECT_STATUS => 200,
HTTP_AUTHORIZATION => ,
UNIQUE_ID => ZjTBcc@K-qfHHKwxqkiaNQAAAAc,
SCRIPT_URL => /congratulations,
SCRIPT_URI => https://ielab.info/congratulations,
HTTPS => on,
HTTP_X_FORWARDED_FOR => 18.222.125.171,
HTTP_X_FORWARDED_PROTO => https,
HTTP_X_FORWARDED_PORT => 443,
HTTP_HOST => ielab.info,
HTTP_X_AMZN_TRACE_ID => Root=1-6634c171-32938713364b76f12c75bc69,
HTTP_ACCEPT => */*,
HTTP_USER_AGENT => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com),
HTTP_REFERER => http://ielab.info/congratulations,
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin,
SERVER_SIGNATURE => ,
SERVER_SOFTWARE => Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips mod_python/3.5.0- Python/2.7.5,
SERVER_NAME => ielab.info,
SERVER_ADDR => 10.84.154.253,
SERVER_PORT => 443,
REMOTE_ADDR => 10.84.154.205,
DOCUMENT_ROOT => /var/www/ielab,
REQUEST_SCHEME => https,
CONTEXT_PREFIX => ,
CONTEXT_DOCUMENT_ROOT => /var/www/ielab,
SERVER_ADMIN => root@localhost,
SCRIPT_FILENAME => /var/www/ielab/index.php,
REMOTE_PORT => 1532,
REDIRECT_URL => /congratulations,
GATEWAY_INTERFACE => CGI/1.1,
SERVER_PROTOCOL => HTTP/1.1,
REQUEST_METHOD => GET,
QUERY_STRING => ,
REQUEST_URI => /congratulations,
SCRIPT_NAME => /index.php,
PHP_SELF => /index.php,
REQUEST_TIME_FLOAT => 1714733425.7115,
REQUEST_TIME => 1714733425
)
session.client.forwarded 18.222.125.171
separator .
orderBy id
orderDir asc
1 registerIP
2 access
always
renew
tracker.sid 382a4ad94b5e1c1fa5c1cab03b96c569
tracker.ssid 382a4ad94b5e1c1fa5c1cab03b96c569
tracker.rsid 382a4ad94b5e1c1fa5c1cab03b96c569
  • site 0.057 seconds (+0.057); 9.50 MB (+9.500) - afterInitialise
  • site 0.086 seconds (+0.030); 11.00 MB (+1.500) - afterRoute
  • site 0.172 seconds (+0.086); 14.00 MB (+3.000) - afterDispatch
  • site 0.207 seconds (+0.035); 14.25 MB (+0.250) - beforeRenderModule mod_custom (Hub Footer)
  • site 0.211 seconds (+0.004); 14.50 MB (+0.250) - afterRenderModule mod_custom (Hub Footer)
  • site 0.212 seconds (+0.000); 14.50 MB (0.000) - beforeRenderModule mod_collect (Collect)
  • site 0.217 seconds (+0.005); 14.50 MB (0.000) - afterRenderModule mod_collect (Collect)
  • site 0.217 seconds (+0.000); 14.50 MB (0.000) - beforeRenderModule mod_menu (Community)
  • site 0.218 seconds (+0.002); 14.50 MB (0.000) - afterRenderModule mod_menu (Community)
  • site 0.219 seconds (+0.000); 14.50 MB (0.000) - beforeRenderModule mod_menu (Support)
  • site 0.219 seconds (+0.001); 14.50 MB (0.000) - afterRenderModule mod_menu (Support)
  • site 0.223 seconds (+0.004); 14.50 MB (0.000) - beforeRenderModule mod_menu (Analyse)
  • site 0.224 seconds (+0.001); 14.50 MB (0.000) - afterRenderModule mod_menu (Analyse)
  • site 0.224 seconds (+0.000); 14.50 MB (0.000) - beforeRenderModule mod_custom (Congratulations)
  • site 0.229 seconds (+0.005); 14.50 MB (0.000) - afterRenderModule mod_custom (Congratulations)
  • site 0.229 seconds (+0.000); 14.50 MB (0.000) - beforeRenderModule mod_breadcrumbs (Breadcrumbs)
  • site 0.235 seconds (+0.005); 14.75 MB (+0.250) - afterRenderModule mod_breadcrumbs (Breadcrumbs)
  • site 0.235 seconds (+0.000); 14.75 MB (0.000) - beforeRenderModule mod_menu (Main Menu)
  • site 0.305 seconds (+0.070); 15.00 MB (+0.250) - afterRenderModule mod_menu (Main Menu)
  • site 0.306 seconds (+0.001); 15.00 MB (0.000) - beforeRenderModule mod_search (Search)
  • site 0.308 seconds (+0.002); 15.00 MB (0.000) - afterRenderModule mod_search (Search)
  • site 0.308 seconds (+0.000); 15.00 MB (0.000) - beforeRenderModule mod_reportproblems (Trouble Report)
  • site 0.311 seconds (+0.004); 15.25 MB (+0.250) - afterRenderModule mod_reportproblems (Trouble Report)
  • site 0.315 seconds (+0.004); 15.25 MB (0.000) - onAfterRender
  • site 0.318 seconds (+0.002); 15.25 MB (0.000) - sessionStore
15 MB

35 Queries Logged: 0.058516263961792 seconds

  1. SELECT data
      FROM `jos_session`
      WHERE `session_id` = 'd8edd8edfc03b7437fce04c71f354db0'
  2. DELETE
      FROM `jos_session`
      WHERE `session_id` = 'd8edd8edfc03b7437fce04c71f354db0'
  3. SELECT data
      FROM `jos_session`
      WHERE `session_id` = '382a4ad94b5e1c1fa5c1cab03b96c569'
  4. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_languages'
  5. SELECT session_id
      FROM `jos_session`
      WHERE `session_id` = '382a4ad94b5e1c1fa5c1cab03b96c569'
      LIMIT 1
  6. INSERT INTO `jos_session` (`session_id`,`client_id`,`time`,`ip`)
      VALUES ('382a4ad94b5e1c1fa5c1cab03b96c569','0','1714733425','10.84.154.205')
  7. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_members'
  8. SELECT b.id
      FROM `jos_usergroups` AS `a`
      LEFT JOIN jos_usergroups AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE `a`.`id` = '1'
  9. SELECT *
      FROM `jos_viewlevels`
  10. SELECT folder AS type,element AS name,protected,params
      FROM `jos_extensions`
      WHERE `enabled` >= '1'
      AND `type` = 'plugin'
      AND `state` >= '0'
      AND `access` IN ('1','1','4')
      ORDER BY `ordering` ASC
  11. SELECT m.id,m.menutype,m.title,m.alias,m.note,m.path AS route,m.link,m.type,m.level,m.language,m.browserNav,m.access,m.params,m.home,m.img,m.template_style_id,m.component_id,m.parent_id,e.element AS component
      FROM `jos_menu` AS `m`
      LEFT JOIN jos_extensions AS e
      ON e.extension_id = m.component_id
      WHERE `m`.`published` = '1'
      AND `m`.`parent_id` > '0'
      AND `m`.`client_id` = '0'
      ORDER BY `m`.`lft` ASC
  12. SELECT jos_template_styles.id,jos_template_styles.home,jos_template_styles.template,jos_template_styles.params,jos_extensions.protected
      FROM `jos_template_styles`
      INNER JOIN jos_extensions
      ON jos_extensions.element = jos_template_styles.template
      WHERE `jos_template_styles`.`client_id` = '0'
      AND `jos_extensions`.`enabled` = '1'
      AND `jos_extensions`.`type` = 'template'
      AND jos_extensions.`client_id` = `jos_template_styles`.`client_id`
      ORDER BY `home` DESC
  13. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_content'
  14. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_categories'
  15. SELECT a.rules
      FROM `jos_assets` AS `a`
      WHERE `a`.`id` = '1'
      GROUP BY a.id, a.rules, a.lft
  16. SELECT b.rules
      FROM `jos_assets` AS `a`
      LEFT JOIN jos_assets AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE `a`.`name` = 'com_content'
      GROUP BY b.id, b.rules, b.lft
      ORDER BY `b`.`lft` ASC
  17. SELECT a.*,a.id,a.asset_id,a.title,a.alias,a.title_alias,a.introtext,a.fulltext,
      CASE WHEN badcats.id IS NULL THEN a.state ELSE 0 END AS state,a.mask,a.catid,a.created,a.created_by,a.created_by_alias,
      CASE WHEN a.modified IS NULL THEN a.created ELSE a.modified END AS modified,a.modified_by,a.checked_out,a.checked_out_time,a.publish_up,a.publish_down,a.images,a.urls,a.attribs,a.version,a.parentid,a.ordering,a.metakey,a.metadesc,a.access,a.hits,a.metadata,a.featured,a.language,a.xreference,c.title AS category_title,c.alias AS category_alias,c.access AS category_access,u.name AS author,parent.title AS parent_title,parent.id AS parent_id,parent.path AS parent_route,parent.alias AS parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating,v.rating_count AS rating_count
      FROM `jos_content` AS `a`
      LEFT JOIN jos_categories AS c
      ON c.id = a.catid
      LEFT JOIN jos_users AS u
      ON u.id = a.created_by
      LEFT JOIN jos_categories as parent
      ON parent.id = c.parent_id
      LEFT JOIN jos_content_rating AS v
      ON a.id = v.content_id
      LEFT
      OUTER JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published <= 0
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE `a`.`id` = '32'
      AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= '2024-05-03 10:50:25' )
      AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= '2024-05-03 10:50:25' )
      AND `a`.`state` IN ('1','2')
  18. SELECT c.*,
      CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
      FROM `jos_categories` AS `c`
      LEFT JOIN jos_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published != 1
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE (`c`.`extension` = 'com_content' OR `c`.`extension` = 'system' )
      AND `c`.`access` IN ('1','1','4')
      AND `c`.`published` = '1'
      AND `s`.`id` = '2'
      AND badcats.id is null
      GROUP BY c.id,c.asset_id,c.access,c.alias,c.checked_out,c.checked_out_time,c.created_time,c.created_user_id,c.description,c.extension,c.hits,c.language,c.level,c.lft,c.metadata,c.metadesc,c.metakey,c.modified_time,c.note,c.params,c.parent_id,c.path,c.published,c.rgt,c.title,c.modified_user_id
      ORDER BY `c`.`lft` ASC
  19. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_search'
  20. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_users'
  21. SELECT m.id,m.title,m.module,m.position,m.content,m.showtitle,m.params,mm.menuid,e.protected
      FROM `jos_modules` AS `m`
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      LEFT JOIN jos_extensions AS e
      ON e.element = m.module
      AND e.client_id = m.client_id
      WHERE `m`.`published` = '1'
      AND `e`.`enabled` = '1'
      AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= '2024-05-03 10:50:25' )
      AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= '2024-05-03 10:50:25' )
      AND `m`.`access` IN ('1','1','4')
      AND `m`.`client_id` = '0'
      AND (`mm`.`menuid` = '95' OR `mm`.`menuid` <= '0' )
      ORDER BY `m`.`position` ASC,`m`.`ordering` ASC
  22. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_support'
  23. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_newsletter'
  24. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_groups'
  25. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_projects'
  26. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_answers'
  27. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_collections'
  28. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_blog'
  29. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_resources'
  30. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_tags'
  31. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_wiki'
  32. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_citations'
  33. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_kb'
  34. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_media'
  35. UPDATE `jos_session`
      SET `data` = '__default|a:10:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1714733425;s:18:\"session.timer.last\";i:1714733425;s:17:\"session.timer.now\";i:1714733425;s:24:\"session.client.forwarded\";s:14:\"18.222.125.171\";s:8:\"registry\";O:23:\"Hubzero\\Config\\Registry\":2:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:1:\"0\";s:7:\"session\";}s:9:\"separator\";s:1:\".\";}s:4:\"user\";C:17:\"Hubzero\\User\\User\":22:{a:1:{s:5:\"guest\";b:1;}}s:11:\"tracker.sid\";s:32:\"382a4ad94b5e1c1fa5c1cab03b96c569\";s:12:\"tracker.ssid\";s:32:\"382a4ad94b5e1c1fa5c1cab03b96c569\";s:12:\"tracker.rsid\";s:32:\"382a4ad94b5e1c1fa5c1cab03b96c569\";}',`time` = '1714733426',`ip` = '10.84.154.205'
      WHERE `session_id` = '382a4ad94b5e1c1fa5c1cab03b96c569'
  • onAfterInitialise Method plgSystemP3p::onAfterInitialise /core/plugins/system/p3p/p3p.php:21
  • onAfterInitialise Method plgSystemRemember::onAfterInitialise /core/plugins/system/remember/remember.php:20
  • onAfterInitialise Method plgSystemHubzero::onAfterInitialise /core/plugins/system/hubzero/hubzero.php:21
  • onAfterInitialise Method plgSystemXFeed::onAfterInitialise /core/plugins/system/xfeed/xfeed.php:21
  • onAfterInitialise Method plgSystemSupergroup::onAfterInitialise /core/plugins/system/supergroup/supergroup.php:113
  • onAfterInitialise Method plgSystemReferrerpolicy::onAfterInitialise /core/plugins/system/referrerpolicy/referrerpolicy.php:21
  • onAfterRoute Method plgSystemJquery::onAfterRoute /core/plugins/system/jquery/jquery.php:21
  • onAfterRoute Method plgSystemSpamjail::onAfterRoute /core/plugins/system/spamjail/spamjail.php:21
  • onAfterRoute Method plgSystemIncomplete::onAfterRoute /core/plugins/system/incomplete/incomplete.php:21
  • onAfterRoute Method plgSystemUnconfirmed::onAfterRoute /core/plugins/system/unconfirmed/unconfirmed.php:21
  • onAfterRoute Method plgSystemUnapproved::onAfterRoute /core/plugins/system/unapproved/unapproved.php:21
  • onAfterRoute Method plgSystemPassword::onAfterRoute /core/plugins/system/password/password.php:21
  • onContentPrepare Method plgContentLoadmodule::onContentPrepare /core/plugins/content/loadmodule/loadmodule.php:35
  • onContentPrepare Method plgContentEmailcloak::onContentPrepare /core/plugins/content/emailcloak/emailcloak.php:25
  • onContentPrepare Method plgContentPagebreak::onContentPrepare /core/plugins/content/pagebreak/pagebreak.php:35
  • onContentPrepare Method plgContentXhubtags::onContentPrepare /core/plugins/content/xhubtags/xhubtags.php:25
  • onContentPrepare Method plgContentFormatwiki::onContentPrepare /core/plugins/content/formatwiki/formatwiki.php:63
  • onContentPrepare Method plgContentFormathtml::onContentPrepare /core/plugins/content/formathtml/formathtml.php:105
  • onContentPrepare Method plgContentExternalhref::onContentPrepare /core/plugins/content/externalhref/externalhref.php:41
  • onContentBeforeDisplay Method plgContentPagenavigation::onContentBeforeDisplay /core/plugins/content/pagenavigation/pagenavigation.php:25
  • onContentBeforeDisplay Method plgContentVote::onContentBeforeDisplay /core/plugins/content/vote/vote.php:32
  • onAfterDispatch Method plgSystemMobile::onAfterDispatch /core/plugins/system/mobile/mobile.php:22
  • onAfterDispatch Method plgSystemDebug::onAfterDispatch /core/plugins/system/debug/debug.php:60
  • onAfterDispatch Method PlgSystemHighlight::onAfterDispatch /core/plugins/system/highlight/highlight.php:25
  • onAfterRender Method plgSystemSef::onAfterRender /core/plugins/system/sef/sef.php:21