Skip to content

GuiUrls

David Anderson edited this page Aug 22, 2023 · 4 revisions

GUI URLs

GUI URLs is a mechanism that projects to pass URLs to the client, for display as hyperlinks in the GUI. These links will be shown when the project is selected in the Projects tab. To use this feature, include a file 'gui_urls.xml' in the project root directory, with the following form:

<gui_urls>
    <gui_url>
        <name>Your account</name>
        <description>View your account information and credit totals</description>
        <url>http://foo.project.com/home.php</url>
    </gui_url>
    <gui_url>
        <name>Help</name>
        <description>Get help about SETI@home</description>
        <url>http://foo.project.com/help.php</url>
    </gui_url>
    <ifteam>
        <gui_url>
            <name>Team</name>
            <description>Info about <team_name/></description>
            <url>http://foo.project.com/team_display.php?teamid=<teamid/></url>
        </gui_url>
    </ifteam>
    ...
</gui_urls>

Each entry describes a GUI URL. These URLs (macro-substituted as described below) will be sent to client hosts in the reply to scheduler RPCs. Team-specific entries should be enclosed in <ifteam>; they will be sent only if the user belongs to a team.

Like with any XML file, all text (including URLs) must be entity-escaped:

Character Escape Code
Ampersand & &amp;
Single Quote ' &apos;
Double Quote " &quot;
Greater Than > &gt;
Less Than < &lt;

The components of a <gui_url> element are:

name

A short name, used e.g. as a button name or menu item

description

An explanation, used e.g. as a rollover popup

url

The URL

All items are macro-substituted as follows:

<authenticator/>

The user's account key

<hostid/>

The host ID

<master_url/>

The project's master URL

<project_name/>

The project name (from config.xml) <rss_auth/>:" An authenticator used by notices.php

<teamid/>

The team ID

<team_name/>

The team name

<userid/>

The user ID

<user_name/>

The user name

<ifteam> ... </ifteam>

The enclosed items are included only if the user belongs to a team.

Clone this wiki locally