SlideShare a Scribd company logo
1 of 136
Download to read offline
Wiki Grows Up:
Arbitrary Data Models, Access Control, and Beyond

a talk by

Reid Priedhorsky
IBM T.J. Watson Research Center
Collaborative User Experience Group

WikiSym 2011
Wiki Grows Up:
Arbitrary Data Models, Access Control, and Beyond

a talk by

Reid Priedhorsky
IBM T.J. Watson Research Center
Collaborative User Experience Group

WikiSym 2011
a wiki map for bicyclists




2
why I’m here




3
why I’m here


               3 objects




3
why I’m here


                           3 objects




          private object




3
why I’m here


                                3 objects




          private object

               ‣ratings
               ‣shared layers


3
why I’m here


                                3 objects




                   doing both is hard




          private object

               ‣ratings
               ‣shared layers


3
it’s hard because of undo




    Felipe can edit objects A and B
    Andrea can edit object A but not B




4
it’s hard because of undo




    Felipe can edit objects A and B
    Andrea can edit object A but not B
    1. Felipe saves a revision N of A and B




4
it’s hard because of undo




    Felipe can edit objects A and B
    Andrea can edit object A but not B
    1. Felipe saves a revision N of A and B
    2. Andrea wishes to revert N.




4
it’s hard because of undo




    Felipe can edit objects A and B
    Andrea can edit object A but not B
    1. Felipe saves a revision N of A and B
    2. Andrea wishes to revert N.
    3. #fail :-(


4
talk outline



    Wiki 1.0            – per-object state
    Wikipedia, et al.   + fine-grained access control


    Wiki 2.0            + global state
    Cyclopath now       – no fine-grained access control


    Wiki 3.0            + global state
    Cyclopath future    + fine-grained access control



5
talk outline
                independent objects

    Wiki 1.0            – per-object state
    Wikipedia, et al.   + fine-grained access control


    Wiki 2.0            + global state
    Cyclopath now       – no fine-grained access control


    Wiki 3.0            + global state
    Cyclopath future    + fine-grained access control



5
talk outline



    Wiki 1.0             – per-object state
    Wikipedia, et al.    + fine-grained access control
                arbitrary data
    Wiki 2.0             + global state
    Cyclopath now        – no fine-grained access control


    Wiki 3.0             + global state
    Cyclopath future     + fine-grained access control



5
talk outline



    Wiki 1.0             – per-object state
    Wikipedia, et al.    + fine-grained access control
                arbitrary data           like real version
    Wiki 2.0             + global state  control software

    Cyclopath now        – no fine-grained access control


    Wiki 3.0             + global state
    Cyclopath future     + fine-grained access control



5
talk outline



    Wiki 1.0            – per-object state
    Wikipedia, et al.   + fine-grained access control


    Wiki 2.0            + global state
    Cyclopath now       – no fine-grained access control


    Wiki 3.0            + global state
    Cyclopath future    + fine-grained access control


                arbitrary data + good access control
5
talk outline



    Wiki 1.0            – per-object state
    Wikipedia, et al.   + fine-grained access control


    Wiki 2.0            + global state
    Cyclopath now       – no fine-grained access control


    Wiki 3.0            + global state
    Cyclopath future    + fine-grained access control



6
editing history of two articles




                              Article
    Name       Ver. Text
    Cat          1   Cats are mammals.
    Cat          2   Cats are cute mammals.
    Mouse        1   Mice have pointy noses.
    Cat          3   Cats are cute mammals with whiskers.
    Mouse        2   Mice have pointy noses that wiggle.



7
editing history of two articles




                              Article
    Name       Ver. Text
    Cat          1   Cats are mammals.
    Cat          2   Cats are cute mammals.
    Mouse        1   Mice have pointy noses.
    Cat          3   Cats are cute mammals with whiskers.
    Mouse        2   Mice have pointy noses that wiggle.



7
editing history of two articles




                              Article
    Name       Ver. Text
    Cat          1   Cats are mammals.
    Cat          2   Cats are cute mammals.
    Mouse        1   Mice have pointy noses.
    Cat          3   Cats are cute mammals with whiskers.
    Mouse        2   Mice have pointy noses that wiggle.



7
editing history of two articles




                              Article
    Name       Ver. Text
    Cat          1   Cats are mammals.
    Cat          2   Cats are cute mammals.
    Mouse        1   Mice have pointy noses.
    Cat          3   Cats are cute mammals with whiskers.
    Mouse        2   Mice have pointy noses that wiggle.



7
editing history of two articles




                              Article
    Name       Ver. Text
    Cat          1   Cats are mammals.
    Cat          2   Cats are cute mammals.
    Mouse        1   Mice have pointy noses.
    Cat          3   Cats are cute mammals with whiskers.
    Mouse        2   Mice have pointy noses that wiggle.



7
editing history of two articles




                              Article
    Name       Ver. Text
    Cat          1   Cats are mammals.
    Cat          2   Cats are cute mammals.
    Mouse        1   Mice have pointy noses.
    Cat          3   Cats are cute mammals with whiskers.
    Mouse        2   Mice have pointy noses that wiggle.



7
editing history of two articles




                              Article
    Name       Ver. Text
    Cat          1   Cats are mammals.
    Cat          2   Cats are cute mammals.
    Mouse        1   Mice have pointy noses.
    Cat          3   Cats are cute mammals with whiskers.
    Mouse        2   Mice have pointy noses that wiggle.


                  unit of revision = one object
7
editing history of two articles
                ‣ Each object has independent state & history
                ‣ No well-defined global state

                ‣ Multiple edits can’t be saved atomically
                              Article
    Name       Ver. Text
    Cat             1   Cats are mammals.
    Cat             2   Cats are cute mammals.
    Mouse           1   Mice have pointy noses.
    Cat             3   Cats are cute mammals with whiskers.
    Mouse           2   Mice have pointy noses that wiggle.


                    unit of revision = one object
