What does it do?

When creating a node you have the option to fill in a brand and partnumber

When the node is viewed and there is product information available in http://www.icecat.biz/.

When can it be used?

The module can be used in various websites.

example: you have a webshop. You fill in the product name, price, sku, brand and partnumber.

That's all no more information is needed to fullfill your product with information. check the screenshot for an example of a notebook.

What now?

Module is for drupal 7

The module is still under active development but i allready wanna release it to get feedback from users. (features etc..)

Other possibility's are: Grabbig product ean from icecat, product image and so on.

Drupal page: https://drupal.org/sandbox/tortelduif/1701442
drupal git: http://drupalcode.org/sandbox/tortelduif/1701442.git

Comments

vaibhavjain’s picture

Status: Needs review » Needs work
patrickd’s picture

welcome,

Your .info must specify the required values http://drupal.org/node/542202.

All functions and hooks must be properly documented.
Coding standards
Documentation standards

Do never use ?>.

You are working in the "master" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.

As installation and usage instructions are quite important for us to review, please take a moment to make your project page follow the tips for a great project page. Also create a README.txt that follows the guidelines for in-project documentation.

An automated review of your project has found some issues with your code; As coding standards make sure projects are coded in a consistent style we please you to have a look at the report and try to fix them. Anyway, note that issues found are possibly false positives and fixing all issues is not a requirement for getting through the application process.
Report: http://ventral.org/pareview/httpgitdrupalorgsandboxtortelduif1701442git

We do really need more hands in the application queue and highly recommend to get a review bonus so we can come back to your application sooner.

regards

patrickd’s picture

Also IMHO your module's name says nothing about it's functionality. If people search for it - they'll probably not be able to find it.

harings_rob’s picture

Status: Needs work » Needs review

Fixed alot of issues from automated review.

Updated info file, removed ?> tag, added documentation and readme file (but its not caps?)

About the title, what do you suggest?

patrickd’s picture

readme file must be named "README.txt"

Now make sure to set the correct default branch: http://drupal.org/node/1659588 . Then remove the master branch, see also step 6 and 7 in http://drupal.org/node/1127732

do only declare files in your info that actually contain interfaces or classes!

Don't know, should be a name that clearly indicates it's functionality.

Anonymous’s picture

You might want to use the theme_table function for this part :

if($specs){
        $mydata = '<table class="icecat">';
        $mydata .= '<thead><th>feature</th><th>value</th></thead><tbody>';
        foreach ($specs as $spec ){
            $mydata .= '<tr>';
            $mydata .= '<td>'.$spec['featuretype'][0].'</td><td>'.$spec['featureval'][0].'</td>';
            $mydata .= '</tr>';
        }
        $mydata .='</tbody></table>';
        $node->content['body'] = array(
            '#weight' => 10,
            '#markup' => $mydata,
        );
    }

Otherwise nothing to signal.

harings_rob’s picture

I've set my readme to caps and set the right branch.

I'll look into drupal table template tomorrow.

harings_rob’s picture

Updated my project to use theme_table.

harings_rob’s picture

Any updates on this one?

mrpauldriver’s picture

Also following, very interested in integrating Icecat data into a commerce site.

harings_rob’s picture

Thanks for your reply.

A simple demo is available here: http://dev.easycom.be/

mrpauldriver’s picture

I'd be interested to see the node edit side of this

harings_rob’s picture

You can find some screenshots of the backend here: http://dev.easycom.be/node/10

harings_rob’s picture

Title: icecat » Openicecat product database data collector
mrpauldriver’s picture

This all looks very good. Well done!

May I ask what is the outcome of an inputting an unrecognised sku? Is is possible to integrate Icecat search in order to help with item selection.

Regarding the title, my I suggest Open Icecat instead of openicecat - just for search reasons.

harings_rob’s picture

Title: Openicecat product database data collector » Open Icecat product database data collector

Currently i havent found a search function in the icecat http api.

Updated my title

mrpauldriver’s picture

unrecognised sku?

harings_rob’s picture

When icecat returns no data, the module will display no data or error message to users.

mrpauldriver’s picture

Regarding SEO, once cached is the data incorporated into the node or is the feed scraped in on page load?

harings_rob’s picture

