B. A. Seiber Design

Website Development and Consulting Services

3-D Object Inventory

Screenshot of Creator Administration page.

This site was something of an experiment. While performing a much needed function, it also provided an opportunity to try out new design and programming techniques.

Part of the design experiment was the layout. Until recently most layouts were created using tables. Table layouts are fairly easy to implement. However they are difficult to understand and cause problems with screen reader browsers. The layout created for the 3-D Object Inventory was table-less. It was created with a fluid (can grow or shrink) width that could accomodate all but the smallest screen resolutions. Two types of navigation were also incorporated - horizontal list and tab style.

In programming, the biggest experiment was using multi-dimensional arrays instead of recordsets. Recordsets are easy to use but they keep an open connection to the database. This can be a drain on resources and cause other parts of a site to fail. Putting data into a multi-dimensional array causes fewer issues with the database. However, they are comberson to handle. Also, depending on the usage, multi-dimensional arrays can be a drain to the hosting server.

3-D Object Inventory offered several features including search, add, edit, delete, and view. How these features functioned depended on which module in which they resided. For example, the List Management module contained two types of forms - a dynamic list and a regular form. Using a dynamic list - a user could view, add, edit, and delete all the information for that list in one shot. When a dynamic list was unsuitable the functionality was split up and a search function was added.

Inventory Management was a little different from the rest of the site. There was no traditional search function. It was broken into three sections: Add Inventory, View by Object, and View by Storage.

Add Inventory allowed the user to add any number of an object to a storage space. It incorporated a drop-down menu to select a storage space, a scrollable list with radio buttons in which an object could be selected, and a textbox in which the number to add could be typed. Later on, as the number of objects became unreasonable, a drop-down box was added. This allowed the user to jump to a section of the object list.

View by Object was an alpha-numeric list of all the objects currently indexed. If the object was in a storage space it would list the storage space, how many of that object were in the storage space, and the total number of that object in the inventory. View by Object also allowed the user to add one object to a storage space, delete one object from a storage space, or delete the object completely from the inventory.

View by Storage on the other hand was a collapsable, alpha-numeric list of storage spaces. Each storage space displayed the total number of objects it contained. It also had the ability to delete all of those objects at once. If a storage space was open, a list displayed of the objects and how many of each object it contained. From this point a user could add one of an object to the storage space, delete one of an object from the storage space, or delete all of an object from the storage space.

In addition to the modules listed above, 3-D Object Inventory contained the: Objects, Inventory, General, Users, and Requests modules. The Objects module handled adding, deleting, and cross referencing objects with data managed in the list module. Inventory was the public face of the application. Through Inventory, the general public could view or search for objects up for sale. The General module included the login, home, and warning pages. Later on Users and Requests (bidding) were added but neither were fully developed.