# Rocket Tools
Rocket Tools are a dollection of web tool that help the creation and maintenance of websites using Rocket.
You can access the Rocket Tools mennu via the Rocket personabar menu.


## Clone
The Clone function allows multiple modules to be cloned across multiple pages.

## Roles
Roles can be added to multiple modules with one command.

## Page Localization
Page Localization can be controlled. When installed it will interact with the DDRMenu and the page meta data to provider translated Page
Names, Page Bread Crumb, Page Title, Page Tag Words and Page Description.
**Alteration of the skin is required. There are 3 things that need to be done.**

### 1. Specify the NodeManipulator in the DDRMenu
In the skin all DDRMenu controls should specify the RocketTools node manipulator. This will alter the page names for localization and will also call any noe manpulator providers that have been specified in the page localization settings.
```
NodeManipulator="RocketTools.DdrMenuInterface,RocketTools"
```
```
<dnn:MENU MenuStyle="Mega2DNN" runat="server" NodeManipulator="RocketTools.DdrMenuInterface,RocketTools"
></dnn:MENU>
```
*NOTE: The NodeManipulator with call providers that have been defined in the settings of the Page Localiztion tool.*
var categoryData = (CategoryLimpet)Model.GetDataObject("categorydata");
### Menu Manipulator for RocketDirectoryAPI and wrapper systems
The DDRMenu in DNN can have the the page element changed to add the catalog structure to the menu.
**Create a Page with the name**
```
[CATDIR{#}]
```
for the multiple directory systems the name must have an appendix.
example:
```
[CATDIR1]
[CATDIR2]
```
**Linking the page to a system - MANDATORY**
Each category menu MUST be linked to a system. To link systems the systemkey is added to the page title.

**Define a Root Category for the menu to start on - OPTIONAL**
This is optional and if not defined the entire category will be displayed. If you need a menu to only show categories below a certain category then add the category REF value in the keywords input field.
### Menu Manipulator for RocketEcommerceAPI and wrapper systems
The DDRMenu in DNN can have the the page element changed to add the catalog structure to the menu.
**Create a Page with the name**
```
[CATDIR]
```
**Linking the page to a system - MANDATORY**
Each category menu MUST be linked to a system. Add "rocketecommerceapi" to the page title.
**Define a Root Category for the menu to start on - OPTIONAL**
This is optional and if not defined the entire category will be displayed. If you need a menu to only show categories below a certain category then add the category REF value in the keywords input field.
### 2. Setup Meta data control
Register the Meta.ascx control in the skin, this will alter the page Meta data, Title, Tag Words and
Description. It should be added after the default DNN "~/Admin/Skins/Meta.ascx" skin control.
```
<%@ Register TagPrefix="rocket" TagName="ROCKETTOOLSMETA" Src="~/DesktopModules/API/Meta.ascx" %>
<rocket:ROCKETTOOLSMETA runat="server" ID="ROCKETTOOLSMETA1" />
```
### 3. Setup BreadCrumb control (if required)**
The breadcrumb control is optional, if you don’t require a breadcrumb control this operation can be
skipped.
```
<%@ Register TagPrefix="rocket" TagName="ROCKETTOOLSBC" Src="~/DesktopModules/API/BreadCrumb.ascx" %>
<rocket:ROCKETTOOLSBC runat="server" ID="ROCKETTOOLSBC1" />
```
**Example:** [RocketW3 Skin](https://github.com/Rocket-CDS/RocketW3/blob/main/default.ascx)
## Copy Langauges
The copy languages functionality will copy annd the records for RocketContent to another language.

**NOTE: For RocketDirectory systems the copy langauge can be found in the Admin Panel of the system.**
## Menu, URL params, Style Helper
This functionality is an administration UI for AppTheme Settings and other advanced operations.
### Menu

This defines the menu provider that injects the categories into the menu, when required.
These settings should be automatically saved to the database when the AppTheme is selected. These settings are defined in the AppTheme dependancy file.
This UI allows for corrections or alterations without having to change the AppTheme.
**Example:** [products.dep](https://github.com/Rocket-CDS/AppThemes-W3-CSS/blob/main/rocketdirectoryapi.ProductsFood/1.0/dep/products.dep)
### URL params

This defines the URL parameters that are used to show the detail pages. This helps with SEO and providers a single URL for each item in the directory system.
These settings should be automatically saved to the database when the AppTheme is selected. These settings are defined in the AppTheme dependancy file.
This UI allows for corrections or alterations without having to change the AppTheme.
**NOTE: Caution should be taken to ensure you do not have the same URL parameter key for multiple systems.**
**Example:** [products.dep](https://github.com/Rocket-CDS/AppThemes-W3-CSS/blob/main/rocketdirectoryapi.ProductsFood/1.0/dep/products.dep)
### Style Helper (CSS Removal)

This functionality can remove unwanted CSS files from the page.
## Index
This option indexes ALL the portals and data for RocketContent and RocketDirectory systems into the DNN Search Index.
This is only needed if the DNN search results are being created for the first time after an import or if the search results have been corrupted in some way.
**NOTE: This may take time to reflect on the actual search results.**
*Data articles will automatically index on update, if the option for search indexing has been selected.
## Validate
A portal validate will be done for all portals.
This does a number of checking and fixing functions for the systems. Usually this will be done when problems are effecting the installations or if an import has been done.
It also clears all cache. During creation a number of cached files may be created, therefore it is good practise to run this option when moving a website from development to production.