7
critical operation: undo

    An undo that is undone forms a no-op.




8
three ways to undo work in wikis




9
three ways to undo work in wikis




    1. Manual editing




9
three ways to undo work in wikis




    1. Manual editing
    2. Revert offending revision N
    ... copy revision N – 1 and save it as a new revision
    ... destroys all work after N too




9
three ways to undo work in wikis




    1. Manual editing
    2. Revert offending revision N
    ... copy revision N – 1 and save it as a new revision
    ... destroys all work after N too

    3. Reverse-merge offending revision N



9
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)



                                   Article
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)



                                   Article
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)



                                   Article
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)



                                   Article
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)



                                   Article
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)


                                         remove cute from between
                                   Article and mammals
                                         are
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)


                                         remove cute from between
                                   Article and mammals
                                         are
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)


                                         remove cute from between
                                   Article and mammals
                                         are
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.



10
Reverse-merging revision 2 of article “Cat”
(Wikipedia calls this “undo”.)


                                         remove cute from between
                                   Article and mammals
                                         are
     Name           Ver. Text
     Cat              1     Cats are mammals.
     Cat              2     Cats are cute mammals.
     Mouse            1     Mice have pointy noses.
     Cat              3     Cats are cute mammals with whiskers.
     Mouse            2     Mice have pointy noses that wiggle.
     Cat              4     Cats are mammals with whiskers.

             reverse-merge + reverse-merge = no-op
10
access control in traditional wikis




11
access control in Wiki 1.0



     Basic model: access control lists (ACLs)
     ... e.g., each “thing” has lists of who can do what

     Even Wikipedia uses ACLs
     ... e.g., ACL for editing most articles is “everyone”
     ... e.g., for protected articles it’s “all administrators”

     Natural granularity is one article
     Thus: unit of access control is one object
     ... i.e., unit of access control ≥ unit of revision


12
the point

     Traditional wikis have mature undo and
      fine-grained access control, but lack
            global state management.



13
talk outline



     Wiki 1.0            – per-object state         ✓
     Wikipedia, et al.   + fine-grained access control


     Wiki 2.0            + global state
     Cyclopath now       – no fine-grained access control


     Wiki 3.0            + global state
     Cyclopath future    + fine-grained access control



14
data model overview


                      Edge




         Note                  Point




                      Region




15
data model overview


                       Edge




         Note         Revision   Point




                      Region




15
data model overview


                            Edge
all versioning is
controlled by this table


         Note              Revision   Point




                           Region




15
data model overview


                                Edge
all versioning is
controlled by this table


         Note                 Revision                Point




                              Region


             unit of revision = entire database
         at every instant, there is a well-defined global state
15
Editing history of three articles




                               Article
 ID Ver. VSR VBR Del? Name          Text




16
Editing history of three articles




                               Article
 ID Ver. VSR VBR Del? Name          Text


     identifier (integer)




16
Editing history of three articles




                               Article
 ID Ver. VSR VBR Del? Name          Text


         version (integer)




16
Editing history of three articles


                    “valid before revision”
                               Article
 ID Ver. VSR VBR Del? Name          Text


              “valid starting revision”




16
Editing history of three articles




                               Article
 ID Ver. VSR VBR Del? Name          Text


                         deleted flag (boolean)




16
Editing history of three articles

                   Revision 21: Create “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞     no Mouse Mice have pointy noses.




17
Editing history of three articles

                   Revision 21: Create “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞     no Mouse Mice have pointy noses.




17
Editing history of three articles

                   Revision 21: Create “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞     no Mouse Mice have pointy noses.




17
Editing history of three articles

                   Revision 21: Create “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞     no Mouse Mice have pointy noses.




17
Editing history of three articles

                   Revision 21: Create “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞     no Mouse Mice have pointy noses.




17
Editing history of three articles

                   Revision 21: Create “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞     no Mouse Mice have pointy noses.




17
Editing history of three articles

                   Revision 21: Create “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞     no Mouse Mice have pointy noses.




17
Editing history of three articles

               Revision 22: Create “Cat” and “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21    ∞   no Mouse Mice have pointy noses.
66   1    22    ∞   no Cat          Cats are mammals.
77   1    22    ∞   no Dog          Dogs smell funny.




18
Editing history of three articles

               Revision 22: Create “Cat” and “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21    ∞   no Mouse Mice have pointy noses.
66   1    22    ∞   no Cat          Cats are mammals.
77   1    22    ∞   no Dog          Dogs smell funny.




18
Editing history of three articles

               Revision 22: Create “Cat” and “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21    ∞   no Mouse Mice have pointy noses.
66   1    22    ∞   no Cat          Cats are mammals.
77   1    22    ∞   no Dog          Dogs smell funny.




18
Editing history of three articles

               Revision 22: Create “Cat” and “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21    ∞   no Mouse Mice have pointy noses.
66   1    22    ∞   no Cat          Cats are mammals.
77   1    22    ∞   no Dog          Dogs smell funny.




18
Editing history of three articles

               Revision 22: Create “Cat” and “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21    ∞   no Mouse Mice have pointy noses.
66   1    22    ∞   no Cat          Cats are mammals.
77   1    22    ∞   no Dog          Dogs smell funny.




18
Editing history of three articles

               Revision 22: Create “Cat” and “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21    ∞   no Mouse Mice have pointy noses.
66   1    22    ∞   no Cat          Cats are mammals.
77   1    22    ∞   no Dog          Dogs smell funny.




18
Editing history of three articles

         Revision 23: Alter text of “Cat” and “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞    no Mouse Mice have pointy noses.
