Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to save items, import items, and display Neatline - .astext does not exist error #493

Closed
sustasiula opened this issue Oct 23, 2020 · 15 comments
Assignees

Comments

@sustasiula
Copy link

Hello,

I am an Archivist new to Neatline, and I'm having some initial issues. I am running Omeka Classic on VirtualBox LAMP Ubuntu. I installed the most recent versions of omeka (2.7.1), sql (8.0), and php (7.4.3) last week. I installed Neatline, Waypoints, Text, and Simile Time. I also have NeatlineTime installed. If I uninstall Neatline, I am able to save items without an error. If I add Text to the exhibit configuration, I am unable to display Neatline - I get an error. I am unable to search and import items on Neatline. I have uninstalled Neatline and resinstalled the plugin, and uninstalled the other plugins and reinstalled them as well.

When attempting to save an item, I get this error.

Omeka has encountered an error

Zend_Db_Statement_Mysqli_Exception

Mysqli prepare error: FUNCTION omeka.AsText does not exist

Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: FUNCTION omeka.AsText does not exist in /var/www/html/application/libraries/Zend/Db/Statement/Mysqli.php:77
Stack trace:
#0 /var/www/html/application/libraries/Zend/Db/Statement.php(115): Zend_Db_Statement_Mysqli->_prepare()
#1 /var/www/html/application/libraries/Zend/Db/Adapter/Mysqli.php(388): Zend_Db_Statement->__construct()
#2 /var/www/html/application/libraries/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Adapter_Mysqli->prepare()
#3 /var/www/html/application/libraries/Omeka/Db.php(80): Zend_Db_Adapter_Abstract->query()
#4 /var/www/html/application/libraries/Omeka/Db/Table.php(647): Omeka_Db->__call()
#5 /var/www/html/application/libraries/Omeka/Db/Table.php(429): Omeka_Db_Table->fetchObjects()
#6 /var/www/html/plugins/Neatline/models/NeatlineRecordTable.php(53): Omeka_Db_Table->findBySql()
#7 /var/www/html/plugins/Neatline/NeatlinePlugin.php(179): NeatlineRecordTable->syncItem()
#8 /var/www/html/application/libraries/Omeka/Plugin/Broker.php(154): NeatlinePlugin->hookAfterSaveItem()
#9 /var/www/html/application/libraries/Omeka/Record/AbstractRecord.php(301): Omeka_Plugin_Broker->callHook()
#10 /var/www/html/application/libraries/Omeka/Record/AbstractRecord.php(548): Omeka_Record_AbstractRecord->runCallbacks()
#11 /var/www/html/application/libraries/Omeka/Controller/AbstractActionController.php(229): Omeka_Record_AbstractRecord->save()
#12 /var/www/html/application/controllers/ItemsController.php(88): Omeka_Controller_AbstractActionController->editAction()
#13 /var/www/html/application/libraries/Zend/Controller/Action.php(516): ItemsController->editAction()
#14 /var/www/html/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch()
#15 /var/www/html/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch()
#16 /var/www/html/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()
#17 /var/www/html/application/libraries/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()
#18 /var/www/html/application/libraries/Omeka/Application.php(73): Zend_Application->run()
#19 /var/www/html/admin/index.php(28): Omeka_Application->run()
#20 {main}

Thank you in Advance!

Suzanne

@eam5
Copy link
Collaborator

eam5 commented Nov 10, 2020

Hi Suzanne,

I've passed along this issue to Neatline developers for further investigation. I'm not sure at the moment what is causing this error, but we have had some recent issues related to migrating older Omeka databases to sql 8.0. This error may be related, and one we haven't run into yet. Thank you for posting, and we will get back to you when we know more.

Elizabeth

@jeremyboggs
Copy link
Contributor

Hi @sustasiula,

Just to be clear, the item saving issue happens if you only have Neatline installed? Or does this occur if you have other plugins installed? And, you cannot save Neatline items or Omeka Items in general?

Also, to help us debug your issue, could you share the output from your System Information page in your Omeka's admin panel? There's a link in the bottom left of the admin footer to a page that will display this information.

@sustasiula
Copy link
Author

Hello @jeremyboggs

Thank you for your help. It is very much appreciated.

The item saving issue happens only if Neatline is installed. I have a number of plugins installed because we want to fully test Omeka. I troubleshoot disabling all but key plugins (leaving only Neatline and a few other plugins installed) and experienced the same results. If I uninstall Neatline, Omeka works as expected.

All Omeka Items (in the General Items tab) have issues with saving when Neatline is installed. I get an error (reported above) when saving but the item still saves.

I am also unable to import items to Neatline.

