There are a number of other edit capabilities under the Edit->Extended Edit menu.
Setting Metadata
For Folders you can recurse down the entry hierarchy and set the spatial and/or temporal bounds of each entry as the union of its children entry metadata. When applied the set of entries that have been changed will be shown:
images/extedit_metadata.png?version=936
Adding Aliases
Any entry can have one or more aliases, e.g., "mydata". When an entry has an alias then it can be accessed via:
https://yourramadda.org/repository/a/mydata
An alias is a property and can be added with the entry menu->Add Alias:
images/addalias1.png?version=936
Alternatively, you can go to entry menu->Add Property and select Add Alias under the Thumbnails, Page Style, Etc., section:
images/addalias2.png?version=936
If you have a number of entries that you want to add an alias for you can do that through the Extended Edit page:
images/addalias3.png?version=936
Scroll down to the "Add aliases for children entries" section and provide the template with the ${name} macro. The name will be a cleaned up version (lower case, no spaces, no special characters) of each entry name:
images/addalias4.png?version=936
Initially no aliases will be added. Select the entries you want an alias for and press "Add aliases to selected entries". If an entry already has an alias then no new alias will be added. If an entry exists somewhere else that has the same alias then the alias won't be added. You can always go and edit any of these aliases through the entry's Edit Properties section.
images/addalias5.png?version=936
Change Entry Type
The entry type of the entry you are editing can be changed.
Note: for entries that have special attributes (e.g., Project, Point Data) when you change the type to a different type the special attributes will be deleted.
Change Descendents Entry Type
You can also recurse down the folder tree and change the type of all entries that match the specified original entry type and/or a pattern that is matched on the name or the filename of the entry. Note: the pattern is a regular expression.
It is best to first see what entries would be changed. Then when satisfied check on the "Yes, change them" checkbox.
images/extedit_changetype.png?version=936
So, for example, you might have a folder that contains a set of plain File entries that you want to change to be a certain data type (e.g., Landsat Satellite Data). You would select "File" as the Old Type, Landsat Satellite data as the new type. If you had a number of File entries but not all are to be changed you can use the pattern (e.g., ".*.hdf") to match on the File entries that you want to change.
Change Descendents URL Path
You can recurse through the descendents and change the entries that have URLs.
images/extedit_urls.png?version=936
File Listing
The Generate File Listing will provide a summary of all of the files in the hierarchy. You can choose to only list entries that have a file that is missing or only list entries that are OK.
images/extedit_listing.png?version=936
Process with Javascript
This extended edit form allows you to specify some javascript that is called for each entry down through the entry hierarchy. This enables you to do complex changes across an entire tree of entries.

You can select whether to apply the javascript to the initial entry, the children of the initial entry or all descendents. Likewise, you can specify that only entries of a certain type are processed.

You need to check on the "Apply changes to entries" checkbox to have your changes actually applied.

The Help listing on the right are code snippets that, when clicked on, are added to the Javascript.
images/extedit_js.png?version=936
This can be Javascript code with if/else, looping etc. The ctx object is the context of the call and allows you to print a message when running, to pause for a given time, to stop processing or to cancel the processing.

e.g.:
if(entry.getName()=='') {	
     entry.setName('This entry has no name');
} else {
    ctx.print('entry has a name:' + entry.getName());
}
Basic Commands
These commands allow you to access and/or set the name, description, dates and location of the entry. For example, you can check if the name matches a certain pattern and then set the name to something else:
if (entry.getName().matches('.*Mining Issues.*')) {
    entry.setName('Some text:' + entry.getName());
    ctx.print('Processing: ' + entry.getName());
}
The entry.getChildren() returns a list of the entry's children entries. This list can then be iterated on:
var children = entry.getChildren();
for(var i=0;i<children.size();i++) {
     var child = children.get(i);
     ctx.print("Child:" + child.getName());
}
Metadata Commands
These commands allow you to access the columns of an entry and the attached metadata properties. For example, here we are accessing a column value "size" and setting it if it is 0.
var size = entry.getColumnValue('size');
if(size!=0) return;
size=22;
entry.setColumnValue('size',size);
ctx.print(entry.getName() +" size:" + size);
Here we check if the entry has metadata of a certain type. You can always list the available metadata types at - /repository/metadata/types.html
if(entry.hasMetadata('archive_note')) {
     ctx.print('Has metadata: '+ entry.getName());
}
Here we check if the entry has metadata of a certain type that also has a value of "History" for its first element.
if(entry.hasMetadata('archive_note','History')) {
     ctx.print('Has metadata: '+ entry.getName());
}
Here we are accessing the list of archive_note metadata with first value of "History"
var list = entry.findMetadata('archive_note','History');
ctx.print('Metadata count: '+ entry.getName() +' ' + list.size());
Here we are finding the list of metadata and deleting the elements.
As noted this will delete the metadata so it is best to click off the "Save changes to entries" checkbox first then evaluate the script to ensure it is doing what you intend
var list = entry.findMetadata('archive_note','History');
//Be careful because this will actually delete the metadata 
//if the Save changes to entries is checked
entry.deleteMetadata(list);
Image Commands
The image commands allow you to apply operations on the image (scale and grayscale) as well as generate a thumbnail image if one does not exist.
//Make a thumbnail and delete the existing one
if(entry.isImage()) {
     entry.makeThumbnail(true);
}
LLM Commands
If you have an LLM AI API configured (e.g., ChatGPT, Google Gemini, Anthropic Claude) you can use the following Extended Edit Javascript commands:
  entry.addLLMMetadata('metadata_type','prompt',check_if_exists)
metadata_type: The metadata type can be found by going to the Add Properties, looking for the type and looking at the form URL for metadata_type="the type"

prompt: The prompt has to be crafted to tell the LLM to only return the text that you desire for the metadata element. If there are multiple metadata elements specify that they should be separated by a semi-colon. You have to be stern sometimes. Something to the effect:
Extract no more than three keywords from the document. 
Only return the keywords in your response. Do not return anything else except the keyword.
If there are multiple keywords then they must be separated by a semi-colon ;
A good way of figuring out the prompt to use is to use the Document Chat facility on the entry. Go to the Entry Popup Menu and choose "Document Chat". This is an interactive facility where you can try out the prompt and see the result. Once you have a prompt that gives an acceptable result

check_if_exists: true or false. If true check if there already is a metadata on the entry. If there is do not add a new one.

For example there is a metadata type "tribe_name". The below call extracts the tribe name from the document
entry.addLLMMetadata('tribe_name',
'Extract the native american tribe names that are mentioned by  the document. Only return the tribe names in your response. Do not return anything else except the names. If there are multiple names  then they must be separated by a semi-colon ;',true)
Using LLM to add location
If you have an LLM AI API configured (e.g., ChatGPT, Google Gemini, Anthropic Claude) you can extract the geographic location (lat/lon) from a document with the command:
entry.addLLMGeo('')
The default prompt if one is not given is:
Give the latitude and longitude of the area that this document describes.
Just give the 2 numbers, nothing else. Give it in the form
<latitude>,<longitude>
Using search results
Normally, the extended edit is applied to an entry and its children entries. One way to apply an extended edit to search results is to use the Virtual Group entry type to add in explicit entries and/or search results. Then apply the extended edit to the Virtual Group entry.