66   1    22   ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles

         Revision 23: Alter text of “Cat” and “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞    no Mouse Mice have pointy noses.
66   1    22   ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles

         Revision 23: Alter text of “Cat” and “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞    no Mouse Mice have pointy noses.
66   1    22   ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles

         Revision 23: Alter text of “Cat” and “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞    no Mouse Mice have pointy noses.
66   1    22   ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles

         Revision 23: Alter text of “Cat” and “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞    no Mouse Mice have pointy noses.
66   1    22   ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles

         Revision 23: Alter text of “Cat” and “Mouse”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞
               23   no Mouse Mice have pointy noses.
66   1    22   23
               ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles
                                              r21 / 8:01 pm
                                                  ‣

                                            ‣ r22 / 8:30 pm
         Revision 23: Alter text of “Cat” and “Mouse”pm
                                            ‣ r23 / 8:47


                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞
               23   no Mouse Mice have pointy noses.
66   1    22   23
               ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles
                                              r21 / 8:01 pm
                                                  ‣

                                            ‣ r22 / 8:30 pm
         Revision 23: Alter text of “Cat” and “Mouse”pm
                                            ‣ r23 / 8:47


                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞
               23   no Mouse Mice have pointy noses.
66   1    22   23
               ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles
                                              r21 / 8:01 pm
                                                  ‣

                                            ‣ r22 / 8:30 pm
         Revision 23: Alter text of “Cat” and “Mouse”pm
     valid from 8:01:00.000                 ‣ r23 / 8:47
              to 8:46:59.999
                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   ∞
               23   no Mouse Mice have pointy noses.
66   1    22   23
               ∞    no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.




19
Editing history of three articles

         Revision 24: Alter text of “Cat”, delete “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   23   no Mouse Mice have pointy noses.
66   1    22   23   no Cat          Cats are mammals.
77   1    22   ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   ∞    no Cat          Cats are cute mammals.
66   3    24   ∞    no Cat          Cats are cute mammals with whiskers.
77   2    24   ∞    yes —           —


20
Editing history of three articles

         Revision 24: Alter text of “Cat”, delete “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   23   no Mouse Mice have pointy noses.
66   1    22   23   no Cat          Cats are mammals.
77   1    22   24
               ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   24
               ∞    no Cat          Cats are cute mammals.
66   3    24   ∞    no Cat          Cats are cute mammals with whiskers.
77   2    24   ∞    yes —           —


20
Editing history of three articles

         Revision 24: Alter text of “Cat”, delete “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   23   no Mouse Mice have pointy noses.
66   1    22   23   no Cat          Cats are mammals.
77   1    22   24
               ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   24
               ∞    no Cat          Cats are cute mammals.
66   3    24   ∞    no Cat          Cats are cute mammals with whiskers.
77   2    24   ∞    yes —           —


20
Editing history of three articles

         Revision 24: Alter text of “Cat”, delete “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   23   no Mouse Mice have pointy noses.
66   1    22   23   no Cat          Cats are mammals.
77   1    22   24
               ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   24
               ∞    no Cat          Cats are cute mammals.
66   3    24   ∞    no Cat          Cats are cute mammals with whiskers.
77   2    24   ∞    yes —           —


20
Editing history of three articles

         Revision 24: Alter text of “Cat”, delete “Dog”

                               Article
 ID Ver. VSR VBR Del? Name          Text
55   1    21   23   no Mouse Mice have pointy noses.
66   1    22   23   no Cat          Cats are mammals.
77   1    22   24
               ∞    no Dog          Dogs smell funny.
55   2    23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2    23   24
               ∞    no Cat          Cats are cute mammals.
66   3    24   ∞    no Cat          Cats are cute mammals with whiskers.
77   2    24   ∞    yes —           —


20
undoing work under global state




21
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
                                            remove that wiggle
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
                                            remove that wiggle
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
                                            remove that wiggle
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25

                                                  remove cute
                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25

                                                  remove cute
                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25

                                                  remove cute
                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞
              25   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞
              25   no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
Reverse-merge revision 23, creating revision 25


                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞
              25   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞
              25   no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —
55   3   25   ∞    no Mouse Mice have pointy noses.
66   4   25   ∞    no Cat     Cats are mammals with whiskers.

22
           (see paper & backup slides for revert)
undoing under global state management




     Keep “undo that is undone = no-op”
     Generally: More complicated because
     the data is more complex
     ... see paper for details
     ... (Cyclopath does not do reverse-merge)

     But, no big deal


23
the point

     Now we have global state management.

                       but:

     unit of access control = unit of revision
      (i.e., the whole database); too coarse.

24
talk outline



     Wiki 1.0            – per-object state         ✓
     Wikipedia, et al.   + fine-grained access control


     Wiki 2.0            + global state             ✓
     Cyclopath now       – no fine-grained access control


     Wiki 3.0            + global state
     Cyclopath future    + fine-grained access control



25
talk outline



     Wiki 1.0              – per-object state                 ✓
     Wikipedia, et al.     + fine-grained access control


     Wiki 2.0              + global state                     ✓
     Cyclopath now         – no fine-grained access control


     Wiki 3.0              + global state
     Cyclopath future      + fine-grained access control

                ‣ unit of access control < unit of revision
                ‣ meta access control

25
problem: undo



                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —


26
problem: undo



                             Article
 ID Ver. VSR VBR Del? Name    Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat     Cats are mammals.
77   1   22   24   no Dog     Dogs smell funny.
55   2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat     Cats are cute mammals.
66   3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77   2   24   ∞    yes —      —


26
problem: undo
     Felipe can edit “Cat” and “Mouse” → no problem


                               Article
 ID Ver. VSR VBR Del? Name      Text
