With the release of PHP5.0 comming up, it seems like it might be a good idea to start thinking about what Drupal 5.0 is going to be like?

Has anyone thought about this yet? It would be nice to get started thinking about what we want Drupal 5.0 to do, what features the core will have, and what fundamental issues with the 4.0 branch do we want to address.

Obviously we are not going to start development anytime soon, but I think that this is a good time to start thinking about what Drupal 5.0, and maybe start do some planning.

So what features/issues would you like to see/addressed in Drupal 5.0? Please remember this is only Requirements (features), not design or implementation concerns. So do try to stay away from things like "I want Object Oriented code" or "I want PHPTal templates" focus more on what you want Drupal to do from a users point of view.

Comments

dgtlmoon’s picture

Rewriting some core base's of drupal to be more MVC compliant is definately the way to go. Would open up drupal to be a lot more managable and allow things like XML-RPC interfaces (or flash!) to hook in very easy, instead of being stuck with html as the presentation layer.

if drupal is to be a major player in the next few years and not drop away, then MVC patterns in the core are the only way to go.

We need to get out of this idea that the web is only interfaced by html, its not, the sooner we can open up to MVC which allows good programming practice, the more we can take advantage of it.

MVC also allows each developer to really focus on what they are good at, weather its presentation layer, controlling layer (php code) or structuring the whole thing (drupal core dev team), without each person having to work themselfs into everyone elses area, because the software is split into Model, View and Control.

Internet trend watcher, live graphs, add your own stuff free

inteja’s picture

Drupal has one of the cleanest, smallest, well thought out, extensible and documented cores available. MVC, Design Patterns and Classes are either "good design" or "fads" depending on your point of view. Drupal does what it does, it does it well and in it's own unique, efficient way. As far as MVC goes, drupal has complete separation of model, view and controller AFAIAC.

If it's not broke, don't fix it.

--
Brian.

--
Brian.

fkdsfodsf’s picture

I think with 4.0+ Drupal has found its niche.

If you want a enterprise level corporate site, you choose plone.
If you want a quick out-of-box website, you choose mambo.
If you want a personal blog, you choose wordpress/MT/Express.
If you want a community site, you choose drupal.

So many of drupal's features lend well with facilitating the needs of a read/write community. These features include books, comments, forums, personal blogs, and content contribution.

This being said, I'd like Drupal to become THE community portal CMS on the market.

We would have to sit down and decide how exactly it would be best to impliment this, maybe private messages, improved forums, community awards/rankings, etc.. etc.. but this is the direction drupal should be headed.

inteja’s picture

I have an enterprise level corporate site - I chose Drupal (www.construct3d.com).
I have a personal blog - I chose Drupal (www.nosmalldreams.net).
I have a community site - I chose Drupal (www.neocosm.net).

I have looked at and used most of the systems you mentioned above (plus many more) but settled on Drupal for all my varied needs. Granted, my sites are under development but feature-wise, Drupal can handle each of these different sectors admirably - and all on the one shared codebase.

I don't think Drupal can be pidgeon-holed to simply "community sites" as you imply. Each to his own.

--
Brian.

--
Brian.

Gunnar Langemark’s picture

If you want them all - then choose Drupal!

In a peculiar manner - I think I agree with both of you.

That's the beauty of Drupal.

Gunnar Langemark
http://www.langemark.com

pamphile’s picture

I'm not starting a CMS war but...

With the Flexinode and Frontpage modules, Drupal beats the pants off of all those othe CMSes.

Drupal can function as a coorporate website, blog and community website.
It lack out-of-box-easy-of-use, but i think civicspace is working on that.

And the addition of the securesite and ecommerce module, Drupal, is really going places.

Marcel
http://computingnews.com
http://01wholesale.com

jesusphreak’s picture

I would just like to see little improvements, like polls in forums, aggregated items commentable, and the rating system to apply to users as well (based on their rated content).

ahwayakchih’s picture

Is possible with http://drupal.org/node/18498 :)

freyquency’s picture

Ok. Before I write anything else, can someone please edit the title of this thread? I dunno if it's just me but Durpal, uh I mean Drupal seems to be typo'd a lot, and this will bug me if i see it all the time on the sidebar.

I'd like to see 'free tagging' and AwTags to meet up and make out. There could be a lot of great functionality if the taxonomy module took a little from AwTags and vice versa. Specifically that awtags has the editing powers of del.icio.us and 'free tagging', being based on taxonomy integrates with all the taxonomy modules really well.

I'd like to see flexinode replace the core nodes entirely. Yes. In drupal there is a lot of overlap between node types. A blog is only different from a story because it displays a link to the users posts in that node type. A book page is different because it's easily displayed in a heirarchy. With the 'outline' (that tab) anything can be put into a heirarchy already. A page is probably the most useful and yet the most abstract as from a viewers standpoint every node is it's own page.

Flexinode represents the true capabilities of drupal -- a lego block system to create a website through a CMS. If we started with flexinode's configurations and included what made those other node types special as a configuration (*my blog link) then it would undo a lot of the gimmickry and facades that the node types are prone to, ie - making page nodes even though the description doesn't fit because you want it to be different than stories and yet not display a 'users blog' in the links.

The node types that are present could still be represented as 'default' settings in a drupal installation. Perhaps then if flexinode were the basis of drupals nodes then more node types (plugins, modules, etc) could then be built upon this and integrated deeply into the main functions.

Flexinode should also be a lot more CSS friendly. No display:none; in the stylesheet if someone wishes a label to not be displayed. A prime example would be that a post is considered at least a title and a body (ie- the content) but flexinode has to display a label for the content, whatever you call it, and that label is displayed by default. These options should be within the flexinode options ('display label' checkbox).

Image handling should be part of the core. We're past lynx here, and images have been a part of websites even when lynx was popular. It should be simple to upload an image and paste the html into a node, without having to download and install something else. The file upload is great but needs to spit out the html code for an image for users to paste into their post without all the hoopla. Perhaps an AJAX method could be integrated here to 'know' where an image should be in a post?

Nodes should be able to be sorted by any criteria -- by default it's reverse chronological. They should easily be sorted and configurable. Chronological, reverse, by category, by node type, etc. This would 'undo' a lot of geeking done to display nodes with a specific heirarchy. Particularly on the main page.

I've read that blocks are leaving their left/right relationships -- i'm not exactly sure what this would entail. It sounds enticing but strange. Perhaps it's a combination of the page (sliced bread) snippets and the block hacks, but that would be great too.

EDIT: Oh yeah! Also getting those gigantic tables that break CSS attended to...!

sepeck’s picture

So far the only issue I see with this is the last time I played with flexinode, all flexinode's had the same permissions setting. I couldn't have a Page for static site and then everyone else 'edit own blog' setting very easily.

Image handling is not simple... you should review some of the devel traffic on this and suggest something that has not been suggested or provide the missing code. I agree, it would be nice.

sort: How would you suggest such an interface work? Without a suggested proposal, this will go no where. Please outline HOW you would want the interface to work and how it would apply to 4.7.

Blocks are going to be cool in the next release.

-sp
---------
Test site...always start with a test site.
Drupal Best Practices Guide

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

chanon’s picture

I agree and second the idea about using flexinode as the base node type for everything and allow theming for each flexinode type. This would make Drupal a lot more modular and configurable.

droopy’s picture

I would love to have the facility to promote a comment with attached comments to the level of node, leaving a marker to the new thread in the old one. My site has a lot of lengthy complex threads and I frequently have to convert comments to nodes manually, which requires accessing MySQL directly. The flexibility of content handling in Drupal is excellent, but that just attracts more content, and it would help to be able to reorganize material better.

Gunnar Langemark’s picture

Drupal is growing more powerful with each .x version.
The next full version: 5.0 should REALLY change things.

Administration interface with drag and drop blocks and weighting

Choice of menu style/type on the fly (admin but maybe also user)

Drag and drop connection of content areas/blocks etc (you drag a page, event, article etc. over a block and are presented with the choice of a number of "things" you can make the block depend on - "show xx other blogs/pages/events... that have taxonomy term/author/date etc in common with content.." something like that.).

