Comments (6)
@totten I'm confused about this. I don't see hardcoded references to specific mixins in civix. Doesn't it just scan civicrm-core/mixin
for those? Why isn't this working?
from civix.
This issue should be fixed by d8e980e / v22.06.2.
@colemanw The list is mixin-backports.php
. You may recall - the testing+metadata+requirements for backports are more fiddly/stringent than for regular code updates, and it's easier on my brain if that responsibility is split (ie civicrm-core
drives new iterations of the mixins per SemVer; then civix
decides backports).
The bit that might be surprising - civix currently wants mixin-backports.php
to have a full list (even if you don't intend to use backports). It's easy to update. It would be nice to work better with non-backported mixins, though I'm not sure how easy it is to support both.
Question/aside: afform-entity-php@1
is provided by 5.50. Is that also the minimum to use it? Or does it also work on prior versions?
from civix.
@totten this mixin has a bit of a weird upgrade path:
< 5.50
the mixin is not needed because core does the file scanning automatically>= 5.50
the mixin is required if you want to keep doing the file scanning
So for an extension to be compatible with all versions, it should add the mixin tag to info.xml
and then provide an empty shim that does nothing, like this: https://github.com/eileenmcnaughton/deduper/pull/26/files
from civix.
@colemanw Re-reading, perhaps d8e980e wasn't the correct revision?
- That would have the effect of copying https://raw.githubusercontent.com/civicrm/civicrm-core/5.50.0/mixin/afform-entity-php@1/mixin.php (let's call it
v1.0.0-real
) into an extension. - But any system which needs that revision already has it.
- The copied file only matters when running on older systems.
- Older systems should have https://raw.githubusercontent.com/colemanw/deduper/6791ae0b70db3790ac4508a69c54498c13dbf111/mixin/afform-entity-php%401/mixin.php (let's call it
v1.0.0-null
) (mostly so that they don't error-out on the missing file).
Additional question: for systems <5.50, how far back does it go? Like it's meaningful to use 1.0.0-null
on, say, 5.30?
from civix.
There appears to be some afformEntity scanning code as far back as civicrm/civicrm-core@0406c8f#diff-b700bdf29c94b8c86727852b07277f33787500b5af297c2fc5c86105ec0edc50R191. So maybe the minimum is 5.31
from civix.
Aah, wait. The only behavior of v1.0.0-real
is to subscribe to civi.afform_admin.metadata
-- which won't be emitted on 5.31-5.49. v1.0.0-real
and v1.0.0-null
are both nullops. It shouldn't matter which variant we use for backport purposes.
The only difference is that v1.0.0-null
provides better comments. We could add more comments to v1.0.0-real
-- and then we don't need two versions of the file?
from civix.
Related Issues (20)
- civix generate:entity-boilerplate Not generating SQL in correct order for dependancies HOT 3
- civix the hook_civicrm_menuXml is gone HOT 5
- generate:entity-boilerplate errors output in auto_install.sql HOT 4
- generate:entity-boilerplate clean up issues HOT 5
- civix repair? HOT 4
- Boilerplate tempate(s?) idea
- Menu mixin problem on older version of civi HOT 9
- php8 - civix upgrade - preg_match(): Passing null to parameter 2 ($subject) of type string is deprecated in src\CRM\CivixBundle\Upgrader.php on line 244 HOT 1
- Failed to locate scan-classes@1/mixin.php HOT 2
- `Civibuild create` fails with Redis due to cached extensions HOT 3
- php 8.1 compatibility HOT 2
- Smarty local mix-in missing? HOT 4
- php codesniffer warnings HOT 2
- Civix could (or should?) offer in-line-replacements for dropped deprecated functions HOT 9
- Error running generate:module HOT 5
- Civix 23.08.1 Fatal Error with php 7.4 HOT 4
- Support setting-admin mixin HOT 1
- Database Upgraders - Continuing support for <5.37? HOT 1
- Polyfill: Int instead of bool as input type on `var_export()`
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 civix.