Greetings,

Has anybody ever tried both FLEXINODE and CCK modules ? They both do the same but I'm familiar only with FLEXINODE. So the question is which of them is more powerfull ?

Thanks.

Comments

coreb’s picture

I think Flexinode is being phased out, but CCK isn't quite ready yet. You probably wouldn't want to start a project now with flexinode to have to migrate to CCK soon.

As for power, I think CCK will be more powerful once it is finished.

Bèr Kessels’s picture

I wrote a long article on this matter on my blog, called What to choose: Flexinode versus CCK!. You may find more info there.

despite what others say: Flexinode nor CCK is "better". Both serve sertain needs, for certain cases one is better then the other.

---
Professional | Personal
| Sympal: Development and Hosting

ardas’s picture

Thanks Ber!
Very complex and useful article.

I've spent lots of time with Flexinode and now I'm using CCK. All my solutions are based on them so I have several comments which may be useful for others.

1. Themes.
Flexinode is very inconvenient when theming node page or teaser - you need to use $node->flexinode_4 or $node->flexinode_11 to access fields. Flexinode content is called 'flexinode-7' or 'flexinode-15'. There is no ability to access content type or field by a normal name (i.e. 'field_genre' or 'field_inspiration'). I have my own version of Flexinode with new features: content type name and field name but it is still quite inconvenient to use.
No such problems in CCK!

2. Teasers.
Thanks a lot to CCK authors for empty body and teaser fields! Since we have an ability to create text area field we don't need hardcoded body any more. Flexinode generated body from its fields and that body was UGLY. All normall sites MUST create their own templates to display node page or teasers, so there is no need to generate bodies. The only huge lack is that search.module will not find any CCK nodes because they have empty bodu and no search hooks implemented. But CCK_Search.module is already in development. It will provide an ability to customize seearch index for CCK nodes.

3. CCK has far less fields available.
I reviewed CCK pages several days ago and found that there are lots of fields already developed (may be even more than for Flexinode).
IMPORTANT: imagefield is much more better than it was for Flexinode (more correct file processing and all thumbnails logic was taken into imagecache.module). I'm going to create an audiofield.module and videofield.module for CCK soon.

4. Data structure.
Agree with Ber. It looks properly normalized in Flexinode (which is assumed to be good) but it is very bad for indexing and writing search queries. So, altering table structure on the fly is a very good solution to build an optimal database.

5. Core & CCK.
If CCK will be taken into core, Drupal becomes not only a CMS but a powerfull platform wich will be completely better than any other CMS. This is my dream :)

6. Flexinode is easier to administrate then CCK.
I didn't understand why CCK is harder but okay ... Ber, you are a professional (I know because I'm using your quicktags.module)... Easiness should not attract professionals:) Our aim is power!

7. CCK is easier for Drupal developers.
You are right that it is more difficult to develop a CCK module but it is easier to develop a site using CCK and its already developed modules. Such site is easier to maintain.

My own conlusion
-----------------
After I started using CCK instead of Flexinode my development time reduces twice.
Proposition for everybody: let's study CCK and help authors to make it better and integrate into core. I myself gave up with my improvements of Flexinode and started to work for CCK.

----------------
Regards,
Dmitry Kresin, ARDAS group (www.ardas.dp.ua)

coreb’s picture

Sorry for spreading the FUD, but as you can see, that was written in June. I was going off of what I heard at that time.

Barry Pretsell’s picture

CCK is alot better than flexinode, and very powerul, can use node_import to easily import data to CCK nodes, also it works with view module, it really is an improvement over flexinode.

jasonwhat’s picture

It lacks a bunch of the features of flexinode and though there's been much talk, many of the new featues, like images, aren't available still. Flexinode seems to pretty much just work, where as CCK is much tougher. For example, in my experience the date field requires a complex string to validate rather than a normal date (like those offered in dropdowns by flexinode). URL's added in flexinode do not appear as clickable links. It's little things like that are keeping cck from seeming like a good idea for a produciton environment for me.

Bèr Kessels’s picture

You base your result on only two parameters: the fact that you can use node_import and views does, NOT, I repeat NOT make it "a lot better". It is only better for that particular case where you need these two parameters, views and node_import.
Flexinode is still used a lot, for valid reasons. For many cases Flexinode is the better option, based on other parameters.

So, please, be aware that just saying 'CCK is alot better than flexinode' is the same as giving bad advice. Worse then no advice at all. :)

---
Professional | Personal
| Sympal: Development and Hosting

