From 772f39d863e8dec8ec5ea444768f32f3eeb21120 Mon Sep 17 00:00:00 2001 From: jrayhawk Date: Thu, 17 Sep 2009 15:04:12 -0700 Subject: Preformatting constraints in data model. --- architecture/data.mdwn | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'architecture') diff --git a/architecture/data.mdwn b/architecture/data.mdwn index 969cc5a..fa83ca9 100644 --- a/architecture/data.mdwn +++ b/architecture/data.mdwn @@ -4,19 +4,16 @@ Dynamic data lookup should opportunisticly cache any associated cheap data. For [[!table format=dsv delimiter=# data=""" datum #stored location #constraint -username #usually $ENV{SUDO_USER} #!~ /^git-|^ikiwiki-/ and =~ /^[a-zA-Z0-9_.][a-zA-Z0-9_.-]+$/ -uid #/etc/passwd #None -email #/etc/passwd GECOS #Email::Valid::Loose->new( "-fqdn" => 1, "-fudge" => 0, "-local_rules" => 0, "-mxcheck" => 1, "-tldcheck" => 0 ); -repoaccess #/etc/group git-$reponame entry #None -reponame #/srv/git/$reponame.git #=~ /^[a-z0-9][a-z0-9+.-]+$/ -repodescription #/srv/git/$reponame.git/description #=~ /^[\x{0020}-\x{FDCF}\x{FDF0}-\x{FFFD}]{1,80}$/ -repoowner #stat /srv/git/$reponame.git uid; might be better as first non-ikiwiki user in /etc/group git-$reponame entry #None -repoglobalwritable #stat /srv/git/$reponame.git all write bit #None -repoglobalreadable #stat /srv/git/$reponame.git all read bit #None -repoikiwikidisable #UNDECIDED; probably in /srv/git/$reponame.git #None -repointernaltemplates #UNDECIDED; probably in /srv/git/$reponame.git #None -repospecialdomain #UNDECIDED; probably in /srv/git/$reponame.git #None - - +username #usually $ENV{SUDO_USER} # !~ /^git-|^ikiwiki-/ and =~ /^[a-zA-Z0-9_.][a-zA-Z0-9_.-]+$/ +uid #/etc/passwd # None +email #/etc/passwd GECOS #Email::Valid::Loose->new("-fqdn" => 1, "-fudge" => 0, "-local_rules" => 0, "-mxcheck" => 1, "-tldcheck" => 0 ); +repoaccess #/etc/group git-$reponame entry # None +reponame #/srv/git/$reponame.git # =~ /^[a-z0-9][a-z0-9+.-]+$/ +repodescription #/srv/git/$reponame.git/description # =~ /^[\x{0020}-\x{FDCF}\x{FDF0}-\x{FFFD}]{1,80}$/ +repoowner #stat /srv/git/$reponame.git uid; might be better as first non-ikiwiki user in /etc/group git-$reponame entry # None +repoglobalwritable #stat /srv/git/$reponame.git all write bit # None +repoglobalreadable #stat /srv/git/$reponame.git all read bit # None +repoikiwikidisable #UNDECIDED; probably in /srv/git/$reponame.git # None +repointernaltemplates #UNDECIDED; probably in /srv/git/$reponame.git # None +repospecialdomain #UNDECIDED; probably in /srv/git/$reponame.git # None """]] - -- cgit v1.2.3 From 5cb17a0bc2a13e1e7b019b270c7bb586d28f9557 Mon Sep 17 00:00:00 2001 From: jrayhawk Date: Thu, 17 Sep 2009 15:06:17 -0700 Subject: Adding note on caching. --- architecture/data.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'architecture') diff --git a/architecture/data.mdwn b/architecture/data.mdwn index fa83ca9..ce951e0 100644 --- a/architecture/data.mdwn +++ b/architecture/data.mdwn @@ -1,6 +1,6 @@ Data model! -Dynamic data lookup should opportunisticly cache any associated cheap data. For instance, there are three data from stat(/srv/git/$reponame.git), so looking up one should grab the others. /etc/password parsing would be similar. +Dynamic data lookup should opportunisticly cache any associated cheap data. For instance, there are three data from stat(/srv/git/$reponame.git), so looking up one should grab the others. Jules points out that everything here is inherently cached, and I should be using getpw*() for passwd parsing. [[!table format=dsv delimiter=# data=""" datum #stored location #constraint -- cgit v1.2.3