Project

General

Profile

Feature #524

Updated by Bjoern Michaelsen almost 10 years ago

A concrete proposal on how to introduce the internal document storage to git with migration milestones and implications, so the board has an concrete idea what we are talking about, and can decide if and when certain milestones should be implemented: 

 = WebDAV and git/sparkleshare (milestone 0 - status quo) = 
 - read/write WebDAV at https://intranet.documentfoundation.org/webdav/ 
 - small cronjob script that syncs the status to a (client-)local git repo 

 == features and misfeatures of milestone 0 == 
 + accessable to all external users (StB) read-only 
 - for a daily cronjob, 2GB/day/per person of traffic syncing the data alone 
 - no git write access, writing is only possible via WebDAV 
 - no canonical history or revisioning 
 - no data on who changed what 
 - wrong granularity of commits (days) 

 = WebDAV and central git/sparkleshare (milestone 1) = 
 - read/write WebDAV at https://intranet.documentfoundation.org/webdav 
 - small cronjob _on_ _server_ that commits commit the changes to a (server-) local git repo and pushes this to a accessable read-only git repo 

 == decisions to make == 
 - where to host the (currently 1.1 GB without the checkout) git repo? options: 
 -- gerrit: 
 --+ existing infra 
 --+ already has ACL support needed to keep the repo readonly 
 --+ already has ACL support to prevent forging forfing commits 
 --- mixing TDF and LibreOffice stuff and hosting private data there. Then again we already have the MC decision there already 
 -- new repo: 
 --+ not mixing existing services 
 --- needs new host/backup setup etc. 
 --- needs new readonly hook etc. 

 == features and misfeatures of milestone 1 == 
 + still accessable to all external users (StB) read-only 
 + no more 2GB/day/per person syncing traffic 
 + canonical history or revisioning 
 o better granularity of commits (cronjob could run every 10 minutes without horrible traffic) 
 - no git write access, writing is only possible via WebDAV 
 - no data on who changed what 

 = WebDAV and read/write git/sparkleshare (milestone 2) = 
 - read-only WebDAV at https://intranet.documentfoundation.org/webdav 
 - cronjob that git pulls the git repo regularly 
 - setup of nonforgable pushes 

 == decisions to make == 
 - this should be trivial on gerrit with ACLs 
 - selfhosting would be more work, because of ACLs 
 - needs all _writers_ to the repos to use git or sparkleshare 

 == features and misfeatures of milestone 2 == 
 + still accessable to all external users (StB) read-only 
 + no more 2GB/day/per person syncing traffic 
 + canonical history or revisioning 
 + correct granularity of commits (cronjob could run every 10 minutes without horrible traffic) 
 + correct data on who changed what 
 + git write access 
 - WebDAV is read-only 

 = read/write git/sparkleshare (milestone 3) = 
 - all access via sparkleshare/git only 

 == decisions to make == 
 - would this even work for the StB? No partial checkouts with git/sparkleshare 

 == features and misfeatures of milestone 3 == 
 + no more 2GB/day/per person syncing traffic 
 + canonical history or revisioning 
 + correct granularity of commits (cronjob could run every 10 minutes without horrible traffic) 
 + correct data on who changed what 
 + git write access 
 + one service less to worry/document about: WebDAV 
 - external users (StB) would need to be trained on sparkleshare, and would get access to the whole repo

Back