This commit is contained in:
@@ -19,6 +19,12 @@ When a business object is saved the AyaNova server indexes text and other unique
|
||||
|
||||
In order for a word to be indexed for searching it must be 2 to 255 characters long and not be a "Stop word".
|
||||
|
||||
All text in the business object is indexed including Addresses, phone numbers, email and web addresses, Tags, Wiki and custom fields. The _contents_ of file Attachments are _not_ indexed for searching and can not be searched for, however the name and notes are indexed for searching. (Attachments can also be viewed in a central list of all attachments in the [administration attachments](adm-attachments.md))
|
||||
|
||||
#### Numbers
|
||||
|
||||
In some cases numbers are indexed but only if they are unique and directly useful for finding an object, for example Work order serial numbers or Unit meter readings. Currency values are _never_ indexed as they are not typically useful for searching, change often and would take a significant amount of database space to index them all.
|
||||
|
||||
### Stop words
|
||||
|
||||
Stop words are words that are so common in each language that there is little point in indexing them for search purposes as they are not useful for uniquely identifying records. For example, in English some common stop words are `so` `to` `the` `be` `else` `did` `than` `that` `of` `only`.
|
||||
@@ -27,28 +33,48 @@ AyaNova keeps a list of the most common stop words for each provided [Translatio
|
||||
|
||||
While we do not recommend it except in specific exceptional circumstances, it is possible to view the list of stop words and even add your own or remove any that need to be indexed for your business by examining and editing the "StopWords\*" keys in the translation form for the translations in use by your users.
|
||||
|
||||
### Searching
|
||||
### Searching
|
||||
|
||||
#### Seach phrase
|
||||
To search for a word or phrase enter terms into the `Search` text input control.
|
||||
#### Seach terms
|
||||
|
||||
A search phrase can be
|
||||
To search for a word or phrase enter one or more search terms into the `Search` text input control.
|
||||
|
||||
#### Case sensitivity
|
||||
Search terms are one or more words separated by spaces. Each search term word must be 2 to 255 characters in length. Shorter or longer words will be ignored.
|
||||
|
||||
A search phrase can be entire words to match exactly or wildcard terms.
|
||||
|
||||
##### Wildcard terms
|
||||
|
||||
The `*` asterisk wildcard character can be used in a search term to search for words that begin with, end with or contain a portion of a word.
|
||||
|
||||
Begins with searches look like this `mon*` which would match "monday", "Montana", "mongoose" etc.
|
||||
Ends with searches look like this `*ay` which would match with "sunday", "tray", "spray" etc.
|
||||
Contains searches look like this `*oul*` which would match with "would", "boulder", "outlook", "soul" etc. (Note that contains can match starts and ends as well as contained within words)
|
||||
|
||||
You can use multiple wildcard terms and mix and match with non-wildcard terms so, for example this is a valid search phrase: `*att* rain blue *spa ors*`.
|
||||
|
||||
##### Inclusive "AND" results only
|
||||
|
||||
Imagine search terms have the word AND between them so searching for "flush drain deburr" is the equivalent of asking for records that contain _all_ the words "flush AND drain AND deburr" somewhere in them (they don't have to be in consecutive order or even in the same field of the business object to match).
|
||||
|
||||
Only results that contain _all_ the search terms entered will be matched and returned so if you search for "unit wire blue" a record that contains unit and wire but not blue will not be returned.
|
||||
|
||||
##### Case sensitivity
|
||||
|
||||
By default AyaNova search is case **in**-sensitive. Case insensitive searching is influenced by the [server locale settings](ops-server-locale.md)
|
||||
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
##### All fields are combined
|
||||
|
||||
Explain search phrase entry, stopwords etc
|
||||
When indexing and searching _all_ fields are searched at the same time so, for example you can enter the search phrase "Awesome possum" and it will match to a Customer with the Name "Amy's Awesome pets" and the Notes "mind the possum" even though the entire search phrase is not in the same field.
|
||||
|
||||
Searches are contains by default, case insensitive always.
|
||||
Wildcards are supported for start and end of words but no point in doing both ends for contains as that is the default
|
||||
multiple space seperated phrases are supported and are always inclusive (AND), i.e. "cotton fish" finds only records with both cotton and fish in them
|
||||
#### Object filter
|
||||
|
||||
All text on object is search indexed including tags.
|
||||
In cases where there is a identifying number on an object such as an ID or serial number that is also indexed for search, however currency amounts are not indexed
|
||||
The `Object` select list can be used to only search for an exact type of object. When you come to the Search form via the Search menu option in a specific AyaNova object, the `Object` select list is automatically set to the type of object you came from.
|
||||
|
||||
To save bandwidth excerpts are not automatically retrieved but only on demand when user requests for a search result
|
||||
You can change this to any type of object by selecting the `-` or no selection option.
|
||||
|
||||
There is no facility or setting to search case sensitive, it's just not an option with text indexing we have and differs from picklist which does have a server setting to control that.
|
||||
### Results list
|
||||
|
||||
The search results list contains the records that were found to match the search phrase.
|
||||
|
||||
They are grouped by type of object and list the object name which is a hyperlink to open that object and an information (i) icon which when clicked on will retrieve a short excerpt including the best matching text of the record so you can see if it's the one you want without opening it.
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
# TWO-FACTOR AUTHENTICATION
|
||||
# Two-factor authentication
|
||||
|
||||
## About
|
||||
AyaNova supports Two-Factor authentication ("TFA") as an additional security measure for any User account. The first "factor" in TFA is the user name and password as normal, the second "factor" is a 6 digit passcode that changes every 30 seconds and is unique for every AyaNova User.
|
||||
|
||||
AyaNova supports Two-Factor authentication ("TFA") as an additional security measure for any User account. The first "factor" in TFA is the user name and password as normal, the second "factor" is a 6 digit passcode that changes every 30 seconds and is unique for every AyaNova User. Passcodes are generated in an App running on a device that you "link" to your AyaNova account via the. Enabling TFA means that even if a login name and password were to be accidentally exposed a malicious user would still not be able to login unless they had that User's device with their TFA authentication app available. We strongly recommend all users enable TFA, including and specifically the SuperUser account.
|
||||
Passcodes are generated in a 3rd party TFA App running on a device that you "link" to your AyaNova account.
|
||||
|
||||
Enabling TFA means that even if a login name and password were to be accidentally exposed a malicious user would still not be able to login unless they had that User's device with their TFA authentication app available. We strongly recommend all users enable TFA, including and specifically the SuperUser account.
|
||||
|
||||
## Enabling TFA
|
||||
|
||||
Two-Factor Authentication is enabled from the "Two Factor Authentication" menu option in the form `Home -> User Settings` menu.
|
||||
Due to the nature of TFA it is not possible for an Administrator to set this up on behalf of a User, it must be done logged in *as* the User account with their device containing their TFA authentication App in hand.
|
||||
Due to the nature of TFA it is not possible for an Administrator to set this up on behalf of a User, it must be done logged in _as_ the User account with their device containing their TFA authentication App in hand.
|
||||
|
||||
## Disabling TFA
|
||||
|
||||
Two-Factor Authentication is disabled by the user from the "Two Factor Authentication" menu option in the form `Home -> User Settings` menu.
|
||||
A User with rights to edit other User accounts can disable TFA for any User from the `Adminstration -> User` edit form's menu.
|
||||
|
||||
|
||||
## TFA Apps
|
||||
|
||||
There are many Two-Factor Authentication apps freely available for all device types. Here are some that have been tested with AyaNova specfically:
|
||||
|
||||
* [DUO](https://duo.com/product/multi-factor-authentication-mfa/duo-mobile-app)
|
||||
* [Google Authenticator for IOS](https://apps.apple.com/us/app/google-authenticator/id388497605)
|
||||
* [Google Authenticator for Android](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2)
|
||||
* [Microsoft Authenticator (IOS / Android)](https://www.microsoft.com/en-us/account/authenticator)
|
||||
* [Authy](https://authy.com/)
|
||||
There are many Two-Factor Authentication apps freely available for all device types. Here are some that have been tested with AyaNova specfically:
|
||||
|
||||
- [DUO](https://duo.com/product/multi-factor-authentication-mfa/duo-mobile-app)
|
||||
- [Google Authenticator for IOS](https://apps.apple.com/us/app/google-authenticator/id388497605)
|
||||
- [Google Authenticator for Android](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2)
|
||||
- [Microsoft Authenticator (IOS / Android)](https://www.microsoft.com/en-us/account/authenticator)
|
||||
- [Authy](https://authy.com/)
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# USER SETTINGS
|
||||
# User settings
|
||||
|
||||
This form controls various settings for the currently logged in User.
|
||||
This form controls various settings for the currently logged in User and is available to all users.
|
||||
|
||||
Administrators can also modify these settings on behalf of a User in the [User administration form](adm-users.md).
|
||||
|
||||
## Dark mode
|
||||
|
||||
@@ -29,7 +31,7 @@ Several online mapping providers are provided for selection in the drop down box
|
||||
|
||||
You can also enter any url you wish in this field for specific needs not covered by the defaults.
|
||||
|
||||
### map url format
|
||||
### Map url format
|
||||
|
||||
AyaNova expects one or two url's per provider separated with the following special sequence of characters: `<|>` to separate urls if there are two.
|
||||
|
||||
|
||||
@@ -1,3 +1,179 @@
|
||||
# INV-TRANSACTIONS Placeholder
|
||||
# Inventory transactions
|
||||
|
||||
[UNDER CONSTRUCTION]
|
||||
The Inventory transactions data table and edit form are used to view past inventory transactions and manually adjust inventory levels.
|
||||
|
||||
## Authorization Roles required
|
||||
|
||||
This form is available to User's with the following [roles](ay-biz-admin-roles.md):
|
||||
|
||||
Full access
|
||||
|
||||
- Accounting
|
||||
- Business administration
|
||||
- Inventory
|
||||
|
||||
Read only access
|
||||
|
||||
- Business administration - restricted
|
||||
- Inventory - restricted
|
||||
- Service manager
|
||||
- Service manager - restricted
|
||||
|
||||
## How to access inventory transactions
|
||||
|
||||
Inventory transactions are accessed in the following ways:
|
||||
|
||||
- From the `Inventory` navigation pane `Inventory transactions` item to open the Inventory transactions [data table](ay-start-form-data-tables.md)
|
||||
|
||||
## How inventory works
|
||||
|
||||
Inventory in AyaNova is "live" and affected instantly when a PO or Work Order are saved with any _changes_ of the Received or consumed quantity (respectively) for a part. This means that when you receive 10 parts on a PO they will be available for use immediately on work orders etc. If the PO is then edited to change the 10 to a 5, the inventory is immediately updated to remove the 5 that are now not received.
|
||||
|
||||
If a work order consumes a quantity of 5 for a part and is saved that amount is _immediately_ removed from inventory. If the work order is subsequently edited to change the 5 to a 3 then a quantity of 2 is immediately returned to inventory upon saving the changed work order.
|
||||
|
||||
All inventory changes are tracked by writing transaction data into a [blockchain](https://en.wikipedia.org/wiki/Blockchain) inside the AyaNova database and this block chain is displayed in the Inventory transactions data table. Inventory transactions are required for any change of inventory and the inventory transaction blockchain is the only repository for inventory quantities in AyaNova.
|
||||
|
||||
Transactions that affect inventory are only ever written into the blockchain as new records appended to the end of the chain. Prior transactions are never removed or adjusted to record an inventory transaction. This gives a full and complete history of all inventory changes that were made and protects the integrity of the inventory balance system.
|
||||
|
||||
AyaNova 8 does not permit negative on hand inventory values to exist, every part consumed must have a quantity of on-hand inventory to back it up or it's not allowed to be saved.
|
||||
|
||||
The only sources for inventory changes in AyaNova are inventory transactions, [work orders](svc-workorders.md) and [purchase orders](inv-purchase-orders.md).
|
||||
|
||||
### Inventory is optional
|
||||
|
||||
AyaNova does not *require* the use of inventory, if it is not something required for your business you can turn off inventory completely in the [global settings form](adm-global-settings.md#use-inventory)
|
||||
|
||||
|
||||
## Inventory transactions data table
|
||||
|
||||
The Inventory transactions [data table](ay-start-form-data-tables.md) is a view into the inventory block chain showing all prior inventory transactions and access to data table [common menu options](ay-start-form-data-tables.md#common-menu-options).
|
||||
|
||||
## XXXXXX edit form
|
||||
|
||||
The Customer edit form contains all the [standard edit form](ay-start-edit-forms.md) functionality and contains the following fields:
|
||||
|
||||
### Customer tab
|
||||
|
||||
#### Name
|
||||
|
||||
This is the name of the customer as it's displayed in forms and reports. This is also the primary identifier when searching for a customer to select in [autocomplete](ay-start-form-autocomplete.md) lists. A customer name must be unique from all other customers entered.
|
||||
|
||||
Keep in mind that this is the Name that Customers will see on reports if provided to them.
|
||||
|
||||
This is the only **required** field on the Customer form. All other fields are optional.
|
||||
|
||||
#### Account number
|
||||
|
||||
Provided for reference or connecting to another applications matching account number for this customer.
|
||||
|
||||
#### Web address
|
||||
|
||||
Web site address in an [URL control](ay-start-common-controls.md#url) for entry or opening.
|
||||
|
||||
#### Email
|
||||
|
||||
Email address in an [Email control](ay-start-common-controls.md#email) for entry or opening.
|
||||
|
||||
#### Phone fields
|
||||
|
||||
Five phone contact number fields are provided as [Phone controls](ay-start-common-controls.md#phone) for entry or dialing on supported devices.
|
||||
|
||||
These fields are pre-labeled as "Business", "Fax", "Home", "Mobile", "Pager" however as with all AyaNova form field labels they can be [changed](adm-translations.md) to labels appropriate for your business.
|
||||
|
||||
#### Bill Head office
|
||||
|
||||
If this Customer has a [Head office](head-offices.md) checking this box will cause AyaNova to use the Head Office mailing address on Work orders, Quotes and Preventive Maintenance orders.
|
||||
|
||||
#### Head office
|
||||
|
||||
The [Head office](head-offices.md) feature of AyaNova is a way to group Customers under a common entity.
|
||||
|
||||
Head offices have several purposes in AyaNova:
|
||||
|
||||
- Billing purposes when the bill should go to the Head office for work performed for that Customer
|
||||
- [Customer access](adm-global-settings.md#customer-access-settings) self-service features. A Head office [Contact](cust-contacts.md) can use all the Customer access features for all Customers who have their Head office selected depending on the permissions granted.
|
||||
- Grouping purposes for management reporting in AyaNova
|
||||
|
||||
#### Contract
|
||||
|
||||
#### Contract expires
|
||||
|
||||
You can select a [Contract](svc-contracts.md) for a Customer in AyaNova and it will automatically be applied to Work orders, Quotes and Preventive maintenance orders.
|
||||
When a Contract is selected the `Contract expires` field will be visible. This field controls the time period for which a contract is considered valid and once this date has passed the Contract will no longer be automatically applied.
|
||||
|
||||
See the [Contract documentation](svc-contracts.md) for further details.
|
||||
|
||||
#### Active
|
||||
|
||||
Customers that are set to Active can be selected on new Work orders and other objects that user customers.
|
||||
Customers not set to Active will still show in older records but can not be selected for new records; this is how you retire a customer from use.
|
||||
|
||||
#### General notes
|
||||
|
||||
Notes about this record for internal staff use. Notes can also be reported on if desired.
|
||||
These notes are only visible in this form.
|
||||
|
||||
#### Service tech notes
|
||||
|
||||
Service tech notes are specific notes that display on work orders, quotes and preventive maintenance orders and are intended as a message to the service technician whenever they deal with this customer. Service tech notes will display as a dark blue alert box with an (i) info icon.
|
||||
|
||||
This field is commonly used to alert a _service technician_ to some unusual aspect of _providing service_ to this Customer, for example there may be special instructions for accessing the site or special requirements around billing or work practices such as safety protocols to follow, where to park etc.
|
||||
|
||||
#### Alert notes
|
||||
|
||||
Customer alert notes are displayed on work orders, quotes and preventive maintenance orders and are intended as a general purpose alert message to _any_ staff member whenever they deal with this customer.
|
||||
|
||||
Alert notes will display as an orange alert box with a triangular /!\ exclamation mark icon.
|
||||
|
||||
This field is commonly used to generally alert _all staff_ about an important issue regarding this customer. For example billing related issues such as "Credit hold - cash only".
|
||||
|
||||
#### Custom fields
|
||||
|
||||
If the form has been [customized](ay-customize.md) and [custom fields](ay-customize.md#custom-fields) enabled for this object they will display here.
|
||||
|
||||
#### Tags
|
||||
|
||||
Optional [tags control](ay-start-form-tags.md) for categorizing and notification [filtering](home-notify-subscriptions.md#tags).
|
||||
|
||||
#### Wiki
|
||||
|
||||
Optional [wiki control](ay-start-form-wiki.md).
|
||||
|
||||
#### Attached files
|
||||
|
||||
Optional [attachments control](ay-start-form-attachments.md).
|
||||
|
||||
### Address tab
|
||||
|
||||
Standard AyaNova object [Address control](ay-start-common-controls.md#address).
|
||||
|
||||
### Contacts tab
|
||||
|
||||
The Contacts tab is where you enter information about people associated with the Customer for both contacting purposes and for optionally allowing them to login to use AyaNova's customer self service features.
|
||||
|
||||
See the [Contacts help page](cust-contacts.md) for more details.
|
||||
|
||||
### Menu options
|
||||
|
||||
In addition to the [common edit form menu options](ay-start-edit-forms.md#common-edit-form-menu-options) the Customer edit form also has these options:
|
||||
|
||||
#### Customer notes
|
||||
|
||||
Opens up the [customer notes](customer-notes.md) form for recording notes about the customer in a dated log format when the general Notes field is not enough.
|
||||
This can be used for any purpose but is often used for recording notes about interactions with the Customer for future reference purposes.
|
||||
|
||||
#### Work orders
|
||||
|
||||
This is a shortcut to create or view prior work orders for a customer and opens the [Work order list](svc-workorders.md) [data table](ay-start-form-data-tables.md) pre-filtered to only show records for this customer.
|
||||
|
||||
#### Customer Units
|
||||
|
||||
This is a shortcut to create or view prior Unit records for a customer and opens the [Unit list](svc-units.md) [data table](ay-start-form-data-tables.md) pre-filtered to only show records for this customer.
|
||||
|
||||
#### Quotes
|
||||
|
||||
This is a shortcut to create or view prior Quote records for a customer and opens the [Quote list](svc-quotes.md) [data table](ay-start-form-data-tables.md) pre-filtered to only show records for this customer.
|
||||
|
||||
#### Preventive maintenance
|
||||
|
||||
This is a shortcut to create or view prior Preventive maintenance records for a customer and opens the [PM list](svc-pms.md) [data table](ay-start-form-data-tables.md) pre-filtered to only show records for this customer.
|
||||
|
||||
@@ -584,12 +584,12 @@ namespace AyaNova.Biz
|
||||
return this;
|
||||
}
|
||||
|
||||
public SearchIndexProcessObjectParameters AddText(decimal? d)
|
||||
{
|
||||
if (d != null)
|
||||
Words.Add(d.ToString());
|
||||
return this;
|
||||
}
|
||||
// public SearchIndexProcessObjectParameters AddText(decimal? d)
|
||||
// {
|
||||
// if (d != null)
|
||||
// Words.Add(d.ToString());
|
||||
// return this;
|
||||
// }
|
||||
|
||||
public SearchIndexProcessObjectParameters AddText(List<string> lWords)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user