mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-20 17:15:51 +02:00
Fixed more typos and grammar issues in docs
This commit is contained in:
parent
5d68922f2e
commit
861c0174df
10 changed files with 164 additions and 169 deletions
|
@ -11,55 +11,55 @@ This page explains the different concepts of Part-DB and what their intended use
|
|||
1. TOC
|
||||
{:toc}
|
||||
|
||||
## Part managment
|
||||
## Part management
|
||||
|
||||
### Part
|
||||
|
||||
A part is the central concept of Part-DB. A part represents a single kind (or type) of a thing, like an electronic
|
||||
component, a device, a book or similar (depending on what you use Part-DB for). A part entity just represents a certain
|
||||
type of thing, so if you have 1000 times an BC547 transistor you would create ONE part with the name BC547 and set its
|
||||
type of thing, so if you have 1000 times a BC547 transistor you would create ONE part with the name BC547 and set its
|
||||
quantity to 1000. The individual quantities (so a single BC547 transistor) of a part, should be indistinguishable from
|
||||
each other, so that it does not matter which one of your 1000 things of Part you use.
|
||||
A part entity have many fields, which can be used to describe it better. Most of the fields are optional:
|
||||
each other so that it does not matter which one of your 1000 things of Part you use.
|
||||
A part entity has many fields, which can be used to describe it better. Most of the fields are optional:
|
||||
|
||||
* **Name** (Required): The name of the part or how you want to call it. This could be a manufacturer provided name, or a
|
||||
* **Name** (Required): The name of the part or how you want to call it. This could be a manufacturer-provided name, or a
|
||||
name you thought of yourself. The name have to be unique in a single category.
|
||||
* **Description**: A short (single-line) description of what this part is/does. For longer information you should use
|
||||
* **Description**: A short (single-line) description of what this part is/does. For longer information, you should use
|
||||
the comment field or the specifications
|
||||
* **Category** (Required): The category (see there) to which this part belongs to.
|
||||
* **Tags**: The list of tags this part belong to. Tags can be used to group parts logically (similar to the category),
|
||||
* **Tags**: The list of tags this part belongs to. Tags can be used to group parts logically (similar to the category),
|
||||
but tags are much less strict and formal (they don't have to be defined forehands) and you can assign multiple tags to
|
||||
a part. When clicking on a tag, a list with all parts which have the same tag, is shown.
|
||||
* **Min Instock**: *Not really implemented yet*. Parts where the total instock is below this value, will show up for
|
||||
ordering.
|
||||
* **Footprint**: See there. Useful especially for electronic parts, which have one of the common electronic footprints (
|
||||
like DIP8, SMD0805 or similar). If a part has no explicit defined preview picture, the preview picture of its
|
||||
like DIP8, SMD0805 or similar). If a part has no explicitly defined preview picture, the preview picture of its
|
||||
footprint will be shown instead in tables.
|
||||
* **Manufacturer**: The manufacturer which has manufactured (not sold) this part. See Manufacturer entity for more info.
|
||||
* **Manufacturer part number** (MPN): If you have used your own name for a part, you can put the part number the
|
||||
manufacturer uses in this field, so that you can find a part also under its manufacturer number.
|
||||
manufacturer uses in this field so that you can find a part also under its manufacturer number.
|
||||
* **Link to product page**: If you want to link to the manufacturer website of a part, and it is not possible to
|
||||
determine it automatically from the part name, set in the manufacturer entity (or no manufacturer is set), you can set
|
||||
the link here for each part individually.
|
||||
* **Manufacturing Status**: The manufacturing status of this part, meaning the information about where the part is in
|
||||
its manufacturing lifecycle.
|
||||
* **Needs review**: If you think parts information maybe are inaccurate or incomplete and needs some later
|
||||
review/checking, you can set this flag. A part with this flag is marked, so that users know the information are not
|
||||
* **Needs review**: If you think parts information may be inaccurate or incomplete and needs some later
|
||||
review/checking, you can set this flag. A part with this flag is marked, so that users know the information is not
|
||||
completely trustworthy.
|
||||
* **Favorite**: Parts with this flag are highlighted in parts lists
|
||||
* **Mass**: The mass of a single piece of this part (so of a single transistor). Given in grams.
|
||||
* **Internal Part number** (IPN): Each part is automatically assigned a numerical ID which identifies a part in the
|
||||
* **Internal Part number** (IPN): Each part is automatically assigned a numerical ID that identifies a part in the
|
||||
database. This ID depends on when a part was created and can not be changed. If you want to assign your own unique
|
||||
identifiers, or sync parts identifiers with the identifiers of another database you can use this field.
|
||||
|
||||
### Stock / Part lot
|
||||
|
||||
A part can have many stock at multiple different locations. This is represented by part lots / stocks, which consists
|
||||
basically of a storage location (so where are the parts of this lot are stored) and an amount (how many parts are there).
|
||||
A part can have many stocks at multiple different locations. This is represented by part lots/stocks, which consists
|
||||
basically of a storage location (so where the parts of this lot are stored) and an amount (how many parts are there).
|
||||
|
||||
### Purchase Information
|
||||
|
||||
The purchase information describe where the part can be bought (at which vendors) and to which prices.
|
||||
The purchase information describes where the part can be bought (at which vendors) and at which prices.
|
||||
The first part (the order information) describes at which supplier the part can be bought and which is the name of the
|
||||
part under which you can order the part there.
|
||||
An order information can contain multiple price information, which describes the prices for the part at the supplier
|
||||
|
@ -67,13 +67,13 @@ including bulk discount, etc.
|
|||
|
||||
### Parameters
|
||||
|
||||
Parameters represents various specifications / parameters of a part, like the maximum current of a diode, etc. The
|
||||
Parameters represent various specifications/parameters of a part, like the maximum current of a diode, etc. The
|
||||
advantage of using parameters instead of just putting the data in the comment field or so, is that you can filter for
|
||||
parameters values (including ranges and more) later on.
|
||||
Parameters describe can describe numeric values and/or text values for which they can be filtered. This basically allows
|
||||
parameter's values (including ranges and more) later on.
|
||||
Parameters can describe numeric values and/or text values for which they can be filtered. This allows
|
||||
you to define custom fields on a part.
|
||||
|
||||
Using the group field a parameter allows you to group parameters together in the info page later (all parameters with
|
||||
Using the group field as a parameter allows you to group parameters together on the info page later (all parameters with
|
||||
the same group value will be shown under the same group title).
|
||||
|
||||
## Core data
|
||||
|
@ -99,17 +99,17 @@ possible category tree could look like this:
|
|||
|
||||
### Supplier
|
||||
|
||||
A Supplier is a vendor / distributor where you can buy/order parts. Price information of parts are associated with a
|
||||
A Supplier is a vendor/distributor where you can buy/order parts. Price information of parts is associated with a
|
||||
supplier.
|
||||
|
||||
### Manufacturer
|
||||
|
||||
A manufacturer represents the company that manufacturer / build various parts (not necessary sell them). If the
|
||||
manufacturer also sell the parts, you have to create a supplier for that.
|
||||
A manufacturer represents the company that manufacturers/builds various parts (not necessarily sell them). If the
|
||||
manufacturer also sells the parts, you have to create a supplier for that.
|
||||
|
||||
### Storage location
|
||||
|
||||
A storage location represents a place where parts can be stored. This could be a box, a shelf or other things (like the
|
||||
A storage location represents a place where parts can be stored. This could be a box, a shelf, or other things (like the
|
||||
SMD feeder of a machine or so).
|
||||
|
||||
Storage locations are hierarchical to represent storage locations contained in each other.
|
||||
|
@ -129,12 +129,12 @@ Storage locations should be defined down to the smallest possible location, to m
|
|||
|
||||
### Footprint
|
||||
|
||||
In electronics many components have one of the common components cases / footprints. The footprint entity describes such
|
||||
In electronics, many components have one of the common components cases/footprints. The footprint entity describes such
|
||||
common footprints, which can be assigned to parts.
|
||||
You can assign an image (and an 3D model) as an attachment to a footprint, which will be used as preview for parts with
|
||||
You can assign an image (and a 3D model) as an attachment to a footprint, which will be used as preview for parts with
|
||||
this footprint, even if the parts do not have an explicitly assigned preview image.
|
||||
|
||||
Footprints are a hierarchically which allows you to build logical sorted trees. An example tree could look like this:
|
||||
Footprints are hierarchically which allows you to build logically sorted trees. An example tree could look like this:
|
||||
|
||||
* Through-Hole components
|
||||
* DIP
|
||||
|
@ -153,17 +153,17 @@ Footprints are a hierarchically which allows you to build logical sorted trees.
|
|||
### Measurement Unit
|
||||
|
||||
By default, part instock is counted in number of individual parts, which is fine for things like electronic components,
|
||||
which exists only in integer quantities. However, if you have things with fractional units like the length of a wire or
|
||||
which exist only in integer quantities. However, if you have things with fractional units like the length of a wire or
|
||||
the volume of a liquid, you have to define a measurement unit.
|
||||
The measurement unit represents a physical quantity like mass, volume or length.
|
||||
The measurement unit represents a physical quantity like mass, volume, or length.
|
||||
|
||||
You can define a short unit for it (like m for Meters, or g for gramms) which will be shown, when a quantity of a part
|
||||
You can define a short unit for it (like m for Meters, or g for grams) which will be shown when a quantity of a part
|
||||
with this unit is shown.
|
||||
|
||||
### Currency
|
||||
|
||||
By default, all prices are set in the base currency configured for the instance (by default euros). If you want to use
|
||||
multiple currencies together (as e.g. vendors use foreign currencies for their price, and you do not want to update the
|
||||
multiple currencies together (e.g. vendors use foreign currencies for their price, and you do not want to update the
|
||||
prices for every exchange rate change), you have to define these currencies here.
|
||||
|
||||
You can set an exchange rate here in terms of the base currency (or fetch it from the internet if configured). The
|
||||
|
@ -173,7 +173,7 @@ exchange rate will be used to show users the prices in their preferred currency.
|
|||
|
||||
### Attachment
|
||||
|
||||
An attachment is a file that can be associated with another entity (like a Part, Storelocation, User, etc.). This could
|
||||
An attachment is a file that can be associated with another entity (like a Part, location, User, etc.). This could
|
||||
for example be a datasheet in a Part, the logo of a vendor or some CAD drawing of a footprint.
|
||||
|
||||
An attachment has an attachment type (see below), which groups the attachments logically (and optionally restricts the
|
||||
|
@ -183,9 +183,9 @@ the webserver downloads the file from the supplied website and stores it locally
|
|||
|
||||
By default, all uploaded files, are accessible for everyone (even non-logged-in users), if the link is known. If your
|
||||
Part-DB instance is publicly available, and you want to store private/sensitive files on it, you should mark the
|
||||
attachment as "Private attachment". Private attachments are only accessible to users, which has the permission to access
|
||||
attachment as "Private attachment". Private attachments are only accessible to users, which has permission to access
|
||||
private attachments.
|
||||
Please not, that no thumbnails are generated for private attachments, which can have a performance impact.
|
||||
Please note, that no thumbnails are generated for private attachments, which can have a performance impact.
|
||||
|
||||
Part-DB ships some preview images for various common footprints like DIP-8 and others, as internal resources. These can
|
||||
be accessed/searched by typing the keyword in the URL field of a part and choosing one of the choices from the dropdown.
|
||||
|
@ -195,35 +195,35 @@ be accessed/searched by typing the keyword in the URL field of a part and choosi
|
|||
Most entities with attachments allow you to select one of the defined attachments as "Preview image". You can select an
|
||||
image attachment here, that previews the entity, this could be a picture of a Part, the logo of a manufacturer or
|
||||
supplier, the schematic symbol of a category or the image of a footprint.
|
||||
The preview image will be shown in various locations together with the entities name.
|
||||
The preview image will be shown in various locations together with the entity's name.
|
||||
|
||||
Please note that as long as the picture is not secret, it should be stored on the Part-DB instance (by upload, or
|
||||
letting Part-DB download the file) and *not* be marked as a private attachments, so that thumbnails can be generated for
|
||||
Please note that as long as the picture is not secret, it should be stored on the Part-DB instance (by uploading, or
|
||||
letting Part-DB download the file) and *not* be marked as a private attachment, so that thumbnails can be generated for
|
||||
the picture (which improves performance).
|
||||
|
||||
### Attachment types
|
||||
|
||||
Attachment types define logical groups of attachments. For example, you could define an attachment group "Datasheets"
|
||||
where all datasheets of Parts, Footprints, etc. belong in, "Pictures" for preview images and more.
|
||||
You can define file type restrictions, which file types and extensions are allowed for files with that attachment type.
|
||||
You can define file type restrictions, and which file types and extensions are allowed for files with that attachment type.
|
||||
|
||||
## User System
|
||||
|
||||
### User
|
||||
|
||||
Each person which should be able to use Part-DB (by logging in) is represented by a user entity, which defines things
|
||||
like access rights, the password, and other things. For security reasons, every person which will use Part-DB should use
|
||||
its own personal account with a secret password. This allows to track activity of the users via the log.
|
||||
Each person who should be able to use Part-DB (by logging in) is represented by a user entity, which defines things
|
||||
like access rights, the password, and other things. For security reasons, every person who will use Part-DB should use
|
||||
their own personal account with a secret password. This allows to track activity of the users via the log.
|
||||
|
||||
There is a special user called `anonymous`, whose access rights are used to determine what a non-logged in user can do.
|
||||
There is a special user called `anonymous`, whose access rights are used to determine what a non-logged-in user can do.
|
||||
Normally the anonymous user should be the most restricted user.
|
||||
|
||||
For simplification of access management users can be assigned to groups.
|
||||
|
||||
### Group
|
||||
|
||||
A group is entity, to which users can be assigned to. This can be used to logically group users by for example
|
||||
organisational structures and to simplify permissions management, as you can define groups with access rights for common
|
||||
A group is an entity, to which users can be assigned to. This can be used to logically group users by for example
|
||||
organizational structures and to simplify permissions management, as you can define groups with access rights for common
|
||||
use cases and then just assign users to them, without the need to change every permission on the users individually.
|
||||
|
||||
## Labels
|
||||
|
@ -231,9 +231,9 @@ use cases and then just assign users to them, without the need to change every p
|
|||
### Label profiles
|
||||
|
||||
A label profile represents a template for a label (for a storage location, a part or part lot). It consists of a size, a
|
||||
barcode type and the content. There are various placeholders which can be inserted in the text content and which will be
|
||||
used replaced with data for the actual thing.
|
||||
barcode type and the content. There are various placeholders that can be inserted in the text content and which will be
|
||||
replaced with data for the actual thing.
|
||||
|
||||
You do not have to define a label profile to generate labels (you can just set the settings on the fly in the label
|
||||
dialog), however if you want to generate many labels, it is recommended to save the settings as label profile, to save
|
||||
dialog), however, if you want to generate many labels, it is recommended to save the settings as a label profile, to save
|
||||
it for later usage. This ensures that all generated labels look the same.
|
|
@ -6,19 +6,19 @@ nav_order: 5
|
|||
|
||||
# Configuration
|
||||
|
||||
Part-DBs behavior can be configured to your needs. There are different kind of configuration options: Options which are
|
||||
user changeable (changeable dynamically via frontend), options which can be configured by environment variables, and
|
||||
options which are only configurable via symfony config files.
|
||||
Part-DBs behavior can be configured to your needs. There are different kinds of configuration options: Options, which are
|
||||
user-changeable (changeable dynamically via frontend), options that can be configured by environment variables, and
|
||||
options that are only configurable via Symfony config files.
|
||||
|
||||
## User changeable
|
||||
|
||||
Following things can be changed for every user and a user can change it for himself (if he has the correct permission
|
||||
for it). Configuration is either possible via the users own setting page (where you can also change the password) or via
|
||||
The following things can be changed for every user and a user can change it for himself (if he has the correct permission
|
||||
for it). Configuration is either possible via the user's own settings page (where you can also change the password) or via
|
||||
the user admin page:
|
||||
|
||||
* **Language**: The language that the users prefers, and which will be used when no language is explicitly specified.
|
||||
Language can still always be changed via the language selector. By default, the global configured language is used.
|
||||
* **Timezone**: The timezone which the user resides in and in which all dates and times should be shown. By default, the
|
||||
* **Language**: The language that the users prefer, and which will be used when no language is explicitly specified.
|
||||
Language can still always be changed via the language selector. By default, the globally configured language is used.
|
||||
* **Timezone**: The timezone in which the user resides and in which all dates and times should be shown. By default, the
|
||||
globally configured language.
|
||||
* **Theme**: The theme to use for the front end. Allows the user to choose the front end design, he prefers.
|
||||
* **Preferred currency**: One of the defined currencies, in which all prices should be shown, if possible. Prices with
|
||||
|
@ -28,19 +28,19 @@ the user admin page:
|
|||
|
||||
The following configuration options can only be changed by the server administrator, by either changing the server
|
||||
variables, changing the `.env.local` file or setting env for your docker container. Here are just the most important
|
||||
options listed, see `.env` file for full list of possible env variables.
|
||||
options listed, see `.env` file for the full list of possible env variables.
|
||||
|
||||
### General options
|
||||
|
||||
* `DATABASE_URL`: Configures the database which Part-DB uses. For mysql use a string in the form
|
||||
of `mysql://<USERNAME>:<PASSWORD>@<HOST>:<PORT>/<TABLE_NAME>` here
|
||||
(e.g. `DATABASE_URL=mysql://user:password@127.0.0.1:3306/part-db`). For sqlite use the following format to specify the
|
||||
(e.g. `DATABASE_URL=mysql://user:password@127.0.0.1:3306/part-db`). For SQLite use the following format to specify the
|
||||
absolute path where it should be located `sqlite:///path/part/app.db`. You can use `%kernel.project_dir%` as
|
||||
placeholder for the Part-DB root folder (e.g. `sqlite:///%kernel.project_dir%/var/app.db`)
|
||||
* `DATABASE_MYSQL_USE_SSL_CA`: If this value is set to `1` or `true` and a MySQL connection is used, then the connection
|
||||
is encrypted by SSL/TLS and the server certificate is verified against the system CA certificates or the CA certificate
|
||||
bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept all certificates.
|
||||
* `DEFAULT_LANG`: The default language to use server wide (when no language is explicitly specified by a user or via
|
||||
* `DEFAULT_LANG`: The default language to use server-wide (when no language is explicitly specified by a user or via
|
||||
language chooser). Must be something like `en`, `de`, `fr`, etc.
|
||||
* `DEFAULT_TIMEZONE`: The default timezone to use globally, when a user has no timezone specified. Must be something
|
||||
like `Europe/Berlin`. See [here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) under TZ Database name
|
||||
|
@ -53,7 +53,7 @@ bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept
|
|||
* `INSTANCE_NAME`: The name of your installation. It will be shown as a title in the navbar and other places. By
|
||||
default `Part-DB`, but you can customize it to something likes `ExampleCorp. Inventory`.
|
||||
* `ALLOW_ATTACHMENT_DOWNLOADS` (allowed values `0` or `1`): By setting this option to 1, users can make Part-DB directly
|
||||
download a file specified as a URL and create it as local file. Please note that this allows users access to all
|
||||
download a file specified as a URL and create it as a local file. Please note that this allows users access to all
|
||||
resources publicly available to the server (so full access to other servers in the same local network), which could
|
||||
be a security risk.
|
||||
* `ATTACHMENT_DOWNLOAD_BY_DEFAULT`: When this is set to 1, the "download external file" checkbox is checked by default
|
||||
|
@ -63,7 +63,7 @@ bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept
|
|||
not set their own picture). The users browsers have to download the pictures from a third-party (gravatar) server, so
|
||||
this might be a privacy risk.
|
||||
* `MAX_ATTACHMENT_FILE_SIZE`: The maximum file size (in bytes) for attachments. You can use the suffix `K`, `M` or `G`
|
||||
to specify the size in kilobytes, megabytes or gigabytes. By default `100M` (100 megabytes). Please note that this
|
||||
to specify the size in kilobytes, megabytes or gigabytes. By default `100M` (100 megabytes). Please note that this is
|
||||
only the limit of Part-DB. You still need to configure the php.ini `upload_max_filesize` and `post_max_size` to allow
|
||||
bigger files to be uploaded.
|
||||
* `DEFAULT_URI`: The default URI base to use for the Part-DB, when no URL can be determined from the browser request.
|
||||
|
@ -71,8 +71,8 @@ bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept
|
|||
emails and other places, where the URL is needed. It is also used, when SAML is enabled.s If you are using a reverse
|
||||
proxy, you should set this to the URL of the reverse proxy (e.g. `https://part-db.example.com`). **This value must end
|
||||
with a slash**.
|
||||
* `ENFORCE_CHANGE_COMMENTS_FOR`: With this option you can configure, where users are enforced to give a change reason,
|
||||
which will be written to the log. This is a comma separated list of values (e.g. `part_edit,part_delete`). Leave empty
|
||||
* `ENFORCE_CHANGE_COMMENTS_FOR`: With this option, you can configure, where users are enforced to give a change reason,
|
||||
which will be written to the log. This is a comma-separated list of values (e.g. `part_edit,part_delete`). Leave empty
|
||||
to make change comments optional everywhere. Possible values are:
|
||||
* `part_edit`: Edit operation of an existing part
|
||||
* `part_delete`: Delete operation of an existing part
|
||||
|
@ -91,7 +91,7 @@ bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept
|
|||
mail account, you can use the following syntax `MAILER_DSN=smtp://user:password@smtp.mailserver.invalid:587`
|
||||
* `EMAIL_SENDER_EMAIL`: The email address from which emails should be sent from (in most cases this has to be the same
|
||||
as the email address used for SMTP access)
|
||||
* `EMAIL_SENDER_NAME`: Similar to `EMAIL_SENDER_EMAIL` but this allows you to specify the name from which the mails are
|
||||
* `EMAIL_SENDER_NAME`: Similar to `EMAIL_SENDER_EMAIL`, but this allows you to specify the name from which the mails are
|
||||
sent from.
|
||||
* `ALLOW_EMAIL_PW_RESET`: Set this value to true, if you want to allow users to reset their password via an email
|
||||
notification. You have to configure the mail provider first before via the MAILER_DSN setting.
|
||||
|
@ -105,15 +105,15 @@ bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept
|
|||
Also specify the default order of the columns. This is a comma separated list of column names. Available columns
|
||||
are: `name`, `id`, `ipn`, `description`, `category`, `footprint`, `manufacturer`, `storage_location`, `amount`, `minamount`, `partUnit`, `addedDate`, `lastModified`, `needs_review`, `favorite`, `manufacturing_status`, `manufacturer_product_number`, `mass`, `tags`, `attachments`, `edit`.
|
||||
|
||||
### History/Eventlog related settings
|
||||
### History/Eventlog-related settings
|
||||
|
||||
The following options are used to configure, which (and how much) data is written to the system log:
|
||||
|
||||
* `HISTORY_SAVE_CHANGED_FIELDS`: When this option is set to true, the name of the fields which are changed, are saved to
|
||||
* `HISTORY_SAVE_CHANGED_FIELDS`: When this option is set to true, the name of the fields that are changed, are saved to
|
||||
the DB (so for example it is logged that a user has changed, that the user has changed the name and description of the
|
||||
field, but not the data/content of these changes)
|
||||
* `HISTORY_SAVE_CHANGED_DATA`: When this option is set to true, the changed data is saved to log (so it is logged, that
|
||||
a user has changed the name of a part and what the name was before). This can increase database size, when you have a
|
||||
a user has changed the name of a part and what the name was before). This can increase database size when you have a
|
||||
lot of changes to entities.
|
||||
* `HISTORY_SAVE_REMOVED_DATA`: When this option is set to true, removed data is saved to log, meaning that you can
|
||||
easily undelete an entity, when it was removed accidentally.
|
||||
|
@ -126,10 +126,10 @@ then `HISTORY_SAVE_CHANGED_FIELDS`, `HISTORY_SAVE_CHANGED_DATA` and `HISTORY_SAV
|
|||
|
||||
### Error pages settings
|
||||
|
||||
* `ERROR_PAGE_ADMIN_EMAIL`: You can set an email-address here, which is shown on the error page, who should be contacted
|
||||
* `ERROR_PAGE_ADMIN_EMAIL`: You can set an email address here, which is shown on the error page, who should be contacted
|
||||
about the issue (e.g. an IT support email of your company)
|
||||
* `ERROR_PAGE_SHOW_HELP`: Set this 0, to disable the solution hints shown on an error page. These hints should not
|
||||
contain sensitive information, but could confuse end-users.
|
||||
contain sensitive information but could confuse end-users.
|
||||
|
||||
### EDA related settings
|
||||
|
||||
|
@ -143,21 +143,21 @@ then `HISTORY_SAVE_CHANGED_FIELDS`, `HISTORY_SAVE_CHANGED_DATA` and `HISTORY_SAV
|
|||
|
||||
The following settings can be used to enable and configure Single-Sign on via SAML. This allows users to log in to
|
||||
Part-DB without entering a username and password, but instead they are redirected to a SAML Identity Provider (IdP) and
|
||||
are logged in automatically. This is especially useful, when you want to use Part-DB in a company, where all users have
|
||||
are logged in automatically. This is especially useful when you want to use Part-DB in a company, where all users have
|
||||
a SAML account (e.g. via Active Directory or LDAP).
|
||||
You can find more advanced settings in the `config/packages/hslavich_onelogin_saml.yaml` file. Please note that this
|
||||
file is not backed up by the backup script, so you have to back up it manually, if you want to keep your changes. If you
|
||||
want to edit it on docker, you have to map the file to a volume.
|
||||
|
||||
* `SAML_ENABLED`: When this is set to 1, SAML SSO is enabled and the SSO Login button is shown in the login form. You
|
||||
have to configure the SAML settings below, before you can use this feature.
|
||||
have to configure the SAML settings below before you can use this feature.
|
||||
* `SAML_BEHIND_PROXY`: Set this to 1, if Part-DB is behind a reverse proxy. See [here]({% link installation/reverse-proxy.md %})
|
||||
for more information. Otherwise, leave it to 0 (default.)
|
||||
* `SAML_ROLE_MAPPING`: A [JSON](https://en.wikipedia.org/wiki/JSON) encoded map which specifies how Part-DB should
|
||||
* `SAML_ROLE_MAPPING`: A [JSON](https://en.wikipedia.org/wiki/JSON)-encoded map which specifies how Part-DB should
|
||||
convert the user roles given by SAML attribute `group` should be converted to a Part-DB group (specified by ID). You
|
||||
can use a wildcard `*` to map all otherwise unmapped roles to a certain group.
|
||||
Example: `{"*": 1, "admin": 2, "editor": 3}`. This would map all roles to the group with ID 1, except the
|
||||
role `admin`, which is mapped to the group with ID 2 and the role `editor`, which is mapped to the group with ID 3.
|
||||
role `admin`, which is mapped to the group with ID 2, and the role `editor`, which is mapped to the group with ID 3.
|
||||
* `SAML_UPDATE_GROUP_ON_LOGIN`: When this is enabled the group of the user is updated on every login of the user based
|
||||
on the SAML role attributes. When this is disabled, the group is only assigned on the first login of the user, and a
|
||||
Part-DB administrator can change the group afterward by editing the user.
|
||||
|
@ -185,27 +185,27 @@ want to edit it on docker, you have to map the file to a volume.
|
|||
The settings prefixes with `PROVIDER_*` are used to configure the information providers.
|
||||
See the [information providers]({% link usage/information_provider_system.md %}) page for more information.
|
||||
|
||||
### Other / less used options
|
||||
### Other / less-used options
|
||||
|
||||
* `TRUSTED_PROXIES`: Set the IP addresses (or IP blocks) of trusted reverse proxies here. This is needed to get correct
|
||||
IP information (see [here](https://symfony.com/doc/current/deployment/proxies.html) for more info).
|
||||
* `TRUSTED_HOSTS`: To prevent `HTTP Host header attacks` you can set a regex containing all host names via which Part-DB
|
||||
should be accessible. If accessed via the wrong hostname, an error will be shown.
|
||||
* `DEMO_MODE`: Set Part-DB into demo mode, which forbids users to change their passwords and settings. Used for the demo
|
||||
instance, should not be needed for normal installations.
|
||||
instance. This should not be needed for normal installations.
|
||||
* `NO_URL_REWRITE_AVAILABLE` (allowed values `true` or `false`): Set this value to true, if your webserver does not
|
||||
support rewrite. In this case, all URL paths will contain index.php/, which is needed then. Normally this setting do
|
||||
support rewrite. In this case, all URL paths will contain index.php/, which is needed then. Normally this setting does
|
||||
not need to be changed.
|
||||
* `REDIRECT_TO_HTTPS`: If this is set to true, all requests to http will be redirected to https. This is useful, if your
|
||||
* `REDIRECT_TO_HTTPS`: If this is set to true, all requests to http will be redirected to https. This is useful if your
|
||||
web server does not already do this (like the one used in the demo instance). If your web server already redirects to
|
||||
https, you don't need to set this. Ensure that Part-DB is accessible via https, before you enable this setting.
|
||||
https, you don't need to set this. Ensure that Part-DB is accessible via HTTPS before you enable this setting.
|
||||
* `FIXER_API_KEY`: If you want to automatically retrieve exchange rates for base currencies other than euros, you have to
|
||||
configure an exchange rate provider API. [Fixer.io](https://fixer.io/) is preconfigured, and you just have to register
|
||||
there and set the retrieved API key in this environment variable.
|
||||
* `APP_ENV`: This value should always be set to `prod` in normal use. Set it to `dev` to enable debug/development
|
||||
mode. (**You should not do this on a publicly accessible server, as it will leak sensitive information!**)
|
||||
* `BANNER`: You can configure the text that should be shown as the banner on the homepage. Useful especially for docker
|
||||
container. In all other applications you can just change the `config/banner.md` file.
|
||||
containers. In all other applications you can just change the `config/banner.md` file.
|
||||
|
||||
## Banner
|
||||
|
||||
|
@ -218,8 +218,7 @@ markdown (and even some subset of HTML) syntax to format the text.
|
|||
You can also configure some options via the `config/parameters.yaml` file. This should normally not need,
|
||||
and you should know what you are doing, when you change something here. You should expect, that you will have to do some
|
||||
manual merge, when you have changed something here and update to a newer version of Part-DB. It is possible that
|
||||
configuration
|
||||
options here will change or completely removed in future versions of Part-DB.
|
||||
configuration options here will change or be completely removed in future versions of Part-DB.
|
||||
|
||||
If you change something here, you have to clear the cache, before the changes will take effect with the
|
||||
command `bin/console cache:clear`.
|
||||
|
|
|
@ -25,10 +25,10 @@ It is installed on a web server and so can be accessed with any browser without
|
|||
|
||||
## Features
|
||||
|
||||
* Inventory management of your electronic parts. Each part can be assigned to a category, footprint, manufacturer
|
||||
* Inventory management of your electronic parts. Each part can be assigned to a category, footprint, manufacturer,
|
||||
and multiple store locations and price information. Parts can be grouped using tags. You can associate various files
|
||||
like datasheets or pictures with the parts.
|
||||
* Multi-Language support (currently German, English, Russian, Japanese and French (experimental))
|
||||
* Multi-language support (currently German, English, Russian, Japanese and French (experimental))
|
||||
* Barcodes/Labels generator for parts and storage locations, scan barcodes via webcam using the builtin barcode scanner
|
||||
* User system with groups and detailed (fine granular) permissions.
|
||||
Two-factor authentication is supported (Google Authenticator and Webauthn/U2F keys) and can be enforced for groups.
|
||||
|
@ -46,7 +46,7 @@ It is installed on a web server and so can be accessed with any browser without
|
|||
* Support for multiple currencies and automatic update of exchange rates supported
|
||||
* Powerful search and filter function, including parametric search (search for parts according to some specifications)
|
||||
* Easy migration from an existing PartKeepr instance (see [here]({%link partkeepr_migration.md %}))
|
||||
* Use cloud providers (like Octopart, Digikey, farnell or TME) to automatically get part information, datasheets and
|
||||
* Use cloud providers (like Octopart, Digikey, Farnell or TME) to automatically get part information, datasheets and
|
||||
prices for parts (see [here]({% link usage/information_provider_system.md %}))
|
||||
* API to access Part-DB from other applications/scripts
|
||||
* [Integration with KiCad]({%link usage/eda_integration.md %}): Use Part-DB as central datasource for your
|
||||
|
|
|
@ -12,34 +12,34 @@ nav_order: 101
|
|||
This guide describes how to migrate from [PartKeepr](https://partkeepr.org/) to Part-DB.
|
||||
|
||||
Part-DB has a built-in migration tool, which can be used to migrate the data from an existing PartKeepr instance to
|
||||
a new Part-DB instance. Most of the data can be migrated, however there are some limitations, you can find below.
|
||||
a new Part-DB instance. Most of the data can be migrated, however, there are some limitations, that you can find below.
|
||||
|
||||
## What can be imported
|
||||
|
||||
* Data structures (Categories, Footprints, Storage Locations, Manufacturers, Distributors, Part Measurement Units)
|
||||
* Basic part information's (Name, Description, Comment, etc.)
|
||||
* Attachments and images of parts, projects, footprints, manufacturers and storage locations
|
||||
* Basic part information (Name, Description, Comment, etc.)
|
||||
* Attachments and images of parts, projects, footprints, manufacturers, and storage locations
|
||||
* Part prices (distributor infos)
|
||||
* Part parameters
|
||||
* Projects (including parts and attachments)
|
||||
* Users (optional): Passwords however will be not migrated, and need to be reset later
|
||||
* Users (optional): Passwords however will not be migrated, and need to be reset later
|
||||
|
||||
## What can't be imported
|
||||
|
||||
* Metaparts (A dummy version of the metapart will be created in Part-DB, however it will not function as metapart)
|
||||
* Metaparts (A dummy version of the metapart will be created in Part-DB, however, it will not function as metapart)
|
||||
* Multiple manufacturers per part (only the last manufacturer of a part will be migrated)
|
||||
* Overage information for project parts (the overage info will be set as comment in the project BOM, but will have no
|
||||
* Overage information for project parts (the overage info will be set as a comment in the project BOM, but will have no
|
||||
effect)
|
||||
* Batch Jobs
|
||||
* Parameter Units (the units will be written into the parameters)
|
||||
* Project Reports and Project Runs
|
||||
* Stock history
|
||||
* Stock History
|
||||
* Any kind of PartKeepr preferences
|
||||
|
||||
## How to migrate
|
||||
|
||||
1. Install Part-DB like described in the installation guide. You can use any database backend you want (mysql or
|
||||
sqlite). Run the database migration, but do not create any new data yet.
|
||||
1. Install Part-DB as described in the installation guide. You can use any database backend you want (MySQL or
|
||||
SQLite). Run the database migration, but do not create any new data yet.
|
||||
2. Export your PartKeepr database as XML file using [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html):
|
||||
When the MySQL database is running on the local computer, and you are root you can just run the
|
||||
command `mysqldump --xml PARTKEEPR_DATABASE --result-file pk.xml`.
|
||||
|
@ -47,7 +47,7 @@ a new Part-DB instance. Most of the data can be migrated, however there are some
|
|||
run `mysqldump --xml -h PARTKEEPR_HOST -u PARTKEEPR_USER -p PARTKEEPR_DATABASE`, where you replace `PARTKEEPR_HOST`
|
||||
with the hostname of your MySQL database and `PARTKEEPR_USER` with the username of MySQL user which has access to the
|
||||
PartKeepr database. You will be asked for the MySQL user password.
|
||||
3. Go the Part-DB main folder and run the command `php bin/console partdb:migrations:import-partkeepr path/to/pk.xml`.
|
||||
3. Go to the Part-DB main folder and run the command `php bin/console partdb:migrations:import-partkeepr path/to/pk.xml`.
|
||||
This step will delete all existing data in the Part-DB database and import the contents of PartKeepr.
|
||||
4. Copy the contents of `data/files/` from your PartKeepr installation to the `uploads/` folder of your Part-DB
|
||||
installation and the contents of `data/images` from PartKeepr to `public/media/` of Part-DB.
|
||||
|
@ -63,5 +63,5 @@ option on the database import command (step 3):
|
|||
|
||||
All imported users of PartKeepr will be assigned to a new group "PartKeepr Users", which has normal user permissions (so
|
||||
editing data, but no administrative tasks). You can change the group and permissions later in Part-DB users management.
|
||||
Passwords can not be imported from PartKeepr and all imported users get marked as disabled user. So to allow users to
|
||||
Passwords can not be imported from PartKeepr and all imported users get marked as disabled. So to allow users to
|
||||
log in, you need to enable them in the user management and assign a password.
|
|
@ -16,7 +16,7 @@ on how to fix the problem. If you have a problem that is not listed here, please
|
|||
|
||||
If you encounter an error, try the following steps:
|
||||
|
||||
* Clear cache of Part-DB with the console command:
|
||||
* Clear the cache of Part-DB with the console command:
|
||||
|
||||
```bash
|
||||
php bin/console cache:clear
|
||||
|
@ -30,7 +30,7 @@ php bin/console doctrine:migrations:migrate
|
|||
|
||||
If this does not help, please [open an issue on GitHub](https://github.com/Part-DB/Part-DB-symfony).
|
||||
|
||||
## Search for user and reset password:
|
||||
## Search for the user and reset the password:
|
||||
|
||||
You can list all users with the following command: `php bin/console partdb:users:list`
|
||||
To reset the password of a user you can use the following
|
||||
|
|
|
@ -18,33 +18,32 @@ sections carefully before proceeding to upgrade.
|
|||
|
||||
* PHP 8.1 or higher is required now (Part-DB 0.5 required PHP 5.4+, Part-DB 0.6 PHP 7.0).
|
||||
Releases are available for Windows too, so almost everybody should be able to use PHP 8.1
|
||||
* **Console access highly required.** The installation of composer and frontend dependencies require console access,
|
||||
also more sensitive stuff like database migration work via CLI now, so you should have console access on your server.
|
||||
* **Console access is highly recommended.** The installation of composer and frontend dependencies require console access,
|
||||
also more sensitive stuff like database migration works via CLI now, so you should have console access on your server.
|
||||
* Markdown/HTML is now used instead of BBCode for rich text in description and command fields.
|
||||
It is possible to migrate your existing BBCode to Markdown
|
||||
via `php bin/console php bin/console partdb:migrations:convert-bbcode`.
|
||||
* Server exceptions are not logged to event log anymore. For security reasons (exceptions can contain sensitive
|
||||
information)
|
||||
exceptions are only logged to server log (by default under './var/log'), so only the server admins can access it.
|
||||
* Profile labels are now saved in Database (before they were saved in a separate JSON file). **The profiles of legacy
|
||||
* Server exceptions are not logged into event log anymore. For security reasons (exceptions can contain sensitive
|
||||
information) exceptions are only logged to server log (by default under './var/log'), so only the server admins can access it.
|
||||
* Profile labels are now saved in the database (before they were saved in a separate JSON file). **The profiles of legacy
|
||||
Part-DB versions can not be imported into new Part-DB 1.0**
|
||||
* Label placeholders now use the `[[PLACEHOLDER]]` format instead of `%PLACEHOLDER%`. Also, some placeholders has
|
||||
* Label placeholders now use the `[[PLACEHOLDER]]` format instead of `%PLACEHOLDER%`. Also, some placeholders have
|
||||
changed.
|
||||
* Configuration is now done via configuration files / environment variables instead of the WebUI (this maybe change in
|
||||
* Configuration is now done via configuration files/environment variables instead of the WebUI (this may change in
|
||||
the future).
|
||||
* Database updated are now done via console instead of the WebUI
|
||||
* Database updates are now done via console instead of the WebUI
|
||||
* Permission system changed: **You will have to newly set the permissions of all users and groups!**
|
||||
* Import / Export file format changed. Fields must be english now (unlike in legacy Part-DB versions, where german
|
||||
* Import / Export file format changed. Fields must be English now (unlike in legacy Part-DB versions, where German
|
||||
fields in CSV were possible)
|
||||
and you maybe have to change the header line/field names of your CSV files.
|
||||
and you may have to change the header line/field names of your CSV files.
|
||||
|
||||
## Missing features
|
||||
|
||||
* No possibility to mark parts for ordering (yet)
|
||||
* No possibility of marking parts for ordering (yet)
|
||||
* No support for 3D models of footprints (yet)
|
||||
* No possibility to disable footprints, manufacturers globally (or per category). This should not have a big impact,
|
||||
* No possibility to disable footprints, manufacturers globally (or per category). This should not have a big impact
|
||||
when you forbid users to edit/create them.
|
||||
* No resistor calculator or SMD labels tools
|
||||
* No resistor calculator or SMD label tools
|
||||
|
||||
## Upgrade process
|
||||
|
||||
|
@ -56,12 +55,12 @@ sections carefully before proceeding to upgrade.
|
|||
> Beware that all user and group permissions will be reset, and you have to set the permissions again
|
||||
> the new Part-DB as many permissions changed, and automatic migration is not possible.
|
||||
|
||||
1. Upgrade your existing Part-DB version the newest Part-DB 0.5.* version (at the moment Part-DB 0.5.8), like described
|
||||
1. Upgrade your existing Part-DB version the newest Part-DB 0.5.* version (at the moment Part-DB 0.5.8), as described
|
||||
in the old Part-DB's repository.
|
||||
2. Make a backup of your database and attachments. If something goes wrong during migration, you can use this backup to
|
||||
start over. If you have some more complex permission configuration, you maybe want to do screenshots of it, so you
|
||||
can redo it again later.
|
||||
3. Set up the new Part-DB like described in installation section. You will need to do the setup for a MySQL instance (
|
||||
3. Set up the new Part-DB as described in the installation section. You will need to do the setup for a MySQL instance (
|
||||
either via docker or direct installation). Set the `DATABASE_URL` environment variable in your `.env.local` (
|
||||
or `docker-compose.yaml`) to your existing database. (
|
||||
e.g. `DATABASE_URL=mysql://PARTDB_USER:PASSWORD@localhost:3306/DATABASE_NAME`)
|
||||
|
|
|
@ -6,11 +6,11 @@ parent: Usage
|
|||
|
||||
# Information provider system
|
||||
|
||||
Part-DB can create parts based on information from external sources: For example with the right setup you can just
|
||||
Part-DB can create parts based on information from external sources: For example, with the right setup you can just
|
||||
search for a part number
|
||||
and Part-DB will query selected distributors and manufacturers for the part and create a part with the information it
|
||||
found.
|
||||
This way your Part-DB parts automatically get datasheet links, prices, parameters and more, with just a few clicks.
|
||||
This way your Part-DB parts automatically get datasheet links, prices, parameters, and more, with just a few clicks.
|
||||
|
||||
## Usage
|
||||
|
||||
|
@ -45,13 +45,13 @@ part.
|
|||
|
||||
Part-DB tries to automatically find existing elements from your database for the information it got from the providers
|
||||
for fields like manufacturer, footprint, etc.
|
||||
For this it searches for an element with the same name (case-insensitive) as the information it got from the provider. So
|
||||
e.g. if the provider returns "EXAMPLE CORP" as manufacturer,
|
||||
For this, it searches for an element with the same name (case-insensitive) as the information it got from the provider. So
|
||||
e.g. if the provider returns "EXAMPLE CORP" as the manufacturer,
|
||||
Part-DB will automatically select the element with the name "Example Corp" from your database.
|
||||
|
||||
As the names of these fields differ from provider to provider (and maybe not even normalized for the same provider), you
|
||||
can define multiple alternative names for an element (on their editing page).
|
||||
For example if define a manufacturer "Example Corp" with the alternative names "Example Corp.", "Example Corp", "Example
|
||||
For example, if you define a manufacturer "Example Corp" with the alternative names "Example Corp.", "Example Corp", "Example
|
||||
Corp. Inc." and "Example Corporation",
|
||||
then the provider can return any of these names and Part-DB will still automatically select the right element.
|
||||
|
||||
|
@ -72,12 +72,12 @@ add the alternative names "Datasheet" and "Image" to the alternative names field
|
|||
|
||||
The system tries to be as flexible as possible, so many different information sources can be used.
|
||||
Each information source is called am "info provider" and handles the communication with the external source.
|
||||
The providers are just a driver which handles the communication with the different external sources and converts them
|
||||
The providers are just a driver that handles the communication with the different external sources and converts them
|
||||
into a common format Part-DB understands.
|
||||
That way it is pretty easy to create new providers as they just need to do very little work.
|
||||
|
||||
Normally the providers utilize an API of a service, and you need to create an account at the provider and get an API key.
|
||||
Also, there are limits on how many requests you can do per day or months, depending on the provider and your contract
|
||||
Also, there are limits on how many requests you can do per day or month, depending on the provider and your contract
|
||||
with them.
|
||||
|
||||
The following providers are currently available and shipped with Part-DB:
|
||||
|
@ -86,8 +86,7 @@ The following providers are currently available and shipped with Part-DB:
|
|||
|
||||
### Octopart
|
||||
|
||||
The Octopart provider uses the [Octopart / Nexar API](https://nexar.com/api) to search for parts and getting
|
||||
information.
|
||||
The Octopart provider uses the [Octopart / Nexar API](https://nexar.com/api) to search for parts and get information.
|
||||
To use it you have to create an account at Nexar and create a new application on
|
||||
the [Nexar Portal](https://portal.nexar.com/).
|
||||
The name does not matter, but it is important that the application has access to the "Supply" scope.
|
||||
|
@ -100,7 +99,7 @@ can see your current usage on the Nexar portal.
|
|||
Part-DB caches the search results internally, so if you have searched for a part before, it will not count against your
|
||||
monthly limit again, when you create it from the search results.
|
||||
|
||||
Following env configuration options are available:
|
||||
The following env configuration options are available:
|
||||
|
||||
* `PROVIDER_OCTOPART_CLIENT_ID`: The client ID you got from Nexar (mandatory)
|
||||
* `PROVIDER_OCTOPART_SECRET`: The client secret you got from Nexar (mandatory)
|
||||
|
@ -109,18 +108,18 @@ Following env configuration options are available:
|
|||
Part-DB will save the prices in their native currency, and you can use Part-DB currency conversion feature to convert
|
||||
it to your preferred currency.
|
||||
* `PROVIDER_OCOTPART_COUNTRY`: The country you want to get prices in if available (optional, 2 letter ISO-code,
|
||||
default: `DE`). To get correct prices, you have to set this and the currency setting to the correct value.
|
||||
default: `DE`). To get the correct prices, you have to set this and the currency setting to the correct value.
|
||||
* `PROVIDER_OCTOPART_SEARCH_LIMIT`: The maximum number of results to return per search (optional, default: `10`). This
|
||||
affects how quickly your monthly limit is used up.
|
||||
* `PROVIDER_OCTOPART_ONLY_AUTHORIZED_SELLERS`: If set to `true`, only offers
|
||||
from [authorized sellers](https://octopart.com/authorized) will be returned (optional, default: `false`).
|
||||
|
||||
**Attention**: If you change the octopart clientID after you have already used the provider, you have to remove the
|
||||
**Attention**: If you change the Octopart clientID after you have already used the provider, you have to remove the
|
||||
OAuth token in the Part-DB database. Remove the entry in the table `oauth_tokens` with the name `ip_octopart_oauth`.
|
||||
|
||||
### Digi-Key
|
||||
|
||||
The Digi-Key provider uses the [Digi-Key API](https://developer.digikey.com/) to search for parts and getting shopping
|
||||
The Digi-Key provider uses the [Digi-Key API](https://developer.digikey.com/) to search for parts and get shopping
|
||||
information from [Digi-Key](https://www.digikey.com/).
|
||||
To use it you have to create an account at Digi-Key and get an API key on
|
||||
the [Digi-Key API page](https://developer.digikey.com/).
|
||||
|
@ -128,7 +127,7 @@ You must create an organization there and create a "Production app". Most settin
|
|||
grant access to the "Product Information" API.
|
||||
You will get a Client ID and a Client Secret, which you have to put in the Part-DB env configuration (see below).
|
||||
|
||||
Following env configuration options are available:
|
||||
The following env configuration options are available:
|
||||
|
||||
* `PROVIDER_DIGIKEY_CLIENT_ID`: The client ID you got from Digi-Key (mandatory)
|
||||
* `PROVIDER_DIGIKEY_SECRET`: The client secret you got from Digi-Key (mandatory)
|
||||
|
@ -138,7 +137,7 @@ Following env configuration options are available:
|
|||
|
||||
The Digi-Key provider needs an additional OAuth connection. To do this, go to the information provider
|
||||
list (`https://your-partdb-instance.tld/tools/info_providers/providers`),
|
||||
go the Digi-Key provider (in the disabled page) and click on the "Connect OAuth" button. You will be redirected to
|
||||
go to Digi-Key provider (in the disabled page), and click on the "Connect OAuth" button. You will be redirected to
|
||||
Digi-Key, where you have to log in and grant access to the app.
|
||||
To do this your user needs the "Manage OAuth tokens" permission from the "System" section in the "System" tab.
|
||||
The OAuth connection should only be needed once, but if you have any problems with the provider, just click the button
|
||||
|
@ -146,13 +145,13 @@ again, to establish a new connection.
|
|||
|
||||
### TME
|
||||
|
||||
The TME provider use the API of [TME](https://www.tme.eu/) to search for parts and getting shopping information from
|
||||
The TME provider uses the API of [TME](https://www.tme.eu/) to search for parts and getting shopping information from
|
||||
them.
|
||||
To use it you have to create an account at TME and get an API key on the [TME API page](https://developers.tme.eu/en/).
|
||||
You have to generate a new anonymous key there and enter the key and secret in the Part-DB env configuration (see
|
||||
below).
|
||||
|
||||
Following env configuration options are available:
|
||||
The following env configuration options are available:
|
||||
|
||||
* `PROVIDER_TME_KEY`: The API key you got from TME (mandatory)
|
||||
* `PROVIDER_TME_SECRET`: The API secret you got from TME (mandatory)
|
||||
|
@ -171,7 +170,7 @@ You have to create an account at Farnell and get an API key on the [Farnell API
|
|||
Register a new application there (settings does not matter, as long as you select the "Product Search API") and you will
|
||||
get an API key.
|
||||
|
||||
Following env configuration options are available:
|
||||
The following env configuration options are available:
|
||||
|
||||
* `PROVIDER_ELEMENT14_KEY`: The API key you got from Farnell (mandatory)
|
||||
* `PROVIDER_ELEMENT14_STORE_ID`: The store ID you want to use. This decides the language of results, currency and
|
||||
|
@ -185,11 +184,11 @@ information from [Mouser](https://www.mouser.com/).
|
|||
You have to create an account at Mouser and register for an API key for the Search API on
|
||||
the [Mouser API page](https://www.mouser.de/api-home/).
|
||||
You will receive an API token, which you have to put in the Part-DB env configuration (see below):
|
||||
At the registration you choose a country, language and currency in which you want to get the results.
|
||||
At the registration you choose a country, language, and currency in which you want to get the results.
|
||||
|
||||
*Attention*: Currently (January 2024) the mouser API seems to be somewhat broken, in the way that it does not return any
|
||||
information about datasheets and part specifications. Therefore Part-DB can not retrieve them, even if they are shown
|
||||
at the mouser page. See [issue #503](https://github.com/Part-DB/Part-DB-server/issues/503) for more infos.
|
||||
at the mouser page. See [issue #503](https://github.com/Part-DB/Part-DB-server/issues/503) for more info.
|
||||
|
||||
Following env configuration options are available:
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ all text and search fields in Part-DB.
|
|||
|
||||
### Currency symbols
|
||||
|
||||
Please not the following keybindings are bound to a specific keycode. The key character is not the same on all
|
||||
Please note, the following keybindings are bound to a specific keycode. The key character is not the same on all
|
||||
keyboards.
|
||||
It is given here for a US keyboard layout.
|
||||
|
||||
|
@ -108,7 +108,7 @@ For a German keyboard layout, replace ; with ö, and ' with ä.
|
|||
|
||||
### Others
|
||||
|
||||
Please not the following keybindings are bound to a specific keycode. The key character is not the same on all
|
||||
Please note the following keybindings are bound to a specific keycode. The key character is not the same on all
|
||||
keyboards.
|
||||
It is given here for a US keyboard layout.
|
||||
|
||||
|
|
|
@ -7,12 +7,12 @@ parent: Usage
|
|||
# Labels
|
||||
|
||||
Part-DB support the generation and printing of labels for parts, part lots and storage locations.
|
||||
You can use the "Tools -> Label generator" menu entry to create labels, or click the label generation link on the part.
|
||||
You can use the "Tools -> Label generator" menu entry to create labels or click the label generation link on the part.
|
||||
|
||||
You can define label templates by creating Label profiles. This way you can create many similar looking labels with for
|
||||
You can define label templates by creating Label profiles. This way you can create many similar-looking labels with for
|
||||
many parts.
|
||||
|
||||
The content of the labels is defined by the templates content field. You can use the WYSIWYG editor to create and style
|
||||
The content of the labels is defined by the template's content field. You can use the WYSIWYG editor to create and style
|
||||
the content (or write HTML code).
|
||||
Using the "Label placeholder" menu in the editor, you can insert placeholders for the data of the parts.
|
||||
It will be replaced by the concrete data when the label is generated.
|
||||
|
@ -20,7 +20,7 @@ It will be replaced by the concrete data when the label is generated.
|
|||
## Label placeholders
|
||||
|
||||
A placeholder has the format `[[PLACEHOLDER]]` and will be filled with the concrete data by Part-DB.
|
||||
You can use the "Placeholders" dropdown in content editor, to automatically insert the placeholders.
|
||||
You can use the "Placeholders" dropdown in the content editor, to automatically insert the placeholders.
|
||||
|
||||
### Common
|
||||
|
||||
|
@ -124,12 +124,12 @@ the label generator settings:
|
|||
|
||||
The default used font (DejaVu) does not support all characters. Especially characters from non-latin languages like
|
||||
Chinese, Japanese, Korean, Arabic, Hebrew, Cyrillic, etc. are not supported.
|
||||
For this we use [Unifont](http://unifoundry.com/unifont.html) as fallback font. This font supports all (or most) unicode
|
||||
characters, but is not as beautiful as DejaVu.
|
||||
For this, we use [Unifont](http://unifoundry.com/unifont.html) as fallback font. This font supports all (or most) Unicode
|
||||
characters but is not as beautiful as DejaVu.
|
||||
|
||||
If you want to use a different (more beautiful) font, you can use the [custom fonts](#use-custom-fonts-for-pdf-labels)
|
||||
feature.
|
||||
There is the [Noto](https://www.google.com/get/noto/) font family from Google, which supports a lot of languages and is
|
||||
available in different styles (regular, bold, italic, bold-italic).
|
||||
For example, you can use [Noto CJK](https://github.com/notofonts/noto-cjk) for more beautiful Chinese, Japanese
|
||||
For example, you can use [Noto CJK](https://github.com/notofonts/noto-cjk) for more beautiful Chinese, Japanese,
|
||||
and Korean characters.
|
|
@ -10,9 +10,9 @@ Following you can find miscellaneous tips and tricks for using Part-DB.
|
|||
|
||||
## Create data structures directly from part edit page
|
||||
|
||||
Instead of first creating a category, manufacturer, footprint, etc. and then creating the part, you can create the
|
||||
Instead of first creating a category, manufacturer, footprint, etc., and then creating the part, you can create the
|
||||
data structures directly from the part edit page: Just type the name of the data structure you want to create into the
|
||||
select field on the part edit page and press "Create new ...". The new datastructure will be created, when you save
|
||||
select field on the part edit page and press "Create new ...". The new data structure will be created when you save
|
||||
the part changes.
|
||||
|
||||
You can create also create nested data structures this way. For example, if you want to create a new category "AVRs",
|
||||
|
@ -20,23 +20,23 @@ as a subcategory of "MCUs", you can just type "MCUs->AVRs" into the category sel
|
|||
The new category "AVRs" will be created as a subcategory of "MCUs". If the category "MCUs" does not exist, it will
|
||||
be created too.
|
||||
|
||||
## Builtin footprint images
|
||||
## Built-in footprint images
|
||||
|
||||
Part-DB includes several builtin images for common footprints. You can use these images in your footprint
|
||||
Part-DB includes several built-in images for common footprints. You can use these images in your footprint
|
||||
data structures,
|
||||
by creating an attachment on the datastructure and selecting it as preview image.
|
||||
by creating an attachment on the data structure and selecting it as the preview image.
|
||||
Type the name of the footprint image you want to use into the URL field of the attachment and select it from the
|
||||
dropdown menu. You can find a gallery of all builtin footprint images and their names in the "Builtin footprint image
|
||||
gallery",
|
||||
which you can find in the "Tools" menu (you maybe need to give your user the permission to access this tool).
|
||||
which you can find in the "Tools" menu (you may need to give your user the permission to access this tool).
|
||||
|
||||
## Parametric search
|
||||
|
||||
In the "parameters" tab of the filter panel on parts list page, you can define constraints, which parameter values
|
||||
have to fulfill. This allows you to search for parts with specific parameters (or parameter ranges), for example you
|
||||
In the "parameters" tab of the filter panel on parts list page, you can define constraints, and which parameter values
|
||||
have to fulfill. This allows you to search for parts with specific parameters (or parameter ranges), for example, you
|
||||
can search for all parts with a voltage rating of greater than 5 V.
|
||||
|
||||
## View own users permissions
|
||||
## View own user's permissions
|
||||
|
||||
If you want to see which permissions your user has, you can find a list of the permissions in the "Permissions" panel
|
||||
on the user info page.
|
||||
|
@ -49,10 +49,8 @@ part).
|
|||
You can find a list of supported features in the [KaTeX documentation](https://katex.org/docs/supported.html).
|
||||
|
||||
To input a LaTeX equation, you have to wrap it in a pair of dollar signs (`$`). Single dollar signs mark inline
|
||||
equations,
|
||||
double dollar signs mark displayed equations (which will be its own line and centered). For example, the following
|
||||
equation
|
||||
will be rendered as an inline equation:
|
||||
equations, double dollar signs mark displayed equations (which will be their own line and centered).
|
||||
For example, the following equation will be rendered as an inline equation:
|
||||
|
||||
```
|
||||
$E=mc^2$
|
||||
|
@ -78,7 +76,7 @@ free API used by default only supports the Euro as base currency.
|
|||
|
||||
On almost any editing operation it is possible to add a comment describing, what or why you changed something.
|
||||
This comment will be written to changelog and can be viewed later.
|
||||
If you want to enforce your users to add comments to certain operations, you can do this by setting
|
||||
If you want to force your users to add comments to certain operations, you can do this by setting
|
||||
the `ENFORCE_CHANGE_COMMENTS_FOR` option.
|
||||
See the configuration reference for more information.
|
||||
|
||||
|
@ -86,7 +84,7 @@ See the configuration reference for more information.
|
|||
|
||||
For maker spaces and universities with a lot of users, where each user can have his own stock, which only he should be
|
||||
able to access, you can assign
|
||||
the user as "owner" of a part lot. This way, only him is allowed to add or remove parts from this lot.
|
||||
the user as "owner" of a part lot. This way, only he is allowed to add or remove parts from this lot.
|
||||
|
||||
## Update notifications
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue