== repocafe == http://repocafe.cs.uu.nl/ ================================ UPGRADE : o Before upgrading the software, make sure your working copy is bound to the correct location : https://svn.science.uu.nl/repos/project.repocafe.dev To find out, use : svn info UPGRADE to the latest dev (trunk) version : o After upgrading the software, make sure your config is ok : Check with : configtest -a Install missing Perl modules (SVN::Notify) ; o Then, fix your database with "setup-db" ; make a backup first. If there is a problem with "CREATE LANGUAGE plpgsql" (you may not have the necessary permission, even as database-owner), make sure your database can use language "plpgsql" : psql -c "CREATE LANGUAGE plpgsql" your-repocafe-database You may have to ask the database owner or superuser to do this for you. o When upgrading from version 0.11 (or earlier), fill table 'tots' : dry-run : mk_stats -t -v doit : mk_stats -t -f Tabel 'tots' holds daily statistics on the total number of repos (and size) of your repocafe ; its contents is not essential to the workings of repocafe. NOTES : -------------------------------------------------------------------------- -- version 0.13.7 o Nothing yet -------------------------------------------------------------------------- -- version 0.13.6 Tue Jan 19 16:51:24 CET 2016 o Fixed an xss bug in rejecting an invalid USER-login-name and an empty password. -------------------------------------------------------------------------- -- version 0.13.5 Wed Jan 6 09:24:43 CET 2016 o Fixed an xss bug in rejecting an invalid USER-login-name. -------------------------------------------------------------------------- -- version 0.13.4 ; 6 July 2015 o Fixed an xss bug in reporting on errors in GET/POST-vars. -------------------------------------------------------------------------- -- version 0.13.3 o Sync with Blib.pm. -------------------------------------------------------------------------- -- version 0.13.2 22 May 2013 o Fixed a bug in wwwsec.ppp ; check loginbox USER. o Fixed a bug in load.php & librepo.ppp, because load.php gave a syntax error and missed an assignment to global $USER_GROUPS (repocafe-13.0). -------------------------------------------------------------------------- -- version 0.13.1 Wed May 22 15:59:10 CEST 2013 o group-names must now be lowercase alpha-numeric ; because permissions are (and were) only granted to lowercased user/groups (AUSR's). o in a config file, the 'pattern' in a clas-line must be all lowercase ; a check was added in "Repocafe.pm". o fix bug : refresh svnaccess-file after rights are updated. -------------------------------------------------------------------------- -- version 0.13 Fri Mar 15 09:00:12 CET 2013 o add 'permission paths' ; specify paths in repo's ; for each path, add/set permissions : is-public and/or nx/ro/rw per user/group. o require Perl module SVN::Notify ; used in the new "mail-watchers". o in setup-db, require postgresql language plpgsql ; used in triggers ; check all tables, columns and constraints ; add/create if missing. -- version 0.12 -- 15 oktober 2012 --------------------------------------- o move location of authors and repocafe site. o add "configtest -t" : test presence of required tables and columns. o fix problem in Blib.pm, Tab.pm regarding -name vs -tabl. o added a table 'repo_tots' that holds the overall daily stats : time, size, count and date. Added option '-t' for 'mk_stats' to fill table 'repo_tots'. o setup-db can be restricted to one table only ; needed for upgrades. o fixed the doc for the new location of the svn repo. o in dump.php, changed "system" to "passthru", because very big dumps (> 1 GB) were too short. -- version 0.11 -- 25 july 2012 ------------------------------------------ o fix bug in about.php ; in case of a flat name space. o include group owners as possible xusers ; display on stats page. -- version 0.10 -- 3 september 2011 -------------------------------------- o guest passwords are now stored crypted, instead of in plain text ; a guest password is set, if/when the password is mailed to the guest. o fixed bug ; on a bad login by a guest, present an option to mail a new password. o fixed bug ; on delete of a guest, delete the rights and group memberships. o program 'new-commit-hook' replaces 'new-post-commit'. o added 'lib/pre-commit.tmpl', 'lib/post-commit.tmpl' ; installed in 'lib/pre-commit', 'lib/post-commit' by 'setup-data' ; on popular demand ; 'pre-commit' hooks aren't used by repocafe. o extended dmp in Blib.pm to blessed ARRAY's ; as preparation of the inclusion of Blib::JSON into Blib.pm. o started pod-doc in Blib.pm o relaxed the condition for user-names to include email-address-like names ; on popular demand. o added optional config entry 'no_groups' ; on popular demand. -- version 0.9 -- 10 januari 2011 --------------------------------------- o Repocafe is now on http://freshmeat.net/ o the start page now sorts repo's by repo_name instead of (side,ownr,name) ; because de ordering of projects was wrong (by owner instead of name). o the admin urls (access conf, stats, switch) are now in the menubox of every page. Switching results in redirects. o the start page is now proper MVC ; 'control' passes info to the 'views' ; 'start-html' is done between 'control' and the'views'. o Blib-ified all support programs. o added a copyright notice to Blib.pm ; it is also published seperately. o Blib now allows to set opt(dqv} on any Blib-object or -class ; the parent of an object is it's class ; so "$obj -> verbose" is true if the object, it's class, or any of it's super-classes is verbose. Method 'verbose_me' only looks at the object (or class) itself. Idem for 'quiet', 'debug', and 'quiet_me', 'debug_me'. o setting option -debug on a Blib query, causes it's sql to be printed. o Blib now allows to set opt(dqv} on any Blib::-tree. Opt is even means 'off' ; Opt is odd means 'on' ; this allows for instance to set Blib::opt{v} and exclude Blib::Mods::Conf, with "Blib::Mods::Conf -> verbose ( 2 )". Package Repocafe was removed because it only handled options. Blib package-tree generation is now much cleaner. o restructured the admin (perl) side. Formerly, class Repocafe /had/ a database, now Repocafe /is/ a (subtype of) a Blib::Dbs database. Likewise tables, and records are subtyped (genericly and specificly) to build the required models for repo's, groups, guests etc. o switched database-interface from Csbase to Blib ; much cleaner. o configtest : checks that 'www_secret' isn't empty, '***..' or the example for 'www_secret' in the documentation. o added valid-html401.png to www_dir/images, because some browsers have a problem with pages containing stuff from both secure and in-secure servers. o added a section 'wishlist' (todo list) to the repocafe man page. o added man pages (as .html, .1 and .txt) for all support programs ; they are generated from the 'usage' info of the commands. -- version 0.8 -- 25 november 2010 -------------------------------------- o the result page of 'add guest' shows the created account-name. o changed some absolute-path-urls to relative-path-urls. o more specific requirements ; specific requirements for Ubuntu Server. o added config-options 'bind' and 'attr'. o program 'configtest' now tests ldap binding. o added config-options for adding html at top and bottom of head and body sections. o removed the (empty) www/style.css from the distro ; o added a link to prefs.php for logged-in guests ; because guests couldn't change their password. o set USER='' on a bad login ; because the menubar showed the user as logged-in. -- version 0.7 -- 25 sep 2010 ------------------------------------------- o links to other pages now sit in a menubar ; because it looks cleaner. o when deleting an xuser, also remove his/her repositories. o added optional config entry 'motd' (message of the day) ; the specified html text is shown on every page. o setup-data creates an empty guestlist (.db and .txt). o mk_stats : don't call gnuplot if there are no points to plot ; if there is a gap in the stats (no stats for more than a week), mk_stats fills the holes. o generate links to the (gnuplot generated) stats images (tots.png, tots-sm.png), only if the images exist. o the guest page shows group memberships -- version 0.6 -- 20 aug 2010 ------------------------------------------- o when deleting an xuser, also remove the xuser from groups. o in an ldap result, pick only the first 'mail' attribute ; because the 'mail' attribute can be multi-valued. o added optional config entry 'cmd_perl' (default '/usr/bin/perl') ; because in somme distro's Perl doesn't live in '/usr/bin/perl'. o fixed a bug in dump.php ; because more libs were required. o added doc for (required) config entries dir_www, dir_data, dir_admin. o added a 'release' branch to the svn tree ; this branch will contain the latest release : trunk + formatted doc - crud ; because users should see the formatted doc, and no crud. Later a branch 'releases' (or 'tags') will contain the various releases. o added optional config entry 'no_viewvc' ; because admins may want to install 'viewvc' later (or never). Configuring 'no_viewvc' suppresses the display of viewvc-urls in index.php and show.php. o changed keyword 'user' into 'clas' ; because 'user' was a misnomer ; it made the code hard to understand ; 'clas' instead of 'class' because 'class' is a php keyword, so an object attribute 'class' doesn't work. Cleaned up the perl and the php sides ; both now use the same naming conventions, config attributes and access methods. o added config option 'mail_from_noreply' ; this is used in de From:-line of commit-mails ; before 'svn-no-reply@www_server' was used ; but that can be invalid in a From:-line ; the default is 'svn-no-reply@www_server'. o added config option 'mail_from_admin' ; this is used in de From:-line in mail to a guest ; before 'www_contact' was used ; but people may want to obfusecate that ; the default is the configured 'www_contact'. o perl's pod2html generates a syntactically incorrect index ; we now use a fixed version in 'admin/doc/pod2html' to generate doc/repocafe.html. o added creation of admin/tmp to setup-data. o the config now sits in a class ; cleaned up the code ; config checks and object creation (fi, for ldap entries & refs) are done in conf.php ; o added a META description in show.php pages ; because the descriptions in google are poor (all the same). o added config option 'create_guests' ; specify which user-classes are allowed to create guests. The creator of a guest (parent) can update her guests (full name, email) or delete them. Cleaned up the guest code ; nobody sees passwords anymore. If we store them crypted too, we must do password resets instead of re-sends, as we do now. Configure www_contact is used in the From:-line in mail to guests. o the contents user doc page now depends on 'cafe has guests' and 'which users may create guests'. o the home page doesn't show the 'guests' url, if the cafe hasn't guests. o The stats page now shows proper 'update', 'info' or no urls for repo's. o logging now includes '(user-class)' ; guest create/delete is logged. o fixed a nasty bug in Repo.pm ; copy/paste error when code was moved. RepoGuests::file_out loops once ; a different seed for every guest. o Added doc for admins ; 'finish' is now a section in 'installation', instead of a bullet in 'setup' ; changed the 'author' section. o Add optional config entry 'cmd_commit_email' ; default : '/usr/bin/perl commit-email.pl' ; because using 'commit-email.pl' is now an option ; it should be easy to use something else. o Added a vanilla 'commit-email.pl' in 'www_dir/lib'. Added doc for installation or how to create/install something else. Standard svn now appears to use some ruby program. o Cleanup of 'delete guest' ; guests are now also deleted from repo_rights and repo_group_members. o Fixed the order of user classes on the login page ; because guests were always last. o Fixed a bug in wwwsec ; 'pat' in user-lines was ignored (always empty, so always matching) ; so, if two user-lines used the same ldap with a different pattern, the first line succeeded. o In Repo.pm, class User has now an attribute 'clas'. o Fixed a bug in upd-xusers ; upd-xusers -v -l give a detailed list of all logins found (as owners, repo-rights and group-members). o Show repos' owner to logged-in users ; because the owner is no longer necessarily part of the repo's full name ; in overviews, only the 'login' name of the owner is shown, because we don't want to do N lookups. In per-repo pages (update/info), the owner's full name is shown. o If db_owner is not configured ; db-setup now lets db_www do inserts/deletes on the repo_roots table ; because 'upd-admins' can't add/delete admins if db_owner/db_opswd isn't available. o Installation doc has a step-by-step db-setup ; with a role for a DBA to discern various local situations o Added RELEASE-NOTES, VERSION file. o Added documentation of the config file and installation procedure. -- version 0.5 -- 8 jul 2010 ------------------------------------------- o Initial open source version.