I wanted to start this thread to get a feel from the Devs as to why the organization is done the way it is done. As well as a possible better understanding of what the general idea was behind certain "features" within the program.
First off, I love this program, I use it on an Hourly basis at work; It come up when I turn my computer on, and it turns off when I shutdown at night; It is a program that I am in and out of so often, that I can justify spending the past 3 weeks (still not finished) organizing and re-entering over 1000 entries, and their credentials into a new database rather than using XML.
That being said, I have run into some fundamental organization issues that seem, to me, to be avoidable by making some rather simple to understand, but large changes to the program.
First, I don't understand the idea behind different types of "groups" and sub connections.
It seems like you have introduced different group types (site, server, workstation, device, etc) as a sort of folder in which connections can be placed, however the bonus of making the distinction between one folder type and another (specific settings for children to inherent) isn't taken advantage of.
Then there is a connection (or so called Entry though that seems to general) which understandably has different types, and a lot of different options. Then you unfortunately add something call Sub connections, which don't make any sense why they are there, but have some wonderful options to them.
With a sub connection, I can reference my parents variables, and link to my parent for all sorts of settings.
The down fall, is that I can't Move a sub connection around, and I can't reference my parent as a connection.
It seems like you are forcing the worst of both worlds by making the distinction between connection/sub connection/folder.
It is my suggestion that the distinction be removed.
I should be able to create a "group" add some "sessions" to that "group", add some "sessions" to those "sessions", add a "group" to those "sessions" and place a "session" within that.
The benefit to this option, is that it will allow for the migration of a child object in one place to be easily move to a different place (while bringing it's children if needed).
If I have a object that represents an RDP connection with a server, and 4 months down the line I need to add SSH object to the same host, I can create a "group", place both of those sessions under that "group" and continue on.
I can as well reference variables in my parent, wherever I am. Currently you don't allow me to place a connection under a group and then within that connection reference my parents IP address.
If there was no distiniction between group, connection, and sub connection; Everything would have a parent that could be referenced.
A object could be created in which other objects could be linked, each referencing their parents information if needed.
In programming terms, it would be a giant link list of generic object pointers.
So the discussion is, what was the idea behind how it is???
If I, say, have a device on the network, and I can connect to it using VNC, PCanywhere, SSH, Telnet, Webpage, and RDP.... how is it you thought that should be represented???
Am I to make a group, into which I place a bunch of connections. (at which point I ask, Why can't those connections reference their parent "group" for information, like IP address, or Host name or contact information?)
Am I to create One connection, and then attach a bunch of sub connections to that. (at which point I ask, why is the name repeated within the display list, and though I can reference parent information, why can't I move those sub connections around?)
Short of it being, unless I my team and I are missing something in the organization of connections in RDM, it seems like you had two visions of the end product when you started programming, and you have ended up in the middle of both with an issue.
Would appreciate your feed back David, and an open discussion about this.
Like I said, We love the program, and use it on an hourly basis. We aren't going to stop using the program because of this, but it would make life A LOT easier if I understood.
I agree the usage of sub-connections wasn't clear/intuitive to me when I started using RDM. But once I read the help file it made sense.
Currently being able to move sub-connections to different parents or making it a new 'parent' on its own is the biggest missing piece of sub-connections for me.
As for the distinction between group/session(connection)/sub-connection: to me a group is a collection of related, but independent, sessions whereas sub-connections are "dependent" on their parent session. I don't use any of the fields in a group - I just use it as a folder. If you are doing that, I can see why you would like to reference those fields like with session->sub-connection.
"why is the name repeated within the display list"
That's really up to you how you name the sub-connections. I name them based on their type: RDP, SSH, FTP, HTTPS. I would like an option that displays the parent session's name in the tab as well to make it easy to distinguish which parent the sub-connection belongs to when you have a lot of tabs open (e.g. [Parent] - RDP). Right now I add the parent's name in brackets to the name, but that does duplicate the name.
Hi guys,
First of all thank you for your posts, both of you. You right about that sub-connection and typed group. It's the nearly the same and eventually it will be less confusing. The problem and the advantage of RDM is that is evolve really quickly. If I had to redo it from the beginning, it would be simpler. Sub connection were introduced in v6 and typed group in v7. I invite you to take a look at all the changes in the last year:
http://remotedesktopmanager.com/remotedesktopmanager/Home/WhatsNew
It's already possible to use refere the parent group for variable like the host name:
So I think that I could do some small tweaking without removing any feature to improve the usage:
1. Allow drag and drop of sub-connection to parent or unparent
2. Use the parent in the display name when except in the tree view (good idea _RNK_)
3. Allow more variable maybe
If you have any other idea, let me know
David Hervieux
GroupVariable.png
My idea would be to Slow down. :)
I love that RDM is evolving, and that you listen very intently to customer feedback.
my friend and I have laughed because twice, I have updated my computer told him about the new RDM and he gets a newer version than I just downloaded.
But I Also think that this sort of quick fire, adding things to the program to get more features is a bad solution. Simpler is Always better.
We don't need More variables, we need smarter Simpler variables.
you have given us the ability to use custom variables, and reference those in the child, but 90% of the time we only use 3 of the 100 that are there.
Instead, Smarter variables would be nicer, allow 10 truly custom variables. Var1-Var10 allow us to change the names of these variables, and allow us to reference them in the child as something like parent.HostName, or Parent.Location, or Parent.IPAddress.
As for the Sub-connections.
I am not saying No to drag and drop sub-connections (we need that functionality).
I am saying, Why do we have "sub-connections"?????
Simpler is better..
Make EVERYTHING a session.
Make it sort of like a link list. Where a session can have a parent and a child.
I can then create a "session" and give it a parent (which would be like placing it in a folder).
I can then create another session and give it the same parent.
and so on and so on.
This way, not only would you remove the all to confusing differentiation between connection/folder/sub-connection But you make it so that one simple set of rules can govern All objects that the client has created.
Simpler is always better.
Really my biggest question for this post that either of you have yet to really address was the last few paragraphs of my original post. How did you intend us to use the program?
I'm not sure I see how the variables suggestion is significantly better. To reference the parent's variables you'll need a list of all such variables anyway, like we have now. It's unrealistic to expect display names of controls to be as terse as typical variable names.
Regarding sessions: the concept of a group/folder/container and respective entries/files/items is understood by everyone, whereas having one entity represent all of them is not as intuitive. Also, you can have non-session type entries like the data entry or credential entry - where would they fit? A UI for a one-size-fits-all type of entry would be more complex, I imagine.
If you want to make it simpler my suggestion is to use sub-connections only where referencing the parent's variables is needed (e.g. changing a password in the parent should apply to children) and ignore the ability to use or reference any variables in a group/folder - I imagine there are others who use this feature. This is how I manage my ~350 entries.
Don't want to derail the topic too much, but to answer your last question: my iPhone is simpler to use than my Galaxy S2 but as a technical person I much prefer the flexibility of Android. This program is aimed at technical users and I'm sure managing simplicity vs capability (complexity) is a challenging task. I guess it's somewhat like Word or Excel: tons of features but the majority only need a subset of it. I don't think there's one specific way to use this program.
Perhaps taking regular polls on various aspects of the program might help shape it and give everyone an idea of how others use the program.
_RNK_ thank you for getting back to us on this one.
I honestly, am just making suggestions on what I see. If there is a better way to use the program the way it is, I Really hope you can fill me in on this, because right now, Group/folder/container view really doesn't apply to the way the program is working.
Here is how I saw it at first.
I create a Group/folder that is the site for all of the connections.
then I create a folder for all the computers at that site, and one for all the networking, and one for all the servers, and one for all the devices. etc.. etc..
Then for each of the servers, I create a session (RDP/VNC.... whatever I use to get to that system).
1000 devices into it.. we started running into issues, and confusion about how to organize, and what the options were for organizing.
For example.
When I create a Folder/Group... I have the option to make a computer "folder" and a server "folder" and a site "folder".... Great that sort of makes sense.
So I create a "Site" (which is actually an object under Group/Folder when creating a new entry).
Now what do I do??
Do I create a group/folder for all of the servers....
and then create a Group/folder of type Server for one of the servers... and within that place my RDP connection, VNC connection, pc Anywhere connection and Telnet connection???
In this case, my tree view ends up with quite a lot of "group/folders" that only have one thing in them, so why not just skip the group folder and go with the session.
Or do I create a Server Group/folder within which I place an RDP connection, and then under than RDP connection create Subconnections for VNC/pc anywhere and telnet???
and if this is the case which to you use as the parent connection... do you standardize as say RDP is parent, or do you use the connection type you most use, which would leave each server different...
The issue is, and I don't want to sound like you don't know what I am talking about... because with 300 session you most likely do...
The issue is when you have around 1000 sessions (and adding more everyday)... you Desperately search for the simplest, quickest, most standardized way of organizing your sessions.....
which I am having troubles finding in this program.
Hence the reason I asked How the program was intended to be used.... what was the subconnection, and how am I to use it..
If As you said, I use it for only when referencing the parent variables are needed, then we run into the whole issue of which parent session do I choose... the most used one... or a standard one...
I guess my brain just doesn't understand.
OK I can relate to that. I have a very similar setup of Site->Network/Servers/Printers/Etc->Device and I've been experimenting with using a folder or a session as the parent, like you have. Using a session as a parent does present the confusion you mentioned.
What we started doing is to use RDM for documentation too. So we make liberal use of the Data Entry node and currently I'm using that as the parent with sessions as sub-connections. I've requested for the Other tab of the Data Entry node to be expanded with more columns so it can be used more like a spreadsheet, but you can still record a good amount of info in the Data Entry node.
We also use different icons for these nodes to better differentiate the devices visually and it really helps when you have hundreds of entries. I've found that I can almost eliminate the use of HTTP sessions because you can specify a URL in a Data Entry and set it to open embedded so that the login is auto-typed. So it's become the primary node in a lot of situations and we're standardizing on that for now. Once sub-connections can be moved around, etc this will work better.
Here are example screenshots of a Data Entry node with sub-data entries and sub-sessions:
edited by _RNK_ on 1/14/2013
rdm.JPG
rdm2.JPG