Early Bird Registration for DrupalCon Portland 2024 is open! Register by 23:59 PST on 31 March 2024, to get $100 off your ticket.
By JonBob on
This information is out of date. For a current list of outstanding issues, visit the project's issue queue.
Hey all,
I've received various requests for information about the Content Construction Kit project, and it's time for a summary of the work so far and what's left to do. I'll keep this topic updated with the development progress; feel free to post questions and feedback as replies until such time as there's an official project created that can take issues.
Related information:
- Motivation: Metadata Roadmap by jvandyk. JonBob had a similar piece, but it ceased to exist with the demise of drupaldevs.org.
- DrupalCon Presentation (died with drupaldevs.org)
- DrupalCon Metadata Design Sessions
- Code
Task | Status | Priority |
---|---|---|
Create prototype module | Complete | 1 |
Determine database schema | Complete | 1 |
Revise module to avoid patching core | Complete | 1 |
Implement basic field types: | ||
Short text field | Complete | 1 |
Long text field | Complete | 1 |
Integer field | Complete | 1 |
Decimal (float) field | Complete | 1 |
Category (taxonomy/select) field | 1 | |
Date field | In Progress | 1 |
Image field | In Progress | 1 |
File field | In Progress | 1 |
Node reference field | Complete | 2 |
User reference field | Complete | 2 |
Design node listing API | Handled by views.module | 1 |
Add content type caching mechanism | Complete | 1 |
Add node caching mechanism | Complete | 1 |
Support node revision system | Complete | 1 |
Support form api | Complete | 1 |
Validate required fields | Complete | 1 |
Design administrative UI according to interface group specifications |
Complete | 2 |
Implement content type duplication | Complete | 2 |
Validate field names | Complete | 2 |
Allow customization of node titles | Complete | 2 |
Support multiple entries per field | In Progress | 2 |
Write field API documentation for drupaldocs.org | In Progress | 2 |
Write example field module for drupaldocs.org | 2 | |
Create upgrade path from Flexinode | 2 | |
Allow modules to define field instances | 2 | |
Create advanced search interface | Handled by views.module/deferred | 3 |
Create URL-based listing module | Handled by views.module | 3 |
Create tabular display module | Handled by views.module | 3 |
Evaluate "node templates" or views | 3 | |
Implement basic node types as CCK types: | ||
Story | 3 | |
Page | 3 | |
Blog | 3 | |
Book | 3 | |
Forum | 3 | |
Restrict access to individual fields | 3 | |
Implement user profiles as CCK types | 3 |
- Priority 1 items must be complete before the system may be considered for core.
- Priority 2 items must be complete before stable release.
- Priority 3 items are opportunities for additional functionality after the system is operational.
Comments
I obviously volunteer
I obviously volunteer to help with the node caching.
--
If you have troubles with a particular contrib project, please consider filing a support request. Thanks. And, by the way, Drupal 4.6 will support PHP 5.
--
Drupal services
My Drupal services
Revisions
How about revisions/versioning? Is that a non-issue or should that be an item on your list?
I'll add it
I haven't looked at killes' work yet to see how revisions are handled. This will need to be verified, yes.
I'd really prefer if the
I'd really prefer if the revisions patch could be on core before CCK. I've been updating it for too long.
--
If you have troubles with a particular contrib project, please consider filing a support request. Thanks. And, by the way, Drupal 4.6 will support PHP 5.
--
Drupal services
My Drupal services
Agreed
Agreed, but JonBob still has to deal with it.
Early?
Well, maybe it's a little early to ask, but d you have any idea how the url's will look?
Will we have url's like $cck->type/$cck->id or will it be the simple node/$cck->id?
My personal preference will g out to $cck->type/$cck->id, but that's just me...
node/52
The URLs for viewing a node will not change. Otherwise there are nasty implications for menu callbacks, tabs, etc. I think for people who want different URL naming conventions, it's more useful to have a module that automatically sets path aliases according to your personal convention (type/id, vocab/term/id, node/nodetitle, etc.).
Progress
I added a bunch of new bullet points. Yay! More work for me!
On the bright side, I dropped in a modification of walkah's new image.module. It seems to work like a charm, though there are a few rough edges to iron out. In general it was much easier to convert this module to a field type than its predecessor. Kudos!
Listings
The list module can now do a couple interesting things. Rudimentary support for the listing API is in, and you can search for numbers greater than or less than something, strings contained in text fields, and wildcard matches.
Images and Required Fields
Images and required fields are in.
Validation
And they validate for min and max values now.
How about permissions for fields ?
So that the view of a node can change depending on who is viewing it.
If not directly in CCK, atleast allow a module to remove fields before display.
--
The future is so Bryght, I have to wear shades.
v2
in antwerp, we said that this was out of scope for version 1 ... as you say, it should not be hard to add later via contrib module or directly in the CCK
Group fields
JonBob,
I use Drupal with flexinode for our company's intranet. One thing that we needed from the start is a way to groups the fields. I.e. creating a Contact content type and being able to put the contact information in groups like Home, Work, Other, Internet, etc. A good example is the Profile module.
Does this make sense for you too?
-- NO, don't read this signature!
Awesome idea
Very nice! This adds incredible flexibility to Drupal. I'll look into the code tonight and see if I can't help with something. I hope this makes it into the core :)
International Content ... ?
Hi
maybe You just did not mention it, so here my question:
How about solutions for international websites and contents, maybe like i18n, translation together with localization or a mix of both?
Argument:
Future development of markets and activities is definitely multi-lingual and considering markets beyond any national and language borders.
A CMS or any web project should have therefor a way to allow webmasters, editors and users to have information in their language.
The interface translation localization of Drupal already is a very viable option.
The i18n works nice in core and some modules.
And the [translation] module could be handy in those parts, where a just quick translation is needed.
But what I still miss is some consistency and the implementation of a solid and consecuent vision.
Just a trend or a need ?
Well I believe international CMS is no more just a fancy item, but an essential core feature needed for those systems and websites that aspire to a leading role in what ever market.
Not to consider languages is - IMHO - the programation of premature death of CMS and with it a mayor problem for those sites that have to face international competition.
Just 1 cent a a tiny vote for focussing on languages as a key issue.
Best regards
Roland
internationalization (again)
google=multinational site
msn=multinational site
yahoo=multinational site
etc.
i totally agree with your point about the *essential* need for built in i18n supporto for drupal.
The sudgestion is also being
The sudgestion is also being screemed for here: http://drupal.org/node/17302
Back at it
The module is updated for HEAD. Some updates to the task list.
Whoohoo!
Me happy, great news :-)
I'm just hearing now about CCK
I can see how flexinode could bear improvement. One question: Will CCK enable the creation of contributed field types, the way flexinode does?
I've put together a couple of field types called "node selector" and "user selector" respectively. They create a form_select dropdown menu that can be used to choose from a list of nodes or a list of users. For example, say I have a website for tennis players, with a "court" content type, a "match" content type, and a group of players who are all registered as users. Someone who creates a "match" can easily specify who will be playing (using my user selector) and which court it will be played on (using the node selector).
From a quick perusal of the code for CCK, I see support for some data types such as "integer" or "date," but I don't see support for custom-designed data types or for serialized data. Both of those would be necessary if I wanted to recreate my flexinode "user selector" and "node selector" for CCK.
----------------
Research director, Center for Media and Democracy
http://www.prwatch.org
----------------
Customer Support Engineer, Granicus
https://granicus.com
Custom field types are possible.
Yes, this is definitely possible; if the code you're looking at is field.module, then you might notice that many of the functions there are commented as implementations of hooks. The new system will be much more flexible than the old, as it will be using the standard Drupal module and hook system for definition of field types rather than a proprietary include system. This should also address the problem we had with buggy contributed field types breaking the core Flexinode install.
Caching
I'm marking the caching support as "complete," as I think it's as advanced as it will get for the contrib release. It should cut the queries to one for a typical node_load() of a CCK node. When we consider the module for core, we should look at the cache again, and think about cutting queries further. We could cache the whole node (this version caches only the CCK fields), join in the cache table during a node listing query, and then not have to perform any DB queries at all for most individual nodes during a listing.
can I just say..
I love where this is going..just tried the latest version of the module and it's looking good.
It's not quite working with Drupal CVS by the way..not that I expected it to..just installed it to have a quick peek..
Quick questions:
How soon or how far away are we realistically going to see this unleashed?
Will this do away completely with flexinode.module? The approach with CCK appears a lot tidier and intuitive.
cheers..
Dub
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Hey, jvandyk and JonBob, I
Hey, jvandyk and JonBob, I would like to talk to you guys about CCK possibly adopting Views for its node-listing. I see you're in the design phase, which I hope means it's not too late to do this.
-- Merlin
[Point the finger: Assign Blame!]
[Read my writing: ehalseymiles.com]
-- Merlin
[Read my writing: ehalseymiles.com]
[Read my Coding blog: Angry Donuts]
Status?
I was so excited to hear (DrupalCon video) that you guys were working on generalizing content type creation, this is way cool!
Based on CVS activity, it looks like not much has happened since Nov 6th. Do you guys have any plans for a release with all Priority 1 stuff completed (Just wondering if there is a timeframe in mind)? Any idea when/if this will be included in core?
If I start using this now with 4.6 (internal solution) should I expect any issues when we upgrade to 4.7 or for that matter whatever version of drupal finally includes this in core?
UPDATE: I see here: http://drupal.org/node/17302 that this will probably not be fully supported until drupal 4.8. I'm inferring that CCK will not work with 4.6, will be a contributed module for 4.7 and hopefully will be part of core in 4.8. Any comments on these interences?
-- Bindu Wavell
VP. Engineering
Zia Consulting
That is my understanding.
That is my understanding.
-- Merlin
[Point the finger: Assign Blame!]
[Read my writing: ehalseymiles.com]
-- Merlin
[Read my writing: ehalseymiles.com]
[Read my Coding blog: Angry Donuts]
status?
Someone mentioned on the Drupal Developers channel that the cck.module will be ready as a contrib for 4.7.
Can anyone confirm that or give an indicator to the current status?
Appreciate that there is a lot involved in the cck.module, but, it would be good to know if it's true.
Cheers
Dub
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
CCK is now minimally
CCK is now minimally operational. There's still quite a bit to do, but it is my understanding that we'll have the rest of it ready by March-ish.
I got CCK integrated with Views which managed to eliminate a huge chunk of work that needed to be done.
-- Merlin
[Point the finger: Assign Blame!]
[Read my writing: ehalseymiles.com]
-- Merlin
[Read my writing: ehalseymiles.com]
[Read my Coding blog: Angry Donuts]
Very nice. What still needs
Very nice.
What still needs to be done and is this commited to CVS yet?
isn't running
Thats great!
But.. I can't make it working.
1. I downloaded latest versions of the files (link "code" at the top of the page).
2. added cck.mysql to the db
3. enabled all the cck-modules (also tried combos like content.module+text.module)
But, I don't see the link "administer -> content -> content types.", as it is in the README.
Tried with 4.6.3 and 4.7b3 (4.7b3 was a clean installation)
Can you help me please?
P.S. Sorry, IT WORKS WITH CVS!
I'm getting these errors,
I'm getting these errors, both with php4 and php5. Maybe I'm doing stg wrong. Anyway, I hope this can help you!
* warning: array_merge() [function.array-merge]: Argument #2 is not an array in D:\ibrp.org\drupal-cvs\modules\cck\content.module on line 895.
* warning: array_merge() [function.array-merge]: Argument #2 is not an array in D:\ibrp.org\drupal-cvs\modules\cck\content.module on line 869.
Also, I noticed you defined text fields in the db to hold dates, according to the iso standard... finally! Much better than unix timestamps, for the general use. But I'm trying to figure out what's the advantage over ansi dates... Just curiosity! :)
I'm also having a look at the new Relationship module. Have you noticed it? I think it's great, really! I'm going to choose the better approach to move a db of articles (thousands) into Drupal, or even some other CMS. The taxonomy system, and now the ability of annotate articles in a semantic way, are very valuable features!
What do you think? Could in some distant future CCK be the basis for that kind of modules and applications to be built onto?
Thank you, I cannot wait to see this module appear! :)
me too :(
...anyway
this module is the 'most wanted' thing for many Drupal users (IMO).
hurrah! but finally when we will see it in a project/Modules/cvs list?
[update February 8]
Yes! hurrah! [loud applause]
Works in PHP4
FYI: CCK seems to function in PHP4.
With PHP5, I get the above errors, and can't seem to actually make any fields "stick".
Bug trying to create new content
I created a content type, creating a new piece of content fails. When I hit the Submit button on the create content page, I go to a blank page, with no errors displayed or logged.
I tracked it down to line 198 of text.module:
The function dprint_r() doesn't exist. I changed it to print_r(), and everything works fine.
Is this a typo, or is this some new function I couldn't find reference to?
I would just filed a bug for this, but this project doesn't seem to exist in the bug database.
Another one
There's another one on line 229 of text.module. This one causes submit to fail when you edit an existing piece of content.
- Willis Morse
please be careful..
hi willimouse, please be careful when posting and using CODE tags.
I edited your post to correct the error.
Dub
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Thanks, sorry bout that. By
Thanks, sorry bout that. By the time I noticed it, my time window to edit the post had expired. What is it, like 10 minutes or so?
You can edit until someone
You can edit until someone replies to your comment. Once there is a reply, you cannot edit further.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
dprint_r is a function
dprint_r is a function provided by the devel module, and it is used to provide debugging messages.
You can safely comment them out or remove them; they probably shouldn't get checked in, but since CCK is still a work in progress, enh. It can happen.
-- Merlin
[Point the finger: Assign Blame!]
[Read my writing: ehalseymiles.com]
-- Merlin
[Read my writing: ehalseymiles.com]
[Read my Coding blog: Angry Donuts]
Is it possible to completely remove field definitions?
I added a few fields that I later realized I didn't need. I'm able to remove them from the content type definition, but they still exist in the DB and in the "Add existing field" popups. I guess that's OK, although I didn't expect it.
But they also show up as choices when you create a field filter in the Views module. I don't think anything will break if I choose one of the field types, but it does make it that much more complicated to implement a View based on a custom content type.
- Willis Morse
I was just wondering the
I was just wondering the same thing, and it appears that if you remove the fields from all content types, the fields are permanently deleted and no longer appear in the drop-down. I didn't verify in the db, though...
TinyMCE does not show on CCK text field by default
I have installed CCK on my Drupal installation (CVS of 27 january 2006) to see how this promising module works. So far I have tested the text fields (long and short). I have just found that there is a small problem with TinyMCE.
When in admin/settings/tinymce the default tinymce state is set to on (and the user has not changed this setting), TinyMCE does show on a node/add/CCK-content textarea.
If the disable rich-text below the textarea is clicked then TinyMCE appears and disable rich-text is redisplayed (which is correct this time).
TinyMCE behaves as expected with core modules like page or story and also with Flexinode.
I had a look in the source of the page. The name of the textarea is
"edit[field_example] [value]"
when TinyMCE init function expects"edit[field_example-value]"
. Anong these two what is the correct syntax defined by Drupal API for field element names?This is just for reporting the problem as I found it (CCK is not yet in the list of drupal.org/projects/issues).
Thank you for developping this successor for Flexinode.
CK Status and To-Do List
Excellent!
Is this module optimize for 4.6 or 4.7 ?
Thanks, Darly
Apache is bandwidth limited, PHP is CPU limited, and MySQL is memory limited.
I believe it's targeted for
I believe it's targeted for 4.7 only.
--
Knaddison Family Blog
--
Morris Animal Foundation
or...4.8
or 4.8...
Alexandre Racine
www.gardienvirtuel.com Sécurité informatique, conformité, consultation, etc
www.salsamontreal.com La référence salsa à Montréal
project/cck is up, this should discussion should move there
it's there now.
also, project/cck exists (as of February 7, 2006), which is great news. i just wanted to leave a note here so anyone who finds this forum post knows they should move most of this discussion to the cck issue tracker.
thanks,
-derek
___________________
3281d Consulting
If blogs become CCK types,
If blogs become CCK types, would it be easier to create
multiple blogs per user ?
Marcel
http://ComputingNews.com
http://BusinessLetters.com
what does "multiple blogs
what does "multiple blogs per user" mean?
You can do that now with page/story/flexinode and taxonomy.
--
Knaddison Family Blog
--
Morris Animal Foundation
You *can* do that, but it's
You *can* do that, but it's kind of difficult. Taxonomy isn't really good for that -- it's hard to let users create terms (new blogs) and taxonomy based permissions seem to have a whole exciting kettle of side effects.
-- Merlin
[Point the finger: Assign Blame!]
[Read my writing: ehalseymiles.com]
[Read my Coding blog: Angry Donuts]
-- Merlin
[Read my writing: ehalseymiles.com]
[Read my Coding blog: Angry Donuts]
Like blogger.com One
Like blogger.com
One account and 2 or 10 blogs per user.
Marcel
Targeted Pixel Advertising
In construction: Flexinode converter?
Would anybody consider making something to convert Flexinode nodes into the CCK? It would help us 4.6-ers adapt to 4.7 and cvs a lot faster.
There is a flexinode version
There is a flexinode version for 4.7 so you can use that until CCK is finished.
Well, I thought the CCK was
Well, I thought the CCK was supposed to be a more efficient version of Flexinode. I wondered if switching Flexinode to CCK would provide any advantages, management-wise.
Not yet I think. Now and
Not yet I think. Now and then CCK still changes its database scheme, and I guess polishing the UI isnt one of the early tasks.
Other CCK advantages
I also had the impression that CCK would offer performance advantages over flexinode, in terms of resource useage for busy sites, etc.. I think this has to do with CCK's database schema. Correct me if I'm wrong.
CCK will be better then
CCK will be better then flexinode, but they are not there yet. You will have to wait 12 to 16 months and drupal 4.8 ;)
Alexandre Racine
www.gardienvirtuel.com Sécurité informatique, conformité, consultation, etc
www.salsamontreal.com La référence salsa à Montréal
No, it already works ok.
No, it already works ok. Maybe not all the functionalities, but works. Please, don't post here any more, it's too long!
4.8 - September '06
Um, drupal 4.8 is planned for september '06 I think. I think it will be less than 12 months. It will probably be a stable enough module, even if it isn't in core by 4.8.
--
Bradlis7.com | Churchofchristnet
almost, not quite
Code freeze is set for September. Code freeze is not the same as release.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
How so? As in, what'll be
How so? As in, what'll be different about it?
Field visibility by Role
Hi everyone...
Restrict access to individual fields in currently marked 3, but it is a feature that our organization needs. Could someone contact me regarding sponsoring such an enhancement. I are will to pay for it's development if there are any Drupal devs out there that have an established record of working with and developing on/for CCK.
Thank in advance.
--
cX.
fieldsets and password fields
Hi,
I was just wondering if anyone is working on creating fieldset functionality for CCK, i.e. the ability to group certain form elements together in a set and have that set collapsible and expandable. Also, will the "password" type input field be supported? And will it be possible to add plain text, e.g. like a paragraph or header (not really needed if we have fieldsets)?
Cheers,
Stella
Module for creation / validation of phone number fields
Just added a new module for creation / validation of phone number field via CCK
check it out at : http://drupal.org/project/phone
It 's a beginning, can still be improve
------------
Thierry Guégan
Paris + Vancouver
I have "My Content cck
I have "My Content cck Type"
If I try print $type
I will receive "My Content Cck Type"
I would like to know if "My Content Cck Type"" have a numeric ID? and How can I print it?
..
It doesn't have a numeric ID, but you can see from doing a "select distinct type from node" in your database what types exist for nodes on your site. If you create a CCK node of this type then you will see it's specific internal unique string. Also, you can see the string from example.com/node/add/content_stuff It's the content_stuff which is your internal cck node name. There are probably dozens of places to find it, but those are some.
--
Knaddison Family | mmm Beta Burritos
--
Morris Animal Foundation