arrow-left

All pages
gitbookPowered by GitBook
1 of 21

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Database

hashtag
Create a database

1. Go to your Open Enventory Login page on your web browser

2. On the Login page, fill in the following info: - Database: name for the new database - Username: root - Password: your mysql root password

3. Open Enventory will then create a new empty database

hashtag
Connect databases

This allows for users in one database to see chemicals in another database and/or vice versa.

circle-info

Note: in the default setting, OE only allows user in one database to see if other databases have chemical(s) but not revealing the chemical's location.

If you want to let users in one database to be able to see location of chemicals in another database, after connecting the databases, please follow the instruction in this .

1. Go to your Open Enventory Login page on your web browser

2. Log into your database of interest using root as Username and your mysql root password as Password

3. Go to Settings on Top menus:

4. On the left side menu, choose Manage databases :

5. There are two types of connections:

  • 2-way connections: users in one database can see/search chemicals in another database AND vice versa

  • 1-way connection: users in one database can see/search chemicals in another database BUT NOT vice versa)

choose the desired connection and follow the instruction below.

Step 1: Choose as databases that you want to connect (hold Ctrl while choosing). You can choose more than 2. Click select all if you want to connect all databases

Step 2: Click the button Connect selected databases

Step 3: Click the green check mark ✅

Done! You can now search chemicals in other database(s) in the search page

Using the rubric table, the databases with name in the bold format and listed horizontally in the first row of the table will be able to see/search chemical in database(s) (list vertically in the first column) that has checked check box

For example: In the picture below, users in romo database will be able to see/search chemicals in romo_test database BUT users in romo_test database will NOT be able to see/search any chemicals in romo database.

Step 1: using the info above, make the connection of interest by checking the check boxes

Step 2: Click the green check mark ✅

linkarrow-up-right
Change `database-name` in this picture to name of the new database that you want to create
Change "database-name" in this picture to name of the database of interest
"romo" and "romo_test" are 2 databases that will be connected

Search Chemicals

hashtag
Searching Chemicals in Existing Database(s)

circle-exclamation

Make sure “Chemical Search” mode is on

Step 1: choose what type of search: e.g “names, cas, supplier #”

Step 2: choose options: e.g. all words, contain (~ similar to), exact

Step 3: type is your search query, this can be name, CAS, supplier #, best with CAS and name

Step 4: choose database(s): choose one, or several (holding Ctrl while Left-click, or All databases (default)

Step 5: click Search

Video demonstration:

hashtag
Searching Chemicals in Supplier Mode

circle-info

Note: when Suppliers search mode is on (see add chemical via suppliers), Open Enventory search includes chemicals from the local database(s) first

hashtag
Search Chemicals using Structure

circle-info

The default drawing program in Sciformation Vectormol. You can choose a different program by going to: Settings/Settings/Molecule editing/ and change “Structure Drawing Program” to “ChemDoodle (Javascript)” (recommended).

Step 1: choose search with Structures

Step 2: draw structure

Step 3: choose options: contain, similar to, exact, etc.

Step 4: click search

circle-exclamation

If it appears that the search is not accurate in ChemDraw plugin, you have to active the ChemDraw plugin: a) Right click on the background of the chemdraw drawing window b) Help/Activate my ChemDraw Plugin c) Input your activation info the same (from email) as what you did for installation of Chemdraw

Database Backup and Restore

This is procedure to backup Open Enventory database and restore it later on the same server or migrating to a different server

hashtag
For traditional LAMP stack

This guide is for Linux environment with Apache2, PHP and MariaDB (MySQL) (LAMP) stack:

hashtag
Save or Backup Database(s)

hashtag
For chemicals and lab journal databases:

1. In Terminal window, type the following command:

circle-info

Replace [italic_text] (including the square bracket) with specific info:

  • [user]: in most cases, use root (recommended)

circle-info

If you want to compress the SQL backup files, you can use this command instead:

  • | xz was added for compressing SQL file to .xz file

2. Type in password for the user above and then Enter (nothing will show when you are typing the password)

hashtag
For users info:

1. In Terminal window, type the following command:

circle-info

Replace [italic_text] (including the square bracket) with specific info:

  • [user]: in most cases, use root (recommended)

