|
slash_2_2000 Beginner
Joined: 27 Jul 2005 Posts: 20
|
Posted: Wed Oct 10, 2007 1:02 pm
Possible to return to a more zMUD-esque package editor? |
Having just downloaded the latest CMUD beta (2.05), the first thing I notice in the 'Package Editor' is the shying away from the 'classic' interface, where it would have in the... main area... Columns of the classes/aliases/triggers/etc that could be clicked on and edited. Now, I find myself faced with a tree view which is ridiculous to navigate.
Where previously (in zMUD) I could simply click on a class and have a column list presented to me which I could scroll through horizontally in a moment, I have a massive list which I must scroll through vertically. Clicking on a class is useless - it simply has a grey screen with a few tickboxes on it.
If I am not mistaken one of the touted features of CMUD is the more efficient package editor... I am curious about two things.
1) Why would the interface be changed to require scrolling dozens of times through a massive vertical list rather than horizontally perhaps once or twice?
2) Is there any way to return to a more 'classic' package editing interface in this regard? (I know there will be at least one wise guy who will say 'Use zMUD', but please don't)
I am absolutely loving every feature in CMUD besides this one and it seems to me a very critical UI component. Truly, this is the only thing stopping me from purchasing CMUD nigh on immediately. Is anybody able to inform or assist, please? |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Wed Oct 10, 2007 1:26 pm |
Zugg will be the final and official answer on this but I'm pretty sure sure there won't be a return to a more 'classic' zMUD interface. I personally love the new interface, and Zugg has spent a lot of time on the new package editor.
I don't have the long lists you speak of but you can try using the search feature ( Ctrl+F ) to quickly find a class, or the 'Show Only This Class' option to narrow the lists.
I think Zugg also mentioned that this brings the package editor more in line with modern UI standards. The only other suggestion I can make is to try greater logical groupings of modules, packages etc. Personally I think it's worth it and that you'll grow to appreciate the new package editor so I say make the leap and buy it. |
|
_________________ Asati di tempari! |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Wed Oct 10, 2007 2:54 pm |
You shouldn't have a "massive list" to scroll through. Expanding and contracting classes allows you to only see what's on the path to the current class. Unless you have many settings in few classes (which would've been just as hard to navigate in zMUD) or few settings in many classes (which should be improved by the treeview) anyway. There's still a search filter to help you find a specific setting quickly. I'd imagine that there's almost zero chance that the old layout will come back exactly how it used to be.
With that said, though, viewing the contents of a class in the old format is a feature that's requested quite often. Would, say, having the old view present when you select a class (which currently have a lot of empty space) help any? |
|
|
|
slash_2_2000 Beginner
Joined: 27 Jul 2005 Posts: 20
|
Posted: Wed Oct 10, 2007 2:58 pm |
Fang Xianfu wrote: |
With that said, though, viewing the contents of a class in the old format is a feature that's requested quite often. Would, say, having the old view present when you select a class (which currently have a lot of empty space) help any? |
Hmm. It would help some, though it would be a lot more useful to have it interactive as the old one was. Perhaps able to scroll to it and such but when you click on the item to be edited it edits the same as if you clicked on the tree view? Otherwise, anything would be better than just a big grey screen. |
|
|
|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Wed Oct 10, 2007 3:27 pm |
I like most of the new UI, but being able to see a more standard 'Windows Explorer' style view would be preferable, with the contents of a class/folder being shown in the right pane when the class/folder is selected in the left, and you'd not have all that dead grey space. It'd also be nice to be able to navigate through the tree using keys more easily (again, in a more 'Windows Explorer' style) - pressing left for example would take you to the parent folder if the current one is already collapsed, pressing right takes you one level down if the parent is expanded etc. I think the problem with doing that though was that it's in a 3rd party component.
|
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Thu Oct 11, 2007 12:00 am |
You can also make tabs for the classes you are working with most frequently allowing you switch rapidly between them. It is either done from the right-click in the tree view or by dragging the class up to the tabs area. Possibly even both, and it should also work for all manner of settings not just classes. I just can't remember if I ever tested it for that.
|
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Oct 11, 2007 7:32 pm |
So here is a question for you...
It would be relatively easy for me to add a list of the items within a class to the panel on the right (the panel that you said had all of the grey space on it). However, if you double-clicked a setting within the list to edit, then the right panel would be replaced with the editor panel for the setting you double-clicked.
In other words, the way the current settings editor works is that you have a hierarchical tree-view of all settings on the left, and the right panel is the editor for the currently selected setting. Whenever you select a setting, the right panel changes to edit that setting.
Since a "Class" setting doesn't have many options, the editor panel is mostly grey as you noticed. I can add the list of settings within the class to the editor panel for the class, but that list would only be shown when editing a class. When editing a trigger, for example, you'd still see the full editor panel for the trigger and you wouldn't see the class list anymore.
The "Windows Explorer" user interface model doesn't really work for the Settings Editor because the purpose of the Settings Editor is to edit the contents of each setting. It would be like adding a file editor panel to Windows Explorer, allowing you to edit a file by clicking on it. The user interface model that is more appropriate is the 3-pane Email UI model. It has folders (classes) in one pane, the messages within the folder (settings within the class) in a second pane, and then the selected message (selected setting) in a 3rd pane. I've played with this UI model, but you really need a larger editor pane for settings. I've even played with the 3 column view that newer versions of Outlook use, and that still takes up too much space. It's still something I'm always thinking about, but it's pretty low on the priority list since the current Settings Editor works pretty well and has a lot of ways it can be customized as people have already pointed out.
Anyway, if adding that list of settings to the class editor panel would be useful, let me know. |
|
|
|
slash_2_2000 Beginner
Joined: 27 Jul 2005 Posts: 20
|
Posted: Thu Oct 11, 2007 7:38 pm |
Zugg wrote: |
...
Since a "Class" setting doesn't have many options, the editor panel is mostly grey as you noticed. I can add the list of settings within the class to the editor panel for the class, but that list would only be shown when editing a class. When editing a trigger, for example, you'd still see the full editor panel for the trigger and you wouldn't see the class list anymore.
...
Anyway, if adding that list of settings to the class editor panel would be useful, let me know. |
Yes, it really would be. It would certainly help with efficiency, in my books. I know that once you left the 'class' view and went to the 'editing' view, you would lose the class view, however I wonder if it would also be possible to code a way to quickly return to the class view? That is to say, once I have finished editing say... a trigger... in a class, would it be possible for a button or key combination to return me to the class editing window? It would seem very efficient that way. |
|
|
|
forren Novice
Joined: 26 Apr 2007 Posts: 44
|
Posted: Thu Oct 11, 2007 8:13 pm |
Some of us really like the view of the Cmud editor..
|
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Thu Oct 11, 2007 8:26 pm |
Luckily, this method leaves the editor as it is mostly intact. It just adds more information for those that want it, to an area that's unused.
|
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Thu Oct 11, 2007 9:47 pm |
slash_2_2000 wrote: |
I know that once you left the 'class' view and went to the 'editing' view, you would lose the class view, however I wonder if it would also be possible to code a way to quickly return to the class view? That is to say, once I have finished editing say... a trigger... in a class, would it be possible for a button or key combination to return me to the class editing window? It would seem very efficient that way. |
Like, say, either a "Back" button, or just a memory that before editing the trigger, you were in the class view, and that therefore after pressing Save or Cancel, you should be returned to the class view. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Oct 11, 2007 10:24 pm |
A "history" of edited settings is on my (long) to-do list. So that would give a "Back" and "Forward" button like in a web browser. I've wanted this already when I double-click on an alias or variable in the script editor to view it, and then want to go back. So this will definitely get done. Probably not in 2.06, but soon.
In the later future, what I want to do with the Settings Editor is to make the various panels "dockable". So the TreeView and the Editor panel on the right would be separate dockable panels. When this is done, I can add a 3rd dockable panel (invisible by default) that shows the settings in the currently selected class. Then you'll be able to rearrange the panels however you want. For example, on a dual-monitor system, you could put the TreeView/ClassView docked on the left, and have the Editor panel be fullscreen on the right, or anything like that. This would be the most flexible way to handle the Settings Editor UI.
No timescale on any of this though. |
|
|
|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Thu Oct 11, 2007 11:41 pm |
I was thinking that instead of the class panel taking up so much space (and 95% of it being empty grey space) that it would shift up to occupy as little space as possible at the top and you get the settings within that class visible below in an easy to see scrollable details style view.
If you wanted to edit the setting you would double-click and it'd then open that setting in the same way as if you'd picked it from the left hand pane. |
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
|
Wink- Newbie
Joined: 29 Aug 2005 Posts: 5
|
Posted: Thu Oct 11, 2007 11:49 pm |
I really think an undelete feature would be nice if you accidentally deleted the wrong one, kind of like undo.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Oct 12, 2007 2:21 am |
Quote: |
that it would shift up to occupy as little space as possible at the top and you get the settings within that class visible below |
Well, that works for Classes, but not for any other settings. Most of the other settings have a Script attached to them, so it needs to take up the entire vertical space for the script editor. That's why I said that the list of settings would only be visible when viewing a class.
Quote: |
I really think an undelete feature would be nice if you accidentally deleted the wrong one, kind of like undo. |
Sorry, but there isn't any way to implement that in the current CMUD design. The basic CMUD design is that your Settings are all stored in a Database. This database is shared between the Settings Editor and the rest of CMUD, which is what allows your scripts in the background to continue to work while you are editing the settings (it's sort of like 2 users accessing a shared database). The database design also prevents data corruption and lost settings. Once you make a change to a setting, the change is stored within the database. It is very hard to "undo" a change to a database without implementing a full transaction buffer, and that would take a lot of extra memory.
CMUD currently has a small transaction buffer, but as soon as the background thread saves your settings to the *.PKG file, this buffer is reset. So I could allow you to "undelete" something as long as the memory database hasn't been written to the *.PKG file, but once it has been written to the file, then there is no way to undelete it. And since the background saving is supposed to run transparently every few minutes, the chances of having your deleted setting still in memory is pretty small.
Anyway, I know it's a technical issue, but without some major redesign, you just aren't going to get any sort of Undelete or Undo function in the Settings Editor, sorry. |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Fri Oct 12, 2007 8:25 am |
Another possibility is to maintain a history table and have some way to access that. It would be easier to do but it will still require significant redesign.
|
|
_________________ Asati di tempari! |
|
|
|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Fri Oct 12, 2007 9:55 am |
Quote: |
Well, that works for Classes, but not for any other settings. Most of the other settings have a Script attached to them, so it needs to take up the entire vertical space for the script editor. That's why I said that the list of settings would only be visible when viewing a class. |
Sounds good, just classes would be fine, when you select any other setting then losing the list would be fine. |
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Fri Oct 12, 2007 10:55 am |
Some databases natively support Undo even after commiting the transaction, and possibly lots more transactions after that, but the Undo will only work if a later transaction hasn't changed any of the objects that were in the transaction that you want to undo. So undoing a specific transaction is not guaranteed to work. (But undoing a whole bunch in reverse order would be OK.) Anyway, this requires keeping a transaction log, or Tech's suggestion, and I suspect this is all more work than Zugg wants to do right now. Actually, SQLite say:
Quote: |
Temporary triggers can be added to the database to record all changes into a (temporary) undo/redo log table. These changes can then be played back when the user presses the Undo and Redo buttons. Using this technique, a unlimited depth undo/redo implementation can be written in surprising little code |
|
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Fri Oct 12, 2007 11:05 am |
Actually, that only works for fairly simple transactions, but I reckon CMUD probably only uses very simple ones anyway...
|
|
|
|
slash_2_2000 Beginner
Joined: 27 Jul 2005 Posts: 20
|
Posted: Fri Oct 12, 2007 2:13 pm |
Zugg wrote: |
A "history" of edited settings is on my (long) to-do list. So that would give a "Back" and "Forward" button like in a web browser. I've wanted this already when I double-click on an alias or variable in the script editor to view it, and then want to go back. So this will definitely get done. Probably not in 2.06, but soon. |
I was thinking more along the lines of a command that takes me back to the root class, rather than an actual back button, but that works too! |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Oct 12, 2007 5:48 pm |
Quote: |
I was thinking more along the lines of a command that takes me back to the root class |
I could do that too. There is already a button in the toolbar to take you to the parent class (above the current class), so something similar to take you to the current class record would be pretty easy. I'll add that to the list.
Quote: |
Some databases natively support Undo |
True, but also remember that CMUD deals with 2 databases. The disk-based *.PKG database is SQLite 2.8, but there is also the internal database cache, which is the kbmMemTable. It can be very tricky to keep those two data structure in synch (as we have seen already with various problems in the settings editor tree view). So I'm certainly not going to make this even more complicated until the current system is completely stable. |
|
|
|
|
|