tobydragon / metafora-project

Automatically exported from code.google.com/p/metafora-project
1 stars 0 forks source link

proposal for referable chat object format in Metafora #151

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
We have the ability to create a referable chat object in the Metafora chat 
through the Metafora tools. For a preview you can try the "post to chat" 
functionality on the Planning Tool cards.

This is our proposal how the XML to create a referable chat object should look 
like:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE action SYSTEM "...">
<action time="CURRENT_TIME_IN_MILLIS">
<actiontype classification="create" type="CREATE_CHAT_ELEMENT" logged="true" 
succeed="false"/>
<user id="Metafora-8081" role="receiver"/>
<user id="YOUR_TOOL" role="originator"/>
<user id="Bob" role="originator" ip="TOKEN"/>
<object id="0" type="chatMessage">
<properties>
<property name="TEXT" value="TEXT_SHOWN_IN_CHAT"/>
<property name="USERNAME" value="Bob"/>
<property name="VIEW_URL" value="URL"/>
<property name="REFERENCE_URL" value="URL"/>
</properties>
</object>
<content>
<properties>
<property name="groupId" value="groupId"/>
<property name="challengeId" value="challengeId"/>
<property name="challengeName" value="challengeName"/>
</properties>
</content>
</action>

the Metafora-8081 as receiver in the test system:
<user id="Metafora-8081" role="receiver"/>

in productive system the receiver would be:
<user id="Metafora-8080" role="receiver"/>

tentative the user can also be added as originator:
<user id="Bob" role="originator" ip="TOKEN"/>

the properties property USERNAME is the user who will create/send the referable 
object in the chat, and who's group will receive the chat message
<property name="USERNAME" value="Bob"/>

VIEW_URL is yet not used, but might be considered, therefore please add the 
VIEW_URL
<property name="VIEW_URL" value="URL"/>

Original issue reported on code.google.com by kerstinp...@yahoo.de on 10 Jul 2012 at 1:44

GoogleCodeExporter commented 9 years ago

Original comment by kerstinp...@yahoo.de on 10 Jul 2012 at 1:48

GoogleCodeExporter commented 9 years ago
Referable objects are also sent in indicators. What format should they be in?

Wouldn't everything be simpler if there were an XML element for referable 
objects and this element could be embedded in chat discuss commands, LASAD 
discuss commands, and indicators without change?

Original comment by ToonT...@gmail.com on 11 Jul 2012 at 3:05

GoogleCodeExporter commented 9 years ago
Also I'm wondering why LASAD expects the user name as

<property name='USERNAME' value='Bob' />
and
<property name='TOKEN' value='...' />

while Chat expects

<user id="Bob" role="originator" ip="TOKEN"/>

I don't have a strong opinion as to which is best but why two ways?

By the way what does 'ip' stand for?

Original comment by ToonT...@gmail.com on 11 Jul 2012 at 5:52

GoogleCodeExporter commented 9 years ago
I agree and strongly suggest that we have one format for a referable object. It 
is getting mental to maintain all these things ! Here is an example from the 
expresser format  

<action time="1341964056913">
    <actiontype classification="USER_INTERACTION" type="CREATE_ELEMENT" succeeded="UNKNOWN" />
    <user id="eXpresser" role="originator" />
    <user id="Lasad8090" ip="1234567890123" role="receiver" />
    <object id="0" type="element">
        <properties>
            <property name="USERNAME" value="LKLMM" />
            <property name="CHALLENGE_ID" value="2" />
            <property name="CHALLENGE_NAME" value="eXpresser Metafora Scenario" />
            <property name="ELEMENT_TYPE" value="MY_MICROWORLD" />
            <property name="TOOL" value="EXPRESSER" />
            <property name="VIEW_URL" value="http://web-expresser.appspot.com/?metafora=1&ptNodeId=QUgtMS1KdWx5MTJfbm9kZV8x&ptMap=QUgtMS1KdWx5MTI%3D&user=LKLMM&challengeId=2&challengeName=eXpresser%20Metafora%20Scenario&testServer=false&collaborate=1&logging=0&indicatorPosting=0&time=1341847771246955476&thumbnail=150x90" />
            <property name="REFERENCE_URL" value="http://web-expresser.appspot.com/?metafora=1&VersionQuery=1&copy=http%3A%2F%2Fweb-expresser.appspot.com%2Fp%2FQUgtMS1KdWx5MTI%3D%2FQUgtMS1KdWx5MTJfbm9kZV8x.xml%3Ftime%3D1341847771246955476" />
            <property name="TEXT" value="" />
        </properties>
    </object>
</action>

Original comment by mavrikis@gmail.com on 11 Jul 2012 at 6:24

GoogleCodeExporter commented 9 years ago
If we want to have self-contained referable objects usable in indiactors and 
commands, it would be natural to pack everything characterising the RefObj 
inside the "object" element.

All the info that is needed for adressing and processing (e.g. the LASAD 
receiver) should be kept outside because this belongs to the current usage of 
the RefObj, but not to the object itself.

I propose to include the originator (tool), and maybe (to be discussed) the 
user creating the object.

Original comment by andihar...@web.de on 16 Jul 2012 at 3:20

GoogleCodeExporter commented 9 years ago
Yes. Good points. That's exactly how the format is now. Both the user creating 
the object and the originator are there (see the example that I posted). 

Original comment by mavrikis@gmail.com on 16 Jul 2012 at 3:25

GoogleCodeExporter commented 9 years ago
Do we plan to finalise and close this issue for the Y2 milestone? If yes I 
think we should label it appropriately so it doesn't fall through the cracks 
and that we do minimal changes to cover what we discussed.

The conclusion from the meeting two weeks ago was that referable objects will 
be in a node  <object type="ReferableObject">. We will move the user's name out 
of there to the <action> node. Next, the name of the properties is left to be 
specified/decided for each use of the referable object but generally VIEW_URL 
and REFERENCE_URL are the ones that make sense for both lasad and discussion. 

The issue of allowing values to have CDATA content was brought up again 
especially in relation to text as encoding the text in value has shown to be 
problematic. We had agreed that this was possible if I remember right.   

Are there any other related aspects?

Original comment by mavrikis@gmail.com on 25 Jul 2012 at 1:55

GoogleCodeExporter commented 9 years ago
The test system now creates referable objects in the Metafora chat when 
receiving the CREATE_REFERABLE_OBJECT XML format upon which was agreed in the 
tech. meeting. To create a referable object in the test system, please set in 
the content property:

<property name="RECEIVING_TOOL" value="METAFORA_TEST"/>

You can explore it by right clicking on a Planning Tool card (test system) and 
selecting "post to chat". A referable object in the Metafora chat will be 
created.

Original comment by kerstinp...@yahoo.de on 16 Aug 2012 at 12:14