circle-info

While this approach might work well in case of same MySQL or MariaDB version, if you migrate or upgrade SQL, you want to follow the instruction here for better users backup:

2. Type in password for the user above and then Enter (nothing will show when you are typing the password)

hashtag
Restore

Step 1: transfer both files (database and users, if you want to keep the same users and passwords) to the new system/server

Step 2: if you have not done so.

Step 3 (optional):

circle-exclamation

If you have compressed the SQL file as instruction above, you will need to decompress the file first.

This is for compressed file with .xz extension:

Step 4: use ssh and terminal, login as terminal root and run:

circle-info

Replace [italic_text] (including the square bracket) with specific info:

  • [database-name]: use the name of the database that you want to backup

Step 5: go to OE on web browser and login with mysql root account.

triangle-exclamation

If the mysql root user in the old database has password different than the current mysql root user, after step 3 above, the root user password will be changed to the old password.If you don't know the old mysql root password, follow this tutorial to .

Step 6: go to Settings and then click on Recreate users. That should reactivate all users and their passwords.

triangle-exclamation

Again, if you have migrate from MariaDB < 10.4 to MariaDB 10.4+, it might not work and we have to change the command in step 3 above. The reason is because the mysql.user table is deprecated in MariaDB 10.4. You can read more about it .

hashtag
For XAMPP users

While the general steps are similar, the exact paths to the executable command are different for Mac OS and Windows using XAMPP, please follow the corresponding guides below:

hashtag
Save or Backup Database

hashtag
For chemicals and lab journal databases:

Import a list of chemicals

  1. Prepare the Excel file, an example might look similar as below. A few important things:

    • Columns that are highlight in blue are important info.

    • You don't need all of the info that show in this example.

    • Empty cells are OK.

    • The amount need to be “xx Y” with xx is the amount and Y is the unit.

    • For unit, it is best to have all in lower case, for example, “ML” should be either “ml” or “mL”. It is best to convert all unit to lower case (use lower() command in excel).

    • Double check the CAS number column, Open Enventory uses CAS number as primary source to look up chemical info from the internet.

    • See step 9 for more info about each column in the excel sheet.

    • Location column: remove all commas ( , ) if there is any. Dashes ( - ) are ok. Update (2020-02-01): for KV's version of OE, if you updated to version after 2020-02-01, this has been fixed.

circle-info

Update (2020-02-01): for KV's version of OE, if you updated to version after 2020-02-01, steps 2 and 3 below are not necessary any more. KV's version OE (on and after 2020-02-01) now accepts Excel files (*.xlsx and *.xls), comma-separated files (csv) tab-separated files (*.txt). You can find the guide for newer version .

2. Copy all of the cells in this file (Ctrl-C for Windows, Cmd-C for Mac) and paste (Ctrl-V for Windows, Cmd-V for Mac) them into Notepad (Windows) or TextEdit (Mac)

3. Save this new file as your-file-name.txt. The “.txt” part is important.

circle-exclamation

