This is a response to foobarbam's topic "Feature Suggestion etc...", but I thought it deserved its own topic. See the original post here:
The ability to track peripherals, add-ons, network equipment, etc. has been one of the most requested features since I first released OpenIT! In fact for a long time a unused ghost table named MiscEquipment was floating around in the background with some code references to it commented out.
What kept me from ever implementing it was the issue of how generalized/specialized to make it? I think one of the main strengths of OpenIT is that its simple and straightforward, so I don't want to get bogged down in multiple levels of equipment types and tables and tons of innner joins.
So I kind of like the idea of a MiscEquipment/Peripherals table (Peripherals is probably a better name) with all the optional fields anyone could ever use. It could have an Employee, Department, Computer, or Printer. Then perhaps a number of predefined fields to give the whole thing a little structure: Type (the lookup table), Campus, Location, Hostname, IP, etc...
But that's one idea... Let me know you're thinking. Considering I have never gotten around to implementing it, its largely up to you. :-)
Antoher suggestion to K.I.S.S. the peripherals with.
Should the printer's section be eliminated in favor of peripherals? After all a printer isn't a printer a peripheral? Also from the previous post, it would seem that all the fields found in the printer's tables would also be found in the perihperal's table. Don't quote me on the last statement as I do not have the sql or the app open in front of me, but it would seem to add functionality without adding much more complexity.
I like you're style. I agree: Kill printers and create peripherals. Printers does have that ridiculous "CostPerPage" field, but I added that just to make the suits happy. :-) I can either hack it back in locally or just drop it altogether.
Printers do have some really bizarre code to try and figure out whether a printer is a network printer (something like: NetworkReady & Department & empty(Computer)). It's not very logical code, so I wouldn't sad if we lost that "functionality." However, the ability to mark a peripheral as standalone and/or networked seems like a good idea.
I don't mind discussing it in detail here if you like, but I also don't want to slow down your development. If you want to just start hacking: "It's easier to ask for forgiveness than permission." :-)
There are some Periherials i'd like to use as bulk items. For example it would be easier to add an item: Optical Wheel Mouse -> 10 units
than 10 times a mouse. Is that possible to implement?