Questions Regarding Function

Permalink Browser Info Environment
I spoke to my client today who is wanting to tie his backend system to C5 through the eCommerce addon. We have been using your import module up to this point to bring in some products for a single section, now they want to put their entire catalog of products on. So they had some questions.

1. Can you import images directly from the XML file in hex (I think, text based) format?
2. Is there a way to program a means to import a single file and have the products go to the proper sections of the website without breaking it up into pieces and importing the files separately?
3. Is there a way to automate the import function so that it uses a CRON or similar type script to automatically run?

I understand this may require additional programming, we are trying to ascertain whether it's worth the investment. I understand the upcoming version of C5 is going to maybe be able to make this process easier, but I wanted to see what we can do now. Thanks!

Type: Pre-Sale
Status: In Progress
TeKnoZiz
View Replies:
tbcrowe replied on at Permalink Reply
tbcrowe
Hello. It's been a long time. Good to year from you!

Answers to your questions:
1) No, there is no provision for importing images directly from the XML. The only method supported is by filename. Note that the filename can be an URL, however.
2) There's no support for a parameter that defines the parent page under which to import products. The only provision is to import all of the products in one batch into the same location. See answer #3, though, for possible solution though...
3) I have been hired in the past to automate the import of products. I've done this quite a few times. I've never tried to build this kind of functionality into Import, though, because the details of how the automation worked were always quite different (i.e. where the XML data came from - or sometimes not XML some other format that needed to be converted; different protocols fro retrieving the data; different schedules; etc.). There are always a lot of little details that made this difficult to do generically. What I did do several years ago, though, was move the import functionality into a helper class. This makes it easier to create a script (or cron job) that can be used to import products.
TeKnoZiz replied on at Permalink Reply
TeKnoZiz
Thanks! Hope all is well with you. Can you elaborate a little more on how a helper class would work? Would you be willing to discuss a custom job that would take data from a Sage 500 ERP system using SQL and importing to C5 either through eCommerce or directly into the MySQL backend?
tbcrowe replied on at Permalink Reply
tbcrowe
The way I have implemented automated import in the past was to write a c5 job that loaded and called the Import helper class. Usually, there are settings that need to be recorded, so I've implemented the job as part of a c5 package and a dashboard page for the settings. I've also done all of this as a standalone script. My advice would be to have someone implement a c5 package with a job that you can use via cron to automate the import. Setting up this part of work isn't difficult. Usually it's the rest of the work that's more difficult (integrating with a 3rd party, manipulating the product data, etc.).

Several years I go I implemented one of these automated imports with SAGE, but in that case we used XML that was exported from SAGE. I don't recall the details any more.

I don't know that I personally would be able to help out with such a project. My schedule is quite full this summer.
TeKnoZiz replied on at Permalink Reply
TeKnoZiz
Followup if I may. We are still pursuing this feature/function and I had a question about the import function. In order to place new product pages under the correct product main category page, you have to specify which page in the dialog. Is it at all possible to import a bulk file that adds pages to several different locations, or do they need to be individual imports?
tbcrowe replied on at Permalink Reply
tbcrowe
The Import user interface does require that all products imported in a batch be imported under the same parent page.
TeKnoZiz replied on at Permalink Reply
TeKnoZiz
Thanks so much for your prompt replies! Just double checking whether you'd be interested in building such as package as you did before for us. Didn't know if you were still busy. My client is using Sage 500 ERP v.7.40.2 for their products and it would be a hoot if your existing solution, even with some edits, would work for us. I am double checking with them to verify. In either case, thanks for your consideration.
tbcrowe replied on at Permalink Reply
tbcrowe
I am quite busy right now. I don't think I'd be able to do anything in the near future. Let me know if you need help, though. Perhaps we could work something out.

Thanks, Todd

concrete5 Environment Information

# concrete5 Version
5.6.3.4

# concrete5 Packages
Accordion Menu (2.0), Advanced Forms (1.13.2), Dashboard Maximizer (2.0.4), Data Display (2.7.1.4), eCommerce (2.8.17), eCommerce Import (2.4.11), Flowplayer Free (1.2.1), Foundation 5 (1.6.0), List files from set (1.0.4), Magic Data (2.10.10), Magic Data Commerce (1.4.7), Magic Data Symbols1 (2.7.29), Magic Data Templates1 (2.3.2), Page Auto Redirect (2.0), Pro Blog (12.4.4), Register User Pro (1.3.16), tnSpacer (1.3), Upload and Install Packages (0.9.4.2).

# concrete5 Overrides
blocks/autonav, blocks/orbit_image_slider, blocks/problog_list, blocks/ff_login, blocks/list_files_from_set, blocks/page_list, blocks/formidable, blocks/content, blocks/orbit_slider, blocks/jb_register, blocks/product_list, blocks/search, blocks/product, elements/orders, elements/product, js/scale.fix.js, js/formatter.min.js, js/jquery.formatter.min.js, js/formatter.js, js/jquery.formatter.js, languages/ar, languages/ro_RO, languages/pt_PT, languages/sl_SI, languages/fi_FI, languages/ja_JP, languages/sv_SE, languages/vi_VN, languages/es_AR, languages/nl_NL, languages/el_GR, languages/it_IT, languages/nb_NO, languages/es_PE, languages/sk_SK, languages/fr_FR, languages/es_ES, languages/cs_CZ, languages/de_DE, languages/ru_RU, languages/tr_TR, languages/fa_IR, languages/zh_TW, languages/da_DK, languages/es_MX, single_pages/blogsearch.php, themes/foundation_5

# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off

# Server Software
Apache

# Server API
cgi-fcgi

# PHP Version
5.4.45

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gnupg, hash, iconv, imagick, imap, intl, ionCube Loader, json, libxml, mailparse, mbstring, mcrypt, memcache, mhash, mysql, mysqli, mysqlnd, OAuth, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, Reflection, session, SimpleXML, snmp, soap, sockets, SourceGuardian, SPL, sqlite3, standard, tidy, timezonedb, tokenizer, uploadprogress, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend Guard Loader, zip, zlib.

# PHP Settings
max_execution_time - 300
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 300
max_input_vars - 1000
memory_limit - 256M
post_max_size - 1024M
sql.safe_mode - Off
upload_max_filesize - 1024M
memcache.max_failover_attempts - 20
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - nocache
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5

Browser User-Agent String

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You may not request a refund that is not currently owned by you.