Wednesday, September 12, 2007 by Niels Hartvig

Next week, Per and I will spend three wonderful days to start the initial development of umbraco 3.1 (primarily with focus on the UI re-factoring). But improving umbraco shouldn't be a closed process and with arms wide open we'll invite you to join.

As very initial work, we've created a wish list of stuff we'd like to see added to umbraco 3.x - not necessarily in v3.1 but in the v3.x life cycle. Consider it a work-in-progress roadmap with the most important major updates loosely described.

We hope that you'll read it and give feedback in the comments, but we'll also encourage you to discuss it with your customers/end-users so they could add improvements too. After all, they're the people who use the tool almost everyday. When adding ideas in the comments, please spec them with a couple of sentences in the same style as in the roadmap.

On Tuesday at 19.00 GMT+1 we'll arrange a chat to discuss our ideas as well as the ones submitted in the comments (download as an ICS reminder for Outlook/gCal).

When we've collected all the ideas, we'll arrange a poll for developers and a poll for editors to get an idea on how to prioritize (think Dell Ideastorm).

[1] umbraco 3.x wish list / roadmap (.pdf)
[2] Developer chat reminder file (.ics)

64 comment(s) for “Roadmap (wish list) and developer chat on future umbraco versions”

  1. Tim Geyssens Says:

    Some killer features

    Here are my thoughts

    Core/global changes:
    Make it possible to render .net macro's from inside a xslt macro.

    Get rid of the popups, use an overlay instead.

    Changes in the settings section:
    Store and load stylesheets from filesystem

  2. Tim Says:

    Another one,

    Core/global changes:
    Make it possible to run umbraco on medium trust

  3. Neil Says:

    Nice work, all these should make Umbraco even better.

  4. Ken Says:

    Wanted to add a comment regarding livewriter but there isn't a working link for that item? I was goint to ask for a few brief line on using livewriter. Why have it as a facility and keep it's use a secret ;-)

  5. Ken Says:

    Wanted to add a comment regarding livewriter but there isn't a working link for that item? I was goint to ask for a few brief line on using livewriter. Why have it as a facility and keep it's use a secret ;-)

  6. Stephan Says:

    Make it possible to set user rights on tabs. Making it possible to not only restrict access to pages, but to certain properties on pages.

  7. Indrek Says:

    All those nice features are excellent,but will not add any productivity to below-average-experienced users, if they are kept hidden somewhere in code So - the HELP part is important.

    In interface i would like to have feature to keep few tabs (f.e Content and Setting) open at the same time. Or - keep selected branch of tree open when i temporarily move to Developer or Settings tab.
    One can use page fields in user controls, but so far i do not have an idea how to use dictionary items instead of static text in macro parameter (simply for labels or error message).

  8. Morten Bock Says:

    I don't get this part of the roadmap:

    Property parameter on generic properties An additional field should be added to generic properties that can be used to pass a property from a document type to a property. Either a string or a name/value collection. This could be implemented by letting a data type inherit an additional IDataTypeStringParameter/IDataTypeKeyValueParameter interface. This would allow passing parameters from document types to properties without hacking with the “description” field

    What does that mean?

  9. Hartvig Says:

    @Morten: It's also a little abstract ;-)

    Basically the idea is to improve a way to set properties on a data type from a document type. Currently it's pretty easy to add properties to a data type when creating it in the developer section, but making individual settings to the data type when adding a generic property to a document type is not possible. Some (like the Cpalm pickers) uses the Description field on a generic property to send parameters, but to make this non-hacked, we'll add two ways of enabling property settings on a data type FROM a document type:
    1) A simple string parameter. When this is enabled on a data type (by inheriting an interface) you'll see a textbox below the "description" field when adding the data type to a document type
    2) A key/value collection. Same as above, but will enable multiple values.

    Does this make sense?

    /n

  10. Morten Bock Says:

    Ahh... now I get it. Thanks for the breakdown :-)

  11. Rune Says:

    I think a database clean-up function is missing. As it is today, each time a page is saved it is stored in the database to make it possible to rollback. It should be possible to set some kind of limit on how long time the data should be saved. I recently “reinstalled” a site at about 100 pages that have been running for about two years, the database was about 200MB. After making a new Umbraco site, and paste whose pages back in the new installation, the database was less than 20MB. So a lot of “useless” data are stored.
    Then it’s still not possible to delete uploaded media-items. And that’s a problem. It can be critical to a company having “old” or unwanted data laying around on the internet, believing that it is removed.
    But – not matter what! Umbraco still kick ass! I can’t wait until version 4, the “road-map” has so many nice features. Keep up the good work Niels!

  12. Hartvig Says:

    @Rune: I agree that a db clean up is an excellent idea; however a 200mb db doesn't sound like a purely umbraco issue as 2mb data pr. page is absurd. It sounds more like you don't have any maintanence tasks on the db, like cleaning up the transaction log, etc.

  13. Douglas Robar Says:

    Thanks for sharing with us! You've got a lot of wonderful ideas. I'd like to add some ideas (for v3.x or v4), and also ask for clarification on a few points. This is a long post, but since you asked for feedback... :o)

    Thanks again, talk to you all on Tuesday.

    cheers,
    doug.





    DataType Prevalue Editing
    Prevalues should be editable to correct spelling mistakes, and sortable to allow inserting additional items yet having them appear in their proper location in the prevalue list. It would also be convenient to pull prevalues from a node in the content section, which would allow users to modify the prevalue list without needing access to the Developer section.



    Membership Enhancements
    I know you've already got ideas here. I just want to chime in and note that allowing umbraco to either serve as a master membership repository/provider for other applications (via webservices, such as when integrating eComm or a Forum or other applications that need single-sign-on capability between the site's applications) or to consume other membership providers (such as Active Directory, LDAP, SQLserver, etc.) is huge. Right now, there is no good way to integrate (or even sync up) the membership information between umbraco and any other web applications that some sites need to run side-by-side.



    Add a Design Section and Organize Section Content
    There are different kinds of users of an umbraco installation. I've found it difficult to lock down the current Settings and Developer sections because there has often been something in there that a user will need. I propose (in addition to your idea about adding granularity to users), that a new section called "Design" be added and the items within the sections be organized more consistently to the kind of user who would have the skills for each section.

    The proposed arrangement of items is:
    Settings: Cache Browser, Data Types, Document Types, Media Types, Languages, Dictionary
    Developer: Macros, Python, XSLT, Scripts
    Designer: Stylesheets, Templates



    MSI Installer
    Two observations. One, can this be done quickly with the wonderful (and free) InnoSetup?

    Two, the need for an installer is especially important for XP and Vista users installing on local machines where there are many, many steps to be performed by people who are not IT professionals. The commercial version (commercial version?!?) would more likely be handled by professional IT personnel on real servers, who are less likely to need the installer, and there are very few steps to the installation process.


    Improved Content Tree
    Can you clarify what the support for drag-n-drop will provide? Is it for moving and sorting nodes? That would be fantastic!


    Full Screen Editing
    In addition to accommodating large screens, could you include support for smaller screens by hiding the content tree and section lists just like VisualStudio does with the project settings, properties, etc. An option to auto-hide and "pin" would be very helpful. Also, a divider between the sections that could be dragged to any width would be helpful even if auto-hide and "pin" weren't implemented.


    Inline Editing
    I'm concerned about the security implications of this. Would this not open up umbraco sites to a great threat of attack?


    Improved Search
    This is for the "Find" field built-in to the umbraco interface, correct? Can you clarify what you mean by transferring the search into a list object?


    Upload to Media Library from the Editor
    Excellent! Could it also include a .zip upload (possibly maintaining any tree structure in the .zip)? Or, perhaps this is an improvement to the media section itself.


    Packages
    I love your ideas about package registration, updates, etc. Would this functionality be available with Per's package builder, or as part of the package repository? The means of adding packages to the package repository doesn't seem to work well, since only Warren has been able to get a package there. (Not complaining for myself... I haven't even turned my products into packages... but I do update them frequently and would like a way to update the repository as easily as I can update one of my umbraco books).


    Inline Template Scripting
    This is great. Would it be possible to create an "if-then-else" block with snippets? Most of my template code is just HTML, but it would be fantastic to include very simple flow control depending on a node's property value or the querystring, for instance. Rather than having to use a bunch of "response.write" code like in the bad days of classic ASP.

    And there would be access to the docType properties for the currentPage and to the umbraco.library functions, right?

    What I would particularly like would be:
    <?UMBRACO_IF test="a==b">
    some HTML template code here
    <?UMBRACO_ELSE>
    different HTML template code here
    </?UMBRACO_IF>



    Document Type Tab Sorting
    I would like to be able to sort the tabs in a document type. I don't always create them in the best order for the users :o)


    Default Document Type Settings (or DocType copying)
    Most of the document types I create have a few fields in common that I end up creating over and over again. Examples include the umbracoNaviHide property, an SEO tab with metaKeywords and metaDescription properties, and a Content tab with a bodyText RTE field. If there were a way to specify that all new doctypes I create should have these (user-defined) tabs and properties, it would be a great time saver! Or, simpler, allow me to right-click on an existing docType and copy it to a new name.

  14. Daniel Bjørnbakk Says:

    Umbraco also needs to support custom validators.

    Some 3th parity controls that we integrate comes with their own validators - as umbraco is now, there is no way to use these validators - and thus - no way to validate these 3th parity controls.

  15. Itamar Syn-Hershko Says:

    I would like to see support for BiDi languages (Hebrew and Arabic) on the admin interface. Currently this is not supported at all, but while redesigning the whole UI there, if keeping this in mind, this could be pretty much easy.
    The secret is to make a template that is not messed up when using dir=rtl on it (HTML or CSS), or to somehow allow for a different template to be used in that case.

    I have experience with that kind of stuff. Feel free to contact me with any questions.

    Keep up the good work!

    Itamar.

  16. Ismail Mayat Says:

    Quick comment with regards to the content tree would be cool to have multi select in tree so you could perform actions on more than one item in the tree.

    Ismail

  17. Martin Hagermark Says:

    I think a nice framework for the UI refactoring would be extJs. Very nice javascript library taking care of many tasks.

    Have using it for my latest project. Takes some time to get to know it but its just so flexible.

    www.extjs.com

  18. Zac Says:

    An easy way to flip your document templates back and forth based on a URL parameter and/or other other methods? I need to figure out how to make Umbraco generate 2 different formats for different screen sizes... :)

  19. Jason Says:

    As Douglas mentioned, .Net Membership provider support would be awesome. I can round up some sponsorship dollars for this...Niels drop me an email if there's interest.

  20. Morten Bock Says:

    Where is the developer chat going to take place? (I'm assuming it's an open chat?)

  21. Aniketos Says:

    Cool...

  22. Ivan Says:

    Nice

  23. Angelos Says:

    interesting

  24. Constandinos Says:

    Nice!

  25. Ivan Says:

    Nice

  26. Konstantinos Says:

    interesting

  27. Stelios Says:

    Cool.

  28. Antonios Says:

    Sorry :(

  29. Demetrios Says:

    Cool.

  30. Stamatis Says:

    Sorry :(

  31. Skyros Says:

    Nice...

  32. Sebastianos Says:

    Cool!

  33. Cosmo Says:

    Cool!

  34. Tim Mather Says:

    Hi, roadmap looks great, solves a lot of problems. One thing not on there is the ability to "sort" the tabs for a document type. I think the biggest priority from users point of view rather than a developers is the inline editing, would dramatically increase useability I think. As always fantastic job so far and my clients are always over the moon with it.

  35. Tim Mather Says:

    Hi, roadmap looks great, solves a lot of problems. One thing not on there is the ability to "sort" the tabs for a document type. I think the biggest priority from users point of view rather than a developers is the inline editing, would dramatically increase useability I think. As always fantastic job so far and my clients are always over the moon with it.

  36. Lambros Says:

    Interesting...

  37. Theodosios Says:

    Interesting...

  38. Achilles Says:

    Cool...

  39. Panayotis Says:

    interesting

  40. Manos Says:

    Sorry :(

  41. Christodoulos Says:

    Cool...

  42. Alexandros Says:

    Interesting...

  43. Platon Says:

    interesting

  44. Angelos Says:

    Sorry :(

  45. Marios Says:

    Cool.

  46. Euaggelos Says:

    Nice

  47. Savas Says:

    Nice

  48. Drymiotes Says:

    Cool...

  49. Argyros Says:

    Nice...

  50. Ambrosios Says:

    Cool!

  51. Demetri Says:

    Cool.

  52. Efthimios Says:

    Cool.

  53. Alexander Says:

    Nice!

  54. Leandros Says:

    Sorry :(

  55. Achilles Says:

    Interesting...

  56. Konstantinos Says:

    Interesting...

  57. Damianos Says:

    interesting

  58. Kristion Says:

    interesting

  59. Anastassios Says:

    Cool.

  60. Myron Says:

    Cool!

  61. Panos Says:

    Sorry :(

  62. Kosta Says:

    Nice

  63. Thrasyvoulos Says:

    Nice

  64. Nikodemos Says:

    Sorry :(

Leave comment:

Comments are disabled for older posts