On each project page, for all projects, you'll see right sidebar navigation specific to that project.
But where is that navigation? How can you create this navigation for a new project? How do you modify it once it's been created.
The right sidebar navigation is actually a drupal block that appears for the specific content type. All twc users (a particular user role) are allowed to create and edit these blocks. But there's a trick. So please read this before you go off and created, edit or delete these blocks.
We've added a hook for using blocks where the right sidebar navigation can use our special sparql tag, which allows you to do a SPARQL query against the TW endpoint, translate the response using XSLT, and rendering that content in the page. Or, in this case, rendering the translation in the right sidebar.
If you do not see the "Administer" menu, go to here, find the block you want to modify and modify it.
You've added a new page to the project and you want to link to that page from the project navigation on the right. And all twc users should have access to create and modify blocks. If you don't see the Administer menu in the black bar at the top of the screen, please let us know. Here's the steps you'll need to take:
Or you want to add something new. Just add it to the appropriate section of the menu, or add a new section, and link to that new page
You've added a new project, and now you want to create this right sidebar navigation. And all twc users should have access to create and modify blocks. If you don't see the Administer menu in the black bar at the top of the screen, please let us know. Here's the steps you'll need to take:
This is not the block we'll be using. A new block was automatically created when you created this block with the same name except (w/ SPARQL) added at the end. This block is the one we'll be using.
Now you have the blocks configured correctly, let's put it in the right place.
And you're done. Now, when you go to your project page you should see the project navigation on the right. If you don't, come find us and we'll help you out.
You'll need to modify this, of course.
<table>
<tr><th class="title"><a href="/web/project/PROJECT">PROJECTNAME</a></th></tr>
<tr><td align=center>
<a href="/web/project/PROJECT"><xsparql query="project.rq" i="PROJECTINSTANCE" xslt="generate/project-header.xsl" /></a>
</td></tr>
<tr><th class="section">Project Information</th></tr>
<tr><td>
Announcements<br />
Calendar<br />
Meeting Notes<br />
Working Groups<br />
Project Partners<br />
</td></tr>
<tr><th class="section">Research</th></tr>
<tr><td class="section">
<!--Key Concepts<br />-->
Publications<br />
Presentations<br />
<!--Related Research<br />-->
</td></tr>
<!--
<tr><th class="section">Design</th></tr>
<tr><td>
Use Cases<br />
Broad Design<br />
Architecture<br />
Technology Infrastructure<br />
</td></tr>
<tr><th class="section">Development</th></tr>
<tr><td>
Developer Guide<br />
</td></tr>
<tr><th class="section">Software & Services</th></tr>
<tr><td>
Documentation<br />
</td></tr>
-->
<tr><th class="section">Manage</th></tr>
<tr><td>
<a href="/web/node/add/project">Create Page</a>
</td></tr>
</table>
You'll need to modify this, of course.
<?php
$match = FALSE ;
$url = drupal_get_path_alias(request_uri());
if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
$node = node_load(arg(1));
if( $node )
{
foreach ($node->taxonomy as $vid => $term) {
$vn = taxonomy_vocabulary_load($term->vid);
if( $term->name == "Data.rpi.edu" || $term->name == "Data.rpi.edu Internal" ) $match = TRUE ;
}
}
}
// block is invisible on URLs entered here
if (strpos($url, "edit")) {
$match = FALSE;
}
// copy paste these for additional URLs
if (strpos($url, "admin")) {
$match = FALSE;
}
return $match;
?>