105 lines
No EOL
4.4 KiB
Text
105 lines
No EOL
4.4 KiB
Text
.. _glossary:
|
|
|
|
Glossary
|
|
========
|
|
|
|
.. glossary::
|
|
|
|
DocType
|
|
The basic building block of the Web Notes Framework. A DocType represents multiple things
|
|
|
|
* A table in the database (if `is_single` is `False`)
|
|
A table is named as `tab` + the name of the Doctype
|
|
Example: The table of doctype Content would be `tabContent`
|
|
* A class
|
|
* A form
|
|
* An agent to perform certain actions
|
|
|
|
A `DocType` has :term:`Fields`, :term:`Permissions` and :term:`Code`
|
|
|
|
Single Type
|
|
A DocType with property `is_single` as True.
|
|
|
|
* No table is created for such a DocType
|
|
* All field values are stored in the table `tabSingles`
|
|
* Mostly used to write Control objects
|
|
|
|
Document
|
|
A single record wrapped by an object-relational mapper.
|
|
The document object's properties can be set or accessed using the simple object notation. For example `doc.owner`
|
|
|
|
doclist
|
|
A list of :term:`Document` records representing a single record (along with all its child records). The first
|
|
element in the list `doclist[0]` is the main record, the rest, if any, are child records.
|
|
|
|
Permissions
|
|
Role-based permissions are maintained in the DocType. Permissions can also be set on individual fields.
|
|
This is done by defining levels. The default level is 0 for all fields.
|
|
|
|
Permissions can also be set based on certain properties of the user or the role and this is called `match`
|
|
|
|
If a property is set in `match` column of the permission, then that permission will only apply if
|
|
|
|
* The user / role has that property (as defined in User Defaults)
|
|
* The corresponding DocType has that property
|
|
* The value of the property is same, i.e. matches
|
|
|
|
Example: if the match is on field `department`, then the permission will only apply if the user
|
|
is of the same department as the transaction. This can be used to allow group wise access that cannot
|
|
be fulfilled by roles.
|
|
|
|
Page
|
|
A Page represpents a simple Page in the application. A page has:
|
|
|
|
* Static HTML content
|
|
* Javascript code, event code
|
|
* CSS
|
|
|
|
Pages can be used to create any type of UI and workflows
|
|
|
|
Testing Mode
|
|
A global flag indicates if the system is in testing mode.
|
|
|
|
* When the Testing Mode is setup, a copy of all tables is made and stored as `test` + the DocType
|
|
* All sql queries are scrubbed so that `tab` + DocType becomes `test` + DocType
|
|
* Example: tabContact becomes testContact
|
|
|
|
The `Testing Mode` is designed to be seamless to the developer and separate series are also mainted for
|
|
records created in the testing mode.
|
|
|
|
Error Console
|
|
A Dialog box showing exceptions from the current request. Can be seen by click on Tools -> Error Console
|
|
on the :term:`Web Notes Toolbar`
|
|
|
|
Web Notes Toolbar
|
|
A toolbar that is shown by default to the Administrator. To turn this off, set a default property
|
|
`hide_webnotes_toolbar` = 1, or set it in the :term:`Control Panel`
|
|
|
|
Control Panel
|
|
A :term:`Single Type` containing global defaults. The can be accessed from the :term:`Web Notes Toolbar` by
|
|
going to Options -> Control Panel when logged in as Administrator
|
|
|
|
Report Builder
|
|
This can be accessed from the :term:`Web Notes Toolbar`. The Report Builder provides a way to generate
|
|
tabular reports from DocType. You can select the columns of the report as well as filter the report
|
|
on columns that have the `in_filter` property set
|
|
|
|
Search Criteria
|
|
Saved settings of the `Report Builder`. This can be used for "one-click" reports. Scripting and other
|
|
settings can also be done in the Search Criteria
|
|
|
|
Locals
|
|
A local dictionary (object) in the browser that maintains all records (or metadata) loaded from the server. The format is
|
|
locals[`DocType`][`name`]. If an object is loaded in the current session, then it will be present in the
|
|
locals object (dictionary)
|
|
|
|
Standard Query
|
|
A standardized way to write a SQL query for the query_builder. This will automatically add conditions
|
|
relating to `match` permissions.
|
|
|
|
For a standard query,
|
|
|
|
* All SQL keywords must be capitalized
|
|
* All columms must be written as `tablename`.`colname`
|
|
|
|
|