How about new Design ??
Closed this issue · 8 comments
first i'll explain some points :
- having a wikiactivity entity doesn't seem to be a good idea , because it is ,logically, not an object ,it's just a modification on the object wiki
- there is a data model named "annotation" ,this works as extra data on an entity owned by someone (some thing like flags but not so much) so it's used to left comments on entities .
so we can have this design :
- wiki entities
- modifications info as annotations
- riverItems represent wikiactivities
- always the actor is user and the acted edntity is the wiki
what do you think ?
Is it possible to have annotations on annotations?
noooooooooooo :'(
but we can trick people :D by the following method :
we'll have annotations on a wiki ,but these annotations are about another annotation (parent annotation)
like this example :
assume we have these annotations :
- wikiactivities {with the name "wikiactivity"}
- comment {with the name "<wikiactivity_guid>_comment" }
now we can say that "51_comment" is a comment on wikiactivity "51"
and so on ...
in other words we can call this "comments filtering"
what is your opinion ?
I think the best way is to make wikiactivity a riverItem, and to extend the functionality of riverItem so that it can accept annotations (I don't know whether it already supports that)
i'll check that
1- we can comment only on creation of an entity , and this comment is related to the entity not to the riverItem :(
2- i found this block of code
$item = $vars['item'];
$object = $item->getObjectEntity();
// annotations do not have comments
if ($item->annotation_id != 0 || !$object) {
return true;
}
in the file "/river/elements/responses" at line 16
:(
and also according to database we can't annotate riverItems or annotations
I think we can easily solve it.
You can annotate a riverItem, see getAnnotation():
http://reference.elgg.org/trunk/classElggRiverItem.html
We can re-implement wikiactivity object as a riverItem of type (or name) wikiactivity:
http://docs.elgg.org/wiki/Engine/DataModel/Annotations
you can't annotate a river item :(
the method getAnnotation() just get the affected annotation on the riverItem subject
and you can see that it's "getAnnotation()" not "getAnnotations()"
i think we must re-implement it (as you said)
I think there is a deep problem in the model of Elgg. I think it is better for now to make some hacks to make our job.