55     1   21   23   no Mouse Mice have pointy noses.
66     1   22   23   no Cat     Cats are mammals.
77     1   22   24   no Dog     Dogs smell funny.
55     2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66     2   23   24   no Cat     Cats are cute mammals.
66     3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77     2   24   ∞    yes —      —


26
problem: undo
     Felipe can edit “Cat” and “Mouse” → no problem
     Andrea can edit “Cat” but not “Mouse” → problem
                               Article
 ID Ver. VSR VBR Del? Name      Text
55     1   21   23   no Mouse Mice have pointy noses.
66     1   22   23   no Cat     Cats are mammals.
77     1   22   24   no Dog     Dogs smell funny.
55     2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66     2   23   24   no Cat     Cats are cute mammals.
66     3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77     2   24   ∞    yes —      —


26
problem: undo
     Felipe can edit “Cat” and “Mouse” → no problem
     Andrea can edit “Cat” but not “Mouse” → problem
                               Article
 ID Ver. VSR VBR Del? Name      Text
55     1   21   23   no Mouse Mice have pointy noses.
66     1   22   23   no Cat     Cats are mammals.
77     1   22   24   no Dog     Dogs smell funny.
55     2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66     2   23   24   no Cat     Cats are cute mammals.
66     3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77     2   24   ∞    yes —      —

                      Solution: partial undo
26
problem: undo
     Felipe can edit “Cat” and “Mouse” → no problem
     Andrea can edit “Cat” but not “Mouse” → problem
                               Article
 ID Ver. VSR VBR Del? Name      Text
55     1   21   23   no Mouse Mice have pointy noses.
66     1   22   23   no Cat     Cats are mammals.
77     1   22   24   no Dog     Dogs smell funny.
55     2   23   ∞    no Mouse Mice have pointy noses that wiggle.
66     2   23   24   no Cat     Cats are cute mammals.
66     3   24   ∞    no Cat     Cats are cute mammals with whiskers.
77     2   24   ∞    yes —      —

                      Solution: partial undo
26
                      Andrea reverts just “Cat”
partial undo to enable unit of access control < unit of revision



     Old: Undo entire revision or nothing at all
     New: Undo only part of a revision
     ... i.e., undo changes to objects I have access to

     Keep: “undo that is undone = no-op”
     ... iff second undo is a complete undo

     Need UI support to reduce confusion
     ... e.g., warn if introducing potential for partial undo
     ... e.g., special “completify undo” operation


27
meta access control

     i.e., constraints on
     access control lists




28
use cases from Cyclopath



     Public base map
     ... edges of transportation network must be public

     Private watch regions
     ... regions can be public or private

     Rate anything that can be seen, privately
     ... force ratings to be private
     ... allow rating anything, even if can’t edit other attributes

     Shared private layers
     ... force objects to have same permissions as the layer

29
implementation overview



     Databases + recursion = ☹
     ... i.e., best to make access decision with just one lookup

     Each Cyclopath object has 4 ACLs
     ... viewing, searching, editing, changing access
     ... implemented w/ standard optimizations

     That’s basic access control
     Meta access control gives rules defining
     valid ACL content

30                              basic/meta model from Dewan & Shen, 1998
the point

 With partial undo and both basic & meta
access control, wikis can implement both
global state management and fine-grained
              access control.



31
talk outline



     Wiki 1.0            – per-object state         ✓
     Wikipedia, et al.   + fine-grained access control


     Wiki 2.0            + global state             ✓
     Cyclopath now       – no fine-grained access control


     Wiki 3.0            + global state             ✓
     Cyclopath future    + fine-grained access control



32
I’ve described ways to make wikis
             less simple and less open.

     Have we lost the spirit of the wiki model?




33
The 3 fundamental properties of the wiki model




34
The 3 fundamental properties of the wiki model



     1. Inverted publishing model
     ... review after publication, not before




34
The 3 fundamental properties of the wiki model



     1. Inverted publishing model
     ... review after publication, not before

     2. Maximally open access
     ... whenever reasonable, anyone can change anything
     ... minimize e.g. unfriendly UI, unfriendly culture




34
The 3 fundamental properties of the wiki model



     1. Inverted publishing model
     ... review after publication, not before

     2. Maximally open access
     ... whenever reasonable, anyone can change anything
     ... minimize e.g. unfriendly UI, unfriendly culture

     3. Transparent changes
     ... everyone can see who is changing what
     ... recent changes lists, watching, diffing
     ... enables meta-work (notably, undoing bad edits)


34
the point

     Our radical new collaboration model, the
     wiki, has great promise in many domains.

      Why limit ourselves to relatively
 unstructured data or contexts with simple
          access control needs?

35
the end
Reid Priedhorsky and Loren Terveen


reid@reidster.net
http://reidster.net/research/
Cyclopath revisions




37
Cyclopath revisions




in example:
26 edges, 9 notes




37
Cyclopath revisions




in example:
26 edges, 9 notes
of 13k revisions:
60% alter graph
65% alter >1 object




37
Reverting revision 2 of article “Cat”



                              Article
     Name      Ver. Text
     Cat        1    Cats are mammals.
     Cat        2    Cats are cute mammals.
     Mouse      1    Mice have pointy noses.
     Cat        3    Cats are cute mammals with whiskers.
     Mouse      2    Mice have pointy noses that wiggle.
     Cat        4    Cats are mammals.



38
Reverting revision 2 of article “Cat”



                              Article
     Name      Ver. Text
     Cat        1    Cats are mammals.
     Cat        2    Cats are cute mammals.
     Mouse      1    Mice have pointy noses.
     Cat        3    Cats are cute mammals with whiskers.
     Mouse      2    Mice have pointy noses that wiggle.
     Cat        4    Cats are mammals.



