Menu

Partial import for table via csv, 250 and incomplete creation

cc-smart
2018-07-06
2018-07-09
  • cc-smart

    cc-smart - 2018-07-06

    Greetings.
    Importing CSV data with table creation fails. Some observations in the context:

    1) New tables do not show up for assignemnt of data to be importent, if that table is created after the 1st access to the import menu. Example: Create new table A manually. Got to partial import and try to choose table A for assignment. Table A is available for assignment. Manually create table B. Go to partial import and try to choose tbale B. Table B will not be available for assignment until you leave limbas, reopen the browser and relogin.

    2) Any import under all conditions i considered failed with "250 error". The first problem is that this message contains no information for the user. No information for what went wrong, nor how to potentially get to this information.

    3) In the import progress bar table creation seems to complete. However, new tables created by the partial import with data, do not show up anywhere in Limbas, except in manual access via admin->tools->SQL editor . IE, it seems like Limbas metadata creation is incomplete.

    Best regards.

     
  • cc-smart

    cc-smart - 2018-07-06

    In addition to 3)

    Deleting a table also does not remove the table from views until relogin.

     
  • Peter Greth

    Peter Greth - 2018-07-06

    Hello cc-smart,

    Limbas uses PHP sessions to cache data like created tables, views etc. This means that you have to reset the session after modifying any table structure. For this purpose the administrator sees a "reset" button in the top-right corner which he can use to rebuild the session. This should explain 1) and 3).

    In order to solve 2), you should have a look at the limbas error report ("admin" -> "error-report") which shows sql error messages. If it is empty, maybe the apache-user is not given recursive write-permissions on the dependent directory.

    Greetings,
    Peter

     
  • cc-smart

    cc-smart - 2018-07-06

    Thanks for your reply.

    Regarding session cache, i would suggest to neither consider the idea of asking to executing such a refresh nor the idea of the user understanding when that would be reasonable or just clicking that whenever ther is a problem, as reasonable. The software itself knows best when it is and should then trigger such or find other ways to avoid the problem. Such things IMO can make a complex and well done system appear broken and incomplete.

    WRT to 2 in IMO, if "250" does not carry valuable information then it should be replaced by the world "unknown" for clarity, otherwise specify what 250 does mean. If "250" generally leads to the recommendation to check said log, then it could say please check the log in form of a hyperlink, then user knows what to do for next steps. As was unseccusful earlier today creating another post (some limit) cant help but paste here what i got in the log, opening a different topic in the same thread, sorry for that...

    setup_import /var/www/html/limbas.local/limbas_src/admin/tools/import.dao 409
    ERROR: syntax error at or near "("; Error while executing the query
    INSERT INTO (ID,ERSTUSER,iso3166_1_alpha_2,iso3166_1_alpha_3,iso3166_1_numeric,iso4217_currency_name,m49,capital,continent,dial,edgar,geoname_id,languages,region_code,tld) VALUES (207,1,'GS','SGS',239,'No universal currency','239','Grytviken','AN','500','1L',3474415,'en','419','.gs')

    While at it on the topic of UI, i would also like to recommend to avoid abbreviations in UI for which you would need a companion dictionary for translation in addition to the text on screen.

    In this case the advanced search interface in table view, reading "CS" for case sensitive.

    In addition i would like to suggest using for example a crowdsourced platform to improve translations. Meanwhile find some recommendations to replace text in advanced search window to change FROM - TO:

    FROM - TO
    after - for
    whole field - entirely matches
    part of fieldcontent - contains
    begin of fieledcontent - starts with
    empty field - is empty
    not empty field - remove, it is negation of "is empty"
    CS - case sensitive
    negation - negate (boolean NOT)

    Thanks and best regards,
    Michael

     
  • Axel Westhagen

    Axel Westhagen - 2018-07-06

    Hi Michael

    according to the number of tables and fields the generation of session can be take a while. So you can do other imports or change settings in a performant way and at the end you can reset your session. Nevertheless we can get a warning that a reset can be necessary.

    "250 error" means 250 INSERTs failed. Similiar to our translation we can give a better error message like 250 INSERTs failed. The error log shows all 250 failed INSERTs

    "INSERT INTO (ID,ERSTUSE .... " failed because of missing TABLENAME. INSERT INTO TABELNAME (
    We will try to reproduce CSV imports.

    We use abbreviations in UI because of reducing session size in PHP. The language table has 1764 entries per language an will expand in every release

    To improve our translations you are welcome to help. In admin->setup->language you can find a administration tool to translate or change entrys to other languages. You can provide us your translation by export table "lmb_lang"

    Thanks for interest

    Regards Axel

     
  • cc-smart

    cc-smart - 2018-07-06

    I will provide the translation after review.
    However i have some questions regarding that:

    • What are "language-table" and "local language table" respectively.

    • Same translation IDs may actually be used in several places. For that reason and generally it would be advantageous to know where translations are used. Is it possible to produce such data indicating these uses / inetrfaces per translation ID ?

    • In some cases what works as 1 item in german (search result: Treffer is identical for singular and plural) does not work as 1 item in other language result/results. In other cases, different meanings exist. "A nach B" = "A after B"; "Suchen nach" : " Search for" What to do ?

    Best regards

     

    Last edit: cc-smart 2018-07-06
  • Axel Westhagen

    Axel Westhagen - 2018-07-06

    system language table includes all system items like menu, contextmenu, messages, failures, headers, descriptions and system entries. It is maintained by us or community members.
    local language table includes all user-specific items like table/view-names, field-names, extended menustructure, formulare-names, report-names and so on. It will be generated by limbas with default language registered in "envvar settings" (admin->setup->envvar->default_language) and can be translated by project-admin to other languages if needed.

    For translating you can set admin->setup->envvar->debug_lang to "1". After reset you can see the language ID before language items

    The is no plan for plural items yet. We try to reword or use 2 language items if nessacary.

    please visit: http://www.limbas.org/wiki/Sprache/en

    Best regads Axel

     
  • cc-smart

    cc-smart - 2018-07-09

    A few changes, not complete but believed to be an improvement.

    Please let me know if/when you have updates regarding csv import.

     

    Last edit: cc-smart 2018-07-09

Log in to post a comment.

MongoDB Logo MongoDB