iandickson’s picture

I tried to grapple with CCK mainly because I am starting a couple of big projects and wanted to avoid flexinode, but CCK is no way ready for mortals, (unless your requirements are very simple) so I'm using flexinode.

Try CCK and if it doesn't yet do stuff in a useful fashion, stick with flexinode.

Suggestion - if somone could port the flexinode builder to CCK, that would be wonderful for us non programmers.

iandickson’s picture

It's moved on a lot.

You do need some PHP to get the best out of it, at least at "mess the snippets" level.

One thing I like - using the Image type allows that "one stop" image addition within nodes that is "images the way everyone expects them to be".

I have put up a PHP snippet that them allows these to be put in on the fly galleries.

Ian Dickson - community specialist.
www.emint.org - Association of Online Community Professionals
www.iandickson.com/taxonomy/drupal/ - Taxonomy Server Project - generic, organic, standards compliant, directed graph based, ass kicking taxonomy

jasonwhat’s picture

This sounds pretty cool. Could you explain a little more what you are doing and what you mean by "using the image type?"

iandickson’s picture

http://drupal.org/node/90270

Ian Dickson - community specialist.
www.emint.org - Association of Online Community Professionals
www.iandickson.com/taxonomy/drupal/ - Taxonomy Server Project - generic, organic, standards compliant, directed graph based, ass kicking taxonomy

ardas’s picture

And what if CCK and flexinode developers get together to develop one solution which will include all advantages of these modules ?

I myself is still using flexinode and see lots of advantages but also several faults. The main fault of flexinode is - there is no ability to flexibly customize content type output with theme_ function. The second problem - I can't work with fields by name like it was implemented in profile module (form name).

jasonwhat’s picture

As far as theming, you can do a lot with flexinode and CCK and pretty simply if you follow the handbook guidelines. Flexinode will ultimately be deprecated in favor of CCK as eventually all Drupal content will run through this system. What I haven't gotten a clear answer on is whether or not they'll be some update script that merges flexinode content into cck. I assume something will have to happen to merge all older content including stories and blogs to cck, but I haven't heard a definitive on this.

edrupalec’s picture

This is a useful thread.

Jason, I would assume there will be a way to turn flexinode data into cck data. I thought that's what is meant by "Drupal will leave your code behind, but will always provide a migration path for your data." Is there some thread on the developers' list that discussed this and said it may not happen? Are you referring to specific comments made in a forum or mailing list? I would appreciate a pointer that way.

Drupal ecommerce, at http://www.drupalecommerce.com
http://www.drupalecommerce.com/troubleshooting
http://www.drupalecommerce.com/modulesexplained
http://www.drupalecommerce.com/47vs46
http://www.drupalecommerce.com/howto

stevenpatz’s picture

I have a 4.6 install with Flexinodes that I have upgraded to 4.7. I want to use CCK. How do I convert those Flexinodes to CCK nodes?

avolve’s picture

i designed a 4.7 site that used flexinode and will be upgraded to 5.0 (have just finished the theme) very soon.

http://www.sandon-point.org.au/drupal

What the flexinodes were being used for can be facilitated with taxonomies and views and i want to change to using this.

This would be my first attempt at modifying a database and i have very little idea what to look for.

Any input would be appreciated...

[i am not being paid for this project]

Thanks,
c.

avolve designs | ethical by design

Bèr Kessels’s picture

Flexinode will, as it stands now, not be deprecated. I don't know who started that rumor, btu as long as there are people using flexinode it will continue to exist.

---
Professional | Personal
| Sympal: Development and Hosting

Bèr Kessels’s picture

The themability of both CCK and flexinode is almost identical.
So when you say that you cannot customise content types in Flexinode you either missed something or you wrote it down wrong above.
Flexinode can custiomise just as much as CCK. In fact Flexinode can customise the exact same as CCK, be it in slightly different places and, IMO, with simpler code.

---
Professional | Personal
| Sympal: Development and Hosting

ardas’s picture

That's strange, may be I'm missing something but how do you output Flexinode field?
For instance, you have a 'Style' field with id 9. What do you need to write? As I know, it is $node->flexinode_9 ... correct? If so, it is inconvenient because I need to remember ids and when I'm moving development database to the live server ids may differes... $node->field_style is much more appropriate, isn't it?

I heard that someone created Fleximax module which is a version of Flexinode but with an ability to refer fields by names or something like that.

----------------
Regards,
Dmitry Kresin, ARDAS group (www.ardas.dp.ua)