I am using IJC 5.11.4 and created a project with local database (the project and other files are not in my local machine, they are in a shared server[network map drive]).
Now please let me know how can I assign users and passwords for those whom I can give rights to access the data, and also certain fields which can be edited by specific users.
For the same, I tried Schema > Security > Username/password using IJC database - but couldn't succeed.
Please let me know how to configure efficiently the users.
I move your question to the forum of IJC; they will answer soon.
Thanks for the response, and it worked well.
But I need to play with it because when I assigned just Role_User, the user is not able to view the table other than the admin.
Meanwhile, got an error message which is attached.
1. The users are not able to login at the same time into same project (shared).
2. For each data tables, I gave public access to the grid view. But users are not able to login.
3. When a user logged into shared project, the user is not able to edit the values.
Under Entities in Schema settings, the permisions are allowed to edit values.
Please let me know whether all users should have the license installed?
Users are given ROLE_EDIT_DATA and ROLE_USER credentials with respective password.
Please let me know how to solve this issue.
1. Did you configure your shared project correctly? Here is the relevant documentation page: https://www.chemaxon.com/instantjchem/ijc_latest/docs/admin/project_deploy.html
/>What error does it throw?
2. This could be problem with security configuration. For example, if you use "Username/password using simple text file" template, users should be able to log in by user/user credentials by default. Isn't it releated to #1?
3. This is strange, again. Could not it be solved by #1?
Yes all users should have the license installed.
Can you please elaborate the first problem? What does it say etc... log file would be welcome as well.
I am working on it, meanwhile please let me know whether the academic license for IJC will work for this deployment?
Find the enclosed log file.
Hi Giri, thanks for the file. There are some errors, but anything specific. It needs more investigation.
Yes, academic license should be OK for this.
But, I am trying to place the shared files/directories in a network server where web servers are not configured.
So, the network drive can be mapped to my or user's local PC. (\\xx.xx.xxx.xxx\giri_db)
Now, please let me know how can I open a shared project without http:// (or this is mandatory as a web server?)
Please use the path in form file:destination eg. on local machine it would be file:C:/chemaxon/sharedConfiguration.ijp.
You have two options how to open a shared project when running local IJC instance.
Go to File->Open Shared Projects... and enter the path manually. Note that for local or network files (not on web server) file: prefix have to be used.
Use --openUrl startup option. It can be set in etc/instantjchem.conf file in IJC installation folder. Specification of startup command is found here. The arguments are case sensitive.
Moreover the shared projects can be managed from Tools->Options->Miscellaneous->Shared Projects.
I got the URL validated to my network drive where it has ijc-2090-shared.ijp, ijc-2090-shared.zip files and ijc-2090-shared directory (normal IJC project directory).
Once I try to open the shared project using file:\\10.xx.xxx.xx\giri_db\2090-DB\ijc-2090-shared.ijp, an error message pop up saying "Installation of project ijc-2090-shared failed.no protocol: ijc-2090-shared.zip" and further it asks for YES or NO to extended the time-out.
I'm sorry, could not replicate the error on my side. Could you please send me log file recording the event? There should be an exception telling what is wrong.
thanks a lot for the log. I'll ivestigate the exceptions tomorrow and let you know as soon as real cause will be determined.
I'm sorry for not having a proper answer yet. Apparently there is some magic going on. I was able to replicate the problem on WinXP, but not it works without an error - the same schema, the same IJC version.
Have you tried to deploy the project (or a different one) in the meantime? Please try it again, it may start to work.
Anyway I'll be working on this issue.
Good news! There is a workaround, how to overcome the problem. In the Open Shared Project... dialog, please ensure that the URL contains only "/" slashes in the patch and no "\" back slashes.
I'm sorry for this inconvenience and hope it helps.
Thanks, now three users are able to access database at the same time.
I have a clarification, when admin/any user updates one or two structures it is not updated to the other users/admin repectively. Since we all are working on the same database and updating rows (1-2000 - admin, 2001 to 5000 user1) and we are not able to see the updates (the person who updated the row can see it, but not others).
I tried playing around with schema, but not able to figure out the issue.
The form view or grid view is shared to all users.---
I'm sorry but must explain another important nature of shared projects. Actually each user access its own database stored on his computer. The shared project is only copyied from a network location to local machine. These local changes can be uploaded to the server of course, but the only way is to update the shared project configuration and subsequently upload it to the server. Updating projects is also done from Create Shared Projects... dialog.
This restriction is only true for Local (Derby) DB. Data which are stored in Oracle or MySQL can be editted simultaneously by more users in normal and shared projects.
If you want more users accessing the same DB at the time then the only solution is to migrate to MySQL or Oracle.
The Derby DB is generally restricted in a way that only one access is possible at the time and we can not overcome this in InstantJChem.
Thanks for your understanding.
I think there should be more work around to have the DB updated.
So, using create shared projects > Update existing configuration - can we update the actual database by a user or admin? I do not want to mess up with trail and error. Can you please suggest whether a user can create shared project with updating the exisiting configuration?
eg: if user 1 completed updating 1-5000 rows and user 2 updated from 5001 - 10000 rows. And respective users creates shared project by updating it one by one, will this update the original database which can later accessed by admin or other users (including updates from user1 and user2)
If my query is confusing, I am interested to share my screen with IJC for better understanding.
Well, updating shared project configuration for users is generally possible, but not an easy task. The user would need to copy the files to the location where the shared project is deployed (usually webserver). Is this an option?
Ad the usage example: The user 2 does not see the change until user 1 finishes editing and upload the confoguration to the server... If user 2 starts working on the project before user 1 finishes the upload of shared configuration, the changes made by user 1 will be lost when user 2 upload his changes to the server.
Using Local (Derby) DB is really not suitable for sharing data with multiple users...
And shared projects build at top of Local DB are ment to be more or less "static". It is perfectly fine when only one user edits the database and the others read only.
I would recommend you to use MySQL if everyone from the group must edit database.
I'm sorry if this is confusing for you, we may have a call if you prefer.
Giri, and please let us know if you thinking about using IJC with MySQL.
We have been using IJC with a MySql database for a while now, and i can wholeheartedly reccomend it.
There are a couple things to watch out for though.
- think throught your database settings. After a lot of experimenting we are now using the following (and more)
innodb_buffer_pool_size = 7G
innodb_log_file_size = 1792M
innodb_lock_wait_timeout = 10
meaning: it creates a separate file for each table. Otherwise it would put everything in one huge file (all tables and even all databases) wich is pretty awefull for robustness.
It will use a bufferpool (to cash data) of 7G, the maximum is just under 8G. 8G is not possible. you can never have enough of this as long as there is enough ram in your server, actually 8G is not enough for us :)
The logfilesize setting has to be exactly bufferpool/4
It will wait 10 seconds for a lock on a table. That is more then enough. As there is a bug where a lock is not aquired doing a search on a large table the first time you do a search, this saves you quite some time as the default is something silly, making you wait for minutes untill you get the error and can circumvent it by just running the query again.
- after you set up that a project uses credentials stored in the IJC tables and you set up at least one user that can edit the schema, you have to remove the admin/admin 'backdoor' in the connection schema. If you forget this your schema will basically be unprotected and open to be edited by anyone.
- if you want to have different schemas with different userrights in them (so user A can edit in schema1 but only read in schema2) then you need to put those in separate databases within the mysql instance. This is unfortunate, as it makes password management cumbersome.
Ellert, many thanks for your valuable comments. We appreciate it!
Recently I updated IJC to 6.0 and I am not able to use the shared project (as it requires enterprise license).
Shared project functionality was working in 5.x.x versions, could you please fix it or should I downgrade from 6.0 to 5.x.x.
Thanks for the support
It's true that it requires entriprise license, we are sorry about it and it will be changed in IJC 6.0.1. Opening shared projects should be possible with the Standard license only. We expect to release version 6.0.1 this week.
Thanks for your understanding.