Skip to main content

refinement to the solution...

burning along with my implementation of guest private message addition to the collaboration API...discovered that contrary to the assertion made in the last post that I wouldn't need to update any of the conversation db access methods , I realized that for purposes of display in the dashboard.jsp template that will allow guest private message agents to manage incoming requests, I will need a method that performs the relevant db query. I also noticed that the participant_queue table which tracks the active conversation participant data did not have a column for site_id. Turns out having the site_id is critical for providing filtering by site_id and thus enabling an efficient multi-tenant management capability for this new feature..so I had to add the new column in the classes for the supported db vendors. I added the missing bits and then went on to start working on the dashboard.jsp template before getting back to the actual logic for setting up and tearing down the guest private message sessions for the requesting guest and the designated agent. So though the symmetry reduced the work considerably from what would have been required otherwise, it still required a little bit of tweaking. Ah popcorn!

Comments

Popular posts from this blog

Deconstructing Landmark Forum

Deconstructing Landmark Forum:




Prologue:

Recently I was introduced to the Landmark Education organization by a girlfriend, she was effusive about the many lessons she learned and the "breakthroughs" she had while taking their "forum" and other self help and improvement seminar programs. I was immediately credulous, as a student of science I often find myself playing the advocate of reason when discussion emerges over any particular topic. Often the subjects that provide the most fuel for application of this reason based approach to information analysis are seemingly difficult to quantify without descending into machine gun fire ejaculation of "ideas" with little but anecdotal support behind them. The books of experience that people in various areas serve as the guide for their views a priori of new evidence, this bias against the future by correlation with the past often serves to hold people back from changing their views to suit
new observations...the…

Engineers versus Programmers

I have found as more non formally trained people enter the coding space, the quality of code that results varies in an interesting way.

The formalities of learning to code in a structured course at University involve often strong focus on "correctness" and efficiency in the form of big O representations for the algorithms created.

Much less focus tends to be placed on what I'll call practical programming, which is the type of code that engineers (note I didn't use "programmers" on purpose) must learn to write.

Programmers are what Universities create, students that can take a defined development environment and within in write an algorithm for computing some sequence or traversing a tree or encoding and decoding a string. Efficiency and invariant rules are guiding development missions. Execution time for creating the solution is often a week or more depending on the professor and their style of teaching code and giving out problems. This type of coding is devo…

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache
The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform certain actions. Also, the…