How to add interesting new features to thirty bees while staying PS 1.6 compatible?


  • Global Moderator

    I’ve been thinking about this, it’s an interesting technical challenge.

    We need to define exactly what it means to be PS 1.6 compatible. The lack of defined APIs makes this a vaguely defined target.

    Areas for consideration, modules:

    • The basics of a module, ie. what’s needed for a module that does no core class overrides, should be easy enough.
    • Core class overrides, it’s probably just impossible to support it all forever, perhaps inspects some number of the major addons out there, see what’s used in practice?
    • hooks
    • more?

    Areas for consideration, themes:

    • Template names assumed by the core
    • Smarty variables passed to these templates
    • Globally available smarty variables
    • more?

    Perhaps the best way to document all of this is to write automated test suites that verify the existence and behaviour of these de-facto APIs?

    This is a lot of hard work.

    However if it’s not done correctly I fear PS 1.6 compatibility will break too soon, before a critical mass of merchants and addon writers have moved over.

    Just some food for thought…


  • Global Moderator

    The basics of a module, ie. what’s needed for a module that does no core class overrides, should be easy enough.

    Yes.

    Core class overrides, it’s probably just impossible to support it all forever

    Forever? Probably not. For a while? Certainly possible. Current strategy and PS’ strategy up to 1.6.1 is to not remove or change functions/methods without an extended deprecation period. For example, 30bz still contains some code for compatibility with PS 1.4.

    hooks

    Apparently handled similar to functions, but need changes not as often.

    Template names assumes by the core

    Fully hardcoded in PS 1.6 and 30bz. Often in the middle of the code calling these templates. Urps.

    PS 1.7 made some efforts to relax this hardcoding, kind of a template configuration was introduced: https://github.com/PrestaShop/PrestaShop/blob/develop/themes/classic/config/theme.yml So far for the basic layout, only.

    Smarty variables passed to these templates
    Globally available smart variables

    These are indeed a bitch. Modules send them directly, so their amount and content depends on what modules are installed. There are no “namespaces”. PS 1.7 partially introduced such namespaces, e.g. $price became $product.price.

    Generally, one can do pretty much anything. See how modern Windows’ still support Win95 applications. It just adds up. Having all the template variables for PS 1.5, 1.6, 1.7, 30bz 1.0, 1.1, 1.2 available doubles code work and memory usage. So stuff has to go away not tomorrow, but somewhere on the horizon.

    A partial workaround could be to detect template versions. AFAIK, there is currently no such thing. One can currently install a PS 1.7 theme easily on 30bz, it just doesn’t work.

    Another thing to consider is that PS advances, too. Themes advance. Requirements, expectations advance. Which means, theme makers want no stillstanding either. Which in turn, I think, should lead less to efforts to keep everything as-is as much as possible, more to efforts making transitions easier.

    To everybody raising eyebrows now: there are no plans to give up PS 1.6 compatibility anytime soon, AFAIK. Thirty bees’ stated goal is to be stable and reliable.



  • To everybody raising eyebrows now: there are no plans to give up PS 1.6 compatibility anytime soon, AFAIK. Thirty bees’ stated goal is to be stable and reliable.

    My understanding is that 30bz 1.0.x will maintain PS 1.6 compatibility but once 30bz moves to v1.1 then PS 1.6 compatibility will start to break.

    My personal belief is that 30bz needs to maintain 1.6 compatibility until either PS goes bust or the 30bz active community is much, much larger than it is now. That could be done by maintaining 1.0.x in tandem with 1.1, but with a small team that is going to be difficult to do. Right now I think most of us are here because we can transition our PS work relatively seamlessly to 30bz and have a far better final product. To me it seems the best way to attract more users is to keep providing this mostly seamless transition.



  • Hmm, I found thirtybees because PS already seemed broken…waiting forever for a product to save? Oh go find this fix…yeah I did TB!
    Isn’t the point to work, so why be compatible with something that doesn’t.



  • @vzex said in How to add interesting new features to thirty bees while staying PS 1.6 compatible?:

    Hmm, I found thirtybees because PS already seemed broken…waiting forever for a product to save? Oh go find this fix…yeah I did TB!
    Isn’t the point to work, so why be compatible with something that doesn’t.

    PS has hundreds if not thousands of modules and themes. 30bz has nearly none as it is brand new. Being compatible with an established player makes it easier to gain users as they can use their existing modules and themes and if they’re looking for something different there’s a large library available.


  • administrators

    What our plan is, is to follow the dev style of more mature communities.

    We are going to always have what is called a long term support version. Right now 1.0.x is going the be the long term support branch. We will be stopping support for it around Aug 2019. We think it is very important to maintain support as long as possible, but also give a roadmap if possible as well. Likely 1.1.x will break some support for modules and themes. There are things that we want to change in those versions to make the experience better for merchants and developers. We are going to try our best to have compatibility patches that can be run that will make the experience not optimal, but work.

    Breaking compatibility is hard, but it is something that is going to have to happen at some point to move forward. As our community grows so will the offerings from the community. One thing we do believe in though is long beta’s on new versions. We aren’t going to stick you with broken software and make you either suffer or pay a developer to fix it.


  • Global Moderator

    A new development that further complicates this:
    The top four selling themes on Themeforest (Warehouse,Transformer,Alysum,Panda) have all recently released 1.7-only updates and have 1.6 in a next-to-nothing maintenance mode. The updates are massive, with loads of features many shops could use.

    I understand the theme writers, they´re in the same boat as PS, they depend on new module sales to survive.

    The theme writers also claim they have an easier job adding new stuff to a PS 1.7 based theme than to an 1.6 based theme. It would be interesting if we could get more technical details here.

    As long as PS stays alive somehow, and as long as thirty bees is still small, I don´t see the big theme writers porting these themes to thirty bees soon.

    I know @Traumflug has done some work on support for 1.7 themes, but far from finished, it´s hard work.


  • administrators

    Most all 1.6 versions of themes work natively with thirty bees.

    There are going to be some theme developers that do not support us, Warehouse I think will be one of them. I have talked to Marcin extensively about it over the last few months, but he is not budging.

    As the further decline happens people will start looking for ways to make money, at the same time we will attract new developers in. Its not going to be easy in the beginning, but I think we can pull out of it and have a good library of products.



  • Sent emails asking about two themeforest themes, one never responded the second did only after sending a second request. :(

    “Sorry ! This theme only is used in Prestashop platform.”


  • administrators

    Which themes? I have been doing as much outreach as possible with companies trying to get support.



  • This theme ;)

    “Cepheu”

    Can’t recall the second since it was a direct inquiry not in my email.

    Is this where you show the link to someone on fiverr and the like for a quote to make something similar?

    Or learn sublime text and design :)


  • administrators

    I have reached out to them, hopefully they will reply back.

    I don’t understand the second part of your comment.


  • Global Moderator

    @lesley said in How to add interesting new features to thirty bees while staying PS 1.6 compatible?:

    Which themes? I have been doing as much outreach as possible with companies trying to get support.

    If we get the attention of iqit-commerce (Warehouse), tantan199 (Transformer and Panda) and MarekMnishek (Alysum), then a lot is covered, that’s the top 4 bestsellers.

    These are all pretty much one-man-shows with limited time to support both 1.6 and 1.7. And all three have now put loads of hours into new 1.7-only functionality.

    Their 1.6-based versions will of course continue to work fine with thirty bees.



  • @lesley to pay someone to create a similar theme or teach yourself to make the theme changes.

    Just installed sublime text need to figure out which addons work best to show in browser theme changes.

    But in the mean time I’m learning to like the default theme since I’d rather get my site moved to TB up and running.


  • administrators

    @roband7 I talk to Marcin the owner of IQIT semi-frequently, he is not willing to support us yet. Hopefully his mind will change since his version 1.7 theme is not performing that well.

    I will reach out to the others though, they might be open to it.

    @vzex I should write a proper article on how to make theme changes. Do you use linux?



  • @lesley Sadly no, mac


  • administrators

    Same thing really, it uses a linux sub system. Are you familiar with the command line?



  • I can copy/paste into terminal yes!


  • administrators

    nice. I will have to figure out how it works on mac. We use gulp to build the css files and js files.



  • I need this for my Mac also but I don’t know how to begin integrating 1.7 updates for my transformer theme.


Log in to reply
 

Looks like your connection to thirty bees forum was lost, please wait while we try to reconnect.