This commit is contained in:
2022-01-18 16:31:16 +00:00
parent ca48422ad3
commit 6969d9726b
10 changed files with 105 additions and 39 deletions

View File

@@ -10,7 +10,7 @@ This extension is available to User's with delete rights to the business object:
The delete extension is accessed from the [extensions](ay-exentions.md) menu item in business object data tables.
## How the delete extension works
## How the Delete extension works
AyaNova will attempt to delete all selected items and will report back if any were not able to be deleted.

View File

@@ -1,22 +1,33 @@
# EXPORT EXTENSION
# Export extension
The Export extension can be used to export selected records from AyaNova.
## Authorization Roles required
This extension is available to User's with full read rights to the business object:
## How to access
The Export extension is accessed from the [extensions](ay-exentions.md) menu item in business object data tables.
## How the Export extension works
Data is exported exactly as it's stored at the sever, there are no locale conversions made.
Formats available are .json and .csv (comma separated values).
## JSON
### JSON
JSON is most appropriate for preserving the original structure of the data being exported and a good "round trip" format as it's most compatible with importing back into AyaNova. JSON format is becoming more widely accepted and you should choose this format where possible. There are also numerous conversion utilities and online sites if you need your data in another format from JSON.
## CSV
### CSV
.csv is more widely compatible with 3rd party applications than JSON but CSV is a "flat" file format that will lose some of the structure of the source data so some adaptations need to be made to the data during export and it may not be directly importable back into AyaNova again.
.csv is more widely compatible with 3rd party applications than JSON but CSV is a "flat" file format that will lose some of the structure of the source data so some adaptations need to be made to the data during export and it will not be directly importable back into AyaNova again.
## Time zone is in UTC
### Time zone is in UTC
Dates and times are exported in UTC / GMT time zone directly as they are stored at the server.
## Timeouts during export
### Timeouts during export
Exporting data shares the same data gathering code as report rendering and the same [AYANOVA_REPORT_RENDERING_TIMEOUT](ops-config-report-rendering-timeout.md) timeout setting applies to exporting data.

View File

@@ -1,16 +1,25 @@
# TAGS EXTENSION
# Tags extension
The Tags extension can be used to make batch changes to selected item's Tags collection.
## Select
Extensions work with selected items from data tables. Use the checkbox in the first column to make selections. If no checkbox column is available that means either the currently logged in user doesn't have rights to make batch changes or that particular data table doesn't support batch changes.
## Authorization Roles required
## Add
Add a single tag to all selected objects. Note that you can enter a single tag at a time, this extension does not currently support multiple tags at once
This extension is available to User's with read / write editing rights to the business object:
## How to access
The Tags extension is accessed from the [extensions](ay-exentions.md) menu item in business object data tables.
## How the Tags extension works
### Add
Add a single tag to all selected objects. Note that you can enter a single tag at a time, this extension does not currently support multiple tags at once
### Change
## Change
Replace a single tag with a new tag on all selected objects.
## Remove
Remove a matching tag from all selected objects.
### Remove
Remove a matching tag from all selected objects.

View File

