# Getting Started

{% hint style="info" %}
Pentaho Community Tools is a stack of open-source tools, installed on top of the Pentaho Server and are commonly referred to as CTools.
{% endhint %}

<figure><img src="/files/nMNtx7UZPuRlCPUYRQ4I" alt=""><figcaption><p>Component breakdown of a Pentaho CTools dashboard.</p></figcaption></figure>

#### Components

{% tabs %}
{% tab title="CDA" %}
{% hint style="info" %}
[**Community Data Access (CDA)**](/pentaho-ctools/c-tools/community-data-access.md)&#x20;

Enables you to gather and combine data from several data sources into a single structure, which you can then use in dashboards. Driven by the need to unify access to the Pentaho data layer, CDA was developed to create an abstraction layer between a CTools dashboard and the physical connections to different databases.

CDA has three main objectives:

&#x20; • Combine data from several sources

&#x20; • Ensure security while accessing the data (avoiding, for instance, SQL injection problems)

&#x20; • Ease data exports
{% endhint %}

<figure><img src="/files/96cSd90YUYGIHaMpq0Ru" alt=""><figcaption><p>CDA data sources</p></figcaption></figure>
{% endtab %}

{% tab title="CDF" %}
{% hint style="info" %}
[**Community Dashboard Framework (CDF)**](/pentaho-ctools/c-tools/community-dashboard-framework.md)&#x20;

Allows BA developers to quickly and easily create dynamic dashboards. Users can explore and understand large amounts of data using a variety of charts, tables, and other components and then “drill down” to the exact data they want.&#x20;

The framework creates dashboards leveraging web technologies such as JavaScript, CSS, and HTML; allowing the dashboard designer to control the dashboard’s whole lifecycle without resorting to Java coding.&#x20;

CDF has five main advantages:

&#x20; • Based in open source technology

&#x20; • Uses popular web technologies, such as Ajax, HTML, and CSS3

&#x20; • Manages the components' lifecycles and interactions between them

&#x20; • Separates the HTML design from the component definition

&#x20; • Allows for extensibility
{% endhint %}

xcdf file that calls myFirstDashboard.html

```xml
<?xml version="1.0" encoding="UTF-8"?>
<cdf>
  <title>My first dashboard!</title>
  <author>My Name</author>
  <description>My first dashboard!</description>
  <icon></icon>
  <template>myFirstDashboard.html</template>
  <style>clean</style>
  <require>true</require>
</cdf>
```

{% endtab %}

{% tab title="CDE" %}
{% hint style="info" %}

#### [Community Dashboard Editor (CDE)](/pentaho-ctools/c-tools/community-dashboard-editor.md)

Whereas CDF is a development framework directed at users with JavaScript and HTML skills, Community Dashboard Editor (CDE) is a graphical dashboard editor which provides access to the dashboard components in CDF.&#x20;

This tool uses a grid for the layout which enables users to create their own dashboards without needing a lot of JavaScript or HTML expertise. CDE aims to simplify the creation and addition of CTools dashboards.
{% endhint %}

<figure><img src="/files/gF3KoqU0CzTKURgSFbrg" alt=""><figcaption><p>Layout Structure</p></figcaption></figure>
{% endtab %}

{% tab title="CCC" %}
{% hint style="info" %}
[Community Chart Components (CCC) ](/pentaho-ctools/c-tools/community-dashboard-editor.md)

Allows dashboard designers to create powerful and custom charts for their dashboards. Essentially, it is a visualization library built on top of [Protovis](http://mbostock.github.com/protovis), a powerful open source data visualization library based in scalable vector graphics (SVG).&#x20;

The included default options can be bolstered with features in CDE, or an advanced user can pass extension points via Protovis commands to enhance chart components in dashboards.
{% endhint %}

<figure><img src="/files/bibnsvxVvJGf3TFne0ve" alt=""><figcaption><p>Chart Components</p></figcaption></figure>
{% endtab %}

{% tab title="CGG" %}
{% hint style="info" %}
[Community Graphics Generator (CGG) ](/pentaho-ctools/c-tools/community-graphics-generator.md)

Allows you to export CCC charts as images which are then available for Pentaho reports. Additionally, this plugin renders the CCC charts in browsers which might have limited capacity for rendering SVG images. In summary, this component is able to draw, within the server, exactly the same chart which is shown in the CTools dashboard using your web browser.

CGG has three main features:

&#x20; • Full integrated with CDE

&#x20; • Rendering charts via a URL

&#x20; • Running SVG-based charts and then converting them into images
{% endhint %}

<figure><img src="/files/AJWb8k4vfTf887GNZVOb" alt=""><figcaption><p>CCG</p></figcaption></figure>
{% endtab %}

{% tab title="Enable CDE & CDA" %}

{% hint style="info" %}
To activate the Community Dashboard Editor (CDE) plugin, you will need to change the configuration of several .xml files in the Pentaho solutions folder as described below. Verify that you have the appropriate permissions to read, write, and execute commands in the specified directories in the instructions.
{% endhint %}

1. Ensure the Pentaho Server is stopped.

```bash
cd
cd /opt/pentaho/server/pentaho-server
sudo ./stop-pentaho.sh
```

2. Uncomment the following lines:

/opt/pentaho/server/pentaho-server/pentaho-solutions/system/pentaho-cdf-dd/plugin.xml

```bash
cd
cd /opt/pentaho/server/pentaho-server/pentaho-solutions/system/pentaho-cdf-dd
sudo nano plugin.xml
```

3. Locate the following two commented blocks in this file and remove the comment tags from these blocks.&#x20;

```
<operation>
    <id>EDIT</id>
    <perspective>wcdf.edit</perspective>
</operation>
```

```
<overlays>
    <overlay id="launch" resourcebundle="content/pentaho-cdf-dd/lang/messages">
        <button id="launch_new_cde" label="${Launcher.CDE}" command="Home.openFile('${Launcher.CDE}', '${Launcher.CDE_TOOLTIP}', 'api/repos/wcdf/new');$('#btnCreateNew').popover('hide');"/>
    </overlay>
    <overlay id="startup.cde_dashboard"  resourcebundle="content/pentaho-cdf-dd/lang/messages" priority="1">
        <menubar id="newmenu">
            <menuitem id="new-cde_dashboard" label="${Launcher.CDE}" command="mantleXulHandler.openUrl('${Launcher.CDE}','${Launcher.CDE_TOOLTIP}','api/repos/wcdf/new')" />
        </menubar>
    </overlay>
</overlays>
```

4. Save.

```
CTRL + O
Enter
CTRL + X
```

5. Uncomment the following lines:

/opt/pentaho/server/pentaho-server/pentaho-solutions/system/pentaho-cdf-dd/settings.xml

```bash
cd
cd /opt/pentaho/server/pentaho-server/pentaho-solutions/system/pentaho-cdf-dd
sudo nano settings.xml
```

6. Locate the block at end of the file, 'Defining the new-toolbar-button' and remove the comments tags from this block&#x20;

```
<new-toolbar-button>1,New CDE Dashboard,CDE Dashboard,api/repos/wcdf/new</new-toolbar-button>
```

7. Locate the block at end of the file, 'Defining the new-toolbar-button' and remove the comments tags from this block.
8. Save.

```
CTRL + O
Enter
CTRL + X
```

9. Restart the Pentaho Server.

```bash
cd
cd /opt/pentaho/server/pentaho-server
sudo ./start-pentaho.sh
```

***

#### Community Dashboard Editor (CDE)

To verify CDE is activated, do the following.

1. Log on to the [Pentaho User Console](https://help.pentaho.com/Documentation/8.0/Setup/Evaluation/Tutorials/0D0/020).
2. From the Home page, click the Create New button.
3. From the menu that displays, select the New CDE Dashboard option. You can now begin creating your first CDE dashboard.

<figure><img src="/files/Izv6BQxFUFgRbuCmnbIr" alt="" width="375"><figcaption><p>CDE Dashboard option</p></figcaption></figure>
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://academy.pentaho.com/pentaho-ctools/c-tools/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
