[Wish]_We want your feedback

[Wish]_We want your feedback

Here at OutSystems we work very hard to make sure every version of the OutSystems Platform includes the features that are most needed and requested by our users. You can help us select those features by participating in this forum!

This is your opportunity to make a difference to the product. This forum is here for you to post any change that you would like to see on the OutSystems Platform, no matter how big or small. You can also comment and discuss features that other users have posted, either to show your support or to give your own suggestion about the feature.

The more supporters a feature has, the higher it will get on our priority list. So if you find a post of a feature you like don't forget to add your +1 vote post! This list will be looked at regularly and we'll do our best to add the most requested features to the OutSystem Platform. Small features will be faster to add, big features will take a bit longer. Of course we may not be able to add everything you request, but we'll do our best.

Thanks in advance for your feedback!
Here's a "family" of features I'd like, all related with dragging elements from the eSpace tree into the canvas:

1. Entities should be "draggable" into a logic flow and generate queries
For instance, when you drag an entity into the flow the following options would be shown (just like in Query Analyzer, when you drag a table name into the editor canvas):
- Create Select ... query (simple query) ...
other query types could also be thought of, but SELECT is a must.
Left-mouse-button-drag could immediately create a SELECT and right-mouse-button-drag could display options of types of queries.
Driver: sometimes, when debugging, some auxilary simple queries need to be used. And sometimes Query Analyzer is more appealing (in quickness to perform these operations) than SS!

2. Some eSpace elements should be "draggable" into a logic flow and generate nodes accordingly Examples:
- Current action variable, session vars or site props => assign (or, with options, assign or audit node)
- Actions => action
- Entity or Structure => check 1.
- Current Screen variable, session vars or site props (non record or record lists) => expression
- Current Screen variable, session vars or site props (record) => edit record (or, with options, show or edit record)
- Current Screen variable, session vars or site props (record list) => table record (or, with options, show, edit, list or table record)
- Screen or user action => button (or, with options, link or button)
- Screen => link
- Entity or Structure => table record (or, with options, show, edit, list or table record)
Left-mouse-button-drag could produce an immediate, default behaviour and right-mouse-button-drag could display options.
3. When the "Enter" key is pressed the submit button "pressed" should be the one that validates the currently focused input or the last one focused.

4. SS Entities Diagram: should show an important colour hint for "delete rule" on entity associations
The current entity connector is just a simple black one indicating "who points to who".
The proposed: add a colour to the connector indicating
- Green: "Protect" delete rule
- Yellow: "Ignore" delete rule
- Red: "Delete" delete rule

5. Show action descriptions in more places in SS
- Tools tree: should have descriptions as tooltips;
- Acition properties box: description below "Action" property;

6. More complete configuration while creating indexes on SS
Index creation is a very important tuning task of mature apps.
SS should give the possibility to choose (at least):
- page fill factor
- ascending or descending order of the columns

7. Simple query should provide an option to return only COUNT(*)

8. Ability to insert custom configuration into web.config
I'd like to have a SS mechanism to insert XML into this file. Currently there is no "built-to-change" to do this in our platform. This could be added as a new tab in the eSpace Properties providing a blank box where the developer could insert what he wants knowing that it would be placed "ipsis verbis" in the web.config on a certain known location in the file.

9. Simple query SQL preview should be indented
I propose having (at least) new lines before:
- joins
and why not also every 3 or 4 selected columns.

10. espace URI path property
The espace name is currently used. Sometimes, though, it is necessary a friendlier name in the URI than the one that should be given to an espace. Imagine an espace that has a document management role amidst an extranet: maybe a good name for it would be ExtranetDocumentManager.oml, but I'd rather have /DocumentManager/Default.aspx on my URL...

11. Refresh external CSS mechanism
Problem: development using external CSS's is conditioned to a constant copy-paste between the oml that owns it and the ones that use it.
Solution: provide a download / refresh mechanism to help this.
Maybe a download CSS button could be provided alongside the URL input box...
On the other hand, maybe a CSS could even be a referenced item (along with entities, actions, etc.)...

12. Find & Replace style usages
Currently there is a problem when is necessary to rename a css style and its usages in the eSpace...

13. I want to be able to search references to / usages of screens in SS
To add to screen's right-click options
14. SS could warn when someone is publishing something in the server
So that, on less powerful servers, both 1CP processes don't have performance impact on each other.
This verification could be set or cleared on SC.
After Upload step, SS would present the option of not proceeding with the Compile operation if someone else is publishing something in the server.

15. CTRL-Arrow in expression editor
Meaning that, when using CTRL+ARROW the expected behaviour is only selecting an atomic token and not merely finding the next white space.
... RecordList.Current.ENTITY.Field, ...
I want to able to select only
and not the ending "," also. Maybe even better would be to select only
on the first CTRL+RIGHT and RecordList.Current
on the second, so including the "." separator in the second selection.
Maybe even both behaviours can be introduced having CTRL+ARROW with the step by step selection (the latest example) and CTRL+SHIFT+ARROW selecting the whole atomic element RecordList.Current.ENTITY.Field.

16. Add "Go to pointed screen" to the right-mouse-button options of Entry Points

17. It should be possible to find and replace all kind of elements in an eSpace
Two ways should be provided:
1. Right-clicking on an element in the eSpace tree (screens, input / output / local / session vars, actions, site properties and images).
2. Right-clicking on a node in a logic flow (queries, actions).

Search scopes:
1. Local to action (and screen, if a screen action) for input / output / local vars, global for other elements.
2. Local to action (and screen, if a screen action).

18. Auto-save in SS
Minimize the risk of client unhappiness due to crashes.
After X minutes of idle time, service studio should start a countdown stating autosave will begin in 'x' seconds; Press any key to abort auto-save.
Auto save should be optional in SS Configuration.

19. record* entity and structure casts
Simple queries should give the ability to choose wich of the joined entities are used as the query output. Giving an example: Q1 and Q2 are queries to be used as source for a list record widget (according to a certain condition). Q1 uses entity A but Q2 is the result of A joined with B. Result: I need 2 list record widgets... rather a waste.

20. Public site properties
I think it should be possible to mark site properties as public (along with actions, web blocks...).

21. Clauses should, automatically, be added in simple queries when new parameters of identifier types are created
Just like happens with JOIN clauses that are added when entities are.

22. Image buttons
Service studio allows images to function as links... but this doesn't respond to other button-like features, mainly event driven dynamic appearance: on mouse over, on mouse out, on click... this would greatly enhance the look & feel of our screens. Images used in buttons should be preloaded.

23. "DISTINCT" capability in Simple Queries

24. 'Switch' screen widget
This widget would avoid the troublesome "if else (if else (if ... ))" pattern and, that way, greatly increase screen editing pleasure.
Please! :)

25. List concatenation built-in function
Along with ListAppend, ListDuplicate, ListInsert and ListRemove there should be a built-in function to concatenate two record lists.
Maybe a list split that returns two splitted sublists could also be easily implemented...
...by the way. I've just realized posting everything here together might not be the cleverest idea in order to keep clear discussion threads. If you want to add something to the wishes I've previously posted in this topic please check if a separate topic doesn't already exist for it and, if it doesn't, create one.

Thanks ;)

Nuno, great suggestions!

About number "15. CTRL-Arrow in expression editor", I'm not sure if I understood your suggestion, but I think Service Studio should be changed so the CTRL key would have the 'standard' behavior, being just a smart navigation modifier key inside the text, not a selection one. The SHIFT should have the 'standard' behavior, being just a selection modifier key inside the text. Pressing both Ctrl and Shift should also have the 'standard' behavior, being a smart selection inside the text.

Ctrl: It should navigate to the next word, being the beginning of a word defined by a non alphanumeric char (or something similar to this definition).
This way, pressing CTRL+RIGHT-ARROW several times in RecordList.Current.ENTITY.Field9+B + + C

Would go to first char of 'words':
a) ".", then "Current", then ".", then "ENTITY", then ".", then "Field9", then "+", then "B", then "+", then "+", then "C"
alternatively could go:
b) "Current", then "ENTITY", then "Field9" then "B", then "+", then "+", then "C"

a) is the word, visual studio and internet explorer (when inside a text area) behavior
b) is the firefox behavior

Personally I prefer a), but I'm also ok with b).

Also Ctrl+Backspace should delete a word by word instead of placing a square.

What I don't agree (and maybe I didn't understand it correctly), is having both Ctrl and Shift as a selection key (with different behaviors). That would go against all the applications I remember of. One is navigation and the other is selection.

Hi António,

glad you like them ;)

SS is really a great tool and I'm just excited if I can do anything to help improving it!

And I believe I got so excited that, indeed, mixed CTRL and SHIFT :)

Like you pointed out, I meant CTRL for navigation modifier and SHIFT for selection.
Number 15 is already implemented in the upcoming Service Studio 4.1.1.x

Gustavo Guerra
23. "DISTINCT" capability in Simple Queries

24. 'Switch' screen widget

would be very usefull