@@ -1,3 +1,54 @@
# Extensions
#b4beta
todo: general doc about extensions with links to each one
Extensions provide a way to perform a bulk operation over multiple business objects at once, for example mass deleting selected objects or tagging them.
## Authorization Roles required
Extensions require the same rights as would be required to perform the operation manually that the extension automates. For example, if an extension is used to delete records in bulk the User must have the right to delete a single record manually.
## How to access Extensions
Extensions are accessed from the extensions menu in any form that shows a list of business objects that are extendable.
![extensions menu item](img/form-menu-extensions.png)
## How extensions work
Extensions operate over the entire data table or individually selected rows in the data table.
### Selecting objects
You can run an extension operation on all records in a [data table](ay-start-form-data-tables.md) or individually selected records the same way that [reporting](ay-report.md) works.
[Filtering](ay-start-form-data-tables.md#filtering-columns) the data table can be used to reduce the records to a specific set of rows will be sent to the extension for processing; what is available in the data table is what is sent to the extension.
If no rows are indivdidually selected then all rows available to be viewed in the data table are processed regardless of which page you are viewing at the moment in the data table, all rows in the total row count will be processed. For example if you are viewing page 2 of 20 pages of rows available, ; all 20 pages of rows will be sent to the extension.
When no rows are selected the current filtering and sorting choices are sent to the server **not** the actual record id's. This means the server must 're-hydrate' the same view you are seeing in the web app based on the filtering and sorting choices which means it's possible new records which meet the filter condition were added in the time between the data table being fetched and the server re-hydrating the list to process an extension.
For this reason it's a good idea to refresh the data table and confirm it's the records you intend to process before running the extension on all rows in the data table view or select individual records only depending on what is most appropriate.
[Selecting](ay-start-form-data-tables.md#selecting-records) individual records limits the extension operation to only the selected rows.
Individual records can be selected for processing by checking the checkboxes in the leftmost column when available in which case only the records selected will be processed.
### Confirming selected items
The Extensions control shows exactly how many records it will operate on and you should check this before starting the extension operation to be certain it will work with the number of records expected:
![extensions selected items](img/extensions-selected-items.png)
If no individual items are selected then it will display "All items in the list" indicating there are no specific selections.
### Running the extension
The Extensions control will display all available extensions for the type of business object and rights available:
![extensions ui](img/extensions-ui.png)
Click on the extension you want to apply against the selected items to open that extension's user interface and initiate the extension.
Extensions run as a [Job](ops-jobs.md) at the server, so when you start an extension it is submitted to the server and placed in the job queue for execution.
When the server reaches the extension job in the queue it will submit that job to the individual business object handler to be processed and will return the results when completed.
The extension control will keep rechecking with the server until it's signalled that the job is completed or failed and will display a status notification.

View File

@@ -1,6 +1,8 @@
# Report viewer form placeholder
#b4beta (what is this exactly and where is it linked from, does it need to be fleshed out, if it's how to use the report rendering then yes and include screnshots before beta)
#b4beta
( it's how to use the report rendering then yes and include screnshots before beta)
Report viewer, overview, how to use, link to report designer topics etc

View File

@@ -28,14 +28,6 @@ This menu item shows the name of the last report rendered in this form to save t
[Extensions](ay-extensions.md) provide a way to perform an operation of some kind over multiple records at once, for example mass deleting selected records or tagging them.
The Extensions menu item works with data selected similarly to how reporting works:
[Filtering](#filtering-columns) affects which records will be sent to the extension for processing; what is available in the data table is what is sent to the extension.
So, for example, if you filter to a specific sub-set of records only those records will be processed by the extension.
Individual records can be selected for processing by checking the checkboxes in the leftmost column when available in which case only the records selected will be processed.
#### Search
The search menu item links to the [search form](home-search.md) and automatically causes the search form to only show results for the type of object that was being viewed in the data table before clicking search. For example if you are viewing a Customers data table then clicking on search will automatically select `Customer` as the only type to search for.
@@ -121,9 +113,13 @@ Column headers not only display the name of that column but also provide control
Column header names are designed to wrap around in cases where they would not all fit horizontally to ensure as much data as possible can be displayed on all screen sizes.
#### Checkbox record selection column
#### Selecting records
In most tables the leftmost column consists of checkboxes for selecting individual records. The checkbox selection column header can be used to select or deselect all visible records in the display.
In many data tables records can be selected individually for [reporting](ay-report.md) or [extension](ay-extensions.md) purposes:
![selecting object](img/form-data-table-selecting-records.png)
In most tables the leftmost column consists of checkboxes for selecting individual rows of records. The checkbox selection column header can be used to select or deselect all visible records in the display.
Note that this **selects** _visible_ records only so if you are viewing 10 records at a time but there are 100 only the 10 visible records will be selected. However it **de-selects** _all_ previously selected records regardless of whether they are visible or not.
@@ -131,11 +127,11 @@ This is by design to allow a user to make selecting subsets of records easier bu
#### Sorting columns
Columns are sorted by clicking on their names to toggle their sort mode betwen ascending, descending or unsorted. The column headers will display an arrow indicating the sort direction and a number indicating the order they were selected which affects the data returned:
Columns are sorted by clicking on their names to toggle their sort mode betwen ascending, descending or unsorted. The column headers will display an arrow indicating the sort direction and a number indicating the order they were selected which affects the data returned:
![data table sort](img/form-data-table-sort.png)
In this example it can be seen that the data has been sorted by the Customer Name column *first* in *ascending* order indicated by the number 1 beside a downward pointing arrow sort indicator and then sorted by the work order column *secondarily* in *descending* order indicated by the number 2 beside an upward pointing arrow sort indicator.
In this example it can be seen that the data has been sorted by the Customer Name column _first_ in _ascending_ order indicated by the number 1 beside a downward pointing arrow sort indicator and then sorted by the work order column _secondarily_ in _descending_ order indicated by the number 2 beside an upward pointing arrow sort indicator.
This results in a list ordered by customer name first from a to z then by work order number from highest to lowest.
@@ -145,7 +141,7 @@ The column position does not affect the sort order only the selection made.
##### Sorting on Type fields
Type fields can not be sorted in alphabetical order as they do not have a Name stored in the database, only a number. They sort by the underlying internal numerical value that indicates that particular type. This means you will see the column is sorted with identical types grouped together, however the displayed translated text representing these types is not sorted alphabetically. Type fields have square brackets around their translated display names in the column to indicate they are a type rather than a text field.
Type fields can not be sorted in alphabetical order as they do not have a Name stored in the database, only a number. They sort by the underlying internal numerical value that indicates that particular type. This means you will see the column is sorted with identical types grouped together, however the displayed translated text representing these types is not sorted alphabetically. Type fields have square brackets around their translated display names in the column to indicate they are a type rather than a text field.
#### Filtering columns
@@ -155,17 +151,17 @@ This will open the filter dialog where a filter can be set or edited:
![filter example](img/form-data-table-filter-dialog-new.png)
In the example above a new filter is being applied to the `Customer` column indicated in the name at the top. This filter will cause the data table to show only customers who have a Name that start with "J", "K" or "L".
In the example above a new filter is being applied to the `Customer` column indicated in the name at the top. This filter will cause the data table to show only customers who have a Name that start with "J", "K" or "L".
As seen in the example more than one filter can be applied in a single filter to include or exclude records and you can choose an `AND` type filter that returns only data that matches *all* filters entered or an `OR` type filter that will return data that matches *any* of the items in the filter list.
As seen in the example more than one filter can be applied in a single filter to include or exclude records and you can choose an `AND` type filter that returns only data that matches _all_ filters entered or an `OR` type filter that will return data that matches _any_ of the items in the filter list.
Filters are created by first selecting a type of filter from the "Filter" selection list. The types of filters offered vary depending upon the type of data in that particular column.
Filters are created by first selecting a type of filter from the "Filter" selection list. The types of filters offered vary depending upon the type of data in that particular column.
Some filters require a Value to be entered and others do not. If the filter requires a value one or more controls will appear below the filter selection and a value must be entered for that type of filter.
For example a date based column filter has pre-selected date ranges available such as "Last year" and those do not require a value, however you can also select a Before filter which does require a date to be entered.
Once your filter selection is made click on the `+` add button to make it official. If you click on `save` before clicking on `+` add the filter will *not* include your selection.
Once your filter selection is made click on the `+` add button to make it official. If you click on `save` before clicking on `+` add the filter will _not_ include your selection.
To remove a filter from a column or edit it click on the column filter icon again and either remove or adjust the items in the filter or select delete to remove them entirely.
@@ -173,14 +169,12 @@ Once you have your filters selected how you like them you can save all the filte
##### Case sensitivity
Text filters will be affected by the [filtering is case sensitive](adm-global-settings.md#filtering-is-case-sensitive) global administration setting. The default is for them to *not* be case sensitive.
Text filters will be affected by the [filtering is case sensitive](adm-global-settings.md#filtering-is-case-sensitive) global administration setting. The default is for them to _not_ be case sensitive.
##### Filtering dates
When viewing data in AyaNova that is filtered with one of the relative date filters (for example a filter of "TODAY"), this time zone setting is taken into account in order to ensure that the user sees data appropriate to _their time zone_. This means that two people with browsers in different time zones using a filter of TODAY for a date field may see different list of results from each other.
##### Filtering TAGS
All tags are lower case always, case is not relevant in Tag filters.
@@ -216,4 +210,3 @@ e.g. {red,green,blue} will return records with tags {green,red,blue} and also {r
All terms in search query _NOT_ present in db record, doesn't care what else is in db record as long as it's not the search terms (order insensitive)
e.g. {red,green,blue} will not return records with tags {green,red,blue} and also not return {red,green,blue,orange} but would return {red,green,black}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB