I saw another post about Linux issues dated back in 2006 for the IADemo project.
I was curious to know if anyone was going to go through and make the IADemo project operational ‘out of the box’ regardless of the platform MySql happens to be running on?
Again, the same issue with poor table naming conventions appears to exist. I have found several locations where I have lowercased table names which enabled pieces of functionality, however, there still appears to be some others that I have not located yet.
I can put a hack in place on the servers my.cnf file using:
…
[mysqld]
…
lower_case_table_names=1
…
However, this is not really an acceptable solution to the problem.
At the very least, is there a how to fixit page somewhere that lists all the table name entry locations that needs to be corrected?
Yes, you are right that the IADemo project is not consistent with the case of table names. We have it on our list to create a new demo project that will work out of the box on all platforms. In the meantime you can just use the lower_case_table_names=1 in MySQL. I do not think it is a hack.
First I would like to thank you for any help you can provide regarding the issues I am having and I would like to point out the following:
Ignition is running on Windows
Mysql is running on Linux
I started trying to figure out the various issues with the Admin page and found the key items to change were in the Ignition Web interface.
I have several other items that are not working such as the orders page. At this point I have not found where those table names are located and to be honest, I have not had the time to do so.
Regarding the hack to use lower_case_table_names=1, I suppose this leads to a discussion regarding the semantics of programing. My high level view on this is that one does not use a variable named ‘thisvariable’ and then expect to be able to use ‘THISVARIABLE’ to access it. I believe the real issue here is the the Windows operating system which allows for this within the file system.
Also, systems that employ code that does not need to interact with Windows based systems may have been programmed in a fashion that meets the current systems specifications and uses mixed case names. Using this hack potentially breaks those programs. Thus for portability sake, development must take into account the weakest system which is this case is Windows.
Just to point out, the very article posted above suggests to use a naming convention that works across all platforms if cross platform support is required. This would indicate using lowercase names because of Windows interoperability issues.
I think the easiest thing to do is to admit that we desperately need to make a new demo project. First off, that one was built at a time when the software was windows based, so it definitely wasn’t made with an eye towards platform differences. Beyond that, there’s a myriad of reasons why it’s less than ideal, and really just not a very good learning tool. It’s got way too much, it’s way too complicated, and with all the features we’ve added since it was built, most of the time it doesn’t do things like we would do them now anyhow.
We have plans to fix all of this soon. In the mean time, the demo is what it is, and you can use it with the special requirements involved. I mainly want to stress that we don’t feel that making changes to your database environment should be necessary, it’s just what this particular demo requires.
You could take a MySQL JumpBox virtual appliance, add the JRE, install Ignition, import whatever database the demo uses and the ignition demo app.
Hand this virtual machine out as a fully functional demo.
You guys have debugged it and know it works, and the customer has good working demo that he can take apart.
Plagarism is the sincerest form of flattery! It will bring you a lot of sales.
That’s my two cents.
Dennis
Edit: Sorry, I didn’t realize JumpBox wanted money now. I think the virtual machine appliance thing is still a good idea. VirtualBox 4.0 is in essence free. Linux is free. MySQL is free. The JRE is free.
There are some other packaged virtual machine out there like BitNami and TurnKey Linux.
Use VirtualBox 4 and create your own demo appliance and then have it produce the .ova and distribute.
[quote=“tghunt”]I believe the real issue here is the the Windows operating system which allows for this within the file system.
[/quote]
Very close. The problem is the default MySql engine uses a file based storage system for table data. ie: each table is stored in a separate file. Windows and OS/X have a case insensitive file system. Linux has a case sensitive file system.