System Information
User
Browser Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0
Role super
System
Omeka 2.7.1
PHP 7.4.3 (apache2handler)
OS Linux 5.4.0-52-generic x86_64
MySQL Server 8.0.21
MySQL Client mysqlnd 7.4.3
Apache Apache/2.4.41 (Ubuntu)
PHP Extensions
Regular apache2handler, calendar, Core, ctype, date, dom, exif, FFI, fileinfo, filter, ftp, gettext, hash, iconv, json, libxml, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, Phar, posix, readline, Reflection, session, shmop, SimpleXML, sockets, sodium, SPL, standard, sysvmsg, sysvsem, sysvshm, tokenizer, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zlib
Zend Zend OPcache
Plugins
AdminImages 1.3
Coins 2.0.3
CollectionTree 2.1
Commenting 2.3
ExhibitBuilder 3.4.2
Geolocation 3.2
GuestUser 1.1.3
Neatline 2.6.3
NeatlineFeatures 2.0.5
NeatlineSimile 2.0.4
NeatlineText 1.1.0
NeatlineTime 2.1.2
NeatlineWaypoints 2.0.2
Posters 1.1
ShortcodeCarousel 1.0.1
SimplePages 3.1.2
TextAnalysis 2.5
TimelineShortcode 1.0
Themes
berlin 2.6 (current)
default 2.5.1
seasons 2.5.1

@sustasiula
Copy link
Author

Hello @jeremyboggs -
I just want to add two clarifications to the ticket.

  1. I do not have a "New Record" button when editing in Neatline (where the map and timeline are displayed in the Admin Portal).
  2. When I attempt to import items to Neatline via the "Import Items" link in "Neatline Browse Exhibits," Omeka acknowledges that the items are uploading. "The item import was successfully started," appears at the top of the page. Unfortunately, the items never upload.

Thank you,

Suzanne

@eam5
Copy link
Collaborator

eam5 commented Nov 17, 2020

Hi @sustasiula ,

We're still looking into the issues as reported earlier, but in the meantime, your clarifications are similar to a previous user's issue #478. They were able to resolve with this recommendation: #478 (comment). This may or may not be relevant to your setup, but wanted to share just in case.

Also, need to clarify that the issue with saving Omeka Items comes up when Neatline is installed and NeatlineTime and NeatlineFeatures are both disabled? And items are saving fine when just NeatlineTime or NeatlineFeatures is enabled? The issue with saving Omeka items may be separate from the missing New Record button, we'll continue looking into it.

@sustasiula
Copy link
Author

@eam5 To confirm - The "error-at-save" issue comes up both when Neatline is installed and NeatlineTime and NeatlineFeatures are both disabled AND when NeatlineTime and NeatlineFeatures are enabled. When trying to save, omeka gives the error message.

Thank you so much for your assistance.

@jamienk
Copy link

jamienk commented Dec 9, 2020

We are having exactly the same issue...

@jdave23
Copy link

jdave23 commented Jan 4, 2021

Also experiencing this issue, following an OS upgrade (to Ubuntu LTS 20.04) with corresponding MySQL upgrade (5 to 8).

According to the MySQL devs, this could be related to a deprecated function call. In version 8+, the geolocation functions were modified:

[https://mysqlserverteam.com/detecting-incompatible-use-of-spatial-functions-before-upgrading-to-mysql-8-0/]
(https://mysqlserverteam.com/detecting-incompatible-use-of-spatial-functions-before-upgrading-to-mysql-8-0/)

According to this, the function "AsText()" should now be "ST_AsText()" -- can this be modified directly in the Neatline plugin source?

@jdave23
Copy link

jdave23 commented Jan 7, 2021

Found this reference in /Neatline/helpers/Mysql.php line 35:

return new Zend_Db_Expr('NULLIF(AsText(coverage), "POINT(0 0)")');

I'll try modifying to ST_AsText and see what happens!

@jdave23
Copy link

jdave23 commented Jan 8, 2021

Update: Modifying the helper function did eliminate the "AsText" error referenced above.

AND the "New Record" button now appears.

BUT the inability to name and save a new Neatline record remains, in keeping with the troubleshooting steps referenced above.

The new record's title is fixed at [Untitled], and attempts to save generate a popup red error message above the map stating "There was an error - the record was not saved."

@jeremyboggs
Copy link
Contributor

@jdave23 @jamienk @ sustasiula Thanks for your comments and efforts here! We're trying, slowly, to get this working. We're looking into updating the code to remove any deprecated functions, and replace them with ones compatible with MySQL 8.0. Hopefully they'll be backwards compatible, but we'll test this as well.

@eam5
Copy link
Collaborator

eam5 commented Jan 19, 2021

Update for everyone here - @jdave23 @jamienk @sustasiula - we have a potential patch for the errors occurring with MySQL 8.0. If you are
willing to test out the fix before we make an official release, it would be very helpful:

https://github.com/scholarslab/Neatline/tree/bug/mysql-functions

Please reply in this thread if the above branch resolves the issues for you, and if not, please provide an error log or further details if possible.

Thank you for your patience!

@jdave23
Copy link

jdave23 commented Jan 27, 2021

Hi, all -

Happy to report that the new patch successfully addressed the Neatline issue in my instance. I installed this branch and all records were accessible and recognized:

http://adiuva.me/neatline/show/interrogating-marxism

Thanks for the good work!

  • Dave

@mikesname
Copy link

@eam5 all working find here 👍. Any plans for a release with this fix? 😉

@shane-et-al shane-et-al self-assigned this May 12, 2021
@jeremyboggs
Copy link
Contributor

Fixed in e27de89.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants