> But a link can be broken, mgd_delete_article($real),
> and with MySQL deleted article id can be reused linking to another one.

If you want to handle this within Midgard (instead of in self-supplied
php functions to wrap the create and delete functions) an
article/topic could include a reference count to prohibit deletion
of them while they are still linked to a topic.

But links change the topic/topic and topic/article relationship
from a one-to-many to a many-to-many relationship, which requires
an extra table and changes to the topic/article implementation.

Another way would be to create 'ghost' articles/topics whose
sole purpose is to represent a link. Fetching a ghost article
could then automatically fetch the linkee (taking into account
links to links to links to...). The ghost records could double
as a reference count.

This is pretty straightforward, technically, but has performance
implications, and might make access control more 'interesting'.
And the Admin site would need a large rework, I guess. 

> Only transactions can solve the problem.

Transactions would be cool to have, but not all databases support
them. It will be quite a challenge to build a layer that can
be slipped in between Midgard and ODBC that would implement
transactions for any backend.

Bye,
Emile


--
This is The Midgard Project's mailing list. For more information,
please visit the project's web site at http://www.midgard-project.org

To unsubscribe the list, send an empty email message to address
[EMAIL PROTECTED]

Reply via email to