Hello,

For one of the projects we needed wishlist functionality for Commerce, with ability to create public wishlists that can be shared.
I worked on top of this module and wanted to contribute back the work done.

Commits are kept relatively small to be easily tracked. At the moment there are about 40 new commits.

New features

  • Public wishlists.
  • Full rules integration.
    • All messages and redirects are now coming from default rules. This means that they are completely customizable and allow you to have almost any functionality you need.
    • New events: after adding a product to the wishlist, after adding a wishlist product to the cart, after purchasing wishlist product and after removing it from the wishlist.
    • New action: remove wishlist product for a specific user.
  • New default view for listing users with wishlists on the site.

Other changes

  • New database field for storing the timestamp of when the product has been added to the wishlist.
  • Themeable functions.
  • Code formatting.
  • Extended documentation.
  • Other minor fixes.

Related issues

#1422878: Make Wishlist Public
#1911568: How is this module different from Flag module?
#2267357: Rewrite to support public wishlists, and multiple wishlists.
#2257097: Make already in wishlist link themable (patch provided, but I didn't use it; found it at the end)
#2226473: Wrap 'Already in wishlist' to div with class
#1635510: Adding date of adding product to wishlist
#1632342: Permissions in module

Code

You can get the code in my sandbox:
https://www.drupal.org/sandbox/topsitemakers/2389371

For easy browsing, repo is also on Github:
https://github.com/topsitemakers/commerce_wishlist

Request

I do understand that this is a radical update of the module and will require some testing and further modifications.
However, if you generally agree with the changes and accept them, I would request a co-maintainer access so I can work directly with the dev version.
I saved step-by-step commits in the current dev version, so if you grant me the co-maintainer access I can just push them to the repo on Drupal.org as 7.x-2.x dev branch, where the work can be continued.

Let me know if you have any questions about the features or decisions.

Thanks!

Comments

aramboyajyan’s picture

Issue summary: View changes
aramboyajyan’s picture

Issue summary: View changes

Updating related issues as there seems to be an issue with the "Related issues" field.

neograph734’s picture

I need similar functionality in a project soon. Will check out your sandbox, but sounds promissing. I think it could make this module better. I hope more people will have a look at your code, but for now thanks!

aramboyajyan’s picture

Sure; there is also another version (I call it v3) where things are changed even more to support product attributes, custom line items, etc.

However, that one is in process and recently I didn't have time to clean the module for general use.
Will do that in near future though.

neograph734’s picture

Issue summary: View changes
Scott Robertson’s picture

Status: Needs review » Closed (fixed)

Hi topsitemakers,

I've just committed a new 2.x branch that includes your 2.x version of the module, in addition to some bug fixes and other updates that I made. I also reworked the schema to split it into two tables to make it easier to add support for multiple per-user wishlists in the future.

If you're still interested in contributing to the module at all, I'd recommend contacting iMiksu and asking for co-maintainership!

Scott

aramboyajyan’s picture

Hi Scott,

Thanks for committing the 2.x branch. I just re-started the work on the 3.x, which is a complete rewrite with full Views/Rules integration.
I will keep all these issues updated on progress.
Any help would be much appreciated, so if you/anyone else who sees this want to contribute, just drop me a line and I'll point you in the right direction.

Regarding iMiksu - I contacted him while I was working on 2.x branch, but he never replied back.
I'll drop him another line now.

Aram

aramboyajyan’s picture

Hi Scott,

I forgot to keep this thread posted - I got the co-maintainer status from Mikael, and will be more active as soon as we have a stable-enough version of Commerce Wishlist v3.

Since there will be 3 different branches of the module, here's what I suggest to do after v2 and v3 are tested enough for public usage:

- Deprecate the v1 in favor of v2. As far as I remember (I can be wrong though, haven't looked the sources for some time) the two can have an easy upgrade path.
- Introduce v3 which will receive new features. At the moment v3 is reaching the end of "raw dev" phase, and will be ready for testing soon.

Let me know your thoughts on this.

Thanks!

Scott Robertson’s picture

That sounds good to me. I've already switched the recommended release over to the 2.x branch.

I believe the reason that I mentioned there being no upgrade path between 1 and 2 on the front page is because of the schema changes I made to use 1 table for wishlists and another for wishlist items, instead of 1 table for everything. A hook_upgrade could definitely be written to update the 1.x schemas to the 2.x version, though.