Feature Proposal: Automatic Connection (two way link)
Motivation
Current methods of achieving this functionality are subject to serious concerns about performance.
There is not an established syntax to differentiate a link from a connection.
Description and Documentation
Create a syntax for a connection. Create a high performance implementation.
Examples
Impact
Implementation
--
Contributors: RandyScales - 01 Feb 2008
Discussion
A lot of things we do, involve a connection.
CategoryBrainstorming is an example of a simulated set of connections. Each catagory has a link that identifies one end of the connection. The other end is artificially created by using a search. This kind of search can be very processor intensive. It would be tempting to blame this on the lack of a database backend, but even databases can end up with performance issues.
Since we do not depend on a database, we should not try to copy the database solution. We use a flatfile system, and we should make a point to take advantage of that fact.
When we save a topic with a connection, a
SaveHandler could detect new connection, and then update the other end of the connection in the connecting topic. This increases the upfront processing, but that processing is then recorded for future use. If
CategoryBrainstorming where implemented in this way, there would only be a performance hit when adding a new connection. You could otherwise view the index as many times as you like.
Several issues would need to be addressed: Including security, avoiding cascade update, etc...
Since we don't want all links to be connections, we need to consider the syntax.
--
RandyScales - 01 Feb 2008