RAMADDA's wiki text can display entries in numerous ways.
Specify Other Entries
Normally, all property tags refer to the current entry. However, another entry can be specified with the "entry" attribute, e.g:
{{information entry="some other entry id or an entry selection}}
The entry="..." can be:

  • The ID of an entry:
    {{name entry="some id"}}
  • The alias of an entry:
    {{name entry="some alias"}}
  • The entry itself - "this":
    {{name entry="this"}}
  • Its full path:
    {{name entry="/Top/.../entry name"}}
  • The parent entry:
    {{name entry="parent"}}
  • The parent of the parent entry:
    {{name entry="grandparent"}}
  • An entry linked to the entry. Either "link" to find the first one or to specify an entry type use "link:type:entry_type"
  • An ancestor entry of a particular type using "ancestor:".
    For example, if you wanted to display the links of the first ancestor of an entry of type "group":
    {{links entry="ancestor:type:group"}}
    

  • A child entry of an entry by prefixing the entry id with "child:". The entry id can then have a number of semi-colon separated specifiers for the form:
    {{image entry="child:entry:<another parent entry>;type:<entry type id>;orderby:<order>;ascending:true"  }}
    e.g.:
    {{image entry="child:entry:4b46e0c4-e5ac-4620-86e7-17c87c96de34;ascending:true"}}
    
    Where orderby can be any of the following:
    fromdate
    todate
    changedate
    createdate
    size
    type
    entryorder
    name
    number - extract a number from the name
    
  • You can select a grand child entry from the current entry with the prefix "grandchild:". The type and other specifiers are the same as for the child: prefix above.

  • An entry found through a search by prefixing the entryid with "search:" and specifying a number of search parameters. For example if you wanted to show a line chart of the latest entry of type "type_point_netcdf" you would specify:
    {{display_linechart entry="search:ascending:false;type:type_point_netcdf;"}}
    
    The "ascending:false" says to find the latest. If you wanted to find the earliest entry you would specify "ascending:true".

    If you wanted to only search under a certain entry (e.g, a collection of data files) you specify this with the "ancestor:" prefix:

    {{display_linechart entry="search:ancestor:some_entry_id;ascending:true;type:type_point_netcdf;"}}
    
Specify Multiple Entries
Many wiki tags (e.g., links) display a number of entries. The entries are specified with as a comma separated list of entry ids, aliases or entry selections.
{{links entries="entryid1,entryid2,entry selection,..."}}
There are many ways to specify what entries are being used. Here is an export of a collection of folders and files that demonstrate various entry selections. Import it into your RAMADDA and view the page source.
  • this - the current entry
    {{links entries="entryid1,this"}}
  • children - the children entry
    {{links entries="children"}}
  • grandchildren - the grandchildren entries
    {{links entries="grandchildren"}}
  • greatgrandchildren - the great-grandchildren entries
    {{links entries="greatgrandchildren"}}
  • parent - the parent entry
    {{links entries="parent,..."}}
  • grandparent - the grandparent entry
    {{links entries="grandparent,..."}}
  • ancestors - the ancestors up to the top-level entry
    {{links entries="ancestors"}}
  • siblings - the sibling entries
    {{links entries="siblings"}}
  • links - the associated or linked entries
  • search - search the entire repository. The search terms are defined as attributes and described below.
Some examples:
  • Search for all entries of "some type" order by date ascending:
     {{tabletree  entries="search:type:<some type>;orderby:date;ascending:true" }}
  • Search for entries rooted at the hierarchy of the current entry:
    {{links entries="search:ancestor:this;orderby:size;max:5"}}
  • Search under this for name=Folder:
    {{links entries="search:ancestor:this;name:Folder"}}
  • Search under this for text=foobar:
    {{links entries="search:ancestor:this;text:foobar"}}
  • Search under this for files size>10 <1000:
    {{links entries="search:ancestor:this;sizemin:10;sizemax:1000"}}
  • Name of the Folder 1 child of Folders:
    {{name entry="child:entry:<some entry id>;orderby:name;ascending:true;" }}
  • Name of the parent Folder of the Folders folder (this one):
    {{name entry="parent:entry:<some entry id>" }}
  • CSV children of folder1, orderby size smallest to biggest:
    {{links entries="children:entry:<some entry id>;type:type_document_csv;orderby:size;ascending:true"}}
  • CSV children of folder1, orderby size, biggest to smallest:
    {{links entries="children:entry:<some entry id>;type:type_document_csv;orderby:size;ascending:false"}}
  • CSV children of folder1, orderby size, biggest to smallest, followed by the children of the folders entry
    {{links entries="children:entry:<some entry id>;type:type_document_csv;orderby:size;ascending:false,children:entry:<some entry id>"}}
  • Grandchildren, name ascending:
    {{links entries="grandchildren:orderby:name;ascending:true"}}
  • Grandchildren, name ascending, using entry:this
    {{links entries="grandchildren:entry:this;orderby:name;ascending:true"}}
  • Grandchildren, name descending:
    {{links entries="grandchildren:orderby:name;ascending:false"}}
  • Grandchildren, name ascending, max=2:
    {{links entries="grandchildren:orderby:name;ascending:true;max:2"}}
  • Great Grandchildren, orderby name
    {{links entries="greatgrandchildren:orderby:name;ascending:true;"}}
  • Ancestors of file 1
    {{links entries="ancestors:entry:<some entry id>;"}}
Alias tag
The alias tag allows you to specify some entry and associate it with an alias. You can then refer to that alias in subsequent wiki tags. For example, if you wanted to search for a particular entry type then display it as a chart later you could do:
{{alias name=someentry entry="search:descendent:this;ascending:;type:type_point_netcdf;"}}
{{display_linechart entry=someentry}}

Search for entries

When using the term "search" when specifying entries you can specify the following search attributes.
  • search.text="text to search"
  • search.type="entry type"
  • search.bbox="north,west,south,east" spatial bounds
  • search.group="parent entry id" or "this" for the current entry
  • search.filesuffix="file suffix"
  • search.datadate.from="from date"
  • search.datadate.to="to date"
  • search.datadate.relative="relative date, e.g., -3 days, -12 hours, -1 week"
  • search.createdate.from="from date"
  • search.createdate.to="to date"
  • search.createdate.relative="relative date, e.g., -3 days, -12 hours, -1 week"
  • search.changedate.from="from date"
  • search.changedate.to="to date"
  • search.changedate.relative="relative date, e.g., -3 days, -12 hours, -1 week"

Here are some examples:

Find all entries with text 'climate':

{{tree search.text="climate" entries="search"}}
Find all entries with file suffix 'pdf' that have been created in the last 2 days:
{{tree search.suffix="pdf" search.createdate.relative="-2 days" entries="search"}}

Filtering Entries

You can filter what entries to use with entries.filter, e.g.:
entries.filter=file|folder|image|type:some type|geo|suffix:file suffixes
If you specify suffix:file suffixes then this will only match entries that have files with the given suffix. This can be a comma separated list of suffixes, e.g.:
entries.filter="suffix:.ppt,.pptx,.pdf" 
Or negate them with "!":
entries.filter=!file|!folder|!image|!type:some type|!geo
So, you could show all of the georeferenced entries in a map and all of the non-georeferenced entries in a list:
{{map  message="" prefix="==Map=="}}

{{tree message="" prefix="==Non georeferenced entries==" entries.filter="!geo"}}
Date Ranges
Using the following attributes you can filter entries based on their date. You can specify a from date, a to date or both. The absolute dates should be of the form "yyyy-MM-dd hh:mm". The relative dates are either relative to the other date (if given) or the current time. Relative dates are of the form "+|- minute|hour|day|week|month|year"
entries.fromDate="absolute or relative date"
entries.toDate="absolute or relative date"
e.g.:
entries.fromDate="2021-06-01 12:32"
or:
entries.fromDate="-1 week"
or:
entries.fromDate="-2 weeks"
or:
entries.fromDate="2 weeks"
or:
entries.toDate="2 months"
or:
entries.toDate="4 years"        
Property tag
The property tag supports defining an attribute property that is shared by all tags in the page.
{{property "some name"="some value" "some other name"="some other value"}}
For example, if you are creating a wiki page full of charts (e.g., here) that refer to another point data entry for their data then you use the property like, e.g.:
{{property entry="9b2f87fc-91f2-485c-8035-7ef588c35fda"}}
Message attribute
Some of the tags can result in an error message (e.g., image not found, entry not found, etc). You can specify a different message (or blank) with message attribute:
{{someproperty message="some message"}}
For example, you can set up a wiki template that shows an image attachment and a list of entries in a sub-folder called "Links". If you used the below wiki text then you would see displayed "Could not find image" and "Could not find entry" error messages.
{{image src="::*"}}
{{links entry="Links"}}
If, however, you specify a blank message then nothing will be shown:
{{image src="::*" message=""}}
{{links entry="Links" message=""}}
Prefix/Suffix
You can specify prefix and suffix attributes that are only used if the tag was successful. So for example you could specify a heading for the links:
{{links entry="Links" message="" prefix="Here are the links:<br>"}}
This would only show when there is a Links sub-folder.
Virtual Groups
RAMADDA provides a "Virtual Group" entry type. This acts as a Folder except a set of entry IDs or searches can be specified. There are a number of examples available here. The Entry IDs field of the Virtual Group can be a list of specific entries, e.g.:
67259186-574e-4453-a2af-969e1cf658c8
f5ccdc47-62f7-481a-b67d-bf76e5b34359
...
If an entry id has a "+" prefix then the children entries of the specified entry is used
+67259186-574e-4453-a2af-969e1cf658c8
+f5ccdc47-62f7-481a-b67d-bf76e5b34359
...
You can also specify a search. This is a set of search terms followed by "search". You can specify text to search for, the entry type, spatial bounds and date based search.
search.text=text to search
search.type=entry type
search.bbox=north,west,south,east  
search.createdate.relative=-1 day
search
Linking
Normally in a wiki a link to another page is of the form:
[[Page name]]
In RAMADDA you can use the name of another entry to create the link. You can use the Add entry link menu to select an entry. This produces wiki text of the form:
[[entry id|Label to show for link]]
e.g.:
[[7ca13e52-8efb-4d17-863f-e17027dbcc22|Earthquake data]]
You can also just specify an entry by name. Either an absolute path:
[[Top entry/Some other entry]]
Or relative to the wiki entry:
[[Some entry]]
You can also set the output type for an entry using the hashtag (#) symbol after the entry id:
[[7ca13e52-8efb-4d17-863f-e17027dbcc22#html.table|Earthquake data as a table]]
which will override the default display. If the entry with the given name does not exist then the link will take one to the create entry form.
Wiki Properties
You can also import content from the current Wiki Page entry or any other entry with the import syntax:
{{<property>  <name="value" pairs>}}
e.g., if we wanted to show the information tabs for an entry we'd do:
{{information}}
Which gives us:
images/wikiinformation.png?version=623