Alternatively, instead of step 2 or 3, you can do the following. (Note: in some cases with some chemicals names, Excel has shown to add quotation marks (“”) around the name when exporting to text file. That is the reason why step 2&3 above is preferred.

Save As… the file using Window Formatted Text (for Mac OS)

For Windows, Office 2016 of Office 365, use “Text (Tab delimited) (*.txt)” option:

4. Login into your database using root user or any users with admin permission

5. Go to Settings

6. Go to Import Tab-separated text file (or Import in KV's version)

7. Choose Browse… and choose the exported text file.

circle-info

Note: in Lines to skip, put 1 if you have a header rows, if not, choose 0

8. Click green check mark

9. Screens as below should show up, you can scroll down to see if they show up correctly (info appear correctly in each row)

10. Choose Column X for each content. If you choose None, that column will not be imported. You can also add a default value for each column that will apply for ALL items being imported.

circle-info

Notes:

  • CAS number: most important info, OE will use this to look up other info (structures, MW, safety data, etc) from this cas #

11. Click green check mark. Screen similar as below should show. Note: line X:… will tell you which lines in the text file is being imported.

12. Depend of how many chemical containers are imported, this might take a long time, so please be patient.

Best Practice for SQL Users Backup

While the quick user backup as this one-line commandmysqldump -u [user] -p mysql > [Path]/[user_backup_filename].sql might work when you have same version for backup and restore SQL. In most cases, you want to implement something similar to the following bash script

hashtag
Backup Users

Step 1: On your server, in terminal, prepare the following bash file using vi (or vim or any text-editor of choice)

Step 2: Paste in the content of the file as follow:

circle-info
  • PASSWORD : change to your root password or the password of the user that you use for the backup process. If you don't use root then change root on line 8 to your user

Step 3: make sure you (or the user that run the mariadb_user_backup.sh file has the sufficient permission (i.e. chown) and make the script file executable:

Step 4: Execute the script file to obtain the user backup file

hashtag
Restore Users

Similar to the guide .

If your new SQL server is newer than your old one, after importing both database(s) and users, you can run the following command in terminal to upgrade MySQL:

Edit Chemicals

hashtag
Step 1: Search chemical in the database:

Search Chemicalschevron-right

hashtag

hashtag
Step 2: Click on the structure

hashtag

hashtag
Step 3: Depends on the type of info you want to edit, choose the corresponding tab below:

Click on ‘Go to molecule’ button to edit structure and structural info (MW, Formula, etc.)

To change the lab related (person responsible, amount, etc.) info, double click on any where around these info

Add a single chemical

circle-exclamation

Add Storage location if not exists: see

hashtag
For chemicals from existing database

Borrow and Return Chemicals

hashtag
In Inventory Mode

hashtag
Borrow a chemical

Step 1: search for the chemical of interest (see Search chemicals section)

vim mariadb_user_backup.sh
path : use your specified path to the output file
  • oe_backup-user-$(date +\%Y\%m\%d).sql : the output file will have the current date concatenated at the end of the file

  • This script above also not save oldroot user info or empty users. You can change it by modify the code on line 12

  • herearrow-up-right
    mariadb_user_backup.sh
    #!/bin/sh
    
    # This bash script is used to save users and permission from mysql database.
    # Ref: https://stackoverflow.com/a/57878326
    # explanation: https://wisdmlabs.com/blog/migrate-mysql-users-one-server-another/ 
    
    HOSTNAME="localhost"
    logininfo="-u root -pPASSWORD"
    outfile="/path/oe_backup-user-$(date +\%Y\%m\%d).sql"
    
    # The line below will save all users except 'root', empty name and specified ones
    mysql ${logininfo} -B -N -e "SELECT CONCAT('\'',user,'\'@\'',host,'\'') from user where user != 'root' AND user != '' AND user not like 'auto%'" mysql | \
    while read uh
    do
       echo "SHOW GRANTS FOR ${uh};"
    done | mysql ${logininfo} -B -N | sed -e 's/$/;/' > ${outfile}
    chmod u+x mariadb_user_backup.sh
    ./mariadb_user_backup.sh
    mysql_upgrade    # Upgrade MySQL data
    systemctl restart mariadb   # Restart mariadb
    [database]: use the name of the database that you want to backup
  • [Path] and [backup_filename] : any path and filename

  • Make sure that you have .xz at the end of the file as above.

    .xz files seem to have the best compression vs bzip2 and gzip for SQL files. You can see more info here arrow-up-rightand herearrow-up-right:

    For example usage of xz, see this linkarrow-up-right.

    [Path] and [backup_filename] : any path and filename

    -v : verbose, give more info
  • k : to keep the compressed file, this will generated the uncompressed file .sql

  • [/path/backup-database] and [/path/backup-user]: any path and filename
    1. In Terminal window, type the following command:
    circle-info

    Replace [italic_text] (including the square bracket) with specific info:

    • [user]: in most cases, use root (recommended).

    • [database]: use the name of the database that you want to backup

    • [Path] and [backup_filename] : any path and filename

    2. Type in password for the user above and then Enter (nothing will show when you are typing the password)

    hashtag
    For users info:

    1. In Terminal window, type the following command:

    circle-info

    Replace [italic_text] (including the square bracket) with specific info:

    • [user]: in most cases, use root (recommended).

    • [Path] and [user_backup_filename] : any path and filename

    2. Type in password for the user above and then Enter (nothing will show when you are typing the password)

    hashtag
    Restore

    Step 1: transfer both files (database and users, if you want to keep the same users and passwords) to the new system/server

    Step 2: create the database from OE web loginarrow-up-right if you have not done so.

    Step 3: use ssh and terminal, login as terminal root and run:

    circle-info

    Replace [italic_text] (including the square bracket) with specific info:

    • [database-name]: use the name of the database that you want to backup

    • [/path/to/backup-database]: any path and filename

    Step 4: go to OE on web browser and login with mysql root account.

    triangle-exclamation

    If the mysql root user in the old database has password different than the current mysql root user, after step 3 above, the root user password will be changed to the old password.

    If you don't know the old mysql root password, follow this tutorial to reset mysql root passwordarrow-up-right.

    Step 5: go to Settings and then click on Recreate users. That should reactivate all users and their passwords.

    triangle-exclamation

    Again, if you have migrate from MariaDB < 10.4 to MariaDB 10.4+, it might not work and we have to change the command in step 3 above. The reason is because the mysql.user table is deprecated in MariaDB 10.4. You can read more about it herearrow-up-right.

    hashtag
    Save or Backup Database

    hashtag
    For chemicals and lab journal databases:

    1. Open a Window Powershell window, type the following command:

    circle-info

    Replace [italic_text] (including the square bracket) with specific info.

    • [user]: in most cases, use root (recommended).

    triangle-exclamation

    In the command above, this part is for the default XAMPP set up. If some error happens, you should find the executable file inside XAMPP folder in your system. You can try to follow this .

    2. Type in password for the user above and then Enter (nothing will show when you are typing the password)

    hashtag
    For users info:

    1. In Terminal window, type the following command:

    circle-info

    Replace [italic_text] (including the square bracket) with specific info:

    • [user]: in most cases, use root (recommended).

    2. Type in password for the user above and then Enter (nothing will show when you are typing the password)

    hashtag
    Restore

    Step 1: transfer both files (database and users, if you want to keep the same users and passwords) to the new system/server

    Step 2: if you have not done so.

    Step 3: use ssh and terminal, login as terminal root and run:

    circle-info

    Replace [italic_text] (including the square bracket) with specific info:

    • [database-name]: use the name of the database that you want to backup

    Step 4: go to OE on web browser and login with mysql root account.

    triangle-exclamation

    If the mysql root user in the old database has password different than the current mysql root user, after step 3 above, the root user password will be changed to the old password.

    If you don't know the old mysql root password, follow this tutorial to .

    Step 5: go to Settings and then click on Recreate users. That should reactivate all users and their passwords.

    triangle-exclamation

    Again, if you have migrate from MariaDB < 10.4 to MariaDB 10.4+, it might not work and we have to change the command in step 3 above. The reason is because the mysql.user table is deprecated in MariaDB 10.4. You can read more about it .

    hashtag

    create the database from OE web loginarrow-up-right
    reset mysql root passwordarrow-up-right
    herearrow-up-right
    Name
    : not too important
  • Empirical formula: do not import this since OE will use this to find the closest chemicals if CAS# is not present or wrong.

  • Amount: = size of the bottle + unit (format should be #+space+unit, for example: 5 g, 125 ml, 1 kg, etc)

  • Still available: the amount that left in the bottles (OK if not imported)

  • Locations: important. Note: Each location will have its own barcode

  • Compartments: = sub-location. Note: each compartment does NOT have its own barcode

  • Barcode: if you already have an existing barcode system, add it here.

  • Suppliers: = suppliers

  • Date open: could be in European style (dd.mm.yyyy) or American style (mm/dd/yy, etc.)

  • herearrow-up-right
    triangle-exclamation

    hashtag
    TODO

    Step-by-step instruction here

    hashtag
    For chemicals from suppliers

    hashtag
    Step 1: change to supplier search and search chemical

    hashtag
    Step 2: choose Create new molecule based on data

    hashtag
    Step 3: add more info: amount, person responsible, etc.

    This clip below is show the process of adding a new chemical from suppliers:

    circle-exclamation

    For custom chemicals or chemical that cannot be found from suppliers list, use Method below.

    hashtag
    Add a single chemical from scratch

    hashtag
    Step 1: choose New

    hashtag
    Step 2: use CAS number (if exists) to pull info from suppliers

    hashtag
    Step 3: add more info

    this section

    Step 2: click Borrow button

    hashtag
    Return a chemical

    Step 1: go to Borrowed chemicals

    Step 2: click Return button

    hashtag
    In Terminal Mode

    hashtag
    Borrow a chemical

    triangle-exclamation

    ❗Computer that connected to the scanner must be ON ❗ Barcode terminal window must be ON and ACTIVE, if not log in with terminal username and pass or contact your local admin ❗ Active barcode terminal look like below:

    Step 1: scan your own barcode

    Step 2: scan chemical barcode

    circle-exclamation

    Watch the terminal window to make sure the info is transmitted/recorded.

    hashtag
    Return a chemical

    triangle-exclamation

    ❗ Computer that connected to the scanner must be ON !!! Barcode terminal window must be ON and ACTIVE

    Action: scan borrowed chemical barcode

    circle-info

    Note: you don’t need to scan the your own barcode beforehand. The scan on a borrowed chemical will return the chemical.

    circle-info

    Note: if the chemical is free and nobody has logged in, scanning the barcode of that chemical will bring up that chemical’s info in the system.

    Search Chemicalschevron-right
    Supplier search mode
    mysqldump -u [user] -p [database] > [Path]/[backup_filename].sql
    mysqldump -u [user] -p [database] | xz > [Path]/[backup_filename].sql.xz
    mysqldump -u [user] -p mysql > [Path]/[user_backup_filename].sql
    unxz -vk [/path/backup-database].sql.xz
    mysql -u root -p [database-name] < [/path/backup-database].sql    #for database restore
    mysql -u root -p mysql < [/path/backup-user].sql    #for users restore, this might not work for mariabd 10.4+ 
    /Applications/XAMPP/xamppfiles/bin/mysqldump -u [user] -p [database] > [Path]/[backup_filename].sql
    /Applications/XAMPP/xamppfiles/bin/mysqldump -u [user] -p mysql > [Path]/[user_backup_filename].sql
    /Applications/XAMPP/xamppfiles/bin/mysql -u root -p [database-name] < [/path/to/backup-database].sql    #for database restore
    /Applications/XAMPP/xamppfiles/bin/mysql -u root -p mysql < [/path/to/backup-user].sql    #for users restore, this might not work for mariabd 10.4+
    [database]: use the name of the database that you want to backup
  • [Path] and [backup_filename] : any path and filename

  • [Path] and [user_backup_filename] : any path and filename
    [/path/to/backup-database]: any path and filename
    linkarrow-up-right
    create the database from OE web loginarrow-up-right
    reset mysql root passwordarrow-up-right
    herearrow-up-right
    c:\Programs\XAMPP\mysql\bin\mysqldump -u [user] -p [database] > [Path]/[backup_filename].sql
    c:\Programs\XAMPP\mysql\bin\mysqldump -u [user] -p mysql > [Path]/[user_backup_filename].sql
    c:\Programs\XAMPP\mysql\bin\mysql -u root -p [database-name] < [/path/to/backup-database].sql    #for database restore
    c:\Programs\XAMPP\mysql\bin\mysql -u root -p mysql < [/path/to/backup-user].sql    #for users restore, this might not work for mariabd 10.4+

    Storages/Locations

    hashtag
    Create a storage location

    circle-exclamation

    The user must have Storage Administrator permission in order to create new storage

    Step 1: After logging into Open Enventory, click on Settings on the top bar navigation.

    Step 2: click on Storages on the Left.

    Step 3: click on the ➕ button

    Step 4: after adding the info, click the checkmark ( ✅ ) button

    hashtag

    hashtag
    Create a list of storage

    triangle-exclamation

    TO DO: to be constructed

    hashtag
    Modify a single storage's information, permissions

    triangle-exclamation

    TO DO: to be constructed

    hashtag
    Modify info for a list of storage

    triangle-exclamation

    TO DO: to be constructed

    hashtag
    Merge two storage locations

    triangle-exclamation

    TODO: add line-by-line instruction

    hashtag
    Delete a storage

    triangle-exclamation

    TO DO: to be constructed

    GIF image

    Dispose of Chemicals

    Go to an active Terminal on your Open Enventory page. It should look similar to the following page.

    1. Scan user barcode (will say you are logged in)

    2. Scan chemical container (will now show chemical information)

    3. Scan barcode for “Delete” (will say “data set will be deleted in 3 seconds, then deleted)

    Notes: If you manually change data (not using the scanner) you will have to click “update” after changing the data manually (mouse and keyboard).

    Borrow and Return Chemicals

    See Borrow and Return Chemicals in Terminal Mode

    Chemicals

    Set Up a Terminal User

    SETTING FOR BARCODE TERMINAL USER

    1. To have a barcode terminal client (stand-alone computer), create a user with permission as below and log in into OE using this user.

    circle-info

    You can save link to this user as a bookmark for easy access, but less secure since the password is embedded in the address as below:

    http://address/index.php?db_name=databasename&user=username&password=password&desired_action=login&lang=en&loginTarget=barcode_terminal

    The following should be changed to your own setting: - adress: your Open Enventory web address - databasename - username - password

    triangle-exclamation

    Keep in mind that the password for Terminal user will be exposed in your bookmark link above

    Delete a chemical container

    triangle-exclamation

    TO DO: to be constructed

    Delete multiple chemical containers

    circle-exclamation

    This function only available in KV's versionarrow-up-right.

    triangle-exclamation

    TO DO: to be constructed

    Terminal Mode

    All of the guides in this section require you to be in an active Terminal. Please contact your site admin for specific details on how to access a terminal page on Open Enventory.

    A terminal site should look similar to this:

    circle-info

    If you are an admin and need to set up a Terminal, please see the following page:

    Set Up a Terminal Userchevron-right

    Users

    hashtag
    User Permissions

    hashtag
    Create a user

    triangle-exclamation

    Do NOT create a user with username starting with "auto". Any user with this kind of username will be deleted when linking databases.

    hashtag
    Change user password

    hashtag
    Change user password using an admin account

    hashtag
    Change one's own password

    First, open up Open Enventory in any web browsers. Your screen should look as follows.

    After logging in you should see the general window for searching chemicals.

    Click on the “Settings” tab top and center of the page (outlined with a red box below).

    This will change the left side bar. At the top of the left side bar you should see “Change password” Click here (the button is outlined with a red box below).

    Your screen should have two boxes as shown below. Fill in both boxes press the “Change password” button right next to the text fields and your password has been changed.

    hashtag
    Create a list of users

    hashtag
    Modify a user's information, permissions

    hashtag
    Delete a user

    hashtag
    Inactivate a user

    Change Chemical Location

    Go to an active Terminal on your Open Enventory page. It should look similar to the following page.

    hashtag
    Moving one single chemical

    1. Scan user barcode (will say you are logged in)

    2. Scan chemical container (will now show chemical information)

    3. Scan new location barcode (will now say “updated and location field will show new location”)

    hashtag
    Moving multiple containers to the same location

    1. Check the 2 boxes “Stock-keeping mode” and “Set storage for all following containers” (the “Set storage for all following containers” will show up after you check “Stock-keeping mode”). Note: you can check by mouse or use the “Barcode for stock-keeping mode” list from Settings menu.

    2. In typical terminal window of database of interest. Login by scanning user barcode

    3. Scan the 1st chemical containers

    4. Scan the new location. The window will show the new location and say the 1st container “… updated”

    5. Scan the 2nd containers, 3rd container, 4th container, etc.

    6. When Done, uncheck “Set storage for all following containers”

    Chemical Inventory

    TODO

    triangle-exclamation

    To be added to this tutorial

    • How to add chemical that is already in the database

    • How to add MSDS sheet

    • How to delete chemicals (3 methods: - normal log-in - barcode scanner - Mass deletion (admin account only)

    • How to print chemical barcode

    • How to change location (and other info) of many chemicals using barcode terminal

    Get Information on a Chemical

    Go to an active Terminal on your Open Enventory page. It should look similar to the following page.

    Without any user logging in, scanning a chemical container barcode will bring up that chemical info.