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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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.
In addition to 3)
Deleting a table also does not remove the table from views until relogin.
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
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
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
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
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
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