38
Reverting revision 2 of article “Cat”



                              Article
     Name      Ver. Text
     Cat        1    Cats are mammals.
     Cat        2    Cats are cute mammals.
     Mouse      1    Mice have pointy noses.
     Cat        3    Cats are cute mammals with whiskers.
     Mouse      2    Mice have pointy noses that wiggle.
     Cat        4    Cats are mammals.



38
Reverting revision 2 of article “Cat”



                              Article
     Name      Ver. Text
     Cat        1    Cats are mammals.
     Cat        2    Cats are cute mammals.
     Mouse      1    Mice have pointy noses.
     Cat        3    Cats are cute mammals with whiskers.
     Mouse      2    Mice have pointy noses that wiggle.
     Cat        4    Cats are mammals.



38
Reverting revision 2 of article “Cat”



                              Article
     Name      Ver. Text
     Cat        1    Cats are mammals.
     Cat        2    Cats are cute mammals.
     Mouse      1    Mice have pointy noses.
     Cat        3    Cats are cute mammals with whiskers.
     Mouse      2    Mice have pointy noses that wiggle.
     Cat        4    Cats are mammals.



38
Reverting revision 2 of article “Cat”



                              Article
     Name      Ver. Text
     Cat        1    Cats are mammals.
     Cat        2    Cats are cute mammals.
     Mouse      1    Mice have pointy noses.
     Cat        3    Cats are cute mammals with whiskers.
     Mouse      2    Mice have pointy noses that wiggle.
     Cat        4    Cats are mammals.



38
Reverting revision 2 of article “Cat”



                              Article
     Name      Ver. Text
     Cat        1    Cats are mammals.
     Cat        2    Cats are cute mammals.
     Mouse      1    Mice have pointy noses.
     Cat        3    Cats are cute mammals with whiskers.
     Mouse      2    Mice have pointy noses that wiggle.
     Cat        4    Cats are mammals.



38
Reverting revision 23, creating revision 25



                             Article
 ID Ver. VSR VBR Del? Name     Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat      Cats are mammals.
77   1   22   24   no Dog      Dogs smell funny.
55   2   23    ∞   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat      Cats are cute mammals.
66   3   24    ∞   no Cat      Cats are cute mammals with whiskers.
77   2   24    ∞   yes —       —
55   3   25    ∞   no Mouse Mice have pointy noses.
66   4   25    ∞   no Cat      Cats are mammals.
39
Reverting revision 23, creating revision 25



                             Article
 ID Ver. VSR VBR Del? Name     Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat      Cats are mammals.
77   1   22   24   no Dog      Dogs smell funny.
55   2   23    ∞   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat      Cats are cute mammals.
66   3   24    ∞   no Cat      Cats are cute mammals with whiskers.
77   2   24    ∞   yes —       —
55   3   25    ∞   no Mouse Mice have pointy noses.
66   4   25    ∞   no Cat      Cats are mammals.
39
Reverting revision 23, creating revision 25



                             Article
 ID Ver. VSR VBR Del? Name     Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat      Cats are mammals.
77   1   22   24   no Dog      Dogs smell funny.
55   2   23    ∞   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat      Cats are cute mammals.
66   3   24    ∞   no Cat      Cats are cute mammals with whiskers.
77   2   24    ∞   yes —       —
55   3   25    ∞   no Mouse Mice have pointy noses.
66   4   25    ∞   no Cat      Cats are mammals.
39
Reverting revision 23, creating revision 25



                             Article
 ID Ver. VSR VBR Del? Name     Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat      Cats are mammals.
77   1   22   24   no Dog      Dogs smell funny.
55   2   23    ∞   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat      Cats are cute mammals.
66   3   24    ∞   no Cat      Cats are cute mammals with whiskers.
77   2   24    ∞   yes —       —
55   3   25    ∞   no Mouse Mice have pointy noses.
66   4   25    ∞   no Cat      Cats are mammals.
39
Reverting revision 23, creating revision 25



                             Article
 ID Ver. VSR VBR Del? Name     Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat      Cats are mammals.
77   1   22   24   no Dog      Dogs smell funny.
55   2   23    ∞   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat      Cats are cute mammals.
66   3   24    ∞   no Cat      Cats are cute mammals with whiskers.
77   2   24    ∞   yes —       —
55   3   25    ∞   no Mouse Mice have pointy noses.
66   4   25    ∞   no Cat      Cats are mammals.
39
Reverting revision 23, creating revision 25



                             Article
 ID Ver. VSR VBR Del? Name     Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat      Cats are mammals.
77   1   22   24   no Dog      Dogs smell funny.
55   2   23    ∞   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat      Cats are cute mammals.
66   3   24    ∞   no Cat      Cats are cute mammals with whiskers.
77   2   24    ∞   yes —       —
55   3   25    ∞   no Mouse Mice have pointy noses.
66   4   25    ∞   no Cat      Cats are mammals.
39
Reverting revision 23, creating revision 25



                             Article
 ID Ver. VSR VBR Del? Name     Text
55   1   21   23   no Mouse Mice have pointy noses.
66   1   22   23   no Cat      Cats are mammals.
77   1   22   24   no Dog      Dogs smell funny.
55   2   23   ∞
              25   no Mouse Mice have pointy noses that wiggle.
66   2   23   24   no Cat      Cats are cute mammals.
66   3   24   ∞
              25   no Cat      Cats are cute mammals with whiskers.
77   2   24    ∞   yes —       —
55   3   25    ∞   no Mouse Mice have pointy noses.
66   4   25    ∞   no Cat      Cats are mammals.
39

More Related Content

Viewers also liked

Акции и уникальные предложения №4 2012 ORIFLAME2
Акции и уникальные предложения №4 2012 ORIFLAME2Акции и уникальные предложения №4 2012 ORIFLAME2
Акции и уникальные предложения №4 2012 ORIFLAME2ngespss02
 
