I have Android 8.1 phone. When I take first picture it saves it ok, but next pictures are all saved as black images. What is the problem?
It's in web/xava/js/openxava.js openxava.executeActionConfirmLosesChangedData = function(application, module, confirmMessage, takesLong, action, argv, range, alreadyProcessed, inNewWindow) { if (openxava.dataChanged) { if (!confirm(openxava.confirmLoseChangesMessage)) return; openxava.dataChanged = false; } openxava.executeAction(application, module, confirmMessage, takesLong, action, argv, range, alreadyProcessed, inNewWindow); }
It's in xava/js/openxava.js openxava.executeActionConfirmLosesChangedData = function(application, module, confirmMessage, takesLong, action, argv, range, alreadyProcessed, inNewWindow) { if (openxava.dataChanged) { if (!confirm(openxava.confirmLoseChangesMessage)) return; openxava.dataChanged = false; } openxava.executeAction(application, module, confirmMessage, takesLong, action, argv, range, alreadyProcessed, inNewWindow); }
It's in web/js/openxava.js openxava.executeActionConfirmLosesChangedData = function(application, module, confirmMessage, takesLong, action, argv, range, alreadyProcessed, inNewWindow) { if (openxava.dataChanged) { if (!confirm(openxava.confirmLoseChangesMessage)) return; openxava.dataChanged = false; } openxava.executeAction(application, module, confirmMessage, takesLong, action, argv, range, alreadyProcessed, inNewWindow); }
Try getView().refresh(); Check what getView().getModelName() returns. It should be Bl201RepAllMat
Try getView().refresh(); Check what getView().getModelName() returns.
Try getView().refresh();
You can define custom editor(s) and use JavaScript for that, like onkeypress event. Have a look at https://www.openxava.org/OpenXavaDoc/docs/customizing_en.html#Customizing-Editors-JavaScript%20in%20editors Do you want to just notify user when he starts changing data (starts typing), or you need to compare data to database record, which would be very inefficient?
You can define custom editor and use JavaScript for that, like onkeypress event. Have a look at https://www.openxava.org/OpenXavaDoc/docs/customizing_en.html#Customizing-Editors-JavaScript%20in%20editors Do you want to just notify user when he starts changing data (starts typing), or you need to compare data to database record, which would be very inefficient?
You must define custom editor and use JavaScript for that, like onkeypress event. Have a look at https://www.openxava.org/OpenXavaDoc/docs/customizing_en.html#Customizing-Editors-JavaScript%20in%20editors Do you want to just notify user when he starts changing data (starts typing), or you need to compare data to database record?
You must define custom editor and use JavaScript for that, like onkeypress event. Have a look at https://www.openxava.org/OpenXavaDoc/docs/customizing_en.html#Customizing-Editors-JavaScript%20in%20editors
Can you post source code?
O, thank you, thank you. It's a just a tiny contribution, I didn't deserved credits. :)
Congratulations on release of new version. You have improved a lot of things. I had a peek on InvoiceDemo and I like it, I think new users will be even more satisfied with OX. I specifically like that Startup time for application in development (embedded Tomcat) improved (x2), I didn't try it yet, that's good for developers. I was surprised that you stand out "Labels and messages for Serbian upgraded." in release notes. That was joyfull for me, thanks for that. I wish you success on new version.
I encourage you to cut answering time to 2 hours... Or even better 2 minutes... :) Ye, ye, I know what you are going to say, but even future maybe users/customers deserve fast support, especially since there aren't too much requests here, but I guess you have to serve paying customers first, I don't how much are there, but probably quite a number. Funny thing is, I overlooked @HideDetailAction annotation somehow in the docs when I was doing my app, but it doesn't matter, I learned about CreateNewElementInCollectionAction,...
I encourage you to cut answering time to 2 hours... Or even better 2 minutes... :) Funny thing is, I overlooked @HideDetailAction annotation somehow in the docs when I was doing my app, but it doesn't matter, I learned about CreateNewElementInCollectionAction, so it turned out usefull for me.
You can use @HideDetailAction Where were you 2 days ago!? You could've save me some time writing code.
You're welcome. Javier would tell you: "Don't thank me, help others as I helped you". :)
You're welcome.
Your queries are malformed. In CapturarIsTaxableMonth query should be: Query query = XPersistence.getManager() // A JPA query // .createQuery("select d.txmtaxable from providertaxablemonth d where d.txmyear=:year and d.txmmonth=:pmonth"); .createQuery("select d.txmTaxable from ProviderTaxableMonth d where d.txmMonth=:txmmonth"); In CapturarIsTaxableMonthStr query should be: Query query = XPersistence.getManager() // A JPA query // .createQuery("select d.txmtaxable from providertaxablemonth d where...
Good.
You have set editable to false instead of true. You want field to be enabled: getView().setEditable("checknumber", true);
It's not checkNumber, it's checknumber: getView().setEditable("checknumber", false);
It's not checkNumber, it should be checknumber: getView().setEditable("checknumber", false);
I tried in Chrome, and it's working ok. I set browser language to italian, but without adding portletLocales=it,en in xava.properties.
Close action is hard-coded like this: addActions(getCollectionElementView().getHideCollectionElementAction()); It adds Collection.hideDetail action to Close button. You can declare @NewAction @NewAction("Entity2.new") private Collection<Entity2> entity2; and create Entity2.new like CreateNewElementInCollectionAction public class CreateNewElementInCollectionAction extends CollectionElementViewBaseAction { @SuppressWarnings("unchecked") public void execute() throws Exception { if (!isParentSaved())...
Action is hard-coded like this: addActions(getCollectionElementView().getHideCollectionElementAction()); It adds Collection.hideDetail action to Close button. You can declare @NewAction @NewAction("Entity2.new") private Collection<Entity2> entity2; and create Entity2.new like CreateNewElementInCollectionAction public class CreateNewElementInCollectionAction extends CollectionElementViewBaseAction { @SuppressWarnings("unchecked") public void execute() throws Exception { if (!isParentSaved()) validateViewValues();...
Action is hard-coded like this: addActions(getCollectionElementView().getHideCollectionElementAction()); It adds Collection.hideDetail action to Close button. You can declare @NewAction @NewAction("Entity2.new") private Collection<Entity2> entity2; and create Entity2.new like CreateNewElementInCollectionAction public class CreateNewElementInCollectionAction extends CollectionElementViewBaseAction { @SuppressWarnings("unchecked") public void execute() throws Exception { if (!isParentSaved()) validateViewValues();...
I don't understand why you declared private Collection <BeneficiariInregistrare> beneficiari; in Inregistrare class?
I am a bit confused what exact entity relations are involved here. Can you explain more what exactly you are trying to do with relations?
I agree with Javier, the less options you show initially to the user, it's better. You tend to look from your perspective as a software developer, users don't understand many things that you do. They often find clean and simple options the best, and that's how design should be. More advanced options should always be somewhat hidden from users.
I included roboto for 6.0, in 2018. It's strange I didn't get the latest one in that moment. I think I know why there aren't all languages in the Roboto font you used. Roboto font was converted from ttf to woff, but with an option to strip languages (check https://www.fontsquirrel.com/tools/webfont-generator) Your Roboto have 20kb size, but Roboto that I have converted to woff has 90kb size.
I tried it, but there are some alignment issues. Elements seems to be raised a bit, they are not centered. For example: compared to previous: If you look closely, there is an extra space under the labels which increases the overal height of the background which makes them not centered. I noticed also on the buttons the same issue. I've uploaded woff fonts so that you can try it for yourself.
I tried it, but there are some alignment issues. Elements seems to be raised a bit, they are not centered. For example: compared to previous: I noticed also on the buttons same issue. I've uploaded woff fonts so that you can try it for yourself.
I tried it, but there are some alignment issues. Elements seems to be raised a bit, they are not centered. For example: compared to previous: I noticed also on the buttons same issue. I've uploaded woff fonts so that you can try it for yourself.
Detail A and References R1, R2.
Can you post source code?
It seems that you have used Roboto fonts from 2013 year. I checked on site https://fontdrop.info/ Roboto font didn't include Serbian characters support, it supported 64 languages then. Latest version is 2017 year, which supports 108 languages, including Serbian. I have downloaded Roboto from Google site and attached it, you should use it in next OX version.
It seems that you have used Roboto fonts from 2013 year. I checked on site https://fontdrop.info/ Roboto font didn't include Serbian characters support, it supported 64 languages then. Latest version is 2017 year, which supports 108 languages, including Serbian. I have downloaded Roboto from Google site and attached them, you should use those in next OX version.
Great!
Try to set just flowLayout=true or css width, not both at the same time. And, don't set width:100%, but set width in px, like width:4000px;
What if you change "lossPool,lossPoolPercentage;" to "lossPool;lossPoolPercentage;" Will there be 2 columns (left, right)? You can try to set flowLayout=true in xava.properties to see how it looks.
You can also set width of NewCase view in web/xava/style/custom.css: #ox_LeaseCoordinator_NewCase__view { width:4000px; }
What if you change "lossPool,lossPoolPercentage;" to "lossPool;lossPoolPercentage;" Will they be in 2 columns (left, right)? You can try to set flowLayout=true in xava.properties to see how it looks.
What if you change "lossPool,lossPoolPercentage;" to "lossPool;lossPoolPercentage;" Will they be in 2 columns (left, right)? You can try to put flowLayout=true in xava.properties to see how it looks.
I am a bit confused what you want. It seems like you are not satisfied with the default OX modus operandi. Does default way of OX modes works for you? In a sense, all users can be shown in a List mode, and one user and activites for that user (collection) can be edited in Details mode, but not all Users on the same page, only one. And subtotals can be shown in Details mode for one user. Report will give you all users and activites.
I am a bit confused what you want. It seems like you are not satisfied with the default OX modus operandi. Does default way of OX modes works for you? In a sense, all users can be shown in a List mode, and one user and activity (collection) can be edited in Details mode, but not all Users on the same page, only one. And subtotals can be shown in Details mode for one user. Report will give you all users and activites.
I am a bit confused what you want. It seems like you are not satisfied with the default OX modus operandi. Does default way of OX modes works for you? In a sense, users can be shown in a List mode, and every user and activity (collection) can be edited in Details mode, but not all Users on the same page, only one. And subtotals can be shown in Details mode for one user. Report will give you all users and activites.
I have tested my app on Windows 7 and Windows 10, and it appears there is a font issue on Windows 10. I have take screenshot on different browsers: On Win 10 EDGE everything looks fine. On Win 10 Chrome menu labels and toolbar labels have problem displaying š and ž (Serbian) characters, they appear smaller, while text fields are fine. On Win 7 Chrome everything looks fine. What can be the problem on Win 10 Chrome?
I have tested my app on Windows 7 and Windows 10, and it appears there is a font issue on Windows 10. I have take screenshot on different browsers: On Win 7 Chrome everything looks fine. On Win 10 Chrome menu labels and toolbar labels have problem displaying š and ž (Serbian) characters, they appear smaller, while text fields are fine. On Win 10 EDGE everything looks fine. What can be the problem on Win 10 Chrome?
It's Mox, not Max. ;) If you need all users on screen with all activites displayed, you will need to write custom list editor, modification of default one. But, it's a quite a big task. I am not sure why you want to rewrite everything ("reinvent hot water" as we say here), just to reproduce what JasperReport already can show. Maybe it's a better solution to persuade client to use JasperReport.
It's Mox, not Max. ;) If you need all users on screen with all activites displayed, you will need to write custom list editor, modification of default one. But, it's a quite a big task. I am not sure why you want to rewrite everything, just to reproduce what JasperReport already can show. Maybe it's a better solution to persuade client to use JasperReport.
It's Mox, not Max. ;) If you need all users on screen with all activites displayed, you will need to write custom list editor, modification of default one. But, it's a quite a big task. I am not sure why you want to rewrite everything, just to reproduce what JasperReport already can show. Maybe it's a better solution to persuade customer to use JasperReport.
In JasperReport you create variable for timespent expression that you can place in Group Header. Variable SUM will evaluate (Evaluation time) on Group change.
In JasperReport you create variable for timespent expression that you can place in Group Header. Variable SUM will evaluate on Group change.
One option is to make custom collection editor and place javascript timer in each row and a button with a link to action that will save time in database.
One option to do it is to make custom collection editor and place javascript timer in each row and a button with a link to action that will save time in database.
You mean like this? https://www.youtube.com/watch?v=a5dlmqM9Oo8
Since it's a collection, code has to be modified. Now you have a parent key and it's a bit trickier to make it work, and action needs to extend CollectionElementViewBaseAction.
Since it's a collection, code has to be modified. Now you have a parent key and it's a bit trickier to make it work, and action needs to extend CollectionElementViewBaseAction. There are also some other things, like saving parent record etc.
Since it's a collection, code has to be modified. Now you have a parent key and it's a bit trickier to make it work, and action needs to extend CollectionElementViewBaseAction.
Yes. You can use @ListAction annotation. @ListAction("Product.updateUnitPrices") private Collection<Product> products; But there are also changes that must be made in the code that I have given in order to work for collection.
You can use that to override like this: <controller name="Import"> <action name="import" takes-long="true" class="com.jimb.visitsmgmt.actions.ImportAction"/> <action name="cancel" class="org.openxava.actions.CancelToDefaultControllersAction"/> </controller> This will override all Import controllers in all modules. If you want to use just in your module, then another approach has to be used. You have to define all custom controllers: ImportData -> ConfigureImport -> Import First you define your own...
You can use that to override like this: <controller name="Import"> <action name="import" takes-long="true" class="com.jimb.visitsmgmt.actions.ImportAction"/> <action name="cancel" class="org.openxava.actions.CancelToDefaultControllersAction"/> </controller> This will override all Import controllers in all modules. If you want to use just in your module, then another approach has to be used. You have to define all custom controllers: ImportData -> ConfigureImport -> Import First you define your own...
You can use that to override like this: <controller name="Import"> <action name="import" takes-long="true" class="com.jimb.visitsmgmt.actions.ImportAction"/> <action name="cancel" class="org.openxava.actions.CancelToDefaultControllersAction"/> </controller> This will override all Import controllers in all modules. If you want to use just in your module, then another approach has to be used. Since ConfigureImportAction uses Import controller in code: private String[] nextControllers = new String []...
You can use that to override like this: <controller name="Import"> <action name="import" takes-long="true" class="com.jimb.visitsmgmt.actions.ImportAction"/> <action name="cancel" class="org.openxava.actions.CancelToDefaultControllersAction"/> </controller> This will override all Import controllers in all modules. If you want to use just in your module, then another approach has to be used. Since ConfigureImportAction uses Import controller in code: private String[] nextControllers = new String []...
You should use <module> declaration instead of <default-module>, because you are declaring default controller for all modules, and I believe it's not what you want, you want to declare controller for one module.</default-module></module> Action name that you need is "importData", not "import". Try this instead: <controller name="VisitsMgmt"> <extends controller="Typical"/> <action name="importData" icon="import" image="import.png" mode="list" class="com.jimb.visitsmgmt.actions.ImportAction"/> </controller>...
You should use <module> declaration instead of <default-module>, because you are declaring default controller for all modules, and I believe it's not what you want, you want to declare controller for one module.</default-module></module> Action name that you need is "importData", not "import". Try this instead: <controller name="VisitsMgmt"> <extends controller="Typical"/> <action name="importData" icon="import" image="import.png" mode="list" class="com.jimb.visitsmgmt.actions.ImportAction"/> </controller>...
You should use <module> declaration instead of <default-module>, because you are declaring default controller for all modules, and I believe it's not what you want, you want to declare controller for one module.</default-module></module> Action name that you need is "importData", not "import". Try this instead: <controller name="VisitsMgmt"> <extends controller="Typical"/> <action name="importData" icon="import" image="import.png" mode="list" class="com.jimb.visitsmgmt.actions.ImportAction"/> </controller>...
Here is a basic example. Add new class model (entity) Product: package com.yourcompany.myapp.model; import java.math.*; import javax.persistence.*; import lombok.*; @Entity @Getter @Setter public class Product { @Id private int number; private String description; private BigDecimal unitPrice; } Then we add transient model NewUnitPrices that will be used to change price in dialog. package com.yourcompany.myapp.model; import java.math.*; import lombok.*; @Getter @Setter public class NewUnitPrices {...
Here is basic example. Add new class model (entity) Product: package com.yourcompany.myapp.model; import java.math.*; import javax.persistence.*; import lombok.*; @Entity @Getter @Setter public class Product { @Id private int number; private String description; private BigDecimal unitPrice; } Then we add transient model NewUnitPrices that will be used to change price in dialog. package com.yourcompany.myapp.model; import java.math.*; import lombok.*; @Getter @Setter public class NewUnitPrices { private...
I think those Mode options were available prior to v6 as stated in https://www.openxava.org/OpenXavaDoc/docs/application_en.html mode-controller (one, optional): Allows to define the behavior to switch from detail to list mode, as well as to define a module without list mode. The available values are Mode (the default one) and DetailOnly. Between v4m5 and v5.9.1 there was a split mode, but removed in v6.0. Between v4m5 and v5.9.1 the available mode controllers were Mode (detail - list - split), DetailList,...
I think those Mode options were available prior to v6 as stated in https://www.openxava.org/OpenXavaDoc/docs/application_en.html mode-controller (one, optional): Allows to define the behavior to switch from detail to list mode, as well as to define a module without list mode. The available values are Mode (the default one) and DetailOnly. Between v4m5 and v5.9.1 there was a mode split, removed in v6.0. Between v4m5 and v5.9.1 the available mode controllers were Mode (detail - list - split), DetailList,...
I think those Mode options were available prior to v6 as stated in https://www.openxava.org/OpenXavaDoc/docs/application_en.html mode-controller (one, optional): Allows to define the behavior to switch from detail to list mode, as well as to define a module without list mode. The available values are Mode (the default one) and DetailOnly. Between v4m5 and v5.9.1 there was a mode split, removed in v6.0. Between v4m5 and v5.9.1 the available mode controllers were Mode (detail - list - split), DetailList,...
I think those mode options were available prior to v6 as stated in https://www.openxava.org/OpenXavaDoc/docs/application_en.html: mode-controller (one, optional): Allows to define the behavior to switch from detail to list mode, as well as to define a module without list mode. The available values are Mode (the default one) and DetailOnly. Between v4m5 and v5.9.1 there was a mode split, removed in v6.0. Between v4m5 and v5.9.1 the available mode controllers were Mode (detail - list - split), DetailList,...
Is there a label in i18n files for Cascade error? I get message that Remove can't be executed because of constraint violation (foreign keys), but users don't understand that quite. I need to inform users that there are related records and because of that Remove is not possible.
Actually, it works with site config like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine On RewriteRule ^/MyApp/(.*) /$1 [PT] ProxyPreserveHost On ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> I have tested a bit, and found no problems so far. I could do what you suggested, but what if you want to run multiple web apps in Tomcat, each one with it's own subdomain? This is a better solution.
Actually, it works with site config like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine On RewriteRule ^/MyApp/(.*) /$1 [PT] ProxyPreserveHost On ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> I have tested a bit, and found no problems so far. I could do what you suggested, but what if you want to run multiple web apps in Tomcat with it's own subdomain? This is a better solution.
Actually, it works with site config like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine On RewriteRule ^/MyApp/(.*) /$1 [PT] ProxyPreserveHost On ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> I have tested a bit, and found no problems so far. I could do what you suggested, but what if you have multiple web apps in Tomcat? This is better solution.
Actually, it works with site config like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine On RewriteRule ^/MyApp/(.*) /$1 [PT] ProxyPreserveHost On ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> I have tested a bit, and found no problems so far.
Actually, it works with site config like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine on RewriteRule ^/MyApp/(.*) /$1 [PT] ProxyPreserveHost On ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> I have tested a bit, and found no problems so far.
Actually, it works with site config like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine on RewriteRule ^/MyApp/(.*) /$1 [PT] ProxyPreserveHost Om ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> I have tested a bit, and found no problems so far.
Actually, it works with site config like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine on RewriteRule ^/MyApp/(.*) /$1 [PT] ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> I have tested a bit, and found no problems so far.
I have configured Apache to map subdomain to my OX application like this: <VirtualHost *:80> ServerName app.mydomain.com RewriteEngine On ProxyPass / http://localhost:8080/MyApp/ ProxyPassReverse / http://localhost:8080/MyApp/ </VirtualHost> so that I can open OX app in browser using just subdomain http://app.mydomain.com When I enter http://app.mydomain.com OX shows Welcome page but no links (like css) are working. I understand what the problem is, links like css begin with /MyApp/style.css instead...
I need to place on every OX page statistics code (statcounter). How to do that?
In brief, you have to set lower_case_table_names=1 variable for MySQL. That way MySQL uses lower case. On Windows is 1 by default, but on Linux is 0 by default. But there is a problem setting that variable on Linux. That variable sholud be set when installing MySQL, because MySQL doesn't allow to change it after installation. On Windows you can set that variable during installation process, but on Linux that's quite another story. You can't set it during installation by putting some install parameter,...
What do you mean? If data is changed before saving, user should be notified when click Save that data already changed.
In brief, you have to set lower_case_table_names=1 variable for MySQL. That way MySQL uses lower case. On Windows is 1 by default, but on Linux is 0 by default. But there was a problem setting that variable on Linux. That variable sholud be set when installing MySQL, because MySQL doesn't allow to change it after installation. On Windows you can set that variable during installation process, but on Linux that's quite another story. You can't set it during installation by putting some install parameter,...
In brief, you have to set lower_case_table_names=1 variable for MySQL. That way MySQL uses lower case. On Windows is 1 by default, but on Linux is 0 by default. But there was a problem setting that variable on Linux. That variable sholud be set when installing MySQL, because MySQL doesn't allow to change it after installation. On Windows you can set that variable during installation process, but on Linux that's quite another story. You can't set it during installation by putting some install parametere,...
In brief, you have to set lower_case_table_names=1 variable for MySQL. That way MySQL uses lower case. On Windows is 1 by default, but on Linux is 0 by default. But there was a problem setting that variable in Linux. That variable sholud be set when installing MySQL, because MySQL doesn't allow to change it after installation. On Windows you can set that variable during installation process, but on Linux that's quite another story. You can't set it during installation by putting some install parametere,...
In brief, you have to set lower_case_table_names=1 variable for MySQL. That way MySQL uses lower case. On Windows MySQL is 1 by default, but on Linux is 0 by default. But there was a problem setting that variable in Linux. That variable sholud be set when installing MySQL, because MySQL doesn't allow to change it after installation. On Windows you can set that variable during installation process, but on Linux that's quite another story. You can't set it during installation by putting some install...
That you did not make a backup of you work. Luckily for me and you, I restored all from Previous versions folder in Windows, I was lucky enough that day earlier Windows made a backup. So, God do exist after all, I have a proof now. When you do a deployWar all the JSPs of the xava folder in your web folder are upgraded from the OpenXava project. Where does that say in HUGE RED LETTERS in tutorial https://www.openxava.org/OpenXavaDoc/docs/tomcat_en.html? Seriously, I expected that no files would be...
That you did not make a backup of you work. Luckily for me and you, I restored all from Previous versions folder in Windows, I was lucky enough that day earlier Windows made a backup. So, God do exist after all, I have a proof now. When you do a deployWar all the JSPs of the xava folder in your web folder are upgraded from the OpenXava project. Where does that say in HUGE RED LETTERS in tutorial https://www.openxava.org/OpenXavaDoc/docs/tomcat_en.html? Seriously, I expected that no files would be...
That you did not make a backup of you work. Luckily for me and you, I restored all from Previous versions folder in Windows, I was lucky enough that day earlier Windows made a backup. So, God do exist after all, I have a proof now. When you do a deployWar all the JSPs of the xava folder in your web folder are upgraded from the OpenXava project. Where does that say in HUGE RED LETTERS in tutorial https://www.openxava.org/OpenXavaDoc/docs/tomcat_en.html? Seriously, I expected that no files would be...
I can't f***in believe it. Today I created WAR as instructed in tutorial, and guess what, all my custom .jsp files are overwritten by default ones! What the fk!???? That destroyed month of my work! I didn't expected that, and I didn't made backup before that. Javier, what the fk happened? I am so pissed off!
Solved it. Sorry, it was MySQL case sensitivity issue, not OX.
I was trying today OX app on Ubuntu, and found out that schema and tables in MySQL are capitalized differently then on Windows. On Windows OX creates in MySQL all lowercase schema, table, field names, but on Linux OX creates capitalized schema, table and field names. What's the problem? Is there a way that OX work the same, either on both OS to be lowercase or capitalized?
I was trying today OX app on Ubuntu, and found out that schema and tables in MySQL are capitalized differently then on Windows. On Windows OX creates all lowercase schema, table, field names, but on Linux OX creates capitalized schema, table and field names. What's the problem? Is there a way that OX work the same, either on both OS to be lowercase or capitalized?
Do you want that when an user saves the record other users get the message? Only if that user wants to save record modified by other user. It's a common concurrency issue when optimistic mode is used.
I can't f***in believe it. Today I created WAR as instructed in tutorial, and guess what, all my custom .jsp files are overwritten by default ones! What the fk!???? That destroyed month of my work! I didn't expected that, and I didn't made backup before that. Javier, what the fk happened? I am so pissed of!