Comments (17)
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.
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.
@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:
- Remove this one and use Liip's
- Move Liip's to Doctrine organization and remove this one
- Remove Liip's and use this one
- 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.
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.
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.
wtf sorry I clicked the wrong button :( can anyone reopen please?
from doctrinecachebundle.
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.
@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.
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.
imo 2 is best thing to do for now ...
from doctrinecachebundle.
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.
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.
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.
Please let me know if you guys have any other feature request :
Provider alias : #2
Custom cache providers : #3
from doctrinecachebundle.
option 4) with #2 and #3 implemented sounds fine to me. I guess with alias support it could also ensure easier migration.
from doctrinecachebundle.
Let's consider this ticket closed then. =)
from doctrinecachebundle.
Besides custom cache providers, all other features have already been implemented in master. =)
from doctrinecachebundle.
Related Issues (20)
- Persistent connections exhaust connections to memcached server HOT 5
- Add option 'public' to cache providers HOT 10
- Missing namespace setting when using custom_provider
- Test failures with latest symfony (2.8.21, 2.3.0) HOT 3
- When a new release with namespace for custom providers? HOT 1
- DoctrineCacheBundle with Redis server went away HOT 3
- New release HOT 2
- PHP Parse Error HOT 1
- Missing default command name in DI tags HOT 11
- Why this bundle does not have a Symfony recipe? HOT 4
- doctrine:cache:clear Fatal error: Class 'Memcached' not found HOT 15
- Provide autowiring for cache provider HOT 2
- AclCacheInterface deleted from symfony? HOT 2
- phpunit configuration file (minor) HOT 3
- Deprecation of DoctrineCacheBundle HOT 16
- Give options to memcached driver HOT 6
- I can't configure DoctrineCacheBundle to work with Redis HOT 1
- Built-in provider complains about non-existing class HOT 1
- Memcached - missing class HOT 2
- question: Metadata caching fails on PHP7 phpredis HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from doctrinecachebundle.