Parallelism and Conflicting Changes in Git Version Control Systems Hoai Le Nguyen, Claudia-Lavinia Ignat

Total Page:16

File Type:pdf, Size:1020Kb

Parallelism and Conflicting Changes in Git Version Control Systems Hoai Le Nguyen, Claudia-Lavinia Ignat Parallelism and conflicting changes in Git version control systems Hoai Le Nguyen, Claudia-Lavinia Ignat To cite this version: Hoai Le Nguyen, Claudia-Lavinia Ignat. Parallelism and conflicting changes in Git version control systems. IWCES’17 - The Fifteenth International Workshop on Collaborative Editing Systems , Feb 2017, Portland, Oregon, United States. hal-01588482 HAL Id: hal-01588482 https://hal.inria.fr/hal-01588482 Submitted on 16 Sep 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Parallelism and conflicting changes in Git version control systems Hoai Le Nguyen Claudia-Lavinia Ignat Universite´ de Lorraine, F-54000 Inria, F-54600 Inria, F-54600 Universite´ de Lorraine, F-54000 CNRS, F-54500 CNRS, F-54500 [email protected] [email protected] ABSTRACT facilitates detection of a certain problem or recovering of Version control systems such as Git support parallel collabo- deleted contributions. rative work and became very widespread in the open-source As a version control system supports parallel work on the community. While Git oers some very interesting features, same documents, it has to oer support for synchronization resolving collaborative conicts that arise during synchro- of parallel changes on those documents. Version control nization of parallel changes is a time-consuming task. In this systems can be classied into centralized version control paper we present an analysis of concurrency and conicts in systems (CVCSs) and decentralized version control systems ocial Git repository of four projects: Rails, IkiWiki, Samba (DVCSs). and Linux Kernel. We also analyze how oen users decide to CVCSs such as CVS[1] and Subversion[5] rely on a client- rollback to previous document version when the integration server architecture. e server keeps a complete history of process results in conict. Finally, we discuss the mechanism versions while clients keep only a local copy of the shared adopted by Git to consider changes made on two continuous documents. Users can modify in parallel their local copy lines as conicting. of the shared documents and synchronize with the central server in order to publish their contributions and make them CCS CONCEPTS visible to the other collaborators. is work mode is called •Human-centered computing →Empirical studies in copy-modify-merge paradigm. collaborative and social computing; •So ware and its DVCSs such as Git[8], Mercurial[14] and Darcs[6] became engineering →So ware conguration management and popular around 2005. ese systems rely on a peer-to-peer version control systems; architecture where each client keeps the history of versions plus a local copy of the shared documents. Users can work in KEYWORDS isolation on their local repositories. ey can also synchro- version control systems, parallel work, conicts nize their local repository with the ones of other collabora- tors. Actually, in practice, the core-development-team will 1 INTRODUCTION organize at least one repository as the primary repository where the latest approved changes can be found. Contribu- Computer supported collaboration is an increasingly com- tors can clone from this ocial repository. However, only mon occurrence that becomes mandatory in academia and the core-development-team has the write-access to commit industry where the members of a team are distributed across directly. Other contributors need to use the pull-based devel- organizations and work at dierent moments of time. Ver- opment model in which a contributor creates a pull-request sion control systems are popular tools that support parallel for his changes. A core-team’s member then inspects the work over shared projects. ese systems keep a history of changes and decides to pull and merge contributor’s changes versions of the documents published by users. ese docu- to the main repository or not. And in some cases, contribu- ment versions have associated meta-data such as publication tors are requested to update or add more changes before their date, author and short description of the modications which pull-request is accepted. Nowadays, the pull-based model is Permission to make digital or hard copies of part or all of this work for naturally supported by web-based hosting services such as personal or classroom use is granted without fee provided that copies are GitHub [9] and Bitbucket [3]. not made or distributed for prot or commercial advantage and that copies Even if CVCSs are largely used in academia and indus- bear this notice and the full citation on the rst page. Copyrights for third- try they feature some limitations due to their centralized party components of this work must be honored. For all other uses, contact the owner/author(s). architecture: they oer a limited scalability and limited fault IWCES’17, Portland, Oregon, USA tolerance, administration costs are not shared and data cen- © 2017 Copyright held by the owner/author(s). tralization in the hands of a single vendor is an inherent IWCES’17, February 2017, Portland, Oregon, USA Hoai Le Nguyen and Claudia-Lavinia Ignat threat to privacy. On the other side, DVCSs overcome these with the same name. e study found out that only about limitations of centralized architectures. eir peer-to-peer 0.0035% of all updates made to non-directory les resulted architecture allows them supporting a large number of users in conicts and among them less than one third could not and tolerating faults. Each user keeps a copy of the history be resolved automatically. Authors mentioned that conicts and decides with whom to share it without storing it on a cen- that cannot be resolved automatically are any update/update tral server. ese features made DVCSs widely used in the concurrent changes on source code or text les as they have domain of open soware development where projects have arbitrary semantics and therefore require user intervention. oen a large number of contributors. Parallelism of activities Note that in contrast to the denition of conicts used in is very important for supporting collaboration, but merging [16], in the terminology of version control systems two up- dierent parallel contributions might require a signicant dates done on the same le (source code or textual) lead period of time which can alter the productivity gain. to non-automatically resolved conicts only if the updates Our objective is to study the parallelism of activities in refer to the same line in the le. All update/remove conicts a DVCS such as Git[8]. In Git, users can synchronize their required human intervention and about 0.018% of all naming changes with other users working in parallel with them. In conicts led to name conicts which have to be resolved by this process, a merge is performed between local changes humans. and remote changes. If concurrent changes refer to the same In [15], the authors presented a study about parallel changes le, we say that these changes are conicting. Conicts on in the context of a large soware development organiza- a le can be automatically resolved or they need user inter- tion and project. e study analyses the complete change vention for their resolution. We call the former category and quality history of a subsystem of the Lucent Technolo- automatically resolved conicts and the laer category un- gies’ 5ESS over a period of 12 years. Each set of change resolved conicts. If conicting changes refer to to dierent requests representing all or part of a solution to a problem non-adjacent lines of the le, the conict is automatically re- was recorded by the system. When a change from this set solved by the system. If, on the contrary, conicting changes was made on a le, the system kept track of the lines added, refer to the same or adjacent lines of the le, the conict edited or deleted. is set of changes composes a delta. It cannot be automatically resolved and the user has to man- was found that 12.5% of all deltas were made to the same le ually resolve it. Unresolved conicts also occur if a le is by dierent developers within a day. 3% of all these deltas renamed and modied/deleted concurrently, if it is modied made within a day by dierent developers physically over- and deleted concurrently, if it is renamed concurrently by lap. However, interference of these deltas is analyzed over a two users, if a user renames a le with the same name as quite large period of time (1 day) and not all these deltas are another user gives to a concurrently created le and if two performed concurrently. users concurrently add two les with the same name. In [19] authors investigated four large open-source projects Understanding how oen conicts happen and how users (GCC, JBOSS, JEDIT and PYTHON) and found that in CVS resolve conicts can help proposing a merging mechanism the integration rate is very low (between 0.26% and 0.54%), that minimizes conicts that users have to manually resolve. and the conict rate is between 23% and 47%. ey indicated e rest of the paper is organized as follows. In Section that the parallel changes within single les (integration) are 2 we explain briey related works. Section 3 presents our rare and have small impact to the development process. How- measurements of conicts during merge process. Section 4 ever, they frequently aect the same location and can not be discusses about some limitations of analyzing Git reposito- integrated automatically by CVS.
Recommended publications
  • Assignment of Master's Thesis
    ASSIGNMENT OF MASTER’S THESIS Title: Git-based Wiki System Student: Bc. Jaroslav Šmolík Supervisor: Ing. Jakub Jirůtka Study Programme: Informatics Study Branch: Web and Software Engineering Department: Department of Software Engineering Validity: Until the end of summer semester 2018/19 Instructions The goal of this thesis is to create a wiki system suitable for community (software) projects, focused on technically oriented users. The system must meet the following requirements: • All data is stored in a Git repository. • System provides access control. • System supports AsciiDoc and Markdown, it is extensible for other markup languages. • Full-featured user access via Git and CLI is provided. • System includes a web interface for wiki browsing and management. Its editor works with raw markup and offers syntax highlighting, live preview and interactive UI for selected elements (e.g. image insertion). Proceed in the following manner: 1. Compare and analyse the most popular F/OSS wiki systems with regard to the given criteria. 2. Design the system, perform usability testing. 3. Implement the system in JavaScript. Source code must be reasonably documented and covered with automatic tests. 4. Create a user manual and deployment instructions. References Will be provided by the supervisor. Ing. Michal Valenta, Ph.D. doc. RNDr. Ing. Marcel Jiřina, Ph.D. Head of Department Dean Prague January 3, 2018 Czech Technical University in Prague Faculty of Information Technology Department of Software Engineering Master’s thesis Git-based Wiki System Bc. Jaroslav Šmolík Supervisor: Ing. Jakub Jirůtka 10th May 2018 Acknowledgements I would like to thank my supervisor Ing. Jakub Jirutka for his everlasting interest in the thesis, his punctual constructive feedback and for guiding me, when I found myself in the need for the words of wisdom and experience.
    [Show full text]
  • Customization of an Enterprise Request Management System
    ISSN (Online) 2393-8021 ISSN (Print) 2394-1588 International Advanced Research Journal in Science, Engineering and Technology Vol. 2, Issue 2, February 2015 Customization of an Enterprise request Management System 1 2 3 4 Ashna Shah , Chinmay Balutkar , Bhargavee Singh , Rajesh. B. Singh Student, Computer Department, Sinhgad Institute Of technology, Lonavala, India 1,2,3 Associate Professor, Computer Department, Sinhgad Institute Of technology, Lonavala, India4 Abstract: Information provided in issue reports are relevant and complete in order to help resolve issues quickly. However, often such information trickles to developers after several iterations of communication between End user and reporters. This paper addresses the concerns of Customization of an Enterprise management system by proposing for handling of the issues such as bugs, query and enhancements. As a proof-of-concept, we also demonstrate a prototype interactive enterprise request management system that gathers relevant information from the user and identifies files that need to be fixed to resolve the issues. The main contribution of this application is in the domain of business as we are developing Enterprise request Management System. Keywords: Bugs, Issues, query, enhancement. I. INTRODUCTION The use of Enterprise Request Management Systems as a to the issue and again will report the issue to the reporter. tool to organize maintenance activities is widespread. The Developer then will handle the issues and will fix them. systems serve as a central repository for monitoring the This system will help to manage the issues in the business progress of issue reports, requesting additional information domain by fixing them. The issues might be a bug, query from reporters, and discussing potential solutions for or the enhancement.
    [Show full text]
  • Research Article Constrained Wiki: the Wikiway to Validating Content
    Hindawi Publishing Corporation Advances in Human-Computer Interaction Volume 2012, Article ID 893575, 19 pages doi:10.1155/2012/893575 Research Article Constrained Wiki: The WikiWay to Validating Content Angelo Di Iorio,1 Francesco Draicchio,1 Fabio Vitali,1 and Stefano Zacchiroli2 1 Department of Computer Science, University of Bologna, Mura Anteo Zamboni 7, 40127 Bologna, Italy 2 Universit´e Paris Diderot, Sorbonne Paris Cit´e, PPS, UMR 7126, CNRS, F-75205 Paris, France Correspondence should be addressed to Angelo Di Iorio, [email protected] Received 9 June 2011; Revised 20 December 2011; Accepted 3 January 2012 Academic Editor: Kerstin S. Eklundh Copyright © 2012 Angelo Di Iorio et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. The “WikiWay” is the open editing philosophy of wikis meant to foster open collaboration and continuous improvement of their content. Just like other online communities, wikis often introduce and enforce conventions, constraints, and rules for their content, but do so in a considerably softer way, expecting authors to deliver content that satisfies the conventions and the constraints, or, failing that, having volunteers of the community, the WikiGnomes, fix others’ content accordingly. Constrained wikis is our generic framework for wikis to implement validators of community-specific constraints and conventions that preserve the WikiWay and their open collaboration features. To this end, specific requirements need to be observed by validators and a specific software architecture can be used for their implementation, that is, as independent functions (implemented as internal modules or external services) used in a nonintrusive way.
    [Show full text]
  • E-BUG TRACKING SYSTEM GUIDE: Mrs
    E-BUG TRACKING SYSTEM GUIDE: Mrs. Sathya Priya R1 R.B. Babu2, R. Marimuthu3, G. Gowtham4, V. Prakash5 1Assistant Professor, KSR Institute for Engineering and Technology, Tiruchengode. 2,3,4,5Department of Computer Science And Engineering, KSR Institute for Engineering and Technology, Tiruchengode. ABSTRACT This is the world of information. The ever-growing field Information Technology has its many advanced notable features which made it what it was now today. In this world, the information has to be processed, clearly distributed and must be efficiently reachable to the end users intended for that. Otherwise, we know it led to disastrous situations. The other coin of the same phase is it is absolutely necessary to know any bugs that are hither-to face by the end users. The project “e-bug tracking system” aims to provide the solution for that. The Bug Tracker can be made from any two types. The first one being the system side, the other being the services side. Our project deals with the second one. The paper is wholly dedicated to tracking the bugs that are hither- by arise. The administrator maintains the master details regarding to the bugs id, bugs type, bugs description, bugs severity, bugs status, user details. The administrator too has the authority to update the master details of severity level, status level, etc, modules of the paper. The administrator adds the users and assign them responsibility of completing the paper. Finally, on analysing the paper assigned to the particular user, the administrator can track the bugs, and it is automatically added to the tables containing the bugs, by order of severity and status.
    [Show full text]
  • A Library Oriented Wiki Engine (Talk)
    AmuseWiki: a library oriented wiki engine (talk) Marco Pessotto (melmothX) September 3, 2015, Granada . How does it look like? . Scenario Digital library with more than 2000 texts, including full-length books Long term archiving (not fire and forget texts), control revision Quality output required (read: LaTeX output) Imposing of PDF for home-printing EPUB output for mobile devices Preference for a flat file storage (like ikiwiki or MoinMoin) Creation of collections (like on mediawiki) One-man project . The lightweight markup No standard, even if Markdown seems to be the winner (but with dialects) Emacs Muse: project kind of dead, but the markup is compact and expressive, documented, and has a reference implementation. https://www.gnu.org/software/emacs-muse/ Some incompatibilities have been introduced, but they are documented (to address corner cases where the syntax can be confusing). Bottom line: all these markups are easy to use and it takes 5 minutes to learn one of them, as long as it is documented. Our own dialect of Emacs Muse Manual: http://www.amusewiki.org/library/manual Module: Text::Amuse (produces LaTeX and HTML) Ill-suited for technical papers, though. No math support, no syntax highlight, but well-suited for general prose and even poetry. It has every feature one could expect from a lightweight markup: images, sectioning, footnotes, simple tables, bold, italics, subscript, superscript, lists, verbatim, quotations. So far proved itself good and expressive. Importing Legacy library had the texts in filtered HTML People usually have the texts in Word format or copy and paste from HTML pages The javascript HTML editor CKEditor has a “paste from Word” feature http://ckeditor.com/ Need to convert the HTML to Muse, preserving as much as possible the logical structure of the document (and discarding the noise).
    [Show full text]
  • Organising Sysadmin Documentation Jon Dowland Information Systems and Services Newcastle University Overview
    organising sysadmin documentation Jon Dowland Information Systems and Services Newcastle University Overview • History and first attempt • Findings • Next generation • Conclusion History and first attempt Introduction • Newcastle University o ~4,800 staff; ~20,000 students • Information Systems and Services o ~160 people • Diverse ecosystem ISS UNIX Team small, 5 people widely varying age and experience responsibilities system administration and infrastructure higher-level (user-facing) services sister teams: networks, windows, SAP legacy systems Inherited situation directory full of text files categorization by directory lots of out-of-date information lots of undocumented stuff What do we keep in there? • Procedure documents • HOWTOs Existing experience • wikipedia editing • webteam-based mediawiki hosting service • version control (CVS, SVN) First-cut requirements • import existing data • support reviewing material • version control • online • multimedia • integrated with SSO Mediawiki Mediawiki • <http://www.mediawiki.org/> • powers wikipedia • LAMP • GPL (v2) • CMS SSO integration Shibboleth SSO software <http://shibboleth.internet2.edu/> mediawiki Shibboleth plugin <http://www.mediawiki.org/wiki/Extension:Shibboleth_Authentication> Apache configured with mod_shibd AuthType shibboleth ShibRequireSession On require eppn [email protected] ... Mediawiki markup • simple • proprietary Categories a tagging mechanism adding the following to the 'Sandbox' page [[Category: Example]] yields the page 'Category:Example' Importing data • one
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Stardas Pakalnis) • the Contextit Project
    Streamspin: Mobile Services for The Masses Christian S. Jensen www.cs.aau.dk/~csj Overview • Web 2.0 • The mobile Internet • The Streamspin system • Tracking of moving objects AAU, September 10, 2007 2 Web 2.0 • Web 2.0 captures the sense that there is something qualitatively different about today's web. • Leveraging the collective intelligence of communities • New ways of interacting • Sharing of user-generated content • Text Wiki’s, e.g., Wikipedia Blogs • Photos E.g., Flickr, Plazes, 23 • Video E.g., YouTube AAU, September 10, 2007 3 Web 2.0 • Community concepts abound… • Feedback and rating schemes E.g., ratings of sellers and buyers at auctions, ratings of content • Social tagging, tag clouds, folksonomies • Wiki’s Collaborative authoring • RSS feeds • Active web sites, Ajax • Fueled by Google-like business models Google 2006 revenue: USD 10.6 billion; net income: USD 3.1 billion; 12k employees Microsoft now has 8k people in Online Services AAU, September 10, 2007 4 Flickr • From the Flickr entry on Wikipedia • “In addition to being a popular Web site for users to share personal photographs, the service is widely used by bloggers as a photo repository. Its popularity has been fueled by its innovative online community tools that allow photos to be tagged and browsed by folksonomic means.” • Launched in February 2004. Acquired by Yahoo! in March 2005. Updated from beta to gamma in May 2006. • “On December 29th, 2006 the upload limits on free accounts were increased to 100Mb a month (from 20Mb)” AAU, September 10, 2007 5 YouTube • From the YouTube entry on Wikipedia • “The domain name "YouTube.com" was activated on February 15, 2005…” • “According to a July 16, 2006 survey, 100 million clips are viewed daily on YouTube, with an additional 65,000 new videos uploaded per 24 hours.” • “Currently staffed by 67 employees, the company was named TIME magazine's "Invention of the Year" for 2006.
    [Show full text]
  • Wiki Technology, Community Dynamics and Community Culture
    Wiki Technology and Community Culture By Mingli Yuan July, 2008 Released under GFDL Contents Introduction − concept / history / jargons / a simple classification / organizations & companies / conferences Technology − implementations / features / principles / easy at first glance / syntax & parser / version control / wysiwyg / adventure of ideas Community Culture − openness & agf / npov / consensus / deletionism vs. inclusionism / controversy Introduction – concept A wiki is web pages anyone who accesses it can contribute or modify content a simplified markup language Introduction – history World Wide − 1994: Ward Cunningham, WikiWikiWeb (1994?) Patrick Mueller, the first WikiWikiClone − 2000: Sunir Shah, MeatballWiki − 2001: January 15, Jimmy Wales, Wikipedia Introduction – history cont. Mainland China Taiwan − 2001-12-27: − Schee / 徐子涵 Softme Studio / 索秘软 − hlb / 薛良斌 件工作室 − Newzilla jWiki as a sub-project of WebPM − 2002 / 5: 中蟒大杂院 Early Blogsphere − 2002 / 10 − Cnblog.org Chinese Wikipedia − Chinese Blogger Conference / − 2002 / 11 中文网志年会 贸大 Wiki Introduction – jargons Basics Community − Sandbox − EditWar − CamelCase − AGF − Wikify − NPOV − RecentChanges − Consensus / Vote − DocumentMode / − Deletionist / Inclusionism TheadMode − Namespace: Article / Talk / Copyright / Copyleft − PD User / Category − − GFDL / Free Signature − CC family − BackLinks − Fair use − InterWiki Introduction – a simple classification Tech related sites Wikimedia Family − c2.com / wikiwikiweb − wikiversity − meatball / usemode − wiktionary
    [Show full text]
  • Rationale (Second Part)
    Rationale (second part) Marco Pessotto <idiot_on_irc> You built an albatross for no reason, just to serve a directory of static files A year ago, I got this, let’s call it so, “criticism” over a conversation on an IRC channel. Unfortunately the logs got lost, or they never existed, so those could be not the exact words, but the meaning is pretty much intact. Oh, yes, the nickname has been amended. It’s worth nothing that the above IRC user was the same one which, a bunch of years ago, had the idea of building a digital library, gave me a Drupal installation, supervised for a while, then got busy and disappeared, but now and then chimes in, mostly ranting because the said library runs amusewiki and not the Drupal he gave me. Yes, running amusewiki means basically serving texts. It shouldn’t be too complicated, right? We don’t even have a commenting system. It turns out that things are never so simple. Amusewiki is built around the texts. The idea is that each muse file which gets inserted in the archive is in a format which is both human and machine readable, it includes all the needed meta information and can be used locally, without the need of a running site. Systems running sites sometimes die, get abandoned, etc. if you think over the long term. If I put a lot of work on a text, writing it, correcting it, caring about that, I would love to have a copy of that at least in a file, with all the logical information intact, possibly in a revision control system, so I know what I did and when.
    [Show full text]
  • Cahier Documentation Release 0.1.1
    cahier Documentation Release 0.1.1 Louis Paternault May 22, 2021 CONTENTS 1 Rationale 3 2 Download and install 5 3 Usage and configuration 7 3.1 Base commands.............................................7 3.2 Configuration...............................................7 3.3 Full command line options........................................ 10 4 Indices and tables 11 i ii cahier Documentation, Release 0.1.1 One-directory-a-day calendar management Note: I am no longer using this software, so it will not be improved. Feel free to ask questions and to submit bugs anyway, but this will not be my priority. – Louis CONTENTS 1 cahier Documentation, Release 0.1.1 2 CONTENTS CHAPTER ONE RATIONALE Note that althougt I wrote this program for this particular purpose, I had extensibility in mind. Please read on the usage and configuration sections before deciding that this program does not fit your needs. As a part of my job as a teacher, I have to log my work on a daily basis (cahier de textes in French, hence the name). To do so, I use IkiWiki. Each entry is stored in a markdown file named YYYYMMDD.mdwn, and each attached document is located in the YYYYMMDD directory. So, after a few days, an ls gives: $ ls 20130906 20130927.mdwn 20131018b 20131122 20131217.mdwn 20130906.mdwn 20130930.mdwn 20131018b.mdwn 20131122.mdwn 20131218.mdwn 20130909.mdwn 20131001.mdwn 20131104.mdwn 20131125.mdwn 20131220 20130910.mdwn 20131002 20131105 20131126.mdwn 20131220.mdwn 20130911.mdwn 20131002.mdwn 20131105.mdwn 20131127.mdwn 20140107.mdwn 20130913.mdwn 20131004.mdwn
    [Show full text]
  • Proceedings of the Fourth Workshop on Semantic Wikis – the Semantic Wiki Web 6Th European Semantic Web Conference Hersonissos, Crete, Greece, June 2009
    Proceedings of the Fourth Workshop on Semantic Wikis – The Semantic Wiki Web 6th European Semantic Web Conference Hersonissos, Crete, Greece, June 2009 edited by Christoph Lange June 1, 2009 Preface Dear Reader, after a successful year, the semantic wiki community is meeting again to have their 4th workshop. A lot has happened after the previous workshop: People have invested further research and development into existing systems to make them more mature: Three out of 15 presentations in this workshop are about evolutions of systems presented in 2008. The community has further grown and become aware of new application areas, mainly thanks to the Ontolog teleconference series on semantic wikis1. Another indication of maturity is that, while research is still as creative and dynamic as ever, implementation of semantic wiki technologies largely concentrates on few successful platforms that are extensible by plugins, most notably (Semantic) MediaWiki and KiWi (8 out of 15 talks in this workshop). And these technologies are not necessarily limited to wikis. Using a wiki is not an end in itself, but, depending on the application, any semantic social software will get the task done: Systems that are no longer called “wikis” have adopted key principles of wikis, such as ubiquitous interlinking and easy collaboration. Thus, the semantic wiki community is giving their findings back into the larger Semantic Web. In 2006, when our first workshop took place, many semantic web researchers jumped onto the semantic wiki bandwagon, as they were hip. Now, semantic wikis rather serve as incubators for testing and evaluating new approaches and technologies in a manageable setting, before releasing them to the Semantic Web.
    [Show full text]