GithubHelp home page GithubHelp logo

Comments (17)

jameshalsall avatar jameshalsall commented on May 18, 2024

I wonder if LiipDoctrineCacheBundle should be merged into this repository so it becomes an official doctrine bundle?

LiipDoctrineCacheBundle is awesome, and seems a shame to re-invent the wheel

from doctrinecachebundle.

lsmith77 avatar lsmith77 commented on May 18, 2024

i am generally open to move it to the Doctrine org .. we created it out of a need .. but we have no need to keep it in our namespace just for marketing. so if it makes it easier and more trustworthy for people to have it hear .. we are good with that. also it will likely make it easier to ensure the right people have access.

from doctrinecachebundle.

guilhermeblanco avatar guilhermeblanco commented on May 18, 2024

@lsmith77 we missed it. I didn't recall about LiipCacheBundle when we exchange emails internally (actually, none responded Fabio's emails internally).
He went ahead and implemented it and yesterday he asked me to create a repo in doctrine organization. He pushed the code and completely forgot about Liip, so sorry.

Now let's see what can we do:

  1. Remove this one and use Liip's
  2. Move Liip's to Doctrine organization and remove this one
  3. Remove Liip's and use this one
  4. Modify current code to be compatible with Liip's with minimal changes

Internally, we'd like to have Doctrine organizational support for a cache controlling as a Bundle.
This pretty much invalidates option 1. We still have 3 options to deal with. What are your thoughts?

Would like to hear from @doctrine/team-doctrine2 and @doctrine/team-symfony-integration too. Our ultimate goal is to heavily simplify Symfony\Bridge\Doctrine support.

from doctrinecachebundle.

deeky666 avatar deeky666 commented on May 18, 2024

I would vote for 4) because then users of LiipDoctrineCacheBundle won't have to refactor their applications too much. Another option IMO would be to "deprecate" LiipDoctrineBundle and give users time to upgrade to DoctrineCacheBundle.

from doctrinecachebundle.

lsmith77 avatar lsmith77 commented on May 18, 2024

The good news is that for people to migrate to this Bundle all that should be necessary would be changing a 1) dependency, 2) their app kernel and 3) some configuration. 1) and 2) are unavoidable but 3) should ideally be kept to a minimum.

Once this Bundle is stable and provides the same features I would then deprecate Liip's Bundle.

BTW: There is a website called knpbundles.com that makes it easy to know if there is a bundle before writing a new one ;)

from doctrinecachebundle.

deeky666 avatar deeky666 commented on May 18, 2024

wtf sorry I clicked the wrong button :( can anyone reopen please?

from doctrinecachebundle.

deeky666 avatar deeky666 commented on May 18, 2024

ah found it :D sorry. What I wanted to say is that I think deprecating the "old" bundle should be the way to go. DoctrineCacheBundle should keep the effort of "upgrading" as minimal as possible as @lsmith77 pointed out.

from doctrinecachebundle.

guilhermeblanco avatar guilhermeblanco commented on May 18, 2024

@lsmith77 I evaluated the features available as part of LiipDoctrineCacheBundle.
No matter what we try to do, at least the bundle alias needs to be modified. Right now it's liip_doctrine_cache and doctrine_cache. We cannot avoid this.
Liip uses namespaces as main section of configuration. The terminology seems wrong, because you're creating cache providers, not namespaces. Since people would have to modify the first list, they can easily modify the second.
Cache providers are pretty much the same, with an exception to file_system and php_file, which got created as filesystem and phpfile by this Bundle. We can easily change this IMHO.

Related to provider specific configuration is where we diverge. We created a schema for each driver as an specific definition, which forced users to have something like this:

doctrine_cache:
    providers:
        foo:
            type: 'file_system'
            file_system:
                extension: 'phpc'
                directory: "%kernel.cache_dir%/configurable-phpfile-provider"

Compared to LiiipDoctrineCacheBundle:

liip_doctrine_cache:
    namespaces:
        foo:
            type: 'file_system'
            extension: 'phpc'
            directory: "%kernel.cache_dir%/configurable-phpfile-provider"

Trying to converge DoctrineCacheBundle to become similar to LiipDoctrineCacheBundle, I do see a problem with this when dealing with XML driver. We would have a schema that pretty much force the ability to define ALL possible properties at root level, even though an specific driver wouldn't need/require it. Personally, I'm against trying to do this update.
Shared information, such as namespace, type, is the same. No problems at all.

LiipDoctrineCacheBundle supports aliases. We should support this too, will open a ticket for this.

Service name change. People would be force to change liip_doctrine_cache to doctrine_cache, so I wouldn't see a problem extending the change the change from liip_doctrine_cache.ns. to doctrine_cache.provider..

Custom cache types is something we haven't planned and surely we need to allow this too. WIll open another ticket for this support.

Besides these things, there's nothing else missing. Or am I wrong?

from doctrinecachebundle.

pborreli avatar pborreli commented on May 18, 2024

voting for 2 (Move Liip's to Doctrine organization and remove this one) and implementing the good suggestions as PR on Liip's one.

from doctrinecachebundle.

punkeel avatar punkeel commented on May 18, 2024

imo 2 is best thing to do for now ...

from doctrinecachebundle.

jameshalsall avatar jameshalsall commented on May 18, 2024

I think #2 seems the most sensible option, no one uses this bundle yet so it makes sense to move the currently more popular Liip bundle to this one

from doctrinecachebundle.

guilhermeblanco avatar guilhermeblanco commented on May 18, 2024

I'm in favor of option 4.
Reasons:

  • Liip's bundle have no tests
  • Also, there's a fundamental change required in order to properly deal with provider specific arguments, requiring us to drastically modify Liip's code if moved over here (mainly regarding XML schema support)
  • The things missing for both to be very similar are very small (provider name change, aliasing support and custom type).

Facing from a different direction (Liip being moved), we would have to write tests and also a BC break to allow proper XML schema and driver specific properties.

Also, this bundle only got published after it got tested in production at @instaclick.

from doctrinecachebundle.

FabioBatSilva avatar FabioBatSilva commented on May 18, 2024

The goal of this bundle is to replace/reduce the cache logic inside doctrine/bridge.
Even though this bundle can be used as a replacement for liip-cache-bundle this is not the real goal..

Is probably my mistake not evaluating liip before i start to work in this one.
But now this one has feature parity with liip-cache-bundle and the effort to move, refectory and write test to Liip is bigger than implementing the missing features for doctrine-cache-bundle.
I don't think its worth to spend time/effort in order to move Liip especially because its not possible to move Liip without BC breaks.

I think we should go with option 4 and people will decide by then selfs which one fits better theirs needs..

from doctrinecachebundle.

FabioBatSilva avatar FabioBatSilva commented on May 18, 2024

Please let me know if you guys have any other feature request :

Provider alias : #2
Custom cache providers : #3

from doctrinecachebundle.

lsmith77 avatar lsmith77 commented on May 18, 2024

option 4) with #2 and #3 implemented sounds fine to me. I guess with alias support it could also ensure easier migration.

from doctrinecachebundle.

guilhermeblanco avatar guilhermeblanco commented on May 18, 2024

Let's consider this ticket closed then. =)

from doctrinecachebundle.

guilhermeblanco avatar guilhermeblanco commented on May 18, 2024

Besides custom cache providers, all other features have already been implemented in master. =)

from doctrinecachebundle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.