Kronika Świetlicy 2011/2012 semestr 2 cz.1
Kronika Świetlicy 2011/2012 semestr 2 cz.1Kronika Świetlicy 2011/2012 semestr 2 cz.1
Kronika Świetlicy 2011/2012 semestr 2 cz.1sp11bialystok
 
Mobile phones strictly allowed article
Mobile phones strictly allowed articleMobile phones strictly allowed article
Mobile phones strictly allowed articleLearn Politics
 
บทที่7
บทที่7บทที่7
บทที่7Phuntita
 
Pie charts from surveys
Pie charts from surveysPie charts from surveys
Pie charts from surveysjessiekeegan
 
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...Ruben LLumihucci
 

Viewers also liked (17)

1
11
1
 
Dpa
DpaDpa
Dpa
 
η μοβ ομπρέλα, κλεώπα ελ.
η μοβ ομπρέλα, κλεώπα ελ.η μοβ ομπρέλα, κλεώπα ελ.
η μοβ ομπρέλα, κλεώπα ελ.
 
الحركة الإنتقالية الثانوي الإعدادي 2016
الحركة الإنتقالية الثانوي الإعدادي 2016الحركة الإنتقالية الثانوي الإعدادي 2016
الحركة الإنتقالية الثانوي الإعدادي 2016
 
Акции и уникальные предложения №4 2012 ORIFLAME2
Акции и уникальные предложения №4 2012 ORIFLAME2Акции и уникальные предложения №4 2012 ORIFLAME2
Акции и уникальные предложения №4 2012 ORIFLAME2
 
1
11
1
 
Kronika Świetlicy 2011/2012 semestr 2 cz.1
Kronika Świetlicy 2011/2012 semestr 2 cz.1Kronika Świetlicy 2011/2012 semestr 2 cz.1
Kronika Świetlicy 2011/2012 semestr 2 cz.1
 
Dpa perubahan 1
Dpa perubahan 1Dpa perubahan 1
Dpa perubahan 1
 
Etika bisnis
Etika bisnisEtika bisnis
Etika bisnis
 
온라인Pr
온라인Pr온라인Pr
온라인Pr
 
Mobile phones strictly allowed article
Mobile phones strictly allowed articleMobile phones strictly allowed article
Mobile phones strictly allowed article
 
บทที่7
บทที่7บทที่7
บทที่7
 
Pie charts from surveys
Pie charts from surveysPie charts from surveys
Pie charts from surveys
 
Farsund digitalworkshop
Farsund digitalworkshopFarsund digitalworkshop
Farsund digitalworkshop
 
Realisasi anggaran
Realisasi anggaranRealisasi anggaran
Realisasi anggaran
 
Healthy living
Healthy livingHealthy living
Healthy living
 
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