I know all of this stinks with regards to browser compatibility, accessibility, non javascript bla bla etc. But I'm sure it will sell well.

Theming is changing. Forms are getting collapsible.

I asked for Ajax search results "order by" columns - you click on column caption to make it change order (asc. - desc.).

Full integration of aggregated content into system - and done in an elegant way (sharing of taxonomy items etc) (I know we have some of this - it may go even further I believe).

More CRM like features - Membership handling - in a standard setup. That means an installation for organisations where members pay fees and pay for services, content etc on a paid perscription basis. Where members are part of certain groups that will have their own discussions, file areas, collaborative blogs etc.

Styles for portable devices.

Configurable integration with ERP systems (notably Axapta, Navision, Great Plains...) - out of the box (yeah right - dream on...), so I can install it on an existing user base, configure some standard reports (show members/users from xxxxxx, who have payment due before xxxx, live in xxxxx and are interested in xxxxxxx. Export list to xml, rtf, open-office...) from the known data, and be "flying" in an afternoon.

XML based webservices based on above.

This is where I'd like Drupal to move towards.

Gunnar Langemark
http://www.langemark.com

fkdsfodsf’s picture

Styles for portable devices would be great!

Egon Bianchet’s picture

I'd like to see Flexinode, Node relativity and Internationalization become part of the official distribution.

fkdsfodsf’s picture

I agree that some of the most popular modules should be integrated into core.

flexinode and pathauto for example.

Dublin Drupaller’s picture

While I share your enthusiasm for a bigger and better drupal...I'm more concerned that the frequency of development is too high and it might be better to slow it down a little, so when the next beta release comes out the previous (current) release is solid, stable and bug free.

don't get me wrong, drupal is superb and maybe it's just me, but, I seem to find myself in a never ending circle of troubleshooting rather than site building with drupal.

Instead of looking at new features/issues, I think a freeze and tidy up would be of more value than adding in new stuff. So when we hit version 5.0 all base code issues/bugs and patches are sorted.

theoretically, it makes sense to push and drive the development, use the drupal community as the guinea pigs and work from there..constantly pushing out the envelope...but I think we have reached a stage, where fundamental bugs/issues are being left behind because of the sense of urgency to release a new version.

So, without sounding like a pain in the arse...I would tend to suggest putting a freeze on new development and focus on tidying up version 4.6.0 and giving the module developers a breather and time to update their modules.

Having said all that..maybe it's just me, but, I have found myself spending more time, up to 70-80% of my time, troubleshooting drupal, rather than using it for community plumbing.

Hope that makes constructive sense and doesn't sound negative..

Dub

DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

varunvnair’s picture

I second that.

I have encountered the 90% syndrome in many places. There are a number of modules which are basically quite nice but are not 100% correct. Often I have to open things up and tweak stuff.

A code freeze followed by squashing of bugs and fine tuning of modules would be nice.

Arto’s picture

While freezing the code and focusing on squashing bugs might be nice from the end users' point of view, it isn't exactly a lot of fun from the developer's perspective.

It's worthwhile to remember that nobody's getting paid here, and since (hobby) time's limited it's more interesting to hack away at the next version than to hunt for elusive bugs based on obscure bug reports, or do lots of boring, systematic testing on the older stable release which, in your own mind anyway, is already obsolete.

But I'm sure no developer would mind integrating user-submitted patches that fix bugs (*hint*).

richardhall’s picture

I know you're all looking forward to Drupal having its own webmail module set too!! :D I certainly am. Core modules should be posted into CVS in July..

fago’s picture

some kind of module management would be nice. it could automatically download new/upated modules from drupal.org and install them. if you have to manage a few different codebases, it takes some time to update more modules...
especially the sql should be inserted automatically, when activating a module. (think of a single codebase with a lot of added modules, which gets 4 sites added... a lotof sql insert..)

then i would like to see things like flexinode, i18n and perhaps image handling integrated in the core.
as already mentioned, i think it sould be introduced a kind of output layer (xml?) which enables more flexible content creation (portable devices,pdf export...)

