Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Comment | File | Size | Author |
---|---|---|---|
#66 | core-field-types-package-grouping-1255696-66.patch | 6.91 KB | swentel |
#66 | interdiff.txt | 880 bytes | swentel |
#62 | core-field-types-package-grouping-1255696-62.patch | 6.97 KB | swentel |
#58 | field_type_package.png | 66.52 KB | xjm |
#57 | core-field-types-package-grouping-1255696-57.patch | 7.48 KB | lslinnet |
Comments
Comment #2
sunAttached patch should fix the module dependency test failures.
Comment #3
tstoecklerPatch looks good.
I like the idea, but probably needs some more people saying that before RTBC.
Comment #4
yched CreditAttribution: yched commentedI could go with this, but moving 'taxonomy' to the Fields package probably needs a broader approval.
Comment #5
jhedstromMoving taxonomy into the fields package seems non-intuitive, even though it's technically a field-based module now. Aside from that (and I'm not necessarily opposed), I'm all for moving the other field modules into their own package.
Comment #6
tstoecklerI stumbled on Taxonomy as well, but then I realised, that while you can set up Vocabularies and Tags without having anything to do with fields, you can only do anything with those, if you attach them to something else, as a field. So I do think it makes sense.
Comment #7
sunComment #8
rickvug CreditAttribution: rickvug commentedI think this makes sense, even for less clear cut cases such as Taxonomy. We should privilege the needs of new and confused Drupal site builders who simply want to see all modules that provide fields.
Comment #9
swentel CreditAttribution: swentel commentedLike the idea as well, but this will need an update probably because we now also have the email field, I'll trigger the re-test button but I have feeling it won't even pass anymore.
Comment #10
swentel CreditAttribution: swentel commented#2: drupal-framework.field-package.2.patch queued for re-testing.
Comment #12
yched CreditAttribution: yched commentedFWIW, I have no problem with this.
As a side note, though: even though the recent new field types (url, mail - soon date and entity_reference ?) have been added as submodules of /core/modules/field (next to the existing text, number, etc...), it would be good to get MAINTAINERS.txt entries for those, and not assume they are maintained by the Field API team :-), or we're going to hit the CCK effect (field modules get neglected because maintaining them all + the API itself is too big of a task).
Comment #13
dagmarRe-rolled. Included email and link fields.
I think the MAINTAINERS.txt should go into a separated issue.
Comment #15
dagmarComment #17
dagmarComment #18
tstoecklerLooks good. I looked through the list of modules and this covers it.
Comment #19
sunCreated #1823042: Add maintainers and d.o components for all field type modules
Comment #20
webchickI see a lot of devs in here saying +1, but no UX reviews. Assigning to Bojhan.
Comment #21
Bojhan CreditAttribution: Bojhan commentedCould this have a screenshot or list? E.g. Do we actually make fields part of this package too?
Comment #22
sun@Bojhan:
The result is still the same as exposed in the screenshot in the OP. Only the new E-mail and Link modules are missing in there.
Comment #23
Bojhan CreditAttribution: Bojhan commentedWhy isn't Field, Field UI, Field SQL storage part of this group? It seems those are the container modules, all these modules are related to?
Comment #24
sunThe original/underlying idea is:
As a user, I want to have an easy/summarized access to toggle field functionality on my site.
This excludes Field and Field UI by design. As a user, I'm interested in what (actual) fields I can enable (or which I have enabled). Thus, mixing Field and Field UI into the list would inherently add off-topic clutter, and also open the door for arbitrary "field-related" modules in contrib to list themselves there, which would be wrong.
The concept only works for field modules, since almost all of them are sufficiently decoupled from the rest of the system and primarily/solely provide field functionality only.
Partially OT: In three to five years from now, it might also work for entity modules (i.e., node, comment, etc), in case they will have been reduced to pure entity behavior / business logic at that point. But that's not remotely a reality today. Field type modules differ, because they are at this point already; they do not provide anything else than field functionality. Thus, if there was any point in not enabling Field module on a Drupal site, then we'd actually want to improve the UX by hiding the entire package of field add-on modules if Field module is not enabled, since there'd be absolutely no point in exposing that clutter. Today, it's close to impossible to run a Drupal site without fields though, so that part is rather irrelevant, at least for field type modules.
Personally, I only have a very small nit to add to this proposal and current patch: I'd prefer "Fields" (plural) as label for 1) translatability, but also 2) clarification that all of these are "Fields", not "Field"-related.
Comment #25
Bojhan CreditAttribution: Bojhan commentedWell the idea of grouping, is to add similar functionality together - that includes the "main" thing, since that is your orientation module. So I disagree it adds clutter. I agree that its probably never going to be clicked, so from that perspective I am fine keeping it in system.
However, the label "Fields" should be more descriptive, e.g. "Field types" - it is not clear this is about the actual types if we only use the label "Fields" then I have no doubt that field-related modules will start adding their stuff there.
FYI, I really like this - because it sets the trend of unwrangling the "core" package in more useful groupings.
Comment #26
swentel CreditAttribution: swentel commentedChanged to Field types, I personally like it in a way as well, although you could argue that it's maybe to technical ? Anyway here goes, I also attached the interdiff, although that's half as big as the patch itself :)
- edit : too much 'maybe's' in one sentence
Comment #27
dagmarLets gets this in
Comment #28
catchI'm not sure about Taxonomy - what if we wanted to add an Entity package later on?
Comment #29
xjmYeah, IMO taxonomy should not be in the group. It provides a field, but it itself isn't a field. File I'm not sure about.
Edit: on the other hand I'm not sure an entity package would mean anything to users. But taxonomy is more like comment than anything else in that list.
Edit 2: We could move the term reference field into its own module, or it could just be part of the entity reference field module once that's added... ;)
Comment #30
xjmAlso, it seems a little odd to have only one subset of modules that are not under "Core."
Comment #31
Bojhan CreditAttribution: Bojhan commentedComment #32
webchickNeeds a re-roll for #28 and #29, looks like.
Comment #33
xjmNice easy reroll. I'd suggest removing taxonomy from the group for now and opening a revisit-before-release type followup to discuss it further when we have a better idea of what other packages we should consider.
I also pinged @davereid about this issue since he's had concerns about the use of
package
for sorting modules in contrib in the past.Comment #34
dagmarRemoved taxonomy from the Field types package.
Comment #35
sunRecent comments indicate that this will not be solved in a satisfying way and the result will only confuse users.
Sorry for wasting everyone's time.
The proper answer to this is #623544: How to categorize a module as developer module, which I once tried to push forward via #624848: Allow to retrieve a list of modules defining a certain .info file property as a first step, but that got blocked on the D7 API freeze. It's probably time to re-start that effort.
Comment #36
yoroy CreditAttribution: yoroy commentedHow does a "what if" and a "little odd" warrant a won't fix? I like how this idea groups all the modules that make stuff show up in Field UI, a little almost subliminal connecting of the dots. Having Taxonomy in here might actually help some people see that exposing tags happens as a field on your content type for example. I don't understand what #623544: How to categorize a module as developer module is about.
Comment #37
sunThe actual problem we have is this:
(Note: The page didn't fit on my screen [not even two], so I had to hack the CSS to get this in a shot.)
#623544: How to categorize a module as developer module and related issues ultimately want to solve this by ditching "package" altogether.
Instead of "package", we introduce tags. Meaning, a module can be classified into multiple categories. At the same time, the total set of all categories makes more sense, because we stop the "packagitis" problem that is being caused by tons of modules creating their own, new package, because they think they are special (they are not).
Instead of a single package, there will be multiple tags/categories, meaning that modules like Taxonomy can easily appear in both "entity" and "field". — In which of both would you search it? Doesn't matter, it's there!
Lastly, to avoid tagitis/categoritis, we automatically strip away all tags that only appear once. Thus, if only one module tags itself as "beavis", and only one other module tags itself as "butthead", then neither of both categories will appear. Each of both modules will have tagged itself with some other terms and can be found within those (hopefully more reasonable) categories.
Comment #38
xjmI would agree with classifying this as a duplicate of a core issue for #623544: How to categorize a module as developer module; I was a little ishy on the whole direction of this patch and that seems like the better solution.
Edit: didn't realize the issue was in a different queue. We'd need a core issue for
.info
tags. I think @davereid has a module for that somewhere.Comment #39
sunRelated: #1862656: Move field type modules out of Field API module
Comment #40
Gábor Hojtsy#1833184: Find a consistent naming scheme for translation-related modules is leaning towards establishing a "Language" or "Multilingual" category in core that would let contrib modules add more modules in that category. Now that there are three interacting modules in core to deal with language-related stuff. There however the thinking was to (a) include all core modules related to language (b) let contribs add more multilingual modules there. This is somewhat different from the goals that this issue had to only group a subset of field modules. However it would set up another group that is not "Core" in core. Just to point out there is likely a need for this categorisation to sub-divide core with the explosion of functionality (and in some cases better functionality separation) we have in Drupal 8.
Comment #41
sunCreated #1868444: Introduce tags[] in module.info.yml file to categorize modules by provided functionality.
Comment #42
sunAt this point, I think we can mark this a duplicate of #1868444: Introduce tags[] in module.info.yml file to categorize modules by provided functionality.
Comment #43
jenlamptonRe openeing since we should have field-type modules grouped separately on the modules page, even if #1868444: Introduce tags[] in module.info.yml file to categorize modules by provided functionality. does not land before d8.
Also, patch attached.
Comment #45
jenlampton#43: core-field-types-package-grouping-1255696-43.patch queued for re-testing.
Comment #47
jenlamptonneeded reroll
Comment #49
tstoecklerpicture.module does not provide a field type, it simply provides a formatter. So if we call the package "Field types" then Picture should not go in there.
Comment #50
lslinnet CreditAttribution: lslinnet commented#47: core-field-types-package-grouping-1255696-47.patch queued for re-testing.
Comment #51
lslinnet CreditAttribution: lslinnet commented@tstoeckler you are quite right, have rerolled a new patch which excludes the picture module.
Comment #53
lslinnet CreditAttribution: lslinnet commentedI have started fixing the test cases related to this issue.
Comment #54
tstoecklerFixing title to be more accurate in that case.
Comment #55
lslinnet CreditAttribution: lslinnet commentedHave updated the test cases which failed, was unable to run the locale test case on my local environment due to reaching max nesting level in php.
Comment #56
lslinnet CreditAttribution: lslinnet commentedJust assigning it to myself
Comment #57
lslinnet CreditAttribution: lslinnet commentedMissed one reference to image module in the LocaleConfigTranslationTest, should be fixed in the latest patch.
Comment #58
xjmSo I'm still kind of ambivalent (/cc @alexpott) about this.
On the one hand, the "we shouldn't use package for module tagging/categorization" statement really doesn't work now that multilingual is using its own package anyway. And this probably does improve usability (versus having to search through the whole list).
However, I'm kind of unsure still why we don't just fix #1868444: Introduce tags[] in module.info.yml file to categorize modules by provided functionality.. That change would be an API addition, not a BC break, so it can go in right up to RC1. (It's feature-y, so maintainers might choose to hold the patch until our major/critical counts are better, but the issue isn't RTBC anyway.) The solution in this issue seems too simplistic to me, and here's why:
Codewise, the patch is fine. Here's what it looks like in the UI.
I also verified that these are the only exclusive field type modules in the list.
Comment #59
jenlamptonThe problem with waiting for tags is that we haven't figured out a usable UI for them yet, or a way to make the infinite list of tag possibilities manageable. But, packages, we have now :)
In short, I think we should do both things. I think we should do this - now - because it will make things better - immediately.
*And* I think we should add tags, once we figure out all the details and resolve all the associated problems that go along with them.
Patch still applies cleanly. :)
Comment #60
amateescu CreditAttribution: amateescu commentedThere's a discussion going on in #2064727: Separate Core modules into separate packages on module page about how to do this generally for all core modules and I think we should wait a bit for its outcome..
Comment #61
johnvAs a site builder and parttime coder, this new package is a huge help. My two cents:
- This discussion is very old for a clear UX improvement. Just get it in. It splits off a 30% of the core modules.
- The beste name should be 'Field', since the list contains modules leveraging the Field API. (The 'Options' module does not provide a Field type, only widgets+formatters.)
- The proposal in #2064727 leans towards 'Core Field'. We shouldn't do that. Contrib modules are welcome in the 'Field' package.
- About Taxonomy: I would add it to the Field package, but it is not worth delaying this improvement.
- Tags are fine, I guess. But normally I just scan the modules list using a text search. I'm happy with the Package-way.
BTW. This is another approach: #1371524: Remove packages from modules list and .info files
Comment #62
swentel CreditAttribution: swentel commentedThis now also got more interesting now that comment is a field ... :)
Just a reroll. Web services just go into a separate package too, so why don't we just make a decision here and go ahead with this ?
Comment #64
amateescu CreditAttribution: amateescu commentedBecause we don't have an agreement yet in the other issue.. ?
Comment #65
Bojhan CreditAttribution: Bojhan commentedI think we can just move ahead.
Comment #66
swentel CreditAttribution: swentel commentedComment #67
Bojhan CreditAttribution: Bojhan commentedComment #68
webchickOk, seems we have consensus here.
I was initially confused by why e.g. Taxonomy, Image, etc. don't show up here but it looks like this was covered above. Basically, if the module's doing other things and also defining a field, it goes in whatever package makes the most sense. If it only defines a field, it goes here. Feels like we need to capture that somewhere in e.g. the UX guidelines so that module developers know what they're supposed to do here.
So tagging for both a change notice and documentation.
Committed and pushed to 8.x. Thanks!
Comment #69
webchickComment #70
Bojhan CreditAttribution: Bojhan commentedI am making up a new tag here.
Comment #71
tstoecklerRe #68: Well in fact Image is in there but taxonomy is not, so this is now *hugely* inconsistent in core. :-/
Comment #72
Bojhan CreditAttribution: Bojhan commentedYou define huge, as 1? :P
Comment #73
webchickIt's a fair point. Why is taxonomy special? We need to be able to very clearly and simply define this, or else we need to roll this patch back.
Comment #74
BerdirThe current separation makes sense to me. The main thing that image.module does is providing image fields. It also provides image effects and stuff like that, but in most cases, they're used in combination with image fields. You install image.module because you want to add image fields.
taxonomy.module is about categorizing/structuring your content, it just uses the field system to store the assignments. That would be even more obvious if it would use the entity reference field type and not provide it's own. Comment is similar.
Comment #75
Les LimThis doesn't represent an API change; does it still need a change notice?
Comment #76
Les LimAlso, for some reason, I get "Access denied" when I try to update/edit this issue. I can access the edit page for other core issues just fine.
Comment #77
klonos@Les Lim: happened to me in another issue. It's because some user that had the proper rights edited the issue summary in a text format that allows more html tags than what we regular users are allowed to. So, now that we try to edit we have no permissions.
Comment #78
tim.plunkettFixed input format
Comment #79
xjmI don't actually think this needs a change record. Also, as far as I know, the "use package only for actual honest-to-goodness packages" recommendation was mostly unwritten and proclaimed in issues, but if not, then we still need a docs update.
Comment #80
Dave ReidWe probably *should* have a change record because all the field types in D7 standardized on 'Fields' as the package and will have to change this line in D8 to match what core is doing. Insert irony here about how core went and did something different than a well-established pattern in contrib.
Comment #81
Gábor Hojtsy@Dave: I think I captured that in a change notice that I just added in https://drupal.org/node/2186029. Not sure where this needs a docs update though.
Comment #82
plach@Dave: @Gabor:
If I read that CN correctly, it means the the Fieldgroup module should not go in the "Field type" package, but in a more proper "Fields" (or similar :) package, right? Sorry if this has already been answered but I didn't follow the discussion here.
Comment #83
mgiffordComment #84
connorwk CreditAttribution: connorwk as a volunteer and commentedTriaging as not Novice because it looks like it went into a discussion giving no clear path forward.
Comment #99
quietone CreditAttribution: quietone at PreviousNext commentedThis issue was committed in November 2013 (#68) and re-opened for an update to documentation. While this is not a bug the Bugsmash Initiative has found that issues that have been committed and re-opened tend to linger and that making a followup so the issue can be closed improves the chances it will be resolved.
So, restoring the fixed status of this, at the time it was fixed, and opening a new issue to look into the documentation.
Comment #100
quietone CreditAttribution: quietone at PreviousNext commentedThe follow up is #3280347: Document package type to use for modules primarily providing field types.