Wiki: DebugInfo: MultiuserSyntaxHighlightTracking


Detailed view of a page, which is probably more useful for debugging than anything else.

Querying backend directly for 'MultiuserSyntaxHighlightTracking'

get_pagedata('MultiuserSyntaxHighlightTracking')
 _cached_html 
transformedtext Object
(
    [_type] => pagetype_wikitext Object
        (
        )

    [_basepage] => MultiuserSyntaxHighlightTracking
    [_content] => Array
        (
            [0] => <div class="wikitext"><p class="tightenable top">This topic's parent is 
            [1] => cached_wikilink Object
                (
                    [_page] => TunnelDataInCommands
                )

            [2] => .</p>
<p class="tightenable">An integral part of how edits are shown to a user is how to keep track of which parts of the changed text are the work of which human editor participating in the group editing session.</p>
<p class="tightenable">Some kind of syntax-like commands (perhaps a custom methodology) and highlight commands (easy to define with vimscript) will be used to show which human editor has last changed a particular text.</p>
<p class="tightenable">Existing mechanisms in the vimscript command syntax use &quot;match&quot; type and/or &quot;region&quot; type syntax definitions.  These feel inadequate in the case of overlapping edits and edits over time, yet it does depend on the way the updating is done.  If edits are transferred on a per character basis, a string of characters should extend a region or match, not a whole bunch of regions/matches with one character each.  Also the timing of when the edits come in to a user's Vim client will either require the highlights to overlap based on time.</p>
<p class="tightenable">Another implementation strategy might be a sparse array for the buffer's characters, updated to show who edited which character last.  This overlay would contain tokens for each editor of each character position.  Highlighting would simply be making the characters the right color.  While this may not track all the richness of editing history, it may simplify storage and implementation, keeping only the history information that will actually be used for display.</p>
<p class="tightenable bottom">Once the method for tracking edits is understood, configuration to give a color to each of several connected clients/human editors/users should be configurable.  Highlight commands can be used.  Any data entered remotely will highlight until the end of the editing session.  Perhaps an additional user interface and some kind of legend (perhaps using another buffer) could be provided to associate colors with actual users.</p>
</div>

        )

    [_description] => Existing mechanisms in the vimscript command syntax use "match" type and/or "region" type syntax definitions.  These feel inadequate in the case of overlapping edits and edits over time, yet it does depend on the way the updating is done.  If edits are transferred on a per character basis, a string of characters should extend a region or match, not a whole bunch of regions/matches with one character each.  Also the timing of when the edits come in to a user's Vim client will either require the highlights to overlap based on time.
)
 hits  1755
get_versiondata('MultiuserSyntaxHighlightTracking',12)
 %content  This topic's parent is TunnelDataInComma ...
 author  71.209.98.23
 author_id  71.209.98.23
 is_minor_edit   
 markup  2
 mtime  1187028747
 pagetype  wikitext
 summary  Revert (spam)
get_versiondata('MultiuserSyntaxHighlightTracking',11)
 %content  This topic's parent is TunnelDataInComma ...
 _supplanted  1187028747
 author  WikiWord
 author_id  WikiWord
 is_minor_edit   
 markup  2
 mtime  1186703496
 pagetype  wikitext
get_versiondata('MultiuserSyntaxHighlightTracking',10)
 %content  This topic's parent is TunnelDataInComma ...
 _supplanted  1186703496
 author  WikiWord
 author_id  WikiWord
 is_minor_edit   
 markup  2
 mtime  1186703488
 pagetype  wikitext
get_versiondata('MultiuserSyntaxHighlightTracking',9)
 %content  This topic's parent is TunnelDataInComma ...
 _supplanted  1186703488
 author  WikiWord
 author_id  WikiWord
 is_minor_edit   
 markup  2
 mtime  1184016564
 pagetype  wikitext
get_versiondata('MultiuserSyntaxHighlightTracking',5)
 %content  This topic's parent is TunnelDataInComma ...
 _supplanted  1183078186
 author  GrantBow
 author_id  GrantBow
 is_minor_edit  1
 markup  2
 mtime  1084303600
 pagetype  wikitext

Copyright © 2007 RobertMelton.com