Hi

I am trying to upload an article with a pubmed ID, using the biblio create content, I use the PubMed lookup and looking for a PMID "populate using pubmed". The message I get is:
"No data available for PubMed ID: 20473126"

I have enabled the pubmed integration module, but the message I get is eve longer :

warning: simplexml_load_file() [function.simplexml-load-file]: URL file-access is disabled in the server configuration in /home/content/14/6186114/html/dana/modules/pubmed_integration/pubmed_integration.module on line 730.
warning: simplexml_load_file(http://...@gmail.com) [function.simplexml-load-file]: failed to open stream: no suitable wrapper could be found in /home/content/14/6186114/html/dana/modules/pubmed_integration/pubmed_integration.module on line 730.
warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id=..." in /home/content/14/6186114/html/dana/modules/pubmed_integration/pubmed_integration.module on line 730.
Failed to fetch object from http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id=... &retmode=xml&tool=Drupal%20Hip+Arthroscopy+Information&email=...@gmail.com.

I have imported many article before, and this issue is not only for this PMID.

Any ideas?

Thanks

Dana

Comments

rjerome’s picture

Hi Dana,

You don't need the "pubmed integration module".

I think you are having the same issue as is described here... http://drupal.org/node/658864#comment-2387978 ( you need "allow_url_fopen = On" in your php.ini file.)

Ron.

botser’s picture

Hey Ron,

Thanks for the reply, BTW I realy like the biblio module - it is great, thanks a lot for that as well.

Anyway, I did change the php.ini file to allow bigger file uploads, about a week ago, it might have caused the problem. I don't understand anything about PHP.

I have pasted bellow my php5.ini . Do I need do make any changes?

Thanks again,

Dana


register_globals = off
allow_url_fopen = off

expose_php = Off
max_input_time = 60
variables_order = "EGPCS"
extension_dir = ./
upload_tmp_dir = /tmp
precision = 12
SMTP = relay-hosting.secureserver.net
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

upload_max_filesize = 100M
post_max_size = 200M
memory_limit = 400M

[Zend]
zend_extension=/usr/local/zo/ZendExtensionManager.so
zend_extension=/usr/local/zo/4_3/ZendOptimizer.so
rg_emulation=off

rjerome’s picture

Hi Dana,

I think just one change is required, as I mentioned previously, "allow_url_fopen" needs to be "on", and I see that it is off in the listing you posted above, so just change

allow_url_fopen = off

to ...

allow_url_fopen = on

restart the webserver and you should be good to go.

Ron.

botser’s picture

Thanks again Ron,

Indeed it solved the problem.

No more warning messages, however I can import only by using the PubMed integration module. When I try to import through the PubMed ID function, all the fields appear empty. It seems that the PubMed integration has blocked this option, I have tried to disable the pubmed integration module but it didn't help.

Do you know this issue, is it an issue at all or did I miss something simple.

Dana

rjerome’s picture

You could always try completely deleting the PubMed Integration module from your Drupal installation (after disabling and uninstalling it), that way you can be sure it's not interfering.

botser’s picture

hey Ron, It didn't help

I have disabled the PubMed integration and than deleted it, but the fields are still empty after the import using the PubMed ID.

I will let the server a few hours to relax, it is hosted at Godaddy. Hopefully it will work tomorrow.

thanks again.

Dana

botser’s picture

Hey Ron
I still cannot import using the pubmed lookup - I am getting empty fields.
any idea how to reset it. Would you recommend to update the module to 6.2.dev?

Dana

rjerome’s picture

Did you remove any and all traces of the Pubmed Integration module? If so, you could try the 2.x branch and see what happens. It doesn't make any changes to database, so you could always go back.

botser’s picture

It didn't work, I still get empty fields when I use the pubmed lookup option. However, in case the PMID doesn't exists - I do get a message: "No data available for PubMed ID: xxxxxx" - So the connection to the server is fine.

1. I made sure pubmed integration is uninstalled
2. updated to the latest biblio version 6.2.x
3. ran the update.php - which updated #6028 - "CREATE TABLE {cache_biblio_csl_object} ( `cid` VARCHAR(255) NOT NULL DEFAULT '', `data` LONGBLOB DEFAULT NULL, `expire` INT NOT NULL DEFAULT 0, `created` INT NOT NULL DEFAULT 0, `headers` TEXT DEFAULT NULL, `serialized` SMALLINT NOT NULL DEFAULT 1, PRIMARY KEY (cid), INDEX expire (expire) ) /*!40100 DEFAULT CHARACTER SET UTF8 */"

Any ideas?

rjerome’s picture

Still sounds like the problem discussed in #2 and #3 above. What is the PMID in question?

botser’s picture

there is a difference from #2 to now.
before I did the changes I got a message "No data available for PubMed ID: 20473126", and I couldn't import even through the Pubmed integration module.
after the changes - I get empty fields on the edit page, and I could (before it was uninstalled) use the Pubmed integration module to import.

I believe the pubmed integration module created the problem, and I don't know how to revert the changes.

thnaks

Dana

rjerome’s picture

Hmm, There must be something else stopping the connection. If you click on the following link, do you see some data?

http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&retmo...

Do you have access to, and have you checked the PHP error logs?

botser’s picture

I do see the data from the link.
however my website is hosted at godaddy.

What do you mean PHP error logs?

botser’s picture

I have installed the pubmed integration again and uninstalled it completely.
1. The pubmed integration recalled my previous settings (So maybe it leaves some information behind)
2. the pubmed integration is working - importing PMID
3. It didn't help
4. I didn't find it's table on the database

I have tried again to import using the PMID lookup - this time I have opened all the hidden fields as well. I have found that one field - Custom 1, had this line in it "http://www.ncbi.nlm.nih.gov/pubmed/3392097?dopt=Abstract". So not all the fields are empty.

thanks for your help.

Dana

rjerome’s picture

When you say you un-installed pubmed_integration, did you disable the module on the 'admin/build/modules' page, then hit save, then go to the 'admin/build/modules/uninstall' page and select it for uninstall. Then did you actually delete the php files from your Drupal directory? If you did all this and it's still not working, then I'm afraid I really don't know why, especially if pubmed_integration module can import PMID's.

The field you mention above is not one that is downloaded from PubMed, rather it is built from locally supplied data.

Ron.

botser’s picture

mmm...
indeed I did all the steps above as you described.

There must be some way to reset the biblio module, or to completely delete the Pubmed integration module traces.

thanks anyway.

Dana

rjerome’s picture

The one thing I did ask, is have you cleared all your Drupal caches (and even turn caching off if it's on) these settings are on the 'admin/settings/performance' page.

botser’s picture

I did clear the cache, but didn't turn it off till today.
right now the cache is disabled, but the fields are still empty.

BTW - the 6.2X version gives the following message whenever a comment is posted on an article
"Fatal error: Call to undefined function _build_google_scholar_link() in /home/content/14/6186114/html/dana/modules/biblio/biblio.module on line 450"
I turned off the Google scholar link and the message is gone.

jcdufour’s picture

Hello.
I am using Bibliography Module 7.x-1.0-rc7.
I had the same problem with the message "No data available for PubMed ID: xxxxx". I solved this problem by replacing in /sites/all/modules/biblio/modules/pubmed/EntrezClient.php "http" by "https" (PubMed has new policies for using the Entrez Programming Utilities)

Const BASE_URL = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/';

was change to :

Const BASE_URL = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/';

Note that, with this modification, even if the "allow_url_fopen" parameter is set to Off in my php.ini, the "PubMed Lookup" fonction work well for me now.

I've also change http by https in the file /sites/all/modules/biblio/modules/pubmed/EntrezPubmedArticle.php
line 110

'biblio_custom1'  => "https://www.ncbi.nlm.nih.gov/pubmed/{$this->id}?dopt=Abstract",

...but I'not sure that this is mandatory

pbh112’s picture

Thanks for posting jcdufour! Fixed my problem

Sebastian Huter’s picture

I just had the same Issue and it was solved following #19 - thanks!

samberry’s picture

I was also having this issue, and #19 solved this for me. As its clear that these need to be https rather than http, I have created a patch for this. Thanks jcdufour.

liam morland’s picture

Status: Active » Closed (outdated)

This version is no longer maintained. If this issue is still relevant to the Drupal 7 version, please re-open and provide details.

liam morland’s picture

Title: Failure to import article by pub med ID » Use HTTPS to contact PubMed
Version: 6.x-1.14 » 7.x-1.x-dev
Component: Miscellaneous » Code
Category: Support request » Bug report
Status: Closed (outdated) » Needs review

  • Liam Morland committed ed97e7a on 7.x-1.x
    Issue #900818 by Liam Morland: Use HTTPS to contact PubMed
    
liam morland’s picture

Assigned: Unassigned » liam morland
Status: Needs review » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.