adrian’s picture

Install system overview

--
The future is so Bryght, I have to wear shades.

fago’s picture

thanks for this very interesting link, i've missed your thread until now.
great!

celticess’s picture

I'd like to see better filemanagement. In the sense of ability to turn on auto creation of users own directories for storage in /files of images and files they upload instead of the current dump to one big directory of stuff.

I'd also like to see image assist become part of core as well as the news aggrigator become something with tickable boxes. People can tick off the ones they like customizing what feeds they see. Also if the stats can give an idea as to which are the most used it helps you weed out feeds that really people don't care about.

If it were easily possible(and I'm not a php wiz or mysql one at all to know if it is or not) having a integrated theme editing tool. Sort of an edit the CSS on the fly. Click to chose from a series of layouts, click to upload logo(I know it does that now), and a area to imput style values or whatever for CSS. Then a preview to show what it might look like and a commit to generate the applicable theme bits. I've seen something similar on some start page I had for one non drupal site few years back.(can't recall which site) Though it also had ability to shut or move content boxes.

Stats wise I think integrating of the browser stats and OS stats would be nice. Currently in drupal 4.6.1 though if I turn on browser stats I get error messages after a few moments.

Also would it be possible to make a graduated role promotion for users. ie if they are a new user they get thrown in a probationary status/role. Allowing them only certain things. After a given time they are automatically put on normal authorized user status and get more abilities. Right now unless I missed it somewhere it looks like changing roles is a manual thing. I can imagine for people with big sites that must get a little tedious. I've only got a little site that I'm still working on so for me such things aren't a big deal at the moment.

Finally it might be nice to configure the archieve calender. So people can show different content different colours or shut off showing the archived content of certain types.

Outside of all that one other small thing I thing might prove interesting for some depending on what they use their sites for. This would be a module though. If I know how to make it I know I would. A module that is a unit converter for people using different units of measure and such. It would just be a handy conversion tool. Though like I said I'm not sure how many would be interested in it. But I know for the recipe module it would compliment it and for certain other things it might as well. Ability to be able to see readme/help type files for modules in some admin page might also be handy.

By the way I think drual is great and I can see many here also think so. Outside of here it also is ranked fairly highly on the CMS sites I looked at before trying it. I'm suprised I might add for those of us using drupal on personal sites I was a bit suprised there is no drupal webring to link them together. Oh and with 4.6.1 only issue I'm really having at the moment is that darn persistant "foreach() error on line 1308 of common.inc" If anyone knows how to nip that in the bud please tell me. Oh ok and the img_assist display of thumbnails issue(non cvs) :/ Other than that things are working great I just need to figure out what to throttle and what to not throttle.(being new to drupal I have no clue on that)

anantagati’s picture

Possiblity for new users to set password during registration.

richardhall’s picture

By not allowing them to enter a password during registration this forces them to enter a valid email address for validating their user account. If they can choose a password at registration without having to login to their email to see their activation password or click on a link to login for the first time, then you'll end up with potentially hundreds of invalid or inaccurate email addresses in your drupal database.

CdnStrangequark’s picture

That's a good point, but the current installation, to my knowledge, still has bugs with the email validation code in the function valid_email_address() in common.inc. This would have to be fixed before we could do what you suggest.

The email validation problem was discussed here and I did come up with a solution at that time that works faster and better than the existing one or the other patch offered in that thread. Whoever is in charge of applying things to the core distribution, please apply the fix if it has not yet been done (if not mine, then at least something :) ).

-s:s|}{

sepeck’s picture

Read here:
http://drupal.org/node/10261
Read through the drupal-dev archives reguarding testing this.
Involve yourself in the discussion, QA testing and provide relavant accurate feedback if you feel an issue/patch needs to be addressed.

-sp
---------
Test site...always start with a test site.
Drupal Best Practices Guide

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

djnz’s picture

Possiblity for new users to set password during registration.

... make it optional of course

--------------------- WEBg8 ---------------------

CoR-1’s picture

Ok here is what popped into my head while reading all the above comments. A small analogy to better express what I think.

See, in audio production we have something called modular synth. Specifically, one of the best modular "synths" I've ever worked with is NI's Reaktor. In Reaktor you have generic processing modules: logical modules (and, or, xor, ...), arithmetic, sound synthesis (basic waves: sine, saw, square, ...), signal coupling modules, signal modulation modules, etc etc....

In essence such architecture allows creation of ANY possible audio processing "software" - or, in the lack of a better word, module stream. You have input, you have output, and between them you connect (literaly, you pull connection strings between module In-Out points) as many modules as you'd like to, in a way logical to the implementation you need.

Theoretically, you can build whatever piece of equipment you imagine that does some processing of audio signal. Be it a synth, a reverb, a delay, a sampler, limiter, compressor, whatever.

- - - - -

So, the idea is this. Could it be possible to create something like that for a content management system? The generic modules would cover every possible need for a user-to-database interface, and all the user needs to do is "drag and drop" these generic modules and define (generic) relations among them. He could also supply the name of the module he created which would then be a variable name he could use in the PHP engine for actual construction on the page, as well as for CSS styling.

And, for example, module contributors could build complex "uber"-modules as groups of generic modules with defined relations, stored in a definition file, and the end users would only upload the definition file, activate it and it would work... The grouping of those generic modules would be unlimited, allowing for creation of any kind of functional module, without resorting to actual PHP coding.

In audio that is "relatively simple", as audio signal is in fact a stream of numbers. What would be the CMS signal in this case?

Just an idea. I am not sure if I'm rambling nonsense or it actually is worth something. :)

Greg Delisle’s picture

I think that Drupal needs better tools to get existing datasets into and out of the system. Something that will create nodes/comments/etc. from XML data and output the same.

Sure, there's node_import from CSV files, but that really lacks the structure and flexibility of XML. Right now, that's mostly appropriate for importing data between two Drupal installs or some other simple CMS, but not for things on a really big level. If you've got a really big dataset, say 25,000 pages of existing content, you need something that's not going to require inspecting each page once it's done.

If that were in place, we could make a much more compelling argument for migrating to Drupal from one of the large proprietary engines -- right now only Plone approaches this level of interoperability on the back end.

The other thing I think we need is deeper integration of group permissions -- I see too many forum posts like "I want users to edit this but not that". Organic groups is a partial solution, taxonomy access is a partial solution, node privacy by role is a partial solution, but these and other access-modifying modules really need to be integrated into one seamless package that's really solid -- perhaps optional, but it needs to be more unified than the current patchwork of solutions.

Tobias Maier’s picture

I want that the things I mentioned there get integrated into Drupal: http://drupal.org/node/27223

Why does and must such a poject like CivicSpace exist?
Why doesn't Drupal itself provide the functionality of CivicSpace?
If the development of both gets together there could be saved much time (i think) and greater steps are possible..
The most things are so easy...
eg. creating an easy installer? (ever tried to get a prefix on the tablenames of the DB? It's possible but could be much simpler....)

sepeck’s picture

it's different.
item 1 is not useful and merely a matter of what you are accustomed to. the administer section has all that. You or anyone is welcome to submit and maintain a module that organizes it to your desires.

item 2 is again not how the structure of Drupal works and he is trying to apply interface design from a different product rather than learn the simple design of this one.

item 3 is too limiting. Currently there is theme engine options. xTemplate, phpTemplate and one other one somewhere. If you want Smarty, then built the engine and contribute it. Personally, I find Smarty more confusing then useful.

Why does CivicSpace exist? Well, it's a company of people who get paid to do stuff. Their development is tied in with Drupal. They develop a specific version of Drupal that takes core and adds pre-configured modules for THEIR market. They exist because they fill a need. Their cvs development is hosted on Drupal. How is this a problem? Please let CivicSpace know if they should shut down. Please also let DrupalEd, DrupalCRM and DrupalART know that their efforts are also not appreciated by you and that they should stop. (yes, that's how I read your comment).

Drupal provides a base set of core functionality people can build on. CivicSpace configurations are NOT at all useful to me. I do NOT need a zip code module. I do NOT over half the modules they feel they need for THEIR market and needs. You know what's cool though? Someday, I might need it and their are a whole bunch of people working on it.

WHY? Why does everyone want an installer? Installing Drupal is easy. Easy easy easy. Creating an installer is NOT AT ALL easy. The civicspace installer DID NOT WORK ON MY SYSTEMS the last time I tested it. Also, unlike Drupal core, CivicSpace is not supported on my server, parts of it will not work. Drupal core itself is not so narrow of focus.

I need to test their just released version but do not hold out much hope. You have to account for a incredible diversity of server configurations and systems if you create an install system. In any case, work is being done on one for Drupal core 4.7. We'll see if it gets done and commited.

If you want database prefixes, then please work on the issues of interest to you. Please submit patches for them. It will not get done unless someone who is interested in it works on it. Scratch your own itch if you are so inclined. Shared databases just arn't interesting to some people.

-sp
---------
Test sites and good habits: Drupal Best Practices Guide.
Back Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

CdnStrangequark’s picture

Yeah I don't understand why everyone wants an installer so bad either...it takes all of a minute to install it as it stands right now...I don't see how time spent on developing an installer is useful time spent.

If there is an installer in 4.7, I hope there's a way NOT to use it.

-s:s|}{

chx’s picture

What I'd like to see (or, to be more in tune with other posters in here: I want) is that people install Drupal HEAD, check old bug reports and test whether these are fixed already or not and mark them fixed if they are.

You do not need special programmer skills to do this.
--
Read my developer blog on Drupal4hu.

--
Drupal development: making the world better, one patch at a time. | A bedroom without a teddy is like a face without a smile.

dreadwains’s picture

I would love to see the permissions system expanded to allow the kind of user-defined viewing rights that have been built into Elgg.

Basically you create a list of friends, then organize them into "groups" as you wish. When you post any kind of content, you define which group is allowed to see the content.

sepeck’s picture

like this?
http://drupal.org/project/node_privacy_byrole

Drupal is not quite as individual centric as that one looks, but I supose you could start with the workspace module to expand on the above.

-sp
---------
Test sites and good habits: Drupal Best Practices Guide.
Misc Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

dreadwains’s picture

As far as I understand, the node_privacy_byrole module lets users grant permissions based on administrator-defined roles, not based on groups of users that the users themselves have defined. While I would like the users to be able to grant access on a node-by-node basis to such roles (Anonymous User and Authenticated User being the most basic), I would also want them to be able to grant access to groups of people they have defined themselves.

I figured this functionality would logically fit with the Buddylist module, and I have described in greater detail what I'm looking for here.

But perhaps what I'm looking for would actually be some sort of a combination of the node_privacy_byrole module and a currently non-existent node_privacy_by_buddylist module that works in combination with the Buddylist module. Any volunteers?

theoa’s picture

Multi-site capability
The wonderful thing about Drupal for me is the multi-site capability. It works so well that I've not yet hit a serious barrier with it yet. So thanks for this. And may all contributed modules be encouraged and instructed how (in the documentation) to follow suit. Especially the new multi-site Gallery 2.

Menus
To new users menus seem to appear and disappear without reason. This is not good UI design. Please allow a choice for a menu item to be always visible.

Menu Access
Please add access control to menu items - so unauthorized users cannot even see menu items they are not authorized to access

Searching
It would be great to have advanced searching - boolean operations - find nodes younger than 30 days old - and so on.

Node Differences
Please explain more clearly the differences between pages, books, stories, blogs and nodes to help new users get up to speed.

Export Import
Please add a method to export a group of nodes from one drupal site and import them into another.

Admin
Please keep the admin the way it is - with exactly the same templates and files as normal users. Let admins deal directly with the sites they construct.

Images
Please allow for (within core) uploading multiple images at once or loading them directly from a folder on the server.

Thanks and KUTGW...

Theo

rbrooks00’s picture

"Searching
It would be great to have advanced searching - boolean operations - find nodes younger than 30 days old - and so on."

There is already a contributed module which does this: http://drupal.org/project/trip_search