Link data type

By André Ramos on 18 Jul 2012
I think that having a datatype of the kind 'link' would prove to be a useful thing for the platform.

Every application has a menu. And all the menus suck. It's an awful process to add options to menus, and the normal solution is always an ugly hack. If we had a link datatype, for the static entities at least, we could specify where a given menu or sub-menu would point to. That attribute might also have parameters the same way an external URL has. 

If we had this, instead of adding each and every option by hand, hard-coding it in the normal 'menu' web-block, we would query the menu and sub-menu items and make it dynamic. To add a new menu, we would only have to add a record to the static entity and fill it's attributes.
André Ramos18 Jul 2012
It could also have a permission, or multiple, associated with it.

Regaring the menu, that would already be possible right? You can make a (not static) entity with the menu options. In that entity you would also add an url variable where the url can be set. This values can be set by an user. When clicking an item it redirects to the set URL. So you can make it as dynamic as you would like it to have :-).
André Ramos19 Jul 2012
Well, no. Because that way you would have to hard-code the links in the entity.

And you would loose the platform's typification and validation of the parameters for instance.

André Ramos19 Jul 2012
And even better than defining the permissions for a link, we could have a function that would receive a link parameter and return true if the user had the permission to see the given screen.
Kilian Hekhuis24 Jul 2012

This could indeed be interesting, the main problem being that a typical menu includes references to many eSpaces, and all these would have to be referenced. We have a hardcoded menu, so no need for a link data type, but all the links are URLs instead of references to entry points because of that.

André Ramos24 Jul 2012
Yeah, but is really awkard to have to make a reference to link to a page... I mean it shouldn't have to make a binary reference to make marktup...