reidpr.wikisym.201110

  • 1. Wiki Grows Up: Arbitrary Data Models, Access Control, and Beyond a talk by Reid Priedhorsky IBM T.J. Watson Research Center Collaborative User Experience Group WikiSym 2011
  • 2. Wiki Grows Up: Arbitrary Data Models, Access Control, and Beyond a talk by Reid Priedhorsky IBM T.J. Watson Research Center Collaborative User Experience Group WikiSym 2011
  • 3. a wiki map for bicyclists 2
  • 5. why I’m here 3 objects 3
  • 6. why I’m here 3 objects private object 3
  • 7. why I’m here 3 objects private object ‣ratings ‣shared layers 3
  • 8. why I’m here 3 objects doing both is hard private object ‣ratings ‣shared layers 3
  • 9. it’s hard because of undo Felipe can edit objects A and B Andrea can edit object A but not B 4
  • 10. it’s hard because of undo Felipe can edit objects A and B Andrea can edit object A but not B 1. Felipe saves a revision N of A and B 4
  • 11. it’s hard because of undo Felipe can edit objects A and B Andrea can edit object A but not B 1. Felipe saves a revision N of A and B 2. Andrea wishes to revert N. 4
  • 12. it’s hard because of undo Felipe can edit objects A and B Andrea can edit object A but not B 1. Felipe saves a revision N of A and B 2. Andrea wishes to revert N. 3. #fail :-( 4
  • 13. talk outline Wiki 1.0 – per-object state Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control 5
  • 14. talk outline independent objects Wiki 1.0 – per-object state Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control 5
  • 15. talk outline Wiki 1.0 – per-object state Wikipedia, et al. + fine-grained access control arbitrary data Wiki 2.0 + global state Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control 5
  • 16. talk outline Wiki 1.0 – per-object state Wikipedia, et al. + fine-grained access control arbitrary data like real version Wiki 2.0 + global state control software Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control 5
  • 17. talk outline Wiki 1.0 – per-object state Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control arbitrary data + good access control 5
  • 18. talk outline Wiki 1.0 – per-object state Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control 6
  • 19. editing history of two articles Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. 7
  • 20. editing history of two articles Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. 7
  • 21. editing history of two articles Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. 7
  • 22. editing history of two articles Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. 7
  • 23. editing history of two articles Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. 7
  • 24. editing history of two articles Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. 7
  • 25. editing history of two articles Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. unit of revision = one object 7
  • 26. editing history of two articles ‣ Each object has independent state & history ‣ No well-defined global state ‣ Multiple edits can’t be saved atomically Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. unit of revision = one object 7
  • 27. critical operation: undo An undo that is undone forms a no-op. 8
  • 28. three ways to undo work in wikis 9
  • 29. three ways to undo work in wikis 1. Manual editing 9
  • 30. three ways to undo work in wikis 1. Manual editing 2. Revert offending revision N ... copy revision N – 1 and save it as a new revision ... destroys all work after N too 9
  • 31. three ways to undo work in wikis 1. Manual editing 2. Revert offending revision N ... copy revision N – 1 and save it as a new revision ... destroys all work after N too 3. Reverse-merge offending revision N 9
  • 32. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 33. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 34. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 35. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 36. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 37. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) remove cute from between Article and mammals are Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 38. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) remove cute from between Article and mammals are Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 39. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) remove cute from between Article and mammals are Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. 10
  • 40. Reverse-merging revision 2 of article “Cat” (Wikipedia calls this “undo”.) remove cute from between Article and mammals are Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals with whiskers. reverse-merge + reverse-merge = no-op 10
  • 41. access control in traditional wikis 11
  • 42. access control in Wiki 1.0 Basic model: access control lists (ACLs) ... e.g., each “thing” has lists of who can do what Even Wikipedia uses ACLs ... e.g., ACL for editing most articles is “everyone” ... e.g., for protected articles it’s “all administrators” Natural granularity is one article Thus: unit of access control is one object ... i.e., unit of access control ≥ unit of revision 12
  • 43. the point Traditional wikis have mature undo and fine-grained access control, but lack global state management. 13
  • 44. talk outline Wiki 1.0 – per-object state ✓ Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control 14
  • 45. data model overview Edge Note Point Region 15
  • 46. data model overview Edge Note Revision Point Region 15
  • 47. data model overview Edge all versioning is controlled by this table Note Revision Point Region 15
  • 48. data model overview Edge all versioning is controlled by this table Note Revision Point Region unit of revision = entire database at every instant, there is a well-defined global state 15
  • 49. Editing history of three articles Article ID Ver. VSR VBR Del? Name Text 16
  • 50. Editing history of three articles Article ID Ver. VSR VBR Del? Name Text identifier (integer) 16
  • 51. Editing history of three articles Article ID Ver. VSR VBR Del? Name Text version (integer) 16
  • 52. Editing history of three articles “valid before revision” Article ID Ver. VSR VBR Del? Name Text “valid starting revision” 16
  • 53. Editing history of three articles Article ID Ver. VSR VBR Del? Name Text deleted flag (boolean) 16
  • 54. Editing history of three articles Revision 21: Create “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 17
  • 55. Editing history of three articles Revision 21: Create “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 17
  • 56. Editing history of three articles Revision 21: Create “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 17
  • 57. Editing history of three articles Revision 21: Create “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 17
  • 58. Editing history of three articles Revision 21: Create “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 17
  • 59. Editing history of three articles Revision 21: Create “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 17
  • 60. Editing history of three articles Revision 21: Create “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 17
  • 61. Editing history of three articles Revision 22: Create “Cat” and “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 18
  • 62. Editing history of three articles Revision 22: Create “Cat” and “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 18
  • 63. Editing history of three articles Revision 22: Create “Cat” and “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 18
  • 64. Editing history of three articles Revision 22: Create “Cat” and “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 18
  • 65. Editing history of three articles Revision 22: Create “Cat” and “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 18
  • 66. Editing history of three articles Revision 22: Create “Cat” and “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 18
  • 67. Editing history of three articles Revision 23: Alter text of “Cat” and “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 68. Editing history of three articles Revision 23: Alter text of “Cat” and “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 69. Editing history of three articles Revision 23: Alter text of “Cat” and “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 70. Editing history of three articles Revision 23: Alter text of “Cat” and “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 71. Editing history of three articles Revision 23: Alter text of “Cat” and “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ no Mouse Mice have pointy noses. 66 1 22 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 72. Editing history of three articles Revision 23: Alter text of “Cat” and “Mouse” Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ 23 no Mouse Mice have pointy noses. 66 1 22 23 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 73. Editing history of three articles r21 / 8:01 pm ‣ ‣ r22 / 8:30 pm Revision 23: Alter text of “Cat” and “Mouse”pm ‣ r23 / 8:47 Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ 23 no Mouse Mice have pointy noses. 66 1 22 23 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 74. Editing history of three articles r21 / 8:01 pm ‣ ‣ r22 / 8:30 pm Revision 23: Alter text of “Cat” and “Mouse”pm ‣ r23 / 8:47 Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ 23 no Mouse Mice have pointy noses. 66 1 22 23 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 75. Editing history of three articles r21 / 8:01 pm ‣ ‣ r22 / 8:30 pm Revision 23: Alter text of “Cat” and “Mouse”pm valid from 8:01:00.000 ‣ r23 / 8:47 to 8:46:59.999 Article ID Ver. VSR VBR Del? Name Text 55 1 21 ∞ 23 no Mouse Mice have pointy noses. 66 1 22 23 ∞ no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 19
  • 76. Editing history of three articles Revision 24: Alter text of “Cat”, delete “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 ∞ no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 20
  • 77. Editing history of three articles Revision 24: Alter text of “Cat”, delete “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 ∞ no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 20
  • 78. Editing history of three articles Revision 24: Alter text of “Cat”, delete “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 ∞ no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 20
  • 79. Editing history of three articles Revision 24: Alter text of “Cat”, delete “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 ∞ no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 20
  • 80. Editing history of three articles Revision 24: Alter text of “Cat”, delete “Dog” Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 ∞ no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 ∞ no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 20
  • 81. undoing work under global state 21
  • 82. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 83. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 84. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 85. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 86. Reverse-merge revision 23, creating revision 25 Article remove that wiggle ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 87. Reverse-merge revision 23, creating revision 25 Article remove that wiggle ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 88. Reverse-merge revision 23, creating revision 25 Article remove that wiggle ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 89. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 90. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 91. Reverse-merge revision 23, creating revision 25 remove cute Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 92. Reverse-merge revision 23, creating revision 25 remove cute Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 93. Reverse-merge revision 23, creating revision 25 remove cute Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 94. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 95. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ 25 no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ 25 no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22
  • 96. Reverse-merge revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ 25 no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ 25 no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals with whiskers. 22 (see paper & backup slides for revert)
  • 97. undoing under global state management Keep “undo that is undone = no-op” Generally: More complicated because the data is more complex ... see paper for details ... (Cyclopath does not do reverse-merge) But, no big deal 23
  • 98. the point Now we have global state management. but: unit of access control = unit of revision (i.e., the whole database); too coarse. 24
  • 99. talk outline Wiki 1.0 – per-object state ✓ Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state ✓ Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control 25
  • 100. talk outline Wiki 1.0 – per-object state ✓ Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state ✓ Cyclopath now – no fine-grained access control Wiki 3.0 + global state Cyclopath future + fine-grained access control ‣ unit of access control < unit of revision ‣ meta access control 25
  • 101. problem: undo Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 26
  • 102. problem: undo Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 26
  • 103. problem: undo Felipe can edit “Cat” and “Mouse” → no problem Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 26
  • 104. problem: undo Felipe can edit “Cat” and “Mouse” → no problem Andrea can edit “Cat” but not “Mouse” → problem Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 26
  • 105. problem: undo Felipe can edit “Cat” and “Mouse” → no problem Andrea can edit “Cat” but not “Mouse” → problem Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — Solution: partial undo 26
  • 106. problem: undo Felipe can edit “Cat” and “Mouse” → no problem Andrea can edit “Cat” but not “Mouse” → problem Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — Solution: partial undo 26 Andrea reverts just “Cat”
  • 107. partial undo to enable unit of access control < unit of revision Old: Undo entire revision or nothing at all New: Undo only part of a revision ... i.e., undo changes to objects I have access to Keep: “undo that is undone = no-op” ... iff second undo is a complete undo Need UI support to reduce confusion ... e.g., warn if introducing potential for partial undo ... e.g., special “completify undo” operation 27
  • 108. meta access control i.e., constraints on access control lists 28
  • 109. use cases from Cyclopath Public base map ... edges of transportation network must be public Private watch regions ... regions can be public or private Rate anything that can be seen, privately ... force ratings to be private ... allow rating anything, even if can’t edit other attributes Shared private layers ... force objects to have same permissions as the layer 29
  • 110. implementation overview Databases + recursion = ☹ ... i.e., best to make access decision with just one lookup Each Cyclopath object has 4 ACLs ... viewing, searching, editing, changing access ... implemented w/ standard optimizations That’s basic access control Meta access control gives rules defining valid ACL content 30 basic/meta model from Dewan & Shen, 1998
  • 111. the point With partial undo and both basic & meta access control, wikis can implement both global state management and fine-grained access control. 31
  • 112. talk outline Wiki 1.0 – per-object state ✓ Wikipedia, et al. + fine-grained access control Wiki 2.0 + global state ✓ Cyclopath now – no fine-grained access control Wiki 3.0 + global state ✓ Cyclopath future + fine-grained access control 32
  • 113. I’ve described ways to make wikis less simple and less open. Have we lost the spirit of the wiki model? 33
  • 114. The 3 fundamental properties of the wiki model 34
  • 115. The 3 fundamental properties of the wiki model 1. Inverted publishing model ... review after publication, not before 34
  • 116. The 3 fundamental properties of the wiki model 1. Inverted publishing model ... review after publication, not before 2. Maximally open access ... whenever reasonable, anyone can change anything ... minimize e.g. unfriendly UI, unfriendly culture 34
  • 117. The 3 fundamental properties of the wiki model 1. Inverted publishing model ... review after publication, not before 2. Maximally open access ... whenever reasonable, anyone can change anything ... minimize e.g. unfriendly UI, unfriendly culture 3. Transparent changes ... everyone can see who is changing what ... recent changes lists, watching, diffing ... enables meta-work (notably, undoing bad edits) 34
  • 118. the point Our radical new collaboration model, the wiki, has great promise in many domains. Why limit ourselves to relatively unstructured data or contexts with simple access control needs? 35
  • 119. the end Reid Priedhorsky and Loren Terveen reid@reidster.net http://reidster.net/research/
  • 122. Cyclopath revisions in example: 26 edges, 9 notes of 13k revisions: 60% alter graph 65% alter >1 object 37
  • 123. Reverting revision 2 of article “Cat” Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals. 38
  • 124. Reverting revision 2 of article “Cat” Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals. 38
  • 125. Reverting revision 2 of article “Cat” Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals. 38
  • 126. Reverting revision 2 of article “Cat” Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals. 38
  • 127. Reverting revision 2 of article “Cat” Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals. 38
  • 128. Reverting revision 2 of article “Cat” Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals. 38
  • 129. Reverting revision 2 of article “Cat” Article Name Ver. Text Cat 1 Cats are mammals. Cat 2 Cats are cute mammals. Mouse 1 Mice have pointy noses. Cat 3 Cats are cute mammals with whiskers. Mouse 2 Mice have pointy noses that wiggle. Cat 4 Cats are mammals. 38
  • 130. Reverting revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals. 39
  • 131. Reverting revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals. 39
  • 132. Reverting revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals. 39
  • 133. Reverting revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals. 39
  • 134. Reverting revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals. 39
  • 135. Reverting revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals. 39
  • 136. Reverting revision 23, creating revision 25 Article ID Ver. VSR VBR Del? Name Text 55 1 21 23 no Mouse Mice have pointy noses. 66 1 22 23 no Cat Cats are mammals. 77 1 22 24 no Dog Dogs smell funny. 55 2 23 ∞ 25 no Mouse Mice have pointy noses that wiggle. 66 2 23 24 no Cat Cats are cute mammals. 66 3 24 ∞ 25 no Cat Cats are cute mammals with whiskers. 77 2 24 ∞ yes — — 55 3 25 ∞ no Mouse Mice have pointy noses. 66 4 25 ∞ no Cat Cats are mammals. 39