Zen Cart Logo
Forums / Addon Admin Tools / EasyPopulate 4.0 Support Thread

EasyPopulate 4.0 Support Thread

Sticky

Views: 733,313

Results 2,061 to 2,080 of 3,671
26 Aug 2015, 10:26 AM
#2061
wheat avatar

wheat

New Zenner

Join Date:
Oct 2006
Posts:
62
Plugin Contributions:
0

EasyPopulate 4.0 Support Thread

When you want to MOVE ALL products to a new category - this is what works for me.

I would try it with a category that has very few products (and even do as practice
because there is nothing more tedious that removing items ONE by @#$@%# One
and besides, what does a former blonde know "for sure"

Use EZPop to download the category you are "closing out"
I like to save it to the desktop with a name that will remind what it is "just in case" you need to put stuff back
much less taxing than a full back up

after that, you are using other functions of Zen

Make a note of the old category NUMBER - this will correspond to the number 8 in the explanation

Create new Category & note that number as well - this will correspond to the 22 in the explanation

select any product that you want in the new category

Click on the C for copy

from the copy menu on your right
scroll down and select

Multiple Categories Link Manager

Scroll donw to
Global Category Link Changes and Master Category ID Reset

Using the first function: Copy ALL Products in a category as linked...
Enter Old Category Number (and I really wish that word was there )
In the box next to "Select All Products in Category"

Enter NEW Category Number in the "Link to Category"

Click" copy products as Linked
(note it would be REALLY Nice to be able to Copy products as Duplicates

Next, (third function down) Enter the NEW category number
in the box:
Reset the Master Categories ID for All Products in Category:
Click: Reset Master...

Finally ( and this is where I usually manage to screw up)

Middle function:
Remove ALL Products in a Category that are LINKED....
Enter OLD number in Select All Products in Categoy
enter NEW number in Remove from being linked

Now check your work in case I (as I often might) have the placement of old and new confused.

27 Aug 2015, 9:31 PM
#2062
blenderite avatar

blenderite

New Zenner

Join Date:
Jul 2015
Location:
Virginia
Posts:
57
Plugin Contributions:
0

Re: EasyPopulate 4.0 Support Thread

If I want to adjust a column in the data base which is not exported by default (for example the column STOCK_LIMITED) can I include a header for it in the CSV file and import or do I need to add that somewhere in the code?

27 Aug 2015, 9:36 PM
#2063
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

Blenderite:

If I want to adjust a column in the data base which is not exported by default (for example the column STOCK_LIMITED) can I include a header for it in the CSV file and import or do I need to add that somewhere in the code?

If the field (column) STOCK_LIMITED is in the products table, then it is easily included by entering the field in the custom_fields option under configuration->Easy Populate 4 and it will be included in applicable exports and imports.

27 Aug 2015, 9:36 PM
#2064
lruskauff avatar

lruskauff

Totally Zenned

Join Date:
Sep 2008
Location:
WA
Posts:
559
Plugin Contributions:
0

Re: EasyPopulate 4.0 Support Thread

Blenderite:

If I want to adjust a column in the data base which is not exported by default (for example the column STOCK_LIMITED) can I include a header for it in the CSV file and import or do I need to add that somewhere in the code?

You also need to enter it in the admin under configuration->ep4
Enter any extra fields as user defined.

27 Aug 2015, 9:44 PM
#2065
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

Further, if don't know the location of the field in the database, there is no harm in adding the field in the user defined option and then exporting the full products option. If the field appears, then it is in the products table, if not then more "investigation" is necessary. When entering the field name, enter it as it appears in the database table (typically without v_)

28 Aug 2015, 2:14 PM
#2066
citapinc avatar

citapinc

New Zenner

Join Date:
Nov 2007
Posts:
12
Plugin Contributions:
0

Re: EasyPopulate 4.0 Support Thread

One of those things that not everyone uses, so it seems that it was left off as a default like option, but is something still possible.
I've always written my import routines to show all fields and let the user determine which field they don't want to import. Most users who use import tools like this are your more advanced users who have an understanding of what fields are and how to remove them off the CSV file if not needed.

Therefore I'd rather see ALL fields in the CSV file than MOST USED fields.

28 Aug 2015, 3:21 PM
#2067
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

citapinc:

I've always written my import routines to show all fields and let the user determine which field they don't want to import. Most users who use import tools like this are your more advanced users who have an understanding of what fields are and how to remove them off the CSV file if not needed.

Therefore I'd rather see ALL fields in the CSV file than MOST USED fields.

So I believe that it was this aspect that was considered by the original author/rewriter (chadder) in that the option to add fields was made available through the configuration menu... It has also been identified by some that export (well seems to have been more of an import issue) of all fields regardless of "desire" takes additional time, space, and effort to remove the undesired option(s)...

There is also the level of support aspect to be provided when/if all fields are exported and the issues involved with making changes and then importing them again... For example, while I'm about to release a version that will work off of products_id, there is little that can be offered as error buffers to prevent someone from mangling their database... Backup before uploading... That's about the most that can be offered... Or at least at the moment the most that I can offer on a volunteer basis...

Yes, up front the products table could be evaluated on each export and all fields added to the export file... The entire database could be so processed, but is that what is needed? Or are things like that needed by the few that either can modify the code to accomplish the desired task or seek assistance to make it happen? As I said more than 2 years ago, EP4 is so adaptable and compartmentalized enough that either one compartment can be modified to obtain the desired results or duplicated to provide the modified results... There are still a few minor things to work out, but it is quite a power house... I've also been thinking about how chadder and I can work the instructions a little more in favor of a "I want to do this" type style rather than a this is how this feature works style... Reason? Well look at the number of times that the filename has been an issue in the last several pages... It's in the instructions (limited that they are), but I have refrained from going that short of a response...

Afterall, someone identified that there was an issue with specials when this code was run on PHP 5.6 I think it was because of the way dates were handled on import... That was good feedback and would like to see issues like that identified more publicly as I had to dig to find that someone had identified that problem... There have been things added based on others needs and inquiries, but I do have a concern of adding too many/too many more switches to support "branches"... I'm beginning to consider adding notifiers and observers so that various "features" can be added through file uploads instead... More to contemplate on that one though..

28 Aug 2015, 3:49 PM
#2068
outeredge2 avatar

outeredge2

Zen Follower

Join Date:
Mar 2010
Location:
Green Bay, WI
Posts:
362
Plugin Contributions:
1

Re: EasyPopulate 4.0 Support Thread

Is there a sample file floating around that I could use to start putting together my products list?

28 Aug 2015, 3:51 PM
#2069
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

outeredge2:

Is there a sample file floating around that I could use to start putting together my products list?

Not to be smart, but if you export your products list you'll have your own personal sample file... (Covered in instructions on how to use and learn to use the program)

28 Aug 2015, 4:35 PM
#2070
outeredge2 avatar

outeredge2

Zen Follower

Join Date:
Mar 2010
Location:
Green Bay, WI
Posts:
362
Plugin Contributions:
1

Re: EasyPopulate 4.0 Support Thread

mc12345678:

Not to be smart, but if you export your products list you'll have your own personal sample file... (Covered in instructions on how to use and learn to use the program)

Not being smart at all..... I appreciate the response. Will look for it.

Question:
What is the difference between EasyPopulate 4.0 and Easy Populate 1.2.5.4? Which is better and easier to use?

28 Aug 2015, 4:53 PM
#2071
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

outeredge2:

Not being smart at all..... I appreciate the response. Will look for it.

Question:
What is the difference between EasyPopulate 4.0 and Easy Populate 1.2.5.4? Which is better and easier to use?

I humbly can not answer the question of "which is easier" as I have not used the other version in a great deal of time if at all... I think I came across the issues that have not been addressed in that version and then when seeing what features were available in this one I made my decsion and as you can see do things to keep it afloat and fnd ways to make improvements (though really little has been needed to accomplish that because of the work put nto it.)

But if not mistaken the other version doesn't support attributes, so I've heard. If a rumor, please disspell it... On the topic of attributes through the need of someone else and their permission some functionality was added to work with SBA (primarily as reworked by potteryhouse.)

So hopefully the regular users of the program will chime in as they are the ones deal with it (or the other) routinely.

29 Aug 2015, 4:10 AM
#2072
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

adb34:

OK silly question time:

I want to change the category that a lot of my products are in, so, if I use this plugin to download all my products, change the category of the products then upload. The question is will I duplicate the products in the different categories or will the category be over written by the new category?

Told you it is a silly question! :blush:

mc12345678:

Actually, not as silly as you may think. Normally this will create a linked product (duplicate but not so much a duplicate as it maintains the same products_id).

There currently is no "remove a product from a category" type feature... If a product being processed on import is in the category "assigned", then nothing is done, if it is not in the category that is assigned/determined in the process, then the product is added to the category (if the category didn't exist before, then it is created before this addition).

Removal from a category is somewhat of a two step process. The product's master_categories_id in the products table needs to reflect an existing category and the table products_to_categories needs to have the entry for the products_id removed for the category from which it is leaving and if not already associated with the new category an entry made... I did not find any code that did a delete on the products_to_categories table on import and there is nothing that specifically modifies an existing master_categories_id entry other than a product update with master_categories_id as a user defined field. The only other instance of affecting the master_categories_id is upon initial insert of a product as it must have/maintain a master_categories_id assigned.

So, removal of a product from one category (ie part of a process to move a product from one category to another) is not yet in the code... Perhaps can come up with something like another status switch that would "reassign" the master_categories_id to the chosen category and remove the linked product from the products_to_categories table in relation to the previous master category (status of 9 deletes a product, perhaps a different number could be used to do a move). It would not directly resolve issues associated with other linked product, but it would support a move action... Technically if the product were moved through each respective linked category, then there would remain but one category associated with the product (this could be accomplished in a single file upload where each line of the file had the product moved to each linked category and then a final move to the desired end category...)

Perhaps if considered further necessary (large issue with linked product) an additional option (dropdown, link, whatever) to address just bulk linked product changes would help...

I would suggest though in the interim not counting on the above to happen/be implemented quickly... Work on this is generally a free time dependent project, though now that a path is seen, it may not be as long as originally anticipated and there are other factors that could make it go faster. :)

Below is the code described above that I have prepared... I keep looking at it to ensure that each possibility is addressed and while I see that some conditions seem to be over described, I didn't want to eliminate the potential code needed to address the possibility of that condition. Would appreciate any operational testing feedback.. I've set up some tests that seem to have worked but could use some independent verification.

So beginning in EP4 version 4.0.29 the following code begins at line 1508. The code begins at other locations for earlier versions but until now has remained relatively consistent code.

The expectation of the below code is that if the status of a product is set to 7 (instead of the typical 0 to disable, 1 to enable, or 9 to delete), then the category of that row will become the master category for that item and the product will be removed from the previous master category. With the appropriate series of applicable add and move database entries a product's linked categories can be stripped, the master category revised to the desired category.

I chose the number 7 to be non-adjacent to the number 9, but I also am concerned that for those using a number pad without looking at the pad that they may incorrectly enter 9 instead of 7; however, also hope that the difference in shape (sharp corners (7) versus rounded (9) or what is likely to be a majority (1 or 0) will stand out a little..) Could use a two+ digit status indicator or maybe a "word", but I'm going with what I got at the moment.

Find:

//==================================================================================================================================
			// Assign product to category if linked
			// chadd - need to dig into further
			if (isset($v_categories_id)) { // find out if this product is listed in the category given
				$result_incategory = ep_4_query('SELECT
					'.TABLE_PRODUCTS_TO_CATEGORIES.'.products_id,
					'.TABLE_PRODUCTS_TO_CATEGORIES.'.categories_id
					FROM
					'.TABLE_PRODUCTS_TO_CATEGORIES.'
					WHERE
					'.TABLE_PRODUCTS_TO_CATEGORIES.'.products_id='.$v_products_id.' AND
					'.TABLE_PRODUCTS_TO_CATEGORIES.'.categories_id='.$v_categories_id);
					if (($ep_uses_mysqli ? mysqli_num_rows($result_incategory) : mysql_num_rows($result_incategory)) == 0) { // nope, this is a new category for this product
					$res1 = ep_4_query('INSERT INTO '.TABLE_PRODUCTS_TO_CATEGORIES.' (products_id, categories_id)
						VALUES ("'.$v_products_id.'", "'.$v_categories_id.'")');
            if ($res1) {
              zen_record_admin_activity('Product ' . (int)$v_products_id . ' copied as link to category ' . (int)$v_categories_id . ' via EP4.', 'info');
            }
				} else { // already in this category, nothing to do!
				}
			}
//================================================================================================================================== 

And replace with:

//==================================================================================================================================
      // Assign product to category if linked
      // chadd - need to dig into further
          if (isset($v_categories_id)) { // find out if this product is listed in the category given
        $result_incategory = ep_4_query('SELECT 
          '.TABLE_PRODUCTS_TO_CATEGORIES.'.products_id,
          '.TABLE_PRODUCTS_TO_CATEGORIES.'.categories_id,
          '.TABLE_PRODUCTS.'.master_categories_id
          FROM
          '.TABLE_PRODUCTS.'
          LEFT JOIN
          '.TABLE_PRODUCTS_TO_CATEGORIES.' ON ('.TABLE_PRODUCTS.'.products_id = '.TABLE_PRODUCTS_TO_CATEGORIES.'.products_id AND '.TABLE_PRODUCTS_TO_CATEGORIES.'.categories_id='.$v_categories_id.')
          WHERE
          '.TABLE_PRODUCTS.'.products_id='.$v_products_id);
$result_incategory = ($ep_uses_mysqli ? mysqli_fetch_array($result_incategory) : mysql_fetch_array($result_incategory));
          if (!zen_not_null($result_incategory['products_id']) || sizeof($result_incategory) <= 0 /* ($ep_uses_mysqli ? mysqli_num_rows($result_incategory) : mysql_num_rows($result_incategory)) == 0 */) { // nope, this is a new category for this product
              if ($items[$filelayout['v_status']] == 7) {

                /* $result_incategory = ep_4_query('SELECT 
                  '.TABLE_PRODUCTS.'.master_categories_id
                  FROM
                  '.TABLE_PRODUCTS.'
                  WHERE
                  '.TABLE_PRODUCTS.'.products_id='.$v_products_id);

                  $result_incategory = ($ep_uses_mysqli ? mysqli_fetch_array($result_incategory) : mysql_fetch_array($result_incategory)); */
                //do category move action.
                // if the master_categories_id != categories_id, then for "safety" sake, should successfully insert the product to the category before deleting it from the previous category. Should also verify that the master_categories_id is set, because if it is not then there is a bigger issue.  As part of the verification, if it is not set, then don't try to delete the previous, just add it and provide equivalent information.
                if ((int) $result_incategory['master_categories_id'] != (int) $v_categories_id) {
                  //move is eminent
                  if ($result_incategory['master_categories_id'] > 0) {
                    //master_category is assigned to the product do the move.
                    // Ensure the product still is on the way to the move and available.
                    $res1 = ep_4_query('INSERT INTO ' . TABLE_PRODUCTS_TO_CATEGORIES . ' (products_id, categories_id)
            VALUES (' . $v_products_id . ', ' . $v_categories_id . ')');
                    if ($res1) {
                      //Successfully inserted the product to the category, now need to remove the link from the previous category.
                      $res1 = ep_4_query('UPDATE ' . TABLE_PRODUCTS . ' set master_categories_id = ' . $v_categories_id . ' 
                                 WHERE products_id = ' . $v_products_id);

                      $res2 = ep_4_query('DELETE FROM ' . TABLE_PRODUCTS_TO_CATEGORIES . ' WHERE products_id = ' . $v_products_id . ' AND categories_id = 
                             ' . $result_incategory['master_categories_id']);
                      if ($res1 && $res2) {
                        zen_record_admin_activity('Product ' . (int) $v_products_id . ' moved to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                      } else if ($res1 && !$res2) {
                        zen_record_admin_activity('Product ' . (int) $v_products_id . ' master_categories_id changed to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                      } else if (!$res1 && $res2) {
                        zen_record_admin_activity('Product ' . (int) $v_products_id . ' deleted from category ' . (int) $result_incategory['master_categories_id'] . ' and added to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                      } else if (!$res1 && !$res2) {
                        zen_record_admin_activity('Product ' . (int) $v_products_id . ' copied as link to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                      }
                    }
                  } /* EOF Master Category is set */ else {
                    //master_category is not assigned, assign the category to the master category and do the move.
                    $res1 = ep_4_query('INSERT INTO ' . TABLE_PRODUCTS_TO_CATEGORIES . ' (products_id, categories_id)
            VALUES (' . $v_products_id . ', ' . $v_categories_id . ')');
                    if ($res1) {
                      //Successfully inserted the product to the category, now need to remove the link from the previous category.
                      $res1 = ep_4_query('UPDATE ' . TABLE_PRODUCTS . ' set master_categories_id = ' . $v_categories_id . ' 
                                 WHERE products_id = ' . $v_products_id);
                      if ($res1) {
                        zen_record_admin_activity('Product ' . (int) $v_products_id . ' moved to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                      } else {
                        zen_record_admin_activity('Product ' . (int) $v_products_id . ' copied as link to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                      }
                    }
                  } // EOF Master category is not defined.
                } // End if master and category different, nothing else to do as no where to go because both are the same...
              } /* EOF status == Move */ else {
                $res1 = ep_4_query('INSERT INTO ' . TABLE_PRODUCTS_TO_CATEGORIES . ' (products_id, categories_id)
            VALUES (' . $v_products_id . ', ' . $v_categories_id . ')');
                if ($res1) {
                  zen_record_admin_activity('Product ' . (int) $v_products_id . ' copied as link to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                }
              } // Don't move the product
            } else { // already in this category, nothing to do! // Though may need to do the move action so there is still possibly something to do... 
              if ($items[$filelayout['v_status']] == 7) {
//                $result_incategory = ($ep_uses_mysqli ? mysqli_fetch_array($result_incategory) : mysql_fetch_array($result_incategory));

//do category move action.
                // if the master_categories_id != categories_id, then for "safety" sake, should successfully insert the product to the category before deleting it from the previous category. Should also verify that the master_categories_id is set, because if it is not then there is a bigger issue.  As part of the verification, if it is not set, then don't try to delete the previous, just add it and provide equivalent information.
                if ($result_incategory['master_categories_id'] != $result_incategory['categories_id']) {
                  //move is eminent
                  if ($result_incategory['master_categories_id'] > 0) {
                    //master_category is assigned to the product complete the move.
                    // Ensure the product still is on the way to the move and available.
                    //      $res1 = ep_4_query('INSERT INTO '.TABLE_PRODUCTS_TO_CATEGORIES.' (products_id, categories_id)
                    //      VALUES ("'.$v_products_id.'", "'.$v_categories_id.'")');
                    $res1 = ep_4_query('UPDATE ' . TABLE_PRODUCTS . ' set master_categories_id = ' . $v_categories_id . ' 
                                 WHERE products_id = ' . $v_products_id);

                    /* if ($res1) */
                      //Successfully updated the product to the category, now need to remove the link from the previous category.

                    $res2 = ep_4_query('DELETE FROM ' . TABLE_PRODUCTS_TO_CATEGORIES . ' WHERE products_id = ' . $v_products_id . ' AND categories_id = 
                             ' . $result_incategory['master_categories_id']);
                    
                    if ($res1 && $res2) {
                      zen_record_admin_activity('Product ' . (int) $v_products_id . ' moved from category ' . (int)$result_incategory['master_categories_id'] . ' to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                    } else if ($res1 && !$res2) {
                      zen_record_admin_activity('Product ' . (int) $v_products_id . ' master_categories_id changed from category ' . (int)$result_incategory['master_categories_id'] . ' to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                    } else if (!$res1 && $res2) {
                      zen_record_admin_activity('Product ' . (int) $v_products_id . ' deleted from category ' . (int) $result_incategory['master_categories_id'] . ' and added to category ' . (int) $v_categories_id . ' via EP4.', 'info');
                    }
                  } else {
                    //master_category is not assigned, assign the category to the master category and do the move.
                    //   $res1 = ep_4_query('INSERT INTO '.TABLE_PRODUCTS_TO_CATEGORIES.' (products_id, categories_id)
                    //      VALUES ("'.$v_products_id.'", "'.$v_categories_id.'")');
                    //Successfully inserted the product to the category, now need to remove the link from the previous category.
                    $res1 = ep_4_query('UPDATE ' . TABLE_PRODUCTS . ' set master_categories_id = ' . $v_categories_id . ' 
                                 WHERE products_id = ' . $v_products_id);
                    if ($res1) {
                      zen_record_admin_activity('Product ' . (int) $v_products_id . ' master_categories_id established as category ' . (int) $v_categories_id . ' via EP4.', 'info');
                    }
                  }
                } // End if master and category different, nothing else to do as no where to go because both are the same...
                //continue;
              }
            }
          }
//==================================================================================================================================

This is expected to be included in the upcoming 4.0.31 code...

29 Aug 2015, 4:21 AM
#2073
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

Sorry forgot to mention the file: admin/easypopulate_4_import.php beginning at line 1508.

30 Aug 2015, 3:13 AM
#2074
looper avatar

looper

New Zenner

Join Date:
Aug 2006
Posts:
52
Plugin Contributions:
0

Re: EasyPopulate 4.0 Support Thread

is there an Easy Populate for ZC1.54 that works?
thanks

30 Aug 2015, 4:55 AM
#2075
lruskauff avatar

lruskauff

Totally Zenned

Join Date:
Sep 2008
Location:
WA
Posts:
559
Plugin Contributions:
0

Re: EasyPopulate 4.0 Support Thread

Yes, ep4

30 Aug 2015, 1:12 PM
#2076
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

Looper:

is there an Easy Populate for ZC1.54 that works?
thanks

lruskauff:

Yes, ep4

Instructions to obtain the generally accepted version are provided in post 1 of this thread. A new version has been uploaded to test at an alternate forked location, details to follow while verifying all changes/improvements have been properly identified.

30 Aug 2015, 1:22 PM
#2077
looper avatar

looper

New Zenner

Join Date:
Aug 2006
Posts:
52
Plugin Contributions:
0

Re: EasyPopulate 4.0 Support Thread

Thanks for responses. I'll give it another try today

30 Aug 2015, 1:34 PM
#2078
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

Looper:

Thanks for responses. I'll give it another try today

If you have any difficulty installing/operating it please post details so that the issue can be duplicated and corrected... Depending on what is being seen/how the store is setup the latest version posted may correct your issue if you have had problems with this version of EP which by the statement above seems to be the case. Anyways, please post if was successfully installed or if not details of possibly reproducing the issue.

30 Aug 2015, 2:56 PM
#2079
looper avatar

looper

New Zenner

Join Date:
Aug 2006
Posts:
52
Plugin Contributions:
0

Re: EasyPopulate 4.0 Support Thread

mc12345678,

install went good. i downloaded a file and excel 2013 opened fine. So i edited one products name description, and price. saved to my temp file in the csv format. then i upload and all seems good. however when i refresh my browser and check the item to see if the corrections are there, nothing changed. Am i missing something under "Product & Pricing Export/Import Options:"?

Looper

30 Aug 2015, 3:37 PM
#2080
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: EasyPopulate 4.0 Support Thread

Uploaded version 4.0.31 to github at: https://github.com/mc12345678/EasyPopulate-4.0

The configuration window is changed, recommendation for upgrade is to make note of the settings on the configuration window, then on tools->Easy Populate 4, top right corner select remove EP4, then install EP4 from the middle of the top of the screen..

Several things added/changed.

  1. the file folder location has been modified to not require the admin folder to be typed in. There is now a switch in the configuration panel to pick the folder as either the store directory or the admin directory. Directory paths are based on the settings in the admin/includes/configure.php file regarding ssl being used, the use of the server paths as well as the file paths..
  2. Added the category move feature described in the last couple of posts. What this does is: move a product from one category to the next and assign the master_categories_id for that product to the category in the row of data.
  3. Modified the code in several places to ensure that the database was accessed using the datatype of specific data being searched... (ZC function bindVars)
  4. Adjusted line spacing/row spacing to try to convert to the ZC standard of code format and simplify readability.
  5. Added a few notifiers to potentially support future development.
  6. incorporated an additional function (ep_4_rmv_chars) into the functions file to work with removing special characters instead of it being duplicated multiple times throughout the code. This function is/has been called where the code was performing the same function in the "main" body.
  7. Modified how blank image data is captured/stored and added an admin switch. Previously if a product did not have an image assigned, then EP4 would set the image path for a product to the blank image if there was a blank image defined to be shown in such a situation... The problem is, because a specific path is/was defined if the image to be shown when "blank" is changed (possibly to a new filename), then products with such an assignment would still show the old image (specifically assigned) rather than the ZC admin assigned image (shown when no image is defined for a product and for other cases such as an image's file missing.)
  8. Added the ability to use the products_id field as the unique key to process information instead of having to use the products_model field as well as a path to add additional fields to serve as a primary key, though still requiring additional coding to add the additional fields. WARNING: backup BEFORE using the products_id for import. Improper use/application of the products_id could cause significant database data corruption in that content expected for products_id X may appear as what is supposed to be at products_id Y. These errors would be user caused and could be corrected by restoring to the backup made just before the upload Understand that if there have been transactions processed between when the backup was made and then restored, those transactions will be lost if something is not done to preserve them... Let me just say that this is somewhat of a releasing the beast action. It has been asked for over the years, but hadn't been done other than through what seems to be a version 3 that was published somewhere... The default install of this plugin selects products_model for the primary key, and this is even the case if the option in the configuration panel is "removed", not present, or not installed (for those that install this on others systems and want to minimize the things they can do to break their process/store). Did I mention to backup before using this feature on import? Backing up is covered in the instruction. It is covered here. I take no responsibility in the improper use of this program/feature that may cause significant problems with your store including an impact on sales because of improper use of this feature even if it is considered that there is not sufficient direct instruction on how to use it properly. It has always been strongly encouraged that this code be tested in a development atmosphere before being used on a live store including performing the actions on that development store that are expected to be performed on the live store and then verifying the response/information is accurate.
  9. Resequenced the configuration menu items to account for some of the new functionality rather than simply add to the end of the list.
  10. Have attempted to obtain support from the italian ZC market; however, for whatever reasons of the admins at that site, they have thus far declined providing me the ability to post on the forum where an individual is/was actively searching for help on EP4. I can say that if you try to create an account and choose to have the site displayed in English that their "human validation" question requires an Italian response and will reject an answer provided in English. How's that for validating that someone is human when the human understands the foreign language and provides a response back in the language displayed/identified as the language of choice? And then subsequently a human says, oh you are a robot because I see you answered the question incorrectly... (Mind you if it said in the language of this question or something similar, then sure... I guess though that they do not wish anyone from outside of Italy to provide support to the Italians) Anyways, if someone would like to take a stab at translating the English (or German) to appropriate Italian or other languages as used on computers, please don't hesitate to offer the language files associated... I do still have a little bit of incorporation to do from an existing German translated version, but to be honest, I'd rather push out what I have at the moment, do some other work on other things, and then come back to complete incorporation of the translation.. It's also not exactly the most exciting action.. Unfortunately it wasn't considered upon initial and subsequent development so it is happening now.. :)

Okay, I think I have combed the files completely for the changes from version 4.0.30 and have captured the meat of the changes above. Once I get some independent confirmation of functionality, I will incorporate/ask for incorporation into the main download tree. Really don't want new users to become discouraged with the code knowing that some features are still being tested...