currently its loaded when the node is being loaded. This isnt the best solution, but i'm searching for a better way (taxonomy/ubercart attributes). As soon as have found a better solution for this i will develop and publish it.

mayank-kamothi’s picture

Hi,tortelduif

In Your icecat.install file use a space between the closing parenthesis and the open bracket
I.e.
function icecat_schema(){

Mayank Kamothi

mayank-kamothi’s picture

Hi,tortelduif

found same use a space between the closing parenthesis and the open bracket

I.e.
function icecat_menu(){

Mayank Kamothi

mayank-kamothi’s picture

Hi,tortelduif

String concatenation should be formatted with a space separating the operators (dot .) and the surrounding terms

I.e.
$options= array('http' => array('header' => "Authorization: Basic " . base64_encode($username.":".$password)));

Mayank kamotthi

mayank-kamothi’s picture

Hi,tortelduif

Use uppercase for PHP constants, e.g. NULL, TRUE, FALSE

i.e.
$sxi = new SimpleXmlIterator($fname, null, true);

need to replace with $sxi = new SimpleXmlIterator($fname, NULL, TRUE);

Mayank Kamothi

patrickd’s picture

@mayank-kamothi
would you mind not creating a new comment for every point you found?

mrpauldriver’s picture

Excuse my ignorance, but why isn't this conversation taking place over at the module's issue queue?

harings_rob’s picture

updated my project. Please review.

harings_rob’s picture

What do you mean?

mayank-kamothi’s picture

Hi,tortelduif

Here are mention some space issue in your module file,

Use an indent of 2 spaces, with no tabs
);

There should be no trailing spaces

* Hook_admin

There should be no trailing spaces

* Alter the node creation form that allows

put a space between the asterisk and the comment text

*hook_node_delete

harings_rob’s picture

hi,
thanks for your comment fixed the comment spaces.

But what about the array closing? I dont really know what to do?

tr’s picture

Status: Needs review » Needs work
patrickd’s picture

Status: Needs work » Needs review

note that many of the issues found are minor and should not be required for approval, therefore please do not insist on having them fixed and do not switch the issue to needs work if there are no major issues found.

Automated reviews may point you to possible security issues - what does not mean they are really security issues - note that it´s a common case that automated reviews can have false positives.

harings_rob’s picture

I just wanted to place an updated (the application is allready taking 3 months? ) about the development around this module (after it is verified i will update).

New features are:

Automatic catalog term creation with Ubercart (notebooks will create notebooks for example)
Automatic title update (if enabled in the settings menu)
Automatic description updated (if enabled in the settings menu)
Search by EAN number only! (for all products with icecat, only enter ean and no brand/sku!)

icecat_feeds submodule:
Mappers for brand, sku and ean

So all together the following would be possible:
Product feed with EAN, price and stock -> import the list -> icecat module will do the rest.
and your webshop is ready!

Great possibility's and actively maintained.
Looking for a co-maintainer. Feature requests will open once the module is accepted.

Please verify.

tr’s picture

This module adds the icecat data to the node_form for *all* node types. I'm not sure that's what you meant to do, but if it is I would strongly advise you create an admin form that allows the administrator to choose which node types the icecat data is applied to. I personally wouldn't want this data attached to my book pages, blogs, user profiles, etc. but right now I have no choice. If it's not what you meant to do, you need to modify your hook_form_alter(), hook_node_load(), hook_node_view() etc. to check for a product node type before adding the icecat data. I also suggest you move your admin form definition to a separate icecat.admin.inc file so that it doesn't get loaded into memory on every page.

harings_rob’s picture

The module has been updated with the following changes:

Updated the location where you can edit the settings to the drupal settings page.
Added submodule for integration with feeds
Added a seperate admin settings page #1701498: [D7] Open Icecat product database data collector
Added support for node type selection #1701498: [D7] Open Icecat product database data collector
Changed the language selector to the in drupal installed languages instead of text field.

Forgot to mention a few changes:

IceCat module can do the following now:

Get and save the image to the node if enabled in the settings page

Please review.

harings_rob’s picture

Status: Needs review » Closed (won't fix)
avpaderno’s picture

Title: Open Icecat product database data collector » [D7] Open Icecat product database data collector
Issue summary: View changes
Related issues: +#2391791: [D7] Commerce Sendcloud