The Virtual Group entry type acts like a group. This entry type can have any number of its own children entries but also can have other entries virtually. These entries can be specified explicitly, can be defined with search criteria or even can reference entries in other external RAMADDA servers. For example, on the Examples page on ramadda.org this entry type is used to list the latest examples.
The Basics
When editing a Virtual Group there is a list of Entry IDs. This can hold individual entry IDs or aliases, one per line. Comment out a line with "#".
images/virtual1.png?version=616
One can also include the children of another entry with:
children:<other entry id>
Specifying Search Criteria
The Entry IDs can also contain search criteria. The parameters of the search are specified one per line and the search is evaluated when seeing the term "search" on a single line. For example, below is the specification to search for any entry with the text "foobar":
search.text=foobar
search
Here we are doing the same search but only using 3 entries:
search.text=foobar
search.max=3
search
To order the search, e.g., getting the most recent 5 entries do:
search.text=foobar
search.orderby=createdate
search.ascending=false
search.max=5
search
Multiple searches can be done:
search.text=foo
search.max=3
search

search.text=bar
search.max=10
search
Here we are searching for entries with the text "foobar" in the name:
search.text=name:foobar
search
For example, below specified to search for the entry type "type_point_snotel" within the given NWSE bounding box:
search.type=type_point_snotel
search.bbox=46.218091,-113.484429,42.218091,-109.484429
search
Below we are searching under two entries for the children of the entries, sorting the list of entries and only using the first 42 entries. The entries with IDs some_entry_id and some_other_entry_id are being excluded.
search.group=2705cd9a-3d51-41be-86eb-c624506093ea| 5f2234d6-6332-441f-8bab-0076a8cc4d95
search.max=42
search.orderby=createdate
search.ascending=false
search
Any entries can be excluded with:
not:some_entry_id
not:some_other_entry_id
Referencing Remote Entries
Entries on other external RAMADDAs can also be incorporated by prefacing the line with "remote:"
#This references a single entry
remote:https://ramadda.org/repository/entry/show?entryid=2f7211e9-e5a9-4a73-8a47-fb079764be26

#This references a single entry with its alias
remote:https://sdn.ramadda.org/repository/a/aihec

To do a search for a particular type on a remote RAMADDA go to that RAMADDA and do the entry type based search, e.g. for "CR1000 Data Logger" entries. Specify any search criteria, e.g. order by Create Data and get at most 5. Then open up the More... and copy the RAMADDA XML Export link:
images/virtual2.png?version=616
Now go to your Virtual Group entry and enter the link on a line with the prefix "remote:search:", e.g.:
remote:search:https://ramadda.org/repository/search/type/type_point_cr1000?datadate.mode=overlaps&datadate.relative=none&max=5&orderby=createdate&search.submit=Search&type=type_point_cr1000&output=xml.xml
If you want to do a regular search (i.e., through the default Search form) go to that remote RAMADDA and enter your search, e.g. for "foobar":
images/virtual3.png?version=616
Now, at the bottom of the form you can copy the full search link with the link or view the full search link in your browser then copy the URL with the link. Then go to your own RAMADDA and under the Entry Ids add the search link, e.g.:
remote:search:https://ramadda.org/repository/search/do?text=foobar&search.submit=Search&search.submit=search.submit&output=default.html&orderby=none&datadate.mode=overlaps&datadate.relative=none&createdate.relative=none&changedate.relative=none&areamode=overlaps&provider=this