SlideShare a Scribd company logo
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

η μοβ ομπρέλα, κλεώπα ελ.
η μοβ ομπρέλα, κλεώπα ελ.η μοβ ομπρέλα, κλεώπα ελ.
η μοβ ομπρέλα, κλεώπα ελ.
Σταυριανάκη Νίκη
 
الحركة الإنتقالية الثانوي الإعدادي 2016
الحركة الإنتقالية الثانوي الإعدادي 2016الحركة الإنتقالية الثانوي الإعدادي 2016
الحركة الإنتقالية الثانوي الإعدادي 2016
CMCF(Centre Maroco-Coréen de Formation en TICE)
 
Акции и уникальные предложения №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
 
Dpa perubahan 1
Dpa perubahan 1Dpa perubahan 1
Dpa perubahan 1
Hendra Sirait
 
Etika bisnis
Etika bisnisEtika bisnis
Etika bisnis
Rietz Wiguna
 
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 surveys
jessiekeegan
 
Realisasi anggaran
Realisasi anggaranRealisasi anggaran
Realisasi anggaran
Hendra Sirait
 
Healthy living
Healthy livingHealthy living
Healthy living
Linda Holdsworth-Baker
 
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

Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 

Recently uploaded (20)

Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 

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