Watch videos with subtitles in your language, upload your videos, create your own subtitles! Click here to learn more on "how to Dotsub"

Kuwaiba 0.2: User Experience Part II

0 (0 Likes / 0 Dislikes)
Welcome to the second part of the... second screencast of project Kuwaiba. Today we will see the modules "Class Manager", "Attribute Editor" and "List Manager" In the past screencast... we reviewed the modules... "Navigation Tree" and "Containment Manager" We said the containment is the way how objects can... objects can be contained by others in the real world We took a look to the complete... containment hierarchy creation process Finally, we explored the features of the Navigation Tree and the functionality provided by the "Properties" window to edit the details of an object. Now to get down to business... This is the "Class Manager" module... we can open it by using the shortcut "CTRL+M". It will show us a form of five fields: The first is the class we want to customize, it's a combo box with the list... of classes we've already seen. We can go through it... symply by typing its name. For example... "Building". The "Display Label" field is used... to replace the real name and is usually... enclosed to instances names. For example, in this case... the [default] Country's display name is "Country" it always is going to be used. For this "Building" case, if we change it... to "Edificio", which is the Spanish word for building... that will be shown next to the nodes... representing a building. We'll see that up next. "Description" is a field used to... document the model. In the future, when the model goes dynamic and grows almost daily, it will be necessary to make annotations so the end users can know... what is every class for. Last two are the icons for the class instances. The first one will be used for all trees For example this one in the Navigation Tree By default, the icon is an "A"... that stands for "Any" and here is where you can customize that I already have made some test icons.. so we choose this one... building The dimensions of this icon... may be up to 16x16 pixels while those for the "Icon for views" are 32x32. "Icon for views" will be used... in the detailed views per object that we'll review in a coming screencast. by now we are just going to add an icon... but we'll see the effect in the other tutorial Now let's save the changes... and see the result. Here we can see that... it has taken the icon we chose ...here... Attention: When the tree has been expanded to show an object of the customized class *before* to make the change The client should be restarted for the changes to take effect since the local cache does not... refresh automatically in some cases (known issue) As in our case, no Building nodes had been shown previously... It was not necessary to restart the client We can do the same with, for instance, the SDHMux we already created Oh, please note that... it says "Edificio" here... it also took the display label too Now, let's take one of the samples These fields are not mandatory we can skip them and let the value null Let's do that with the "Icon for views" By now we're not gonna use it anyway. Now we just save... and we're done This module is very basic. As you may notice... The SDHMux took the icon as well If we would want to change the "Server" icon Let's go back to the class manager we open it and select the class "Server" and choose an... icon ...Server... and then "Save" In the bottom we get a "Success" notification we must now close and open again for the local cache to get refreshed For your information... this demo runs under... a virtual machine with a 32 bits Ubuntu 10.04 and 1GB of RAM (both client and server) Now we open the Navigation Tree again and we can see it took the new icon Again, with the others this was not necessary because the correponding nodes... hadn't been opened ehn the changes were made so those classes metadata (icons and others) was no cached Well, now go to the next module... "Attribute Editor"... (aka "Attribute Manager") This module is useful to customize... the information related to each one... of the attributes... in the available class hierarchy There's also a list of all classes Let's expand "City" Inside we will find... its attributes... Some of them are intended for internal use only and shouldn't be shown For this demo I'm a using a database... that has only the metadata, this is... only the list of classes and attributes If you check the User Manual it's the first one <i>kuwaibadb_empty.backup</i> There are three possible backups... in the official server package One, almost empty (kuwaibadb_empty.backup) with only the metadata. Another which has the metadata... plus a basic containment hierarchy (<i>kuwaibadb_container_hierarchy.backup</i>) and another with the same plus some... demo data (<i>kuwaibadb_test_data.backup</i>) Having taken this... "clean" database there are some visible attributes... such as "parent" or "id" that shouldn't be shown since... they're for internal use only and in other databases (2nd and 3rd) have been disabled but not here (1st, kuwaibadb_empty.backup) Here we disable manually those attributes and... the changes are committed automatically... and the user is notified about the result in the bottom right part. This column contains the attribute name and it's read-only since it's an internal information The type can't be change either it's just informative... and shows the data type... that can be simple like in this case... I mean, such as Strings... or Longs or Dates Or we can have more complex types such as... ...relations... ...for example... In "Building"... we have an "owner"... and it has a more complex type You can realize about that because... it's inside a... custom package a package tha belongs to the application... <i>"org.inventory.something"</i> So... here we have the attribute's "name" and "type" and here we have the "label" what's the "label"? well... for some users the meaning of "isLocked"... may not be so clear, so... you can... change the display label... to something more... user-friendly. for example... "Blocked?" We save it and set it as visible The next column precisely sets the attribute as... visible in the Properties window Rhe next one sets the attribute as administrative... which means... that if we select any object, we can see that... by default... all attributes are grouped... into the... "General Properties" category. however, when set to... "Administrative" It will create a special category for it Let's set "isBlocked" as "Administrative" The last column (Description)... is also used to document the model... so the user can know... what is that particular attribute for. We can press this button if... the description is too long Let's say... "Used to block it read-only" And now it's saved The description we just typed... will appear in the bottom part Now, let's take a look at... the Properties window. Note that a new category has been added and it says "Administrative Attributes" If we select "Blocked?", we get... the description we set below. That's how we document the model... which is, as I told you, something... very important, since it tends to become complex as time passes by and end users won't know... what the new attributes are for. So it's critical to do it from the beginning. You should do that for every class There's no support for bulk updates yet there's no a... tool to automate... the process of bulk updates for attributes It's expected to be available... in next releases. Anyway, the most experienced admin users you can access to the database directly the schema is pretty simple As soon as you access you will see... what columns you should set 'true' or 'false' to hide certain attributes... or what fields should be affected in the... bulk update... related to those elements. those changes... should performed in... in the tables "classmetadata" and "attributemetadata" Finally, we'll review the "List Manager" which is this one... and can be invoked using the shortcut "CTRL+L" OK, but... what are the... "Lists Types"? Well...as seen previously... in the class "Building", there's an... attribute named "owner" the building's owner and as we see there's nothing in the combo box... the list is empty that's because we haven't created any entry this is a "list type attribute" the items in the drop-down list... are customized using... the "List Type Manager" So... it's fairly easy to find the type we're looking for... depending on the name of the attribute... ...owner... Here it is... It's called "LocationOwner" Now, if... we expand the tree... we can see that the node has no children we can open it... and add new items For example... <i>...Charles deGaulle...</i> and we can add other... called... <i>...Winston Churchill...</i> Now we can see that the changes were done Sometimes... (and this is a know issue) the name of the last added is not shown that is because the local cache is not refreshing properly However the attribute can take that value (next time you start the application you'll see the display name normally) The same thing we did... applies for the rest of the list type attributes In the coming screencast, we'll see that... we can create the connection types (cables, conduits, etc...) by means of... this list types Wire/WirelessContainer types Electrical/Wireless/OpticalLink types By now, we're not going to touch them. That's all for now... see you in the third and last part... when we'll see another useful modules Bye, bye

Video Details

Duration: 16 minutes and 13 seconds
Country: Colombia
Language: Spanish (Spain)
Producer: Charles Bedon
Director: Charles Bedon
Views: 262
Posted by: kuwaiba on Dec 3, 2010

his video provides a quick tour across the modules "Class Manager", "Attribute Editor" and "List Type Manager"

Caption and Translate

    Sign In/Register for Dotsub to translate this video.