gborbonus Posted March 29, 2013 Posted March 29, 2013 So, I have a client running 2.2 MS1 and we're upgrading servers.... fun. So, I've attempted to update his install by installing 2.3, then importing the database only. Found a few bugs where there just wasn't any sort of documentation, went forth and did what I could, came up with: http://codepad.org/NRsKK7X2 (link to sql update commands). For all of that, everything appears to be working right, except there are no right or left blocks on the page. Also.... On the homepage, there is only the latest stuff, then nothing, no way to select categories(which I figure is all in the blocks). Any ideas?
Guest Posted March 29, 2013 Posted March 29, 2013 @@gborbonus If you installed a NEW copy of v2.3.3, you CANNOT import the database. You can integrate it manually but the old MS1 database can't be imported. Chris
MrPhil Posted March 29, 2013 Posted March 29, 2013 The database schema has changed a bit between 2.2 MS1 and 2.3.3. I'm not aware of any tools to do it for you, but there is at least one manual way: take a full backup of the old (production store) and new (2.3.3 sample store) databases. Use a tool like WinMerge to compare the .sql files side by side, modifying each old table's CREATE TABLE to match the new layout, and adjusting the data (INSERT commands) to match. Add in any new tables and consider discarding any now-unused tables (unless they were added by an add-on and are still in use). Obviously, you will have to have some concept of how SQL works. If the old database's .sql file is too large for WinMerge to handle, use an editor to cut it into pieces (CREATE TABLE and associated INSERTs together in a file). You might even cut it into single tables and their data if you find it less confusing to operate that way. I don't think there are any tools to automate this because many add-ons modify the database (adding tables and fields).
Guest Posted March 29, 2013 Posted March 29, 2013 @@gborbonus So, I have a client running 2.2 MS1 This statement implies you are a professional ok... how would I Integrate it? That statement implies you told your client you are a professional, but really you have no clue about osCommerce and therefore should not be offering professional services. I suggest you have your client hire a professional osCommerce developer, that would be the best advice for your client. Chris
♥bruyndoncx Posted March 29, 2013 Posted March 29, 2013 looks like you have done the hard work already, for the left and right column, the new way is with includes/modules/boxes blocks, but you can just look at the old site and see where to include the column_left and column_right in the template_top / bottom files. you'll need to figure out the logic of the template to disable or enforce certain content width in the grid system. So you can basically hack the template to force the old way with columns. depending on how much customization is in those columns it might be usefull or not to migrate the includes/boxes to includes/modules/boxes/bm_xxx equivalent KEEP CALM AND CARRY ON I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support). So if you are still here ? What are you waiting for ?! Find the most frequent unique errors to fix: grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt
♥bruyndoncx Posted March 29, 2013 Posted March 29, 2013 On a sidenote, I upgraded my site by applying the alter commands on the database like you have lined out (except for the images, I don't have multiple images) I found the configuration table the most tricky. I then did a file comparison between my custom MS2 and out-of-the box 2.3.x and applied all core changes (includes/...) , changes to checkout processes and other bits and pieces that made sense as bugfixes. I updates my pages to call template_top and bottom files on each catalog page. I commented out big sections of tempate_top / bottom and just called the column_left and right where appropriate, and went live without using the bm_boxes I just recently moved most of my custom code into the bm_xxx structures and are using the new modular boxes, together with an addon that allows you to target boxes on certain pages. HTH KEEP CALM AND CARRY ON I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support). So if you are still here ? What are you waiting for ?! Find the most frequent unique errors to fix: grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt
gborbonus Posted March 31, 2013 Author Posted March 31, 2013 @@gborbonus This statement implies you are a professional That statement implies you told your client you are a professional, but really you have no clue about osCommerce and therefore should not be offering professional services. I suggest you have your client hire a professional osCommerce developer, that would be the best advice for your client. Chris Chris, I'm a system administrator of 10 years. I've built CMS', worked on everything from Joomla to Dolphin to OsCommerce, Virtuemart, WHMCS, Nuke, Wordpress and many others. I know php code, I don't need to be an expert to fix anything, and anyone who says you need a single CMS professional is an idiot who is trying to take money and claim expertise when in reality, it's experience. See Chris, when you're ability to diagnose a problem stops, such as the php code is unfamiliar, blank pages, Different coding lauguages, or just sheer stupidity, I have tools that can trace system calls right down the line providing the problem(completely seperate from php, and can even help diagnose problems with the php binary and libs itself), experience to know where to look, and the credentials to ask for help and not expect someone to degrade the way I make a living. And just for reference, I'm upgrading 27 servers from old plesk with php 3 build to new cPanel with php5. This is merely a dime in the bucket, plus the client has no idea what I'm doing, I need to come up with a system before hand that doesn't break. I hate STUPID! On a sidenote, I upgraded my site by applying the alter commands on the database like you have lined out (except for the images, I don't have multiple images) I found the configuration table the most tricky. I then did a file comparison between my custom MS2 and out-of-the box 2.3.x and applied all core changes (includes/...) , changes to checkout processes and other bits and pieces that made sense as bugfixes. I updates my pages to call template_top and bottom files on each catalog page. I commented out big sections of tempate_top / bottom and just called the column_left and right where appropriate, and went live without using the bm_boxes I just recently moved most of my custom code into the bm_xxx structures and are using the new modular boxes, together with an addon that allows you to target boxes on certain pages. HTH Hi HTH, Thanks for the advice and knowledge(the previous rant was strictly for Chris), your post was extremely helpful. The main reason I was so confused is I found sections where it checks to see if a block is active, and then shows the block. What I cant tell is where it's getting the block check from, like is it pulling it from a specific database? I'm going to run the code through a debugger and see where it tells if the block is active. That way I can turn the blocks on correctly, and hopefully script the update procedure. Thanks again.
multimixer Posted March 31, 2013 Posted March 31, 2013 @@gborbonus I guess that with "blocks" you mean the boxes right? Stll "blocks" is the better term, there are several kinds of blocks, like "header tags" etc, boxes are one of them. Let's call all boxes a "block group" and an individual box a "block". Same of course for any other block groups A very rough description of how the system work: 1) Database activity - The system add an entry to table configuration and add to it each block group that exist. Configuration key = "TEMPLATE_BLOCK_GROUPS" and values are the block groups, eg "boxes" - For each block group it creates an other entry and add to it each block that is installed. Configuration key = "MODULE_BOXES_INSTALLED" and values are the blocks (boxes), e.g categories, new products etc. Installation = add block to the values row, remove = delete entry from values of the row - Each block has its own set of entries, more than one. Regarding activation, there is a special row, like "MODULE_BOXES_BOXNAME_STATUS" that can be true or false This all happen in file admin/modules.php 2) Execution - Upon page start, there is a line in includes/template_top.php " $oscTemplate->buildBlocks();" - This refer to a function in includes/classes/osc_template.php. Function buildBlocks() loop through the above DB entries, instantiate each "block" (that is a class) and "execute" it. "execution" mean here, to add each of that blocks to a array. This is for boxes either "boxes_column_left" or "boxes_column_right" - Last step is then to get everything to the screen, this happen for boxes in file includes_template_bottom.php simply by : echo $oscTemplate->getBlocks('boxes_column_left'); . Function getBlocks() is also in file includes/classes/osc_template.php. Regarding execution, you may be interested to read my thoughts about separating data from execution here ------------- As a general note: Since this is a forum and not a private support channel, any questions and answers are public and accessible to anyone. Point is not who is asking and why he/she is asking. Point is if the question and answer make a sense and add value to the forum for any future readers, including the OP of course My community profile | Template system for osCommerce - New: Responsive | Feedback channel
MrPhil Posted March 31, 2013 Posted March 31, 2013 Chris, I'm a system administrator of 10 years... Don't get your undies tied up in a knot. Recently, Chris has taken to severely criticizing anyone who is working with/helping someone else in a professional sense and asks a question that he regards as noobie level. You're not the only one. Some accuse him of using this to fish for consulting business. It would be nice for him to dial back a bit on the harshness. Admittedly, some things that get asked by "professionals" do seem rather naive, but it may only be in the phrasing (being very clear, not cryptic) rather than a real lack of general knowledge. Someone hanging out their shingle as an osC expert shouldn't be asking beginner level questions, but [a professional] picking up osC for the first time can be excused for asking about details, if they haven't been following the story since Day 1.
gborbonus Posted March 31, 2013 Author Posted March 31, 2013 multimixer and bruyndoncx Thanks for your help, you guys provided me with the right information and allowed me to migrate the configuration table differences for the modules which now shows the blocks/boxes. What a pain, why they don't just put all the modules and such in their own table, Instead of mixing it up in the configuration table seems quite a pain. MrPhil and Chris, I needed help, a professional knows where to find information. I came here to find out about a particular system so I could do it the way it was designed to be done.... NOT the way I would figure it out.. Chris, take a chill pill, anyone asking for help is doing exactly what they should be doing. I was confused with your difference in terminology, telling someone they can't import but they can integrate is like saying you can't step off the ledge, but you can jump off.... the question was in how would I do one but not the other.. and as I figured at first perhaps you were trying to be specific, I attempted not to be rude about it. MrPhil, starting off by saying Dont get your undies in a bunch is not a good way to get things started, mainly because in the next sentence and on, you are basically saying Chris has become a pain in the ass. So why should I not speak my mind... am I getting my undies tied up because I just won't take it lying down? ... make up your mind as to who was in the wrong, don't just go attacking both parties at the same time unless you know how to pull it off by showing both parties needed it.
♥kymation Posted March 31, 2013 Posted March 31, 2013 @@gborbonus We get quite a few people in here who have little or no knowledge of programming or osCommerce but sell themselves as osCommerce developers. Then when they get a client, they come here asking us to do their work for them -- work that they will then get paid for. Many of the professionals here resent that. Sorry that you got mistaken for one of those people. Your first post did look like it though. The configuration table contains all of the configuration settings for the store. This includes the modules, since they are a part of the configuration. All of the values in the configuration table are then converted into constants in includes/application_top.php. I can see where this makes the configuration table large and somewhat hard to deal with, but it makes sense given the way that osCommerce is designed. Regards Jim See my profile for a list of my addons and ways to get support.
gborbonus Posted April 5, 2013 Author Posted April 5, 2013 "Since they are apart of the configuration" True, however, when I initially setup a site or platform, I would expect that what is initially setup can later be altered significantly. From a coding standpoint, putting all the configs in one table makes it easier to input on a global scale, in other words, I can push a lot of the config off at one time.... great. But individual module updates and deletions and upgrades become more difficult because I can't simply push my one module and update it, I have to push them all. Tomatoe tomatoe.... whichever. That's a pure matter of preference. I personally find it much easier that with a "Modular" design, you don't bottleneck in with a single table to handle anything.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.