I got to work today as soon as I got back from my morning run and was ready to go after a nice power breakfast. As mentioned in the last post I spent yesterday working on the dashboard template. It required addition of a new method for retrieving the extant guest private message requests on the participant_queue table. This new method was made with three attributes, the new site_id column , the conversation_id (used as the guest pm uniqueness specifier) and a boolean attribute that determines if engaged (meaning a User is conversing with the guest) or unengaged rows are returned. The returned rows are extracted as an Object[] of String[] objects. In other classes of the API I've found it useful to return specific sets of data from the db in an object array when there is no formal need for a managing class. In this case, we only use the participant_queue rows to display in the dashboard, all other use of rows (public/private, user/guest conversations) is implicitly performed by the other API code. Thus the time benefit is optimal (since it is fast) and the memory hit is optimal since we don't have additional object instance and destroy actions to incur processing and memory load during the dashboard view action. I partially finished the implementation and called it a night ...
Today, I started by analyzing the problem of concurrent guest requests across multiple sites, since the framework is a multi tenant frame work it is possible for multiple sites to provide guest PM capability independently. The addition of site_id to the participant_queue table thus gives us support of multi tenancy for free. (This happens often with symmetry observant designs) I had to go into the conversation db access class and update the add,update and remove methods to support the new site_id field by simply expanding the attribute lists of the existing methods in new overloaded methods. This will allow multiple sites to enable guest private message requests and allow a single guest (IP) the ability to make requests to multiple sites hosted on the framework. In multi tenant design this is not only important it is critical, for it enables the possibility of a user making a guest request to one site that might be licensing the use of guest functionality while simultaneously making a request to another site and converse with both sites unaware of the fact that the guest private message facility they are using comes from one provider. ;)
I compiled and tested the changes made , many - small as opposed to few - large, and was able to engage normal User or Guest conference sessions without issue. Next stop is adding in the actual guest session tear up an tear down code which will require a little bit more brain work...
Today, I started by analyzing the problem of concurrent guest requests across multiple sites, since the framework is a multi tenant frame work it is possible for multiple sites to provide guest PM capability independently. The addition of site_id to the participant_queue table thus gives us support of multi tenancy for free. (This happens often with symmetry observant designs) I had to go into the conversation db access class and update the add,update and remove methods to support the new site_id field by simply expanding the attribute lists of the existing methods in new overloaded methods. This will allow multiple sites to enable guest private message requests and allow a single guest (IP) the ability to make requests to multiple sites hosted on the framework. In multi tenant design this is not only important it is critical, for it enables the possibility of a user making a guest request to one site that might be licensing the use of guest functionality while simultaneously making a request to another site and converse with both sites unaware of the fact that the guest private message facility they are using comes from one provider. ;)
I compiled and tested the changes made , many - small as opposed to few - large, and was able to engage normal User or Guest conference sessions without issue. Next stop is adding in the actual guest session tear up an tear down code which will require a little bit more brain work...
Comments