Intuitive interface for CCK & Views

Events happening in the community are now at Drupal community events on www.drupal.org.
disymus's picture

Hi

I am final year computer science engg. student. I have been using drupal from 1 year. I have designed about 15-20 websites in drupal and have really felt how tiresome it is to create & configure with cck & views. It was gruesome for me for a project, where i had to create some 20 custom content types with 12 views. It was student management system. All tasks were repetitive and gruesome.

The thing i hate about cck is that for creating a single text field you need to give field names then goto next page and then fill in all details and than again save. Then drag the new formed field to the top so that all the settings go to the bottom, and a final save. It is really tiresome if you have got some multiple contents to create. I have seen some intuitive interfaces like phpform.org which provide a browser based form creation and a single page refresh to create forms. It would be a lot helpful for increasing the usability of cck.

Coming to Views, Being a ajax interface it has lot of flaws. I hate when i click a link in the views ui, the panel appears at the bottom and keeps jumping up and down. Views has also a lot of functionality which gets undermined by the level of usability provided by default.
1. Views themeing is only possible by creating template files which can be done only by having a firm grip on php & in and out of views
2. We set a lot of repetitive default options on all the views we create. It would have been better if there were profiles for views which would contain a default set of views options pre defined.
3. Sometimes we need two fields of a node to display in special layout. It would be better if there was some option like panels in views, where we select a panel layout, customize the layout and the place the respective fields with a drag and drop action in the layout grids.
4. If i want a first record of each content type, it cannot be done in views. so it would be better that in the "Adding content", the previously created views itself are visible, from which we can select a particular field and add it to the new content. or rather we could reduce the steps of create multiple views and add a grouping, subquery function present in SQL languages
5. When a view is created, sometimes it is required to edit the content. It would be better there would have existed a inline editing mode, where a floating edit option would appear on all fields enabling editing in place.

So my proposal is to build a completely intuitive interface for both cck & views(maybe integrating cck in views, enabling to create fields on the spot in views) and increasing the usability of the most important modules of Drupal. I know some of the above mentioned features might be existing or under the way of development, but my idea was not to show problems itself, but to show how the usability of views & cck can be achieved with a brand new interface.

I am really interested to work on these features, as my previous works has been motivating me to contribute back to the community. Hope my drupal experiences would not go in waste and gets utilized in enhancing the interface.

Comments

I believe some of this is already done

dmitrig01's picture

First off, while I appreciate your goals, this is way to much for one summer. The Views user interface itself took quite a few months to build - Earl had to write a whole ajax framework, object cache framework and had to re-write the form api.

The formbuilder module (http://drupal.org/project/form_builder) can do what you're thinking about for CCK - it isn't quite there yet but I think that alone wouldn't be enough to fill a summer, so you would need to find a middle ground.

There is also a simpleviews (http://drupal.org/project/simpleviews) module worth investigating.

Google Summer of Code 2010

Group organizers

Group categories

Important Announcement

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: