The best way to describe the Object I'm looking at would be an Excel spreadsheet. I have a "Worksheet" with multiple "Sheets" and, within that, "Cells". The "Cells" are broken out further into their respective properties and arranged in Columns and Rows. This is just an example, but is pretty close to the actual project. My plan is to populate the "Cells" with the values from a database onto a webpage. If the user switches to another "Sheet", new data is added to the Object and the old data is maintained. If the user switches back to the first "Sheet", the data will be accessed from the Object instead of reloading the page.
The webpage will have users increase the size, possibly exponentially, of the object over time. In the begining, data will be limited to a few cells.
I'm mostly looking for references to learn the process, diving into the details is how I learn. If you can provide one, that is great! If you have a code example, that would work as well.
So, here are my questions:
Is this the most efficient way of doing things? I am working with an Apache/MySQL/PHP setup. Should I be looking into other options? If there is a better way, it may need to wait for version 2.0, but I'm willing to look into it.
Do you see a problem with the Object getting too big? There are 184,110 "Cells" in each "Workbook". Additionally, each "Cell" can have a minimum of 20-30 properties. So it is possible to have 5,523,300 "entries". I don't see it getting that huge as some cells will not have data (using smart coding, not populating data for entries with no records, etc), but 2 million "entries" would be possible over time.
Some pseudo code to start you off with architecting your spreadsheet:
var spreadsheet = new Spreadsheet();
var workbook = spreadsheet.createWorkBook("workbook1");
var column = workbook.createColumn(0);
column.createCell("Contents go here", 0);
column.createCell("Something else", 1);