The Fields in Core working group aims to include CCK-like functionality in Drupal 7 and beyond. During the week of December 15, we're organizing a 5-day Fields in Drupal core code sprint at Acquia! To help us fund the sprint, please consider making a donation using the ChipIn widget on the announcement page. We need money for airline tickets, hotel rooms, food and transportation. It would also be great to fly in a few additional people with extensive core and CCK experience.
Loading multiple user entities using a field API field value?
Hello,
So I have been spending several days reading about the entity API and the field API both provide examples on how to define an entity/field, the structure and schema, and display handlers.
Next I reviewed user_load_multiple but to my dismay it only accepts parameters that are fields in the schema definition for user entities. I can't automatically reference fields attached via the field API.
Has anyone successfully loaded multiple users based on a value in an attached field?
Read morePre-DrupalCon Munich Field API architectural meetup, needs sponsors !
We are holding a Field API architectural meetup in Munich the weekend before DrupalCon (Sat the 18th to Mon the 20th), next to the D8 Multilinguial Initiative sprint.
Practical info
The sprint starts at 9am the three days.
On Saturday and Sunday:
The sprinting venue is "film.coop" - http://film.coop/
Westendstraße 123, München
Access:
Subway U4 or U5, "Heimeranplatz" stop, 500m walk
Tram 18 or 19, "Trappentreustraße" stop, 200m walk
On Monday:
The sprinting venue is the DrupalCon venue itself
Westin Grand
Fieldable vocabs?
I needed to record some text against the vocabularies on our site and after a quick search of DO for modules, I couldn't find anything that would do this. Does anyone know of such a module?
This is a super trivial task, the entire code to get a textfield saved was just:
<?php
function fieldable_vocabularies_entity_info_alter(&$entity_info){
$entity_info['taxonomy_vocabulary']['fieldable'] = TRUE;
$entity_info['taxonomy_vocabulary']['bundles']['taxonomy_vocabulary'] = array(
'label' => t('Vocabulary'),
'admin' => array(
'path' => 'admin/structure/taxonomy',
Minimum required implementation
As I was working on the upgrade of the sms framework to D7 I struggled to understand why, after implementing the field, I still couldn't see it in the fields list. Redoing the examples and then removing excess code(such as the formatter) I finally realised that there are some functions that need to be implemented for the module to work. Unfortunately this wasn't obvious at all.
Can anyone tell me why I need a widget hook if I was using the 'text_textfield" which is already implemented?
Why aren't minimum implementation requirements in the API documentation?
Read moreThe big content translation models debate (with video!)
Although not planned, the first Drupal 8 Multilingual IRC meeting did drive us into discussing content translation models for Drupal 8 in detail (see the meeting notes). To be able to cotinue that, I've specifically announced the second meeting that it will have a focus on that. And after a little update on the current status, we did return to that topic.
Read moreWhat else should be entities in Drupal 8?
Drupal 7 got "CCK" integrated with key concepts like entities and fields. Entities encapsulate the description of a content item while fields are the individual editable pieces of entities which have their widgets, validators, storage and rendering well defined. That entities were introduced for nodes, taxonomy and users, it became possible to attach fields to these, and unify their configuration, storage and rendering.
Read moreDrupal 7 and Sencha Touch
I've created a demo to show how Drupal and Sencha Touch can work together. The demo is called "Tea Sencha Network" and it displays information from Sencha's official blog.
Please access:
<
ul>
Media DX Summit 2010
MDX 2010 FTW!
With a Drupal Beta planned for May 21, the time is coming for a Media Beta as well! Before we can do that, however, there are a few loose ends to tie up. I've identified two critical pieces for a happy Developer's eXperience (DX) before I'll be happy doing that. There are certainly more: see the Media issue queue for more.
MetaData Handling
The Media module creates Media entity objects, which are fieldable. That means we can already attach any fields or taxonomy to any media object, which goes a long way towards handling metadata. However, Media metadata needs are variable and complex. For instance, a field might be fine for adding a taxonomy vocabulary for Video genre or Bird species, but you would need something better if you want to automatically add video duration, YouTube categories, or grab a music file's getID3 data. Basically, we need a larger discussion of what's necessary, what's possible, and how we get there. See this Media metadata issue for more background.
Display Formatting
Currently, we're using the Styles module to power display formatting. We may or may not continue using that. In any case, we'll need to ensure the formatters more closely follow Media Types, and we'll need to offer a pluggable UI for changing formatter style presets, similar to Image Styles (Imagecache in core, for those not yet familiar).
Media DX Summit 2010?
I'd love to lock up some fellow developers for a couple of days in a room to bang on these ideas. At the same time, my partner Gwen is due on May 22 for our second child, so firstly, I can't really travel any time in the foreseeable future, and secondly, even if we had a summit here in Harrisburg, it would either have to be like this week, or in mid-summer. Considering the deadlines involved for this, we need to get cranking. Thus, the summit I would love to see happen will probably either have to happen remotely, or perhaps without my involvement. :(
Anything Else?
Are there any other issues you would suggest to be critical beta-blockers? Do you have any thoughts to add to the issues I've suggested? Please add to this thread!
Thanks,
Aaron Winborn
(Cross-posted at AaronWinborn.com.)
Read moreForthcoming Media Alpha!
So we're this close to an alpha for the Media module (for d7). There are only a few outstanding critical alpha-blocking issues that need to be resolved. I'd hoped to have it today, but it looks like it'll probably be Monday.
Next week is the time for you to jump in if you're interested in developing for the project! It's been loads of fun, from the initial discussions and plans over a year ago with arthurf, dopry, drewish, Roger López, myself and others, to fantastic core Drupal 7 integration of stream wrappers by pwolanin and GSOC student jmstacey, to some powerhouse #d7ux magic by mverbaar and Jody Lynn, to the latest overhaul introducing Media fieldable entities (with an eye for core Drupal 8) and WYSIWYG integration by JacobSingh and dipen chaudhary, with some potential upcoming fine-tuning from jQuery guru dmitrig01.
If you're interested, join us in IRC at #drupal-media. After giving the module a spin (you'll need Drupal 7 Alpha 1, Media, Styles, and WYSIWYG + CKEditor, and optionally Media: Flickr and/or Media: YouTube), you should subscribe to the Issue queue. (You can also see recent screenshots at AaronWinborn.com.)
Read moreDrupal Media, Now with Fieldable Entities!
If you haven't looked recently, there's been some huge progress recently for Drupal's Media module. Jacob Singh from Acquia has jumped on board, paving the way for fieldable entities! This allows Media asset objects to be a first class Drupal citizen, alongside Nodes, Users, Taxonomy, and Comments. (Hopefully in core for Drupal 8!) Also, Dipen Chaudhary has been hard at work providing WYSIWYG support!
Read moreMedia + Styles + Media: YouTube Demo!
Join us at #drupal-dojo in IRC for a DimDim screencast demonstration, discussion, and quick Q&A of the Media, Styles, and Media: YouTube modules. Built to harness the new PHP stream wrappers in core Drupal 7, this powerful file browsing solution will awe and amaze.
Read moreRequest for feedback on best practices in overcoming query performance problems in D6 and beyond
It is well-known that many very useful queries that you create (on your own or via the Views module) are costly to execute because MySQL creates a temporary table and does a filesort. A common example is {node}.type='xxx' and {node}.status='yyy' order by {node_comment_statistics}.comment_count desc.
Another common example is sorting posts in reverse chron order of most recent comment timestamp, which the Views module implements as order by GREATEST({node}.changed, {node_comment_statistics}.last_comment_timestamp) DESC
Read moreD6 -> D7 field upgrade tasks
This wiki page lists the steps for CCK D6 -> Code D7 fields upgrade.
It is based on a list KarenS maintained a few months ago, and might be incomplete or partially out of date.
Issue for creating module to update field data: http://drupal.org/node/366364
Documentation for developers on how to upgrade modules (in process): http://drupal.org/node/728792
Each field type will have its own bunch of reshuffling of the $field into the $field and $instance structures.
- Add new columns for:
- deleted: defaults to 0
UI-oriented summary of D7 Field API
This Wiki page summarizes the UI needs for the D7 Field API, to get the ball rolling on design discussions.
Discussion currently takes place in the comments here - or is there any other place more in line with D7UX habits ?
Introduction
A good UI for D7 Field API remains to be invented - esp. when considering a couple new features compared to CCK D6.
Read moreFields UI (in Core)
With Field API in Core I think we are shooting ourselves in the foot if we ship without a UI for it.
That having been said, let's see where we are at.
The Current Field UI / CCK UI still lives in contrib because it is said to be too complex or downright bad to belong in core.
Hence, if we want a Field UI in core we need to make it less complex. If you visit admin/build/types with CCK UI enabled you have have an admin page that needs to achieve all of the following:
- Creating content types
- Edit existing content types' settings
State of the RDF in Drupal core after the code sprint
The objectives of the sprint were to flesh out a lightweight basic design for integrating RDF into Drupal core and implement as much as possible the features we agree on during the sprint.
Read moreTranslatable fields implementation details
In http://drupal.org/node/367595 the groundwork is being laid for multilingual support in the core fields api.
At a May 21, 2009 IRC meeting to plan translatable fields (see this summary), a consensus emerged that translatable fields should emulate the current Translation module behavior.
With translatable fields we are introducing a second way in which nodes (and other Drupal data objects) can be made translatable, alongside the existing (node-only) one.
The purpose of this wiki page is to begin to map out in detail just how field-based translation will work, taking as our basis the existing node-based translation. For each feature of node-based translation, will there be an equivalent in field-based translation? If so, what will that equivalent look like, and how will it be represented?
Most or all of this will go as follow-up patches to http://drupal.org/node/367595; but it's worth starting to map the work out now.
This page so far has a few preliminary notes and needs a lot of expansion. Please add and edit. What further aspects of the existing node-based translation will we need to emulate in field-based translation? What will we need to consider?
Read moreProposal for RDF mappings in core
Three key functions:
<?php
rdf_get_mapping($bundle); // @TODO this should be 'container' or something more generic than even bundle
?>
From rdf.api.php in the development bzr repository we get definitions for our two hook functions:
<?php
/**
* Allow modules to define their own RDF mappings.
*
* @return
* An associative array of mappings. Most keys will be bundle names, but
* mappings can also be defined for non-bundles.
*/
function hook_rdf_mapping() {
return array(
Proposal for RDF in Contrib, storing and loading, after first day of sprint
To become an update for the issue RDFa: Add semantics from the ground up:
UPDATE ON THE UPDATE: This is the approach we think could be taken in contrib for RDF, and the original title Proposal for RDFa in Core, storing and loading, after first day of sprint has been changed. You can see the current approach over here.
Our CRUD functions:
<?php
rdf_mapping_create($bundle, $attribute, $rdf_term);
rdf_mapping_read($bundle, $attribute = NULL);
RDF in core code sprint
There are only a few months left before the code freeze on September 1st. Now that Fields API has settled in core, it's time to extend it with some RDF semantics. DERI Galway is hosting an RDF in Drupal code sprint during the week of May 11th until May 14th.
Goals of the code sprint
The RDF code sprint will focus on Drupal core and aim at integrating RDF semantics in it.
- Extend Fields API to integrate RDF mappings for each field instance. The semantics of a field can differ from a bundle to another. This can be stored either in the existing
settings
property or by adding ardf_mappings
property to the Field Instance objects. - Modify the Fields UI (contrib) to allow RDF mappings editing.
- Define the appropriate mappings for the core modules, based on the RDF core mapping proposal.
- Patch core modules with the mappings defined above.
- Export these mappings in RDFa via the theme layer and keep it as generic as possible in order to ease the work of the themers.
- Write tests for RDF in core.
- Identify other non-fieldable entities in core which could benefit from being RDF-ized, and see how to annotate them. Comment is one example. Terms also, though they might become fieldable.
- RSS 1 (RDF) in core. Arto volunteered to get started with that.