Bda.plone.shop development focus/direction?

add to https://github.com/bluedynamics/bda.plone.shipping to your checkouts and import the Uninstall bda.plone.shipping from your management view at /managein portal_setup -> Import. This will remove the deprecated IShippingExtensionLayer.

Hi Peter

in folder zinstance/src/bda.plone.shop/devsrc
I run
git clone https://github.com/bluedynamics/bda.plone.shipping.git

and then back to zinstance folder
vi buildout.cfg

add bda.plone.shipping to eggs list
add src/bda.plone.shop/devsrc/bda.plone.shipping to develop list
run bin/buildout

in front page, site setup/add-ons
install bda.plone.shipping(uninstall)

in portal_setup/manage_fullImport
select bda.plone.shipping(uninstall) click import all steps button

back to site setup/add-ons
install upgrade policyGS profile to 3
also failed:

We’re sorry, but there seems to be an error…

Here is the full error message:

Traceback (innermost last):
  Module ZPublisher.WSGIPublisher, line 162, in transaction_pubevents
  Module ZPublisher.WSGIPublisher, line 359, in publish_module
  Module ZPublisher.WSGIPublisher, line 262, in publish
  Module ZPublisher.mapply, line 85, in mapply
  Module ZPublisher.WSGIPublisher, line 63, in call_object
  Module Products.CMFPlone.controlpanel.browser.quickinstaller, line 689, in __call__
  Module Products.CMFPlone.controlpanel.browser.quickinstaller, line 454, in install_product
  Module Products.GenericSetup.tool, line 396, in runAllImportStepsFromProfile
   - __traceback_info__: profile-bda.plone.shop.upgrades:2_to_3
  Module Products.GenericSetup.tool, line 1468, in _runImportStepsFromContext
  Module Products.GenericSetup.tool, line 1280, in _doRunImportStep
   - __traceback_info__: plone.app.registry
  Module plone.app.registry.exportimport.handler, line 79, in importRegistry
   - __traceback_info__: registry.xml
  Module plone.app.registry.exportimport.handler, line 127, in importDocument
  Module plone.app.registry.exportimport.handler, line 414, in importRecords
   - __traceback_info__: records name: bda.plone.shop.interfaces.IShopShippingSettings
  Module plone.app.registry.exportimport.handler, line 273, in importRecord
   - __traceback_info__: record name: bda.plone.shop.interfaces.IShopShippingSettings.include_shipping_costs
ValueError: Cannot find a field for the record bda.plone.shop.interfaces.IShopShippingSettings.include_shipping_costs. Add a <field /> element or reference an interface and field name.

Peter Holzer via Plone Community <community@plone.org> 于2020年10月20日周二 下午2:09写道:

You have to add it to the checkouts of buildout as @espenmn described.
Shouldn't matter if in addons or portal_setup.
It could be that you have to install bda.plone.shipping first, run the upgrade and then uninstall...

@kyholdings Things are going to be more complex using code-sources instead of packages from PyPI. I think your main problem is missing understanding how zc.buildout and it's extension mr.developer are working.

mr.developer is used to do both, cloning the needed resources from Github and registering them as development-egg in the buildout (named development because the are editable if this is needed.

I would recommend investing some minutes to learn about both. A good resource is in out training pages at https://training.plone.org/5/mastering-plone/buildout_1.html
If there are any questions left do not hesitate to ask here!

Just for your info: we've been upgrading bda.plone.shop in our latest project and released the packages for Plone 6 (thank you @rnixx !) ... these are the current released versions with its pinned dependencies used in our project:

# BDA SHOP
bda.intellidatetime = 1.4
bda.plone.ajax = 2.0.1
bda.plone.cart = 2.0b1
bda.plone.checkout = 2.0b1
bda.plone.discount = 2.0b1
bda.plone.orders = 2.0b2
bda.plone.payment = 2.0b1
bda.plone.shop = 2.0b1
bdajax = 1.14
collective.js.datatables = 4.1.2
csv23 = 0.3.4
node.ext.zodb = 1.6
plumber = 1.7
pycountry = 23.12.11
repoze.catalog = 0.9.0
souper = 1.1.2
souper.plone = 1.3.1
yafowil = 3.1.0
yafowil.bootstrap = 2.0.0a1
yafowil.plone = 5.0.0a2
yafowil.widget.array = 1.7
yafowil.widget.autocomplete = 1.7
yafowil.widget.datetime = 1.13
yafowil.yaml = 2.0
zope.index = 6.1

NOTE: our ClassicUI Plone 6.0 project uses the alpha releases of plone.staticresources and plonetheme.barceloneta for Plone 6.1 so these versions will also work in Plone 6.1 (if not, we're updateing them accordingly :wink: )

4 Likes

Dear @petschki ,
I would like to build a website for shopping and I wanted to use bda.plone.shop
I am using Windows and I tried to install the plone instance first and then use this as an add on. Is my understanding correct?
Also I am using Vs code and git bash terminal to install plone.(Windows)

I had followed all the steps..except for :

  1. while creating venv i have scripts instead of bin.
  2. Installation was complete but then to run plone I tried bin/instance fg.
    It gave me an error saying: file not found.

Your guidance would be of great help. Is there any alternative methods or steps to use bda.plone.shop as my add on.

I also tried demo version of plone . Could anyone help me on how to attach addons like bda.plone.shop in this instance

Thanks.

My opinion (maybe wrong / unpopular): do not put the cart in front of the horse (pun intended).

If a project does not already require Plone for other (good) reasons, any unexperienced Plone integrator who chooses a relatively obscure add on such as bda.plone.shop will likely regret their decision.

I have successfully used the package in the past (on an older Plone version) and was happy with the result - for my specific purpose. But, given the option, my advice is to choose any of the many more common not-plone shop solutions. Those will be easier to implement and more feature complete.

Thanks for your suggestion.
I still have few doubts.
Are you suggesting to use plone instance with different shop solution? (is this feasible?)
or are you suggesting to use different platform.

Hi Arya,

I am suggesting that you prioritize your project requirements and that you consider the learning curve ahead of you vs your intended deliverables.

If you are forced to use Plone because of other project requirements, then you can evaluate whether bda.plone.shop is for you. If not, then you are likely better off with another solution (my opinion). If Plone is required, the main task will be to first get your (vanilla) Plone site running. Once that is done, then you can look at customizing any add-ons to suit your needs.

The other way round is indeed feasible: Plone and a non-Plone shop can be done using the Plone RestAPI. This kind of setup is worth looking at when you already have a running Plone site and you want to quickly deploy a shop.

Edit: also consider... https://store.plone.org :slight_smile: