pgweb.git
9 years agoUpdate BigSQL links to https, name on linux download page
David Rader [Wed, 7 Sep 2016 19:36:00 +0000 (15:36 -0400)]
Update BigSQL links to https, name on linux download page

9 years agoRelease 9.6rc1
Dave Page [Thu, 1 Sep 2016 13:07:39 +0000 (14:07 +0100)]
Release 9.6rc1

9 years agoUpdate link to Russian version of docs
Magnus Hagander [Wed, 24 Aug 2016 13:00:26 +0000 (15:00 +0200)]
Update link to Russian version of docs

Per note from Ivan Panchenko and discussion on -www

9 years agoFix(ish) notifications for new objects with Unicode in value
Magnus Hagander [Mon, 22 Aug 2016 09:50:21 +0000 (11:50 +0200)]
Fix(ish) notifications for new objects with Unicode in value

Previous code triggered a conversion from unicode to ascii inside the
django framework, which would throw an exception when the object itself
returned unicode in the name.

The new version will work around that by actually checking the primary
key first.

This still doesn't work insofar that any changes to a many2many fields
are now lost. This did not work properly before either, but this
probably made it a bit work. We definitely need to fix this properly at
some point, probably by using the m2m_changed signal handler (but it's
not straight forward as this is now a separate signal and we'll somehow
want to track this indepdendently)

9 years agoFix link to beta4 release announcement
Magnus Hagander [Thu, 18 Aug 2016 10:36:36 +0000 (12:36 +0200)]
Fix link to beta4 release announcement

Umair Shahid

9 years agoFix typo.
Devrim Gündüz [Thu, 11 Aug 2016 14:14:54 +0000 (17:14 +0300)]
Fix typo.

9 years agoRelease 9.6 beta4, 9.5.4, 9.4.9, and others.
Devrim Gündüz [Thu, 11 Aug 2016 14:05:36 +0000 (17:05 +0300)]
Release 9.6 beta4, 9.5.4, 9.4.9, and others.

9 years agoadd docs translated to russian - patch from Pavel Luzanov on -www
Stefan Kaltenbrunner [Wed, 10 Aug 2016 19:58:10 +0000 (21:58 +0200)]
add docs translated to russian - patch from Pavel Luzanov on -www

9 years agofix typo - per David Johnston on -www
Stefan Kaltenbrunner [Wed, 10 Aug 2016 19:25:30 +0000 (21:25 +0200)]
fix typo - per David Johnston on -www

9 years ago* Update Fedora releases to Fedora 23+
Devrim Gündüz [Mon, 1 Aug 2016 21:29:44 +0000 (00:29 +0300)]
* Update Fedora releases to Fedora 23+
* Mention about SCL for RHEL 7+PostgreSQL 9.5 and 9.4
* Mention about dnf for related distros
* Change 9.4's to 9.5
* Add a line about how to start the database
* Mention about groupinstall option.

9 years agoUpdates to the EnterpriseDB installer information on the downloads page.
Jonathan S. Katz [Tue, 26 Jul 2016 20:39:44 +0000 (16:39 -0400)]
Updates to the EnterpriseDB installer information on the downloads page.

This makes changes to the language to the descriptions of the
Linux, OS X, and Windows installers provided by EnterpriseDB.

9 years ago9.6 beta 3 release
Dave Page [Thu, 21 Jul 2016 12:56:41 +0000 (13:56 +0100)]
9.6 beta 3 release

9 years agoMove /selectable/ into /admin/ to avoid caching issues
Magnus Hagander [Thu, 23 Jun 2016 16:06:05 +0000 (18:06 +0200)]
Move /selectable/ into /admin/ to avoid caching issues

Since we only use it for /admin/ for now, we can safely put it there
until we change that.

9 years agoImplement auto-complete for /admin/ forms that reference User
Magnus Hagander [Thu, 23 Jun 2016 15:57:38 +0000 (17:57 +0200)]
Implement auto-complete for /admin/ forms that reference User

We have so many users now that loading these forms take forever.
Instead, implement a textbox with autocomplete using django-selectable,
which will not load the whole list of users at once.

9 years agoImport django-selectable
Magnus Hagander [Thu, 23 Jun 2016 15:56:42 +0000 (17:56 +0200)]
Import django-selectable

This will also be used to do /admin/ autocompletes.

9 years agoImport jquery and jquery-ui
Magnus Hagander [Thu, 23 Jun 2016 15:55:17 +0000 (17:55 +0200)]
Import jquery and jquery-ui

We need these for autocomplete in the admin interface, to come shortly.

9 years agoPostgreSQL 9.6 Beta 2
Dave Page [Thu, 23 Jun 2016 14:07:05 +0000 (15:07 +0100)]
PostgreSQL 9.6 Beta 2

9 years agoChange all 2ndquadrant.com links to https
Magnus Hagander [Wed, 22 Jun 2016 20:11:28 +0000 (22:11 +0200)]
Change all 2ndquadrant.com links to https

Patch from Haroon

9 years agoUpdate description of TurnKey PostgreSQL
Magnus Hagander [Mon, 20 Jun 2016 08:47:39 +0000 (10:47 +0200)]
Update description of TurnKey PostgreSQL

Per suggestion from Jeremy Davis

9 years agoMake the BigSQL download descriptions more accurate
Rader, David [Tue, 14 Jun 2016 13:13:33 +0000 (14:13 +0100)]
Make the BigSQL download descriptions more accurate

9 years agoOpenSCG/BigSQL download packages
David Rader [Fri, 13 May 2016 17:55:48 +0000 (13:55 -0400)]
OpenSCG/BigSQL download packages

9 years agoDon't include /devel/ docs in sitemap
Magnus Hagander [Tue, 31 May 2016 13:25:45 +0000 (15:25 +0200)]
Don't include /devel/ docs in sitemap

This conflicts with what we had in robots.txt, and generates many
thousands of warnings by Google (and possibly others).

9 years agoMake links to git.postgresql.org use https
Magnus Hagander [Mon, 30 May 2016 14:08:04 +0000 (16:08 +0200)]
Make links to git.postgresql.org use https

9 years agoAdd missing import
Magnus Hagander [Wed, 25 May 2016 13:48:01 +0000 (15:48 +0200)]
Add missing import

9 years agoMore ssl for the crawler - don̈́'t verify server cert
Magnus Hagander [Wed, 25 May 2016 13:47:21 +0000 (15:47 +0200)]
More ssl for the crawler - don̈́'t verify server cert

We'll fix verification later, but for now since we're working on a
hardcoded local IP, we don't consider it important.

9 years agoMore https fixes for search crawler
Magnus Hagander [Wed, 25 May 2016 13:43:54 +0000 (15:43 +0200)]
More https fixes for search crawler

9 years agoUpdate for https
Magnus Hagander [Wed, 25 May 2016 13:37:32 +0000 (15:37 +0200)]
Update for https

Uncommented "add length 7" to array deindex seems to have come from it
being the length of http://. Now changed to https://, so change the
length as well, and properly comment it.

9 years agoUpdate w3 links to be https
Magnus Hagander [Tue, 24 May 2016 20:12:40 +0000 (22:12 +0200)]
Update w3 links to be https

9 years agoIssue purges over https
Magnus Hagander [Tue, 24 May 2016 19:46:55 +0000 (21:46 +0200)]
Issue purges over https

9 years agoFix embarassing typo
Magnus Hagander [Tue, 24 May 2016 19:42:31 +0000 (21:42 +0200)]
Fix embarassing typo

That's what happens when a commit is not properly tested

9 years agoAllow logins in /admin/ as well
Magnus Hagander [Tue, 24 May 2016 19:39:22 +0000 (21:39 +0200)]
Allow logins in /admin/ as well

Required for our custom admin pages.

9 years agoReplace login_required decorator with a validating one
Magnus Hagander [Mon, 23 May 2016 17:30:22 +0000 (19:30 +0200)]
Replace login_required decorator with a validating one

This one will validate that the url is under /accounts/, which is
the only part we are going to be excluding from caching once we
move the website to https-only.

9 years agoRemove the "is behind cache" functionality
Magnus Hagander [Sat, 21 May 2016 17:15:40 +0000 (13:15 -0400)]
Remove the "is behind cache" functionality

We're always behind cache now (we may or may not be cached, but that's
not what this check was about)

9 years agoFix robots.txt in https only scenario
Magnus Hagander [Sat, 21 May 2016 17:15:11 +0000 (13:15 -0400)]
Fix robots.txt in https only scenario

We now allow all searching

9 years agoSecure csrf tokens
Magnus Hagander [Fri, 20 May 2016 20:10:42 +0000 (16:10 -0400)]
Secure csrf tokens

Since we have no forms over non-http now, make sure the cookies are
locked

9 years agoRemove SSL decorators and middleware
Magnus Hagander [Thu, 19 May 2016 17:44:06 +0000 (13:44 -0400)]
Remove SSL decorators and middleware

The site is now served regardless of SSL, and assumes that the webserver
or web cache ensures that things rae always SSL.

9 years agoRemove SSL optional tag
Magnus Hagander [Thu, 19 May 2016 17:34:44 +0000 (13:34 -0400)]
Remove SSL optional tag

9 years agoChange more http -> https
Magnus Hagander [Thu, 19 May 2016 17:32:43 +0000 (13:32 -0400)]
Change more http -> https

9 years agoUpdate sitemap URLs for https
Magnus Hagander [Thu, 19 May 2016 17:26:32 +0000 (13:26 -0400)]
Update sitemap URLs for https

9 years agoRemove workaround for django bug #15152.
Magnus Hagander [Thu, 19 May 2016 18:23:09 +0000 (14:23 -0400)]
Remove workaround for django bug #15152.

This bug is fixed before django 1.8, so remove our workaround which
should now be unnecessary.

9 years agoRemove workaround for persistent admin filters
Magnus Hagander [Thu, 19 May 2016 18:19:45 +0000 (14:19 -0400)]
Remove workaround for persistent admin filters

Persistent admin filters are fixed in django 1.8

9 years agoReplace old presskit docs/interactive links with docs/static
Magnus Hagander [Thu, 19 May 2016 15:42:13 +0000 (11:42 -0400)]
Replace old presskit docs/interactive links with docs/static

They would still work with a redirect, but it's nicer to avoid having
to do that.

9 years agoReplace interactive docs with docs bug reporting
Magnus Hagander [Thu, 19 May 2016 14:42:44 +0000 (10:42 -0400)]
Replace interactive docs with docs bug reporting

Per discussion from a long time ago, interactive docs aren't really
working out. The majority of submissions are either support questions
(which then get rejected because they cannot be answered in this
context) or pointing out docs incorrectnesses (which should be submitted
as a docs bug instead, so they can actually be fixed in the main
documentation).

Old references to /interactive/ will get redirected to /static/
automatically, and we expect to keep doing that for a long time (since
there are many links to them around the net).

9 years agoRemove empty struct.py file
Magnus Hagander [Wed, 18 May 2016 14:11:34 +0000 (10:11 -0400)]
Remove empty struct.py file

No longer used since the change of the bug form to be under /account/,
but an empty struct.py file causes sitemap to fail.

9 years agoMove submitbug under /account/
Magnus Hagander [Tue, 17 May 2016 21:37:09 +0000 (17:37 -0400)]
Move submitbug under /account/

In passing make it require ssl, make it no longer csrf-exempt,
and make it require a login so we don't let unauthenticated emails
through.

9 years agoRemove "upcoming release date" for releases just made
Magnus Hagander [Tue, 17 May 2016 18:16:27 +0000 (14:16 -0400)]
Remove "upcoming release date" for releases just made

9 years agoToken generation for new account now matches new password reset code.
Jonathan S. Katz [Mon, 16 May 2016 15:21:47 +0000 (11:21 -0400)]
Token generation for new account now matches new password reset code.

9 years agoPass in "last_login" explicitly when creating User account.
Jonathan S. Katz [Mon, 16 May 2016 14:44:51 +0000 (10:44 -0400)]
Pass in "last_login" explicitly when creating User account.

9 years agoAdd missing import
Magnus Hagander [Sun, 15 May 2016 18:56:45 +0000 (20:56 +0200)]
Add missing import

9 years agoRemove pwn module and links
Magnus Hagander [Sat, 14 May 2016 20:17:07 +0000 (22:17 +0200)]
Remove pwn module and links

The pwn module has never been used, as the pwn are simply sent to
-announce and nothing else. We've kept the code and model around for
doing it on the site for years now and it's unused, so let's remove it
to cut down on maintenance cost.

9 years agoMore fixes for today -> today()
Magnus Hagander [Sat, 14 May 2016 19:50:15 +0000 (21:50 +0200)]
More fixes for today -> today()

9 years agoRemove old mirror selection code and data
Magnus Hagander [Sat, 14 May 2016 19:42:38 +0000 (21:42 +0200)]
Remove old mirror selection code and data

This has not been used for many years now, so let's get rid of
it to save some maintenance.

9 years agotoday() is a function
Magnus Hagander [Sat, 14 May 2016 19:27:07 +0000 (21:27 +0200)]
today() is a function

Callables in querysets are deprecated, so make sure we don't end
up using them unintentionally...

9 years agoFixed "reset password" pattern matcher to match the Django 1.8 method for generating...
Jonathan S. Katz [Sat, 14 May 2016 19:07:09 +0000 (15:07 -0400)]
Fixed "reset password" pattern matcher to match the Django 1.8 method for generating and reading reset password tokens.

9 years agoUpdated "requirements.txt" with Django 1.8.13 and django_markwhat 1.4 referenced
Jonathan S. Katz [Sat, 14 May 2016 18:53:52 +0000 (14:53 -0400)]
Updated "requirements.txt" with Django 1.8.13 and django_markwhat 1.4 referenced

9 years agoStop using request.REQUEST
Magnus Hagander [Sat, 14 May 2016 18:47:47 +0000 (20:47 +0200)]
Stop using request.REQUEST

This is now deprecated and we should use request.GET instead.

9 years agoAvoid returning NULL in nagios monitor
Magnus Hagander [Sat, 14 May 2016 18:41:58 +0000 (20:41 +0200)]
Avoid returning NULL in nagios monitor

9 years agoSubstitute "request.raw_post_data" with the new attribute "request.body"
Jonathan S. Katz [Sat, 14 May 2016 18:27:25 +0000 (14:27 -0400)]
Substitute "request.raw_post_data" with the new attribute "request.body"

9 years agoSimplify update script now that we're on uwsgi
Magnus Hagander [Sat, 14 May 2016 18:17:14 +0000 (20:17 +0200)]
Simplify update script now that we're on uwsgi

9 years agoRemove old migrate commands, not been used for years
Magnus Hagander [Thu, 28 Apr 2016 14:57:14 +0000 (16:57 +0200)]
Remove old migrate commands, not been used for years

9 years agoMove django-inteacting tools to be management commands
Magnus Hagander [Thu, 28 Apr 2016 14:56:34 +0000 (16:56 +0200)]
Move django-inteacting tools to be management commands

Much easier to execute them in the correct environment now that we have
proper management commands in django.

9 years agoAdd migrations for all existing models
Magnus Hagander [Thu, 28 Apr 2016 12:06:28 +0000 (14:06 +0200)]
Add migrations for all existing models

When migrating on existing installations, run the

python manage.py migrate --fake-initial

command.

9 years agoFix default value for language
Magnus Hagander [Thu, 28 Apr 2016 12:03:08 +0000 (14:03 +0200)]
Fix default value for language

Needs to be a static value for it to work properly once we enable
migrations.

9 years agoFix model warnings and deprecations
Magnus Hagander [Thu, 28 Apr 2016 11:22:53 +0000 (13:22 +0200)]
Fix model warnings and deprecations

1. ForeignKey with unique -> OneToOneField
2. IPAddressField -> GenericIPAddressField
3. Fix fields with default=datetime.now() which gives server start time,
   not the insert time (clearly this default was never used, and the
   field was always explicitly set, but it should still not be incorrectly
   defined)

9 years agoFix incorrect use of {% url
Magnus Hagander [Thu, 28 Apr 2016 09:36:00 +0000 (11:36 +0200)]
Fix incorrect use of {% url

Since we don't use it anywhere else, we'll just replace it with a
hardcoded string for now.

9 years agomodule_name has been renamed to model_name
Magnus Hagander [Thu, 28 Apr 2016 09:35:38 +0000 (11:35 +0200)]
module_name has been renamed to model_name

9 years agoDjango no longer ships with buildin markdown
Magnus Hagander [Thu, 28 Apr 2016 09:34:45 +0000 (11:34 +0200)]
Django no longer ships with buildin markdown

Instead, use django_markwhat, the same as we've done for other
postgreslq.org django projects.

9 years agoFix long-standing incorrect select_related parameter
Magnus Hagander [Thu, 28 Apr 2016 09:34:15 +0000 (11:34 +0200)]
Fix long-standing incorrect select_related parameter

This was broken before, but older django versions didn't notice it was
wrong and just ignored it. 1.8 throws an error, so now is a good time to
fix it.

9 years agomimetype is now called content_type
Magnus Hagander [Thu, 28 Apr 2016 09:33:57 +0000 (11:33 +0200)]
mimetype is now called content_type

9 years agoForms must now always specify include or exclude fields
Magnus Hagander [Thu, 28 Apr 2016 09:33:08 +0000 (11:33 +0200)]
Forms must now always specify include or exclude fields

So for those forms that should have everything in them (and we don't
have a lot of those), set exclude=() to remove the error.

9 years agoPrefix cross-application imports with pgweb
Magnus Hagander [Thu, 28 Apr 2016 09:32:13 +0000 (11:32 +0200)]
Prefix cross-application imports with pgweb

As required by the new project layout.

9 years agoUpdate for new transaction handling in newer django versions
Magnus Hagander [Thu, 28 Apr 2016 09:31:25 +0000 (11:31 +0200)]
Update for new transaction handling in newer django versions

9 years agoFix URL namespace changes
Magnus Hagander [Thu, 28 Apr 2016 09:25:02 +0000 (11:25 +0200)]
Fix URL namespace changes

1. Prefix all our local modules with "pgweb" as required by the new
   project layout.
2. Change the django core imports to match 1.8
3. redirect_to has been changed to RedirectView

In passing also tabify the urls file which used a horrible mix of tabs
and spaces. The python standard is spaces, but since the rest of the
pgweb projects uses tabs, make the urls.py files do that as well.

9 years agoMove files and directories for new project layout
Magnus Hagander [Wed, 27 Apr 2016 17:42:49 +0000 (19:42 +0200)]
Move files and directories for new project layout

Move manage.py up one step, set up a new wsgi.py file, and adjust
relative paths that refer to other directories for the new project
layout that we need to use in django 1.8.

9 years agoReplace pgq with trivial local queue implementation
Magnus Hagander [Wed, 27 Apr 2016 11:17:32 +0000 (13:17 +0200)]
Replace pgq with trivial local queue implementation

The queue used for varnish purges has so few entries that it's really
not worth paying the management overhead for skytools/pgq. Instead we
can use a very simple local deamon using LISTEN/NOTIFY to fire them off.

Now include a proper nagios plugin in this package, so we can get rid
of the not-very-nice munin plugin currently used in the deployment.

9 years agoFix link
Dave Page [Thu, 12 May 2016 14:39:32 +0000 (15:39 +0100)]
Fix link

9 years agoFix versions per Erik Rijkers
Dave Page [Thu, 12 May 2016 14:30:30 +0000 (15:30 +0100)]
Fix versions per Erik Rijkers

9 years agoPostgreSQL 9.6 Beta 1, 9.5.2, 9.4.7, 9.3.12, 9.2.16 and 9.1.21
Dave Page [Thu, 12 May 2016 13:08:55 +0000 (14:08 +0100)]
PostgreSQL 9.6 Beta 1, 9.5.2, 9.4.7, 9.3.12, 9.2.16 and 9.1.21

9 years agoHide 8.0 by default from feature matrix
Magnus Hagander [Wed, 27 Apr 2016 12:33:15 +0000 (14:33 +0200)]
Hide 8.0 by default from feature matrix

We're getting too many versions there, so from now on when we add
a new one, we have to remove an old one.

9 years agoMake featurematrix use regular integer fields instead of custom field
Magnus Hagander [Tue, 26 Apr 2016 13:22:03 +0000 (15:22 +0200)]
Make featurematrix use regular integer fields instead of custom field

The custom fields will give us pain when we upgrade to use django
migrations, and don't really add anything useful to us here.

9 years agoConsistently use standard date formats for news entries
Magnus Hagander [Wed, 13 Apr 2016 13:15:43 +0000 (15:15 +0200)]
Consistently use standard date formats for news entries

This appears to have become dependent on a django setting that we no
longer set -- and it's best to have a predictable format regardless.

Most things on the frontpage used the standard format, but not news,
leading to an annoyingly inconsistent view.

9 years agoFix headers on security archives page
Magnus Hagander [Mon, 4 Apr 2016 16:28:32 +0000 (18:28 +0200)]
Fix headers on security archives page

Alvaro Herrera

9 years agoadd xenial (ubuntu 16.04) per Christoph Berg on -www
Stefan Kaltenbrunner [Thu, 31 Mar 2016 18:25:35 +0000 (20:25 +0200)]
add xenial (ubuntu 16.04) per Christoph Berg on -www

9 years agoFix typo
Magnus Hagander [Thu, 31 Mar 2016 13:36:07 +0000 (15:36 +0200)]
Fix typo

9 years agoNew minor releases 9.5.2 and friends
Magnus Hagander [Thu, 31 Mar 2016 11:45:28 +0000 (13:45 +0200)]
New minor releases 9.5.2 and friends

9 years agoAdd texts about quarterly releases
Magnus Hagander [Tue, 29 Mar 2016 20:26:19 +0000 (22:26 +0200)]
Add texts about quarterly releases

9 years agoFix typo
Dave Page [Tue, 15 Mar 2016 09:58:25 +0000 (09:58 +0000)]
Fix typo

9 years agoUse difflib to show differences when an object is edited
Magnus Hagander [Mon, 7 Mar 2016 21:02:24 +0000 (22:02 +0100)]
Use difflib to show differences when an object is edited

This makes for a much easier-to-read output, especially when the
modified field is more than one line.

9 years agoGet rid of PgModel, replacing it with simple signals
Magnus Hagander [Mon, 7 Mar 2016 20:41:45 +0000 (21:41 +0100)]
Get rid of PgModel, replacing it with simple signals

We were already using signals for everything except delete, and even
in our old version of django the delete signal exists (it didn't exist
when this code was first written).

Django doesn't really like models to be OOP like this, so keeping PgModel
would cause issues with upcoming changes in django 1.8. Using simple functions
is easier, and the actual functionality is replicated straight off.

9 years agoAdd PostgreSQL Up and Running (2nd Edition)
Dave Page [Mon, 7 Mar 2016 11:38:48 +0000 (11:38 +0000)]
Add PostgreSQL Up and Running (2nd Edition)

9 years agoProperly set encoding for archives search post
Magnus Hagander [Thu, 3 Mar 2016 14:53:10 +0000 (15:53 +0100)]
Properly set encoding for archives search post

9 years agoRemove link that no longer exists
Magnus Hagander [Wed, 2 Mar 2016 12:10:05 +0000 (13:10 +0100)]
Remove link that no longer exists

Reported by Chanoch Wiggers

9 years agoadd wily werewolf and deprecate utopic - per complaint from andres on IRC
Stefan Kaltenbrunner [Fri, 26 Feb 2016 18:49:40 +0000 (19:49 +0100)]
add wily werewolf and deprecate utopic - per complaint from andres on IRC

9 years agoUpdate Google Summer of Code page for 2016.
Thom Brown [Mon, 22 Feb 2016 09:27:13 +0000 (09:27 +0000)]
Update Google Summer of Code page for 2016.

9 years agoCorrect bug severity level.
Dave Page [Fri, 12 Feb 2016 09:09:51 +0000 (09:09 +0000)]
Correct bug severity level.

9 years agoCorrect security info, per Noah.
Dave Page [Fri, 12 Feb 2016 08:55:39 +0000 (08:55 +0000)]
Correct security info, per Noah.

9 years agoAdd a couple of books.
Dave Page [Thu, 11 Feb 2016 13:51:33 +0000 (13:51 +0000)]
Add a couple of books.

9 years agoRelease 9.5.1, 9.4.6, 9.3.11, 9.2.15, and 9.1.20
Dave Page [Thu, 11 Feb 2016 13:38:39 +0000 (13:38 +0000)]
Release 9.5.1, 9.4.6, 9.3.11, 9.2.15, and 9.1.20

9 years agoFix link to latest version per Daniel Cristian Cruz
Dave Page [Thu, 11 Feb 2016 09:06:30 +0000 (09:06 +0000)]
Fix link to latest version per Daniel Cristian Cruz

9 years agofix typo - per Daniel Gustafsson on -www
Stefan Kaltenbrunner [Tue, 9 Feb 2016 20:08:39 +0000 (21:08 +0100)]
fix typo - per Daniel Gustafsson  on -www