The document discusses the evolution of wikis from Wiki 1.0, which had independent objects and fine-grained access control but no global state, to Wiki 3.0, which aims to have both global state and fine-grained access control. It presents a data model used by the software Cyclopath that tracks revisions at the level of the entire database rather than individual objects. This allows editing history to be maintained across multiple articles and for revisions to atomically change multiple objects.
The document appears to be a fake Facebook profile page for a user named Manson Phu. It includes biographical information about Manson such as his birthday, hometown, relationship status, political and religious views, interests and favorite movies, music, books and TV shows. It also includes posts by Manson expressing his views that the US needs changes now including cutting foreign spending and bringing awareness to homelessness. The page also features photos of Manson and allows other users to message or poke him.
Crown Mfg. Co., Inc. is a plastic injection molding company founded in 1959 with a 70,000 square foot facility in Newark, California. They have 14 mold presses ranging from 110 to 530 tons and provide plastic injection molding, tooling design and build, and assembly and distribution services. Crown offers services like overmolding, insert molding, and full turnkey solutions to industries like automotive, communications, computer, food and beverage, industrial, medical, and security.
Ben Gran gave a talk to freshmen at Iowa State University on how to get the most out of college (and prepare for their careers) by "thinking like entrepreneurs."
A video of the speech is available here: http://www.youtube.com/watch?v=PLfFzwMUhPs
Contact Ben Gran: benjamin.gran@gmail.com
www.BenjaminGran.com
This document discusses how Rakuten utilizes growing data sources. It notes that Rakuten Ichiba transaction and item data is growing to over 160 million. It then outlines how Rakuten analyzes trends in this data to better understand customer demand, discover event-related needs, and improve services through applications like keyword suggestion and attribute extraction from item pages. The goal is to organize and further analyze this data across Rakuten services for useful insights.
Each service provider can develop their own intellectual property for their offers and take it with them if they leave ViM People to compete. ViM People retains a non-exclusive license to continue using any intellectual property if other members are actively trained and using it. Pre-existing trade secrets or processes brought into ViM People do not require compensation, while existing trademarks, copyrights, or patents will have local branches create processes for integrating them.
The document appears to be a fake Facebook profile page for a user named Manson Phu. It includes biographical information about Manson such as his birthday, hometown, relationship status, political and religious views, interests and favorite movies, music, books and TV shows. It also includes posts by Manson expressing his views that the US needs changes now including cutting foreign spending and bringing awareness to homelessness. The page also features photos of Manson and allows other users to message or poke him.
Crown Mfg. Co., Inc. is a plastic injection molding company founded in 1959 with a 70,000 square foot facility in Newark, California. They have 14 mold presses ranging from 110 to 530 tons and provide plastic injection molding, tooling design and build, and assembly and distribution services. Crown offers services like overmolding, insert molding, and full turnkey solutions to industries like automotive, communications, computer, food and beverage, industrial, medical, and security.
Ben Gran gave a talk to freshmen at Iowa State University on how to get the most out of college (and prepare for their careers) by "thinking like entrepreneurs."
A video of the speech is available here: http://www.youtube.com/watch?v=PLfFzwMUhPs
Contact Ben Gran: benjamin.gran@gmail.com
www.BenjaminGran.com
This document discusses how Rakuten utilizes growing data sources. It notes that Rakuten Ichiba transaction and item data is growing to over 160 million. It then outlines how Rakuten analyzes trends in this data to better understand customer demand, discover event-related needs, and improve services through applications like keyword suggestion and attribute extraction from item pages. The goal is to organize and further analyze this data across Rakuten services for useful insights.
Each service provider can develop their own intellectual property for their offers and take it with them if they leave ViM People to compete. ViM People retains a non-exclusive license to continue using any intellectual property if other members are actively trained and using it. Pre-existing trade secrets or processes brought into ViM People do not require compensation, while existing trademarks, copyrights, or patents will have local branches create processes for integrating them.
Dokumen tersebut membahas tentang etika bisnis dan teori-teori etika yang berkaitan dengan bisnis, seperti etika deontologi, etika teleologi, dan etika utilitarianisme. Secara khusus, dibahas pula prinsip-prinsip etika bisnis seperti prinsip kejujuran, keadilan, dan saling menguntungkan serta pendekatan stakeholder dalam bisnis.
The document summarizes the results of a questionnaire about preferences for a new music magazine. The majority of respondents were female aged 16-22 who preferred rock, indie, pop, or R&B music. Most respondents favored black and white or blue and white color schemes. They were interested in interviews, gig listings, and a monthly publication at a price of £3.00. This provided insights into the target audience and features to include in the new magazine.
This document provides information on leading a healthy lifestyle. It discusses the importance of eating a balanced diet with plenty of fruits and vegetables, staying hydrated by drinking water, getting regular physical activity, getting enough sleep, and maintaining a healthy weight. The key aspects of healthy living emphasized are eating in moderation, drinking water as your main beverage, being physically active for at least 60 minutes per day, balancing exercise and calorie intake, and focusing on overall wellness and balance in all life habits.
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...Ruben LLumihucci
Se realizó un estudio detallado de un depósito único de huesos de caballo en Cedral, San Luis Potosí, centro de México. Se usaron caracteres morfológicos y morfométricos, así como análisis estadísticos bivariantes y multivariantes de los restos del cráneo y del esqueleto postcraneal y se compararon con restos de otras localidades del Pleistoceno mexicano. Se suministran las medidas del material estudiado así como la estimación de la masa corporal de cada una de las especies. Tres especies de caba- llo están representadas en varios depósitos del Pleistoceno superior de México, correspondientes a la edad de mamíferos Rancholabreana, los cuales pueden haber sido contemporáneos: un caballo de gran tamaño Equus mexicanus Hibbard, 1955 conocido desde la porción occidental de Estados Unidos de América hasta México y América Central; un caballo de tamaño mediano ampliamente distribuido Equus conversidens Owen, 1869 que se encuentra en la mayor parte de América del Norte y Central; y un nuevo caballo de pequeño tamaño Equus cedralensis sp. nov., conocido hasta ahora sólo en localidades mexicanas. El conocimiento de la presencia conjunta de estas tres especies en el Pleistoceno tardío de México (género Equus sp.) es importante para entender los modelos de diversidad y extinción en los primeros tiempos de la presencia humana en el continente. Adicionalmente, se proponen algunas inferencias ambientales, pero se requerirá de más estudios para ponerlas a prueba.
Palabras clave: taxonomía; Equus; especie nueva; Pleistoceno Tardío; México; Cedral.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Dokumen tersebut membahas tentang etika bisnis dan teori-teori etika yang berkaitan dengan bisnis, seperti etika deontologi, etika teleologi, dan etika utilitarianisme. Secara khusus, dibahas pula prinsip-prinsip etika bisnis seperti prinsip kejujuran, keadilan, dan saling menguntungkan serta pendekatan stakeholder dalam bisnis.
The document summarizes the results of a questionnaire about preferences for a new music magazine. The majority of respondents were female aged 16-22 who preferred rock, indie, pop, or R&B music. Most respondents favored black and white or blue and white color schemes. They were interested in interviews, gig listings, and a monthly publication at a price of £3.00. This provided insights into the target audience and features to include in the new magazine.
This document provides information on leading a healthy lifestyle. It discusses the importance of eating a balanced diet with plenty of fruits and vegetables, staying hydrated by drinking water, getting regular physical activity, getting enough sleep, and maintaining a healthy weight. The key aspects of healthy living emphasized are eating in moderation, drinking water as your main beverage, being physically active for at least 60 minutes per day, balancing exercise and calorie intake, and focusing on overall wellness and balance in all life habits.
2014 REVISTA MEXICANA DE CIENCIAS GEOLÓGICAS - Study of Cedral Horses and the...Ruben LLumihucci
Se realizó un estudio detallado de un depósito único de huesos de caballo en Cedral, San Luis Potosí, centro de México. Se usaron caracteres morfológicos y morfométricos, así como análisis estadísticos bivariantes y multivariantes de los restos del cráneo y del esqueleto postcraneal y se compararon con restos de otras localidades del Pleistoceno mexicano. Se suministran las medidas del material estudiado así como la estimación de la masa corporal de cada una de las especies. Tres especies de caba- llo están representadas en varios depósitos del Pleistoceno superior de México, correspondientes a la edad de mamíferos Rancholabreana, los cuales pueden haber sido contemporáneos: un caballo de gran tamaño Equus mexicanus Hibbard, 1955 conocido desde la porción occidental de Estados Unidos de América hasta México y América Central; un caballo de tamaño mediano ampliamente distribuido Equus conversidens Owen, 1869 que se encuentra en la mayor parte de América del Norte y Central; y un nuevo caballo de pequeño tamaño Equus cedralensis sp. nov., conocido hasta ahora sólo en localidades mexicanas. El conocimiento de la presencia conjunta de estas tres especies en el Pleistoceno tardío de México (género Equus sp.) es importante para entender los modelos de diversidad y extinción en los primeros tiempos de la presencia humana en el continente. Adicionalmente, se proponen algunas inferencias ambientales, pero se requerirá de más estudios para ponerlas a prueba.
Palabras clave: taxonomía; Equus; especie nueva; Pleistoceno Tardío; México; Cedral.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
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
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
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
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
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
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
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
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
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