[racktables-users] Re: My first usability patch - extensive

  • From: Denis Ovsienko <pilot@xxxxxxxxxx>
  • To: racktables-users@xxxxxxxxxxxxx
  • Date: Tue, 10 Jun 2008 01:26:52 +0400

Hello, all.

Jonathan, thank you for the effort. Although you seem to understand the
coding style, I would like to provide some feedback before you go too
far. You are adding more accessor functions for RackRow and hardware
model dictionary chapters. The current codebase has evolved from
multiple simple tables and even more numerous simple functions to one
single "dictionary" structure and several uniform functions to access
it. This made subsequent improvements easier for development. What you
have done is closely related to a planned improvement, which has been
filed as http://racktables.org/trac/ticket/151 I would be glad to see
the latter ticket closed, the current editor is a bit annoying. It
does its work though.

> Here is a brief list of the changes I made:
> ---------------------------------------------------------------------------
> Rackspace Page
>   * Added printing of Messages / Errors
>   * "Add more" tab to allow adding multiple Rack Rows

See above.

> Row Page
>   * Add "Delete" tab to Rows with no racks, with confirmation page
> Rack Page
>   * Add "Delete" tab to Rack with no objects mounted, with
> confirmation page

You forgot to wipe the RackHistory records along with rackspace history

> Configure Page
>   * Hardware Objects
>     * Add/Delete/Update Hardware Categories ("HW Type" Dictionary
> Attributes)
>     * Add/Delete/Update Items in above mentioned Categories
> Hardware Objects Page
>   * New page found under Configuration page
>   * Makes managing Hardware categories (Routers, Network Switches,
> etc) MUCH easier and more automated
> General Changes
>   * Visual adjustment: Make all racks align to the "floor" with each
> other on Rack / Rackspace pages. I didn't like my 40U racks
> "floating" between the 42U racks

I think, that the best alignment depends if the racks stand on the floor
or are attached to walls. This probably sooner deserves a new column in
the Rack SQL table, than changing one fixed alignment to another.

>   * Changed printImageHREF to include the 'title' attribute for
> linked images

Merged into trunk.

>   * Removed unused variable ($refcnt) in function getDict
> (inc/database.php)


>   * Moved function "delRow" from inc/functions.php to
> inc/ophandlers.php Rewrote delRow breaking it out to many functions
>   * Moved function "delRack" from inc/functions.php to
> inc/ophandlers.php Rewrote delRack breaking it out to many functions

Oh, I see now. It was probably the oldest code in the whole project,
somehow it managed to survive in a couple of unused functions. I'm
half-merging the change, i.e. deleting the old implementation from
functions.php. Update your working copy.

There's a couple of more challenging key features, which I would prefer
to concentrate on. One is replacing the current permissions framework
with a more natural text-based ruleset, which would use the tags system
introduced by 0.15 series. Another one is a universal 2D-mapping
approach, which would describe positioning of racks in rooms, units in
racks and modules in modular devices. If you would like to help with
that, let me know.


Other related posts: