Generic_Item/Group: Add Function to Store Sort Order of Members

Function simply stores an ordered list of names.  The ordered list can be retreived for sorting the members.

While this is added to Generic_Item, it is likely only available on Group items because it seems that the general practice was not to call Generic_Item->new on sub items that inherit Generic_Item.  This seems wrong to me.
JSON/IA7: Add Support for Sort Order
IA7:  Limit Updates to a Single Thread; Begin Support for Sortable Data Input

To prevent excess traffic and overloading a web browser, only permit a single update thread.

Add initial structure for defining a sort order by dragging and dropping entities.  Required adding a custom jquery ui library.
JSON: GZIP Compress JSON Output

IO::Compress:GZIP appears to be a standard module in all perl installations.

Using GZIP unsuprisingly dramatically decreases the amount of bandwidth necessary to transmit the text JSON output.

In a simple test I am seeing a compression from 2.5MB to a few hundred KBs.
JSON: Dramatically Reorganize the JSON Schema

In the prior schema the same data could appear in different locations depending on the request made.

For example, the same object may have been listed under objects->myobject and groups->main->myobject

This rewrite attempts to restrict data to a single location.  Objects always appear under the object path.

The goal was to start migrating towards a RESTful design.

Certain special paths exist for listing a list of unique values.  These include groups, categories, and types.

There was no code inside MH that relied on the JSON server, so this change should not cause drastic problems.  I apologize to those users who have user_code specifically relying on the old schema.
Print Log: Fix Error in Print Log Since Time Function

The prior code was returning both the new lines and the most recent previous line.
Add Get_Type Function to Various Packages

Get type is a simple function that returns the object type.  Object types will serve an important function in the next web interface.

Get type is included in the Generic Item package, but a few packages do not inherit from Generic Item, so they need their own functions.
IA7: Move Collections Data to Data Directory

Seemed out of place as a perl file in the web directory.

In the future, user can add (likely with the help of the interace) their own collections.json file in their user data directory to overide or change the collections.
IA7/JSON: Major Change in JSON Schema; Significant Fixes

Changed the JSON Schema so that data is not duplicated in multiple locations.  This make parsing on the front end side much easier.

Use the new collections.json file

Move Categories and Types into the object path.  Make "fake" objects for each category and type.  Again this makes parsing on the frontend much easier.

Condense all variables to reside within vars path.

Add parents and members fields to objects

Store JSON complete JSON data on the frontend

Perform various fixes and changes.
JSON: Better Handling of Idle Changed

Idle times are only reported by seconds, so we need to round the current and requested time to seconds in order to avoid detecting mulitple idendical changes in the first 0-second.
IA7: Start Implementation of Sortable Interface

Insert Rough UI for sortable interface

Move sort logic into its own function so that it can be reused.
IA7: Add HTTP Globals; Make URL Link to JSON Sub; Enable Support for PUT Requests

Using the /SUB?json() url is both confusing, unfriendly to developers, and would require lots of JSON specific code to be incorporated into the http_server

Add a number of global variables to HTTP server, allows for processing of HTTP vars by subroutines in other packages.  Could help simplify the http server
Http_Server: Fix Glitch in Merging Body and Arguments
IA7: Add Basic Support for Calling a Function Based on Put Data

It Works!

At the moment, the only thing we are prepared to handle is Sort_Order.

Although other methods can likely be added very easily too, including 'set'